From 26d0bf19f803159fd1bb7dc8c0c6176cd9bf6a66 Mon Sep 17 00:00:00 2001 From: parallax Date: Thu, 2 Mar 2017 10:07:55 +0100 Subject: [PATCH] Added editor --- README.md | 36 + editor/.gitignore | 1 + editor/.meteor/.finished-upgraders | 15 + editor/.meteor/.gitignore | 1 + editor/.meteor/.id | 7 + editor/.meteor/packages | 27 + editor/.meteor/platforms | 2 + editor/.meteor/release | 1 + editor/.meteor/versions | 91 + editor/client/main.css | 172 + editor/client/main.html | 228 + editor/client/main.js | 414 + editor/dtd/README.md | 1 + editor/imports/api/findings.js | 15 + editor/imports/api/library_findings.js | 12 + editor/imports/api/library_non_findings.js | 12 + editor/imports/api/nonfindings.js | 15 + editor/imports/api/reports.js | 3 + editor/imports/api/settings.js | 4 + editor/mappings/pentestreport.js | 4835 ++++++++++ editor/node_modules/.bin/xml-js | 1 + editor/node_modules/boolbase/.meteor-portable | 1 + editor/node_modules/boolbase/README.md | 10 + editor/node_modules/boolbase/index.js | 8 + editor/node_modules/boolbase/package.json | 75 + .../buffer-shims/.meteor-portable | 1 + editor/node_modules/buffer-shims/index.js | 108 + editor/node_modules/buffer-shims/license.md | 19 + editor/node_modules/buffer-shims/package.json | 77 + editor/node_modules/buffer-shims/readme.md | 21 + editor/node_modules/cheerio/.meteor-portable | 1 + editor/node_modules/cheerio/History.md | 576 ++ editor/node_modules/cheerio/Readme.md | 1093 +++ editor/node_modules/cheerio/index.js | 11 + .../cheerio/lib/api/attributes.js | 495 + editor/node_modules/cheerio/lib/api/css.js | 121 + editor/node_modules/cheerio/lib/api/forms.js | 65 + .../cheerio/lib/api/manipulation.js | 425 + .../cheerio/lib/api/traversing.js | 429 + editor/node_modules/cheerio/lib/cheerio.js | 148 + editor/node_modules/cheerio/lib/parse.js | 86 + editor/node_modules/cheerio/lib/static.js | 187 + editor/node_modules/cheerio/lib/utils.js | 83 + editor/node_modules/cheerio/package.json | 131 + .../core-util-is/.meteor-portable | 1 + editor/node_modules/core-util-is/LICENSE | 19 + editor/node_modules/core-util-is/README.md | 3 + editor/node_modules/core-util-is/float.patch | 604 ++ editor/node_modules/core-util-is/lib/util.js | 107 + editor/node_modules/core-util-is/package.json | 86 + editor/node_modules/core-util-is/test.js | 68 + .../node_modules/css-select/.meteor-portable | 1 + editor/node_modules/css-select/LICENSE | 11 + editor/node_modules/css-select/README.md | 133 + editor/node_modules/css-select/index.js | 59 + .../node_modules/css-select/lib/attributes.js | 181 + editor/node_modules/css-select/lib/compile.js | 192 + editor/node_modules/css-select/lib/general.js | 89 + .../css-select/lib/procedure.json | 11 + editor/node_modules/css-select/lib/pseudos.js | 393 + editor/node_modules/css-select/lib/sort.js | 80 + editor/node_modules/css-select/package.json | 116 + editor/node_modules/css-what/.meteor-portable | 1 + editor/node_modules/css-what/LICENSE | 11 + editor/node_modules/css-what/index.js | 267 + editor/node_modules/css-what/package.json | 99 + editor/node_modules/css-what/readme.md | 46 + .../dom-serializer/.meteor-portable | 1 + editor/node_modules/dom-serializer/LICENSE | 11 + editor/node_modules/dom-serializer/index.js | 178 + .../domelementtype/.meteor-portable | 1 + .../node_modules/domelementtype/LICENSE | 11 + .../node_modules/domelementtype/index.js | 14 + .../node_modules/domelementtype/package.json | 73 + .../node_modules/domelementtype/readme.md | 1 + .../node_modules/dom-serializer/package.json | 99 + .../domelementtype/.meteor-portable | 1 + editor/node_modules/domelementtype/LICENSE | 11 + editor/node_modules/domelementtype/index.js | 15 + .../node_modules/domelementtype/package.json | 75 + editor/node_modules/domelementtype/readme.md | 1 + .../node_modules/domhandler/.meteor-portable | 1 + editor/node_modules/domhandler/.travis.yml | 7 + editor/node_modules/domhandler/LICENSE | 11 + editor/node_modules/domhandler/index.js | 182 + editor/node_modules/domhandler/lib/element.js | 20 + editor/node_modules/domhandler/lib/node.js | 44 + editor/node_modules/domhandler/package.json | 94 + editor/node_modules/domhandler/readme.md | 105 + .../domhandler/test/cases/01-basic.json | 57 + .../test/cases/02-single_tag_1.json | 21 + .../test/cases/03-single_tag_2.json | 21 + .../test/cases/04-unescaped_in_script.json | 27 + .../test/cases/05-tags_in_comment.json | 18 + .../test/cases/06-comment_in_script.json | 18 + .../test/cases/07-unescaped_in_style.json | 20 + .../test/cases/08-extra_spaces_in_tag.json | 20 + .../test/cases/09-unquoted_attrib.json | 20 + .../test/cases/10-singular_attribute.json | 15 + .../test/cases/11-text_outside_tags.json | 40 + .../domhandler/test/cases/12-text_only.json | 11 + .../test/cases/13-comment_in_text.json | 19 + .../cases/14-comment_in_text_in_script.json | 18 + .../domhandler/test/cases/15-non-verbose.json | 22 + .../test/cases/16-normalize_whitespace.json | 47 + .../test/cases/17-xml_namespace.json | 18 + .../test/cases/18-enforce_empty_tags.json | 16 + .../test/cases/19-ignore_empty_tags.json | 20 + .../test/cases/20-template_script_tags.json | 20 + .../test/cases/21-conditional_comments.json | 15 + .../test/cases/22-lowercase_tags.json | 41 + .../domhandler/test/cases/23-dom-lvl1.json | 131 + .../test/cases/24-with-start-indices.json | 85 + editor/node_modules/domhandler/test/tests.js | 60 + editor/node_modules/domutils/.meteor-portable | 1 + editor/node_modules/domutils/.npmignore | 1 + editor/node_modules/domutils/LICENSE | 11 + editor/node_modules/domutils/index.js | 14 + editor/node_modules/domutils/lib/helpers.js | 141 + editor/node_modules/domutils/lib/legacy.js | 87 + .../node_modules/domutils/lib/manipulation.js | 77 + editor/node_modules/domutils/lib/querying.js | 94 + editor/node_modules/domutils/lib/stringify.js | 22 + editor/node_modules/domutils/lib/traversal.js | 24 + editor/node_modules/domutils/package.json | 101 + editor/node_modules/domutils/readme.md | 1 + editor/node_modules/domutils/test/fixture.js | 6 + .../domutils/test/tests/helpers.js | 89 + .../domutils/test/tests/legacy.js | 119 + .../domutils/test/tests/traversal.js | 17 + editor/node_modules/domutils/test/utils.js | 9 + editor/node_modules/entities/.meteor-portable | 1 + editor/node_modules/entities/.travis.yml | 7 + editor/node_modules/entities/LICENSE | 11 + editor/node_modules/entities/index.js | 33 + editor/node_modules/entities/lib/decode.js | 72 + .../entities/lib/decode_codepoint.js | 26 + editor/node_modules/entities/lib/encode.js | 73 + editor/node_modules/entities/maps/decode.json | 1 + .../node_modules/entities/maps/entities.json | 1 + editor/node_modules/entities/maps/legacy.json | 1 + editor/node_modules/entities/maps/xml.json | 1 + editor/node_modules/entities/package.json | 108 + editor/node_modules/entities/readme.md | 27 + editor/node_modules/entities/test/mocha.opts | 2 + editor/node_modules/entities/test/test.js | 168 + .../node_modules/htmlparser2/.meteor-portable | 1 + editor/node_modules/htmlparser2/LICENSE | 18 + .../htmlparser2/lib/CollectingHandler.js | 55 + .../htmlparser2/lib/FeedHandler.js | 95 + editor/node_modules/htmlparser2/lib/Parser.js | 353 + .../htmlparser2/lib/ProxyHandler.js | 27 + editor/node_modules/htmlparser2/lib/Stream.js | 35 + .../node_modules/htmlparser2/lib/Tokenizer.js | 906 ++ .../htmlparser2/lib/WritableStream.js | 25 + editor/node_modules/htmlparser2/lib/index.js | 68 + editor/node_modules/htmlparser2/package.json | 110 + editor/node_modules/inherits/.meteor-portable | 1 + editor/node_modules/inherits/LICENSE | 16 + editor/node_modules/inherits/README.md | 42 + editor/node_modules/inherits/inherits.js | 7 + .../node_modules/inherits/inherits_browser.js | 23 + editor/node_modules/inherits/package.json | 90 + editor/node_modules/isarray/.meteor-portable | 1 + editor/node_modules/isarray/.npmignore | 1 + editor/node_modules/isarray/.travis.yml | 4 + editor/node_modules/isarray/Makefile | 6 + editor/node_modules/isarray/README.md | 60 + editor/node_modules/isarray/component.json | 19 + editor/node_modules/isarray/index.js | 5 + editor/node_modules/isarray/package.json | 96 + editor/node_modules/isarray/test.js | 20 + .../lodash.assignin/.meteor-portable | 1 + editor/node_modules/lodash.assignin/LICENSE | 47 + editor/node_modules/lodash.assignin/README.md | 18 + editor/node_modules/lodash.assignin/index.js | 626 ++ .../node_modules/lodash.assignin/package.json | 105 + .../node_modules/lodash.bind/.meteor-portable | 1 + editor/node_modules/lodash.bind/LICENSE | 47 + editor/node_modules/lodash.bind/README.md | 18 + editor/node_modules/lodash.bind/index.js | 1254 +++ editor/node_modules/lodash.bind/package.json | 105 + .../lodash.defaults/.meteor-portable | 1 + editor/node_modules/lodash.defaults/LICENSE | 47 + editor/node_modules/lodash.defaults/README.md | 18 + editor/node_modules/lodash.defaults/index.js | 668 ++ .../node_modules/lodash.defaults/package.json | 105 + .../lodash.filter/.meteor-portable | 1 + editor/node_modules/lodash.filter/LICENSE | 47 + editor/node_modules/lodash.filter/README.md | 18 + editor/node_modules/lodash.filter/index.js | 2366 +++++ .../node_modules/lodash.filter/package.json | 105 + .../lodash.flatten/.meteor-portable | 1 + editor/node_modules/lodash.flatten/LICENSE | 47 + editor/node_modules/lodash.flatten/README.md | 18 + editor/node_modules/lodash.flatten/index.js | 349 + .../node_modules/lodash.flatten/package.json | 105 + .../lodash.foreach/.meteor-portable | 1 + editor/node_modules/lodash.foreach/LICENSE | 47 + editor/node_modules/lodash.foreach/README.md | 18 + editor/node_modules/lodash.foreach/index.js | 565 ++ .../node_modules/lodash.foreach/package.json | 105 + .../node_modules/lodash.map/.meteor-portable | 1 + editor/node_modules/lodash.map/LICENSE | 47 + editor/node_modules/lodash.map/README.md | 18 + editor/node_modules/lodash.map/index.js | 2366 +++++ editor/node_modules/lodash.map/package.json | 105 + .../lodash.merge/.meteor-portable | 1 + editor/node_modules/lodash.merge/LICENSE | 47 + editor/node_modules/lodash.merge/README.md | 18 + editor/node_modules/lodash.merge/index.js | 2207 +++++ editor/node_modules/lodash.merge/package.json | 105 + .../node_modules/lodash.pick/.meteor-portable | 1 + editor/node_modules/lodash.pick/LICENSE | 47 + editor/node_modules/lodash.pick/README.md | 18 + editor/node_modules/lodash.pick/index.js | 503 + editor/node_modules/lodash.pick/package.json | 105 + .../lodash.reduce/.meteor-portable | 1 + editor/node_modules/lodash.reduce/LICENSE | 47 + editor/node_modules/lodash.reduce/README.md | 18 + editor/node_modules/lodash.reduce/index.js | 2372 +++++ .../node_modules/lodash.reduce/package.json | 105 + .../lodash.reject/.meteor-portable | 1 + editor/node_modules/lodash.reject/LICENSE | 47 + editor/node_modules/lodash.reject/README.md | 18 + editor/node_modules/lodash.reject/index.js | 2398 +++++ .../node_modules/lodash.reject/package.json | 105 + .../node_modules/lodash.some/.meteor-portable | 1 + editor/node_modules/lodash.some/LICENSE | 47 + editor/node_modules/lodash.some/README.md | 18 + editor/node_modules/lodash.some/index.js | 2368 +++++ editor/node_modules/lodash.some/package.json | 105 + .../node_modules/nth-check/.meteor-portable | 1 + editor/node_modules/nth-check/.travis.yml | 5 + editor/node_modules/nth-check/README.md | 51 + editor/node_modules/nth-check/compile.js | 40 + editor/node_modules/nth-check/index.js | 9 + editor/node_modules/nth-check/package.json | 79 + editor/node_modules/nth-check/parse.js | 40 + editor/node_modules/nth-check/test.js | 102 + .../process-nextick-args/.meteor-portable | 1 + .../process-nextick-args/.travis.yml | 12 + .../process-nextick-args/index.js | 43 + .../process-nextick-args/license.md | 19 + .../process-nextick-args/package.json | 75 + .../process-nextick-args/readme.md | 18 + .../node_modules/process-nextick-args/test.js | 24 + .../readable-stream/.meteor-portable | 1 + .../node_modules/readable-stream/.npmignore | 8 + .../node_modules/readable-stream/.travis.yml | 49 + editor/node_modules/readable-stream/LICENSE | 18 + editor/node_modules/readable-stream/README.md | 36 + .../readable-stream/doc/stream.md | 2015 ++++ .../doc/wg-meetings/2015-01-30.md | 60 + editor/node_modules/readable-stream/duplex.js | 1 + .../readable-stream/lib/_stream_duplex.js | 75 + .../lib/_stream_passthrough.js | 26 + .../readable-stream/lib/_stream_readable.js | 937 ++ .../readable-stream/lib/_stream_transform.js | 180 + .../readable-stream/lib/_stream_writable.js | 526 ++ .../lib/internal/streams/BufferList.js | 64 + .../node_modules/readable-stream/package.json | 117 + .../readable-stream/passthrough.js | 1 + .../node_modules/readable-stream/readable.js | 16 + .../node_modules/readable-stream/transform.js | 1 + .../node_modules/readable-stream/writable.js | 1 + editor/node_modules/sax/.meteor-portable | 1 + editor/node_modules/sax/LICENSE | 41 + editor/node_modules/sax/LICENSE-W3C.html | 188 + editor/node_modules/sax/README.md | 225 + editor/node_modules/sax/lib/sax.js | 1576 ++++ editor/node_modules/sax/package.json | 125 + .../string_decoder/.meteor-portable | 1 + editor/node_modules/string_decoder/.npmignore | 2 + editor/node_modules/string_decoder/LICENSE | 20 + editor/node_modules/string_decoder/README.md | 7 + editor/node_modules/string_decoder/index.js | 221 + .../node_modules/string_decoder/package.json | 79 + .../util-deprecate/.meteor-portable | 1 + editor/node_modules/util-deprecate/History.md | 16 + editor/node_modules/util-deprecate/LICENSE | 24 + editor/node_modules/util-deprecate/README.md | 53 + editor/node_modules/util-deprecate/browser.js | 67 + editor/node_modules/util-deprecate/node.js | 6 + .../node_modules/util-deprecate/package.json | 81 + editor/node_modules/xml-js/.bithoundrc | 15 + editor/node_modules/xml-js/.codeclimate.yml | 22 + editor/node_modules/xml-js/.csslintrc | 2 + editor/node_modules/xml-js/.eslintrc | 205 + editor/node_modules/xml-js/.eslintrcignore | 1 + editor/node_modules/xml-js/.meteor-portable | 1 + editor/node_modules/xml-js/.npmignore | 5 + editor/node_modules/xml-js/.travis.yml | 3 + editor/node_modules/xml-js/LICENSE | 21 + editor/node_modules/xml-js/README.md | 299 + editor/node_modules/xml-js/appveyor.yml | 21 + editor/node_modules/xml-js/artwork/logo.svg | 59 + .../node_modules/xml-js/artwork/synopsis.svg | 412 + .../node_modules/xml-js/artwork/xml-js.vsdx | Bin 0 -> 23121 bytes editor/node_modules/xml-js/bin/cli.js | 80 + editor/node_modules/xml-js/bin/test.xml | 3 + editor/node_modules/xml-js/index.js | 1 + editor/node_modules/xml-js/lib/common.js | 73 + editor/node_modules/xml-js/lib/index.js | 13 + editor/node_modules/xml-js/lib/js2xml.js | 169 + editor/node_modules/xml-js/lib/json2xml.js | 20 + editor/node_modules/xml-js/lib/xml2js.js | 242 + editor/node_modules/xml-js/lib/xml2json.js | 23 + editor/node_modules/xml-js/package.json | 147 + .../test/browse-jasmine/SpecRunner.html | 26 + .../xml-js/test/browse-jasmine/bundle.js | 8216 +++++++++++++++++ .../xml-js/test/browse-jasmine/index.html | 23 + .../jasmine-standalone-2.5.0.zip | Bin 0 -> 48148 bytes .../browse-jasmine/lib/jasmine-2.5.0/boot.js | 130 + .../lib/jasmine-2.5.0/console.js | 190 + .../lib/jasmine-2.5.0/jasmine-html.js | 481 + .../lib/jasmine-2.5.0/jasmine.css | 58 + .../lib/jasmine-2.5.0/jasmine.js | 3633 ++++++++ .../lib/jasmine-2.5.0/jasmine_favicon.png | Bin 0 -> 1486 bytes editor/node_modules/xml-js/test/cli_test.js | 79 + .../node_modules/xml-js/test/common_test.js | 134 + .../xml-js/test/convert-fixtures.js | 25 + editor/node_modules/xml-js/test/index.js | 21 + editor/node_modules/xml-js/test/jasmine.json | 10 + .../node_modules/xml-js/test/js2xml_test.js | 308 + editor/node_modules/xml-js/test/test-items.js | 156 + .../node_modules/xml-js/test/usage-example.js | 12 + .../node_modules/xml-js/test/xml2js_test.js | 246 + editor/package.json | 10 + editor/public/logo-stairs.jpg | Bin 0 -> 149965 bytes editor/public/ros-logo.gif | Bin 0 -> 9825 bytes editor/server/main.js | 298 + editor/start.sh | 1 + 333 files changed, 61201 insertions(+) create mode 100644 editor/.gitignore create mode 100644 editor/.meteor/.finished-upgraders create mode 100644 editor/.meteor/.gitignore create mode 100644 editor/.meteor/.id create mode 100644 editor/.meteor/packages create mode 100644 editor/.meteor/platforms create mode 100644 editor/.meteor/release create mode 100644 editor/.meteor/versions create mode 100644 editor/client/main.css create mode 100644 editor/client/main.html create mode 100644 editor/client/main.js create mode 100644 editor/dtd/README.md create mode 100644 editor/imports/api/findings.js create mode 100644 editor/imports/api/library_findings.js create mode 100644 editor/imports/api/library_non_findings.js create mode 100644 editor/imports/api/nonfindings.js create mode 100644 editor/imports/api/reports.js create mode 100644 editor/imports/api/settings.js create mode 100644 editor/mappings/pentestreport.js create mode 120000 editor/node_modules/.bin/xml-js create mode 100644 editor/node_modules/boolbase/.meteor-portable create mode 100644 editor/node_modules/boolbase/README.md create mode 100644 editor/node_modules/boolbase/index.js create mode 100644 editor/node_modules/boolbase/package.json create mode 100644 editor/node_modules/buffer-shims/.meteor-portable create mode 100644 editor/node_modules/buffer-shims/index.js create mode 100644 editor/node_modules/buffer-shims/license.md create mode 100644 editor/node_modules/buffer-shims/package.json create mode 100644 editor/node_modules/buffer-shims/readme.md create mode 100644 editor/node_modules/cheerio/.meteor-portable create mode 100644 editor/node_modules/cheerio/History.md create mode 100644 editor/node_modules/cheerio/Readme.md create mode 100644 editor/node_modules/cheerio/index.js create mode 100644 editor/node_modules/cheerio/lib/api/attributes.js create mode 100644 editor/node_modules/cheerio/lib/api/css.js create mode 100644 editor/node_modules/cheerio/lib/api/forms.js create mode 100644 editor/node_modules/cheerio/lib/api/manipulation.js create mode 100644 editor/node_modules/cheerio/lib/api/traversing.js create mode 100644 editor/node_modules/cheerio/lib/cheerio.js create mode 100644 editor/node_modules/cheerio/lib/parse.js create mode 100644 editor/node_modules/cheerio/lib/static.js create mode 100644 editor/node_modules/cheerio/lib/utils.js create mode 100644 editor/node_modules/cheerio/package.json create mode 100644 editor/node_modules/core-util-is/.meteor-portable create mode 100644 editor/node_modules/core-util-is/LICENSE create mode 100644 editor/node_modules/core-util-is/README.md create mode 100644 editor/node_modules/core-util-is/float.patch create mode 100644 editor/node_modules/core-util-is/lib/util.js create mode 100644 editor/node_modules/core-util-is/package.json create mode 100644 editor/node_modules/core-util-is/test.js create mode 100644 editor/node_modules/css-select/.meteor-portable create mode 100644 editor/node_modules/css-select/LICENSE create mode 100644 editor/node_modules/css-select/README.md create mode 100644 editor/node_modules/css-select/index.js create mode 100644 editor/node_modules/css-select/lib/attributes.js create mode 100644 editor/node_modules/css-select/lib/compile.js create mode 100644 editor/node_modules/css-select/lib/general.js create mode 100644 editor/node_modules/css-select/lib/procedure.json create mode 100644 editor/node_modules/css-select/lib/pseudos.js create mode 100644 editor/node_modules/css-select/lib/sort.js create mode 100644 editor/node_modules/css-select/package.json create mode 100644 editor/node_modules/css-what/.meteor-portable create mode 100644 editor/node_modules/css-what/LICENSE create mode 100644 editor/node_modules/css-what/index.js create mode 100644 editor/node_modules/css-what/package.json create mode 100644 editor/node_modules/css-what/readme.md create mode 100644 editor/node_modules/dom-serializer/.meteor-portable create mode 100644 editor/node_modules/dom-serializer/LICENSE create mode 100644 editor/node_modules/dom-serializer/index.js create mode 100644 editor/node_modules/dom-serializer/node_modules/domelementtype/.meteor-portable create mode 100644 editor/node_modules/dom-serializer/node_modules/domelementtype/LICENSE create mode 100644 editor/node_modules/dom-serializer/node_modules/domelementtype/index.js create mode 100644 editor/node_modules/dom-serializer/node_modules/domelementtype/package.json create mode 100644 editor/node_modules/dom-serializer/node_modules/domelementtype/readme.md create mode 100644 editor/node_modules/dom-serializer/package.json create mode 100644 editor/node_modules/domelementtype/.meteor-portable create mode 100644 editor/node_modules/domelementtype/LICENSE create mode 100644 editor/node_modules/domelementtype/index.js create mode 100644 editor/node_modules/domelementtype/package.json create mode 100644 editor/node_modules/domelementtype/readme.md create mode 100644 editor/node_modules/domhandler/.meteor-portable create mode 100644 editor/node_modules/domhandler/.travis.yml create mode 100644 editor/node_modules/domhandler/LICENSE create mode 100644 editor/node_modules/domhandler/index.js create mode 100644 editor/node_modules/domhandler/lib/element.js create mode 100644 editor/node_modules/domhandler/lib/node.js create mode 100644 editor/node_modules/domhandler/package.json create mode 100644 editor/node_modules/domhandler/readme.md create mode 100644 editor/node_modules/domhandler/test/cases/01-basic.json create mode 100644 editor/node_modules/domhandler/test/cases/02-single_tag_1.json create mode 100644 editor/node_modules/domhandler/test/cases/03-single_tag_2.json create mode 100644 editor/node_modules/domhandler/test/cases/04-unescaped_in_script.json create mode 100644 editor/node_modules/domhandler/test/cases/05-tags_in_comment.json create mode 100644 editor/node_modules/domhandler/test/cases/06-comment_in_script.json create mode 100644 editor/node_modules/domhandler/test/cases/07-unescaped_in_style.json create mode 100644 editor/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json create mode 100644 editor/node_modules/domhandler/test/cases/09-unquoted_attrib.json create mode 100644 editor/node_modules/domhandler/test/cases/10-singular_attribute.json create mode 100644 editor/node_modules/domhandler/test/cases/11-text_outside_tags.json create mode 100644 editor/node_modules/domhandler/test/cases/12-text_only.json create mode 100644 editor/node_modules/domhandler/test/cases/13-comment_in_text.json create mode 100644 editor/node_modules/domhandler/test/cases/14-comment_in_text_in_script.json create mode 100644 editor/node_modules/domhandler/test/cases/15-non-verbose.json create mode 100644 editor/node_modules/domhandler/test/cases/16-normalize_whitespace.json create mode 100644 editor/node_modules/domhandler/test/cases/17-xml_namespace.json create mode 100644 editor/node_modules/domhandler/test/cases/18-enforce_empty_tags.json create mode 100644 editor/node_modules/domhandler/test/cases/19-ignore_empty_tags.json create mode 100644 editor/node_modules/domhandler/test/cases/20-template_script_tags.json create mode 100644 editor/node_modules/domhandler/test/cases/21-conditional_comments.json create mode 100644 editor/node_modules/domhandler/test/cases/22-lowercase_tags.json create mode 100644 editor/node_modules/domhandler/test/cases/23-dom-lvl1.json create mode 100644 editor/node_modules/domhandler/test/cases/24-with-start-indices.json create mode 100644 editor/node_modules/domhandler/test/tests.js create mode 100644 editor/node_modules/domutils/.meteor-portable create mode 100644 editor/node_modules/domutils/.npmignore create mode 100644 editor/node_modules/domutils/LICENSE create mode 100644 editor/node_modules/domutils/index.js create mode 100644 editor/node_modules/domutils/lib/helpers.js create mode 100644 editor/node_modules/domutils/lib/legacy.js create mode 100644 editor/node_modules/domutils/lib/manipulation.js create mode 100644 editor/node_modules/domutils/lib/querying.js create mode 100644 editor/node_modules/domutils/lib/stringify.js create mode 100644 editor/node_modules/domutils/lib/traversal.js create mode 100644 editor/node_modules/domutils/package.json create mode 100644 editor/node_modules/domutils/readme.md create mode 100644 editor/node_modules/domutils/test/fixture.js create mode 100644 editor/node_modules/domutils/test/tests/helpers.js create mode 100644 editor/node_modules/domutils/test/tests/legacy.js create mode 100644 editor/node_modules/domutils/test/tests/traversal.js create mode 100644 editor/node_modules/domutils/test/utils.js create mode 100644 editor/node_modules/entities/.meteor-portable create mode 100644 editor/node_modules/entities/.travis.yml create mode 100644 editor/node_modules/entities/LICENSE create mode 100644 editor/node_modules/entities/index.js create mode 100644 editor/node_modules/entities/lib/decode.js create mode 100644 editor/node_modules/entities/lib/decode_codepoint.js create mode 100644 editor/node_modules/entities/lib/encode.js create mode 100644 editor/node_modules/entities/maps/decode.json create mode 100644 editor/node_modules/entities/maps/entities.json create mode 100644 editor/node_modules/entities/maps/legacy.json create mode 100644 editor/node_modules/entities/maps/xml.json create mode 100644 editor/node_modules/entities/package.json create mode 100644 editor/node_modules/entities/readme.md create mode 100644 editor/node_modules/entities/test/mocha.opts create mode 100644 editor/node_modules/entities/test/test.js create mode 100644 editor/node_modules/htmlparser2/.meteor-portable create mode 100644 editor/node_modules/htmlparser2/LICENSE create mode 100644 editor/node_modules/htmlparser2/lib/CollectingHandler.js create mode 100644 editor/node_modules/htmlparser2/lib/FeedHandler.js create mode 100644 editor/node_modules/htmlparser2/lib/Parser.js create mode 100644 editor/node_modules/htmlparser2/lib/ProxyHandler.js create mode 100644 editor/node_modules/htmlparser2/lib/Stream.js create mode 100644 editor/node_modules/htmlparser2/lib/Tokenizer.js create mode 100644 editor/node_modules/htmlparser2/lib/WritableStream.js create mode 100644 editor/node_modules/htmlparser2/lib/index.js create mode 100644 editor/node_modules/htmlparser2/package.json create mode 100644 editor/node_modules/inherits/.meteor-portable create mode 100644 editor/node_modules/inherits/LICENSE create mode 100644 editor/node_modules/inherits/README.md create mode 100644 editor/node_modules/inherits/inherits.js create mode 100644 editor/node_modules/inherits/inherits_browser.js create mode 100644 editor/node_modules/inherits/package.json create mode 100644 editor/node_modules/isarray/.meteor-portable create mode 100644 editor/node_modules/isarray/.npmignore create mode 100644 editor/node_modules/isarray/.travis.yml create mode 100644 editor/node_modules/isarray/Makefile create mode 100644 editor/node_modules/isarray/README.md create mode 100644 editor/node_modules/isarray/component.json create mode 100644 editor/node_modules/isarray/index.js create mode 100644 editor/node_modules/isarray/package.json create mode 100644 editor/node_modules/isarray/test.js create mode 100644 editor/node_modules/lodash.assignin/.meteor-portable create mode 100644 editor/node_modules/lodash.assignin/LICENSE create mode 100644 editor/node_modules/lodash.assignin/README.md create mode 100644 editor/node_modules/lodash.assignin/index.js create mode 100644 editor/node_modules/lodash.assignin/package.json create mode 100644 editor/node_modules/lodash.bind/.meteor-portable create mode 100644 editor/node_modules/lodash.bind/LICENSE create mode 100644 editor/node_modules/lodash.bind/README.md create mode 100644 editor/node_modules/lodash.bind/index.js create mode 100644 editor/node_modules/lodash.bind/package.json create mode 100644 editor/node_modules/lodash.defaults/.meteor-portable create mode 100644 editor/node_modules/lodash.defaults/LICENSE create mode 100644 editor/node_modules/lodash.defaults/README.md create mode 100644 editor/node_modules/lodash.defaults/index.js create mode 100644 editor/node_modules/lodash.defaults/package.json create mode 100644 editor/node_modules/lodash.filter/.meteor-portable create mode 100644 editor/node_modules/lodash.filter/LICENSE create mode 100644 editor/node_modules/lodash.filter/README.md create mode 100644 editor/node_modules/lodash.filter/index.js create mode 100644 editor/node_modules/lodash.filter/package.json create mode 100644 editor/node_modules/lodash.flatten/.meteor-portable create mode 100644 editor/node_modules/lodash.flatten/LICENSE create mode 100644 editor/node_modules/lodash.flatten/README.md create mode 100644 editor/node_modules/lodash.flatten/index.js create mode 100644 editor/node_modules/lodash.flatten/package.json create mode 100644 editor/node_modules/lodash.foreach/.meteor-portable create mode 100644 editor/node_modules/lodash.foreach/LICENSE create mode 100644 editor/node_modules/lodash.foreach/README.md create mode 100644 editor/node_modules/lodash.foreach/index.js create mode 100644 editor/node_modules/lodash.foreach/package.json create mode 100644 editor/node_modules/lodash.map/.meteor-portable create mode 100644 editor/node_modules/lodash.map/LICENSE create mode 100644 editor/node_modules/lodash.map/README.md create mode 100644 editor/node_modules/lodash.map/index.js create mode 100644 editor/node_modules/lodash.map/package.json create mode 100644 editor/node_modules/lodash.merge/.meteor-portable create mode 100644 editor/node_modules/lodash.merge/LICENSE create mode 100644 editor/node_modules/lodash.merge/README.md create mode 100644 editor/node_modules/lodash.merge/index.js create mode 100644 editor/node_modules/lodash.merge/package.json create mode 100644 editor/node_modules/lodash.pick/.meteor-portable create mode 100644 editor/node_modules/lodash.pick/LICENSE create mode 100644 editor/node_modules/lodash.pick/README.md create mode 100644 editor/node_modules/lodash.pick/index.js create mode 100644 editor/node_modules/lodash.pick/package.json create mode 100644 editor/node_modules/lodash.reduce/.meteor-portable create mode 100644 editor/node_modules/lodash.reduce/LICENSE create mode 100644 editor/node_modules/lodash.reduce/README.md create mode 100644 editor/node_modules/lodash.reduce/index.js create mode 100644 editor/node_modules/lodash.reduce/package.json create mode 100644 editor/node_modules/lodash.reject/.meteor-portable create mode 100644 editor/node_modules/lodash.reject/LICENSE create mode 100644 editor/node_modules/lodash.reject/README.md create mode 100644 editor/node_modules/lodash.reject/index.js create mode 100644 editor/node_modules/lodash.reject/package.json create mode 100644 editor/node_modules/lodash.some/.meteor-portable create mode 100644 editor/node_modules/lodash.some/LICENSE create mode 100644 editor/node_modules/lodash.some/README.md create mode 100644 editor/node_modules/lodash.some/index.js create mode 100644 editor/node_modules/lodash.some/package.json create mode 100644 editor/node_modules/nth-check/.meteor-portable create mode 100644 editor/node_modules/nth-check/.travis.yml create mode 100644 editor/node_modules/nth-check/README.md create mode 100644 editor/node_modules/nth-check/compile.js create mode 100644 editor/node_modules/nth-check/index.js create mode 100644 editor/node_modules/nth-check/package.json create mode 100644 editor/node_modules/nth-check/parse.js create mode 100644 editor/node_modules/nth-check/test.js create mode 100644 editor/node_modules/process-nextick-args/.meteor-portable create mode 100644 editor/node_modules/process-nextick-args/.travis.yml create mode 100644 editor/node_modules/process-nextick-args/index.js create mode 100644 editor/node_modules/process-nextick-args/license.md create mode 100644 editor/node_modules/process-nextick-args/package.json create mode 100644 editor/node_modules/process-nextick-args/readme.md create mode 100644 editor/node_modules/process-nextick-args/test.js create mode 100644 editor/node_modules/readable-stream/.meteor-portable create mode 100644 editor/node_modules/readable-stream/.npmignore create mode 100644 editor/node_modules/readable-stream/.travis.yml create mode 100644 editor/node_modules/readable-stream/LICENSE create mode 100644 editor/node_modules/readable-stream/README.md create mode 100644 editor/node_modules/readable-stream/doc/stream.md create mode 100644 editor/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md create mode 100644 editor/node_modules/readable-stream/duplex.js create mode 100644 editor/node_modules/readable-stream/lib/_stream_duplex.js create mode 100644 editor/node_modules/readable-stream/lib/_stream_passthrough.js create mode 100644 editor/node_modules/readable-stream/lib/_stream_readable.js create mode 100644 editor/node_modules/readable-stream/lib/_stream_transform.js create mode 100644 editor/node_modules/readable-stream/lib/_stream_writable.js create mode 100644 editor/node_modules/readable-stream/lib/internal/streams/BufferList.js create mode 100644 editor/node_modules/readable-stream/package.json create mode 100644 editor/node_modules/readable-stream/passthrough.js create mode 100644 editor/node_modules/readable-stream/readable.js create mode 100644 editor/node_modules/readable-stream/transform.js create mode 100644 editor/node_modules/readable-stream/writable.js create mode 100644 editor/node_modules/sax/.meteor-portable create mode 100644 editor/node_modules/sax/LICENSE create mode 100644 editor/node_modules/sax/LICENSE-W3C.html create mode 100644 editor/node_modules/sax/README.md create mode 100644 editor/node_modules/sax/lib/sax.js create mode 100644 editor/node_modules/sax/package.json create mode 100644 editor/node_modules/string_decoder/.meteor-portable create mode 100644 editor/node_modules/string_decoder/.npmignore create mode 100644 editor/node_modules/string_decoder/LICENSE create mode 100644 editor/node_modules/string_decoder/README.md create mode 100644 editor/node_modules/string_decoder/index.js create mode 100644 editor/node_modules/string_decoder/package.json create mode 100644 editor/node_modules/util-deprecate/.meteor-portable create mode 100644 editor/node_modules/util-deprecate/History.md create mode 100644 editor/node_modules/util-deprecate/LICENSE create mode 100644 editor/node_modules/util-deprecate/README.md create mode 100644 editor/node_modules/util-deprecate/browser.js create mode 100644 editor/node_modules/util-deprecate/node.js create mode 100644 editor/node_modules/util-deprecate/package.json create mode 100644 editor/node_modules/xml-js/.bithoundrc create mode 100644 editor/node_modules/xml-js/.codeclimate.yml create mode 100644 editor/node_modules/xml-js/.csslintrc create mode 100644 editor/node_modules/xml-js/.eslintrc create mode 100644 editor/node_modules/xml-js/.eslintrcignore create mode 100644 editor/node_modules/xml-js/.meteor-portable create mode 100644 editor/node_modules/xml-js/.npmignore create mode 100644 editor/node_modules/xml-js/.travis.yml create mode 100644 editor/node_modules/xml-js/LICENSE create mode 100644 editor/node_modules/xml-js/README.md create mode 100644 editor/node_modules/xml-js/appveyor.yml create mode 100644 editor/node_modules/xml-js/artwork/logo.svg create mode 100644 editor/node_modules/xml-js/artwork/synopsis.svg create mode 100644 editor/node_modules/xml-js/artwork/xml-js.vsdx create mode 100755 editor/node_modules/xml-js/bin/cli.js create mode 100644 editor/node_modules/xml-js/bin/test.xml create mode 100644 editor/node_modules/xml-js/index.js create mode 100644 editor/node_modules/xml-js/lib/common.js create mode 100644 editor/node_modules/xml-js/lib/index.js create mode 100644 editor/node_modules/xml-js/lib/js2xml.js create mode 100644 editor/node_modules/xml-js/lib/json2xml.js create mode 100644 editor/node_modules/xml-js/lib/xml2js.js create mode 100644 editor/node_modules/xml-js/lib/xml2json.js create mode 100644 editor/node_modules/xml-js/package.json create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/SpecRunner.html create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/bundle.js create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/index.html create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/jasmine-standalone-2.5.0.zip create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/lib/jasmine-2.5.0/boot.js create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/lib/jasmine-2.5.0/console.js create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/lib/jasmine-2.5.0/jasmine-html.js create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/lib/jasmine-2.5.0/jasmine.css create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/lib/jasmine-2.5.0/jasmine.js create mode 100644 editor/node_modules/xml-js/test/browse-jasmine/lib/jasmine-2.5.0/jasmine_favicon.png create mode 100644 editor/node_modules/xml-js/test/cli_test.js create mode 100644 editor/node_modules/xml-js/test/common_test.js create mode 100644 editor/node_modules/xml-js/test/convert-fixtures.js create mode 100644 editor/node_modules/xml-js/test/index.js create mode 100644 editor/node_modules/xml-js/test/jasmine.json create mode 100644 editor/node_modules/xml-js/test/js2xml_test.js create mode 100644 editor/node_modules/xml-js/test/test-items.js create mode 100644 editor/node_modules/xml-js/test/usage-example.js create mode 100644 editor/node_modules/xml-js/test/xml2js_test.js create mode 100644 editor/package.json create mode 100644 editor/public/logo-stairs.jpg create mode 100644 editor/public/ros-logo.gif create mode 100644 editor/server/main.js create mode 100755 editor/start.sh diff --git a/README.md b/README.md index 0e02ec7..f8dc451 100644 --- a/README.md +++ b/README.md @@ -47,3 +47,39 @@ See for more detailed information the [tools manual](https://github.com/radicall ### Example documents Besides the reports and quotations, generic documents can also be created. Those can be found [here](xml/doc/examples) + + +## The editor +The pentext framework is shipped with an editor that facilitates the redacting of findings and non-findings. As the pentext framework relies heavily on xml to be able to generate documents, +the writer(s) of these documents are faced with an extra challenge. Not only do they have to worry about content, now the structure of the document is also of importance. +In practice this has led to annoying errors like file-inclusion errors and tag mismatch errors. + +The editor tries to relieve the writer from the burden of having to maintain proper document structure, so he/she can focus on content only. +An added feature of the editor is that is has built in support for the pentester's library. This means that standard findings from the library +can be easily integrated into the document. + +The editor is a meteor application that runs locally. In the future, when more components are added to it, it can be easily extended to a network facing application +so it can be used by multiple collaborators. + +To start: +1. Go to the /editor directory +2. Execute ./start.sh. It will pull in its dependencies, and if all went will run the service on localhost:4000 +3. Open a browser and go to localhost:4000 + +Here you see two tabs, edit findings and edit non-findings. These tabs will let you handle findings and non-findings respectively +The general workflow for these tabs is the same, the difference is that they handle different sections of the document. + +In both tabs, two directories can be specified. The [non]findings directory is mandatory. Point this to a clone of the gitrepository of the test you +are working on. +The Library directory is optional and should point to a directory which contains generic [non]findings that could be used. + +Click update to update the system. + +Now two tabs appear. One represents the directory with the pentest's findings, the other represents the library findings. +All .xml files that are found will appear in the screen. Even the ones that do not necessasily belong to the pentext framework. +When you click on the arrow in the file, an editor opens up and all the fields are copied from the file to the editor fields. +A file is outlined red when the structure of the file does not match the framework's specification. This means that when the file is selected, not all fields can be filled. It is advised to copy+paste from the raw file view (click file) to the fields. + +When a file is saved, the correct structure is used and when the directory is updated, the file should show up green and should be handled by the pentext system without hassle. + + diff --git a/editor/.gitignore b/editor/.gitignore new file mode 100644 index 0000000..485dee6 --- /dev/null +++ b/editor/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/editor/.meteor/.finished-upgraders b/editor/.meteor/.finished-upgraders new file mode 100644 index 0000000..aa60704 --- /dev/null +++ b/editor/.meteor/.finished-upgraders @@ -0,0 +1,15 @@ +# This file contains information which helps Meteor properly upgrade your +# app when you run 'meteor update'. You should check it into version control +# with your project. + +notices-for-0.9.0 +notices-for-0.9.1 +0.9.4-platform-file +notices-for-facebook-graph-api-2 +1.2.0-standard-minifiers-package +1.2.0-meteor-platform-split +1.2.0-cordova-changes +1.2.0-breaking-changes +1.3.0-split-minifiers-package +1.4.0-remove-old-dev-bundle-link +1.4.1-add-shell-server-package diff --git a/editor/.meteor/.gitignore b/editor/.meteor/.gitignore new file mode 100644 index 0000000..4083037 --- /dev/null +++ b/editor/.meteor/.gitignore @@ -0,0 +1 @@ +local diff --git a/editor/.meteor/.id b/editor/.meteor/.id new file mode 100644 index 0000000..310a293 --- /dev/null +++ b/editor/.meteor/.id @@ -0,0 +1,7 @@ +# This file contains a token that is unique to your project. +# Check it into your repository along with the rest of this directory. +# It can be used for purposes such as: +# - ensuring you don't accidentally deploy one app on top of another +# - providing package authors with aggregated statistics + +1sqa2bi1ckkmr3l54m0o diff --git a/editor/.meteor/packages b/editor/.meteor/packages new file mode 100644 index 0000000..c66dfb5 --- /dev/null +++ b/editor/.meteor/packages @@ -0,0 +1,27 @@ +# Meteor packages used by this project, one per line. +# Check this file (and the other files in this directory) into your repository. +# +# 'meteor add' and 'meteor remove' will edit this file for you, +# but you can also edit it by hand. + +meteor-base@1.0.4 # Packages every Meteor app needs to have +mobile-experience@1.0.4 # Packages for a great mobile UX +mongo@1.1.12 # The database Meteor supports right now +blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views +reactive-var@1.0.10 # Reactive variable for tracker +jquery@1.11.9 # Helpful client-side library +tracker@1.1.0 # Meteor's client-side reactive programming library + +standard-minifier-css@1.2.0 # CSS minifier run for production mode +standard-minifier-js@1.2.0 # JS minifier run for production mode +es5-shim@4.6.14 # ECMAScript 5 compatibility for older browsers. +ecmascript@0.5.8 # Enable ECMAScript2015+ syntax in app code + +insecure@1.0.7 # Allow all DB writes from clients (for prototyping) +session@1.1.6 +easy:search +aldeed:simple-schema +aldeed:autoform +aldeed:collection2 +shell-server +matb33:collection-hooks diff --git a/editor/.meteor/platforms b/editor/.meteor/platforms new file mode 100644 index 0000000..efeba1b --- /dev/null +++ b/editor/.meteor/platforms @@ -0,0 +1,2 @@ +server +browser diff --git a/editor/.meteor/release b/editor/.meteor/release new file mode 100644 index 0000000..72980bc --- /dev/null +++ b/editor/.meteor/release @@ -0,0 +1 @@ +METEOR@1.4.1.1 diff --git a/editor/.meteor/versions b/editor/.meteor/versions new file mode 100644 index 0000000..60e4c8c --- /dev/null +++ b/editor/.meteor/versions @@ -0,0 +1,91 @@ +aldeed:autoform@5.8.1 +aldeed:collection2@2.10.0 +aldeed:collection2-core@1.2.0 +aldeed:schema-deny@1.1.0 +aldeed:schema-index@1.1.0 +aldeed:simple-schema@1.5.3 +allow-deny@1.0.5 +autoupdate@1.2.11 +babel-compiler@6.9.1 +babel-runtime@0.1.11 +base64@1.0.9 +binary-heap@1.0.9 +blaze@2.1.8 +blaze-html-templates@1.0.4 +blaze-tools@1.0.9 +boilerplate-generator@1.0.9 +caching-compiler@1.0.6 +caching-html-compiler@1.0.6 +callback-hook@1.0.9 +check@1.2.3 +coffeescript@1.0.17 +ddp@1.2.5 +ddp-client@1.2.9 +ddp-common@1.2.6 +ddp-server@1.2.10 +deps@1.0.12 +diff-sequence@1.0.6 +easy:search@2.0.9 +easysearch:components@2.0.9 +easysearch:core@2.0.9 +ecmascript@0.5.8 +ecmascript-runtime@0.3.14 +ejson@1.0.12 +es5-shim@4.6.14 +fastclick@1.0.12 +geojson-utils@1.0.9 +hot-code-push@1.0.4 +html-tools@1.0.10 +htmljs@1.0.10 +http@1.1.8 +id-map@1.0.8 +insecure@1.0.7 +jquery@1.11.9 +launch-screen@1.0.12 +livedata@1.0.18 +logging@1.1.15 +matb33:collection-hooks@0.8.4 +mdg:validation-error@0.2.0 +meteor@1.2.17 +meteor-base@1.0.4 +minifier-css@1.2.14 +minifier-js@1.2.14 +minimongo@1.0.17 +mobile-experience@1.0.4 +mobile-status-bar@1.0.12 +modules@0.7.6 +modules-runtime@0.7.6 +momentjs:moment@2.10.6 +mongo@1.1.12 +mongo-id@1.0.5 +npm-mongo@1.5.49 +observe-sequence@1.0.12 +ordered-dict@1.0.8 +peerlibrary:assert@0.2.5 +peerlibrary:base-component@0.14.0 +peerlibrary:blaze-components@0.16.2 +peerlibrary:computed-field@0.3.1 +peerlibrary:data-lookup@0.1.0 +peerlibrary:reactive-field@0.1.0 +promise@0.8.4 +raix:eventemitter@0.1.3 +random@1.0.10 +reactive-dict@1.1.8 +reactive-var@1.0.10 +reload@1.1.10 +retry@1.0.8 +routepolicy@1.0.11 +session@1.1.6 +shell-server@0.2.1 +spacebars@1.0.12 +spacebars-compiler@1.0.12 +standard-minifier-css@1.2.0 +standard-minifier-js@1.2.0 +templating@1.1.14 +templating-tools@1.0.4 +tracker@1.1.0 +ui@1.0.11 +underscore@1.0.9 +url@1.0.10 +webapp@1.3.11 +webapp-hashing@1.0.9 diff --git a/editor/client/main.css b/editor/client/main.css new file mode 100644 index 0000000..36a5ee2 --- /dev/null +++ b/editor/client/main.css @@ -0,0 +1,172 @@ +/* CSS declarations go here */ +body { + background: url('ros-logo.gif') no-repeat left 50px top 100px; + font-family:Droid-Sans; + color: #cd7e00; + background-color: rgba(0, 0, 0, 0.75); +} + +fieldset { + border-radius: 10px; + border-color: #cd7e00; +} + + + +input,textarea { + background-color:rgba(0, 0, 0, 0); + color: white; + height: 18px; + padding: 5px; + margin: 2px; + border-color: #cd7e00; + border-radius: 10px; +} + +input:focus,textarea:focus { + background: black; +} + +input:hover,textarea:hover { + background: black; +} + + +button { + background-color:rgba(0, 0, 0, 0); + color: #cd7e00; + height: 28px; + border-color: #cd7e00; + border-radius: 10px; +} + +button:hover { + color: #000000; + background-color: #cd7e00; +} + +button.active { + color: #000000; + background-color: #cd7e00; +} + +.directory { + width: 600px; +} + + +.selected { + color: #000000; + background-color: #cd7e00; +} + +.box { + border-radius: 10px; + border: 2px solid #cd7e00; + padding: 5px; + margin: 2px; +} + +.search_pane input { + width: 96.5%; + margin-bottom: 20px; +} + + + +.search_button { + background-color:rgba(0, 0, 0, 0); + width: 35px; + height: 35px; +} + +.search_result { + display: flex; + flex-direction: column; +} + +.search_result button { + float: right; +} + +.search_result textarea { + box-sizing: border-box; + height: 500px; +} + +.selectable:hover { + color: #000000; + background-color: #cd7e00; +} + +.top_menu { + height: 40px; +} + +.left_pane { + order: 1; + width: 40%; +} + +.middle_pane { + order: 2; + flex-grow: 1 +} + +.right_pane { + order: 3; + flex-grow: 1; +} + +.bottom_pane { + display: flex; +} + +/* Line 1 */ +.form-control +{ + /*display: block;*/ +} + + +textarea.form-control { + width: 98%; + height: 300px; +} + +input.form-control { + width: 600px; +} + +label.control-label { + width: 100px; + clear: both; + float:left; + margin-right:15px; + color: white; +} + +.help-block { + color: red; +} + +.green { + border-color: green; + color:green; +} + +.green button { + border-color: green; + color:green; +} + +.red { + border-color: red; + color:red; +} + +.red button { + border-color: red; + color:red; +} + diff --git a/editor/client/main.html b/editor/client/main.html new file mode 100644 index 0000000..7384227 --- /dev/null +++ b/editor/client/main.html @@ -0,0 +1,228 @@ + + PenText editor + + + +{{>main}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/editor/client/main.js b/editor/client/main.js new file mode 100644 index 0000000..eb7ac2f --- /dev/null +++ b/editor/client/main.js @@ -0,0 +1,414 @@ +import { Template } from 'meteor/templating'; +import { Session } from 'meteor/session'; +import { ReactiveVar } from 'meteor/reactive-var'; +import { FindingsIndex } from '../imports/api/findings.js' +import { NonFindingsIndex } from '../imports/api/nonfindings'; +import { LibraryFindingsIndex } from '../imports/api/library_findings.js' +import { LibraryNonFindingsIndex } from '../imports/api/library_non_findings.js' +import Findings from '../imports/api/findings'; +import NonFindings from '../imports/api/nonfindings'; +import { Settings } from '../imports/api/settings.js'; +import './main.html'; + + +Meteor.subscribe("snippets"); +Meteor.subscribe("oneReport"); +Meteor.subscribe("settings"); +Meteor.subscribe("findings"); +Meteor.subscribe("library_findings"); +Meteor.subscribe("non_findings"); +Meteor.subscribe("library_non_findings"); + +Findings.attachSchema(new SimpleSchema({ + // filename: { + // type: String, + // label: "Filename", + // min: 1, + // max: 200 + // }, + id: { + type: String, + label: "ID", + min: 1, + max: 200, + }, + threat_level: { + type: String, + allowedValues: [ + "Low", + "Moderate", + "Elevated", + "High", + "Extreme" + ], + label: "Threat level", + }, + type: { + type: String, + label: "Type", + min: 1, + max: 200, + }, + title: { + type: String, + label: "Title", + min: 1, + max: 200, + }, + description: { + type: String, + label: "Description", + min: 1, + autoform: { + rows: 5 + }, + }, + technical_description: { + type: String, + label: "Technical Description", + min: 1, + autoform: { + rows: 5 + }, + }, + impact: { + type: String, + min: 1, + label: "Impact", + autoform: { + rows: 5 + }, + }, + recommendation: { + type: String, + min: 1, + label: "Recommendation", + autoform: { + rows: 5 + }, + } +})); + + +NonFindings.attachSchema({ + // filename: { + // type: String, + // label: "Filename", + // min: 1, + // max: 200 + // }, + id: { + type: String, + label: "ID", + min: 1, + max: 200, + }, + title: { + type: String, + label: "Title", + min: 1, + max: 200, + }, + description: { + type: String, + label: "Description", + min: 1, + autoform: { + rows: 5 + }, + }, +}); + +/** ******************************** EDITOR PANE HELPERS *************************************/ + +/** + * FINDINGS_EDITOR + */ +Template.findings_editor.helpers({ + getFormType:function () { + var finding_id = Session.get("selected_finding"); + return finding_id ? "update" : "insert"; + }, + getSelectedFinding:function () { + return Findings.findOne(Session.get("selected_finding")); + } +}); + +/** + * NON-FINDINGS EDITOR + */ +Template.non_findings_editor.helpers({ + getFormType:function () { + var finding_id = Session.get("selected_finding"); + return finding_id ? "update" : "insert"; + }, + getSelectedNonFinding:function () { + return NonFindings.findOne(Session.get("selected_non_finding")); + } +}); + +// Template.editor.event = { +// 'click .btn_reset': function () { +// AutoForm.resetForm('findingForm'); +// Session.set("selected_finding", null); +// } +// }; + +/** + * MAIN + */ +Template.main.events = { + 'click .edit_findings_button': function (event, template) { + Session.set("edit_mode", "findings"); + }, + 'click .edit_non_findings_button': function (event, template) { + Session.set("edit_mode", "non_findings"); + }, +}; + +Template.main.created = function () { + Session.set("edit_mode", null); +}; + +Template.main.helpers({ + editMode:function() { + return Session.get("edit_mode"); + }, + findingButtonActive:function(){ + return Session.get("edit_mode") == "findings" ? "active" : ""; + }, + nonFindingButtonActive:function(){ + return Session.get("edit_mode") == "non_findings" ? "active" : ""; + }, + findingsEditorActive: function () { + return Session.get("selected_finding"); + }, + nonFindingsEditorActive: function () { + return Session.get("selected_non_finding"); + }, + editModeIs: function (mode) { + return Session.get("edit_mode") == mode; + }, +}); + +/** + * Findings Settings + */ +Template.findings_settings.helpers({ + findings_directory: function () { + return Settings.findOne({_id: "findings_directory"}).value; + }, + findings_library_directory: function () { + return Settings.findOne({_id: "library_findings_directory"}).value; + } +}); + +Template.findings_settings.events({ + "submit .update_findings_directory": function(event){ + event.preventDefault(); + var newvalue = event.target.findings_directory.value; + Settings.update({_id: "findings_directory"}, {$set: {value: newvalue}}); + Session.set("selected_finding", null); // Prevents editor from emptying out on update + }, + "submit .update_findings_library_directory": function(event){ + event.preventDefault(); + var newvalue = event.target.library_findings_directory.value; + Settings.update({_id: "library_findings_directory"}, {$set: {value: newvalue}}); + } +}); + +/** + * Non-Findings Settings + */ +Template.non_findings_settings.helpers({ + non_findings_directory: function () { + return Settings.findOne({_id: "non_findings_directory"}).value; + }, + non_findings_library_directory: function () { + return Settings.findOne({_id: "non_findings_library_directory"}).value; + } +}); + +Template.non_findings_settings.events({ + "submit .update_non_findings_directory": function(event){ + event.preventDefault(); + var newvalue = event.target.non_findings_directory.value; + Settings.update({_id: "non_findings_directory"}, {$set: {value: newvalue}}); + Session.set("selected_non_finding", null); // Prevents editor from emptying out on update + }, + "submit .update_non_findings_library_directory": function(event){ + event.preventDefault(); + var newvalue = event.target.non_findings_library_directory.value; + Settings.update({_id: "non_findings_library_directory"}, {$set: {value: newvalue}}); + } +}); + + + +/** + * FINDINGS_PANE + */ +Template.findings_pane.created = function () { + this.activeTab = new ReactiveVar("pentest"); +}; + +Template.findings_pane.helpers({ + isPentestTabActive:function () { + return Template.instance().activeTab.get() == "pentest" ? "active" : null; + }, + isLibraryTabActive:function () { + return Template.instance().activeTab.get() == "library" ? "active" : null + }, + editModeIs: function (mode) { + return Session.get("edit_mode") == mode; + }, + editMode: function() { + return Session.get("edit_mode"); + } + +}); + +Template.findings_pane.events({ + 'click .pentest': function (event, template) { + template.activeTab.set("pentest"); + }, + 'click .library': function (event, template) { + template.activeTab.set("library"); + }, +}); + +/** + * FINDINGS + */ +Template.findings.helpers({ + FindingsIndex: () => FindingsIndex, + properties: () => { return {placeholder: "Enter filter term .."}}, +}); + + +/** + * LIBRARY FINDINGS + */ +Template.library_findings.helpers({ + LibraryFindingsIndex: () => LibraryFindingsIndex, + properties: () => { return {placeholder: "Enter filter term .."}} +}); + +/** + * LIBRARY NON FINDINGS + */ +Template.library_non_findings.helpers({ + LibraryNonFindingsIndex: () => LibraryNonFindingsIndex, + properties: () => { return {placeholder: "Enter filter term .."}} +}); + +/** + * NON-FINDINGS + */ +Template.non_findings.helpers({ + NonFindingsIndex: () => NonFindingsIndex, + properties: () => { return {placeholder: "Enter filter term .."}} +}); + + +/** + * FINDING + */ +Template.finding.events = { + 'click .search_result_title': function (e) { + if (Session.get(this._id)) { + Session.set(this._id, false); + } else { + Session.set(this._id, true); + } + } +}; + +Template.finding.helpers({ + shouldShowContent:function () { + return Session.get(this._id); + }, + bordercolor:function() { + switch (this.valid) { + case true: + return "green"; + case false: + return "red"; + default: + return ""; + } + }, + tooltip:function() { + switch (this.valid) { + case true: + return "This file is a valid XML file. All elements can be copied to the editor"; + case false: + return "This file is not a valid XML file. This means that not all elements can be copied to the editor. If your are missing text, manually copy and paste it from the raw view."; + default: + return ""; + } + }, + typeIs: function (type) { + return Template.parentData(1).index.config.name == type; + } +}); + + +/** + * USE FINDING BUTTON + */ +Template.use_finding_button.events({ + "click": function () { + Session.set("selected_finding", this._id); + return false; + } +}); + +Template.use_library_finding_button.events({ + "click": function () { + var id = Session.get("selected_finding"); + if (!id) return false; + + Findings.update(id, { + $set: { + threat_level: this.threat_level, + type: this.type, + title: this.title, + description: this.description, + technical_description: this.technical_description, + impact: this.impact, + recommendation: this.recommendation + + } + }); + return false; + } +}); + +/** + * LIBRARY NON FINDING BUTTON + */ +Template.use_library_non_finding_button.events({ + "click": function () { + var id = Session.get("selected_non_finding"); + + console.log(id); + if (!id) return false; + + NonFindings.update(id, { + $set: { + title: this.title, + description: this.description, + } + }); + return false; + } +}); + + +Template.use_non_finding_button.events({ + "click": function () { + Session.set("selected_non_finding", this._id); + return false; + } +}); diff --git a/editor/dtd/README.md b/editor/dtd/README.md new file mode 100644 index 0000000..86c7a64 --- /dev/null +++ b/editor/dtd/README.md @@ -0,0 +1 @@ +This is a temporary directory. This should point to the directory where the xsd of a document is stored diff --git a/editor/imports/api/findings.js b/editor/imports/api/findings.js new file mode 100644 index 0000000..1aa81a0 --- /dev/null +++ b/editor/imports/api/findings.js @@ -0,0 +1,15 @@ +/** + * Created by osboxes on 20/09/16. + */ +import { Mongo } from 'meteor/mongo'; + +export default Findings = new Mongo.Collection('findings'); +export const FindingsIndex = new EasySearch.Index({ + collection: Findings, + fields: ['filename', 'content'], + engine: new EasySearch.Minimongo(), + defaultSearchOptions: { + null, + limit: 10000 + } +}); \ No newline at end of file diff --git a/editor/imports/api/library_findings.js b/editor/imports/api/library_findings.js new file mode 100644 index 0000000..a3b7254 --- /dev/null +++ b/editor/imports/api/library_findings.js @@ -0,0 +1,12 @@ +import { Mongo } from 'meteor/mongo'; + +export const LibraryFindings = new Mongo.Collection('library_findings'); +export const LibraryFindingsIndex = new EasySearch.Index({ + collection: LibraryFindings, + fields: ['filename', 'content'], + engine: new EasySearch.Minimongo(), + defaultSearchOptions: { + null, + limit: 10000 + } + }); \ No newline at end of file diff --git a/editor/imports/api/library_non_findings.js b/editor/imports/api/library_non_findings.js new file mode 100644 index 0000000..15fc917 --- /dev/null +++ b/editor/imports/api/library_non_findings.js @@ -0,0 +1,12 @@ +import { Mongo } from 'meteor/mongo'; + +export const LibraryNonFindings = new Mongo.Collection('library_non_findings'); +export const LibraryNonFindingsIndex = new EasySearch.Index({ + collection: LibraryNonFindings, + fields: ['filename', 'content'], + engine: new EasySearch.Minimongo(), + defaultSearchOptions: { + null, + limit: 10000 + } + }); \ No newline at end of file diff --git a/editor/imports/api/nonfindings.js b/editor/imports/api/nonfindings.js new file mode 100644 index 0000000..9526de3 --- /dev/null +++ b/editor/imports/api/nonfindings.js @@ -0,0 +1,15 @@ +/** + * Created by osboxes on 20/09/16. + */ +import { Mongo } from 'meteor/mongo'; + +export default NonFindings = new Mongo.Collection('non_findings'); +export const NonFindingsIndex = new EasySearch.Index({ + collection: NonFindings, + fields: ['filename', 'content'], + engine: new EasySearch.Minimongo(), + defaultSearchOptions: { + null, + limit: 10000 + } +}); \ No newline at end of file diff --git a/editor/imports/api/reports.js b/editor/imports/api/reports.js new file mode 100644 index 0000000..feeb10c --- /dev/null +++ b/editor/imports/api/reports.js @@ -0,0 +1,3 @@ +import { Mongo } from 'meteor/mongo'; + +export const Reports = new Mongo.Collection('reports'); \ No newline at end of file diff --git a/editor/imports/api/settings.js b/editor/imports/api/settings.js new file mode 100644 index 0000000..5575b8d --- /dev/null +++ b/editor/imports/api/settings.js @@ -0,0 +1,4 @@ +import { Mongo } from 'meteor/mongo'; + +export const Settings = new Mongo.Collection('settings'); + diff --git a/editor/mappings/pentestreport.js b/editor/mappings/pentestreport.js new file mode 100644 index 0000000..690cad7 --- /dev/null +++ b/editor/mappings/pentestreport.js @@ -0,0 +1,4835 @@ +var pentestreport_Module_Factory = function () { + var pentestreport = { + name: 'pentestreport', + typeInfos: [{ + localName: 'Block', + typeName: 'block', + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }] + }, { + localName: 'Br', + typeName: null + }, { + localName: 'GenerateTestteam', + typeName: null + }, { + localName: 'Version', + typeName: null, + propertyInfos: [{ + name: 'vAuthor', + required: true, + collection: true, + elementName: { + localPart: 'v_author' + } + }, { + name: 'vDescription', + required: true, + elementName: { + localPart: 'v_description' + } + }, { + name: 'date', + required: true, + typeInfo: 'DateTime', + attributeName: { + localPart: 'date' + }, + type: 'attribute' + }, { + name: 'number', + required: true, + typeInfo: 'NMToken', + attributeName: { + localPart: 'number' + }, + type: 'attribute' + }] + }, { + localName: 'Technicaldescription', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }, { + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'B', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'GenerateIndex', + typeName: null + }, { + localName: 'Description', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }], + type: 'elementRefs' + }] + }, { + localName: 'I', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Section', + typeName: null, + propertyInfos: [{ + name: 'title', + required: true, + elementName: { + localPart: 'title' + }, + typeInfo: '.Title' + }, { + name: 'preOrCodeOrP', + minOccurs: 0, + collection: true, + elementTypeInfos: [{ + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }, { + elementName: { + localPart: 'section' + }, + typeInfo: '.Section' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: '.Table' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: '.Ul' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: '.Ol' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: '.Img' + }, { + elementName: { + localPart: 'div' + }, + typeInfo: '.Div' + }, { + elementName: { + localPart: 'generate_targets' + }, + typeInfo: '.GenerateTargets' + }, { + elementName: { + localPart: 'generate_recommendations' + }, + typeInfo: '.GenerateRecommendations' + }, { + elementName: { + localPart: 'generate_findings' + }, + typeInfo: '.GenerateFindings' + }, { + elementName: { + localPart: 'finding' + }, + typeInfo: '.Finding' + }, { + elementName: { + localPart: 'non-finding' + }, + typeInfo: '.NonFinding' + }], + type: 'elements' + }, { + name: 'id', + required: true, + typeInfo: 'ID', + attributeName: { + localPart: 'id' + }, + type: 'attribute' + }, { + name: '_break', + attributeName: { + localPart: 'break' + }, + type: 'attribute' + }, { + name: 'visibility', + attributeName: { + localPart: 'visibility' + }, + type: 'attribute' + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }] + }, { + localName: 'Finding', + typeName: null, + propertyInfos: [{ + name: 'title', + required: true, + elementName: { + localPart: 'title' + }, + typeInfo: '.Title' + }, { + name: 'p', + required: true, + elementName: { + localPart: 'p' + }, + typeInfo: 'AnyType' + }, { + name: 'description', + required: true, + elementName: { + localPart: 'description' + }, + typeInfo: '.Description' + }, { + name: 'descriptionSummary', + required: true, + elementName: { + localPart: 'description_summary' + }, + typeInfo: '.DescriptionSummary' + }, { + name: 'technicaldescription', + required: true, + elementName: { + localPart: 'technicaldescription' + }, + typeInfo: '.Technicaldescription' + }, { + name: 'impact', + required: true, + elementName: { + localPart: 'impact' + }, + typeInfo: '.Impact' + }, { + name: 'recommendation', + required: true, + elementName: { + localPart: 'recommendation' + }, + typeInfo: '.Recommendation' + }, { + name: 'recommendationSummary', + required: true, + elementName: { + localPart: 'recommendation_summary' + }, + typeInfo: '.RecommendationSummary' + }, { + name: 'id', + required: true, + typeInfo: 'ID', + attributeName: { + localPart: 'id' + }, + type: 'attribute' + }, { + name: 'threatLevel', + attributeName: { + localPart: 'threatLevel' + }, + type: 'attribute' + }, { + name: 'type', + required: true, + typeInfo: 'AnySimpleType', + attributeName: { + localPart: 'type' + }, + type: 'attribute' + }, { + name: '_break', + attributeName: { + localPart: 'break' + }, + type: 'attribute' + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }] + }, { + localName: 'Td', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Client', + typeName: null, + propertyInfos: [{ + name: 'fullName', + required: true, + elementName: { + localPart: 'full_name' + } + }, { + name: 'shortName', + required: true, + elementName: { + localPart: 'short_name' + } + }, { + name: 'legalRep', + required: true, + elementName: { + localPart: 'legal_rep' + } + }, { + name: 'waiverRep', + required: true, + elementName: { + localPart: 'waiver_rep' + } + }, { + name: 'poc1', + required: true, + elementName: { + localPart: 'poc1' + } + }, { + name: 'address', + required: true, + elementName: { + localPart: 'address' + }, + typeInfo: '.Address' + }, { + name: 'postalCode', + required: true, + elementName: { + localPart: 'postal_code' + } + }, { + name: 'city', + required: true, + elementName: { + localPart: 'city' + } + }, { + name: 'country', + required: true, + elementName: { + localPart: 'country' + } + }, { + name: 'coc', + required: true, + elementName: { + localPart: 'coc' + }, + typeInfo: '.Coc' + }, { + name: 'invoiceRep', + required: true, + elementName: { + localPart: 'invoice_rep' + } + }, { + name: 'invoiceMail', + required: true, + elementName: { + localPart: 'invoice_mail' + } + }, { + name: 'vatNo', + required: true, + elementName: { + localPart: 'vat_no' + } + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }, { + name: 'id', + typeInfo: 'ID', + attributeName: { + localPart: 'id' + }, + type: 'attribute' + }] + }, { + localName: 'Pentesters', + typeName: null, + propertyInfos: [{ + name: 'pentester', + required: true, + collection: true, + elementName: { + localPart: 'pentester' + }, + typeInfo: '.Pentester' + }] + }, { + localName: 'Ul', + typeName: null, + propertyInfos: [{ + name: 'li', + required: true, + collection: true, + elementName: { + localPart: 'li' + }, + typeInfo: '.Li' + }] + }, { + localName: 'Img', + typeName: null, + propertyInfos: [{ + name: 'height', + typeInfo: 'Integer', + attributeName: { + localPart: 'height' + }, + type: 'attribute' + }, { + name: 'width', + typeInfo: 'Integer', + attributeName: { + localPart: 'width' + }, + type: 'attribute' + }, { + name: 'src', + required: true, + typeInfo: 'AnySimpleType', + attributeName: { + localPart: 'src' + }, + type: 'attribute' + }, { + name: 'title', + typeInfo: 'AnySimpleType', + attributeName: { + localPart: 'title' + }, + type: 'attribute' + }] + }, { + localName: 'Recommendation', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }], + type: 'elementRefs' + }] + }, { + localName: 'Li', + typeName: 'li', + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: '.Ul' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: '.Ol' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Div', + typeName: null, + propertyInfos: [{ + name: 'preOrCodeOrP', + minOccurs: 0, + collection: true, + elementTypeInfos: [{ + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: '.Table' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: '.Ul' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: '.Ol' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: '.Img' + }], + type: 'elements' + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }] + }, { + localName: 'Code', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Targets', + typeName: null, + propertyInfos: [{ + name: 'target', + required: true, + collection: true, + elementName: { + localPart: 'target' + }, + typeInfo: '.Target' + }] + }, { + localName: 'Impact', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }], + type: 'elementRefs' + }] + }, { + localName: 'GenerateTargets', + typeName: null, + propertyInfos: [{ + name: 'ref', + typeInfo: 'IDREFS', + attributeName: { + localPart: 'Ref' + }, + type: 'attribute' + }] + }, { + localName: 'Meta', + typeName: null, + propertyInfos: [{ + name: 'title', + required: true, + elementName: { + localPart: 'title' + }, + typeInfo: '.Title' + }, { + name: 'client', + required: true, + elementName: { + localPart: 'client' + }, + typeInfo: '.Client' + }, { + name: 'targets', + required: true, + elementName: { + localPart: 'targets' + }, + typeInfo: '.Targets' + }, { + name: 'pentestinfo', + elementName: { + localPart: 'pentestinfo' + }, + typeInfo: '.Pentestinfo' + }, { + name: 'collaborators', + required: true, + elementName: { + localPart: 'collaborators' + }, + typeInfo: '.Collaborators' + }, { + name: 'classification', + required: true, + elementName: { + localPart: 'classification' + }, + typeInfo: 'NCName' + }, { + name: 'versionHistory', + required: true, + elementName: { + localPart: 'version_history' + }, + typeInfo: '.VersionHistory' + }, { + name: 'company', + required: true, + elementName: { + localPart: 'company' + }, + typeInfo: '.Company' + }] + }, { + localName: 'Collaborators', + typeName: null, + propertyInfos: [{ + name: 'reviewers', + required: true, + elementName: { + localPart: 'reviewers' + }, + typeInfo: '.Reviewers' + }, { + name: 'approver', + required: true, + elementName: { + localPart: 'approver' + }, + typeInfo: '.Approver' + }, { + name: 'pentesters', + required: true, + elementName: { + localPart: 'pentesters' + }, + typeInfo: '.Pentesters' + }] + }, { + localName: 'PentestReport', + typeName: null, + propertyInfos: [{ + name: 'meta', + required: true, + elementName: { + localPart: 'meta' + }, + typeInfo: '.Meta' + }, { + name: 'generateIndex', + required: true, + elementName: { + localPart: 'generate_index' + }, + typeInfo: '.GenerateIndex' + }, { + name: 'section', + required: true, + minOccurs: 6, + collection: true, + elementName: { + localPart: 'section' + }, + typeInfo: '.Section' + }, { + name: 'appendix', + required: true, + collection: true, + elementName: { + localPart: 'appendix' + }, + typeInfo: '.Appendix' + }, { + name: 'findingCode', + required: true, + typeInfo: 'NCName', + attributeName: { + localPart: 'findingCode' + }, + type: 'attribute' + }, { + name: 'findingNumberingBase', + attributeName: { + localPart: 'findingNumberingBase' + }, + type: 'attribute' + }] + }, { + localName: 'Name', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Pentester', + typeName: null, + propertyInfos: [{ + name: 'name', + required: true, + elementName: { + localPart: 'name' + }, + typeInfo: '.Name' + }, { + name: 'bio', + required: true, + elementName: { + localPart: 'bio' + } + }] + }, { + localName: 'Reviewers', + typeName: null, + propertyInfos: [{ + name: 'reviewer', + required: true, + elementName: { + localPart: 'reviewer' + } + }] + }, { + localName: 'Table', + typeName: null, + propertyInfos: [{ + name: 'tr', + required: true, + collection: true, + elementName: { + localPart: 'tr' + }, + typeInfo: '.Tr' + }, { + name: 'border', + typeInfo: 'Integer', + attributeName: { + localPart: 'border' + }, + type: 'attribute' + }, { + name: 'cols', + attributeName: { + localPart: 'cols' + }, + type: 'attribute' + }] + }, { + localName: 'Target', + typeName: null, + propertyInfos: [{ + name: 'value', + type: 'value' + }, { + name: 'ref', + typeInfo: 'IDREFS', + attributeName: { + localPart: 'Ref' + }, + type: 'attribute' + }] + }, { + localName: 'Sup', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Ol', + typeName: null, + propertyInfos: [{ + name: 'li', + required: true, + collection: true, + elementName: { + localPart: 'li' + }, + typeInfo: '.Li' + }, { + name: 'type', + attributeName: { + localPart: 'type' + }, + type: 'attribute' + }] + }, { + localName: 'GenerateFindings', + typeName: null, + propertyInfos: [{ + name: 'ref', + typeInfo: 'IDREF', + attributeName: { + localPart: 'Ref' + }, + type: 'attribute' + }] + }, { + localName: 'Monospace', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'VersionHistory', + typeName: null, + propertyInfos: [{ + name: 'version', + required: true, + collection: true, + elementName: { + localPart: 'version' + }, + typeInfo: '.Version' + }] + }, { + localName: 'RecommendationSummary', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + type: 'elementRef' + }] + }, { + localName: 'Coc', + typeName: null, + propertyInfos: [{ + name: 'value', + typeInfo: 'Integer', + type: 'value' + }, { + name: 'nationality', + attributeName: { + localPart: 'nationality' + }, + type: 'attribute' + }] + }, { + localName: 'Title', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'IncludeType', + typeName: { + namespaceURI: 'http:\/\/www.w3.org\/2001\/XInclude', + localPart: 'includeType' + }, + propertyInfos: [{ + name: 'otherAttributes', + type: 'anyAttribute' + }, { + name: 'content', + collection: true, + elementName: { + localPart: 'fallback', + namespaceURI: 'http:\/\/www.w3.org\/2001\/XInclude' + }, + typeInfo: '.FallbackType', + type: 'elementRef' + }, { + name: 'href', + attributeName: { + localPart: 'href' + }, + type: 'attribute' + }, { + name: 'parse', + typeInfo: 'Token', + attributeName: { + localPart: 'parse' + }, + type: 'attribute' + }, { + name: 'xpointer', + attributeName: { + localPart: 'xpointer' + }, + type: 'attribute' + }, { + name: 'encoding', + attributeName: { + localPart: 'encoding' + }, + type: 'attribute' + }, { + name: 'accept', + attributeName: { + localPart: 'accept' + }, + type: 'attribute' + }, { + name: 'acceptLanguage', + attributeName: { + localPart: 'accept-language' + }, + type: 'attribute' + }] + }, { + localName: 'U', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Pentestinfo', + typeName: null, + propertyInfos: [{ + name: 'duration', + required: true, + elementName: { + localPart: 'duration' + }, + typeInfo: 'NonNegativeInteger' + }, { + name: 'testPlanning', + required: true, + elementName: { + localPart: 'test_planning' + } + }, { + name: 'reportWriting', + required: true, + elementName: { + localPart: 'report_writing' + } + }, { + name: 'reportDue', + required: true, + elementName: { + localPart: 'report_due' + } + }, { + name: 'nature', + required: true, + elementName: { + localPart: 'nature' + } + }, { + name: 'type', + required: true, + elementName: { + localPart: 'type' + } + }, { + name: 'targetApplication', + elementName: { + localPart: 'target_application' + } + }, { + name: 'targetApplicationProducer', + elementName: { + localPart: 'target_application_producer' + } + }] + }, { + localName: 'FallbackType', + typeName: { + namespaceURI: 'http:\/\/www.w3.org\/2001\/XInclude', + localPart: 'fallbackType' + }, + propertyInfos: [{ + name: 'otherAttributes', + type: 'anyAttribute' + }, { + name: 'content', + collection: true, + elementName: { + localPart: 'include', + namespaceURI: 'http:\/\/www.w3.org\/2001\/XInclude' + }, + typeInfo: '.IncludeType', + type: 'elementRef' + }] + }, { + localName: 'Sub', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'GenerateRecommendations', + typeName: null, + propertyInfos: [{ + name: 'ref', + typeInfo: 'IDREF', + attributeName: { + localPart: 'Ref' + }, + type: 'attribute' + }] + }, { + localName: 'Appendix', + typeName: null, + propertyInfos: [{ + name: 'title', + required: true, + elementName: { + localPart: 'title' + }, + typeInfo: '.Title' + }, { + name: 'generateTestteamOrPOrPre', + required: true, + collection: true, + elementTypeInfos: [{ + elementName: { + localPart: 'generate_testteam' + }, + typeInfo: '.GenerateTestteam' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }, { + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: '.Table' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: '.Ol' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: '.Ul' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: '.Img' + }, { + elementName: { + localPart: 'div' + }, + typeInfo: '.Div' + }, { + elementName: { + localPart: 'section' + }, + typeInfo: '.Section' + }], + type: 'elements' + }, { + name: 'id', + required: true, + typeInfo: 'ID', + attributeName: { + localPart: 'id' + }, + type: 'attribute' + }, { + name: 'visibility', + attributeName: { + localPart: 'visibility' + }, + type: 'attribute' + }] + }, { + localName: 'A', + typeName: null, + propertyInfos: [{ + name: 'value', + type: 'value' + }, { + name: 'href', + required: true, + attributeName: { + localPart: 'href' + }, + type: 'attribute' + }] + }, { + localName: 'Company', + typeName: null, + propertyInfos: [{ + name: 'fullName', + required: true, + elementName: { + localPart: 'full_name' + } + }, { + name: 'shortName', + required: true, + elementName: { + localPart: 'short_name' + } + }, { + name: 'legalRep', + required: true, + elementName: { + localPart: 'legal_rep' + } + }, { + name: 'poc1', + required: true, + elementName: { + localPart: 'poc1' + } + }, { + name: 'address', + required: true, + elementName: { + localPart: 'address' + }, + typeInfo: '.Address' + }, { + name: 'postalCode', + required: true, + elementName: { + localPart: 'postal_code' + } + }, { + name: 'city', + required: true, + elementName: { + localPart: 'city' + } + }, { + name: 'country', + required: true, + elementName: { + localPart: 'country' + } + }, { + name: 'phone', + required: true, + elementName: { + localPart: 'phone' + } + }, { + name: 'email', + required: true, + elementName: { + localPart: 'email' + } + }, { + name: 'website', + required: true, + elementName: { + localPart: 'website' + } + }, { + name: 'coc', + required: true, + elementName: { + localPart: 'coc' + }, + typeInfo: '.Coc' + }, { + name: 'vatNo', + required: true, + elementName: { + localPart: 'vat_no' + } + }, { + name: 'iban', + required: true, + elementName: { + localPart: 'iban' + } + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }] + }, { + localName: 'DescriptionSummary', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + type: 'elementRef' + }] + }, { + localName: 'Pre', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Approver', + typeName: null, + propertyInfos: [{ + name: 'name', + required: true, + elementName: { + localPart: 'name' + }, + typeInfo: '.Name' + }, { + name: 'bio', + required: true, + elementName: { + localPart: 'bio' + } + }] + }, { + localName: 'Address', + typeName: null, + propertyInfos: [{ + name: 'content', + collection: true, + allowDom: false, + elementTypeInfos: [{ + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType' + }], + type: 'elementRefs' + }] + }, { + localName: 'Tr', + typeName: null, + propertyInfos: [{ + name: 'tdOrTh', + required: true, + collection: true, + elementTypeInfos: [{ + elementName: { + localPart: 'td' + }, + typeInfo: '.Td' + }, { + elementName: { + localPart: 'th' + } + }], + type: 'elements' + }] + }, { + localName: 'NonFinding', + typeName: null, + propertyInfos: [{ + name: 'title', + required: true, + elementName: { + localPart: 'title' + }, + typeInfo: '.Title' + }, { + name: 'preOrCodeOrP', + minOccurs: 0, + collection: true, + elementTypeInfos: [{ + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: '.Table' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: '.Ul' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: '.Ol' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: '.Img' + }, { + elementName: { + localPart: 'section' + }, + typeInfo: '.Section' + }], + type: 'elements' + }, { + name: 'id', + required: true, + typeInfo: 'ID', + attributeName: { + localPart: 'id' + }, + type: 'attribute' + }, { + name: '_break', + attributeName: { + localPart: 'break' + }, + type: 'attribute' + }, { + name: 'base', + attributeName: { + localPart: 'base', + namespaceURI: 'http:\/\/www.w3.org\/XML\/1998\/namespace' + }, + type: 'attribute' + }] + }, { + type: 'enumInfo', + localName: 'ParseType', + baseTypeInfo: 'Token', + values: ['result', 'text'] + }], + elementInfos: [{ + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'pre' + }, + typeInfo: '.Pre' + }, { + elementName: { + localPart: 'impact' + }, + typeInfo: '.Impact' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'invoice_rep' + } + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'description_summary' + }, + typeInfo: '.DescriptionSummary' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType', + scope: '.Recommendation' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType', + scope: '.Recommendation' + }, { + elementName: { + localPart: 'address' + }, + typeInfo: '.Address' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType', + scope: '.Technicaldescription' + }, { + elementName: { + localPart: 'company' + }, + typeInfo: '.Company' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + scope: '.RecommendationSummary' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'target_application' + } + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'a' + }, + typeInfo: '.A' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'nature' + } + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType', + scope: '.Technicaldescription' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'reviewers' + }, + typeInfo: '.Reviewers' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + scope: '.DescriptionSummary' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType', + scope: '.Recommendation' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + scope: '.Impact' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + scope: '.Description' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'title' + }, + typeInfo: '.Title' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType', + scope: '.Technicaldescription' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'version' + }, + typeInfo: '.Version' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + scope: '.Recommendation' + }, { + elementName: { + localPart: 'technicaldescription' + }, + typeInfo: '.Technicaldescription' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType', + scope: '.Impact' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'generate_index' + }, + typeInfo: '.GenerateIndex' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'tr' + }, + typeInfo: '.Tr' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'report_due' + } + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType', + scope: '.Recommendation' + }, { + elementName: { + localPart: 'target_application_producer' + } + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'i' + }, + typeInfo: '.I' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'iban' + } + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'p' + }, + typeInfo: '.Block', + scope: '.Technicaldescription' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType', + scope: '.Impact' + }, { + elementName: { + localPart: 'th' + } + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'recommendation_summary' + }, + typeInfo: '.RecommendationSummary' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'website' + } + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: '.Ol' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'type' + } + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: '.Table' + }, { + elementName: { + localPart: 'invoice_mail' + } + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'collaborators' + }, + typeInfo: '.Collaborators' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'v_description' + } + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'name' + }, + typeInfo: '.Name' + }, { + elementName: { + localPart: 'reviewer' + } + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'country' + } + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'coc' + }, + typeInfo: '.Coc' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'client' + }, + typeInfo: '.Client' + }, { + elementName: { + localPart: 'ol' + }, + typeInfo: 'AnyType', + scope: '.Description' + }, { + elementName: { + localPart: 'approver' + }, + typeInfo: '.Approver' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'generate_testteam' + }, + typeInfo: '.GenerateTestteam' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'non-finding' + }, + typeInfo: '.NonFinding' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'version_history' + }, + typeInfo: '.VersionHistory' + }, { + elementName: { + localPart: 'pentest_report' + }, + typeInfo: '.PentestReport' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'legal_rep' + } + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType', + scope: '.Impact' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'generate_targets' + }, + typeInfo: '.GenerateTargets' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'include', + namespaceURI: 'http:\/\/www.w3.org\/2001\/XInclude' + }, + typeInfo: '.IncludeType' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType', + scope: '.Technicaldescription' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'section' + }, + typeInfo: '.Section' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'vat_no' + } + }, { + elementName: { + localPart: 'recommendation' + }, + typeInfo: '.Recommendation' + }, { + elementName: { + localPart: 'sub' + }, + typeInfo: '.Sub' + }, { + elementName: { + localPart: 'fallback', + namespaceURI: 'http:\/\/www.w3.org\/2001\/XInclude' + }, + typeInfo: '.FallbackType' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'monospace' + }, + typeInfo: '.Monospace' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'pentester' + }, + typeInfo: '.Pentester' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'div' + }, + typeInfo: '.Div' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'finding' + }, + typeInfo: '.Finding' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: 'AnyType', + scope: '.Description' + }, { + elementName: { + localPart: 'target' + }, + typeInfo: '.Target' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: '.Img' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType', + scope: '.Description' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'table' + }, + typeInfo: 'AnyType', + scope: '.Impact' + }, { + elementName: { + localPart: 'test_planning' + } + }, { + elementName: { + localPart: 'targets' + }, + typeInfo: '.Targets' + }, { + elementName: { + localPart: 'pentesters' + }, + typeInfo: '.Pentesters' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'report_writing' + } + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'img' + }, + typeInfo: 'AnyType', + scope: '.Description' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'waiver_rep' + } + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 'generate_findings' + }, + typeInfo: '.GenerateFindings' + }, { + elementName: { + localPart: 'postal_code' + } + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Block' + }, { + elementName: { + localPart: 'phone' + } + }, { + elementName: { + localPart: 'td' + }, + typeInfo: '.Td' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Li' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'description' + }, + typeInfo: '.Description' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'client_city' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.B' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'b' + }, + typeInfo: '.B' + }, { + elementName: { + localPart: 'poc1' + } + }, { + elementName: { + localPart: 'short_name' + } + }, { + elementName: { + localPart: 'city' + } + }, { + elementName: { + localPart: 'meta' + }, + typeInfo: '.Meta' + }, { + elementName: { + localPart: 'p_boxtype' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'classification' + }, + typeInfo: 'NCName' + }, { + elementName: { + localPart: 'client_short' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'company_long' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'br' + }, + typeInfo: '.Br' + }, { + elementName: { + localPart: 'bio' + } + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'code' + }, + typeInfo: '.Code' + }, { + elementName: { + localPart: 'full_name' + } + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Td' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Sub' + }, { + elementName: { + localPart: 'generate_recommendations' + }, + typeInfo: '.GenerateRecommendations' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 't_app' + }, + typeInfo: 'AnyType', + scope: '.Code' + }, { + elementName: { + localPart: 'p_testingduration' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'company_svc_long' + }, + typeInfo: 'AnyType', + scope: '.Address' + }, { + elementName: { + localPart: 'appendix' + }, + typeInfo: '.Appendix' + }, { + elementName: { + localPart: 't_app_producer' + }, + typeInfo: 'AnyType', + scope: '.Title' + }, { + elementName: { + localPart: 'u' + }, + typeInfo: '.U' + }, { + elementName: { + localPart: 'ul' + }, + typeInfo: '.Ul' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Sup' + }, { + elementName: { + localPart: 'client_street' + }, + typeInfo: 'AnyType', + scope: '.Pre' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.U' + }, { + elementName: { + localPart: 'client_country' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'sup' + }, + typeInfo: '.Sup' + }, { + elementName: { + localPart: 'duration' + }, + typeInfo: 'NonNegativeInteger' + }, { + elementName: { + localPart: 'p_reportdue' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'email' + } + }, { + elementName: { + localPart: 'pentestinfo' + }, + typeInfo: '.Pentestinfo' + }, { + elementName: { + localPart: 'v_author' + } + }, { + elementName: { + localPart: 'p_reportwritingduration' + }, + typeInfo: 'AnyType', + scope: '.Name' + }, { + elementName: { + localPart: 'p_duration' + }, + typeInfo: 'AnyType', + scope: '.I' + }, { + elementName: { + localPart: 'client_long' + }, + typeInfo: 'AnyType', + scope: '.Monospace' + }, { + elementName: { + localPart: 'company_short' + }, + typeInfo: 'AnyType', + scope: '.Block' + }] + }; + return { + pentestreport: pentestreport + }; +}; +if (typeof define === 'function' && define.amd) { + define([], pentestreport_Module_Factory); +} +else { + var pentestreport_Module = pentestreport_Module_Factory(); + if (typeof module !== 'undefined' && module.exports) { + module.exports.pentestreport = pentestreport_Module.pentestreport; + } + else { + var pentestreport = pentestreport_Module.pentestreport; + } +} \ No newline at end of file diff --git a/editor/node_modules/.bin/xml-js b/editor/node_modules/.bin/xml-js new file mode 120000 index 0000000..d6e0670 --- /dev/null +++ b/editor/node_modules/.bin/xml-js @@ -0,0 +1 @@ +../xml-js/bin/cli.js \ No newline at end of file diff --git a/editor/node_modules/boolbase/.meteor-portable b/editor/node_modules/boolbase/.meteor-portable new file mode 100644 index 0000000..27ba77d --- /dev/null +++ b/editor/node_modules/boolbase/.meteor-portable @@ -0,0 +1 @@ +true diff --git a/editor/node_modules/boolbase/README.md b/editor/node_modules/boolbase/README.md new file mode 100644 index 0000000..85eefa5 --- /dev/null +++ b/editor/node_modules/boolbase/README.md @@ -0,0 +1,10 @@ +#boolbase +This very simple module provides two basic functions, one that always returns true (`trueFunc`) and one that always returns false (`falseFunc`). + +###WTF? + +By having only a single instance of these functions around, it's possible to do some nice optimizations. Eg. [`CSSselect`](https://github.com/fb55/CSSselect) uses these functions to determine whether a selector won't match any elements. If that's the case, the DOM doesn't even have to be touched. + +###And why is this a separate module? + +I'm trying to modularize `CSSselect` and most modules depend on these functions. IMHO, having a separate module is the easiest solution to this problem. \ No newline at end of file diff --git a/editor/node_modules/boolbase/index.js b/editor/node_modules/boolbase/index.js new file mode 100644 index 0000000..8799fd9 --- /dev/null +++ b/editor/node_modules/boolbase/index.js @@ -0,0 +1,8 @@ +module.exports = { + trueFunc: function trueFunc(){ + return true; + }, + falseFunc: function falseFunc(){ + return false; + } +}; \ No newline at end of file diff --git a/editor/node_modules/boolbase/package.json b/editor/node_modules/boolbase/package.json new file mode 100644 index 0000000..7b32b04 --- /dev/null +++ b/editor/node_modules/boolbase/package.json @@ -0,0 +1,75 @@ +{ + "_args": [ + [ + "boolbase@~1.0.0", + "/home/osboxes/code/pentext/editor/node_modules/css-select" + ] + ], + "_from": "boolbase@>=1.0.0 <1.1.0", + "_id": "boolbase@1.0.0", + "_inCache": true, + "_installable": true, + "_location": "/boolbase", + "_npmUser": { + "email": "me@feedic.com", + "name": "feedic" + }, + "_npmVersion": "1.4.2", + "_phantomChildren": {}, + "_requested": { + "name": "boolbase", + "raw": "boolbase@~1.0.0", + "rawSpec": "~1.0.0", + "scope": null, + "spec": ">=1.0.0 <1.1.0", + "type": "range" + }, + "_requiredBy": [ + "/css-select", + "/nth-check" + ], + "_resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "_shasum": "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e", + "_shrinkwrap": null, + "_spec": "boolbase@~1.0.0", + "_where": "/home/osboxes/code/pentext/editor/node_modules/css-select", + "author": { + "email": "me@feedic.com", + "name": "Felix Boehm" + }, + "bugs": { + "url": "https://github.com/fb55/boolbase/issues" + }, + "dependencies": {}, + "description": "two functions: One that returns true, one that returns false", + "devDependencies": {}, + "directories": {}, + "dist": { + "shasum": "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e", + "tarball": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + }, + "homepage": "https://github.com/fb55/boolbase", + "keywords": [ + "boolean", + "function" + ], + "license": "ISC", + "main": "index.js", + "maintainers": [ + { + "name": "feedic", + "email": "me@feedic.com" + } + ], + "name": "boolbase", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+https://github.com/fb55/boolbase.git" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.0" +} diff --git a/editor/node_modules/buffer-shims/.meteor-portable b/editor/node_modules/buffer-shims/.meteor-portable new file mode 100644 index 0000000..27ba77d --- /dev/null +++ b/editor/node_modules/buffer-shims/.meteor-portable @@ -0,0 +1 @@ +true diff --git a/editor/node_modules/buffer-shims/index.js b/editor/node_modules/buffer-shims/index.js new file mode 100644 index 0000000..1cab4c0 --- /dev/null +++ b/editor/node_modules/buffer-shims/index.js @@ -0,0 +1,108 @@ +'use strict'; + +var buffer = require('buffer'); +var Buffer = buffer.Buffer; +var SlowBuffer = buffer.SlowBuffer; +var MAX_LEN = buffer.kMaxLength || 2147483647; +exports.alloc = function alloc(size, fill, encoding) { + if (typeof Buffer.alloc === 'function') { + return Buffer.alloc(size, fill, encoding); + } + if (typeof encoding === 'number') { + throw new TypeError('encoding must not be number'); + } + if (typeof size !== 'number') { + throw new TypeError('size must be a number'); + } + if (size > MAX_LEN) { + throw new RangeError('size is too large'); + } + var enc = encoding; + var _fill = fill; + if (_fill === undefined) { + enc = undefined; + _fill = 0; + } + var buf = new Buffer(size); + if (typeof _fill === 'string') { + var fillBuf = new Buffer(_fill, enc); + var flen = fillBuf.length; + var i = -1; + while (++i < size) { + buf[i] = fillBuf[i % flen]; + } + } else { + buf.fill(_fill); + } + return buf; +} +exports.allocUnsafe = function allocUnsafe(size) { + if (typeof Buffer.allocUnsafe === 'function') { + return Buffer.allocUnsafe(size); + } + if (typeof size !== 'number') { + throw new TypeError('size must be a number'); + } + if (size > MAX_LEN) { + throw new RangeError('size is too large'); + } + return new Buffer(size); +} +exports.from = function from(value, encodingOrOffset, length) { + if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) { + return Buffer.from(value, encodingOrOffset, length); + } + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number'); + } + if (typeof value === 'string') { + return new Buffer(value, encodingOrOffset); + } + if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { + var offset = encodingOrOffset; + if (arguments.length === 1) { + return new Buffer(value); + } + if (typeof offset === 'undefined') { + offset = 0; + } + var len = length; + if (typeof len === 'undefined') { + len = value.byteLength - offset; + } + if (offset >= value.byteLength) { + throw new RangeError('\'offset\' is out of bounds'); + } + if (len > value.byteLength - offset) { + throw new RangeError('\'length\' is out of bounds'); + } + return new Buffer(value.slice(offset, offset + len)); + } + if (Buffer.isBuffer(value)) { + var out = new Buffer(value.length); + value.copy(out, 0, 0, value.length); + return out; + } + if (value) { + if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) { + return new Buffer(value); + } + if (value.type === 'Buffer' && Array.isArray(value.data)) { + return new Buffer(value.data); + } + } + + throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.'); +} +exports.allocUnsafeSlow = function allocUnsafeSlow(size) { + if (typeof Buffer.allocUnsafeSlow === 'function') { + return Buffer.allocUnsafeSlow(size); + } + if (typeof size !== 'number') { + throw new TypeError('size must be a number'); + } + if (size >= MAX_LEN) { + throw new RangeError('size is too large'); + } + return new SlowBuffer(size); +} diff --git a/editor/node_modules/buffer-shims/license.md b/editor/node_modules/buffer-shims/license.md new file mode 100644 index 0000000..01cfaef --- /dev/null +++ b/editor/node_modules/buffer-shims/license.md @@ -0,0 +1,19 @@ +# Copyright (c) 2016 Calvin Metcalf + +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.** diff --git a/editor/node_modules/buffer-shims/package.json b/editor/node_modules/buffer-shims/package.json new file mode 100644 index 0000000..a29242e --- /dev/null +++ b/editor/node_modules/buffer-shims/package.json @@ -0,0 +1,77 @@ +{ + "_args": [ + [ + "buffer-shims@^1.0.0", + "/home/osboxes/code/pentext/editor/node_modules/readable-stream" + ] + ], + "_from": "buffer-shims@>=1.0.0 <2.0.0", + "_id": "buffer-shims@1.0.0", + "_inCache": true, + "_installable": true, + "_location": "/buffer-shims", + "_nodeVersion": "5.11.0", + "_npmOperationalInternal": { + "host": "packages-16-east.internal.npmjs.com", + "tmp": "tmp/buffer-shims-1.0.0.tgz_1462560889323_0.8640750856138766" + }, + "_npmUser": { + "email": "calvin.metcalf@gmail.com", + "name": "cwmma" + }, + "_npmVersion": "3.8.6", + "_phantomChildren": {}, + "_requested": { + "name": "buffer-shims", + "raw": "buffer-shims@^1.0.0", + "rawSpec": "^1.0.0", + "scope": null, + "spec": ">=1.0.0 <2.0.0", + "type": "range" + }, + "_requiredBy": [ + "/readable-stream" + ], + "_resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "_shasum": "9978ce317388c649ad8793028c3477ef044a8b51", + "_shrinkwrap": null, + "_spec": "buffer-shims@^1.0.0", + "_where": "/home/osboxes/code/pentext/editor/node_modules/readable-stream", + "bugs": { + "url": "https://github.com/calvinmetcalf/buffer-shims/issues" + }, + "dependencies": {}, + "description": "some shims for node buffers", + "devDependencies": { + "tape": "^4.5.1" + }, + "directories": {}, + "dist": { + "shasum": "9978ce317388c649ad8793028c3477ef044a8b51", + "tarball": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz" + }, + "files": [ + "index.js" + ], + "gitHead": "ea89b3857ab5b8203957922a84e9a48cf4c47e0a", + "homepage": "https://github.com/calvinmetcalf/buffer-shims#readme", + "license": "MIT", + "main": "index.js", + "maintainers": [ + { + "name": "cwmma", + "email": "calvin.metcalf@gmail.com" + } + ], + "name": "buffer-shims", + "optionalDependencies": {}, + "readme": "ERROR: No README data found!", + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/calvinmetcalf/buffer-shims.git" + }, + "scripts": { + "test": "tape test/*.js" + }, + "version": "1.0.0" +} diff --git a/editor/node_modules/buffer-shims/readme.md b/editor/node_modules/buffer-shims/readme.md new file mode 100644 index 0000000..7ea6475 --- /dev/null +++ b/editor/node_modules/buffer-shims/readme.md @@ -0,0 +1,21 @@ +buffer-shims +=== + +functions to make sure the new buffer methods work in older browsers. + +```js +var bufferShim = require('buffer-shims'); +bufferShim.from('foo'); +bufferShim.alloc(9, 'cafeface', 'hex'); +bufferShim.allocUnsafe(15); +bufferShim.allocUnsafeSlow(21); +``` + +should just use the original in newer nodes and on older nodes uses fallbacks. + +Known Issues +=== +- this does not patch the buffer object, only the constructor stuff +- it's actually a polyfill + +![](https://i.imgur.com/zxII3jJ.gif) diff --git a/editor/node_modules/cheerio/.meteor-portable b/editor/node_modules/cheerio/.meteor-portable new file mode 100644 index 0000000..27ba77d --- /dev/null +++ b/editor/node_modules/cheerio/.meteor-portable @@ -0,0 +1 @@ +true diff --git a/editor/node_modules/cheerio/History.md b/editor/node_modules/cheerio/History.md new file mode 100644 index 0000000..c7e38e6 --- /dev/null +++ b/editor/node_modules/cheerio/History.md @@ -0,0 +1,576 @@ + +0.22.0 / 2016-08-23 +================== + + * Return undefined in .prop if given an invalid element or tag (#880) + * Merge pull request #884 from cheeriojs/readme-cleanup + * readme updates + * Merge pull request #881 from piamancini/patch-1 + * Added backers and sponsors from OpenCollective + * Use jQuery from the jquery module in benchmarks (#871) + * Document, test, and extend static `$.text` method (#855) + * Fix typo on calling _.extend (#861) + * Update versions (#870) + * Use individual lodash functions (#864) + * Added `.serialize()` support. Fixes #69 (#827) + * Update Readme.md (#857) + * add extension for JSON require call + * remove gittask badge + * Merge pull request #672 from underdogio/dev/checkbox.radio.values.sqwished + * Added default value for checkboxes/radios + +0.20.0 / 2016-02-01 +================== + + * Add coveralls badge, remove link to old report (Felix Böhm) + * Update lodash dependeny to 4.1.0 (leif.hanack) + * Fix PR #726 adding 'appendTo()' and 'prependTo()' (Delgan) + * Added appendTo and prependTo with tests #641 (digihaven) + * Fix #780 by changing options context in '.find()' (Felix Böhm) + * Add an unit test checking the query of child (Delgan) + * fix #667: attr({foo: null}) removes attribute foo, like attr('foo', null) (Ray Waldin) + * Include reference to dedicated "Loading" section (Mike Pennisi) + * Added load method to $ (alanev) + * update css-select to 1.2.0 (Felix Böhm) + * Fixing Grammatical Error (Dan Corman) + * Test against node v0.12 --> v4.2 (Jason Kurian) + * Correct output in example (Felix Böhm) + * Fix npm files filter (Bogdan Chadkin) + * Enable setting data on all elements in selection (Mike Pennisi) + * Reinstate `$.fn.toArray` (Mike Pennisi) + * update css-select to 1.1.0 (Thomas Shafer) + * Complete implementation of `wrap` (Mike Pennisi) + * Correct name of unit test (Mike Pennisi) + * Correct grammar in test titles (Mike Pennisi) + * Normalize whitespace (Mike Pennisi) + * Insert omitted assertion (Mike Pennisi) + * Update invocation of `children` (Mike Pennisi) + * Begin implementation of `wrap` method (Dandlezzz) + * Update Readme.md (Sven Slootweg) + * fix document's mistake in Readme.md (exoticknight) + * Add tests for setting text and html as non-strings (Ryc O'Chet) + * Fix for passing non-string values to .html or .text (Ryc O'Chet) + * use a selector to filter form elements (fb55) + * fix README.md typo (Yutian Li) + * README: fix spelling (Chris Rebert) + * Added support for options without a `value` attribute. Fixes #633 (Todd Wolfson) + * responding to pull request feedback - remove item() method and related tests (Ray Waldin) + * add length property and item method to object returned by prop('style'), plus tests (Ray Waldin) + * Added .prop method to readme (Artem Burtsev) + * Added .prop method (Artem Burtsev) + * Added Gitter badge (The Gitter Badger) + +0.19.0 / 2015-03-21 +================== + + * fixed allignment (fb55) + * added test case for malformed json in data attributes (fb55) + * fix: handle some extreme cases like `data-custom="{{templatevar}}"`. There is possibility error while parsing json . (Harish.K) + * Add missing optional selector doc for {prev,next}{All,Until} (Jérémie Astori) + * update to dom-serializer@0.1.0 (Felix Böhm) + * Document `Cheerio#serialzeArray` (Mike Pennisi) + * Fixed up `serializeArray()` and added multiple support (Todd Wolfson) + * Implement serializeArray() (Jarno Leppänen) + * recognize options in $.xml() (fb55) + * lib/static.js: text(): rm errant space before ++ (Chris Rebert) + * Do not expose internal `children` array (Mike Pennisi) + * Change lodash dependencies to ^3.1.0 (Samy Pessé) + * Update lodash@3.1.0 (Samy Pessé) + * Updates Readme.md: .not(function (index, elem)) (Patrick Ward) + * update to css-select@1.0.0 (fb55) + * Allow failures in Node.js v0.11 (Mike Pennisi) + * Added: Gittask badge (Matthew Mueller) + * Isolate prototypes of functions created via `load` (Mike Pennisi) + * Updates Readme.md: adds JS syntax highlighting (frankcash) + * #608 -- Add support for insertBefore/insertAfter syntax. Supports target types of: $, [$], selector (both single and multiple results) (Ben Cochran) + * Clone input nodes when inserting over a set (Mike Pennisi) + * Move unit test files (Mike Pennisi) + * remove unnecessarily tricky code (David Chambers) + * pass options to $.html in toString (fb55) + * add license info to package.json (Chris Rebert) + * xyz@~0.5.0 (David Chambers) + * Remove unofficial signature of `children` (Mike Pennisi) + * Fix bug in `css` method (Mike Pennisi) + * Correct bug in implementation of `Cheerio#val` (Mike Pennisi) + +0.18.0 / 2014-11-06 +================== + + * bump htmlparser2 dependency to ~3.8.1 (Chris Rebert) + * Correct unit test titles (Mike Pennisi) + * Correct behavior of `after` and `before` (Mike Pennisi) + * implement jQuery's .has() (Chris Rebert) + * Update repository url (haqii) + * attr() should return undefined or name for booleans (Raoul Millais) + * Update Readme.md (Ryan Breen) + * Implement `Cheerio#not` (Mike Pennisi) + * Clone nodes according to original parsing options (Mike Pennisi) + * fix lint error (David Chambers) + * Add explicit tests for DOM level 1 API (Mike Pennisi) + * Expose DOM level 1 API for Node-like objects (Mike Pennisi) + * Correct error in documentation (Mike Pennisi) + * Return a fully-qualified Function from `$.load` (Mike Pennisi) + * Update tests to avoid duck typing (Mike Pennisi) + * Alter "loaded" functions to produce true instances (Mike Pennisi) + * Organize tests for `cheerio.load` (Mike Pennisi) + * Complete `$.prototype.find` (Mike Pennisi) + * Use JSHint's `extends` option (Mike Pennisi) + * Remove aliases for exported methods (Mike Pennisi) + * Disallow unused variables (Mike Pennisi) + * Remove unused internal variables (Mike Pennisi) + * Remove unused variables from unit tests (Mike Pennisi) + * Remove unused API method references (Mike Pennisi) + * Move tests for `contains` method (Mike Pennisi) + * xyz@0.4.0 (David Chambers) + * Created a wiki for companies using cheerio in production (Matthew Mueller) + * Implement `$.prototype.index` (Mike Pennisi) + * Implement `$.prototype.addBack` (Mike Pennisi) + * Added double quotes to radio attribute name to account for characters such as brackets (akant10) + * Update History.md (Gabriel Falkenberg) + * add 0.17.0 changelog (David Chambers) + * exit prepublish script if tag not found (David Chambers) + * alphabetize devDependencies (fb55) + * ignore coverage dir (fb55) + * submit coverage to coveralls (fb55) + * replace jscoverage with istanbul (fb55) + +0.17.0 / 2014-06-10 +================== + + * Fix bug in internal `uniqueSplice` function (Mike Pennisi) + * accept buffer argument to cheerio.load (David Chambers) + * Respect options on the element level (Alex Indigo) + * Change state definition to more readable (Artem Burtsev) + * added test (0xBADC0FFEE) + * add class only if doesn't exist (Artem Burtsev) + * Made it less insane. (Alex Indigo) + * Implement `Cheerio#add` (Mike Pennisi) + * Use "loaded" instance of Cheerio in unit tests (Mike Pennisi) + * Be more strict with object check. (Alex Indigo) + * Added options argument to .html() static method. (Alex Indigo) + * Fixed encoding mishaps. Adjusted tests. (Alex Indigo) + * use dom-serializer module (fb55) + * don't test on 0.8, don't ignore 0.11 (Felix Böhm) + * parse: rm unused variables (coderaiser) + * cheerio: rm unused variable (coderaiser) + * Fixed test (Avi Kohn) + * Added test (Avi Kohn) + * Changed == to === (Avi Kohn) + * Fixed a bug in removing type="hidden" attr (Avi Kohn) + * sorted (Alexey Raspopov) + * add `muted` attr to booleanAttributes (Alexey Raspopov) + * fixed context of `this` in .html (Felix Böhm) + * append new elements for each element in selection (fb55) + +0.16.0 / 2014-05-08 +================== + + * fix `make bench` (David Chambers) + * makefile: add release-* targets (David Chambers) + * alphabetize dependencies (David Chambers) + * Rewrite `data` internals with caching behavior (Mike Pennisi) + * Fence .val example as js (Kevin Sawicki) + * Fixed typos. Deleted trailing whitespace from test/render.js (Nattaphoom Ch) + * Fix manipulation APIs with removed elements (kpdecker) + * Perform manual string parsing for hasClass (kpdecker) + * Fix existing element removal (kpdecker) + * update render tests (Felix Böhm) + * fixed cheerio path (Felix Böhm) + * use `entities.escape` for attribute values (Felix Böhm) + * bump entities version (Felix Böhm) + * remove lowerCaseTags option from readme (Felix Böhm) + * added test case for .html in xmlMode (fb55) + * render xml in `html()` when `xmlMode: true` (fb55) + * use a map for booleanAttributes (fb55) + * update singleTags, use utils.isTag (fb55) + * update travis badge URL (Felix Böhm) + * use typeof instead of _.isString and _.isNumber (fb55) + * use Array.isArray instead of _.isArray (fb55) + * replace _.isFunction with typeof (fb55) + * removed unnecessary error message (fb55) + * decode entities in htmlparser2 (fb55) + * pass options object to CSSselect (fb55) + +0.15.0 / 2014-04-08 +================== + + * Update callbacks to pass element per docs (@kpdecker) + * preserve options (@fb55) + * Use SVG travis badge (@t3chnoboy) + * only use static requires (@fb55) + * Optimize manipulation methods (@kpdecker) + * Optimize add and remove class cases (@kpdecker) + * accept dom of DomHandler to cheerio.load (@nleush) + * added parentsUntil method (@finspin) + * Add performance optimization and bug fix `empty` method (@kpdecker) + +0.14.0 / 2014-04-01 +================== + + * call encodeXML and directly expose decodeHTML (@fb55) + * use latest htmlparser2 and entities versions (@fb55) + * Deprecate `$.fn.toArray` (@jugglinmike) + * Implement `$.fn.get` (@jugglinmike) + * .replaceWith now replaces all selected elements. (@xavi-) + * Correct arguments for 'replaceWith' callback (@jugglinmike) + * switch to lodash (@fb55) + * update to entities@0.5.0 (@fb55) + * Fix attr when $ collection contains text modules (@kpdecker) + * Update to latest version of expect.js (@jugglinmike) + * Remove nodes from their previous structures (@jugglinmike) + * Update render.js (@stevenvachon) + * CDATA test (@stevenvachon) + * only ever one child index for cdata (@stevenvachon) + * don't loop through cdata children array (@stevenvachon) + * proper rendering of CDATA (@stevenvachon) + * Add cheerio-only bench option (@kpdecker) + * Avoid delete operations (@kpdecker) + * Add independent html benchmark (@kpdecker) + * Cache tag check in render (@kpdecker) + * Simplify attribute rendering step (@kpdecker) + * Add html rendering bench case (@kpdecker) + * Remove unnecessary check from removeAttr (@kpdecker) + * Remove unnecessary encoding step for attrs (@kpdecker) + * Add test for removeAttr+attr on boolean attributes (@kpdecker) + * Add single element benchmark case (@kpdecker) + * Optimize filter with selector (@kpdecker) + * Fix passing context as dom node (@alfred-nsh) + * Fix bug in `nextUntil` (@jugglinmike) + * Fix bug in `nextAll` (@jugglinmike) + * Implement `selector` argument of `next` method (@jugglinmike) + * Fix bug in `prevUntil` (@jugglinmike) + * Implement `selector` argument of `prev` method (@jugglinmike) + * Fix bug in `prevAll` (@jugglinmike) + * Fix bug in `siblings` (@jugglinmike) + * Avoid unnecessary indexOf from toggleClass (@kpdecker) + * Use strict equality rather than falsy check in eq (@kpdecker) + * Add benchmark coverage for all $ APIs (@kpdecker) + * Optimize filter Cheerio intermediate creation (@kpdecker) + * Optimize siblings cheerio instance creation (@kpdecker) + * Optimize identity cases for first/last/eq (@kpdecker) + * Use domEach for traversal (@kpdecker) + * Inline children lookup in find (@kpdecker) + * Use domEach in data accessor (@kpdecker) + * Avoid cheerio creation in add/remove/toggleClass (@kpdecker) + * Implement getAttr local helper (@kpdecker) + +0.13.1 / 2014-01-07 +================== + + * Fix select with context in Cheerio function (@jugglinmike) + * Remove unecessary DOM maintenance logic (@jugglinmike) + * Deprecate support for node 0.6 + +0.13.0 / 2013-12-30 +================== + + * Remove "root" node (@jugglinmike) + * Fix bug in `prevAll`, `prev`, `nextAll`, `next`, `prevUntil`, `nextUntil` (@jugglinmike) + * Fix `replaceWith` method (@jugglinmike) + * added nextUntil() and prevUntil() (@finspin) + * Remove internal `connect` function (@jugglinmike) + * Rename `Cheerio#make` to document private status (@jugginmike) + * Remove extraneous call to `_.uniq` (@jugglinmike) + * Use CSSselect library directly (@jugglinmike) + * Run CI against Node v0.11 as an allowed failure (@jugginmike) + * Correct bug in `Cheerio#parents` (@jugglinmike) + * Implement `$.fn.end` (@jugginmike) + * Ignore colons inside of url(.*) when parsing css (@Meekohi) + * Introduce rudimentary benchmark suite (@jugglinmike) + * Update HtmlParser2 version (@jugglinmike) + * Correct inconsistency in `$.fn.map` (@jugglinmike) + * fixed traversing tests (@finspin) + * Simplify `make` method (@jugglinmike) + * Avoid shadowing instance methods from arrays (@jugglinmike) + +0.12.4 / 2013-11-12 +================== + + * Coerce JSON values returned by `data` (@jugglinmike) + * issue #284: when rendering HTML, use original data attributes (@Trott) + * Introduce JSHint for automated code linting (@jugglinmike) + * Prevent `find` from returning duplicate elements (@jugglinmike) + * Implement function signature of `replaceWith` (@jugglinmike) + * Implement function signature of `before` (@jugglinmike) + * Implement function signature of `after` (@jugglinmike) + * Implement function signature of `append`/`prepend` (@jugglinmike) + * Extend iteration methods to accept nodes (@jugglinmike) + * Improve `removeClass` (@jugglinmike) + * Complete function signature of `addClass` (@jugglinmike) + * Fix bug in `removeClass` (@jugglinmike) + * Improve contributing.md (@jugglinmike) + * Fix and document .css() (@jugglinmike) + +0.12.3 / 2013-10-04 +=================== + + * Add .toggleClass() function (@cyberthom) + * Add contributing guidelines (@jugglinmike) + * Fix bug in `siblings` (@jugglinmike) + * Correct the implementation `filter` and `is` (@jugglinmike) + * add .data() function (@andi-neck) + * add .css() (@yields) + * Implements contents() (@jlep) + +0.12.2 / 2013-09-04 +================== + + * Correct implementation of `$.fn.text` (@jugglinmike) + * Refactor Cheerio array creation (@jugglinmike) + * Extend manipulation methods to accept Arrays (@jugglinmike) + * support .attr(attributeName, function(index, attr)) (@xiaohwan) + +0.12.1 / 2013-07-30 +================== + + * Correct behavior of `Cheerio#parents` (@jugglinmike) + * Double quotes inside attributes kills HTML (@khoomeister) + * Making next({}) and prev({}) return empty object (@absentTelegraph) + * Implement $.parseHTML (@jugglinmike) + * Correct bug in jQuery.fn.closest (@jugglinmike) + * Correct behavior of $.fn.val on 'option' elements (@jugglinmike) + +0.12.0 / 2013-06-09 +=================== + + * Breaking Change: Changed context from parent to the actual passed one (@swissmanu) + * Fixed: jquery checkbox val behavior (@jhubble) + * Added: output xml with $.xml() (@Maciek416) + * Bumped: htmlparser2 to 3.1.1 + * Fixed: bug in attr(key, val) on empty objects (@farhadi) + * Added: prevAll, nextAll (@lessmind) + * Fixed: Safety check in parents and closest (@zero21xxx) + * Added: .is(sel) (@zero21xxx) + +0.11.0 / 2013-04-22 +================== + +* Added: .closest() (@jeremy-dentel) +* Added: .parents() (@zero21xxx) +* Added: .val() (@rschmukler & @leahciMic) +* Added: Travis support for node 0.10.0 (@jeremy-dentel) +* Fixed: .find() if no selector (@davidchambers) +* Fixed: Propagate syntax errors caused by invalid selectors (@davidchambers) + +0.10.8 / 2013-03-11 +================== + +* Add slice method (SBoudrias) + +0.10.7 / 2013-02-10 +================== + +* Code & doc cleanup (davidchambers) +* Fixed bug in filter (jugglinmike) + +0.10.6 / 2013-01-29 +================== + +* Added `$.contains(...)` (jugglinmike) +* formatting cleanup (davidchambers) +* Bug fix for `.children()` (jugglinmike & davidchambers) +* Remove global `render` bug (wvl) + +0.10.5 / 2012-12-18 +=================== + +* Fixed botched publish from 0.10.4 - changes should now be present + +0.10.4 / 2012-12-16 +================== + +* $.find should query descendants only (@jugglinmike) +* Tighter underscore dependency + +0.10.3 / 2012-11-18 +=================== + +* fixed outer html bug +* Updated documentation for $(...).html() and $.html() + +0.10.2 / 2012-11-17 +=================== + +* Added a toString() method (@bensheldon) +* use `_.each` and `_.map` to simplify cheerio namesakes (@davidchambers) +* Added filter() with tests and updated readme (@bensheldon & @davidchambers) +* Added spaces between attributes rewritten by removeClass (@jos3000) +* updated docs to remove reference to size method (@ironchefpython) +* removed HTML tidy/pretty print from cheerio + +0.10.1 / 2012-10-04 +=================== + +* Fixed regression, filtering with a context (#106) + +0.10.0 / 2012-09-24 +=================== + +* Greatly simplified and reorganized the library, reducing the loc by 30% +* Now supports mocha's test-coverage +* Deprecated self-closing tags (HTML5 doesn't require them) +* Fixed error thrown in removeClass(...) @robashton + +0.9.2 / 2012-08-10 +================== + +* added $(...).map(fn) +* manipulation: refactor `makeCheerioArray` +* make .removeClass() remove *all* occurrences (#64) + +0.9.1 / 2012-08-03 +================== + +* fixed bug causing options not to make it to the parser + +0.9.0 / 2012-07-24 +================== + +* Added node 8.x support +* Removed node 4.x support +* Add html(dom) support (@wvl) +* fixed xss vulnerabilities on .attr(), .text(), & .html() (@benatkin, @FB55) +* Rewrote tests into javascript, removing coffeescript dependency (@davidchambers) +* Tons of cleanup (@davidchambers) + +0.8.3 / 2012-06-12 +================== + +* Fixed minor package regression (closes #60) + +0.8.2 / 2012-06-11 +================== + +* Now fails gracefully in cases that involve special chars, which is inline with jQuery (closes #59) +* text() now decode special entities (closes #52) +* updated travis.yml to test node 4.x + +0.8.1 / 2012-06-02 +================== + +* fixed regression where if you created an element, it would update the root +* compatible with node 4.x (again) + +0.8.0 / 2012-05-27 +================== + +* Updated CSS parser to use FB55/CSSselect. Cheerio now supports most CSS3 psuedo selectors thanks to @FB55. +* ignoreWhitespace now on by default again. See #55 for context. +* Changed $(':root') to $.root(), cleaned up $.clone() +* Support for .eq(i) thanks to @alexbardas +* Removed support for node 0.4.x +* Fixed memory leak where package.json was continually loaded +* Tons more tests + +0.7.0 / 2012-04-08 +================== + +* Now testing with node v0.7.7 +* Added travis-ci integration +* Replaced should.js with expect.js. Browser testing to come +* Fixed spacing between attributes and their values +* Added HTML tidy/pretty print +* Exposed node-htmlparser2 parsing options +* Revert .replaceWith(...) to be consistent with jQuery + +0.6.2 / 2012-02-12 +================== + +* Fixed .replaceWith(...) regression + +0.6.1 / 2012-02-12 +================== + +* Added .first(), .last(), and .clone() commands. +* Option to parse using whitespace added to `.load`. +* Many bug fixes to make cheerio more aligned with jQuery. +* Added $(':root') to select the highest level element. + +Many thanks to the contributors that made this release happen: @ironchefpython and @siddMahen + +0.6.0 / 2012-02-07 +================== + +* *Important:* `$(...).html()` now returns inner HTML, which is in line with the jQuery spec +* `$.html()` returns the full HTML string. `$.html([cheerioObject])` will return the outer(selected element's tag) and inner HTML of that object +* Fixed bug that prevented HTML strings with depth (eg. `append('')`) from getting `parent`, `next`, `prev` attributes. +* Halted [htmlparser2](https://github.com/FB55/node-htmlparser) at v2.2.2 until single attributes bug gets fixed. + +0.5.1 / 2012-02-05 +================== + +* Fixed minor regression: $(...).text(fn) would fail + +0.5.1 / 2012-02-05 +================== + +* Fixed regression: HTML pages with comments would fail + +0.5.0 / 2012-02-04 +================== + +* Transitioned from Coffeescript back to Javascript +* Parser now ignores whitespace +* Fixed issue with double slashes on self-enclosing tags +* Added boolean attributes to html rendering + +0.4.2 / 2012-01-16 +================== + +* Multiple selectors support: $('.apple, .orange'). Thanks @siddMahen! +* Update package.json to always use latest cheerio-soupselect +* Fix memory leak in index.js + +0.4.1 / 2011-12-19 +================== +* Minor packaging changes to allow `make test` to work from npm installation + +0.4.0 / 2011-12-19 +================== + +* Rewrote all unit tests as cheerio transitioned from vows -> mocha +* Internally, renderer.render -> render(...), parser.parse -> parse(...) +* Append, prepend, html, before, after all work with only text (no tags) +* Bugfix: Attributes can now be removed from script and style tags +* Added yield as a single tag +* Cheerio now compatible with node >=0.4.7 + +0.3.2 / 2011-12-1 +================= + +* Fixed $(...).text(...) to work with "root" element + +0.3.1 / 2011-11-25 +================== + +* Now relying on cheerio-soupselect instead of node-soupselect +* Removed all lingering htmlparser dependencies +* parser now returns parent "root" element. Root now never needs to be updated when there is multiple roots. This fixes ongoing issues with before(...), after(...) and other manipulation functions +* Added jQuery's $(...).replaceWith(...) + +0.3.0 / 2011-11-19 +================== + +* Now using htmlparser2 for parsing (2x speed increase, cleaner, actively developed) +* Added benchmark directory for future speed tests +* $('...').dom() was funky, so it was removed in favor of $('...').get(). $.dom() still works the same. +* $.root now correctly static across all instances of $ +* Added a screencast + +0.2.2 / 2011-11-9 +================= + +* Traversing will select `", + "expected": [ + { + "type": "script", + "name": "script", + "attribs": {}, + "children": [ + { + "data": "", + "type": "text" + } + ] + } + ] +} \ No newline at end of file diff --git a/editor/node_modules/domhandler/test/cases/07-unescaped_in_style.json b/editor/node_modules/domhandler/test/cases/07-unescaped_in_style.json new file mode 100644 index 0000000..77438fd --- /dev/null +++ b/editor/node_modules/domhandler/test/cases/07-unescaped_in_style.json @@ -0,0 +1,20 @@ +{ + "name": "Unescaped chars in style", + "options": {}, + "html": "", + "expected": [ + { + "type": "style", + "name": "style", + "attribs": { + "type": "text/css" + }, + "children": [ + { + "data": "\n body > p\n\t{ font-weight: bold; }", + "type": "text" + } + ] + } + ] +} \ No newline at end of file diff --git a/editor/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json b/editor/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json new file mode 100644 index 0000000..5c2492e --- /dev/null +++ b/editor/node_modules/domhandler/test/cases/08-extra_spaces_in_tag.json @@ -0,0 +1,20 @@ +{ + "name": "Extra spaces in tag", + "options": {}, + "html": "the text", + "expected": [ + { + "type": "tag", + "name": "font", + "attribs": { + "size": "14" + }, + "children": [ + { + "data": "the text", + "type": "text" + } + ] + } + ] +} \ No newline at end of file diff --git a/editor/node_modules/domhandler/test/cases/09-unquoted_attrib.json b/editor/node_modules/domhandler/test/cases/09-unquoted_attrib.json new file mode 100644 index 0000000..543ccee --- /dev/null +++ b/editor/node_modules/domhandler/test/cases/09-unquoted_attrib.json @@ -0,0 +1,20 @@ +{ + "name": "Unquoted attributes", + "options": {}, + "html": "the text", + "expected": [ + { + "type": "tag", + "name": "font", + "attribs": { + "size": "14" + }, + "children": [ + { + "data": "the text", + "type": "text" + } + ] + } + ] +} \ No newline at end of file diff --git a/editor/node_modules/domhandler/test/cases/10-singular_attribute.json b/editor/node_modules/domhandler/test/cases/10-singular_attribute.json new file mode 100644 index 0000000..544636e --- /dev/null +++ b/editor/node_modules/domhandler/test/cases/10-singular_attribute.json @@ -0,0 +1,15 @@ +{ + "name": "Singular attribute", + "options": {}, + "html": "