From 3360d8db47a69d94c3f6b3fdabb108d1cd1a883e Mon Sep 17 00:00:00 2001 From: Georgii Novoselov <22564079+farost@users.noreply.github.com> Date: Tue, 27 Feb 2024 13:04:23 +0000 Subject: [PATCH] Cleaning and rework for fixing Referencing, Declarations & Usages Search, Renaming, and Syntax Highlighting. (#16) * Change grammar file to the official typeql dependency. Initial refactoring * Comment out everything overcomplicated and non-working. Finish a simple version of the parser. Add simple tests for the parser * Add and fix highlight + colouring * Finish highlighting, adding icls files and fixing original coloring * Refactor to make better referencing * Add distinguished 'as' classes for 'relates', 'owns' and 'plays'. Fix crashes + referencing * Fix crashes while referencing * Add an overkill declaration-usages search version. Finish referencing architecture. Refactoring WIP * Fix elements' names getter's hell * Refactor old code with small changes, no real logic changes * Refactor text ranges. Return commenter. Start renaming's fix * Return completion in some way. Finish renamings (have bugs, presumably because of the referencing bug) * Add caching to fix some of the bugs * Fix referencing bugs for types and 'as' overrides * Fix parsing tests. Fix code style. Fix invalid renaming error * Rename color schemes. Add highlighting readme * Comment out NamesValidator * Add Apache license and some comments * Fix changelog * Fix changelog for a tiny bit * Add [Unreleased] to the changelog --- CHANGELOG.md | 17 +- README.md | 139 +- build.gradle.kts | 11 +- gradle.properties | 2 +- src/main/antlr/TypeQL.g4 | 366 - .../typeql/plugin/jetbrains/TypeQLFileType.kt | 40 +- .../typeql/plugin/jetbrains/TypeQLIcons.kt | 30 + .../typeql/plugin/jetbrains/TypeQLLanguage.kt | 36 +- .../jetbrains/TypeQLParserDefinition.kt | 264 +- .../plugin/jetbrains/TypeQLTokenSets.kt | 34 + .../completion/TypeQLCompletionContributor.kt | 117 +- .../TypeQLCompletionErrorListener.kt | 23 +- .../highlighter/TypeQLColorSettingsPage.kt | 116 +- .../highlighter/TypeQLSyntaxHighlighter.kt | 267 +- .../TypeQLSyntaxHighlighterFactory.kt | 23 +- .../TypeQLDuplicateDeclarationInspection.kt | 135 +- .../TypeQLDuplicateDeclarationProvider.kt | 26 +- .../TypeQLInvalidTypeUsageInspection.kt | 170 +- .../TypeQLInvalidTypeUsageProvider.kt | 26 +- .../TypeQLUndefinedDeclarationInspection.kt | 150 +- .../TypeQLUndefinedDeclarationProvider.kt | 26 +- .../TypeQLUnplayedRoleInspection.kt | 169 +- .../TypeQLUnplayedRoleProvider.kt | 26 +- ...eQLUnusedAttributeDeclarationInspection.kt | 95 +- .../TypeQLUnusedDeclarationProvider.kt | 32 +- .../TypeQLUnusedRoleDeclarationInspection.kt | 110 +- .../plugin/jetbrains/psi/PsiTypeQLElement.kt | 55 +- .../jetbrains/psi/PsiTypeQLElementFactory.kt | 109 + .../plugin/jetbrains/psi/PsiTypeQLFile.kt | 62 + .../plugin/jetbrains/psi/PsiTypeQLFileBase.kt | 45 - .../jetbrains/psi/PsiTypeQLNamedElement.kt | 65 +- .../psi/PsiTypeQLReferencingElement.kt | 42 + .../jetbrains/psi/PsiTypeQLStatementType.kt | 91 + .../plugin/jetbrains/psi/PsiTypeQLUtils.kt | 126 + .../jetbrains/psi/TypeQLPsiElementFactory.kt | 43 - .../plugin/jetbrains/psi/TypeQLPsiUtils.kt | 289 - .../psi/constraint/PsiOwnsTypeConstraint.kt | 29 - .../psi/constraint/PsiPlaysTypeConstraint.kt | 30 - .../PsiRelatesSuperRoleTypeConstraint.kt | 15 - .../constraint/PsiRelatesTypeConstraint.kt | 34 - .../psi/constraint/PsiSubTypeConstraint.kt | 27 - .../psi/constraint/PsiTypeConstraint.kt | 22 - .../constraint/PsiTypeQLAsOverrideTypeBase.kt | 34 + .../constraint/PsiTypeQLOwnsAsOverrideType.kt | 27 + .../psi/constraint/PsiTypeQLOwnsType.kt | 49 + .../PsiTypeQLPlaysAsOverrideType.kt | 27 + .../psi/constraint/PsiTypeQLPlaysType.kt | 71 + .../PsiTypeQLRelatesAsOverrideType.kt | 30 + .../psi/constraint/PsiTypeQLRelatesType.kt | 69 + .../psi/constraint/PsiTypeQLSubType.kt | 49 + .../jetbrains/psi/constraint/PsiTypeQLType.kt | 52 + .../psi/statement/PsiStatementType.kt | 79 - .../jetbrains/refactor/TypeQLCommenter.kt | 23 +- .../refactor/TypeQLNamesValidator.kt | 51 +- .../TypeQLRefactoringSupportProvider.kt | 23 +- .../jetbrains/reference/TypeQLReference.kt | 89 +- .../reference/TypeQLReferenceContributor.kt | 102 +- .../usage/TypeQLDeclarationFinder.kt | 98 + .../usage/TypeQLFindUsagesProvider.kt | 66 +- src/main/resources/META-INF/plugin.xml | 102 +- .../colorSchemes/ClassicLightTypeQL.icls | 87 + .../resources/colorSchemes/DarculaTypeQL.icls | 87 + .../resources/colorSchemes/DarkTypeQL.icls | 87 + .../resources/colorSchemes/LightTypeQL.icls | 87 + .../plugin/jetbrains/TypeQLParsingTest.kt | 14 - .../test/parsing/CorrectDefinesTest.kt | 26 + .../test/parsing/CorrectInsertsTest.kt | 26 + .../test/parsing/CorrectMatchTest.kt | 26 + .../test/parsing/IncorrectMatchTest.kt | 26 + .../test/parsing/IncorrectNoDefineTest.kt | 26 + .../test/parsing/IncorrectWithDefineTest.kt | 26 + .../test/parsing/TypeQLParsingTestBase.kt | 38 + src/test/resources/ParsingTestData.tql | 39 - src/test/resources/ParsingTestData.txt | 322 - .../correct_defines/ParsingTestData.tql | 1562 ++ .../correct_defines/ParsingTestData.txt | 14789 ++++++++++++++++ .../correct_inserts/ParsingTestData.tql | 506 + .../correct_inserts/ParsingTestData.txt | 5866 ++++++ .../parsing/correct_match/ParsingTestData.tql | 29 + .../parsing/correct_match/ParsingTestData.txt | 356 + .../incorrect_match/ParsingTestData.tql | 3 + .../incorrect_match/ParsingTestData.txt | 28 + .../incorrect_no_define/ParsingTestData.tql | 20 + .../incorrect_no_define/ParsingTestData.txt | 90 + .../incorrect_with_define/ParsingTestData.tql | 20 + .../incorrect_with_define/ParsingTestData.txt | 139 + 86 files changed, 26529 insertions(+), 2371 deletions(-) delete mode 100644 src/main/antlr/TypeQL.g4 create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLIcons.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLTokenSets.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElementFactory.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFile.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFileBase.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLReferencingElement.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLStatementType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLUtils.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiElementFactory.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiUtils.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiOwnsTypeConstraint.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiPlaysTypeConstraint.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesSuperRoleTypeConstraint.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesTypeConstraint.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiSubTypeConstraint.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeConstraint.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLAsOverrideTypeBase.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsAsOverrideType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysAsOverrideType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesAsOverrideType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLSubType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLType.kt delete mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/statement/PsiStatementType.kt create mode 100644 src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLDeclarationFinder.kt create mode 100644 src/main/resources/colorSchemes/ClassicLightTypeQL.icls create mode 100644 src/main/resources/colorSchemes/DarculaTypeQL.icls create mode 100644 src/main/resources/colorSchemes/DarkTypeQL.icls create mode 100644 src/main/resources/colorSchemes/LightTypeQL.icls delete mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParsingTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectDefinesTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectInsertsTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectMatchTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectMatchTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectNoDefineTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectWithDefineTest.kt create mode 100644 src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/TypeQLParsingTestBase.kt delete mode 100644 src/test/resources/ParsingTestData.tql delete mode 100644 src/test/resources/ParsingTestData.txt create mode 100644 src/test/resources/parsing/correct_defines/ParsingTestData.tql create mode 100644 src/test/resources/parsing/correct_defines/ParsingTestData.txt create mode 100644 src/test/resources/parsing/correct_inserts/ParsingTestData.tql create mode 100644 src/test/resources/parsing/correct_inserts/ParsingTestData.txt create mode 100644 src/test/resources/parsing/correct_match/ParsingTestData.tql create mode 100644 src/test/resources/parsing/correct_match/ParsingTestData.txt create mode 100644 src/test/resources/parsing/incorrect_match/ParsingTestData.tql create mode 100644 src/test/resources/parsing/incorrect_match/ParsingTestData.txt create mode 100644 src/test/resources/parsing/incorrect_no_define/ParsingTestData.tql create mode 100644 src/test/resources/parsing/incorrect_no_define/ParsingTestData.txt create mode 100644 src/test/resources/parsing/incorrect_with_define/ParsingTestData.tql create mode 100644 src/test/resources/parsing/incorrect_with_define/ParsingTestData.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 11006f7..d7582bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,11 +3,16 @@ # typeql-plugin-jetbrains Changelog ## [Unreleased] -### Fixed -- Added `.typeql` extension to supported file types -- [Usage highlighting off](https://github.com/typedb-osi/typeql-plugin-jetbrains/issues/8) -## [0.1.1] -### Added -- Basic TypeQL support +## [0.2.0] + - Add `.typeql` to supported extensions. + - Update TypeQL grammar based on the recent official releases. + - Improve syntax highlighting, coloring, and referencing. + - Add TypeDB Studio's color schemes available for import (check out the [official GitHub repo](https://github.com/typedb-osi/typeql-plugin-jetbrains)). + - Fix incorrect syntax error highlighting. + - Enhance referencing, including override constraints like `owns as`, `plays as`, `relates as`. + - Improve `Go To Declaration` and `Find Usages` features work. + - Fix `Rename` feature and a set of errors connected to it. +## [0.1.1] + - Add basic TypeQL support for `.tql` files. diff --git a/README.md b/README.md index b6fd3b4..037b718 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ -Basic support for the [TypeQL language](https://github.com/vaticle/typeql) on JetBrains-based IDEs +Basic support for the [TypeQL language](https://github.com/vaticle/typeql) on JetBrains-based IDEs. @@ -44,139 +44,20 @@ Run the tests: $ ./gradlew test ``` -## Suggested Colouring +## Supported features -The following colours are suggested for the best experience, but are not required. + - Syntax highlighting and colouring (JetBrains and TypeDB color schemes) based on the official TypeQL grammar. + - Find Usages, Go To Declaration. + - Rename (currently excluding [references to relations in "plays" constraints](https://github.com/typedb-osi/typeql-plugin-jetbrains/issues/15)). + - Code completion. -You can add these colours to your IDE colour scheme by going to `Preferences → Editor → Color Scheme`, downloading your current scheme. Then, add the following to the `attributes` section of the downloaded scheme: +### Temporarily disabled features -- Dark Theme + - Unused, Invalid and Duplicated items inspections. -``` - - - - - - - - - - - - -``` - -- Light Theme +## Syntax highlighting and colouring -``` - - - - - - - - - - - - -``` +JetBrains Color Scheme-based syntax highlighting automatically works out of the box. However, it is possible to import TypeDB-specific color schemes used in [TypeDB Studio](https://typedb.com/docs/typedb/connecting/studio) by downloading the needed color scheme files from the corresponding [resource directory](https://github.com/typedb-osi/typeql-plugin-jetbrains/tree/master/src/main/resources) and importing it in the IDE via `Preferences → Editor → Color Scheme → Import Scheme`. ## Information diff --git a/build.gradle.kts b/build.gradle.kts index e7f6bf3..5311f43 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,6 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile fun properties(key: String) = project.findProperty(key).toString() plugins { - id("antlr") // Kotlin support id("org.jetbrains.kotlin.jvm") version "1.9.10" // Gradle IntelliJ Plugin @@ -21,11 +20,12 @@ version = properties("pluginVersion") // Configure project's dependencies repositories { mavenCentral() + maven(url = "https://repo.typedb.com/public/public-release/maven/") } dependencies { - antlr("org.antlr:antlr4:4.7.1") implementation("org.antlr:antlr4-intellij-adaptor:0.1") + implementation("com.vaticle.typeql:typeql-grammar:2.26.6") } // Configure Gradle IntelliJ Plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin @@ -122,11 +122,4 @@ tasks { // https://plugins.jetbrains.com/docs/intellij/deployment.html#specifying-a-release-channel channels.set(listOf(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first())) } - - generateGrammarSource { - outputDirectory = file("build/generated-src/antlr/main/org/typedb/typeql/plugin/jetbrains") - arguments = mutableListOf("-package", "org.typedb.typeql.plugin.jetbrains", "-visitor") - } - getByName("compileKotlin").dependsOn("generateGrammarSource") - getByName("compileTestKotlin").dependsOn("generateTestGrammarSource") } diff --git a/gradle.properties b/gradle.properties index b0e0b52..72a17d1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ pluginGroup = org.typedb.typeql.plugin.jetbrains pluginName = typeql-plugin-jetbrains -pluginVersion = 0.1.2 +pluginVersion = 0.2.0 # See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html # for insight into build numbers and IntelliJ Platform versions. diff --git a/src/main/antlr/TypeQL.g4 b/src/main/antlr/TypeQL.g4 deleted file mode 100644 index 8722eb2..0000000 --- a/src/main/antlr/TypeQL.g4 +++ /dev/null @@ -1,366 +0,0 @@ -/* - * Copyright (C) 2022 Vaticle - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -grammar TypeQL; - -// TypeQL end-of-file (aka. end-of-string) query parser -// Needed by TypeQL's Parser to ensure that it parses till end of string - -eof_query : query EOF ; -eof_queries : query+ EOF ; -eof_pattern : pattern EOF ; -eof_patterns : patterns EOF ; -eof_definables : definables EOF ; -eof_variable : pattern_variable EOF ; -eof_label : label EOF ; -eof_schema_rule : schema_rule EOF ; - -// TYPEQL QUERY LANGUAGE ======================================================= - -query : query_define | query_undefine - | query_insert | query_update - | query_delete | query_match - | query_match_aggregate | query_match_group - | query_match_group_agg ; - -query_define : DEFINE definables ; -query_undefine : UNDEFINE definables ; - -query_insert : MATCH patterns INSERT variable_things - | INSERT variable_things ; -query_update : query_delete INSERT variable_things ; -query_delete : MATCH patterns DELETE variable_things ; - -query_match : MATCH patterns ( modifiers ) ; - -// MATCH QUERY ANSWER GROUP AND AGGREGATE FUNCTIONS ============================ - -query_match_aggregate : query_match match_aggregate ; -query_match_group : query_match match_group ; -query_match_group_agg : query_match match_group match_aggregate ; - -// MATCH QUERY MODIFIERS ======================================================= - -modifiers : ( filter ';' )? ( sort ';' )? ( offset ';' )? ( limit ';' )? ; - -filter : GET (VAR_CONCEPT_ | VAR_VALUE_) ( ',' (VAR_CONCEPT_ | VAR_VALUE_) )* ; -sort : SORT var_order ( ',' var_order )* ; -var_order : (VAR_CONCEPT_ | VAR_VALUE_) ORDER_? ; -offset : OFFSET LONG_ ; -limit : LIMIT LONG_ ; - -// GET AGGREGATE QUERY ========================================================= -// -// An aggregate function is composed of 2 things: -// The aggregate method name, followed by the variable to apply the function to - -match_aggregate : aggregate_method (VAR_CONCEPT_ | VAR_VALUE_)? ';' ; // method and, optionally, a variable -aggregate_method : COUNT | MAX | MEAN | MEDIAN // calculate statistical values - | MIN | STD | SUM ; - -// GET GROUP QUERY ============================================================= -// -// An group function is composed of 2 things: -// The 'GROUP' method name, followed by the variable to group the results by - -match_group : GROUP (VAR_CONCEPT_ | VAR_VALUE_) ';' ; - -// SCHEMA QUERY ================================================================ - -definables : ( definable ';' )+ ; -definable : variable_type - | schema_rule ; - -// QUERY PATTERNS ============================================================== - -patterns : ( pattern ';' )+ ; -pattern : pattern_variable - | pattern_conjunction - | pattern_disjunction - | pattern_negation - ; -pattern_conjunction : '{' patterns '}' ; -pattern_disjunction : '{' patterns '}' ( OR '{' patterns '}' )+ ; -pattern_negation : NOT '{' patterns '}' ; - -// VARIABLE PATTERNS =========================================================== - -pattern_variable : variable_concept - | variable_type - | variable_thing_any - | variable_value - ; - -// CONCEPT VARAIBLES =========================================================== - -variable_concept : VAR_CONCEPT_ IS VAR_CONCEPT_ ; - -// TYPE VARIABLES ============================================================== - -variable_type : type_any type_constraint ( ',' type_constraint )* ; -type_constraint : ABSTRACT - | SUB_ type_any - | OWNS type ( AS type )? annotations_owns - | RELATES type ( AS type )? - | PLAYS type_scoped ( AS type )? - | VALUE value_type - | REGEX STRING_ - | TYPE label_any - ; - -annotations_owns : ( ANNOTATION_KEY )? ( ANNOTATION_UNIQUE )? ; - -// VALUE VARIABLES ============================================================= - -variable_value : VAR_VALUE_ ASSIGN expression - | VAR_VALUE_ predicate - ; - -// THING VARIABLES ============================================================= - -variable_things : ( variable_thing_any ';' )+ ; -variable_thing_any : variable_thing - | variable_relation - | variable_attribute - ; -variable_thing : VAR_CONCEPT_ ISA_ type ( ',' attributes )? - | VAR_CONCEPT_ IID IID_ ( ',' attributes )? - | VAR_CONCEPT_ attributes - ; -variable_relation : VAR_CONCEPT_? relation ISA_ type ( ',' attributes )? - | VAR_CONCEPT_? relation attributes? - ; -variable_attribute : VAR_CONCEPT_? predicate ISA_ type ( ',' attributes )? - | VAR_CONCEPT_? predicate attributes? - ; - -// RELATION CONSTRUCT ========================================================== - -relation : '(' role_player ( ',' role_player )* ')' ; // A list of role players in a Relations -role_player : type ':' player // The Role type and and player variable - | player ; // Or just the player variable -player : VAR_CONCEPT_ ; // A player is just a variable - -// ATTRIBUTE CONSTRUCT ========================================================= - -attributes : attribute ( ',' attribute )* ; -attribute : HAS label ( VAR_CONCEPT_ | VAR_VALUE_ | predicate ) // ownership by labeled variable or value - | HAS VAR_CONCEPT_ ; // or just value - -// PREDICATE CONSTRUCTS ======================================================== - -predicate : value - | predicate_equality predicate_value - | predicate_substring STRING_ - ; -predicate_equality : EQ | NEQ | GT | GTE | LT | LTE - | ASSIGN ; // Backwards compatibility till 3.0 -predicate_substring : CONTAINS | LIKE ; - -predicate_value : value | VAR_CONCEPT_ | VAR_VALUE_ ; - -// EXPRESSION CONSTRUCTS ======================================================= - -expression : expression POWER expression // exponentiation is right-associative - | expression (MULTIPLY | DIVIDE | MODULO) expression - | expression (ADD | SUBTRACT) expression - | expression_base - ; -expression_base : VAR_CONCEPT_ | VAR_VALUE_ - | expression_function | value - | '(' expression ')' - ; -expression_function : expression_function_name '(' expression_arguments? ')' ; -expression_function_name : EXPR_FUNC_NAME | MAX | MIN ; -expression_arguments : expression (',' expression)* ; - -// SCHEMA CONSTRUCT ============================================================ - -schema_rule : RULE label - | RULE label ':' WHEN '{' patterns '}' THEN '{' variable_thing_any ';' '}' ; - -// TYPE, LABEL AND IDENTIFIER CONSTRUCTS ======================================= - -type_any : type_scoped | type | VAR_CONCEPT_ ; -type_scoped : label_scoped | VAR_CONCEPT_ ; -type : label | VAR_CONCEPT_ ; // A type can be a label or variable - -label_any : label_scoped | label ; -label_scoped : LABEL_SCOPED_ ; -label : LABEL_ | type_native | unreserved ; - -// LITERAL INPUT VALUES ======================================================== - -type_native : THING | ENTITY | ATTRIBUTE - | RELATION | ROLE ; - -value_type : LONG | DOUBLE | STRING - | BOOLEAN | DATETIME ; -value : STRING_ | BOOLEAN_ - | DATE_ | DATETIME_ - | signed_long | signed_double ; - -signed_long : sign? LONG_ ; -signed_double : sign? DOUBLE_ ; -sign : ADD | SUBTRACT ; - -// UNRESERVED KEYWORDS ========================================================= -// Most of TypeQL syntax should not be reserved from being used as identifiers - -unreserved : VALUE | EXPR_FUNC_NAME - | MIN | MAX | MEDIAN | MEAN | STD | SUM | COUNT - | GET | SORT | LIMIT | OFFSET | GROUP | CONTAINS - | RULE - ; - -// TYPEQL SYNTAX KEYWORDS ======================================================= - -// QUERY COMMAND KEYWORDS - -MATCH : 'match' ; GET : 'get' ; -DEFINE : 'define' ; UNDEFINE : 'undefine' ; -INSERT : 'insert' ; DELETE : 'delete' ; -COMPUTE : 'compute' ; - -// NATIVE TYPE KEYWORDS - -THING : 'thing' ; ENTITY : 'entity' ; -ATTRIBUTE : 'attribute' ; RELATION : 'relation' ; -ROLE : 'role' ; RULE : 'rule' ; - -// DELETE AND GET QUERY MODIFIER KEYWORDS - -OFFSET : 'offset' ; LIMIT : 'limit' ; -SORT : 'sort' ; ORDER_ : ASC | DESC ; -ASC : 'asc' ; DESC : 'desc' ; - -// TYPE VARIABLE CONSTRAINT KEYWORDS - -TYPE : 'type' ; -ABSTRACT : 'abstract' ; SUB_ : SUB | SUBX ; -SUB : 'sub' ; SUBX : 'sub!' ; -OWNS : 'owns' ; -REGEX : 'regex' ; AS : 'as' ; -PLAYS : 'plays' ; RELATES : 'relates' ; -WHEN : 'when' ; THEN : 'then' ; - -// TYPE ANNOTATIONS - -ANNOTATION_KEY : '@key'; -ANNOTATION_UNIQUE : '@unique'; - -// THING VARIABLE CONSTRAINT KEYWORDS - -IID : 'iid' ; ISA_ : ISA | ISAX ; -ISA : 'isa' ; ISAX : 'isa!' ; -HAS : 'has' ; VALUE : 'value' ; -IS : 'is' ; - -// OPERATOR KEYWORDS - -OR : 'or' ; NOT : 'not' ; - -// PREDICATE KEYWORDS - -EQ : '==' ; NEQ : '!=' ; -GT : '>' ; GTE : '>=' ; -LT : '<' ; LTE : '<=' ; -LIKE : 'like' ; CONTAINS : 'contains' ; - -// ASSIGNMENT AND EXPRESSION KEYWORDS - -ASSIGN : '=' ; -ADD : '+' ; SUBTRACT : '-' ; -DIVIDE : '/' ; MULTIPLY : '*' ; -POWER : '^' ; MODULO : '%' ; -PAREN_OPEN : '(' ; PAREN_CLOSE : ')' ; - -// Incomplete list of function names usable in expressions. The 'expression_function_name' rule references all function names. -EXPR_FUNC_NAME : 'floor' | 'ceil' | 'round' | 'abs' ; - -// GROUP AND AGGREGATE QUERY KEYWORDS (also used by COMPUTE QUERY) - -GROUP : 'group' ; COUNT : 'count' ; -MAX : 'max' ; MIN : 'min' ; -MEAN : 'mean' ; MEDIAN : 'median' ; -STD : 'std' ; SUM : 'sum' ; - -// VALUE TYPE KEYWORDS - -LONG : 'long' ; DOUBLE : 'double' ; -STRING : 'string' ; BOOLEAN : 'boolean' ; -DATETIME : 'datetime' ; - -// LITERAL VALUE KEYWORDS -BOOLEAN_ : TRUE | FALSE ; // order of lexer declaration matters -TRUE : 'true' ; -FALSE : 'false' ; -STRING_ : '"' (~["\\] | ESCAPE_SEQ_ )* '"' - | '\'' (~['\\] | ESCAPE_SEQ_ )* '\'' ; -LONG_ : [0-9]+ ; -DOUBLE_ : [0-9]+ '.' [0-9]+ ; -DATE_ : DATE_FRAGMENT_ ; -DATETIME_ : DATE_FRAGMENT_ 'T' TIME_ ; - -// TYPEQL INPUT TOKEN PATTERNS -// All token names must end with an underscore ('_') - -VAR_CONCEPT_ : VAR_CONCEPT_ANONYMOUS_ | VAR_CONCEPT_NAMED_ ; -VAR_CONCEPT_ANONYMOUS_ : '$_' ; -VAR_CONCEPT_NAMED_ : '$' [a-zA-Z0-9][a-zA-Z0-9_-]* ; -VAR_VALUE_ : '?' [a-zA-Z0-9][a-zA-Z0-9_-]* ; -IID_ : '0x' [0-9a-f]+ ; -LABEL_ : TYPE_CHAR_H_ TYPE_CHAR_T_* ; -LABEL_SCOPED_ : LABEL_ ':' LABEL_ ; - -// FRAGMENTS OF KEYWORDS ======================================================= - -fragment TYPE_CHAR_H_ : 'A'..'Z' | 'a'..'z' - | '\u00C0'..'\u00D6' - | '\u00D8'..'\u00F6' - | '\u00F8'..'\u02FF' - | '\u0370'..'\u037D' - | '\u037F'..'\u1FFF' - | '\u200C'..'\u200D' - | '\u2070'..'\u218F' - | '\u2C00'..'\u2FEF' - | '\u3001'..'\uD7FF' - | '\uF900'..'\uFDCF' - | '\uFDF0'..'\uFFFD' - ; -fragment TYPE_CHAR_T_ : TYPE_CHAR_H_ - | '0'..'9' - | '_' - | '-' - | '\u00B7' - | '\u0300'..'\u036F' - | '\u203F'..'\u2040' - ; -fragment DATE_FRAGMENT_ : YEAR_ '-' MONTH_ '-' DAY_ ; -fragment MONTH_ : [0-1][0-9] ; -fragment DAY_ : [0-3][0-9] ; -fragment YEAR_ : [0-9][0-9][0-9][0-9] | ('+' | '-') [0-9]+ ; -fragment TIME_ : HOUR_ ':' MINUTE_ (':' SECOND_ ('.' SECOND_FRACTION_)? )? ; -fragment HOUR_ : [0-2][0-9] ; -fragment MINUTE_ : [0-6][0-9] ; -fragment SECOND_ : [0-6][0-9] ; -fragment SECOND_FRACTION_ : [0-9] ([0-9] ([0-9])?)?; // between 1 and 3 digits -fragment ESCAPE_SEQ_ : '\\' . ; - -COMMENT : '#' .*? '\r'? ('\n' | EOF) -> channel(HIDDEN) ; -WS : [ \t\r\n]+ -> channel(HIDDEN) ; -UNRECOGNISED : . ; \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLFileType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLFileType.kt index 0e8b491..61191b6 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLFileType.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLFileType.kt @@ -1,7 +1,27 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains import com.intellij.openapi.fileTypes.LanguageFileType -import com.intellij.openapi.util.IconLoader import javax.swing.Icon /** @@ -9,26 +29,24 @@ import javax.swing.Icon */ class TypeQLFileType private constructor() : LanguageFileType(TypeQLLanguage.INSTANCE) { override fun getName(): String { - return "TypeQL" + return LANG_NAME } override fun getDescription(): String { - return "TypeQL file" + return "$LANG_NAME file" } override fun getDefaultExtension(): String { - return "tql" + return EXTENSION } override fun getIcon(): Icon { - return IconLoader.findIcon("/icons/typedb.svg", TypeQLFileType::class.java.classLoader)!! - } - - object Util { - val INSTANCE = TypeQLFileType() + return TypeQLIcons.ICON } companion object { - val INSTANCE = Util.INSTANCE //todo: idk why this is needed + val INSTANCE: TypeQLFileType = TypeQLFileType() + const val LANG_NAME: String = "TypeQL" + const val EXTENSION: String = "tql" } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLIcons.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLIcons.kt new file mode 100644 index 0000000..bb93f36 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLIcons.kt @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains + +import com.intellij.openapi.util.IconLoader + +class TypeQLIcons { + companion object { + val ICON = IconLoader.findIcon("/icons/typedb.svg", TypeQLFileType::class.java.classLoader)!! + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLLanguage.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLLanguage.kt index a269509..2bd56ec 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLLanguage.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLLanguage.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains import com.google.common.collect.ImmutableSet @@ -6,9 +27,18 @@ import com.intellij.lang.Language /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ -class TypeQLLanguage : Language("TypeQL") { +class TypeQLLanguage : Language(TypeQLFileType.LANG_NAME) { companion object { val INSTANCE: TypeQLLanguage = TypeQLLanguage() - val GRAQL_TYPES: Set = ImmutableSet.of("attribute", "entity", "relation", "rule", "role", "thing") + + // TODO: Move to ParserDefinition and connect with the Parser's tokens + val TYPEQL_TYPES: Set = ImmutableSet.of( + "attribute", + "entity", + "relation", + "rule", + "role", + "thing" + ) } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParserDefinition.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParserDefinition.kt index 6908aaf..a3bee0e 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParserDefinition.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParserDefinition.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains import com.intellij.lang.ASTNode @@ -13,17 +34,21 @@ import com.intellij.psi.impl.source.tree.CompositeElement import com.intellij.psi.tree.IElementType import com.intellij.psi.tree.IFileElementType import com.intellij.psi.tree.TokenSet -import org.typedb.typeql.plugin.jetbrains.completion.TypeQLCompletionErrorListener -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLFileBase -import org.typedb.typeql.plugin.jetbrains.psi.constraint.* -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType +import com.vaticle.typeql.grammar.TypeQLLexer +import com.vaticle.typeql.grammar.TypeQLParser import org.antlr.intellij.adaptor.lexer.ANTLRLexerAdaptor import org.antlr.intellij.adaptor.lexer.PSIElementTypeFactory import org.antlr.intellij.adaptor.lexer.RuleIElementType +import org.antlr.intellij.adaptor.lexer.TokenIElementType import org.antlr.intellij.adaptor.parser.ANTLRParserAdaptor import org.antlr.v4.runtime.Parser import org.antlr.v4.runtime.tree.ParseTree +import org.typedb.typeql.plugin.jetbrains.completion.TypeQLCompletionErrorListener +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLFile +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLStatementType +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLUtils +import org.typedb.typeql.plugin.jetbrains.psi.constraint.* /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) @@ -38,9 +63,9 @@ class TypeQLParserDefinition : ParserDefinition { return ANTLRLexerAdaptor(TypeQLLanguage.INSTANCE, lexer) } - override fun getWhitespaceTokens(): TokenSet = WHITESPACE - override fun getCommentTokens(): TokenSet = COMMENTS - override fun getStringLiteralElements(): TokenSet = STRING + override fun getWhitespaceTokens(): TokenSet = TypeQLTokenSets.WHITESPACES + override fun getCommentTokens(): TokenSet = TypeQLTokenSets.COMMENTS + override fun getStringLiteralElements(): TokenSet = TypeQLTokenSets.STRINGS override fun createParser(project: Project): PsiParser { val parser = TypeQLParser(null) @@ -48,6 +73,7 @@ class TypeQLParserDefinition : ParserDefinition { return object : ANTLRParserAdaptor(TypeQLLanguage.INSTANCE, parser) { override fun parse(parser: Parser, root: IElementType): ParseTree { parser.addErrorListener(completionErrorListener) + if (root is IFileElementType) { return (parser as TypeQLParser).eof_queries() } @@ -58,38 +84,33 @@ class TypeQLParserDefinition : ParserDefinition { override fun getFileNodeType(): IFileElementType = FILE - override fun createFile(viewProvider: FileViewProvider): PsiFile = PsiTypeQLFileBase(viewProvider) + override fun createFile(viewProvider: FileViewProvider): PsiFile = PsiTypeQLFile(viewProvider) override fun createElement(node: ASTNode): PsiElement { - val ruleElType = node.elementType as RuleIElementType - return when (ruleElType.ruleIndex) { - TypeQLParser.RULE_variable_type -> updateWrappedTypeIfNecessary( - node, - PsiStatementType(node) - ) - TypeQLParser.RULE_type_constraint -> { - val ruleTypePropertyElement = getRuleTypePropertyElement(node) - if (ruleTypePropertyElement != null) { - return updateWrappedTypeIfNecessary(node, ruleTypePropertyElement) - } - val ruleTypeElement = getRuleTypeElement(node) - if (ruleTypeElement != null) { - updateWrappedTypeIfNecessary(node, ruleTypeElement) - } else updateWrappedTypeIfNecessary(node, PsiTypeQLElement(node)) - } - TypeQLParser.RULE_type -> { - val ruleTypeElement = getRuleTypeElement(node) - if (ruleTypeElement != null) { - updateWrappedTypeIfNecessary(node, ruleTypeElement) - } else updateWrappedTypeIfNecessary(node, PsiTypeQLElement(node)) - } - else -> updateWrappedTypeIfNecessary(node, PsiTypeQLElement(node)) + val elType: IElementType = node.elementType + + if (elType is TokenIElementType) { + return createBasePsiElement(node) + } + + if (elType !is RuleIElementType) { + return createBasePsiElement(node) } + + return updateWrappedTypeIfNecessary( + node, + when (elType.ruleIndex) { + TypeQLParser.RULE_statement_type -> PsiTypeQLStatementType(node) + TypeQLParser.RULE_type_constraint -> createTypeConstraintWrapper(node) + TypeQLParser.RULE_type -> createTypeWrapper(node) + else -> createBasePsiElement(node) + } + ) } companion object { - private var WRAPPER_SET = Key("typeql.wrapper") lateinit var INSTANCE: TypeQLParserDefinition + private var WRAPPER_SET = Key("typeql.wrapper") init { PSIElementTypeFactory.defineLanguageIElementTypes( @@ -98,61 +119,162 @@ class TypeQLParserDefinition : ParserDefinition { } val FILE = IFileElementType(TypeQLLanguage.INSTANCE) - val IDS = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLParser.LABEL_)!! - val COMMENTS = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.COMMENT)!! - val WHITESPACE = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.WS)!! - val STRING = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.STRING_)!! - val TOKEN_ELEMENT_TYPES = PSIElementTypeFactory.getTokenIElementTypes(TypeQLLanguage.INSTANCE)!! - val RULE_ELEMENT_TYPES = PSIElementTypeFactory.getRuleIElementTypes(TypeQLLanguage.INSTANCE)!! - - fun getRuleTypeElement(node: ASTNode): PsiTypeQLElement? { - if (node.treePrev != null && node.treePrev.treePrev != null && node.treePrev.treePrev.text == "as") { - return PsiRelatesSuperRoleTypeConstraint(node) - } else if (node.treeParent != null - && node.treeParent.treeNext != null - && node.treeParent.treeNext.treeNext != null - && node.treeParent.treeNext.treeNext.firstChildNode != null - && node.treeParent.treeNext.treeNext.firstChildNode.text == "sub" - && node.firstChildNode != null - && node.firstChildNode.elementType === RULE_ELEMENT_TYPES[TypeQLParser.RULE_label] - ) { - return PsiTypeConstraint(node) + + private val TOKEN_ELEMENT_TYPES: List = + PSIElementTypeFactory.getTokenIElementTypes(TypeQLLanguage.INSTANCE)!! + private val RULE_ELEMENT_TYPES: List = + PSIElementTypeFactory.getRuleIElementTypes(TypeQLLanguage.INSTANCE)!! + + fun getRule(ruleId: Int): RuleIElementType? { + return if (ruleId < RULE_ELEMENT_TYPES.size) { + RULE_ELEMENT_TYPES[ruleId] + } else { + null + } + } + + fun getToken(tokenId: Int): TokenIElementType? { + return if (tokenId < TOKEN_ELEMENT_TYPES.size) { + TOKEN_ELEMENT_TYPES[tokenId] + } else { + null } - return null } - fun getRuleTypePropertyElement(node: ASTNode): PsiTypeQLElement? { - if (node.firstChildNode != null && (node.firstChildNode.text == "owns" || node.firstChildNode.text == "key")) { - val ownsTo = node.lastChildNode.text - if (ownsTo.isNotEmpty()) { - return PsiOwnsTypeConstraint(node) + fun getTokenText(tokenId: Int): String { + return (getToken(tokenId) ?: "").toString() + } + + fun checkNode(node: ASTNode?, elementId: Int): Boolean { + if (node?.elementType is TokenIElementType) { + return refCheckInContainer(node, TOKEN_ELEMENT_TYPES, elementId) + } + if (node?.elementType is RuleIElementType) { + return refCheckInContainer(node, RULE_ELEMENT_TYPES, elementId) + } + + return false + } + + fun getRuleTypeElement(node: ASTNode): PsiElement? { + if (checkNode(node.treePrev?.treePrev, TypeQLParser.AS)) { + if (checkNode(node.treeParent?.firstChildNode, TypeQLParser.OWNS)) { + return PsiTypeQLOwnsAsOverrideType(node) } - } else if (node.firstChildNode != null && node.firstChildNode.text == "plays") { - val playsTo = node.lastChildNode.text - if (playsTo.isNotEmpty()) { - return PsiPlaysTypeConstraint(node) + + if (checkNode(node.treeParent?.firstChildNode, TypeQLParser.PLAYS)) { + return PsiTypeQLPlaysAsOverrideType(node) } - } else if (node.firstChildNode != null && node.firstChildNode.text == "relates") { - val relatesTo = node.lastChildNode.text - if (relatesTo.isNotEmpty()) { - return PsiRelatesTypeConstraint(node) + + if (checkNode(node.treeParent?.firstChildNode, TypeQLParser.RELATES)) { + return PsiTypeQLRelatesAsOverrideType(node) } - } else if (node.firstChildNode != null && node.firstChildNode.text == "sub") { - val subsTo = node.lastChildNode.text - if (subsTo.isNotEmpty() && !TypeQLLanguage.GRAQL_TYPES.contains(subsTo)) { - return PsiSubTypeConstraint(node) + } + + if (checkNode(node.treeParent?.treeNext?.treeNext?.firstChildNode, TypeQLParser.SUB_) + && checkNode(node.firstChildNode, TypeQLParser.RULE_label) + ) { + return PsiTypeQLType(node) + } + + return null + } + + private fun getRuleTypePropertyElement(node: ASTNode): PsiElement? { + var newNode: PsiElement? = null + + if (node.firstChildNode != null) { + if (checkNode(node.firstChildNode, TypeQLParser.OWNS)) { + newNode = createOwnsType(node) + } else if (checkNode(node.firstChildNode, TypeQLParser.PLAYS)) { + newNode = createPlaysType(node) + } else if (checkNode(node.firstChildNode, TypeQLParser.RELATES)) { + newNode = createRelatesType(node) + } else if (checkNode(node.firstChildNode, TypeQLParser.SUB_)) { + newNode = createSubType(node) } } + + return newNode + } + + private fun createOwnsType(node: ASTNode): PsiTypeQLOwnsType? { + val annotationNode = node.lastChildNode + var ownsToNode = annotationNode?.treePrev + + while (isWhiteSpace(ownsToNode)) { + ownsToNode = ownsToNode!!.treePrev + } + + val ownsTo = ownsToNode?.text + if (!ownsTo.isNullOrEmpty()) { + return PsiTypeQLOwnsType(node) + } + return null } - fun updateWrappedTypeIfNecessary(node: ASTNode, element: PsiTypeQLElement): PsiTypeQLElement { + private fun createPlaysType(node: ASTNode): PsiTypeQLPlaysType? { + val playsTo = node.lastChildNode?.text + + if (!playsTo.isNullOrEmpty()) { + return PsiTypeQLPlaysType(node) + } + + return null + } + + private fun createRelatesType(node: ASTNode): PsiTypeQLRelatesType? { + val relatesTo = node.lastChildNode?.text + + if (!relatesTo.isNullOrEmpty()) { + return PsiTypeQLRelatesType(node) + } + + return null + } + + private fun createSubType(node: ASTNode): PsiTypeQLSubType? { + val subsTo = node.lastChildNode?.text + + if (!subsTo.isNullOrEmpty() && !TypeQLLanguage.TYPEQL_TYPES.contains(subsTo)) { + // PsiTypeQLType is not reparsed without extra changes, so we update it manually after finding a "sub": + PsiTypeQLUtils.ensureTypeQLElementsUpToDate(node.treePrev?.treePrev?.firstChildNode?.psi) + return PsiTypeQLSubType(node) + } + + return null + } + + private fun createBasePsiElement(node: ASTNode): PsiElement { + return PsiTypeQLElement(node) + } + + private fun createTypeConstraintWrapper(node: ASTNode): PsiElement { + return getRuleTypePropertyElement(node) ?: createTypeWrapper(node) + } + + private fun createTypeWrapper(node: ASTNode): PsiElement { + return getRuleTypeElement(node) ?: createBasePsiElement(node) + } + + private fun refCheckInContainer(node: ASTNode, container: List, index: Int): Boolean { + return if (index < container.size) node.elementType === container[index] else false + } + + private fun isWhiteSpace(node: ASTNode?): Boolean { + return checkNode(node, TypeQLParser.WS) + } + + fun updateWrappedTypeIfNecessary(node: ASTNode, element: PsiElement): PsiElement { val composite = node as CompositeElement val wrapperSet = composite.getUserData(WRAPPER_SET) + if (wrapperSet == null || wrapperSet && element.javaClass != composite.psi.javaClass) { composite.psi = element composite.putUserData(WRAPPER_SET, true) } + return element } } diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLTokenSets.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLTokenSets.kt new file mode 100644 index 0000000..beac994 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLTokenSets.kt @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains + +import com.vaticle.typeql.grammar.TypeQLLexer +import org.antlr.intellij.adaptor.lexer.PSIElementTypeFactory + +class TypeQLTokenSets { + companion object { + val IDENTIFIERS = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.LABEL_)!! + val COMMENTS = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.COMMENT)!! + val WHITESPACES = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.WS)!! + val STRINGS = PSIElementTypeFactory.createTokenSet(TypeQLLanguage.INSTANCE, TypeQLLexer.QUOTED_STRING)!! + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionContributor.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionContributor.kt index 73f70b3..955d772 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionContributor.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionContributor.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.completion import com.google.common.collect.ImmutableSet @@ -13,18 +34,18 @@ import com.intellij.psi.search.FileTypeIndex import com.intellij.psi.search.GlobalSearchScope import com.intellij.psi.util.PsiTreeUtil import com.intellij.util.ProcessingContext -import org.typedb.typeql.plugin.jetbrains.TypeQLFileType -import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage -import org.typedb.typeql.plugin.jetbrains.TypeQLParser -import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiOwnsTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiRelatesTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiSubTypeConstraint +import com.vaticle.typeql.grammar.TypeQLParser import org.antlr.intellij.adaptor.parser.SyntaxError import org.antlr.v4.runtime.misc.IntervalSet import org.jetbrains.annotations.NonNls +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLUtils +import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeQLOwnsType +import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeQLPlaysType +import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeQLRelatesType +import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeQLSubType import java.util.function.Consumer import java.util.stream.Collectors @@ -42,36 +63,36 @@ class TypeQLCompletionContributor : CompletionContributor() { resultSet: CompletionResultSet ) { var includeKeywords = true - val ruleType = TypeQLPsiUtils.findParentByType( + val ruleType = PsiTypeQLUtils.findParentByType( parameters.position, - TypeQLParserDefinition.RULE_ELEMENT_TYPES[TypeQLParser.RULE_type_constraint] + TypeQLParserDefinition.getRule(TypeQLParser.RULE_type_constraint)!! ) if (ruleType != null) { - if (ruleType is PsiOwnsTypeConstraint) { + if (ruleType is PsiTypeQLOwnsType) { //owns, include all attributes - val statementType = TypeQLPsiUtils.findParentByType( + val statementType = PsiTypeQLUtils.findParentByType( parameters.position, - TypeQLParserDefinition.RULE_ELEMENT_TYPES[TypeQLParser.RULE_variable_type] + TypeQLParserDefinition.getRule(TypeQLParser.RULE_statement_type)!! ) includeAttributeTypes( resultSet, ruleType, parameters.originalFile.virtualFile, statementType!!.name!! ) - } else if (ruleType is PsiSubTypeConstraint) { + } else if (ruleType is PsiTypeQLSubType) { //sub, include all declarations & base types - val statementType = TypeQLPsiUtils.findParentByType( + val statementType = PsiTypeQLUtils.findParentByType( parameters.position, - TypeQLParserDefinition.RULE_ELEMENT_TYPES[TypeQLParser.RULE_variable_type] + TypeQLParserDefinition.getRule(TypeQLParser.RULE_statement_type)!! ) includeAllTypes( resultSet, ruleType, parameters.originalFile.virtualFile, statementType!!.name!! ) includeBaseTypes(resultSet) - } else if (ruleType is PsiRelatesTypeConstraint) { + } else if (ruleType is PsiTypeQLRelatesType) { //relates, include all plays (roles) includePlayRoles(parameters, resultSet) - } else if (ruleType is PsiPlaysTypeConstraint) { + } else if (ruleType is PsiTypeQLPlaysType) { //plays, include all relates (roles) includeRelateRoles(parameters, resultSet) } else { @@ -81,7 +102,7 @@ class TypeQLCompletionContributor : CompletionContributor() { LookupElementBuilder.create( keyword!! ) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText(keyword) .withBoldness(true) ) @@ -91,12 +112,16 @@ class TypeQLCompletionContributor : CompletionContributor() { //if looking for TYPE_NAME_ don't include keywords if (parameters.position is LeafPsiElement) { if ((parameters.position as LeafPsiElement).elementType === - TypeQLParserDefinition.TOKEN_ELEMENT_TYPES[TypeQLParser.LABEL_] + TypeQLParserDefinition.getToken(TypeQLParser.LABEL_) ) { includeKeywords = false } } } + + if (includeKeywords) { + includeQueryTypes(resultSet) + } if (includeKeywords) { val tokenToErrorMap: Map = TypeQLCompletionErrorListener.tokenToErrorMap var syntaxError = tokenToErrorMap[parameters.offset] @@ -115,7 +140,7 @@ class TypeQLCompletionContributor : CompletionContributor() { LookupElementBuilder.create( keyword!! ) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText(keyword) .withBoldness(true) ) @@ -135,22 +160,22 @@ class TypeQLCompletionContributor : CompletionContributor() { containingFile: VirtualFile, vararg excludedNames: String ) { val excludedNameSet: Set = Sets.newHashSet(*excludedNames) - val searchScope: Collection - searchScope = if (ScratchUtil.isScratch(containingFile)) { + val searchScope: Collection = if (ScratchUtil.isScratch(containingFile)) { listOf(containingFile) } else { FileTypeIndex.getFiles( - TypeQLFileType.Util.INSTANCE, + TypeQLFileType.INSTANCE, GlobalSearchScope.allScope(ruleType.project) ) } - TypeQLPsiUtils.getDeclarationsByType(ruleType.project, searchScope, "attribute").stream() + + PsiTypeQLUtils.getDeclarationsByType(ruleType.project, searchScope, "attribute").stream() .filter { !excludedNameSet.contains(it.name) } .forEach { - val declarationType = TypeQLPsiUtils.determineDeclarationType(it) + val declarationType = PsiTypeQLUtils.determineDeclarationType(it) resultSet.addElement( LookupElementBuilder.create(it) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText(declarationType ?: "unknown") .withStrikeoutness(declarationType == null) ) @@ -162,23 +187,23 @@ class TypeQLCompletionContributor : CompletionContributor() { containingFile: VirtualFile, vararg excludedNames: String ) { val excludedNameSet: Set = Sets.newHashSet(*excludedNames) - val searchScope: Collection - searchScope = if (ScratchUtil.isScratch(containingFile)) { + val searchScope: Collection = if (ScratchUtil.isScratch(containingFile)) { listOf(containingFile) } else { FileTypeIndex.getFiles( - TypeQLFileType.Util.INSTANCE, + TypeQLFileType.INSTANCE, GlobalSearchScope.allScope(ruleType.project) ) } - TypeQLPsiUtils.getAllDeclarations(ruleType.project, searchScope).stream() + + PsiTypeQLUtils.getAllDeclarations(ruleType.project, searchScope).stream() .filter { !excludedNameSet.contains(it.name) } .forEach { - val declarationType = TypeQLPsiUtils.determineDeclarationType(it) + val declarationType = PsiTypeQLUtils.determineDeclarationType(it) if (declarationType != null) { resultSet.addElement( LookupElementBuilder.create(it) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText(declarationType) ) } @@ -186,12 +211,12 @@ class TypeQLCompletionContributor : CompletionContributor() { } private fun includeBaseTypes(resultSet: CompletionResultSet) { - TypeQLLanguage.GRAQL_TYPES.forEach(Consumer { + TypeQLLanguage.TYPEQL_TYPES.forEach(Consumer { resultSet.addElement( LookupElementBuilder.create( it!! ) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText(it) .withBoldness(true) ) @@ -199,22 +224,22 @@ class TypeQLCompletionContributor : CompletionContributor() { } private fun includePlayRoles(parameters: CompletionParameters, resultSet: CompletionResultSet) { - PsiTreeUtil.collectElementsOfType(parameters.originalFile, PsiPlaysTypeConstraint::class.java) + PsiTreeUtil.collectElementsOfType(parameters.originalFile, PsiTypeQLPlaysType::class.java) .forEach(Consumer { resultSet.addElement( LookupElementBuilder.create(it.playsType!!) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("role") ) }) } private fun includeRelateRoles(parameters: CompletionParameters, resultSet: CompletionResultSet) { - PsiTreeUtil.collectElementsOfType(parameters.originalFile, PsiRelatesTypeConstraint::class.java) + PsiTreeUtil.collectElementsOfType(parameters.originalFile, PsiTypeQLRelatesType::class.java) .forEach(Consumer { resultSet.addElement( LookupElementBuilder.create(it.name!!) - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("role") ) }) @@ -223,31 +248,31 @@ class TypeQLCompletionContributor : CompletionContributor() { private fun includeQueryTypes(resultSet: CompletionResultSet) { resultSet.addElement( LookupElementBuilder.create("define") - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("define") .withBoldness(true) ) resultSet.addElement( LookupElementBuilder.create("compute") - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("compute") .withBoldness(true) ) resultSet.addElement( LookupElementBuilder.create("insert") - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("insert") .withBoldness(true) ) resultSet.addElement( LookupElementBuilder.create("match") - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("match") .withBoldness(true) ) resultSet.addElement( LookupElementBuilder.create("undefine") - .withIcon(TypeQLFileType.Util.INSTANCE.icon) + .withIcon(TypeQLFileType.INSTANCE.icon) .withTypeText("undefine") .withBoldness(true) ) @@ -262,7 +287,7 @@ class TypeQLCompletionContributor : CompletionContributor() { private fun getActualKeywords(keywordSet: IntervalSet): List { return keywordSet.toList().stream() .map { - TypeQLParserDefinition.TOKEN_ELEMENT_TYPES[it!!].toString().replace("'", "") + TypeQLParserDefinition.getTokenText(it!!).replace("'", "") } .map { s: String -> when (s) { diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionErrorListener.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionErrorListener.kt index da40d2a..e441570 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionErrorListener.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/completion/TypeQLCompletionErrorListener.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.completion import org.antlr.intellij.adaptor.parser.SyntaxError @@ -22,4 +43,4 @@ class TypeQLCompletionErrorListener : SyntaxErrorListener() { return tokenToErrorMap } } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLColorSettingsPage.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLColorSettingsPage.kt index 230996a..2caac0d 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLColorSettingsPage.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLColorSettingsPage.kt @@ -1,15 +1,47 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.highlighter -import com.intellij.openapi.editor.colors.ColorKey import com.intellij.openapi.editor.colors.TextAttributesKey import com.intellij.openapi.fileTypes.SyntaxHighlighter import com.intellij.openapi.options.colors.AttributesDescriptor import com.intellij.openapi.options.colors.ColorDescriptor import com.intellij.openapi.options.colors.ColorSettingsPage -import com.intellij.openapi.util.IconLoader -import com.intellij.openapi.util.Pair -import com.intellij.util.containers.ContainerUtil -import java.awt.Color +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.TypeQLIcons +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.ANNOTATION +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.BOOLEAN +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.DATE +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.FUNCTION +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.IID +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.KEYWORD +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.LABEL +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.LINE_COMMENT +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.NUMERIC +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.OPERATOR +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.STORAGE_MODIFIER +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.STORAGE_TYPE +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.STRING +import org.typedb.typeql.plugin.jetbrains.highlighter.TypeQLSyntaxHighlighter.Companion.VARIABLE import javax.swing.Icon /** @@ -17,10 +49,8 @@ import javax.swing.Icon */ class TypeQLColorSettingsPage : ColorSettingsPage { - var testint = 1; - override fun getIcon(): Icon? { - return IconLoader.findIcon("/icons/typedb.svg", TypeQLColorSettingsPage::class.java.classLoader) + return TypeQLIcons.ICON } override fun getHighlighter(): SyntaxHighlighter { @@ -30,9 +60,12 @@ class TypeQLColorSettingsPage : ColorSettingsPage { override fun getDemoText(): String { return """define -person sub entity, owns age, owns name; - name sub attribute, value string; - age sub attribute, value long; +person sub entity, + owns id @key, + owns age, + owns name; +name sub attribute, value string; +age sub attribute, value long; # Lorem ipsum dolor sit amet match @@ -43,11 +76,14 @@ ${"$"}c isa car, has reg-date < 2020-02-29T18:01:28.577; ${"$"}p has age = 4 + 4; group ${"$"}p; sort asc; + +# The resulting response copied here to show an IID: +iid 0x826e800f8000000000000000 isa person => 1 """ } override fun getAdditionalHighlightingTagToDescriptorMap(): Map? { - return ContainerUtil.newHashMap(Pair("Line Comment TEST", TypeQLSyntaxHighlighter.Companion.LINE_COMMENT)) + return HashMap() } override fun getAttributeDescriptors(): Array { @@ -59,38 +95,36 @@ sort asc; } override fun getDisplayName(): String { - return "TypeQL" + return TypeQLFileType.LANG_NAME } companion object { - private var ATTR_DESC = arrayOf( - AttributesDescriptor("Line Comment", TypeQLSyntaxHighlighter.Companion.LINE_COMMENT), - AttributesDescriptor("Keyword", TypeQLSyntaxHighlighter.Companion.KEYWORD), - AttributesDescriptor("String", TypeQLSyntaxHighlighter.Companion.STRING), - AttributesDescriptor("Number", TypeQLSyntaxHighlighter.Companion.NUMBER), - AttributesDescriptor("Id", TypeQLSyntaxHighlighter.Companion.ID), - AttributesDescriptor("Thing", TypeQLSyntaxHighlighter.Companion.THING), - AttributesDescriptor("Var", TypeQLSyntaxHighlighter.Companion.VAR), - AttributesDescriptor("Boolean", TypeQLSyntaxHighlighter.Companion.BOOLEAN), - AttributesDescriptor("Aggregate", TypeQLSyntaxHighlighter.Companion.AGGREGATE), - AttributesDescriptor("Type", TypeQLSyntaxHighlighter.Companion.TYPE), - AttributesDescriptor("Annotation", TypeQLSyntaxHighlighter.Companion.ANNOTATION), - //AttributesDescriptor("Bad Value", TypeQLSyntaxHighlighter.Companion.BAD_CHARACTER) - ) - private val COLOR_DESC = arrayOf( - ColorDescriptor("Line Comment", ColorKey.createColorKey("Green", Color(77, 201, 124)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Keyword", ColorKey.createColorKey("Pink", Color(255, 122, 189)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("String", ColorKey.createColorKey("Yellow", Color(255, 228, 167)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Number", ColorKey.createColorKey("Blue", Color(130, 182, 255)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Id", ColorKey.createColorKey("Light Purple", Color(213, 204, 255)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Thing", ColorKey.createColorKey("Cyan", Color(85, 234, 226)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Var", ColorKey.createColorKey("Cyan", Color(85, 234, 226)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Boolean", ColorKey.createColorKey("Orange", Color(255, 161, 135)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Aggregate", ColorKey.createColorKey("Pink", Color(255, 122, 189)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Type", ColorKey.createColorKey("Blue", Color(130, 182, 255)), ColorDescriptor.Kind.FOREGROUND), - ColorDescriptor("Annotation", ColorKey.createColorKey("Orange", Color(255, 161, 135)), ColorDescriptor.Kind.FOREGROUND), - //ColorDescriptor("Bad Value", ColorKey.createColorKey("Line Comment", Color(10, 10, 10)), ColorDescriptor.Kind.FOREGROUND), + private fun formatAttributeKeyName(name: String): String { + return name + .split("_") + .joinToString(" ") { val lower = it.lowercase(); lower.replaceFirstChar(Char::uppercaseChar) } + } + + private fun getAttributesDescriptor(key: TextAttributesKey, keyName: String): AttributesDescriptor { + return AttributesDescriptor(formatAttributeKeyName(keyName), key) + } + + private var ATTR_DESC = arrayOf( + getAttributesDescriptor(STORAGE_TYPE, ::STORAGE_TYPE.name), + getAttributesDescriptor(STORAGE_MODIFIER, ::STORAGE_MODIFIER.name), + getAttributesDescriptor(KEYWORD, ::KEYWORD.name), + getAttributesDescriptor(OPERATOR, ::OPERATOR.name), + getAttributesDescriptor(ANNOTATION, ::ANNOTATION.name), + getAttributesDescriptor(FUNCTION, ::FUNCTION.name), + getAttributesDescriptor(BOOLEAN, ::BOOLEAN.name), + getAttributesDescriptor(STRING, ::STRING.name), + getAttributesDescriptor(NUMERIC, ::NUMERIC.name), + getAttributesDescriptor(DATE, ::DATE.name), + getAttributesDescriptor(VARIABLE, ::VARIABLE.name), + getAttributesDescriptor(LABEL, ::LABEL.name), + getAttributesDescriptor(IID, ::IID.name), + getAttributesDescriptor(LINE_COMMENT, ::LINE_COMMENT.name), ) } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighter.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighter.kt index f54b3b9..290f5d1 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighter.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighter.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.highlighter import com.intellij.lexer.Lexer @@ -7,11 +28,11 @@ import com.intellij.openapi.editor.colors.TextAttributesKey import com.intellij.openapi.fileTypes.SyntaxHighlighterBase import com.intellij.psi.TokenType import com.intellij.psi.tree.IElementType -import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage -import org.typedb.typeql.plugin.jetbrains.TypeQLLexer +import com.vaticle.typeql.grammar.TypeQLLexer import org.antlr.intellij.adaptor.lexer.ANTLRLexerAdaptor import org.antlr.intellij.adaptor.lexer.PSIElementTypeFactory import org.antlr.intellij.adaptor.lexer.TokenIElementType +import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) @@ -25,72 +46,218 @@ class TypeQLSyntaxHighlighter : SyntaxHighlighterBase() { override fun getTokenHighlights(tokenType: IElementType): Array { if (tokenType !is TokenIElementType) return EMPTY_KEYS if (tokenType == TokenType.BAD_CHARACTER) return arrayOf(BAD_CHARACTER) - val type = tokenType.antlrTokenType - val attrKey: TextAttributesKey - attrKey = when (type) { - TypeQLLexer.IID_, TypeQLLexer.LABEL_, TypeQLLexer.LABEL_SCOPED_ -> ID - - TypeQLLexer.THING, TypeQLLexer.ENTITY, TypeQLLexer.ATTRIBUTE, TypeQLLexer.RELATION, TypeQLLexer.ROLE - -> THING - - TypeQLLexer.DEFINE, TypeQLLexer.UNDEFINE, TypeQLLexer.MATCH, TypeQLLexer.GET, TypeQLLexer.INSERT, - TypeQLLexer.DELETE, TypeQLLexer.COMPUTE, TypeQLLexer.OFFSET, TypeQLLexer.LIMIT, - TypeQLLexer.SORT, TypeQLLexer.ASC, TypeQLLexer.DESC, TypeQLLexer.ABSTRACT, TypeQLLexer.AS, - TypeQLLexer.TYPE, TypeQLLexer.ISA_, TypeQLLexer.SUB_, - TypeQLLexer.OWNS, TypeQLLexer.PLAYS, TypeQLLexer.RELATES, TypeQLLexer.VALUE, TypeQLLexer.REGEX, - TypeQLLexer.WHEN, TypeQLLexer.THEN, TypeQLLexer.HAS, TypeQLLexer.PAREN_OPEN, - TypeQLLexer.PAREN_CLOSE, TypeQLLexer.UNRECOGNISED, TypeQLLexer.NOT, TypeQLLexer.RULE, - TypeQLLexer.OR, TypeQLLexer.EQ, TypeQLLexer.NEQ, TypeQLLexer.GT, TypeQLLexer.GTE, TypeQLLexer.LT, - TypeQLLexer.LTE, TypeQLLexer.LIKE, TypeQLLexer.CONTAINS, TypeQLLexer.ASSIGN, TypeQLLexer.ADD, - TypeQLLexer.SUBTRACT, TypeQLLexer.DIVIDE, TypeQLLexer.MULTIPLY, TypeQLLexer.POWER, TypeQLLexer.MODULO, - TypeQLLexer.LABEL_SCOPED_, TypeQLLexer.ORDER_ + + val attrKey: TextAttributesKey = when (tokenType.antlrTokenType) { + TypeQLLexer.THING, + TypeQLLexer.ENTITY, + TypeQLLexer.ATTRIBUTE, + TypeQLLexer.RELATION, + TypeQLLexer.ROLE, + -> STORAGE_TYPE + + TypeQLLexer.LONG, + TypeQLLexer.DOUBLE, + TypeQLLexer.STRING, + TypeQLLexer.BOOLEAN, + TypeQLLexer.DATETIME, + -> STORAGE_MODIFIER + + TypeQLLexer.MATCH, + TypeQLLexer.GET, + TypeQLLexer.DEFINE, + TypeQLLexer.UNDEFINE, + TypeQLLexer.RULE, + TypeQLLexer.INSERT, + TypeQLLexer.DELETE, + TypeQLLexer.COMPUTE, + + TypeQLLexer.TYPE, + TypeQLLexer.ABSTRACT, + TypeQLLexer.SUB_, + TypeQLLexer.SUB, + TypeQLLexer.SUBX, + TypeQLLexer.OWNS, + TypeQLLexer.REGEX, + TypeQLLexer.AS, + TypeQLLexer.PLAYS, + TypeQLLexer.RELATES, + TypeQLLexer.WHEN, + TypeQLLexer.THEN, + TypeQLLexer.IID, + TypeQLLexer.ISA_, + TypeQLLexer.ISA, + TypeQLLexer.ISAX, + TypeQLLexer.HAS, + TypeQLLexer.VALUE, + TypeQLLexer.IS, + + TypeQLLexer.OFFSET, + TypeQLLexer.LIMIT, + TypeQLLexer.SORT, + TypeQLLexer.ORDER_, + TypeQLLexer.ASC, + TypeQLLexer.DESC, + + TypeQLLexer.UNRECOGNISED, -> KEYWORD - TypeQLLexer.ANNOTATION_KEY, TypeQLLexer.ANNOTATION_UNIQUE -> ANNOTATION + TypeQLLexer.PAREN_OPEN, + TypeQLLexer.PAREN_CLOSE, + TypeQLLexer.ASSIGN, + TypeQLLexer.ADD, + TypeQLLexer.SUBTRACT, + TypeQLLexer.DIVIDE, + TypeQLLexer.MULTIPLY, + TypeQLLexer.POWER, + TypeQLLexer.MODULO, + + TypeQLLexer.OR, + TypeQLLexer.NOT, + TypeQLLexer.EQ, + TypeQLLexer.NEQ, + TypeQLLexer.GT, + TypeQLLexer.GTE, + TypeQLLexer.LT, + TypeQLLexer.LTE, + TypeQLLexer.LIKE, + TypeQLLexer.CONTAINS, + -> OPERATOR + + TypeQLLexer.ANNOTATION_KEY, + TypeQLLexer.ANNOTATION_UNIQUE, + -> ANNOTATION - TypeQLLexer.COUNT, TypeQLLexer.MAX, TypeQLLexer.MIN, TypeQLLexer.MEAN, TypeQLLexer.MEDIAN, TypeQLLexer.STD, - TypeQLLexer.SUM, TypeQLLexer.GROUP - -> AGGREGATE + TypeQLLexer.GROUP, + TypeQLLexer.COUNT, + TypeQLLexer.MAX, + TypeQLLexer.MIN, + TypeQLLexer.MEAN, + TypeQLLexer.MEDIAN, + TypeQLLexer.STD, + TypeQLLexer.SUM, + -> FUNCTION - TypeQLLexer.LONG, TypeQLLexer.DOUBLE, TypeQLLexer.STRING, TypeQLLexer.BOOLEAN, TypeQLLexer.DATETIME - -> TYPE + TypeQLLexer.BOOLEAN_, + TypeQLLexer.TRUE, + TypeQLLexer.FALSE, + -> BOOLEAN - TypeQLLexer.COMMENT -> LINE_COMMENT + TypeQLLexer.QUOTED_STRING, + -> STRING - TypeQLLexer.LONG_, TypeQLLexer.DOUBLE_, TypeQLLexer.DATE_, TypeQLLexer.DATETIME_ - -> NUMBER + TypeQLLexer.LONG_, + TypeQLLexer.DOUBLE_, + -> NUMERIC - TypeQLLexer.BOOLEAN_ -> BOOLEAN + TypeQLLexer.DATE_, + TypeQLLexer.DATETIME_, + -> DATE - TypeQLLexer.STRING_ -> STRING + TypeQLLexer.VAR_CONCEPT_, + TypeQLLexer.VAR_CONCEPT_ANONYMOUS_, + TypeQLLexer.VAR_CONCEPT_NAMED_, + TypeQLLexer.VAR_VALUE_, + -> VARIABLE - TypeQLLexer.VAR_CONCEPT_, TypeQLLexer.VAR_CONCEPT_ANONYMOUS_, TypeQLLexer.VAR_CONCEPT_NAMED_, - TypeQLLexer.VAR_VALUE_ - -> VAR - else -> return EMPTY_KEYS + TypeQLLexer.LABEL_, + TypeQLLexer.LABEL_SCOPED_, + -> LABEL + + TypeQLLexer.IID_, + -> IID + + TypeQLLexer.COMMENT, + -> LINE_COMMENT + + else + -> return EMPTY_KEYS } + return arrayOf(attrKey) } companion object { private val EMPTY_KEYS = emptyArray() - val LINE_COMMENT = - TextAttributesKey.createTextAttributesKey("TYPEQL_LINE_COMMENT", DefaultLanguageHighlighterColors.LINE_COMMENT) - val KEYWORD = TextAttributesKey.createTextAttributesKey("TYPEQL_KEYWORD", DefaultLanguageHighlighterColors.KEYWORD) - val ANNOTATION = TextAttributesKey.createTextAttributesKey("TYPEQL_ANNOTATION") - val STRING = TextAttributesKey.createTextAttributesKey("TYPEQL_STRING", DefaultLanguageHighlighterColors.STRING) - val NUMBER = TextAttributesKey.createTextAttributesKey("TYPEQL_NUMBER", DefaultLanguageHighlighterColors.NUMBER) - val ID = TextAttributesKey.createTextAttributesKey("TYPEQL_IDENTIFIER", DefaultLanguageHighlighterColors.CONSTANT) - val THING = TextAttributesKey.createTextAttributesKey("TYPEQL_THING", DefaultLanguageHighlighterColors.IDENTIFIER) - val VAR = TextAttributesKey.createTextAttributesKey("TYPEQL_VAR", DefaultLanguageHighlighterColors.LOCAL_VARIABLE) - val BOOLEAN = TextAttributesKey.createTextAttributesKey("TYPEQL_BOOLEAN", DefaultLanguageHighlighterColors.PARAMETER) - val AGGREGATE = TextAttributesKey.createTextAttributesKey("TYPEQL_AGGREGATE", DefaultLanguageHighlighterColors.LABEL) - val BAD_CHARACTER = TextAttributesKey.createTextAttributesKey("TYPEQL_SIMPLE_BAD_CHARACTER", HighlighterColors.BAD_CHARACTER) - val TYPE = TextAttributesKey.createTextAttributesKey("TYPEQL_TYPE", DefaultLanguageHighlighterColors.MARKUP_TAG) + + val STORAGE_TYPE = TextAttributesKey.createTextAttributesKey( + "TYPEQL_STORAGE_TYPE", + DefaultLanguageHighlighterColors.INSTANCE_FIELD + ) + + val STORAGE_MODIFIER = TextAttributesKey.createTextAttributesKey( + "TYPEQL_STORAGE_MODIFIER", + DefaultLanguageHighlighterColors.INSTANCE_METHOD + ) + + val KEYWORD = TextAttributesKey.createTextAttributesKey( + "TYPEQL_KEYWORD", + DefaultLanguageHighlighterColors.KEYWORD + ) + + val OPERATOR = TextAttributesKey.createTextAttributesKey( + "TYPEQL_OPERATOR", + DefaultLanguageHighlighterColors.OPERATION_SIGN + ) + + val ANNOTATION = TextAttributesKey.createTextAttributesKey( + "TYPEQL_ANNOTATION", + DefaultLanguageHighlighterColors.METADATA + ) + + val FUNCTION = TextAttributesKey.createTextAttributesKey( + "TYPEQL_FUNCTION", + DefaultLanguageHighlighterColors.KEYWORD + ) + + val BOOLEAN = TextAttributesKey.createTextAttributesKey( + "TYPEQL_BOOLEAN", + DefaultLanguageHighlighterColors.NUMBER + ) + + val STRING = TextAttributesKey.createTextAttributesKey( + "TYPEQL_STRING", + DefaultLanguageHighlighterColors.STRING + ) + + val NUMERIC = TextAttributesKey.createTextAttributesKey( + "TYPEQL_NUMERIC", + DefaultLanguageHighlighterColors.NUMBER + ) + + val DATE = TextAttributesKey.createTextAttributesKey( + "TYPEQL_DATE", + DefaultLanguageHighlighterColors.NUMBER + ) + + val VARIABLE = TextAttributesKey.createTextAttributesKey( + "TYPEQL_VARIABLE", + DefaultLanguageHighlighterColors.INSTANCE_FIELD + ) + + val LABEL = TextAttributesKey.createTextAttributesKey( + "TYPEQL_LABEL", + DefaultLanguageHighlighterColors.GLOBAL_VARIABLE + ) + + val IID = TextAttributesKey.createTextAttributesKey( + "TYPEQL_IID", + DefaultLanguageHighlighterColors.NUMBER + ) + + val LINE_COMMENT = TextAttributesKey.createTextAttributesKey( + "TYPEQL_LINE_COMMENT", + DefaultLanguageHighlighterColors.DOC_COMMENT + ) + + val BAD_CHARACTER = TextAttributesKey.createTextAttributesKey( + "TYPEQL_BAD_CHARACTER", + HighlighterColors.BAD_CHARACTER + ) + init { PSIElementTypeFactory.defineLanguageIElementTypes( TypeQLLanguage.INSTANCE, TypeQLLexer.tokenNames, TypeQLLexer.ruleNames ) } } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighterFactory.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighterFactory.kt index 7ac8433..363217c 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighterFactory.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/highlighter/TypeQLSyntaxHighlighterFactory.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.highlighter import com.intellij.openapi.fileTypes.SyntaxHighlighter @@ -12,4 +33,4 @@ class TypeQLSyntaxHighlighterFactory : SyntaxHighlighterFactory() { override fun getSyntaxHighlighter(project: Project?, virtualFile: VirtualFile?): SyntaxHighlighter { return TypeQLSyntaxHighlighter() } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationInspection.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationInspection.kt index 4665588..ba1bf4a 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationInspection.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationInspection.kt @@ -1,67 +1,68 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.duplicateDeclaration - -import com.intellij.codeInspection.LocalInspectionTool -import com.intellij.codeInspection.ProblemHighlightType -import com.intellij.codeInspection.ProblemsHolder -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiElementVisitor -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiRelatesTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeConstraint -import java.util.stream.Collectors - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLDuplicateDeclarationInspection : LocalInspectionTool() { - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { - return object : PsiElementVisitor() { - override fun visitElement(identifier: PsiElement) { - if (identifier is PsiTypeQLNamedElement) { - TypeQLPsiUtils.ensureTypeQLElementsUpToDate(identifier.getContainingFile()) - val declarationTypes = TypeQLPsiUtils.findDeclarations( - identifier.getProject(), identifier - ).stream() - .map { - if (it is PsiRelatesTypeConstraint) "relation" else TypeQLPsiUtils.determineDeclarationType( - it - ) - } - .distinct().collect(Collectors.toList()) - if (declarationTypes.size > 1) { - if (identifier is PsiTypeConstraint) { - holder.registerProblem( - identifier.getFirstChild(), - "Concept #ref has been defined more than once", - ProblemHighlightType.GENERIC_ERROR - ) - } else { - holder.registerProblem( - identifier.getFirstChild().nextSibling.nextSibling, - "Concept #ref has been defined more than once", - ProblemHighlightType.GENERIC_ERROR - ) - } - } - } - } - } - } - - override fun getDisplayName(): String { - return "Duplicate declaration" - } - - override fun getGroupDisplayName(): String { - return "TypeQL" - } - - override fun getShortName(): String { - return "DuplicateDeclaration" - } - - override fun isEnabledByDefault(): Boolean { - return true - } -} \ No newline at end of file +//package org.typedb.typeql.plugin.jetbrains.inspection.duplicateDeclaration +// +//import com.intellij.codeInspection.LocalInspectionTool +//import com.intellij.codeInspection.ProblemHighlightType +//import com.intellij.codeInspection.ProblemsHolder +//import com.intellij.psi.PsiElement +//import com.intellij.psi.PsiElementVisitor +//import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +//import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement +//import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils +//import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiRelatesTypeConstraint +//import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeConstraint +//import java.util.stream.Collectors +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLDuplicateDeclarationInspection : LocalInspectionTool() { +// override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { +// return object : PsiElementVisitor() { +// override fun visitElement(identifier: PsiElement) { +// if (identifier is PsiTypeQLNamedElement) { +// TypeQLPsiUtils.ensureTypeQLElementsUpToDate(identifier.getContainingFile()) +// val declarationTypes = TypeQLDeclarationFinder.findDeclarations( +// identifier.getProject(), identifier +// ).stream() +// .map { +// if (it is PsiRelatesTypeConstraint) "relation" else TypeQLPsiUtils.determineDeclarationType( +// it +// ) +// } +// .distinct().collect(Collectors.toList()) +// if (declarationTypes.size > 1) { +// if (identifier is PsiTypeConstraint) { +// holder.registerProblem( +// identifier.getFirstChild(), +// "Concept #ref has been defined more than once", +// ProblemHighlightType.GENERIC_ERROR +// ) +// } else { +// holder.registerProblem( +// identifier.getFirstChild().nextSibling.nextSibling, +// "Concept #ref has been defined more than once", +// ProblemHighlightType.GENERIC_ERROR +// ) +// } +// } +// } +// } +// } +// } +// +// override fun getDisplayName(): String { +// return "Duplicate declaration" +// } +// +// override fun getGroupDisplayName(): String { +// return TypeQLFileType.LANG_NAME +// } +// +// override fun getShortName(): String { +// return "DuplicateDeclaration" +// } +// +// override fun isEnabledByDefault(): Boolean { +// return true +// } +//} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationProvider.kt index 20c3f13..70f8a43 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/duplicateDeclaration/TypeQLDuplicateDeclarationProvider.kt @@ -1,13 +1,13 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.duplicateDeclaration - -import com.intellij.codeInspection.InspectionToolProvider -import com.intellij.codeInspection.LocalInspectionTool - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLDuplicateDeclarationProvider : InspectionToolProvider { - override fun getInspectionClasses(): Array> { - return arrayOf(TypeQLDuplicateDeclarationInspection::class.java) - } -} +//package org.typedb.typeql.plugin.jetbrains.inspection.duplicateDeclaration +// +//import com.intellij.codeInspection.InspectionToolProvider +//import com.intellij.codeInspection.LocalInspectionTool +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLDuplicateDeclarationProvider : InspectionToolProvider { +// override fun getInspectionClasses(): Array> { +// return arrayOf(TypeQLDuplicateDeclarationInspection::class.java) +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageInspection.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageInspection.kt index e9fe6f6..38edb66 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageInspection.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageInspection.kt @@ -1,85 +1,85 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.invalidTypeUsage - -import com.google.common.collect.Sets -import com.intellij.codeInspection.LocalInspectionTool -import com.intellij.codeInspection.ProblemHighlightType -import com.intellij.codeInspection.ProblemsHolder -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiElementVisitor -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiOwnsTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiSubTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType -import org.apache.commons.lang.StringUtils - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLInvalidTypeUsageInspection : LocalInspectionTool() { - private val invalidTypeUsages: MutableMap> - - init { - invalidTypeUsages = HashMap() - invalidTypeUsages["entity"] = Sets.newHashSet("relates", "plays", "owns") - invalidTypeUsages["role"] = Sets.newHashSet("owns") - invalidTypeUsages["attribute"] = Sets.newHashSet("plays") - invalidTypeUsages["relation"] = Sets.newHashSet("plays", "owns") - } - - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { - return object : PsiElementVisitor() { - override fun visitElement(identifier: PsiElement) { - if (identifier is PsiTypeQLElement - && identifier !is PsiTypeQLNamedElement - && identifier !is PsiStatementType - ) { - TypeQLPsiUtils.ensureTypeQLElementsUpToDate(identifier.getContainingFile()) - val declaration = TypeQLPsiUtils.findDeclaration( - identifier.getProject(), identifier - ) - if (declaration != null) { - val declarationType = TypeQLPsiUtils.determineDeclarationType(declaration) - val usageType: String - usageType = if (identifier is PsiPlaysTypeConstraint) { - "plays" - } else if (identifier is PsiOwnsTypeConstraint) { - "owns" - } else if (identifier is PsiSubTypeConstraint) { - return //all types can be sub-typed - } else { - throw UnsupportedOperationException() - } - if (declarationType != null && invalidTypeUsages[declarationType]!!.contains(usageType)) { - holder.registerProblem( - identifier.getFirstChild().nextSibling.nextSibling, String.format( - "%s #ref cannot be used as '%s'", - StringUtils.capitalize(declarationType), usageType - ), - ProblemHighlightType.GENERIC_ERROR - ) - } - } - } - } - } - } - - override fun getDisplayName(): String { - return "Invalid type usage" - } - - override fun getGroupDisplayName(): String { - return "TypeQL" - } - - override fun getShortName(): String { - return "InvalidTypeUsage" - } - - override fun isEnabledByDefault(): Boolean { - return true - } -} \ No newline at end of file +//package org.typedb.typeql.plugin.jetbrains.inspection.invalidTypeUsage +// +//import com.google.common.collect.Sets +//import com.intellij.codeInspection.LocalInspectionTool +//import com.intellij.codeInspection.ProblemHighlightType +//import com.intellij.codeInspection.ProblemsHolder +//import com.intellij.psi.PsiElement +//import com.intellij.psi.PsiElementVisitor +//import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement +//import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement +//import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils +//import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiOwnsTypeConstraint +//import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint +//import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiSubTypeConstraint +//import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType +//import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLInvalidTypeUsageInspection : LocalInspectionTool() { +// private val invalidTypeUsages: MutableMap> +// +// init { +// invalidTypeUsages = HashMap() +// invalidTypeUsages["entity"] = Sets.newHashSet("relates", "plays", "owns") +// invalidTypeUsages["role"] = Sets.newHashSet("owns") +// invalidTypeUsages["attribute"] = Sets.newHashSet("plays") +// invalidTypeUsages["relation"] = Sets.newHashSet("plays", "owns") +// } +// +// override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { +// return object : PsiElementVisitor() { +// override fun visitElement(identifier: PsiElement) { +// if (identifier is PsiTypeQLElement +// && identifier !is PsiTypeQLNamedElement +// && identifier !is PsiStatementType +// ) { +// TypeQLPsiUtils.ensureTypeQLElementsUpToDate(identifier.getContainingFile()) +// val declaration = TypeQLDeclarationFinder.findDeclaration( +// identifier.getProject(), identifier +// ) +// if (declaration != null) { +// val declarationType = TypeQLPsiUtils.determineDeclarationType(declaration) +// val usageType: String +// usageType = if (identifier is PsiPlaysTypeConstraint) { +// "plays" +// } else if (identifier is PsiOwnsTypeConstraint) { +// "owns" +// } else if (identifier is PsiSubTypeConstraint) { +// return //all types can be sub-typed +// } else { +// throw UnsupportedOperationException() +// } +// if (declarationType != null && invalidTypeUsages[declarationType]!!.contains(usageType)) { +// holder.registerProblem( +// identifier.getFirstChild().nextSibling.nextSibling, String.format( +// "%s #ref cannot be used as '%s'", +// declarationType.capitalize(), usageType +// ), +// ProblemHighlightType.GENERIC_ERROR +// ) +// } +// } +// } +// } +// } +// } +// +// override fun getDisplayName(): String { +// return "Invalid type usage" +// } +// +// override fun getGroupDisplayName(): String { +// return TypeQLFileType.LANG_NAME +// } +// +// override fun getShortName(): String { +// return "InvalidTypeUsage" +// } +// +// override fun isEnabledByDefault(): Boolean { +// return true +// } +//} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageProvider.kt index ace2f49..469aeda 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/invalidTypeUsage/TypeQLInvalidTypeUsageProvider.kt @@ -1,13 +1,13 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.invalidTypeUsage - -import com.intellij.codeInspection.InspectionToolProvider -import com.intellij.codeInspection.LocalInspectionTool - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLInvalidTypeUsageProvider : InspectionToolProvider { - override fun getInspectionClasses(): Array> { - return arrayOf(TypeQLInvalidTypeUsageInspection::class.java) - } -} +//package org.typedb.typeql.plugin.jetbrains.inspection.invalidTypeUsage +// +//import com.intellij.codeInspection.InspectionToolProvider +//import com.intellij.codeInspection.LocalInspectionTool +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLInvalidTypeUsageProvider : InspectionToolProvider { +// override fun getInspectionClasses(): Array> { +// return arrayOf(TypeQLInvalidTypeUsageInspection::class.java) +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationInspection.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationInspection.kt index 14ce27d..b71dfb2 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationInspection.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationInspection.kt @@ -1,75 +1,75 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.undefinedDeclaration - -import com.intellij.codeInspection.LocalInspectionTool -import com.intellij.codeInspection.ProblemHighlightType -import com.intellij.codeInspection.ProblemsHolder -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiElementVisitor -import com.intellij.psi.PsiErrorElement -import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType -import org.apache.commons.lang.StringUtils - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUndefinedDeclarationInspection : LocalInspectionTool() { - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { - return object : PsiElementVisitor() { - override fun visitElement(element: PsiElement) { - if (element is PsiStatementType) { - TypeQLPsiUtils.ensureTypeQLElementsUpToDate(element.getContainingFile()) - val identifiers: MutableList = ArrayList() - identifiers.addAll(element.findOwnsTypeProperties()) - identifiers.addAll(element.findPlaysTypeProperties()) - identifiers.addAll(element.findSubTypeProperties()) - for (identifier in identifiers) { - if (StringUtils.isEmpty(identifier!!.name)) { - return //user still typing - } - val declaration = TypeQLPsiUtils.findDeclaration( - identifier.project, identifier - ) - if (declaration == null) { - var undefinedConcept: PsiElement - undefinedConcept = - if (identifier.firstChild != null && identifier.firstChild.nextSibling != null && identifier.firstChild.nextSibling.nextSibling != null) { - identifier.firstChild.nextSibling.nextSibling - } else { - return //user still typing - } - if (TypeQLLanguage.GRAQL_TYPES.contains(undefinedConcept.text)) { - return //defined by language - } - if (undefinedConcept.firstChild !is PsiErrorElement) { - holder.registerProblem( - undefinedConcept, - "Concept #ref has not been defined", - ProblemHighlightType.GENERIC_ERROR - ) - } - } - } - } - } - } - } - - override fun getDisplayName(): String { - return "Undefined declaration" - } - - override fun getGroupDisplayName(): String { - return "TypeQL" - } - - override fun getShortName(): String { - return "UndefinedDeclaration" - } - - override fun isEnabledByDefault(): Boolean { - return true - } -} \ No newline at end of file +//package org.typedb.typeql.plugin.jetbrains.inspection.undefinedDeclaration +// +//import com.intellij.codeInspection.LocalInspectionTool +//import com.intellij.codeInspection.ProblemHighlightType +//import com.intellij.codeInspection.ProblemsHolder +//import com.intellij.psi.PsiElement +//import com.intellij.psi.PsiElementVisitor +//import com.intellij.psi.PsiErrorElement +//import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage +//import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement +//import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils +//import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType +//import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUndefinedDeclarationInspection : LocalInspectionTool() { +// override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { +// return object : PsiElementVisitor() { +// override fun visitElement(element: PsiElement) { +// if (element is PsiStatementType) { +// TypeQLPsiUtils.ensureTypeQLElementsUpToDate(element.getContainingFile()) +// val identifiers: MutableList = ArrayList() +// identifiers.addAll(element.findOwnsTypeProperties()) +// identifiers.addAll(element.findPlaysTypeProperties()) +// identifiers.addAll(element.findSubTypeProperties()) +// for (identifier in identifiers) { +// if (identifier!!.name.isEmpty()) { +// return //user still typing +// } +// val declaration = TypeQLDeclarationFinder.findDeclaration( +// identifier.project, identifier +// ) +// if (declaration == null) { +// var undefinedConcept: PsiElement +// undefinedConcept = +// if (identifier.firstChild != null && identifier.firstChild.nextSibling != null && identifier.firstChild.nextSibling.nextSibling != null) { +// identifier.firstChild.nextSibling.nextSibling +// } else { +// return //user still typing +// } +// if (TypeQLLanguage.TYPEQL_TYPES.contains(undefinedConcept.text)) { +// return //defined by language +// } +// if (undefinedConcept.firstChild !is PsiErrorElement) { +// holder.registerProblem( +// undefinedConcept, +// "Concept #ref has not been defined", +// ProblemHighlightType.GENERIC_ERROR +// ) +// } +// } +// } +// } +// } +// } +// } +// +// override fun getDisplayName(): String { +// return "Undefined declaration" +// } +// +// override fun getGroupDisplayName(): String { +// return TypeQLFileType.LANG_NAME +// } +// +// override fun getShortName(): String { +// return "UndefinedDeclaration" +// } +// +// override fun isEnabledByDefault(): Boolean { +// return true +// } +//} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationProvider.kt index ebb1234..91ed93e 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/undefinedDeclaration/TypeQLUndefinedDeclarationProvider.kt @@ -1,13 +1,13 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.undefinedDeclaration - -import com.intellij.codeInspection.InspectionToolProvider -import com.intellij.codeInspection.LocalInspectionTool - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUndefinedDeclarationProvider : InspectionToolProvider { - override fun getInspectionClasses(): Array> { - return arrayOf(TypeQLUndefinedDeclarationInspection::class.java) - } -} +//package org.typedb.typeql.plugin.jetbrains.inspection.undefinedDeclaration +// +//import com.intellij.codeInspection.InspectionToolProvider +//import com.intellij.codeInspection.LocalInspectionTool +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUndefinedDeclarationProvider : InspectionToolProvider { +// override fun getInspectionClasses(): Array> { +// return arrayOf(TypeQLUndefinedDeclarationInspection::class.java) +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleInspection.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleInspection.kt index 657dc90..f920454 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleInspection.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleInspection.kt @@ -1,84 +1,85 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.unplayedRole - -import com.intellij.codeInspection.LocalInspectionTool -import com.intellij.codeInspection.ProblemsHolder -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiElementVisitor -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUnplayedRoleInspection : LocalInspectionTool() { - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { - return object : PsiElementVisitor() { - override fun visitElement(identifier: PsiElement) { - if (identifier is PsiTypeQLElement - && identifier !is PsiTypeQLNamedElement - && identifier !is PsiStatementType - ) { - TypeQLPsiUtils.ensureTypeQLElementsUpToDate(identifier.getContainingFile()) - val identifierElement = identifier - val declaration = TypeQLPsiUtils.findDeclaration( - identifier.getProject(), identifierElement - ) - if (declaration != null) { - val type = TypeQLPsiUtils.determineDeclarationType(declaration) - if ("role" == type) { - var isPlayed = false - val usages = TypeQLPsiUtils.findUsages(identifierElement) - for (usage in usages) { - if (usage is PsiPlaysTypeConstraint) { - isPlayed = true - break - } - } - if (!isPlayed) { - var problemAlreadyRegistered = false - for (problem in holder.results) { - if (problem.psiElement === declaration - && descriptionTemplate == problem.descriptionTemplate - ) { - problemAlreadyRegistered = true - break - } - } - if (!problemAlreadyRegistered - && declaration.containingFile.isEquivalentTo(identifier.getContainingFile()) - ) { - holder.registerProblem( - declaration.firstChild.nextSibling.nextSibling, - descriptionTemplate - ) - } - } - } - } - } - } - } - } - - private val descriptionTemplate: String - private get() = "Role #ref is never played" - - override fun getDisplayName(): String { - return "Unplayed role" - } - - override fun getGroupDisplayName(): String { - return "TypeQL" - } - - override fun getShortName(): String { - return "UnplayedRole" - } - - override fun isEnabledByDefault(): Boolean { - return true - } -} \ No newline at end of file +//package org.typedb.typeql.plugin.jetbrains.inspection.unplayedRole +// +//import com.intellij.codeInspection.LocalInspectionTool +//import com.intellij.codeInspection.ProblemsHolder +//import com.intellij.psi.PsiElement +//import com.intellij.psi.PsiElementVisitor +//import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +//import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement +//import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement +//import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils +//import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint +//import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUnplayedRoleInspection : LocalInspectionTool() { +// override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { +// return object : PsiElementVisitor() { +// override fun visitElement(identifier: PsiElement) { +// if (identifier is PsiTypeQLElement +// && identifier !is PsiTypeQLNamedElement +// && identifier !is PsiStatementType +// ) { +// TypeQLPsiUtils.ensureTypeQLElementsUpToDate(identifier.getContainingFile()) +// val identifierElement = identifier +// val declaration = TypeQLDeclarationFinder.findDeclaration( +// identifier.getProject(), identifierElement +// ) +// if (declaration != null) { +// val type = TypeQLPsiUtils.determineDeclarationType(declaration) +// if ("role" == type) { +// var isPlayed = false +// val usages = TypeQLUsagesFinder.findUsages(identifierElement) +// for (usage in usages) { +// if (usage is PsiPlaysTypeConstraint) { +// isPlayed = true +// break +// } +// } +// if (!isPlayed) { +// var problemAlreadyRegistered = false +// for (problem in holder.results) { +// if (problem.psiElement === declaration +// && descriptionTemplate == problem.descriptionTemplate +// ) { +// problemAlreadyRegistered = true +// break +// } +// } +// if (!problemAlreadyRegistered +// && declaration.containingFile.isEquivalentTo(identifier.getContainingFile()) +// ) { +// holder.registerProblem( +// declaration.firstChild.nextSibling.nextSibling, +// descriptionTemplate +// ) +// } +// } +// } +// } +// } +// } +// } +// } +// +// private val descriptionTemplate: String +// private get() = "Role #ref is never played" +// +// override fun getDisplayName(): String { +// return "Unplayed role" +// } +// +// override fun getGroupDisplayName(): String { +// return TypeQLFileType.LANG_NAME +// } +// +// override fun getShortName(): String { +// return "UnplayedRole" +// } +// +// override fun isEnabledByDefault(): Boolean { +// return true +// } +//} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleProvider.kt index 9408b91..7ae736d 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unplayedRole/TypeQLUnplayedRoleProvider.kt @@ -1,13 +1,13 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.unplayedRole - -import com.intellij.codeInspection.InspectionToolProvider -import com.intellij.codeInspection.LocalInspectionTool - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUnplayedRoleProvider : InspectionToolProvider { - override fun getInspectionClasses(): Array> { - return arrayOf(TypeQLUnplayedRoleInspection::class.java) - } -} +//package org.typedb.typeql.plugin.jetbrains.inspection.unplayedRole +// +//import com.intellij.codeInspection.InspectionToolProvider +//import com.intellij.codeInspection.LocalInspectionTool +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUnplayedRoleProvider : InspectionToolProvider { +// override fun getInspectionClasses(): Array> { +// return arrayOf(TypeQLUnplayedRoleInspection::class.java) +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedAttributeDeclarationInspection.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedAttributeDeclarationInspection.kt index ca5ccc4..17ed3ec 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedAttributeDeclarationInspection.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedAttributeDeclarationInspection.kt @@ -1,48 +1,49 @@ package org.typedb.typeql.plugin.jetbrains.inspection.unusedDeclaration - -import com.intellij.codeInspection.LocalInspectionTool -import com.intellij.codeInspection.ProblemsHolder -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiElementVisitor -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUnusedAttributeDeclarationInspection : LocalInspectionTool() { - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { - return object : PsiElementVisitor() { - override fun visitElement(element: PsiElement) { - if (element is PsiStatementType) { - TypeQLPsiUtils.ensureTypeQLElementsUpToDate(element.getContainingFile()) - for (declaration in element.findTypeProperties()) { - val type = TypeQLPsiUtils.determineDeclarationType(declaration!!) - if ("attribute" == type) { - val usages = TypeQLPsiUtils.findUsages(declaration) - if (usages.isEmpty()) { - holder.registerProblem(declaration, "Attribute #ref is never used") - } - } - } - } - } - } - } - - override fun getDisplayName(): String { - return "Unused attribute declaration" - } - - override fun getGroupDisplayName(): String { - return "TypeQL" - } - - override fun getShortName(): String { - return "UnusedAttributeDeclaration" - } - - override fun isEnabledByDefault(): Boolean { - return true - } -} \ No newline at end of file +// +//import com.intellij.codeInspection.LocalInspectionTool +//import com.intellij.codeInspection.ProblemsHolder +//import com.intellij.psi.PsiElement +//import com.intellij.psi.PsiElementVisitor +//import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +//import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils +//import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUnusedAttributeDeclarationInspection : LocalInspectionTool() { +// override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { +// return object : PsiElementVisitor() { +// override fun visitElement(element: PsiElement) { +// if (element is PsiStatementType) { +// TypeQLPsiUtils.ensureTypeQLElementsUpToDate(element.getContainingFile()) +// for (declaration in element.findTypeProperties()) { +// val type = TypeQLPsiUtils.determineDeclarationType(declaration!!) +// if ("attribute" == type) { +// val usages = TypeQLUsagesFinder.findUsages(declaration) +// if (usages.isEmpty()) { +// holder.registerProblem(declaration, "Attribute #ref is never used") +// } +// } +// } +// } +// } +// } +// } +// +// override fun getDisplayName(): String { +// return "Unused attribute declaration" +// } +// +// override fun getGroupDisplayName(): String { +// return TypeQLFileType.LANG_NAME +// } +// +// override fun getShortName(): String { +// return "UnusedAttributeDeclaration" +// } +// +// override fun isEnabledByDefault(): Boolean { +// return true +// } +//} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedDeclarationProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedDeclarationProvider.kt index c125ad9..9e77c0b 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedDeclarationProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedDeclarationProvider.kt @@ -1,16 +1,16 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.unusedDeclaration - -import com.intellij.codeInspection.InspectionToolProvider -import com.intellij.codeInspection.LocalInspectionTool - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUnusedDeclarationProvider : InspectionToolProvider { - override fun getInspectionClasses(): Array> { - return arrayOf( - TypeQLUnusedAttributeDeclarationInspection::class.java, - TypeQLUnusedRoleDeclarationInspection::class.java - ) - } -} +//package org.typedb.typeql.plugin.jetbrains.inspection.unusedDeclaration +// +//import com.intellij.codeInspection.InspectionToolProvider +//import com.intellij.codeInspection.LocalInspectionTool +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUnusedDeclarationProvider : InspectionToolProvider { +// override fun getInspectionClasses(): Array> { +// return arrayOf( +// TypeQLUnusedAttributeDeclarationInspection::class.java, +// TypeQLUnusedRoleDeclarationInspection::class.java +// ) +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedRoleDeclarationInspection.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedRoleDeclarationInspection.kt index 8888311..c3c0d76 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedRoleDeclarationInspection.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/inspection/unusedDeclaration/TypeQLUnusedRoleDeclarationInspection.kt @@ -1,55 +1,55 @@ -package org.typedb.typeql.plugin.jetbrains.inspection.unusedDeclaration - -import com.intellij.codeInspection.LocalInspectionTool -import com.intellij.codeInspection.ProblemsHolder -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiElementVisitor -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType -import org.apache.commons.lang.StringUtils - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class TypeQLUnusedRoleDeclarationInspection : LocalInspectionTool() { - override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { - return object : PsiElementVisitor() { - override fun visitElement(element: PsiElement) { - if (element is PsiStatementType) { - TypeQLPsiUtils.ensureTypeQLElementsUpToDate(element.getContainingFile()) - for (declaration in element.findRelatesTypeProperties()) { - if (StringUtils.isEmpty(declaration.name)) { - return //user still typing - } - val type = TypeQLPsiUtils.determineDeclarationType(declaration) - if ("role" == type) { - val usages = TypeQLPsiUtils.findUsages(declaration) - if (usages.isEmpty()) { - holder.registerProblem( - declaration.firstChild.nextSibling.nextSibling, - "Role #ref is never used" - ) - } - } - } - } - } - } - } - - override fun getDisplayName(): String { - return "Unused role declaration" - } - - override fun getGroupDisplayName(): String { - return "TypeQL" - } - - override fun getShortName(): String { - return "UnusedRoleDeclaration" - } - - override fun isEnabledByDefault(): Boolean { - return true - } -} +//package org.typedb.typeql.plugin.jetbrains.inspection.unusedDeclaration +// +//import com.intellij.codeInspection.LocalInspectionTool +//import com.intellij.codeInspection.ProblemsHolder +//import com.intellij.psi.PsiElement +//import com.intellij.psi.PsiElementVisitor +//import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils +//import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType +//import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +// +///** +// * @author [Brandon Fergerson](mailto:bfergerson@apache.org) +// */ +//class TypeQLUnusedRoleDeclarationInspection : LocalInspectionTool() { +// override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor { +// return object : PsiElementVisitor() { +// override fun visitElement(element: PsiElement) { +// if (element is PsiStatementType) { +// TypeQLPsiUtils.ensureTypeQLElementsUpToDate(element.getContainingFile()) +// for (declaration in element.findRelatesTypeProperties()) { +// if (declaration.name.isEmpty()) { +// return //user still typing +// } +// val type = TypeQLPsiUtils.determineDeclarationType(declaration) +// if ("role" == type) { +// val usages = TypeQLUsagesFinder.findUsages(declaration) +// if (usages.isEmpty()) { +// holder.registerProblem( +// declaration.firstChild.nextSibling.nextSibling, +// "Role #ref is never used" +// ) +// } +// } +// } +// } +// } +// } +// } +// +// override fun getDisplayName(): String { +// return "Unused role declaration" +// } +// +// override fun getGroupDisplayName(): String { +// return TypeQLFileType.LANG_NAME +// } +// +// override fun getShortName(): String { +// return "UnusedRoleDeclaration" +// } +// +// override fun isEnabledByDefault(): Boolean { +// return true +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElement.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElement.kt index 3620df7..b619c29 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElement.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElement.kt @@ -1,38 +1,47 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.psi import com.intellij.lang.ASTNode import com.intellij.psi.impl.source.tree.CompositeElement -import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiOwnsTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiRelatesTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiSubTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType import org.antlr.intellij.adaptor.psi.ANTLRPsiNode +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ open class PsiTypeQLElement(node: ASTNode) : ANTLRPsiNode(node) { + open val labelNode: ASTNode? + get() = node - override fun getNode(): CompositeElement = super.getNode() as CompositeElement + open val scopedName: String? + get() = name - override fun getName(): String? { - return when (this) { - is PsiSubTypeConstraint -> this.subType - is PsiPlaysTypeConstraint -> this.playsType - is PsiOwnsTypeConstraint -> this.ownsType - else -> super.getName() - } - } + open val tokenText = "" - val scopedName: String? - get() = if (this is PsiRelatesTypeConstraint) { - val statementType = getParent() as PsiStatementType - statementType.name + ":" + getName() - } else { - name - } + protected val tokenTextOffset + get() = tokenText.length - 1 // Minus 2 quotes, plus 1 space + + override fun getNode(): CompositeElement = super.getNode() as CompositeElement override fun toString(): String = String.format( "%s(%s) - Location: %s", @@ -40,7 +49,7 @@ open class PsiTypeQLElement(node: ASTNode) : ANTLRPsiNode(node) { ) override fun subtreeChanged() { - val updatedElement = TypeQLParserDefinition.INSTANCE.createElement(super.getNode()) as PsiTypeQLElement + val updatedElement = TypeQLParserDefinition.INSTANCE.createElement(super.getNode()) TypeQLParserDefinition.updateWrappedTypeIfNecessary(super.getNode(), updatedElement) } } diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElementFactory.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElementFactory.kt new file mode 100644 index 0000000..6a376d6 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLElementFactory.kt @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi + +import com.intellij.openapi.project.Project +import com.intellij.psi.PsiFileFactory +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +object PsiTypeQLElementFactory { + fun createTypeProperty(project: Project?, name: String?): PsiTypeQLNamedElement? { + val dummyText = String.format("define\n%s sub entity;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> type node wrapper -> type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.firstChild?.firstChild + return if (node != null) node as PsiTypeQLNamedElement else null + } + + fun createSubTypeProperty(project: Project?, name: String?): PsiTypeQLReferencingElement? { + val dummyText = String.format("define\ndummy sub %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> type node wrapper -> whitespace -> subtype node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.firstChild?.nextSibling?.nextSibling + return if (node != null) node as PsiTypeQLReferencingElement else null + } + + fun createRelatesTypeProperty(project: Project?, name: String?): PsiTypeQLNamedElement? { + val dummyText = String.format("define\ndummy sub entity, relates %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> relates type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.lastChild + return if (node != null) node as PsiTypeQLNamedElement else null + } + + fun createPlaysTypeProperty(project: Project?, name: String?): PsiTypeQLReferencingElement? { + val dummyText = String.format("define\ndummy sub entity, plays %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> plays type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.lastChild + return if (node != null) node as PsiTypeQLReferencingElement else null + } + + fun createOwnsTypeProperty(project: Project?, name: String?): PsiTypeQLReferencingElement? { + val dummyText = String.format("define\ndummy sub entity, owns %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> owns type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.lastChild + return if (node != null) node as PsiTypeQLReferencingElement else null + } + + fun createRelatesAsOverrideTypeProperty(project: Project?, name: String?): PsiTypeQLReferencingElement? { + val dummyText = String.format("define\ndummy sub entity, relates something as %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> relates type node -> relates as override type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.lastChild?.lastChild + return if (node != null) node as PsiTypeQLReferencingElement else null + } + + fun createPlaysAsOverrideTypeProperty(project: Project?, name: String?): PsiTypeQLReferencingElement? { + val dummyText = String.format("define\ndummy sub entity, plays some:role as %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> plays type node -> plays as override type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.lastChild?.lastChild + return if (node != null) node as PsiTypeQLReferencingElement else null + } + + fun createOwnsAsOverrideTypeProperty(project: Project?, name: String?): PsiTypeQLReferencingElement? { + val dummyText = String.format("define\ndummy sub entity, owns something as %s;", name) + val file = createFile(project, dummyText) ?: return null + + // definables -> first definable -> statement -> owns type node -> annotation -> owns as override type node + val node = PsiTypeQLUtils.getDefinables(file)?.firstChild?.firstChild?.lastChild?.lastChild?.prevSibling + return if (node != null) node as PsiTypeQLReferencingElement else null + } + + fun createFile(project: Project?, text: String): PsiTypeQLFile { + return PsiFileFactory.getInstance(project).createFileFromText( + "dummy.tql", TypeQLFileType.INSTANCE, text + ) as PsiTypeQLFile + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFile.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFile.kt new file mode 100644 index 0000000..46d7dcb --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFile.kt @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi + +import com.intellij.extapi.psi.PsiFileBase +import com.intellij.openapi.fileTypes.FileType +import com.intellij.psi.FileViewProvider +import com.intellij.psi.PsiElement +import com.intellij.psi.PsiNamedElement +import org.antlr.intellij.adaptor.psi.ScopeNode +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.TypeQLIcons +import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage +import javax.swing.Icon + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLFile(viewProvider: FileViewProvider) : PsiFileBase(viewProvider, TypeQLLanguage.INSTANCE), ScopeNode { + override fun getFileType(): FileType { + return TypeQLFileType.INSTANCE + } + + override fun toString(): String { + return "${TypeQLFileType.LANG_NAME} file" + } + + override fun getIcon(flags: Int): Icon { + return TypeQLIcons.ICON + } + + /** + * Return null since a file scope has no enclosing scope. It is + * not itself in a scope. + */ + override fun getContext(): ScopeNode? { + return null + } + + override fun resolve(element: PsiNamedElement): PsiElement? { + return null + } +} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFileBase.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFileBase.kt deleted file mode 100644 index 05ef6db..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLFileBase.kt +++ /dev/null @@ -1,45 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi - -import com.intellij.extapi.psi.PsiFileBase -import com.intellij.openapi.fileTypes.FileType -import com.intellij.openapi.util.IconLoader -import com.intellij.psi.FileViewProvider -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiNamedElement -import org.typedb.typeql.plugin.jetbrains.TypeQLFileType -import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage -import org.antlr.intellij.adaptor.psi.ScopeNode -import javax.swing.Icon - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiTypeQLFileBase(viewProvider: FileViewProvider) : PsiFileBase(viewProvider, TypeQLLanguage.INSTANCE), - ScopeNode { - override fun getFileType(): FileType { - return TypeQLFileType.Util.INSTANCE - } - - override fun toString(): String { - return "TypeQL Language file" - } - - override fun getIcon(flags: Int): Icon { - return IconLoader.findIcon("/icons/typedb.svg", PsiTypeQLFileBase::class.java.classLoader)!! - } - - /** - * Return null since a file scope has no enclosing scope. It is - * not itself in a scope. - * - * - * todo: a file could be in the scope of all the other files in the project - */ - override fun getContext(): ScopeNode? { - return null - } - - override fun resolve(element: PsiNamedElement): PsiElement? { - return null - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLNamedElement.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLNamedElement.kt index 2ad915f..1554233 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLNamedElement.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLNamedElement.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.psi import com.intellij.lang.ASTNode @@ -7,27 +28,33 @@ import com.intellij.psi.PsiNameIdentifierOwner /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ -abstract class PsiTypeQLNamedElement(node: ASTNode) : PsiTypeQLElement(node), PsiNameIdentifierOwner { - override fun getTextRange(): TextRange { - val id = nameIdentifier - return id?.textRange!! - } +/** + * Classification between Named and Referencing elements is needed for referencing purposes + * (which is a basis for features like "Find Usages", "Find Declaration", "Refactor", etc.). + * Named elements are the declarations of entities which can be targets for these features. + * This way, they create new "names" for the language. + * @ref PsiTypeQLReferencingElement + * + * Examples: + * + * "my_new_entity" is a named element, declaring a new entity: + * "define my_new_entity sub entity;" + * + * "my_newest_entity" is a named element, declaring a new entity, + * "my_new_entity" is a referencing element, which only relates to the original named element, + * but does not create a new name: + * "define my_newest_entity sub my_new_entity;" + */ +abstract class PsiTypeQLNamedElement(node: ASTNode) : PsiTypeQLElement(node), PsiNameIdentifierOwner { + override fun getTextRange(): TextRange? = nameIdentifier?.textRange - override fun getName(): String? { - val id = nameIdentifier - return id?.text - } + override fun getName(): String? = nameIdentifier?.text - override fun getTextOffset(): Int { - val id = nameIdentifier - return id?.textOffset ?: super.getTextOffset() - } + override fun getTextOffset(): Int = nameIdentifier?.textOffset ?: super.getTextOffset() - override fun toString(): String { - return String.format( - "%s(%s) - Name: %s - Location: %s", - javaClass.simpleName, node.elementType, name, textRange - ) - } + override fun toString(): String = String.format( + "%s(%s) - Name: %s - Location: %s", + javaClass.simpleName, node.elementType, name, textRange + ) } diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLReferencingElement.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLReferencingElement.kt new file mode 100644 index 0000000..778d229 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLReferencingElement.kt @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi + +import com.intellij.lang.ASTNode +import com.intellij.psi.PsiReference +import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry + +/** + * Classification between Named and Referencing elements is needed for referencing purposes + * (which is a basis for features like "Find Usages", "Find Declaration", "Refactor", etc.). + * Referencing elements do not declare new "names" for the language, but only reference already + * existing named elements, thus being considered as a "usage" of that entity. + * @ref PsiTypeQLNamedElement + */ +abstract class PsiTypeQLReferencingElement(node: ASTNode) : PsiTypeQLElement(node) { + override fun getName(): String? = labelNode?.text + + override fun getReference(): PsiReference? { + val refs = ReferenceProvidersRegistry.getReferencesFromProviders(this) + return if (refs.isNotEmpty()) refs[0] else null + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLStatementType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLStatementType.kt new file mode 100644 index 0000000..577ec36 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLStatementType.kt @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi + +import com.intellij.lang.ASTNode + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLStatementType(node: ASTNode) : PsiTypeQLElement(node) { + + override fun getName(): String? = firstChild.text + + val subType: String? + get() = node.firstChildNode?.treeNext?.treeNext?.lastChildNode?.text + + // TODO: Uncomment and revalidate while returning the inspection package. +// fun findRelatesTypeProperties(): List { +// val relatesTypes: MutableList = ArrayList() +// for (child in children) { +// val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) +// if (element is PsiRelatesTypeConstraint) { +// relatesTypes.add(element) +// } +// } +// return relatesTypes +// } +// +// fun findPlaysTypeProperties(): List { +// val playsTypes: MutableList = ArrayList() +// for (child in children) { +// val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) +// if (element is PsiPlaysTypeConstraint) { +// playsTypes.add(element) +// } +// } +// return playsTypes +// } +// +// fun findOwnsTypeProperties(): List { +// val ownsTypes: MutableList = ArrayList() +// for (child in children) { +// val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) +// if (element is PsiOwnsTypeConstraint) { +// ownsTypes.add(element) +// } +// } +// return ownsTypes +// } +// +// fun findSubTypeProperties(): List { +// val subTypes: MutableList = ArrayList() +// for (child in children) { +// val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) +// if (element is PsiSubTypeConstraint) { +// subTypes.add(element) +// } +// } +// return subTypes +// } +// +// fun findTypeProperties(): List { +// val relatesTypes: MutableList = ArrayList() +// for (child in children) { +// val element = TypeQLParserDefinition.getRuleTypeElement(child.node) +// if (element is PsiTypeConstraint) { +// relatesTypes.add(element) +// } +// } +// return relatesTypes +// } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLUtils.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLUtils.kt new file mode 100644 index 0000000..5a5fae7 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/PsiTypeQLUtils.kt @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi + +import com.intellij.ide.scratch.ScratchUtil +import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.VirtualFile +import com.intellij.psi.PsiElement +import com.intellij.psi.PsiFile +import com.intellij.psi.PsiManager +import com.intellij.psi.search.FileTypeIndex +import com.intellij.psi.search.GlobalSearchScope +import com.intellij.psi.util.PsiTreeUtil +import org.antlr.intellij.adaptor.lexer.RuleIElementType +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage +import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeQLRelatesType +import org.typedb.typeql.plugin.jetbrains.usage.TypeQLDeclarationFinder +import java.util.function.Consumer +import java.util.stream.Collectors + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +object PsiTypeQLUtils { + fun getDefinables(file: PsiFile): PsiElement? { + return file.firstChild?.firstChild?.firstChild?.firstChild?.lastChild + } + + fun ensureTypeQLElementsUpToDate(root: PsiElement?) { + try { + PsiTreeUtil.collectElementsOfType(root, PsiTypeQLElement::class.java) + .forEach(Consumer { obj: PsiTypeQLElement -> obj.subtreeChanged() }) + } catch (ignored: Throwable) { + } + } + + fun getDeclarationsByType( + project: Project, + searchScope: Collection, + type: String + ): List { + return getAllDeclarations(project, searchScope).stream() + .filter { it: PsiTypeQLNamedElement -> type == determineDeclarationType(it) } + .collect(Collectors.toList()) + } + + fun getAllDeclarations( + project: Project, + searchScope: Collection + ): List { + val declarations: MutableList = ArrayList() + for (virtualFile in searchScope) { + val typeqlFile = PsiManager.getInstance(project).findFile(virtualFile!!) as PsiTypeQLFile? + if (typeqlFile != null) { + declarations.addAll(PsiTreeUtil.collectElementsOfType(typeqlFile, PsiTypeQLNamedElement::class.java)) + } + } + return declarations + } + + fun determineDeclarationType(identifier: PsiTypeQLNamedElement): String? { + val subType: String? + subType = if (identifier.parent is PsiTypeQLStatementType) { + (identifier.parent as PsiTypeQLStatementType).subType + } else { + (identifier.parent.parent as PsiTypeQLStatementType).subType + } + if (identifier is PsiTypeQLRelatesType) { + return "role" + } else if (TypeQLLanguage.TYPEQL_TYPES.contains(subType)) { + return subType + } + val searchScope: Collection + searchScope = if (ScratchUtil.isScratch(identifier.containingFile.virtualFile)) { + listOf(identifier.containingFile.virtualFile) + } else { + FileTypeIndex.getFiles( + TypeQLFileType.INSTANCE, + GlobalSearchScope.allScope(identifier.project) + ) + } + + val declaration = TypeQLDeclarationFinder.findDeclaration(identifier.project, subType, searchScope) + return if (declaration == null || declaration === identifier) { + null + } else { + determineDeclarationType(declaration) + } + } + + fun findParentByType( + element: PsiElement, + ruleElementType: RuleIElementType + ): PsiTypeQLElement? { + var parent: PsiElement? = element + while (parent?.parent.also { parent = it } != null) { + if (parent is PsiTypeQLElement) { + val compositeElement = (parent as PsiTypeQLElement).node + if (compositeElement.elementType === ruleElementType) { + return compositeElement.psi as PsiTypeQLElement + } + } + } + return null + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiElementFactory.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiElementFactory.kt deleted file mode 100644 index 0888430..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiElementFactory.kt +++ /dev/null @@ -1,43 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi - -import com.intellij.openapi.project.Project -import com.intellij.psi.PsiFileFactory -import org.typedb.typeql.plugin.jetbrains.TypeQLFileType - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -object TypeQLPsiElementFactory { - fun createTypeProperty(project: Project?, name: String?): PsiTypeQLNamedElement { - val dummyText = String.format("define\n%s sub entity;", name) - val file = createFile(project, dummyText) - return file.firstChild.firstChild.firstChild.lastChild.firstChild as PsiTypeQLNamedElement - } - - fun createSubTypeProperty(project: Project?, name: String?): PsiTypeQLElement { - val dummyText = String.format("define\ndummy sub %s;", name) - val file = createFile(project, dummyText) - return file.firstChild.firstChild.firstChild.lastChild.firstChild - .nextSibling.nextSibling as PsiTypeQLElement - } - - fun createRelatesTypeProperty(project: Project?, name: String?): PsiTypeQLNamedElement { - val dummyText = String.format("define\ndummy sub entity, relates %s;", name) - val file = createFile(project, dummyText) - return file.firstChild.firstChild.firstChild.lastChild.firstChild - .nextSibling.nextSibling.nextSibling.nextSibling.nextSibling as PsiTypeQLNamedElement - } - - fun createPlaysTypeProperty(project: Project?, name: String?): PsiTypeQLElement { - val dummyText = String.format("define\ndummy sub entity, plays %s;", name) - val file = createFile(project, dummyText) - return file.firstChild.firstChild.firstChild.lastChild.firstChild - .nextSibling.nextSibling.nextSibling.nextSibling.nextSibling as PsiTypeQLElement - } - - fun createFile(project: Project?, text: String?): PsiTypeQLFileBase { - return PsiFileFactory.getInstance(project).createFileFromText( - "dummy.tql", TypeQLFileType.Util.INSTANCE, text!! - ) as PsiTypeQLFileBase - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiUtils.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiUtils.kt deleted file mode 100644 index 9201fb2..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/TypeQLPsiUtils.kt +++ /dev/null @@ -1,289 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi - -import com.intellij.ide.scratch.ScratchUtil -import com.intellij.openapi.project.Project -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile -import com.intellij.psi.PsiManager -import com.intellij.psi.search.FileTypeIndex -import com.intellij.psi.search.GlobalSearchScope -import com.intellij.psi.util.PsiTreeUtil -import org.antlr.intellij.adaptor.lexer.RuleIElementType -import org.typedb.typeql.plugin.jetbrains.TypeQLFileType -import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage -import org.typedb.typeql.plugin.jetbrains.psi.constraint.* -import org.typedb.typeql.plugin.jetbrains.psi.statement.PsiStatementType -import java.util.function.Consumer -import java.util.stream.Collectors - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -object TypeQLPsiUtils { - fun ensureTypeQLElementsUpToDate(file: PsiFile?) { - try { - PsiTreeUtil.collectElementsOfType(file, PsiTypeQLElement::class.java) - .forEach(Consumer { obj: PsiTypeQLElement -> obj.subtreeChanged() }) - } catch (ignored: Throwable) { - } - } - - fun getDeclarationsByType( - project: Project, - searchScope: Collection, - type: String - ): List { - return getAllDeclarations(project, searchScope).stream() - .filter { it: PsiTypeQLNamedElement -> type == determineDeclarationType(it) } - .collect(Collectors.toList()) - } - - fun getAllDeclarations( - project: Project, - searchScope: Collection - ): List { - val declarations: MutableList = ArrayList() - for (virtualFile in searchScope) { - val typeqlFile = PsiManager.getInstance(project).findFile(virtualFile!!) as PsiTypeQLFileBase? - if (typeqlFile != null) { - declarations.addAll(PsiTreeUtil.collectElementsOfType(typeqlFile, PsiTypeQLNamedElement::class.java)) - } - } - return declarations - } - - fun findUsages(identifier: PsiTypeQLElement): List { - val identifierFile = identifier.node.psi.containingFile.virtualFile - return if (ScratchUtil.isScratch(identifierFile)) { - findUsages( - identifier.project, - identifier, - identifier.scopedName, - listOf(identifierFile) - ) - } else { - findUsages( - identifier.project, identifier, identifier.scopedName, - FileTypeIndex.getFiles( - TypeQLFileType.Util.INSTANCE, - GlobalSearchScope.allScope(identifier.project) - ) - ) - } - } - - fun findUsages( - project: Project, element: PsiTypeQLElement, - name: String?, searchScope: Collection - ): List { - //todo: review logic in this method - val result: MutableList = ArrayList() - if (name == null) { - return result - } - for (virtualFile in searchScope) { - val typeqlFile = PsiManager.getInstance(project).findFile(virtualFile!!) as PsiTypeQLFileBase? - if (typeqlFile != null) { - if (element is PsiOwnsTypeConstraint) { - val ownsIdentifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiOwnsTypeConstraint::class.java - ) - for (identifier in ownsIdentifiers) { - if (name == identifier.ownsType) { - result.add(identifier) - } - } - } else if (element is PsiSubTypeConstraint) { - val subTypeIdentifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiSubTypeConstraint::class.java - ) - for (identifier in subTypeIdentifiers) { - if (name == identifier.subType) { - result.add(identifier) - } - } - } else if (element is PsiPlaysTypeConstraint - || element is PsiRelatesSuperRoleTypeConstraint - ) { - val playsIdentifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiPlaysTypeConstraint::class.java - ) - for (identifier in playsIdentifiers) { - if (name == identifier.playsType) { - result.add(identifier) - } - } - val relatesSuperRoleIdentifiers = - PsiTreeUtil.collectElementsOfType(typeqlFile, PsiRelatesSuperRoleTypeConstraint::class.java) - for (identifier in relatesSuperRoleIdentifiers) { - if (name == identifier.text) { - result.add(identifier) - } - } - } else { - val ownsIdentifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiOwnsTypeConstraint::class.java - ) - for (identifier in ownsIdentifiers) { - if (name == identifier.ownsType) { - result.add(identifier) - } - } - val subTypeIdentifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiSubTypeConstraint::class.java - ) - for (identifier in subTypeIdentifiers) { - if (name == identifier.subType) { - result.add(identifier) - } - } - val playsIdentifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiPlaysTypeConstraint::class.java - ) - for (identifier in playsIdentifiers) { - if (name == identifier.playsType) { - result.add(identifier) - } - } - val relatesSuperRoleIdentifiers = - PsiTreeUtil.collectElementsOfType(typeqlFile, PsiRelatesSuperRoleTypeConstraint::class.java) - for (identifier in relatesSuperRoleIdentifiers) { - if (name == identifier.text) { - result.add(identifier) - } - } - } - } - } - return result - } - - fun findDeclaration( - project: Project, name: String?, - searchScope: Collection - ): PsiTypeQLNamedElement? { - val declarations = findDeclarations(project, name, searchScope) - return if (declarations.isEmpty()) { - null - } else { - declarations[0] - } - } - - fun findDeclaration(project: Project, identifier: PsiTypeQLElement): PsiTypeQLNamedElement? { - val declarations = findDeclarations(project, identifier) - return if (declarations.isEmpty()) { - null - } else { - declarations[0] - } - } - - fun findDeclarations( - project: Project, - identifier: PsiTypeQLElement - ): List { - val identifierFile = identifier.node.psi.containingFile.virtualFile - return if (ScratchUtil.isScratch(identifierFile)) { - findDeclarations(project, identifier.scopedName, listOf(identifierFile)) - } else { - findDeclarations( - project, identifier.scopedName, FileTypeIndex.getFiles( - TypeQLFileType.Util.INSTANCE, GlobalSearchScope.allScope(project) - ) - ) - } - } - - fun findDeclarations( - project: Project, name: String?, - searchScope: Collection - ): List { - val declarations: MutableList = ArrayList() - if (name == null) { - return declarations - } - for (virtualFile in searchScope) { - val typeqlFile = PsiManager.getInstance(project).findFile(virtualFile!!) as PsiTypeQLFileBase? - if (typeqlFile != null) { - val identifiers = PsiTreeUtil.collectElementsOfType( - typeqlFile, PsiTypeQLNamedElement::class.java - ) - for (identifier in identifiers) { - if (name == identifier.scopedName) { - declarations.add(identifier) - } - } - } - } - return declarations - } - - fun determineDeclarationType(identifier: PsiTypeQLNamedElement): String? { - val subType: String? - subType = if (identifier.parent is PsiStatementType) { - (identifier.parent as PsiStatementType).subType - } else { - (identifier.parent.parent as PsiStatementType).subType - } - if (identifier is PsiRelatesTypeConstraint) { - return "role" - } else if (TypeQLLanguage.GRAQL_TYPES.contains(subType)) { - return subType - } - val searchScope: Collection - searchScope = if (ScratchUtil.isScratch(identifier.containingFile.virtualFile)) { - listOf(identifier.containingFile.virtualFile) - } else { - FileTypeIndex.getFiles( - TypeQLFileType.Util.INSTANCE, - GlobalSearchScope.allScope(identifier.project) - ) - } - val declaration = findDeclaration(identifier.project, subType, searchScope) - return if (declaration == null || declaration === identifier) { - null - } else { - determineDeclarationType(declaration) - } - } - - fun setName(element: PsiTypeQLElement, newName: String): PsiElement { - if (element is PsiTypeConstraint) { - val typeProperty = TypeQLPsiElementFactory.createTypeProperty(element.getProject(), newName) - element.getParent().node.replaceChild(element.getNode(), typeProperty.node) - } else if (element is PsiSubTypeConstraint) { - val subTypeProperty = TypeQLPsiElementFactory.createSubTypeProperty(element.getProject(), newName) - element.getParent().node.replaceChild(element.getNode(), subTypeProperty.node) - } else if (element is PsiRelatesTypeConstraint) { - val typeProperty = TypeQLPsiElementFactory.createRelatesTypeProperty(element.getProject(), newName) - element.getNode().replaceChild( - element.getFirstChild().nextSibling.nextSibling.node, - typeProperty.firstChild.nextSibling.nextSibling.node - ) - } else if (element is PsiPlaysTypeConstraint) { - val playsTypeProperty = TypeQLPsiElementFactory.createPlaysTypeProperty(element.getProject(), newName) - element.getParent().node.replaceChild(element.getNode(), playsTypeProperty.node) - } else { - throw UnsupportedOperationException() - } - return element - } - - fun findParentByType( - element: PsiElement, - ruleElementType: RuleIElementType - ): PsiTypeQLElement? { - var parent: PsiElement? = element - while (parent?.parent.also { parent = it } != null) { - if (parent is PsiTypeQLElement) { - val compositeElement = (parent as PsiTypeQLElement).node - if (compositeElement.elementType === ruleElementType) { - return compositeElement.psi as PsiTypeQLElement - } - } - } - return null - } -} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiOwnsTypeConstraint.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiOwnsTypeConstraint.kt deleted file mode 100644 index 822c245..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiOwnsTypeConstraint.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.constraint - -import com.intellij.lang.ASTNode -import com.intellij.openapi.util.TextRange -import com.intellij.psi.PsiReference -import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiOwnsTypeConstraint(node: ASTNode) : PsiTypeQLElement(node) { - val ownsTypeTextRange: TextRange - get() = TextRange(4, 4 + ownsType!!.length) - val ownsType: String? - get() = if (lastChild != null) { - lastChild.text - } else null - val isAbstractType: Boolean - get() = ownsType == "abstract" - val isKey: Boolean - get() = firstChild != null && firstChild.text == "key" - - override fun getReference(): PsiReference? { - return if (ownsType == null || isAbstractType) { - null - } else ReferenceProvidersRegistry.getReferencesFromProviders(this)[0] - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiPlaysTypeConstraint.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiPlaysTypeConstraint.kt deleted file mode 100644 index b7fb4ed..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiPlaysTypeConstraint.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.constraint - -import com.intellij.lang.ASTNode -import com.intellij.openapi.util.TextRange -import com.intellij.psi.PsiReference -import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiPlaysTypeConstraint(node: ASTNode) : PsiTypeQLElement(node) { - val playsTypeTextRange: TextRange - get() { - val scopeIndex = text.indexOf(":") + 1 - return TextRange(scopeIndex, 6 + playsType!!.length) - } - val playsType: String? - get() = if (lastChild != null) { - lastChild.text - } else null - val isAbstractType: Boolean - get() = playsType == "abstract" - - override fun getReference(): PsiReference? { - return if (playsType == null || isAbstractType) { - null - } else ReferenceProvidersRegistry.getReferencesFromProviders(this)[0] - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesSuperRoleTypeConstraint.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesSuperRoleTypeConstraint.kt deleted file mode 100644 index c60a0c7..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesSuperRoleTypeConstraint.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.constraint - -import com.intellij.lang.ASTNode -import com.intellij.psi.PsiReference -import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiRelatesSuperRoleTypeConstraint(node: ASTNode) : PsiTypeQLElement(node) { - override fun getReference(): PsiReference? { - return ReferenceProvidersRegistry.getReferencesFromProviders(this)[0] - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesTypeConstraint.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesTypeConstraint.kt deleted file mode 100644 index 1cb4661..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiRelatesTypeConstraint.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.constraint - -import com.intellij.lang.ASTNode -import com.intellij.openapi.util.TextRange -import com.intellij.psi.PsiElement -import com.intellij.util.IncorrectOperationException -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiRelatesTypeConstraint(node: ASTNode) : PsiTypeQLNamedElement(node) { - - override fun getTextRange(): TextRange { - return TextRange(super.getTextRange().startOffset - "relates ".length, super.getTextRange().endOffset) - } - - override fun getNameIdentifier(): PsiElement? { - //todo: seems wrong - if (node.firstChildNode != null && node.firstChildNode.treeNext != null && node.firstChildNode.treeNext.treeNext != null) { - val idNode: ASTNode? = node.firstChildNode.treeNext.treeNext - if (idNode != null) { - return idNode.psi - } - } - return null - } - - @Throws(IncorrectOperationException::class) - override fun setName(name: String): PsiElement { - return TypeQLPsiUtils.setName(this, name) - } -} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiSubTypeConstraint.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiSubTypeConstraint.kt deleted file mode 100644 index ca828e2..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiSubTypeConstraint.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.constraint - -import com.intellij.lang.ASTNode -import com.intellij.openapi.util.TextRange -import com.intellij.psi.PsiReference -import com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiSubTypeConstraint(node: ASTNode) : PsiTypeQLElement(node) { - val subTypeTextRange: TextRange - get() = TextRange(4, 4 + subType!!.length) - val subType: String? - get() = if (lastChild != null) { - lastChild.text - } else null - - override fun getReference(): PsiReference? { - if (subType == null) { - return null - } - val references = ReferenceProvidersRegistry.getReferencesFromProviders(this) - return if (references.size > 0) references[0] else null - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeConstraint.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeConstraint.kt deleted file mode 100644 index df090c3..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeConstraint.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.constraint - -import com.intellij.lang.ASTNode -import com.intellij.psi.PsiElement -import com.intellij.util.IncorrectOperationException -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiTypeConstraint(node: ASTNode) : PsiTypeQLNamedElement(node) { - override fun getNameIdentifier(): PsiElement? { - //todo: seems wrong - return node.firstChildNode.psi - } - - @Throws(IncorrectOperationException::class) - override fun setName(name: String): PsiElement { - return TypeQLPsiUtils.setName(this, name) - } -} \ No newline at end of file diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLAsOverrideTypeBase.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLAsOverrideTypeBase.kt new file mode 100644 index 0000000..d27b080 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLAsOverrideTypeBase.kt @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode +import com.intellij.openapi.util.TextRange +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLReferencingElement + +abstract class PsiTypeQLAsOverrideTypeBase(node: ASTNode) : PsiTypeQLReferencingElement(node) { + override val labelNode: ASTNode? + get() = node + + val superRoleTextRange: TextRange + get() = TextRange(0, (name ?: "").length) +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsAsOverrideType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsAsOverrideType.kt new file mode 100644 index 0000000..38b80a6 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsAsOverrideType.kt @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode + +class PsiTypeQLOwnsAsOverrideType(node: ASTNode) : PsiTypeQLAsOverrideTypeBase(node) { +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsType.kt new file mode 100644 index 0000000..2060044 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLOwnsType.kt @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode +import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiReference +import com.vaticle.typeql.grammar.TypeQLParser +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLReferencingElement + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLOwnsType(node: ASTNode) : PsiTypeQLReferencingElement(node) { + override val labelNode: ASTNode? + get() = node.firstChildNode?.treeNext?.treeNext + + val ownsTypeTextRange: TextRange + get() = TextRange(tokenTextOffset, tokenTextOffset + ownsType!!.length) + + val ownsType: String? + get() = labelNode?.text + + override val tokenText = TypeQLParserDefinition.getTokenText(TypeQLParser.OWNS) + + override fun getName(): String? = this.ownsType + + override fun getReference(): PsiReference? = if (ownsType == null) null else super.getReference() +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysAsOverrideType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysAsOverrideType.kt new file mode 100644 index 0000000..4c91d7b --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysAsOverrideType.kt @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode + +class PsiTypeQLPlaysAsOverrideType(node: ASTNode) : PsiTypeQLAsOverrideTypeBase(node) { +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysType.kt new file mode 100644 index 0000000..d4aec97 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLPlaysType.kt @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode +import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiReference +import com.vaticle.typeql.grammar.TypeQLParser +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLReferencingElement + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLPlaysType(node: ASTNode) : PsiTypeQLReferencingElement(node) { + override val labelNode: ASTNode? + get() = node.firstChildNode?.treeNext?.treeNext + + val playsTypeTextRange: TextRange + get() { + val scopeIndex = text.indexOf(rolePrefix) + 1 + val superRoleIndex = text.indexOf(asTokenText) + val endIndex = if (superRoleIndex == -1) tokenTextOffset + playsType!!.length else superRoleIndex + + return if (scopeIndex <= endIndex) TextRange(scopeIndex, endIndex) else TextRange(0, 0) + } + + override val tokenText = TypeQLParserDefinition.getTokenText(TypeQLParser.PLAYS) + private val asTokenText = TypeQLParserDefinition.getTokenText(TypeQLParser.AS) + private val rolePrefix = ":" + + val playsType: String? + get() = labelNode?.text + + val playsScope: String? + get() { + if (playsType == null) { + return null + } + + val scopeIndex = playsType!!.indexOf(rolePrefix) + return playsType!!.substring(0, scopeIndex) + } + + fun buildScopedName(newName: String): String { + return playsScope + rolePrefix + newName + } + + override fun getName(): String? = this.playsType + + override fun getReference(): PsiReference? = if (playsType == null) null else super.getReference() +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesAsOverrideType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesAsOverrideType.kt new file mode 100644 index 0000000..b8fb63d --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesAsOverrideType.kt @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLRelatesAsOverrideType(node: ASTNode) : PsiTypeQLAsOverrideTypeBase(node) { +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesType.kt new file mode 100644 index 0000000..546aceb --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLRelatesType.kt @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode +import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiElement +import com.intellij.util.IncorrectOperationException +import com.vaticle.typeql.grammar.TypeQLParser +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElementFactory +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLStatementType + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLRelatesType(node: ASTNode) : PsiTypeQLNamedElement(node) { + override val labelNode: ASTNode? + get() = node.firstChildNode?.treeNext?.treeNext + + override val scopedName: String? + get() { + val statement = parent as PsiTypeQLStatementType + return String.format("%s:%s", statement.name, name) + } + + override val tokenText = TypeQLParserDefinition.getTokenText(TypeQLParser.RELATES) + + override fun getTextRange(): TextRange? { + val fullTextRange = super.getTextRange() ?: return null + return TextRange(fullTextRange.startOffset - tokenTextOffset, fullTextRange.endOffset) + } + + override fun getNameIdentifier(): PsiElement? { + return labelNode?.psi + } + + @Throws(IncorrectOperationException::class) + override fun setName(name: String): PsiElement { + val typeProperty = PsiTypeQLElementFactory.createRelatesTypeProperty(project, name) ?: return this + + if (labelNode == null || typeProperty.labelNode == null) { + throw NullPointerException("Cannot access label node for $this") + } + + node.replaceChild(labelNode!!, typeProperty.labelNode!!) + return this + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLSubType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLSubType.kt new file mode 100644 index 0000000..9db71a7 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLSubType.kt @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode +import com.intellij.openapi.util.TextRange +import com.intellij.psi.PsiReference +import com.vaticle.typeql.grammar.TypeQLParser +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLReferencingElement + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLSubType(node: ASTNode) : PsiTypeQLReferencingElement(node) { + override val labelNode: ASTNode? + get() = node.lastChildNode + + val subTypeTextRange: TextRange + get() = TextRange(tokenTextOffset, tokenTextOffset + subType!!.length) + + val subType: String? + get() = labelNode?.text + + override val tokenText = TypeQLParserDefinition.getTokenText(TypeQLParser.SUB) + + override fun getName(): String? = this.subType + + override fun getReference(): PsiReference? = if (subType == null) null else super.getReference() +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLType.kt new file mode 100644 index 0000000..23fa52a --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/constraint/PsiTypeQLType.kt @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.psi.constraint + +import com.intellij.lang.ASTNode +import com.intellij.psi.PsiElement +import com.intellij.util.IncorrectOperationException +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElementFactory +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement + +/** + * @author [Brandon Fergerson](mailto:bfergerson@apache.org) + */ +class PsiTypeQLType(node: ASTNode) : PsiTypeQLNamedElement(node) { + override val labelNode: ASTNode? + get() = node.firstChildNode + + override fun getNameIdentifier(): PsiElement? { + return labelNode?.psi + } + + @Throws(IncorrectOperationException::class) + override fun setName(name: String): PsiElement { + val typeProperty = PsiTypeQLElementFactory.createTypeProperty(project, name) ?: return this + + if (labelNode == null || typeProperty.labelNode == null) { + throw NullPointerException("Cannot access label node for $this") + } + + node.replaceChild(labelNode!!, typeProperty.labelNode!!) + return this + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/statement/PsiStatementType.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/statement/PsiStatementType.kt deleted file mode 100644 index 847c629..0000000 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/psi/statement/PsiStatementType.kt +++ /dev/null @@ -1,79 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains.psi.statement - -import com.intellij.lang.ASTNode -import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement -import org.typedb.typeql.plugin.jetbrains.psi.constraint.* - -/** - * @author [Brandon Fergerson](mailto:bfergerson@apache.org) - */ -class PsiStatementType(node: ASTNode) : PsiTypeQLElement(node) { - - override fun getName(): String? = firstChild.text - - //todo: seems wrong - val subType: String? - get() = if (node.firstChildNode == null || - node.firstChildNode.treeNext == null || - node.firstChildNode.treeNext.treeNext == null || - node.firstChildNode.treeNext.treeNext.lastChildNode == null - ) { - null - } else node.firstChildNode.treeNext.treeNext.lastChildNode.text - - fun findRelatesTypeProperties(): List { - val relatesTypes: MutableList = ArrayList() - for (child in children) { - val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) - if (element is PsiRelatesTypeConstraint) { - relatesTypes.add(element) - } - } - return relatesTypes - } - - fun findPlaysTypeProperties(): List { - val playsTypes: MutableList = ArrayList() - for (child in children) { - val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) - if (element is PsiPlaysTypeConstraint) { - playsTypes.add(element) - } - } - return playsTypes - } - - fun findOwnsTypeProperties(): List { - val ownsTypes: MutableList = ArrayList() - for (child in children) { - val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) - if (element is PsiOwnsTypeConstraint) { - ownsTypes.add(element) - } - } - return ownsTypes - } - - fun findSubTypeProperties(): List { - val subTypes: MutableList = ArrayList() - for (child in children) { - val element = TypeQLParserDefinition.getRuleTypePropertyElement(child.node) - if (element is PsiSubTypeConstraint) { - subTypes.add(element) - } - } - return subTypes - } - - fun findTypeProperties(): List { - val relatesTypes: MutableList = ArrayList() - for (child in children) { - val element = TypeQLParserDefinition.getRuleTypeElement(child.node) - if (element is PsiTypeConstraint) { - relatesTypes.add(element) - } - } - return relatesTypes - } -} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLCommenter.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLCommenter.kt index 274c7aa..0fd2c55 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLCommenter.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLCommenter.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.refactor import com.intellij.codeInsight.generation.CommenterDataHolder @@ -113,4 +134,4 @@ class TypeQLCommenter : Commenter, SelfManagingCommenter { companion object { const val HASH_COMMENT_PREFIX = "#" } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLNamesValidator.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLNamesValidator.kt index 253a254..8187d7d 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLNamesValidator.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLNamesValidator.kt @@ -1,24 +1,45 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.refactor import com.intellij.lang.refactoring.NamesValidator import com.intellij.openapi.project.Project -import org.typedb.typeql.plugin.jetbrains.TypeQLParser +import com.vaticle.typeql.grammar.TypeQLParser import java.util.* /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ -class TypeQLNamesValidator : NamesValidator { - override fun isKeyword(name: String, project: Project): Boolean { - return GRAQL_KEYWORDS.contains("'$name'") - } - - override fun isIdentifier(name: String, project: Project): Boolean { - return !isKeyword(name, project) - } - - companion object { - //todo: filter for real keywords ("VAR_" isn't keyword) - val GRAQL_KEYWORDS: Set = HashSet(Arrays.asList(*TypeQLParser.tokenNames)) - } -} \ No newline at end of file +//class TypeQLNamesValidator : NamesValidator { +// override fun isKeyword(name: String, project: Project): Boolean { +// return TYPEQL_KEYWORDS.contains("'$name'") +// } +// +// override fun isIdentifier(name: String, project: Project): Boolean { +// return !isKeyword(name, project) +// } +// +// companion object { +// // TODO: filter for real keywords ("VAR_" isn't keyword) +// val TYPEQL_KEYWORDS: Set = HashSet(Arrays.asList(*TypeQLParser.tokenNames)) +// } +//} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLRefactoringSupportProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLRefactoringSupportProvider.kt index d18fa6f..2e47dd8 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLRefactoringSupportProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/refactor/TypeQLRefactoringSupportProvider.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.refactor import com.intellij.lang.refactoring.RefactoringSupportProvider @@ -15,4 +36,4 @@ class TypeQLRefactoringSupportProvider : RefactoringSupportProvider() { override fun isMemberInplaceRenameAvailable(element: PsiElement, context: PsiElement?): Boolean { return element is PsiTypeQLNamedElement } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReference.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReference.kt index bb9c0f9..1046c29 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReference.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReference.kt @@ -1,44 +1,95 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.reference import com.intellij.openapi.util.TextRange import com.intellij.psi.* import com.intellij.util.IncorrectOperationException import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiOwnsTypeConstraint +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElementFactory +import org.typedb.typeql.plugin.jetbrains.psi.constraint.* +import org.typedb.typeql.plugin.jetbrains.usage.TypeQLDeclarationFinder /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ class TypeQLReference(element: PsiTypeQLElement, textRange: TextRange) : - PsiReferenceBase(element, textRange), PsiPolyVariantReference { + PsiReferenceBase(element, textRange) { + @Throws(IncorrectOperationException::class) + override fun handleElementRename(newName: String): PsiElement { + if (myElement == null) { + throw UnsupportedOperationException("Cannot handle element renaming for not existing element $element") + } + + val tempProperty: PsiTypeQLElement? + val renamingElement = myElement!! + + when (renamingElement) { + is PsiTypeQLSubType -> tempProperty = + PsiTypeQLElementFactory.createSubTypeProperty(renamingElement.project, newName) + + is PsiTypeQLPlaysType -> tempProperty = + PsiTypeQLElementFactory.createPlaysTypeProperty( + renamingElement.project, renamingElement.buildScopedName(newName) + ) + + is PsiTypeQLOwnsType -> tempProperty = + PsiTypeQLElementFactory.createOwnsTypeProperty(renamingElement.project, newName) - override fun getRangeInElement(): TextRange { - return if (element is PsiOwnsTypeConstraint) { - TextRange(super.getRangeInElement().startOffset + 1, super.getRangeInElement().endOffset + 1) - } else { - super.getRangeInElement() + is PsiTypeQLRelatesAsOverrideType -> tempProperty = + PsiTypeQLElementFactory.createRelatesAsOverrideTypeProperty(renamingElement.project, newName) + + is PsiTypeQLPlaysAsOverrideType -> tempProperty = + PsiTypeQLElementFactory.createPlaysAsOverrideTypeProperty(renamingElement.project, newName) + + is PsiTypeQLOwnsAsOverrideType -> tempProperty = + PsiTypeQLElementFactory.createOwnsAsOverrideTypeProperty(renamingElement.project, newName) + + else -> throw UnsupportedOperationException("Cannot set name to this element $element") } - } - @Throws(IncorrectOperationException::class) - override fun handleElementRename(newElementName: String): PsiElement { - return TypeQLPsiUtils.setName(myElement!!, newElementName) - } + if (tempProperty != null) { + if (renamingElement.labelNode == null || tempProperty.labelNode == null) { + throw NullPointerException("Cannot access label node for $this") + } - override fun multiResolve(incompleteCode: Boolean): Array { - val results: MutableList = ArrayList() - for (identifier in TypeQLPsiUtils.findUsages(myElement!!)) { - results.add(PsiElementResolveResult(identifier)) + renamingElement.labelNode!!.treeParent.replaceChild( + renamingElement.labelNode!!, tempProperty.labelNode!! + ) } - return results.toTypedArray() + + return renamingElement } override fun resolve(): PsiElement? { - return TypeQLPsiUtils.findDeclaration(myElement!!.project, myElement!!) + return TypeQLDeclarationFinder.findDeclaration(myElement!!.project, myElement!!) } override fun getVariants(): Array { return emptyArray() } + + override fun toString(): String = String.format( + "%s(%s)", + javaClass.simpleName, myElement?.node + ) } diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReferenceContributor.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReferenceContributor.kt index 650950d..93e6937 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReferenceContributor.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/reference/TypeQLReferenceContributor.kt @@ -1,73 +1,119 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.reference -import com.intellij.openapi.util.TextRange import com.intellij.patterns.PlatformPatterns import com.intellij.psi.* import com.intellij.util.ProcessingContext -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiOwnsTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiPlaysTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiRelatesSuperRoleTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiSubTypeConstraint +import org.typedb.typeql.plugin.jetbrains.psi.constraint.* /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ class TypeQLReferenceContributor : PsiReferenceContributor() { override fun registerReferenceProviders(registrar: PsiReferenceRegistrar) { + registrar.registerReferenceProvider( - PlatformPatterns.psiElement(PsiOwnsTypeConstraint::class.java), + PlatformPatterns.psiElement(PsiTypeQLOwnsAsOverrideType::class.java), object : PsiReferenceProvider() { override fun getReferencesByElement( element: PsiElement, context: ProcessingContext ): Array { - val ownsElement = element as PsiOwnsTypeConstraint + val typeElement = element as PsiTypeQLOwnsAsOverrideType return arrayOf( - TypeQLReference(ownsElement, ownsElement.ownsTypeTextRange) + TypeQLReference(typeElement, typeElement.superRoleTextRange) ) } }) + registrar.registerReferenceProvider( - PlatformPatterns.psiElement(PsiPlaysTypeConstraint::class.java), + PlatformPatterns.psiElement(PsiTypeQLPlaysAsOverrideType::class.java), object : PsiReferenceProvider() { override fun getReferencesByElement( element: PsiElement, context: ProcessingContext ): Array { - val playsElement = element as PsiPlaysTypeConstraint + val typeElement = element as PsiTypeQLPlaysAsOverrideType + return arrayOf( + TypeQLReference(typeElement, typeElement.superRoleTextRange) + ) + } + }) + + registrar.registerReferenceProvider( + PlatformPatterns.psiElement(PsiTypeQLRelatesAsOverrideType::class.java), + object : PsiReferenceProvider() { + override fun getReferencesByElement( + element: PsiElement, + context: ProcessingContext + ): Array { + val typeElement = element as PsiTypeQLRelatesAsOverrideType + return arrayOf( + TypeQLReference(typeElement, typeElement.superRoleTextRange) + ) + } + }) + + registrar.registerReferenceProvider( + PlatformPatterns.psiElement(PsiTypeQLPlaysType::class.java), + object : PsiReferenceProvider() { + override fun getReferencesByElement( + element: PsiElement, + context: ProcessingContext + ): Array { + val playsElement = element as PsiTypeQLPlaysType return arrayOf( TypeQLReference(playsElement, playsElement.playsTypeTextRange) ) } }) - registrar.registerReferenceProvider(PlatformPatterns.psiElement( - PsiRelatesSuperRoleTypeConstraint::class.java - ), object : PsiReferenceProvider() { - override fun getReferencesByElement( - element: PsiElement, - context: ProcessingContext - ): Array { - val relatesSuperRoleElement = element as PsiRelatesSuperRoleTypeConstraint - return arrayOf( - TypeQLReference( - relatesSuperRoleElement, - TextRange(0, relatesSuperRoleElement.text.length) + + registrar.registerReferenceProvider( + PlatformPatterns.psiElement(PsiTypeQLOwnsType::class.java), + object : PsiReferenceProvider() { + override fun getReferencesByElement( + element: PsiElement, + context: ProcessingContext + ): Array { + val playsElement = element as PsiTypeQLOwnsType + return arrayOf( + TypeQLReference(playsElement, playsElement.ownsTypeTextRange) ) - ) - } - }) + } + }) + registrar.registerReferenceProvider( - PlatformPatterns.psiElement(PsiSubTypeConstraint::class.java), + PlatformPatterns.psiElement(PsiTypeQLSubType::class.java), object : PsiReferenceProvider() { override fun getReferencesByElement( element: PsiElement, context: ProcessingContext ): Array { - val subTypeElement = element as PsiSubTypeConstraint + val subTypeElement = element as PsiTypeQLSubType return arrayOf( TypeQLReference(subTypeElement, subTypeElement.subTypeTextRange) ) } }) } -} \ No newline at end of file +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLDeclarationFinder.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLDeclarationFinder.kt new file mode 100644 index 0000000..597c885 --- /dev/null +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLDeclarationFinder.kt @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.usage + +import com.intellij.ide.scratch.ScratchUtil +import com.intellij.openapi.project.Project +import com.intellij.openapi.vfs.VirtualFile +import com.intellij.psi.PsiManager +import com.intellij.psi.search.FileTypeIndex +import com.intellij.psi.search.GlobalSearchScope +import com.intellij.psi.util.PsiTreeUtil +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLFile +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement + +object TypeQLDeclarationFinder { + fun findDeclaration(project: Project, identifier: PsiTypeQLElement): PsiTypeQLNamedElement? { + val declarations = findDeclarations(project, identifier) + return if (declarations.isNotEmpty()) declarations[0] else null + } + + fun findDeclaration( + project: Project, + targetName: String?, + searchScope: Collection + ): PsiTypeQLNamedElement? { + val declarations = findDeclarations(project, targetName, searchScope) + return if (declarations.isNotEmpty()) declarations[0] else null + } + + fun findDeclarations( + project: Project, + identifier: PsiTypeQLElement + ): List { + val identifierFile = identifier.node.psi.containingFile.virtualFile + + return if (ScratchUtil.isScratch(identifierFile)) { + findDeclarations(project, identifier.scopedName, listOf(identifierFile)) + } else { + findDeclarations( + project, identifier.scopedName, FileTypeIndex.getFiles( + TypeQLFileType.INSTANCE, GlobalSearchScope.allScope(project) + ) + ) + } + } + + fun findDeclarations( + project: Project, + targetName: String?, + searchScope: Collection + ): List { + if (targetName == null) { + return emptyList() + } + + val scopedNameDeclarations: MutableList = ArrayList() + val nameDeclarations: MutableList = ArrayList() + + for (virtualFile in searchScope) { + val typeqlFile = PsiManager.getInstance(project).findFile(virtualFile!!) as PsiTypeQLFile? ?: continue + + val namedElements = PsiTreeUtil.collectElementsOfType(typeqlFile, PsiTypeQLNamedElement::class.java) + + for (namedElement in namedElements) { + if (targetName == namedElement.scopedName) { + scopedNameDeclarations.add(namedElement) + } + + if (targetName == namedElement.name) { + nameDeclarations.add(namedElement) + } + } + } + + return scopedNameDeclarations + nameDeclarations + } +} diff --git a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLFindUsagesProvider.kt b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLFindUsagesProvider.kt index ec8a383..bf5fd31 100644 --- a/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLFindUsagesProvider.kt +++ b/src/main/kotlin/org/typedb/typeql/plugin/jetbrains/usage/TypeQLFindUsagesProvider.kt @@ -1,3 +1,24 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.typedb.typeql.plugin.jetbrains.usage import com.intellij.lang.cacheBuilder.DefaultWordsScanner @@ -5,34 +26,28 @@ import com.intellij.lang.cacheBuilder.WordsScanner import com.intellij.lang.findUsages.FindUsagesProvider import com.intellij.psi.PsiElement import com.intellij.psi.tree.TokenSet -import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage -import org.typedb.typeql.plugin.jetbrains.TypeQLLexer -import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition -import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLNamedElement -import org.typedb.typeql.plugin.jetbrains.psi.TypeQLPsiUtils -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiRelatesTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiSubTypeConstraint -import org.typedb.typeql.plugin.jetbrains.psi.constraint.PsiTypeConstraint +import com.vaticle.typeql.grammar.TypeQLLexer import org.antlr.intellij.adaptor.lexer.ANTLRLexerAdaptor +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.TypeQLLanguage +import org.typedb.typeql.plugin.jetbrains.TypeQLTokenSets +import org.typedb.typeql.plugin.jetbrains.psi.PsiTypeQLElement /** * @author [Brandon Fergerson](mailto:bfergerson@apache.org) */ class TypeQLFindUsagesProvider : FindUsagesProvider { override fun getWordsScanner(): WordsScanner? { - val lexer = TypeQLLexer(null) return DefaultWordsScanner( - ANTLRLexerAdaptor(TypeQLLanguage.INSTANCE, lexer), - TypeQLParserDefinition.Companion.IDS, - TypeQLParserDefinition.Companion.COMMENTS, + ANTLRLexerAdaptor(TypeQLLanguage.INSTANCE, TypeQLLexer(null)), + TypeQLTokenSets.IDENTIFIERS, + TypeQLTokenSets.COMMENTS, TokenSet.EMPTY ) } - override fun canFindUsagesFor(psiElement: PsiElement): Boolean { - return (psiElement is PsiTypeConstraint - || psiElement is PsiSubTypeConstraint - || psiElement is PsiRelatesTypeConstraint) + override fun canFindUsagesFor(element: PsiElement): Boolean { + return element is PsiTypeQLElement } override fun getHelpId(psiElement: PsiElement): String? { @@ -40,25 +55,14 @@ class TypeQLFindUsagesProvider : FindUsagesProvider { } override fun getType(element: PsiElement): String { - return if (element is PsiTypeQLNamedElement) { - val declarationType = TypeQLPsiUtils.determineDeclarationType(element) - if (declarationType != null) { - "TypeQL $declarationType" - } else { - "TypeQL element" - } - } else { - //todo: can this happen? - "" - } + return if (element is PsiTypeQLElement) "${TypeQLFileType.LANG_NAME} element" else "" } override fun getDescriptiveName(element: PsiElement): String { - return element.text + return if (element is PsiTypeQLElement) element.scopedName!! else "" } override fun getNodeText(element: PsiElement, useFullName: Boolean): String { - val namedElement = element as PsiTypeQLNamedElement - return namedElement.name!! + return if (element is PsiTypeQLElement) element.name!! else "" } -} \ No newline at end of file +} diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index 1694afb..fbaa788 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -1,3 +1,24 @@ + + org.typedb.typeql.plugin.jetbrains TypeQL @@ -6,36 +27,57 @@ com.intellij.modules.lang - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/colorSchemes/ClassicLightTypeQL.icls b/src/main/resources/colorSchemes/ClassicLightTypeQL.icls new file mode 100644 index 0000000..140f2cc --- /dev/null +++ b/src/main/resources/colorSchemes/ClassicLightTypeQL.icls @@ -0,0 +1,87 @@ + + + 2024-02-19T11:56:25 + Idea + 2023.2.1.0.0 + 2024-02-19T11:56:37 + Classic Light TypeQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/colorSchemes/DarculaTypeQL.icls b/src/main/resources/colorSchemes/DarculaTypeQL.icls new file mode 100644 index 0000000..6e5f5dc --- /dev/null +++ b/src/main/resources/colorSchemes/DarculaTypeQL.icls @@ -0,0 +1,87 @@ + + + 2024-02-19T11:51:58 + Idea + 2023.2.1.0.0 + 2024-02-19T11:52:01 + Darcula TypeQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/colorSchemes/DarkTypeQL.icls b/src/main/resources/colorSchemes/DarkTypeQL.icls new file mode 100644 index 0000000..944d842 --- /dev/null +++ b/src/main/resources/colorSchemes/DarkTypeQL.icls @@ -0,0 +1,87 @@ + + + 2024-02-19T11:51:58 + Idea + 2023.2.1.0.0 + 2024-02-19T11:52:01 + Dark TypeQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/colorSchemes/LightTypeQL.icls b/src/main/resources/colorSchemes/LightTypeQL.icls new file mode 100644 index 0000000..5e071d2 --- /dev/null +++ b/src/main/resources/colorSchemes/LightTypeQL.icls @@ -0,0 +1,87 @@ + + + 2024-02-19T11:56:25 + Idea + 2023.2.1.0.0 + 2024-02-19T11:56:37 + Light TypeQL + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParsingTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParsingTest.kt deleted file mode 100644 index 8b38815..0000000 --- a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/TypeQLParsingTest.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.typedb.typeql.plugin.jetbrains - -import com.intellij.testFramework.ParsingTestCase - -class TypeQLParsingTest : ParsingTestCase("", "tql", TypeQLParserDefinition()) { - - fun testParsingTestData() { - doTest(true) - } - - override fun getTestDataPath(): String = "src/test/resources" - override fun skipSpaces(): Boolean = false - override fun includeRanges(): Boolean = true -} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectDefinesTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectDefinesTest.kt new file mode 100644 index 0000000..e4753c0 --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectDefinesTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +class CorrectDefinesTest : TypeQLParsingTestBase() { + override fun getTestDataSubdir(): String = "correct_defines" +} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectInsertsTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectInsertsTest.kt new file mode 100644 index 0000000..421e940 --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectInsertsTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +class CorrectInsertsTest : TypeQLParsingTestBase() { + override fun getTestDataSubdir(): String = "correct_inserts" +} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectMatchTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectMatchTest.kt new file mode 100644 index 0000000..26535d7 --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/CorrectMatchTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +class CorrectMatchTest : TypeQLParsingTestBase() { + override fun getTestDataSubdir(): String = "correct_match" +} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectMatchTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectMatchTest.kt new file mode 100644 index 0000000..e285885 --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectMatchTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +class IncorrectMatchTest : TypeQLParsingTestBase() { + override fun getTestDataSubdir(): String = "incorrect_match" +} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectNoDefineTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectNoDefineTest.kt new file mode 100644 index 0000000..bd9f7cd --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectNoDefineTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +class IncorrectNoDefineTest : TypeQLParsingTestBase() { + override fun getTestDataSubdir(): String = "incorrect_no_define" +} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectWithDefineTest.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectWithDefineTest.kt new file mode 100644 index 0000000..5771034 --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/IncorrectWithDefineTest.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +class IncorrectWithDefineTest : TypeQLParsingTestBase() { + override fun getTestDataSubdir(): String = "incorrect_with_define" +} diff --git a/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/TypeQLParsingTestBase.kt b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/TypeQLParsingTestBase.kt new file mode 100644 index 0000000..8f5b2ff --- /dev/null +++ b/src/test/kotlin/org/typedb/typeql/plugin/jetbrains/test/parsing/TypeQLParsingTestBase.kt @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2022 Vaticle + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.typedb.typeql.plugin.jetbrains.test.parsing + +import com.intellij.testFramework.ParsingTestCase +import org.typedb.typeql.plugin.jetbrains.TypeQLFileType +import org.typedb.typeql.plugin.jetbrains.TypeQLParserDefinition + +open abstract class TypeQLParsingTestBase() : ParsingTestCase("", TypeQLFileType.EXTENSION, TypeQLParserDefinition()) { + + fun testParsingTestData() { + doTest(true) + } + + override fun getTestDataPath(): String = "src/test/resources/parsing/${getTestDataSubdir()}" + override fun skipSpaces(): Boolean = false + override fun includeRanges(): Boolean = true + abstract fun getTestDataSubdir(): String +} diff --git a/src/test/resources/ParsingTestData.tql b/src/test/resources/ParsingTestData.tql deleted file mode 100644 index 9b5dcbd..0000000 --- a/src/test/resources/ParsingTestData.tql +++ /dev/null @@ -1,39 +0,0 @@ -define - -title sub attribute, - value string; - -event-date sub attribute, - abstract, - value datetime; -approved-date sub event-date; - -## an abstract relation, only to be subtyped by other relations -request sub relation, - abstract, - owns approved-date, - relates approved-subject, - relates requester, - relates respondent; - -friendship sub relation, - relates friend, - plays friend-request:approved-friendship, - plays friends-list:listed-friendship; - -## an example of subtyping in TypeDB -friend-request sub request, - relates approved-friendship as approved-subject, - relates friendship-requester as requester, - relates friendship-respondent as respondent; - -friends-list sub relation, - owns title, - relates list-owner, - relates listed-friendship; - -person sub entity, - plays friendship:friend, - plays friend-request:friendship-requester, - plays friend-request:friendship-respondent, - plays friends-list:list-owner; \ No newline at end of file diff --git a/src/test/resources/ParsingTestData.txt b/src/test/resources/ParsingTestData.txt deleted file mode 100644 index 41f29ce..0000000 --- a/src/test/resources/ParsingTestData.txt +++ /dev/null @@ -1,322 +0,0 @@ -TypeQL Language file(0,950) - PsiTypeQLElement(eof_queries) - Location: (0,950)(0,950) - PsiTypeQLElement(query) - Location: (0,950)(0,950) - PsiTypeQLElement(query_define) - Location: (0,950)(0,950) - PsiElement('define')('define')(0,6) - PsiWhiteSpace('\n\n')(6,8) - PsiTypeQLElement(definables) - Location: (8,950)(8,950) - PsiTypeQLElement(definable) - Location: (8,43)(8,43) - PsiStatementType(variable_type) - Location: (8,43)(8,43) - PsiTypeQLElement(type_any) - Location: (8,13)(8,13) - PsiTypeConstraint(type) - Name: title - Location: (8,13)(8,13) - PsiTypeQLElement(label) - Location: (8,13)(8,13) - PsiElement(LABEL_)('title')(8,13) - PsiWhiteSpace(' ')(13,14) - PsiTypeQLElement(type_constraint) - Location: (14,27)(14,27) - PsiElement(SUB_)('sub')(14,17) - PsiWhiteSpace(' ')(17,18) - PsiTypeQLElement(type_any) - Location: (18,27)(18,27) - PsiTypeQLElement(type) - Location: (18,27)(18,27) - PsiTypeQLElement(label) - Location: (18,27)(18,27) - PsiTypeQLElement(type_native) - Location: (18,27)(18,27) - PsiElement('attribute')('attribute')(18,27) - PsiElement(',')(',')(27,28) - PsiWhiteSpace('\n ')(28,31) - PsiTypeQLElement(type_constraint) - Location: (31,43)(31,43) - PsiElement('value')('value')(31,36) - PsiWhiteSpace(' ')(36,37) - PsiTypeQLElement(value_type) - Location: (37,43)(37,43) - PsiElement('string')('string')(37,43) - PsiElement(';')(';')(43,44) - PsiWhiteSpace('\n\n')(44,46) - PsiTypeQLElement(definable) - Location: (46,100)(46,100) - PsiStatementType(variable_type) - Location: (46,100)(46,100) - PsiTypeQLElement(type_any) - Location: (46,56)(46,56) - PsiTypeConstraint(type) - Name: event-date - Location: (46,56)(46,56) - PsiTypeQLElement(label) - Location: (46,56)(46,56) - PsiElement(LABEL_)('event-date')(46,56) - PsiWhiteSpace(' ')(56,57) - PsiTypeQLElement(type_constraint) - Location: (57,70)(57,70) - PsiElement(SUB_)('sub')(57,60) - PsiWhiteSpace(' ')(60,61) - PsiTypeQLElement(type_any) - Location: (61,70)(61,70) - PsiTypeQLElement(type) - Location: (61,70)(61,70) - PsiTypeQLElement(label) - Location: (61,70)(61,70) - PsiTypeQLElement(type_native) - Location: (61,70)(61,70) - PsiElement('attribute')('attribute')(61,70) - PsiElement(',')(',')(70,71) - PsiWhiteSpace('\n ')(71,74) - PsiTypeQLElement(type_constraint) - Location: (74,82)(74,82) - PsiElement('abstract')('abstract')(74,82) - PsiElement(',')(',')(82,83) - PsiWhiteSpace('\n ')(83,86) - PsiTypeQLElement(type_constraint) - Location: (86,100)(86,100) - PsiElement('value')('value')(86,91) - PsiWhiteSpace(' ')(91,92) - PsiTypeQLElement(value_type) - Location: (92,100)(92,100) - PsiElement('datetime')('datetime')(92,100) - PsiElement(';')(';')(100,101) - PsiWhiteSpace('\n')(101,102) - PsiTypeQLElement(definable) - Location: (102,130)(102,130) - PsiStatementType(variable_type) - Location: (102,130)(102,130) - PsiTypeQLElement(type_any) - Location: (102,115)(102,115) - PsiTypeConstraint(type) - Name: approved-date - Location: (102,115)(102,115) - PsiTypeQLElement(label) - Location: (102,115)(102,115) - PsiElement(LABEL_)('approved-date')(102,115) - PsiWhiteSpace(' ')(115,116) - PsiSubTypeConstraint(type_constraint) - Location: (116,130)(116,130) - PsiElement(SUB_)('sub')(116,119) - PsiWhiteSpace(' ')(119,120) - PsiTypeQLElement(type_any) - Location: (120,130)(120,130) - PsiTypeQLElement(type) - Location: (120,130)(120,130) - PsiTypeQLElement(label) - Location: (120,130)(120,130) - PsiElement(LABEL_)('event-date')(120,130) - PsiElement(';')(';')(130,131) - PsiWhiteSpace('\n\n')(131,133) - PsiComment(COMMENT)('## an abstract relation, only to be subtyped by other relations\n')(133,197) - PsiTypeQLElement(definable) - Location: (197,322)(197,322) - PsiStatementType(variable_type) - Location: (197,322)(197,322) - PsiTypeQLElement(type_any) - Location: (197,204)(197,204) - PsiTypeConstraint(type) - Name: request - Location: (197,204)(197,204) - PsiTypeQLElement(label) - Location: (197,204)(197,204) - PsiElement(LABEL_)('request')(197,204) - PsiWhiteSpace(' ')(204,205) - PsiTypeQLElement(type_constraint) - Location: (205,217)(205,217) - PsiElement(SUB_)('sub')(205,208) - PsiWhiteSpace(' ')(208,209) - PsiTypeQLElement(type_any) - Location: (209,217)(209,217) - PsiTypeQLElement(type) - Location: (209,217)(209,217) - PsiTypeQLElement(label) - Location: (209,217)(209,217) - PsiTypeQLElement(type_native) - Location: (209,217)(209,217) - PsiElement('relation')('relation')(209,217) - PsiElement(',')(',')(217,218) - PsiWhiteSpace('\n ')(218,221) - PsiTypeQLElement(type_constraint) - Location: (221,229)(221,229) - PsiElement('abstract')('abstract')(221,229) - PsiElement(',')(',')(229,230) - PsiWhiteSpace('\n ')(230,233) - PsiTypeQLElement(type_constraint) - Location: (233,251)(233,251) - PsiElement('owns')('owns')(233,237) - PsiWhiteSpace(' ')(237,238) - PsiTypeQLElement(type) - Location: (238,251)(238,251) - PsiTypeQLElement(label) - Location: (238,251)(238,251) - PsiElement(LABEL_)('approved-date')(238,251) - PsiTypeQLElement(annotations_owns) - Location: (251,251)(251,251) - - PsiElement(',')(',')(251,252) - PsiWhiteSpace('\n ')(252,255) - PsiRelatesTypeConstraint(type_constraint) - Name: approved-subject - Location: (255,279)(255,279) - PsiElement('relates')('relates')(255,262) - PsiWhiteSpace(' ')(262,263) - PsiTypeQLElement(type) - Location: (263,279)(263,279) - PsiTypeQLElement(label) - Location: (263,279)(263,279) - PsiElement(LABEL_)('approved-subject')(263,279) - PsiElement(',')(',')(279,280) - PsiWhiteSpace('\n ')(280,283) - PsiRelatesTypeConstraint(type_constraint) - Name: requester - Location: (283,300)(283,300) - PsiElement('relates')('relates')(283,290) - PsiWhiteSpace(' ')(290,291) - PsiTypeQLElement(type) - Location: (291,300)(291,300) - PsiTypeQLElement(label) - Location: (291,300)(291,300) - PsiElement(LABEL_)('requester')(291,300) - PsiElement(',')(',')(300,301) - PsiWhiteSpace('\n ')(301,304) - PsiRelatesTypeConstraint(type_constraint) - Name: respondent - Location: (304,322)(304,322) - PsiElement('relates')('relates')(304,311) - PsiWhiteSpace(' ')(311,312) - PsiTypeQLElement(type) - Location: (312,322)(312,322) - PsiTypeQLElement(label) - Location: (312,322)(312,322) - PsiElement(LABEL_)('respondent')(312,322) - PsiElement(';')(';')(322,323) - PsiWhiteSpace('\n\n')(323,325) - PsiTypeQLElement(definable) - Location: (325,456)(325,456) - PsiStatementType(variable_type) - Location: (325,456)(325,456) - PsiTypeQLElement(type_any) - Location: (325,335)(325,335) - PsiTypeConstraint(type) - Name: friendship - Location: (325,335)(325,335) - PsiTypeQLElement(label) - Location: (325,335)(325,335) - PsiElement(LABEL_)('friendship')(325,335) - PsiWhiteSpace(' ')(335,336) - PsiTypeQLElement(type_constraint) - Location: (336,348)(336,348) - PsiElement(SUB_)('sub')(336,339) - PsiWhiteSpace(' ')(339,340) - PsiTypeQLElement(type_any) - Location: (340,348)(340,348) - PsiTypeQLElement(type) - Location: (340,348)(340,348) - PsiTypeQLElement(label) - Location: (340,348)(340,348) - PsiTypeQLElement(type_native) - Location: (340,348)(340,348) - PsiElement('relation')('relation')(340,348) - PsiElement(',')(',')(348,349) - PsiWhiteSpace('\n ')(349,354) - PsiRelatesTypeConstraint(type_constraint) - Name: friend - Location: (354,368)(354,368) - PsiElement('relates')('relates')(354,361) - PsiWhiteSpace(' ')(361,362) - PsiTypeQLElement(type) - Location: (362,368)(362,368) - PsiTypeQLElement(label) - Location: (362,368)(362,368) - PsiElement(LABEL_)('friend')(362,368) - PsiElement(',')(',')(368,369) - PsiWhiteSpace('\n ')(369,374) - PsiPlaysTypeConstraint(type_constraint) - Location: (374,414)(374,414) - PsiElement('plays')('plays')(374,379) - PsiWhiteSpace(' ')(379,380) - PsiTypeQLElement(type_scoped) - Location: (380,414)(380,414) - PsiTypeQLElement(label_scoped) - Location: (380,414)(380,414) - PsiElement(LABEL_SCOPED_)('friend-request:approved-friendship')(380,414) - PsiElement(',')(',')(414,415) - PsiWhiteSpace('\n ')(415,420) - PsiPlaysTypeConstraint(type_constraint) - Location: (420,456)(420,456) - PsiElement('plays')('plays')(420,425) - PsiWhiteSpace(' ')(425,426) - PsiTypeQLElement(type_scoped) - Location: (426,456)(426,456) - PsiTypeQLElement(label_scoped) - Location: (426,456)(426,456) - PsiElement(LABEL_SCOPED_)('friends-list:listed-friendship')(426,456) - PsiElement(';')(';')(456,457) - PsiWhiteSpace('\n\n')(457,459) - PsiComment(COMMENT)('## an example of subtyping in TypeDB\n')(459,496) - PsiTypeQLElement(definable) - Location: (496,671)(496,671) - PsiStatementType(variable_type) - Location: (496,671)(496,671) - PsiTypeQLElement(type_any) - Location: (496,510)(496,510) - PsiTypeConstraint(type) - Name: friend-request - Location: (496,510)(496,510) - PsiTypeQLElement(label) - Location: (496,510)(496,510) - PsiElement(LABEL_)('friend-request')(496,510) - PsiWhiteSpace(' ')(510,511) - PsiSubTypeConstraint(type_constraint) - Location: (511,522)(511,522) - PsiElement(SUB_)('sub')(511,514) - PsiWhiteSpace(' ')(514,515) - PsiTypeQLElement(type_any) - Location: (515,522)(515,522) - PsiTypeQLElement(type) - Location: (515,522)(515,522) - PsiTypeQLElement(label) - Location: (515,522)(515,522) - PsiElement(LABEL_)('request')(515,522) - PsiElement(',')(',')(522,523) - PsiWhiteSpace('\n ')(523,528) - PsiRelatesTypeConstraint(type_constraint) - Name: approved-friendship - Location: (528,555)(528,575) - PsiElement('relates')('relates')(528,535) - PsiWhiteSpace(' ')(535,536) - PsiTypeQLElement(type) - Location: (536,555)(536,555) - PsiTypeQLElement(label) - Location: (536,555)(536,555) - PsiElement(LABEL_)('approved-friendship')(536,555) - PsiWhiteSpace(' ')(555,556) - PsiElement('as')('as')(556,558) - PsiWhiteSpace(' ')(558,559) - PsiRelatesSuperRoleTypeConstraint(type) - Location: (559,575)(559,575) - PsiTypeQLElement(label) - Location: (559,575)(559,575) - PsiElement(LABEL_)('approved-subject')(559,575) - PsiElement(',')(',')(575,576) - PsiWhiteSpace('\n ')(576,581) - PsiRelatesTypeConstraint(type_constraint) - Name: friendship-requester - Location: (581,609)(581,622) - PsiElement('relates')('relates')(581,588) - PsiWhiteSpace(' ')(588,589) - PsiTypeQLElement(type) - Location: (589,609)(589,609) - PsiTypeQLElement(label) - Location: (589,609)(589,609) - PsiElement(LABEL_)('friendship-requester')(589,609) - PsiWhiteSpace(' ')(609,610) - PsiElement('as')('as')(610,612) - PsiWhiteSpace(' ')(612,613) - PsiRelatesSuperRoleTypeConstraint(type) - Location: (613,622)(613,622) - PsiTypeQLElement(label) - Location: (613,622)(613,622) - PsiElement(LABEL_)('requester')(613,622) - PsiElement(',')(',')(622,623) - PsiWhiteSpace('\n ')(623,628) - PsiRelatesTypeConstraint(type_constraint) - Name: friendship-respondent - Location: (628,657)(628,671) - PsiElement('relates')('relates')(628,635) - PsiWhiteSpace(' ')(635,636) - PsiTypeQLElement(type) - Location: (636,657)(636,657) - PsiTypeQLElement(label) - Location: (636,657)(636,657) - PsiElement(LABEL_)('friendship-respondent')(636,657) - PsiWhiteSpace(' ')(657,658) - PsiElement('as')('as')(658,660) - PsiWhiteSpace(' ')(660,661) - PsiRelatesSuperRoleTypeConstraint(type) - Location: (661,671)(661,671) - PsiTypeQLElement(label) - Location: (661,671)(661,671) - PsiElement(LABEL_)('respondent')(661,671) - PsiElement(';')(';')(671,672) - PsiWhiteSpace('\n\n')(672,674) - PsiTypeQLElement(definable) - Location: (674,770)(674,770) - PsiStatementType(variable_type) - Location: (674,770)(674,770) - PsiTypeQLElement(type_any) - Location: (674,686)(674,686) - PsiTypeConstraint(type) - Name: friends-list - Location: (674,686)(674,686) - PsiTypeQLElement(label) - Location: (674,686)(674,686) - PsiElement(LABEL_)('friends-list')(674,686) - PsiWhiteSpace(' ')(686,687) - PsiTypeQLElement(type_constraint) - Location: (687,699)(687,699) - PsiElement(SUB_)('sub')(687,690) - PsiWhiteSpace(' ')(690,691) - PsiTypeQLElement(type_any) - Location: (691,699)(691,699) - PsiTypeQLElement(type) - Location: (691,699)(691,699) - PsiTypeQLElement(label) - Location: (691,699)(691,699) - PsiTypeQLElement(type_native) - Location: (691,699)(691,699) - PsiElement('relation')('relation')(691,699) - PsiElement(',')(',')(699,700) - PsiWhiteSpace('\n ')(700,705) - PsiTypeQLElement(type_constraint) - Location: (705,715)(705,715) - PsiElement('owns')('owns')(705,709) - PsiWhiteSpace(' ')(709,710) - PsiTypeQLElement(type) - Location: (710,715)(710,715) - PsiTypeQLElement(label) - Location: (710,715)(710,715) - PsiElement(LABEL_)('title')(710,715) - PsiTypeQLElement(annotations_owns) - Location: (715,715)(715,715) - - PsiElement(',')(',')(715,716) - PsiWhiteSpace('\n ')(716,721) - PsiRelatesTypeConstraint(type_constraint) - Name: list-owner - Location: (721,739)(721,739) - PsiElement('relates')('relates')(721,728) - PsiWhiteSpace(' ')(728,729) - PsiTypeQLElement(type) - Location: (729,739)(729,739) - PsiTypeQLElement(label) - Location: (729,739)(729,739) - PsiElement(LABEL_)('list-owner')(729,739) - PsiElement(',')(',')(739,740) - PsiWhiteSpace('\n ')(740,745) - PsiRelatesTypeConstraint(type_constraint) - Name: listed-friendship - Location: (745,770)(745,770) - PsiElement('relates')('relates')(745,752) - PsiWhiteSpace(' ')(752,753) - PsiTypeQLElement(type) - Location: (753,770)(753,770) - PsiTypeQLElement(label) - Location: (753,770)(753,770) - PsiElement(LABEL_)('listed-friendship')(753,770) - PsiElement(';')(';')(770,771) - PsiWhiteSpace('\n\n')(771,773) - PsiTypeQLElement(definable) - Location: (773,949)(773,949) - PsiStatementType(variable_type) - Location: (773,949)(773,949) - PsiTypeQLElement(type_any) - Location: (773,779)(773,779) - PsiTypeConstraint(type) - Name: person - Location: (773,779)(773,779) - PsiTypeQLElement(label) - Location: (773,779)(773,779) - PsiElement(LABEL_)('person')(773,779) - PsiWhiteSpace(' ')(779,780) - PsiTypeQLElement(type_constraint) - Location: (780,790)(780,790) - PsiElement(SUB_)('sub')(780,783) - PsiWhiteSpace(' ')(783,784) - PsiTypeQLElement(type_any) - Location: (784,790)(784,790) - PsiTypeQLElement(type) - Location: (784,790)(784,790) - PsiTypeQLElement(label) - Location: (784,790)(784,790) - PsiTypeQLElement(type_native) - Location: (784,790)(784,790) - PsiElement('entity')('entity')(784,790) - PsiElement(',')(',')(790,791) - PsiWhiteSpace('\n ')(791,796) - PsiPlaysTypeConstraint(type_constraint) - Location: (796,819)(796,819) - PsiElement('plays')('plays')(796,801) - PsiWhiteSpace(' ')(801,802) - PsiTypeQLElement(type_scoped) - Location: (802,819)(802,819) - PsiTypeQLElement(label_scoped) - Location: (802,819)(802,819) - PsiElement(LABEL_SCOPED_)('friendship:friend')(802,819) - PsiElement(',')(',')(819,820) - PsiWhiteSpace('\n ')(820,825) - PsiPlaysTypeConstraint(type_constraint) - Location: (825,866)(825,866) - PsiElement('plays')('plays')(825,830) - PsiWhiteSpace(' ')(830,831) - PsiTypeQLElement(type_scoped) - Location: (831,866)(831,866) - PsiTypeQLElement(label_scoped) - Location: (831,866)(831,866) - PsiElement(LABEL_SCOPED_)('friend-request:friendship-requester')(831,866) - PsiElement(',')(',')(866,867) - PsiWhiteSpace('\n ')(867,872) - PsiPlaysTypeConstraint(type_constraint) - Location: (872,914)(872,914) - PsiElement('plays')('plays')(872,877) - PsiWhiteSpace(' ')(877,878) - PsiTypeQLElement(type_scoped) - Location: (878,914)(878,914) - PsiTypeQLElement(label_scoped) - Location: (878,914)(878,914) - PsiElement(LABEL_SCOPED_)('friend-request:friendship-respondent')(878,914) - PsiElement(',')(',')(914,915) - PsiWhiteSpace('\n ')(915,920) - PsiPlaysTypeConstraint(type_constraint) - Location: (920,949)(920,949) - PsiElement('plays')('plays')(920,925) - PsiWhiteSpace(' ')(925,926) - PsiTypeQLElement(type_scoped) - Location: (926,949)(926,949) - PsiTypeQLElement(label_scoped) - Location: (926,949)(926,949) - PsiElement(LABEL_SCOPED_)('friends-list:list-owner')(926,949) - PsiElement(';')(';')(949,950) diff --git a/src/test/resources/parsing/correct_defines/ParsingTestData.tql b/src/test/resources/parsing/correct_defines/ParsingTestData.tql new file mode 100644 index 0000000..ca090cc --- /dev/null +++ b/src/test/resources/parsing/correct_defines/ParsingTestData.tql @@ -0,0 +1,1562 @@ +define + +# Based on https://docs.oasis-open.org/cti/stix/v2.1/cs01/stix-v2.1-cs01.html#-disnqa06jm5 + +### 1 Base Entities ### + +stix-entity sub entity, + abstract; + +stix-object sub stix-entity, + owns stix-type, + owns stix-id @key, + owns custom-attribute, + + plays granular-marking:marking; + +stix-core-object sub stix-object, + owns spec-version, + + plays object-marking:marked, + plays created-by:created, + plays derivation:derived-from, + plays derivation:deriving, + plays duplicate-of:duplicated-object; + + +stix-domain-object sub stix-core-object, + owns created, + owns modified, + owns revoked, + owns labels, + owns confidence, + owns langs, + + # Rel + plays sighting:sighting-of, + plays external-references:referencing, + + # RRel + plays kill-chain-phases:used, + plays sighting:observed-data, + plays external-references:referenced; + + +stix-cyber-observable-object sub stix-core-object, + owns defanged, + + # Rel + plays external-references:referencing, + plays contains-ref:containing, + + # RRel + plays external-references:referenced; + +stix-sub-object sub stix-entity, + owns created, + owns modified, + + plays granular-marking:marking; + + +### 2 Data Types ### + +external-reference sub stix-sub-object, + owns source-name, + owns description, + owns url-link, + owns external-id, + + plays hashes:hashes-owner, + plays external-references:referenced; + +kill-chain-phase sub stix-sub-object, + owns kill-chain-name, + owns kill-chain-phase-name, + + plays kill-chain-phases:using; + +### 3 SDOs ### + +attack-pattern sub stix-domain-object, + owns name, + owns description, + owns aliases, + + # Rel + plays delivers:delivering, + plays targets:targeting, + plays uses:using, + + # RRel + plays indicates:indicated, + plays uses:used, + plays mitigates:mitigated; + +campaign sub stix-domain-object, + owns name, + owns description, + owns aliases, + owns first-seen, + owns last-seen, + owns objective, + + # Rel + plays targets:targeting, + plays attributed-to:attributing, + plays uses:using, + plays compromises:compromising, + plays originates-from:originating, + + # RRel + plays indicates:indicated; + +course-of-action sub stix-domain-object, + owns name, + owns description, + owns action, + + # Rel + plays investigates:investigating, + plays mitigates:mitigating, + plays remediates:remediating; + +grouping sub stix-domain-object, + owns name, + owns description, + owns context; + + + +identity sub stix-domain-object, + owns name, + owns description, + owns stix-role, + owns identity-class, + owns sector, + owns contact-information, + + plays created-by:creator, + + # Rel + plays located-at:locating, + plays uses:using, + + # RRel + plays uses:used, + plays targets:targeted, + plays attributed-to:attributed, + plays impersonates:impersonated; + +individual sub identity; +group sub identity; +system sub identity; +organization sub identity; +class sub identity; +id-unknown sub identity; + +incident sub stix-domain-object, + owns name, + owns description; + +indicator sub stix-domain-object, + owns name, + owns description, + owns indicator-type, + owns pattern, + owns pattern-type, + owns pattern-version, + owns valid-from, + owns valid-until, + + # Rel + plays indicates:indicating, + plays based-on:basing, + + # RRel + plays investigates:investigated, + plays mitigates:mitigated; + +infrastructure sub stix-domain-object, + owns name, + owns description, + owns infrastructure-types, + owns aliases, + owns first-seen, + owns last-seen, + + # Rel + plays delivers:delivering, + plays uses:using, + plays located-at:locating, + plays communicates-with:communicating, + plays consist-of:consisting, + plays controls:controlling, + plays have:having, + plays hosts:hosting, + + # RRel + plays controls:controlled, + plays communicates-with:communicated, + plays compromises:compromised, + plays indicates:indicated, + plays uses:used, + plays targets:targeted, + plays hosts:hosted, + plays beacons-to:beaconed-to, + plays exfiltrates-to:exfiltrated-to, + plays ownerships:owned; + +intrusion-set sub stix-domain-object, + owns name, + owns description, + owns aliases, + owns first-seen, + owns last-seen, + owns goals, + owns sophistication, + owns resource-level, + owns primary-motivation, + owns secondary-motivations, + + # Rel + plays targets:targeting, + plays uses:using, + plays attributed-to:attributing, + plays compromises:compromising, + plays originates-from:originating, + plays hosts:hosting, + plays ownerships:owning, + + # RRel + plays indicates:indicated, + plays attributed-to:attributed, + plays authored-by:authored; + +malware sub stix-domain-object, + owns name, + owns description, + owns malware-types, + owns is-family, + owns aliases, + owns first-seen, + owns last-seen, + owns architecture-execution-envs, + owns implementation-languages, + owns capabilities, + + # Rel + plays targets:targeting, + plays uses:using, + plays originates-from:originating, + plays controls:controlling, + plays hosts:hosting, + plays authored-by:authoring, + plays beacons-to:beaconing-to, + plays exfiltrates-to:exfiltrating-to, + plays downloads:downloading, + plays drops:dropping, + plays exploits:exploiting, + plays variant-of:varianted-from, + plays communicates-with:communicating, + + # RRel + plays attributed-to:attributed, + plays controls:controlled, + plays remediates:remediated, + plays mitigates:mitigated, + plays uses:used, + plays delivers:delivered, + plays indicates:indicated, + plays downloads:downloaded, + plays drops:dropped, + plays variant-of:varianted, + plays characterizes:characterized, + plays analysis-of:analysed, + plays static-analysis-of:analysed, + plays dynamic-analysis-of:analysed; + +location sub stix-domain-object, + owns name, + owns description, + owns latitude, + owns longitude, + owns precision, + owns region, + owns country, + owns administrative-area, + owns city, + owns street-address, + owns postal-code, + + # RRel + plays targets:targeted, + plays originates-from:originated, + plays located-at:located; + +malware-analysis sub stix-domain-object, + owns product, + owns version, + owns configuration-version, + owns module, + owns analysis-engine-version, + owns analysis-definition-version, + owns submitted, + owns analysis-started, + owns analysis-ended, + owns result-name, + owns result, + + # Rel + plays characterizes:characterizing, + plays analysis-of:analysing, + plays static-analysis-of:analysing, + plays dynamic-analysis-of:analysing; + +note sub stix-domain-object, + owns note-abstract, + owns content, + owns authors; + +opinion sub stix-domain-object, + owns explanation, + owns authors, + owns opinion-enum; + +observed-data sub stix-domain-object, + owns first-observed, + owns last-observed, + owns number-observed, + + # RRel + plays based-on:based, + plays consist-of:consisted; + +report sub stix-domain-object, + owns name, + owns description, + owns report-type, + owns published; + +threat-actor sub stix-domain-object, + owns name, + owns description, + owns aliases, + owns stix-role, + owns first-seen, + owns last-seen, + owns goals, + owns resource-level, + owns primary-motivation, + owns secondary-motivations, + owns sophistication, + owns personal-characteristics, + owns roles, + owns threat-actor-types, + + # Rel + plays targets:targeting, + plays uses:using, + plays attributed-to:attributing, + plays compromises:compromising, + plays located-at:locating, + plays impersonates:impersonating, + plays hosts:hosting, + plays ownerships:owning, + + # RRel + plays attributed-to:attributed, + plays indicates:indicated, + plays authored-by:authored; + +tool sub stix-domain-object, + owns name, + owns description, + owns tool-types, + owns aliases, + owns first-seen, + owns last-seen, + owns tool-version, + + # Rel + plays delivers:delivering, + plays targets:targeting, + plays uses:using, + plays have:having, + plays drops:dropping, + + # RRel + plays uses:used, + plays indicates:indicated, + plays mitigates:mitigated, + plays hosts:hosted, + plays downloads:downloaded, + plays drops:dropped; + +custom-object sub stix-domain-object, + owns name, + owns description, + owns aliases, + owns first-seen, + owns last-seen, + owns objective, + + # Rel + plays delivers:delivering, + plays targets:targeting, + plays uses:using, + + # RRel + plays uses:used, + plays mitigates:mitigated; + +vulnerability sub stix-domain-object, + owns name, + owns description, + + # RRel + plays targets:targeted, + plays mitigates:mitigated, + plays remediates:remediated, + plays have:had, + plays exploits:exploited; + +### 5 SROs ### +stix-core-relationship sub relation, + # Required + owns spec-version, + owns stix-id @key, + owns created, + owns modified, + owns stix-type, + + # Optional + owns description, + owns revoked, + owns labels, + owns confidence, + owns langs, + owns custom-attribute, + + relates source, + relates target, + + plays created-by:created, + plays granular-marking:marking, + plays external-references:referenced; + +delivers sub stix-core-relationship, + relates delivering as source, + relates delivered as target; + +targets sub stix-core-relationship, + relates targeting as source, + relates targeted as target; + +attributed-to sub stix-core-relationship, + relates attributing as source, + relates attributed as target; + +uses sub stix-core-relationship, + relates using as source, + relates used as target; + +indicates sub stix-core-relationship, + relates indicating as source, + relates indicated as target; + +compromises sub stix-core-relationship, + relates compromising as source, + relates compromised as target; + +originates-from sub stix-core-relationship, + relates originating as source, + relates originated as target; + +investigates sub stix-core-relationship, + relates investigating as source, + relates investigated as target; + +mitigates sub stix-core-relationship, + relates mitigating as source, + relates mitigated as target; + +remediates sub stix-core-relationship, + relates remediating as source, + relates remediated as target; + +located-at sub stix-core-relationship, + relates locating as source, + relates located as target; + +impersonates sub stix-core-relationship, + relates impersonating as source, + relates impersonated as target; + +based-on sub stix-core-relationship, + relates basing as source, + relates based as target; + +communicates-with sub stix-core-relationship, + relates communicating as source, + relates communicated as target; + +consist-of sub stix-core-relationship, + relates consisting as source, + relates consisted as target; + +controls sub stix-core-relationship, + relates controlling as source, + relates controlled as target; + +have sub stix-core-relationship, + relates having as source, + relates had as target; + +hosts sub stix-core-relationship, + relates hosting as source, + relates hosted as target; + +authored-by sub stix-core-relationship, + relates authoring as source, + relates authored as target; + +beacons-to sub stix-core-relationship, + relates beaconing-to as source, + relates beaconed-to as target; + +exfiltrates-to sub stix-core-relationship, + relates exfiltrating-to as source, + relates exfiltrated-to as target; + +downloads sub stix-core-relationship, + relates downloading as source, + relates downloaded as target; + +drops sub stix-core-relationship, + relates dropping as source, + relates dropped as target; + +exploits sub stix-core-relationship, + relates exploiting as source, + relates exploited as target; + +variant-of sub stix-core-relationship, + relates varianted-from as source, + relates varianted as target; + +characterizes sub stix-core-relationship, + relates characterizing as source, + relates characterized as target; + +analysis sub stix-core-relationship, + relates analysing as source, + relates analysed as target; + +analysis-of sub analysis; +static-analysis-of sub analysis; +dynamic-analysis-of sub analysis; + +ownerships sub stix-core-relationship, + relates owning as source, + relates owned as target; + +ref sub relation, + relates source, + relates target; + +from-ref sub ref; +sender-ref sub ref; +raw-email-ref sub ref; +body-raw-ref sub ref; +parent-directory-ref sub ref; +content-ref sub ref; +optional-header sub ref, + relates from as source; +belongs-to-ref sub ref; +src-ref sub ref; +dst-ref sub ref; +src-payload-ref sub ref; +dst-payload-ref sub ref; +encapsulated-by-ref sub ref; +massage-body-data-ref sub ref; +creator-user-ref sub ref; +image-ref sub ref; +parent-ref sub ref; +message-body-data-ref sub ref, + relates from as source; + +derivation sub relation, + relates derived-from, + relates deriving; + +duplicate-of sub relation, + relates duplicated-object; + + +sighting sub stix-core-relationship, + owns first-seen, + owns last-seen, + owns count, + owns summary, + + relates sighting-of, + relates observed-data; + + + +### 6 SCOs ### + +artifact sub stix-cyber-observable-object, + owns mime-type, + owns payload-bin, + owns url-link, + owns encryption-algorithm, + owns decryption-key, + + # RRel + plays body-raw-ref:target, + plays raw-email-ref:target, + plays content-ref:target, + plays message-body-data-ref:target; + +autonomous-system sub stix-cyber-observable-object, + owns number, + owns name, + owns rir, + + # RRel + plays belongs-to-refs:belonging; + +directory sub stix-cyber-observable-object, + owns path, + owns path-enc, + owns ctime, + owns mtime, + owns atime, + + # Rel + plays contains-ref:contained, + + # RRel + plays parent-directory-ref:target; + +domain-name sub stix-cyber-observable-object, + owns stix-value, + + # Rel + plays resolves-to-refs:resolved, + + # RRel + plays resolves-to-refs:resolving, + plays communicates-with:communicated; + + +email-addr sub stix-cyber-observable-object, + owns stix-value, + owns display-name, + + # Rel + plays belongs-to-ref:source, + + # RRel + plays from-ref:target, + plays sender-ref:target, + plays to-refs:to, + plays cc-refs:to, + plays bcc-refs:to; + +email-message sub stix-cyber-observable-object, + owns is-multipart, + owns date, + owns content-type, + owns message-id, + owns subject, + owns body, + + # Rel + plays from-ref:source, + plays sender-ref:source, + plays to-refs:from, + plays cc-refs:from, + plays bcc-refs:from, + plays received-lines:owner, + plays body-multipart:to, + plays raw-email-ref:source; + + +email-mime-part sub stix-sub-object, + owns body, + owns content-type, + owns content-disposition, + + # Rel + plays body-raw-ref:source, + + # RRel + plays body-multipart:from; + +file sub stix-cyber-observable-object, + owns size, + owns name, + owns name-enc, + owns magic-number-hex, + owns mime-type, + owns ctime, + owns mtime, + owns atime, + + # Rel + plays hashes:hashes-owner, + plays parent-directory-ref:source, + plays contains-ref:contained, + plays content-ref:source, + + # RRel + plays downloads:downloaded, + plays body-raw-ref:target, + plays image-ref:target, + plays service-dll-refs:to; + +archive-ext sub file, + owns comment; + +ntfs-ext sub file, + owns sid, + + # Rel + plays alternate-data-streams:from; + +alternate-data-stream sub file, + + # RRel + plays alternate-data-streams:to; + +pdf-ext sub stix-cyber-observable-object, + owns version, + owns is-optimized, + owns pdfid0, + owns pdfid1, + + # Rel + plays document-info-dict:document-owner; + +raster-image-ext sub file, + owns image-height, + owns image-width, + owns bits-per-pixel, + + # Rel + plays exif-tags:exif-owner; + +windows-pebinary-ext sub file, + owns pe-type, + owns imphash, + owns machine-hex, + owns number-of-sections, + owns time-date-stamp, + owns pointer-to-symbol-table-hex, + owns number-of-symbols, + owns size-of-optional-header, + owns characterstics-hex, + + # Rel + plays optional-header:from, + plays sections:from; + +windows-pe-optional-header-type sub entity, + owns magic-hex, + owns major-linker-version, + owns minor-linker-version, + owns size-of-code, + owns size-of-initialized-data, + owns size-ofuninitialized-data, + owns address-of-entry-point, + owns base-of-code, + owns base-of-data, + owns image-base, + owns section-alignment, + owns file-alignment, + owns major-os-version, + owns minor-os-version, + owns major-image-version, + owns minor-image-version, + owns major-subsystem-version, + owns minor-subsystem-version, + owns win32-version-value-hex, + owns size-of-image, + owns size-of-headers, + owns checksum-hex, + owns subsystem-hex, + owns dll-characteristics-hex, + owns size-of-stack-reserve, + owns size-of-stack-commit, + owns size-of-heap-reserve, + owns size-of-heap-commit, + owns loader-flags-hex, + owns number-of-rva-and-sizes, + + # Rel + plays hashes:hashes-owner, + + # RRel + plays optional-header:target; + +windows-pe-section sub entity, + owns name, + owns size, + owns entropy, + + # Rel + plays hashes:hashes-owner, + + # RRel + plays sections:to; + +ipv4-address sub stix-cyber-observable-object, + owns stix-value, + + # Rel + plays resolves-to-refs:resolved, + plays belongs-to-refs:belonged, + + # RRel + plays resolves-to-refs:resolving, + plays communicates-with:communicated; + + + +ipv6-address sub stix-cyber-observable-object, + owns stix-value, + + # Rel + plays resolves-to-refs:resolved, + plays belongs-to-refs:belonged, + + # RRel + plays resolves-to-refs:resolving, + plays communicates-with:communicated; + + +mac-addr sub stix-cyber-observable-object, + owns stix-value, + + # RRel + plays resolves-to-refs:resolving; + + +mutex sub stix-cyber-observable-object, + owns name; + + +network-traffic sub stix-cyber-observable-object, + owns start, + owns end, + owns is-active, + owns src-port, + owns dst-port, + + # Rel + plays src-ref:source, + plays dst-ref:source, + plays src-payload-ref:source, + plays dst-payload-ref:source, + plays encapsulated-by-ref:source, + plays protocols:from, + plays ipfix:ipfix-owner, + plays encapsulates-refs:encapsulated, + + # RRel + plays encapsulates-refs:encapsulating, + plays encapsulated-by-ref:target, + plays opened-connection-refs:opening; + +http-request-ext sub network-traffic, + owns request-method, + owns request-value, + owns request-version, + owns message-body-length, + + # Rel + plays request-header:header-owner, + plays message-body-data-ref:from; + +icmp-ext sub network-traffic, + owns icmp-type-hex, + owns icmp-code-hex; + +socket-ext sub network-traffic, + owns address-family, + owns is-blocking, + owns is-listening, + owns socket-type, + owns socket-descriptor, + owns socket-handle, + + # Rel + plays options:options-owner; + +tcp-ext sub network-traffic, + owns src-flags-hex, + owns dst-flags-hex; + +process sub stix-cyber-observable-object, + owns is-hidden, + owns pid, + owns created-time, + owns cwd, + owns command-line, + + # Rel + plays environment-variables:variables-owner, + plays opened-connection-refs:opened, + plays creator-user-ref:source, + plays image-ref:source, + plays parent-ref:source, + plays child-refs:parent, + + # RRel + plays parent-ref:target, + plays child-refs:child; + +windows-process-ext sub process, + owns aslr-enabled, + owns dep-enabled, + owns priority, + owns owner-sid, + owns window-title, + owns integrity-level, + + # Rel + plays startup-info:info-owner as owner; + +windows-service-ext sub process, + owns service-name, + owns display-name, + owns group-name, + owns start-type, + owns service-type, + owns service-status, + owns descriptions, + + # Rel + plays service-dll-refs:from; + +software sub stix-cyber-observable-object, + owns name, + owns spe, + owns swid, + owns vendor, + owns version, + owns languages; + +url sub stix-cyber-observable-object, + owns stix-value, + + # RRel + plays communicates-with:communicated; + + +user-account sub stix-cyber-observable-object, + owns user-id, + owns credential, + owns account-login, + owns account-type, + owns display-name, + owns is-service-account, + owns is-privileged, + owns can-escalate-privs, + owns is-disabled, + owns account-created, + owns account-expires, + owns credential-last-changed, + owns account-first-login, + owns account-last-login, + + # RRel + plays belongs-to-ref:target, + plays creator-user-ref:target; + +unix-account-ext sub user-account, + owns gid, + owns home-dir, + owns shell, + owns groups; + + +windows-registry-key sub stix-cyber-observable-object, + owns attribute-key, + owns modified-time, + owns number-subkeys, + + # Rel + plays values:from, + plays creator-user-ref:source; + +windows-registry-value-type sub stix-cyber-observable-object, + owns name, + owns data, + owns data-type, + + # RRel + plays values:to; + +x509-certificate sub stix-cyber-observable-object, + owns is-self-signed, + owns version, + owns serial-number, + owns signature-algorithm, + owns issuer, + owns validity-not-before, + owns validity-not-after, + owns subject, + owns subject-public-key-algorithm, + owns subject-public-key-modulus, + owns subject-public-key-exponent, + + # Rel + plays hashes:hashes-owner; + +x509-v3-extensions sub x509-certificate, + owns basic-constraints, + owns name-constraints, + owns policy-constraints, + owns key-usage, + owns extended-key-usage, + owns subject-key-identifier, + owns authority-key-identifier, + owns subject-alternative-name, + owns issuer-alternative-name, + owns subject-directory-attributes, + owns crl-distribution-points, + owns inhibit-any-policy, + owns private-key-usage-period-not-before, + owns private-key-usage-period-not-after, + owns certificate-policies, + owns policy-mappings; + +marking-definition sub stix-object, + owns created, + owns modified, + owns name, + owns spec-version, + + plays created-by:created, + plays data-marking:marking, + plays external-references:referencing; + +statement-marking sub marking-definition, + owns statement; + +tlp-marking sub marking-definition, + owns color; + +list sub relation, + relates list-item, + relates owner; + +linked-list sub list, + plays first-element:list, + plays last-element:list, + plays list-element:list; + +first-element sub relation, + relates first, + relates list; + +last-element sub relation, + relates last, + relates list; + +list-element sub relation, + relates element, + relates list; + +node sub relation, + relates next, + relates listed, + + # Rel + plays node:next, + + # RRel + plays list-element:element, + plays last-element:last, + plays first-element:first; + +dict sub relation, + relates dict-item, + relates owner, + owns key-abstract, + abstract; + + +hashes sub dict, + relates hash-value as dict-item, + relates hashes-owner as owner, + owns hash-algorithm as key-abstract; + +document-info-dict sub dict, + relates document-info as dict-item, + relates document-owner as owner, + owns key as key-abstract; + +exif-tags sub dict, + relates exif-tag as dict-item, + relates exif-owner as owner, + owns key as key-abstract; + +ipfix sub dict, + relates ipfix-field as dict-item, + relates ipfix-owner as owner, + owns key as key-abstract; + +request-header sub dict, + relates header as dict-item, + relates header-owner as owner, + owns key as key-abstract; + +options sub dict, + relates option as dict-item, + relates options-owner as owner, + owns key as key-abstract; + +environment-variables sub dict, + relates variable as dict-item, + relates variables-owner as owner, + owns key as key-abstract; + +startup-info sub dict, + relates info as dict-item, + relates info-owner as owner, + owns key as key-abstract; + +additional-header-fields sub relation, + relates dict-item, + relates owner, + + plays header-fields:owner, + + owns key; + +header-fields sub list, + plays additional-header-fields:dict-item; + +external-references sub list, + relates referencing as list-item, + relates referenced as owner; + +kill-chain-phases sub list, + relates using as list-item, + relates used as owner; + +data-marking sub list, + relates marking as list-item, + relates marked as owner, + + plays granular-marking:marking; + +object-marking sub list, + relates marking as list-item, + relates marked as owner; + +granular-marking sub list, + relates marking as list-item, + relates marked as owner; + +created-by sub list, + relates creator as list-item, + relates created as owner; + +resolves-to-refs sub list, + relates resolving as list-item, + relates resolved as owner; + +belongs-to-refs sub list, + relates belonging as list-item, + relates belonged as owner; + +contains-ref sub list, + relates containing as list-item, + relates contained as owner; + +to-refs sub list, + relates to as list-item, + relates from as owner; + +cc-refs sub list, + relates to as list-item, + relates from as owner; + +bcc-refs sub list, + relates to as list-item, + relates from as owner; + +body-multipart sub list, + relates to as list-item, + relates from as owner; + +alternate-data-streams sub list, + relates to as list-item, + relates from as owner; + +sections sub list, + relates to as list-item, + relates from as owner; + +protocols sub list, + relates to as list-item, + relates from as owner; + +encapsulates-refs sub list, + relates encapsulating as list-item, + relates encapsulated as owner; + +opened-connection-refs sub list, + relates opening as list-item, + relates opened as owner; + +child-refs sub list, + relates child as list-item, + relates parent as owner; + +service-dll-refs sub list, + relates to as list-item, + relates from as owner; + + +values sub list, + relates to as list-item, + relates from as owner; + +received-lines sub linked-list; + +stix-attribute-string sub attribute, + value string, + + plays granular-marking:marking, + abstract; + + +stix-type sub stix-attribute-string; +stix-id sub stix-attribute-string; +stix-role sub stix-attribute-string; +spec-version sub stix-attribute-string; +labels sub stix-attribute-string; +langs sub stix-attribute-string; +defanged sub stix-attribute-string; +source-name sub stix-attribute-string; +url-link sub stix-attribute-string; +external-id sub stix-attribute-string; +name sub stix-attribute-string; +name-enc sub stix-attribute-string; +magic-number-hex sub stix-attribute-string; +mime-type sub stix-attribute-string; +aliases sub stix-attribute-string; +objective sub stix-attribute-string; +action sub stix-attribute-string; +context sub stix-attribute-string; +identity-class sub stix-attribute-string; +sector sub stix-attribute-string; +infrastructure-types sub stix-attribute-string; +contact-information sub stix-attribute-string; +indicator-type sub stix-attribute-string; +pattern sub stix-attribute-string; +pattern-type sub stix-attribute-string; +pattern-version sub stix-attribute-string; +goals sub stix-attribute-string; +resource-level sub stix-attribute-string; +primary-motivation sub stix-attribute-string; +secondary-motivations sub stix-attribute-string; +malware-types sub stix-attribute-string; +architecture-execution-envs sub stix-attribute-string; +implementation-languages sub stix-attribute-string; +capabilities sub stix-attribute-string; +region sub stix-attribute-string; +country sub stix-attribute-string; +administrative-area sub stix-attribute-string; +city sub stix-attribute-string; +street-address sub stix-attribute-string; +postal-code sub stix-attribute-string; +version sub stix-attribute-string; +configuration-version sub stix-attribute-string; +module sub stix-attribute-string; +analysis-engine-version sub stix-attribute-string; +analysis-definition-version sub stix-attribute-string; +result-name sub stix-attribute-string; +result sub stix-attribute-string; +note-abstract sub stix-attribute-string; +content sub stix-attribute-string; +authors sub stix-attribute-string; +explanation sub stix-attribute-string; +opinion-enum sub stix-attribute-string; +report-type sub stix-attribute-string; +sophistication sub stix-attribute-string; +personal-characteristics sub stix-attribute-string; +roles sub stix-attribute-string; +threat-actor-types sub stix-attribute-string; +tool-types sub stix-attribute-string; +tool-version sub stix-attribute-string; +vulnerability-types sub stix-attribute-string; +kill-chain-name sub stix-attribute-string; +kill-chain-phase-name sub stix-attribute-string; +summary sub stix-attribute-string; +payload-bin sub stix-attribute-string; +decryption-key sub stix-attribute-string; +path sub stix-attribute-string; +path-enc sub stix-attribute-string; +rir sub stix-attribute-string; +display-name sub stix-attribute-string; +content-type sub stix-attribute-string; +message-id sub stix-attribute-string; +subject sub stix-attribute-string; +body sub stix-attribute-string; +content-disposition sub stix-attribute-string; +comment sub stix-attribute-string; +sid sub stix-attribute-string; +owner-sid sub stix-attribute-string; +pdfid0 sub stix-attribute-string; +pdfid1 sub stix-attribute-string; +pe-type sub stix-attribute-string; +imphash sub stix-attribute-string; +machine-hex sub stix-attribute-string; +pointer-to-symbol-table-hex sub stix-attribute-string; +characterstics-hex sub stix-attribute-string; +win32-version-value-hex sub stix-attribute-string; +checksum-hex sub stix-attribute-string; +subsystem-hex sub stix-attribute-string; +dll-characteristics-hex sub stix-attribute-string; +loader-flags-hex sub stix-attribute-string; +magic-hex sub stix-attribute-string; +request-method sub stix-attribute-string; +request-value sub stix-attribute-string; +request-version sub stix-attribute-string; +icmp-type-hex sub stix-attribute-string; +icmp-code-hex sub stix-attribute-string; +service-name sub stix-attribute-string; +subject-public-key-algorithm sub stix-attribute-string; +subject-public-key-modulus sub stix-attribute-string; +certificate-policies sub stix-attribute-string; +crl-distribution-points sub stix-attribute-string; +subject-directory-attributes sub stix-attribute-string; +key-usage sub stix-attribute-string; +subject-alternative-name sub stix-attribute-string; +subject-key-identifier sub stix-attribute-string; +extended-key-usage sub stix-attribute-string; +name-constraints sub stix-attribute-string; +policy-mappings sub stix-attribute-string; +policy-constraints sub stix-attribute-string; +basic-constraints sub stix-attribute-string; +inhibit-any-policy sub stix-attribute-string; +authority-key-identifier sub stix-attribute-string; +issuer-alternative-name sub stix-attribute-string; +data sub stix-attribute-string; +user-id sub stix-attribute-string; +priority sub stix-attribute-string; +stix-value sub stix-attribute-string; +cwd sub stix-attribute-string; +command-line sub stix-attribute-string; +account-login sub stix-attribute-string; +group-name sub stix-attribute-string; +dst-flags-hex sub stix-attribute-string; +src-flags-hex sub stix-attribute-string; +product sub stix-attribute-string; +spe sub stix-attribute-string; +exif-tag-string sub stix-attribute-string; +window-title sub stix-attribute-string; +statement sub stix-attribute-string; +home-dir sub stix-attribute-string; +account-type sub stix-attribute-string; +credential sub stix-attribute-string; +attribute-key sub stix-attribute-string; +shell sub stix-attribute-string; +swid sub stix-attribute-string; +vendor sub stix-attribute-string; +description sub stix-attribute-string; +descriptions sub stix-attribute-string; +languages sub stix-attribute-string; +groups sub stix-attribute-string; + +received sub stix-attribute-string, + plays node:listed; +document-info sub stix-attribute-string, + plays document-info-dict:document-info; +protocol sub stix-attribute-string, + plays protocols:to; +ipfix-string sub stix-attribute-string, + plays ipfix:ipfix-field; +header sub stix-attribute-string, + plays request-header:header; +environment-variable sub stix-attribute-string, + plays environment-variables:variable; +startup sub stix-attribute-string, + plays startup-info:info; + +issuer sub stix-attribute-string; +serial-number sub stix-attribute-string; +signature-algorithm sub stix-attribute-string; +subject-public-key-exponent sub stix-attribute-string; + +hash-value sub stix-attribute-string, + plays hashes:hash-value; +key-abstract sub stix-attribute-string, + abstract; +key sub key-abstract; +hash-algorithm sub key-abstract, + regex "^(MD5|SHA-1|SHA-256|SHA-512|SHA3-256|SHA3-512|SSDEEP|TLSH)$"; +encryption-algorithm sub stix-attribute-string, + regex "^(AES-256-GCM|ChaCha20-Poly1305|mime-type-indicated)$"; +address-family sub stix-attribute-string, + regex "^(AF-UNSPEC|AF-INET|AF-IPX|AF-APPLETALK|AF-NETBIOS|AF-INET6|AF-IRDA|AF-BTH)$"; +socket-type sub stix-attribute-string, + regex "^(SOCK-STREAM|SOCK-DGRAM|SOCK-RAW|SOCK-RDM|SOCK-SEQPACKET)$"; +opinion-enum sub stix-attribute-string, + regex "^(strongly-disagree|disagree|neutral|agree|strongly-agree)$"; +integrity-level sub stix-attribute-string, + regex "^(low|medium|high|system)$"; +data-type sub stix-attribute-string, + regex "^(REG-NONE|REG-SZ|REG-EXPAND-SZ|REG-BINARY|REG-DWORD|REG-DWORD-BIG-ENDIAN|REG-LINK|REG-MULTI-SZ|REG-RESOURCE-LIST|REG-FULL-RESOURCE-DESCRIPTION|REG-RESOURCE-REQUIREMENTS-LIST|REG-QWORD|REG-INVALID-TYPE)$"; +start-type sub stix-attribute-string, + regex "^(SERVICE-AUTO-START|SERVICE-BOOT-START|SERVICE-DEMAND-START|SERVICE-DISABLED|SERVICE-SYSTEM-ALERT)$"; +service-type sub stix-attribute-string, + regex "^(SERVICE-KERNEL-DRIVER|SERVICE-FILE-SYSTEM-DRIVER|SERVICE-WIN32-OWN-PROCESS|SERVICE-WIN32-SHARE-PROCESS)$"; +service-status sub stix-attribute-string, + regex "^(SERVICE-CONTINUE-PENDING|SERVICE-PAUSE-PENDING|SERVICE-PAUSED|SERVICE-RUNNING|SERVICE-START-PENDING|SERVICE-STOP-PENDING|SERVICE-STOPPED)$"; +color sub stix-attribute-string, + regex "^(white|green|amber|red|clear)$"; +stix-attribute-double sub attribute, + value double, + + plays granular-marking:marked, + abstract; + +number sub stix-attribute-double; +latitude sub stix-attribute-double; +longitude sub stix-attribute-double; +precision sub stix-attribute-double; +number-observed sub stix-attribute-double; +count sub stix-attribute-double; +entropy sub stix-attribute-double; +size-ofuninitialized-data sub stix-attribute-double; + +stix-attribute-integer sub attribute, + value long, + + plays granular-marking:marked, + abstract; + +size sub stix-attribute-integer; +gid sub stix-attribute-integer; +image-height sub stix-attribute-integer; +image-width sub stix-attribute-integer; +bits-per-pixel sub stix-attribute-integer; +confidence sub stix-attribute-integer; +number-of-sections sub stix-attribute-integer; +number-of-symbols sub stix-attribute-integer; +size-of-optional-header sub stix-attribute-integer; +major-linker-version sub stix-attribute-integer; +minor-linker-version sub stix-attribute-integer; +size-of-code sub stix-attribute-integer; +size-of-initialized-data sub stix-attribute-integer; +size-of-uninitialized-data sub stix-attribute-integer; +address-of-entry-point sub stix-attribute-integer; +base-of-code sub stix-attribute-integer; +base-of-data sub stix-attribute-integer; +image-base sub stix-attribute-integer; +section-alignment sub stix-attribute-integer; +file-alignment sub stix-attribute-integer; +major-os-version sub stix-attribute-integer; +minor-os-version sub stix-attribute-integer; +major-image-version sub stix-attribute-integer; +minor-image-version sub stix-attribute-integer; +major-subsystem-version sub stix-attribute-integer; +minor-subsystem-version sub stix-attribute-integer; +size-of-image sub stix-attribute-integer; +size-of-headers sub stix-attribute-integer; +size-of-stack-reserve sub stix-attribute-integer; +size-of-stack-commit sub stix-attribute-integer; +size-of-heap-reserve sub stix-attribute-integer; +size-of-heap-commit sub stix-attribute-integer; +number-of-rva-and-sizes sub stix-attribute-integer; +message-body-length sub stix-attribute-integer; +number-subkeys sub stix-attribute-integer; +exif-tag-int sub stix-attribute-integer; +src-port sub stix-attribute-integer; +dst-port sub stix-attribute-integer; +src-byte-count sub stix-attribute-integer; +dst-byte-count sub stix-attribute-integer; +src-packets sub stix-attribute-integer; +dst-packets sub stix-attribute-integer; +socket-descriptor sub stix-attribute-integer; +socket-handle sub stix-attribute-integer; +pid sub stix-attribute-integer; +option sub stix-attribute-integer, + plays options:option; +ipfix-integer sub stix-attribute-integer, + plays ipfix:ipfix-field; + +stix-attribute-boolean sub attribute, + value boolean, + + plays granular-marking:marked, + abstract; + +is-family sub stix-attribute-boolean; +is-optimized sub stix-attribute-boolean; +is-self-signed sub stix-attribute-boolean; +dep-enabled sub stix-attribute-boolean; +is-active sub stix-attribute-boolean; +is-hidden sub stix-attribute-boolean; +is-blocking sub stix-attribute-boolean; +is-listening sub stix-attribute-boolean; +can-escalate-privs sub stix-attribute-boolean; +is-service-account sub stix-attribute-boolean; +is-privileged sub stix-attribute-boolean; +can-escalate-privs sub stix-attribute-boolean; +is-disabled sub stix-attribute-boolean; +is-multipart sub stix-attribute-boolean; +aslr-enabled sub stix-attribute-boolean; +revoked sub stix-attribute-boolean; + +stix-attribute-timestamp sub attribute, + value datetime, + + plays granular-marking:marked, + abstract; + +date sub stix-attribute-timestamp; +ctime sub stix-attribute-timestamp; +atime sub stix-attribute-timestamp; +mtime sub stix-attribute-timestamp; +created sub stix-attribute-timestamp; +modified sub stix-attribute-timestamp; +submitted sub stix-attribute-timestamp; +valid-from sub stix-attribute-timestamp; +valid-until sub stix-attribute-timestamp; +first-observed sub stix-attribute-timestamp; +last-observed sub stix-attribute-timestamp; +analysis-started sub stix-attribute-timestamp; +analysis-ended sub stix-attribute-timestamp; +published sub stix-attribute-timestamp; +first-seen sub stix-attribute-timestamp; +last-seen sub stix-attribute-timestamp; +time-date-stamp sub stix-attribute-timestamp; +end sub stix-attribute-timestamp; +start sub stix-attribute-timestamp; +created-time sub stix-attribute-timestamp; +modified-time sub stix-attribute-timestamp; +account-created sub stix-attribute-timestamp; +account-expires sub stix-attribute-timestamp; +credential-last-changed sub stix-attribute-timestamp; +account-first-login sub stix-attribute-timestamp; +account-last-login sub stix-attribute-timestamp; +validity-not-before sub stix-attribute-timestamp; +validity-not-after sub stix-attribute-timestamp; +private-key-usage-period-not-after sub stix-attribute-timestamp; +private-key-usage-period-not-before sub stix-attribute-timestamp; + +custom-attribute sub attribute, value string, + plays granular-marking:marked, + owns attribute-type; + +attribute-type sub attribute, value string; \ No newline at end of file diff --git a/src/test/resources/parsing/correct_defines/ParsingTestData.txt b/src/test/resources/parsing/correct_defines/ParsingTestData.txt new file mode 100644 index 0000000..2e18bd9 --- /dev/null +++ b/src/test/resources/parsing/correct_defines/ParsingTestData.txt @@ -0,0 +1,14789 @@ +TypeQL file(0,39658) + PsiTypeQLElement(eof_queries) - Location: (0,39658)(0,39658) + PsiTypeQLElement(query) - Location: (0,39658)(0,39658) + PsiTypeQLElement(query_define) - Location: (0,39658)(0,39658) + PsiTypeQLElement(clause_define) - Location: (0,39658)(0,39658) + PsiElement('define')('define')(0,6) + PsiWhiteSpace('\n\n')(6,8) + PsiComment(COMMENT)('# Based on https://docs.oasis-open.org/cti/stix/v2.1/cs01/stix-v2.1-cs01.html#-disnqa06jm5\n')(8,99) + PsiWhiteSpace('\n')(99,100) + PsiComment(COMMENT)('### 1 Base Entities ###\n')(100,124) + PsiWhiteSpace('\n')(124,125) + PsiTypeQLElement(definables) - Location: (125,39658)(125,39658) + PsiTypeQLElement(definable) - Location: (125,161)(125,161) + PsiTypeQLStatementType(statement_type) - Location: (125,161)(125,161) + PsiTypeQLElement(type_any) - Location: (125,136)(125,136) + PsiTypeQLType(type) - Name: stix-entity - Location: (125,136)(125,136) + PsiTypeQLElement(label) - Location: (125,136)(125,136) + PsiElement(LABEL_)('stix-entity')(125,136) + PsiWhiteSpace(' ')(136,137) + PsiTypeQLElement(type_constraint) - Location: (137,147)(137,147) + PsiElement(SUB_)('sub')(137,140) + PsiWhiteSpace(' ')(140,141) + PsiTypeQLElement(type_any) - Location: (141,147)(141,147) + PsiTypeQLElement(type) - Location: (141,147)(141,147) + PsiTypeQLElement(label) - Location: (141,147)(141,147) + PsiTypeQLElement(type_native) - Location: (141,147)(141,147) + PsiElement('entity')('entity')(141,147) + PsiElement(',')(',')(147,148) + PsiWhiteSpace('\n ')(148,153) + PsiTypeQLElement(type_constraint) - Location: (153,161)(153,161) + PsiElement('abstract')('abstract')(153,161) + PsiElement(';')(';')(161,162) + PsiWhiteSpace('\n\n')(162,164) + PsiTypeQLElement(definable) - Location: (164,298)(164,298) + PsiTypeQLStatementType(statement_type) - Location: (164,298)(164,298) + PsiTypeQLElement(type_any) - Location: (164,175)(164,175) + PsiTypeQLType(type) - Name: stix-object - Location: (164,175)(164,175) + PsiTypeQLElement(label) - Location: (164,175)(164,175) + PsiElement(LABEL_)('stix-object')(164,175) + PsiWhiteSpace(' ')(175,176) + PsiTypeQLSubType(type_constraint) - Location: (176,191)(176,191) + PsiElement(SUB_)('sub')(176,179) + PsiWhiteSpace(' ')(179,180) + PsiTypeQLElement(type_any) - Location: (180,191)(180,191) + PsiTypeQLElement(type) - Location: (180,191)(180,191) + PsiTypeQLElement(label) - Location: (180,191)(180,191) + PsiElement(LABEL_)('stix-entity')(180,191) + PsiElement(',')(',')(191,192) + PsiWhiteSpace('\n ')(192,197) + PsiTypeQLOwnsType(type_constraint) - Location: (197,211)(197,211) + PsiElement('owns')('owns')(197,201) + PsiWhiteSpace(' ')(201,202) + PsiTypeQLElement(type) - Location: (202,211)(202,211) + PsiTypeQLElement(label) - Location: (202,211)(202,211) + PsiElement(LABEL_)('stix-type')(202,211) + PsiTypeQLElement(annotations_owns) - Location: (211,211)(211,211) + + PsiElement(',')(',')(211,212) + PsiWhiteSpace('\n ')(212,217) + PsiTypeQLOwnsType(type_constraint) - Location: (217,234)(217,234) + PsiElement('owns')('owns')(217,221) + PsiWhiteSpace(' ')(221,222) + PsiTypeQLElement(type) - Location: (222,229)(222,229) + PsiTypeQLElement(label) - Location: (222,229)(222,229) + PsiElement(LABEL_)('stix-id')(222,229) + PsiWhiteSpace(' ')(229,230) + PsiTypeQLElement(annotations_owns) - Location: (230,234)(230,234) + PsiElement('@key')('@key')(230,234) + PsiElement(',')(',')(234,235) + PsiWhiteSpace('\n ')(235,240) + PsiTypeQLOwnsType(type_constraint) - Location: (240,261)(240,261) + PsiElement('owns')('owns')(240,244) + PsiWhiteSpace(' ')(244,245) + PsiTypeQLElement(type) - Location: (245,261)(245,261) + PsiTypeQLElement(label) - Location: (245,261)(245,261) + PsiElement(LABEL_)('custom-attribute')(245,261) + PsiTypeQLElement(annotations_owns) - Location: (261,261)(261,261) + + PsiElement(',')(',')(261,262) + PsiWhiteSpace('\n\n ')(262,268) + PsiTypeQLPlaysType(type_constraint) - Location: (268,298)(268,298) + PsiElement('plays')('plays')(268,273) + PsiWhiteSpace(' ')(273,274) + PsiTypeQLElement(type_scoped) - Location: (274,298)(274,298) + PsiTypeQLElement(label_scoped) - Location: (274,298)(274,298) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(274,298) + PsiElement(';')(';')(298,299) + PsiWhiteSpace('\n\n')(299,301) + PsiTypeQLElement(definable) - Location: (301,528)(301,528) + PsiTypeQLStatementType(statement_type) - Location: (301,528)(301,528) + PsiTypeQLElement(type_any) - Location: (301,317)(301,317) + PsiTypeQLType(type) - Name: stix-core-object - Location: (301,317)(301,317) + PsiTypeQLElement(label) - Location: (301,317)(301,317) + PsiElement(LABEL_)('stix-core-object')(301,317) + PsiWhiteSpace(' ')(317,318) + PsiTypeQLSubType(type_constraint) - Location: (318,333)(318,333) + PsiElement(SUB_)('sub')(318,321) + PsiWhiteSpace(' ')(321,322) + PsiTypeQLElement(type_any) - Location: (322,333)(322,333) + PsiTypeQLElement(type) - Location: (322,333)(322,333) + PsiTypeQLElement(label) - Location: (322,333)(322,333) + PsiElement(LABEL_)('stix-object')(322,333) + PsiElement(',')(',')(333,334) + PsiWhiteSpace('\n ')(334,339) + PsiTypeQLOwnsType(type_constraint) - Location: (339,356)(339,356) + PsiElement('owns')('owns')(339,343) + PsiWhiteSpace(' ')(343,344) + PsiTypeQLElement(type) - Location: (344,356)(344,356) + PsiTypeQLElement(label) - Location: (344,356)(344,356) + PsiElement(LABEL_)('spec-version')(344,356) + PsiTypeQLElement(annotations_owns) - Location: (356,356)(356,356) + + PsiElement(',')(',')(356,357) + PsiWhiteSpace('\n\n ')(357,363) + PsiTypeQLPlaysType(type_constraint) - Location: (363,390)(363,390) + PsiElement('plays')('plays')(363,368) + PsiWhiteSpace(' ')(368,369) + PsiTypeQLElement(type_scoped) - Location: (369,390)(369,390) + PsiTypeQLElement(label_scoped) - Location: (369,390)(369,390) + PsiElement(LABEL_SCOPED_)('object-marking:marked')(369,390) + PsiElement(',')(',')(390,391) + PsiWhiteSpace('\n ')(391,396) + PsiTypeQLPlaysType(type_constraint) - Location: (396,420)(396,420) + PsiElement('plays')('plays')(396,401) + PsiWhiteSpace(' ')(401,402) + PsiTypeQLElement(type_scoped) - Location: (402,420)(402,420) + PsiTypeQLElement(label_scoped) - Location: (402,420)(402,420) + PsiElement(LABEL_SCOPED_)('created-by:created')(402,420) + PsiElement(',')(',')(420,421) + PsiWhiteSpace('\n ')(421,426) + PsiTypeQLPlaysType(type_constraint) - Location: (426,455)(426,455) + PsiElement('plays')('plays')(426,431) + PsiWhiteSpace(' ')(431,432) + PsiTypeQLElement(type_scoped) - Location: (432,455)(432,455) + PsiTypeQLElement(label_scoped) - Location: (432,455)(432,455) + PsiElement(LABEL_SCOPED_)('derivation:derived-from')(432,455) + PsiElement(',')(',')(455,456) + PsiWhiteSpace('\n ')(456,461) + PsiTypeQLPlaysType(type_constraint) - Location: (461,486)(461,486) + PsiElement('plays')('plays')(461,466) + PsiWhiteSpace(' ')(466,467) + PsiTypeQLElement(type_scoped) - Location: (467,486)(467,486) + PsiTypeQLElement(label_scoped) - Location: (467,486)(467,486) + PsiElement(LABEL_SCOPED_)('derivation:deriving')(467,486) + PsiElement(',')(',')(486,487) + PsiWhiteSpace('\n ')(487,492) + PsiTypeQLPlaysType(type_constraint) - Location: (492,528)(492,528) + PsiElement('plays')('plays')(492,497) + PsiWhiteSpace(' ')(497,498) + PsiTypeQLElement(type_scoped) - Location: (498,528)(498,528) + PsiTypeQLElement(label_scoped) - Location: (498,528)(498,528) + PsiElement(LABEL_SCOPED_)('duplicate-of:duplicated-object')(498,528) + PsiElement(';')(';')(528,529) + PsiWhiteSpace('\n\n\n')(529,532) + PsiTypeQLElement(definable) - Location: (532,888)(532,888) + PsiTypeQLStatementType(statement_type) - Location: (532,888)(532,888) + PsiTypeQLElement(type_any) - Location: (532,550)(532,550) + PsiTypeQLType(type) - Name: stix-domain-object - Location: (532,550)(532,550) + PsiTypeQLElement(label) - Location: (532,550)(532,550) + PsiElement(LABEL_)('stix-domain-object')(532,550) + PsiWhiteSpace(' ')(550,551) + PsiTypeQLSubType(type_constraint) - Location: (551,571)(551,571) + PsiElement(SUB_)('sub')(551,554) + PsiWhiteSpace(' ')(554,555) + PsiTypeQLElement(type_any) - Location: (555,571)(555,571) + PsiTypeQLElement(type) - Location: (555,571)(555,571) + PsiTypeQLElement(label) - Location: (555,571)(555,571) + PsiElement(LABEL_)('stix-core-object')(555,571) + PsiElement(',')(',')(571,572) + PsiWhiteSpace('\n ')(572,577) + PsiTypeQLOwnsType(type_constraint) - Location: (577,589)(577,589) + PsiElement('owns')('owns')(577,581) + PsiWhiteSpace(' ')(581,582) + PsiTypeQLElement(type) - Location: (582,589)(582,589) + PsiTypeQLElement(label) - Location: (582,589)(582,589) + PsiElement(LABEL_)('created')(582,589) + PsiTypeQLElement(annotations_owns) - Location: (589,589)(589,589) + + PsiElement(',')(',')(589,590) + PsiWhiteSpace('\n ')(590,595) + PsiTypeQLOwnsType(type_constraint) - Location: (595,608)(595,608) + PsiElement('owns')('owns')(595,599) + PsiWhiteSpace(' ')(599,600) + PsiTypeQLElement(type) - Location: (600,608)(600,608) + PsiTypeQLElement(label) - Location: (600,608)(600,608) + PsiElement(LABEL_)('modified')(600,608) + PsiTypeQLElement(annotations_owns) - Location: (608,608)(608,608) + + PsiElement(',')(',')(608,609) + PsiWhiteSpace('\n ')(609,614) + PsiTypeQLOwnsType(type_constraint) - Location: (614,626)(614,626) + PsiElement('owns')('owns')(614,618) + PsiWhiteSpace(' ')(618,619) + PsiTypeQLElement(type) - Location: (619,626)(619,626) + PsiTypeQLElement(label) - Location: (619,626)(619,626) + PsiElement(LABEL_)('revoked')(619,626) + PsiTypeQLElement(annotations_owns) - Location: (626,626)(626,626) + + PsiElement(',')(',')(626,627) + PsiWhiteSpace('\n ')(627,632) + PsiTypeQLOwnsType(type_constraint) - Location: (632,643)(632,643) + PsiElement('owns')('owns')(632,636) + PsiWhiteSpace(' ')(636,637) + PsiTypeQLElement(type) - Location: (637,643)(637,643) + PsiTypeQLElement(label) - Location: (637,643)(637,643) + PsiElement(LABEL_)('labels')(637,643) + PsiTypeQLElement(annotations_owns) - Location: (643,643)(643,643) + + PsiElement(',')(',')(643,644) + PsiWhiteSpace('\n ')(644,649) + PsiTypeQLOwnsType(type_constraint) - Location: (649,664)(649,664) + PsiElement('owns')('owns')(649,653) + PsiWhiteSpace(' ')(653,654) + PsiTypeQLElement(type) - Location: (654,664)(654,664) + PsiTypeQLElement(label) - Location: (654,664)(654,664) + PsiElement(LABEL_)('confidence')(654,664) + PsiTypeQLElement(annotations_owns) - Location: (664,664)(664,664) + + PsiElement(',')(',')(664,665) + PsiWhiteSpace('\n ')(665,670) + PsiTypeQLOwnsType(type_constraint) - Location: (670,680)(670,680) + PsiElement('owns')('owns')(670,674) + PsiWhiteSpace(' ')(674,675) + PsiTypeQLElement(type) - Location: (675,680)(675,680) + PsiTypeQLElement(label) - Location: (675,680)(675,680) + PsiElement(LABEL_)('langs')(675,680) + PsiTypeQLElement(annotations_owns) - Location: (680,680)(680,680) + + PsiElement(',')(',')(680,681) + PsiWhiteSpace('\n\n ')(681,687) + PsiComment(COMMENT)('# Rel\n')(687,693) + PsiWhiteSpace(' ')(693,697) + PsiTypeQLPlaysType(type_constraint) - Location: (697,723)(697,723) + PsiElement('plays')('plays')(697,702) + PsiWhiteSpace(' ')(702,703) + PsiTypeQLElement(type_scoped) - Location: (703,723)(703,723) + PsiTypeQLElement(label_scoped) - Location: (703,723)(703,723) + PsiElement(LABEL_SCOPED_)('sighting:sighting-of')(703,723) + PsiElement(',')(',')(723,724) + PsiWhiteSpace('\n ')(724,729) + PsiTypeQLPlaysType(type_constraint) - Location: (729,766)(729,766) + PsiElement('plays')('plays')(729,734) + PsiWhiteSpace(' ')(734,735) + PsiTypeQLElement(type_scoped) - Location: (735,766)(735,766) + PsiTypeQLElement(label_scoped) - Location: (735,766)(735,766) + PsiElement(LABEL_SCOPED_)('external-references:referencing')(735,766) + PsiElement(',')(',')(766,767) + PsiWhiteSpace('\n\n ')(767,773) + PsiComment(COMMENT)('# RRel\n')(773,780) + PsiWhiteSpace(' ')(780,784) + PsiTypeQLPlaysType(type_constraint) - Location: (784,812)(784,812) + PsiElement('plays')('plays')(784,789) + PsiWhiteSpace(' ')(789,790) + PsiTypeQLElement(type_scoped) - Location: (790,812)(790,812) + PsiTypeQLElement(label_scoped) - Location: (790,812)(790,812) + PsiElement(LABEL_SCOPED_)('kill-chain-phases:used')(790,812) + PsiElement(',')(',')(812,813) + PsiWhiteSpace('\n ')(813,818) + PsiTypeQLPlaysType(type_constraint) - Location: (818,846)(818,846) + PsiElement('plays')('plays')(818,823) + PsiWhiteSpace(' ')(823,824) + PsiTypeQLElement(type_scoped) - Location: (824,846)(824,846) + PsiTypeQLElement(label_scoped) - Location: (824,846)(824,846) + PsiElement(LABEL_SCOPED_)('sighting:observed-data')(824,846) + PsiElement(',')(',')(846,847) + PsiWhiteSpace('\n ')(847,852) + PsiTypeQLPlaysType(type_constraint) - Location: (852,888)(852,888) + PsiElement('plays')('plays')(852,857) + PsiWhiteSpace(' ')(857,858) + PsiTypeQLElement(type_scoped) - Location: (858,888)(858,888) + PsiTypeQLElement(label_scoped) - Location: (858,888)(858,888) + PsiElement(LABEL_SCOPED_)('external-references:referenced')(858,888) + PsiElement(';')(';')(888,889) + PsiWhiteSpace('\n\n\n')(889,892) + PsiTypeQLElement(definable) - Location: (892,1103)(892,1103) + PsiTypeQLStatementType(statement_type) - Location: (892,1103)(892,1103) + PsiTypeQLElement(type_any) - Location: (892,920)(892,920) + PsiTypeQLType(type) - Name: stix-cyber-observable-object - Location: (892,920)(892,920) + PsiTypeQLElement(label) - Location: (892,920)(892,920) + PsiElement(LABEL_)('stix-cyber-observable-object')(892,920) + PsiWhiteSpace(' ')(920,921) + PsiTypeQLSubType(type_constraint) - Location: (921,941)(921,941) + PsiElement(SUB_)('sub')(921,924) + PsiWhiteSpace(' ')(924,925) + PsiTypeQLElement(type_any) - Location: (925,941)(925,941) + PsiTypeQLElement(type) - Location: (925,941)(925,941) + PsiTypeQLElement(label) - Location: (925,941)(925,941) + PsiElement(LABEL_)('stix-core-object')(925,941) + PsiElement(',')(',')(941,942) + PsiWhiteSpace('\n ')(942,947) + PsiTypeQLOwnsType(type_constraint) - Location: (947,960)(947,960) + PsiElement('owns')('owns')(947,951) + PsiWhiteSpace(' ')(951,952) + PsiTypeQLElement(type) - Location: (952,960)(952,960) + PsiTypeQLElement(label) - Location: (952,960)(952,960) + PsiElement(LABEL_)('defanged')(952,960) + PsiTypeQLElement(annotations_owns) - Location: (960,960)(960,960) + + PsiElement(',')(',')(960,961) + PsiWhiteSpace('\n\n ')(961,967) + PsiComment(COMMENT)('# Rel\n')(967,973) + PsiWhiteSpace(' ')(973,977) + PsiTypeQLPlaysType(type_constraint) - Location: (977,1014)(977,1014) + PsiElement('plays')('plays')(977,982) + PsiWhiteSpace(' ')(982,983) + PsiTypeQLElement(type_scoped) - Location: (983,1014)(983,1014) + PsiTypeQLElement(label_scoped) - Location: (983,1014)(983,1014) + PsiElement(LABEL_SCOPED_)('external-references:referencing')(983,1014) + PsiElement(',')(',')(1014,1015) + PsiWhiteSpace('\n ')(1015,1020) + PsiTypeQLPlaysType(type_constraint) - Location: (1020,1049)(1020,1049) + PsiElement('plays')('plays')(1020,1025) + PsiWhiteSpace(' ')(1025,1026) + PsiTypeQLElement(type_scoped) - Location: (1026,1049)(1026,1049) + PsiTypeQLElement(label_scoped) - Location: (1026,1049)(1026,1049) + PsiElement(LABEL_SCOPED_)('contains-ref:containing')(1026,1049) + PsiElement(',')(',')(1049,1050) + PsiWhiteSpace('\n\n ')(1050,1056) + PsiComment(COMMENT)('# RRel\n')(1056,1063) + PsiWhiteSpace(' ')(1063,1067) + PsiTypeQLPlaysType(type_constraint) - Location: (1067,1103)(1067,1103) + PsiElement('plays')('plays')(1067,1072) + PsiWhiteSpace(' ')(1072,1073) + PsiTypeQLElement(type_scoped) - Location: (1073,1103)(1073,1103) + PsiTypeQLElement(label_scoped) - Location: (1073,1103)(1073,1103) + PsiElement(LABEL_SCOPED_)('external-references:referenced')(1073,1103) + PsiElement(';')(';')(1103,1104) + PsiWhiteSpace('\n\n')(1104,1106) + PsiTypeQLElement(definable) - Location: (1106,1211)(1106,1211) + PsiTypeQLStatementType(statement_type) - Location: (1106,1211)(1106,1211) + PsiTypeQLElement(type_any) - Location: (1106,1121)(1106,1121) + PsiTypeQLType(type) - Name: stix-sub-object - Location: (1106,1121)(1106,1121) + PsiTypeQLElement(label) - Location: (1106,1121)(1106,1121) + PsiElement(LABEL_)('stix-sub-object')(1106,1121) + PsiWhiteSpace(' ')(1121,1122) + PsiTypeQLSubType(type_constraint) - Location: (1122,1137)(1122,1137) + PsiElement(SUB_)('sub')(1122,1125) + PsiWhiteSpace(' ')(1125,1126) + PsiTypeQLElement(type_any) - Location: (1126,1137)(1126,1137) + PsiTypeQLElement(type) - Location: (1126,1137)(1126,1137) + PsiTypeQLElement(label) - Location: (1126,1137)(1126,1137) + PsiElement(LABEL_)('stix-entity')(1126,1137) + PsiElement(',')(',')(1137,1138) + PsiWhiteSpace('\n ')(1138,1143) + PsiTypeQLOwnsType(type_constraint) - Location: (1143,1155)(1143,1155) + PsiElement('owns')('owns')(1143,1147) + PsiWhiteSpace(' ')(1147,1148) + PsiTypeQLElement(type) - Location: (1148,1155)(1148,1155) + PsiTypeQLElement(label) - Location: (1148,1155)(1148,1155) + PsiElement(LABEL_)('created')(1148,1155) + PsiTypeQLElement(annotations_owns) - Location: (1155,1155)(1155,1155) + + PsiElement(',')(',')(1155,1156) + PsiWhiteSpace('\n ')(1156,1161) + PsiTypeQLOwnsType(type_constraint) - Location: (1161,1174)(1161,1174) + PsiElement('owns')('owns')(1161,1165) + PsiWhiteSpace(' ')(1165,1166) + PsiTypeQLElement(type) - Location: (1166,1174)(1166,1174) + PsiTypeQLElement(label) - Location: (1166,1174)(1166,1174) + PsiElement(LABEL_)('modified')(1166,1174) + PsiTypeQLElement(annotations_owns) - Location: (1174,1174)(1174,1174) + + PsiElement(',')(',')(1174,1175) + PsiWhiteSpace('\n\n ')(1175,1181) + PsiTypeQLPlaysType(type_constraint) - Location: (1181,1211)(1181,1211) + PsiElement('plays')('plays')(1181,1186) + PsiWhiteSpace(' ')(1186,1187) + PsiTypeQLElement(type_scoped) - Location: (1187,1211)(1187,1211) + PsiTypeQLElement(label_scoped) - Location: (1187,1211)(1187,1211) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(1187,1211) + PsiElement(';')(';')(1211,1212) + PsiWhiteSpace('\n\n\n')(1212,1215) + PsiComment(COMMENT)('### 2 Data Types ###\n')(1215,1236) + PsiWhiteSpace('\n')(1236,1237) + PsiTypeQLElement(definable) - Location: (1237,1434)(1237,1434) + PsiTypeQLStatementType(statement_type) - Location: (1237,1434)(1237,1434) + PsiTypeQLElement(type_any) - Location: (1237,1255)(1237,1255) + PsiTypeQLType(type) - Name: external-reference - Location: (1237,1255)(1237,1255) + PsiTypeQLElement(label) - Location: (1237,1255)(1237,1255) + PsiElement(LABEL_)('external-reference')(1237,1255) + PsiWhiteSpace(' ')(1255,1256) + PsiTypeQLSubType(type_constraint) - Location: (1256,1275)(1256,1275) + PsiElement(SUB_)('sub')(1256,1259) + PsiWhiteSpace(' ')(1259,1260) + PsiTypeQLElement(type_any) - Location: (1260,1275)(1260,1275) + PsiTypeQLElement(type) - Location: (1260,1275)(1260,1275) + PsiTypeQLElement(label) - Location: (1260,1275)(1260,1275) + PsiElement(LABEL_)('stix-sub-object')(1260,1275) + PsiElement(',')(',')(1275,1276) + PsiWhiteSpace('\n ')(1276,1281) + PsiTypeQLOwnsType(type_constraint) - Location: (1281,1297)(1281,1297) + PsiElement('owns')('owns')(1281,1285) + PsiWhiteSpace(' ')(1285,1286) + PsiTypeQLElement(type) - Location: (1286,1297)(1286,1297) + PsiTypeQLElement(label) - Location: (1286,1297)(1286,1297) + PsiElement(LABEL_)('source-name')(1286,1297) + PsiTypeQLElement(annotations_owns) - Location: (1297,1297)(1297,1297) + + PsiElement(',')(',')(1297,1298) + PsiWhiteSpace('\n ')(1298,1303) + PsiTypeQLOwnsType(type_constraint) - Location: (1303,1319)(1303,1319) + PsiElement('owns')('owns')(1303,1307) + PsiWhiteSpace(' ')(1307,1308) + PsiTypeQLElement(type) - Location: (1308,1319)(1308,1319) + PsiTypeQLElement(label) - Location: (1308,1319)(1308,1319) + PsiElement(LABEL_)('description')(1308,1319) + PsiTypeQLElement(annotations_owns) - Location: (1319,1319)(1319,1319) + + PsiElement(',')(',')(1319,1320) + PsiWhiteSpace('\n ')(1320,1325) + PsiTypeQLOwnsType(type_constraint) - Location: (1325,1338)(1325,1338) + PsiElement('owns')('owns')(1325,1329) + PsiWhiteSpace(' ')(1329,1330) + PsiTypeQLElement(type) - Location: (1330,1338)(1330,1338) + PsiTypeQLElement(label) - Location: (1330,1338)(1330,1338) + PsiElement(LABEL_)('url-link')(1330,1338) + PsiTypeQLElement(annotations_owns) - Location: (1338,1338)(1338,1338) + + PsiElement(',')(',')(1338,1339) + PsiWhiteSpace('\n ')(1339,1344) + PsiTypeQLOwnsType(type_constraint) - Location: (1344,1360)(1344,1360) + PsiElement('owns')('owns')(1344,1348) + PsiWhiteSpace(' ')(1348,1349) + PsiTypeQLElement(type) - Location: (1349,1360)(1349,1360) + PsiTypeQLElement(label) - Location: (1349,1360)(1349,1360) + PsiElement(LABEL_)('external-id')(1349,1360) + PsiTypeQLElement(annotations_owns) - Location: (1360,1360)(1360,1360) + + PsiElement(',')(',')(1360,1361) + PsiWhiteSpace('\n\n ')(1361,1367) + PsiTypeQLPlaysType(type_constraint) - Location: (1367,1392)(1367,1392) + PsiElement('plays')('plays')(1367,1372) + PsiWhiteSpace(' ')(1372,1373) + PsiTypeQLElement(type_scoped) - Location: (1373,1392)(1373,1392) + PsiTypeQLElement(label_scoped) - Location: (1373,1392)(1373,1392) + PsiElement(LABEL_SCOPED_)('hashes:hashes-owner')(1373,1392) + PsiElement(',')(',')(1392,1393) + PsiWhiteSpace('\n ')(1393,1398) + PsiTypeQLPlaysType(type_constraint) - Location: (1398,1434)(1398,1434) + PsiElement('plays')('plays')(1398,1403) + PsiWhiteSpace(' ')(1403,1404) + PsiTypeQLElement(type_scoped) - Location: (1404,1434)(1404,1434) + PsiTypeQLElement(label_scoped) - Location: (1404,1434)(1404,1434) + PsiElement(LABEL_SCOPED_)('external-references:referenced')(1404,1434) + PsiElement(';')(';')(1434,1435) + PsiWhiteSpace('\n\n')(1435,1437) + PsiTypeQLElement(definable) - Location: (1437,1567)(1437,1567) + PsiTypeQLStatementType(statement_type) - Location: (1437,1567)(1437,1567) + PsiTypeQLElement(type_any) - Location: (1437,1453)(1437,1453) + PsiTypeQLType(type) - Name: kill-chain-phase - Location: (1437,1453)(1437,1453) + PsiTypeQLElement(label) - Location: (1437,1453)(1437,1453) + PsiElement(LABEL_)('kill-chain-phase')(1437,1453) + PsiWhiteSpace(' ')(1453,1454) + PsiTypeQLSubType(type_constraint) - Location: (1454,1473)(1454,1473) + PsiElement(SUB_)('sub')(1454,1457) + PsiWhiteSpace(' ')(1457,1458) + PsiTypeQLElement(type_any) - Location: (1458,1473)(1458,1473) + PsiTypeQLElement(type) - Location: (1458,1473)(1458,1473) + PsiTypeQLElement(label) - Location: (1458,1473)(1458,1473) + PsiElement(LABEL_)('stix-sub-object')(1458,1473) + PsiElement(',')(',')(1473,1474) + PsiWhiteSpace('\n ')(1474,1479) + PsiTypeQLOwnsType(type_constraint) - Location: (1479,1499)(1479,1499) + PsiElement('owns')('owns')(1479,1483) + PsiWhiteSpace(' ')(1483,1484) + PsiTypeQLElement(type) - Location: (1484,1499)(1484,1499) + PsiTypeQLElement(label) - Location: (1484,1499)(1484,1499) + PsiElement(LABEL_)('kill-chain-name')(1484,1499) + PsiTypeQLElement(annotations_owns) - Location: (1499,1499)(1499,1499) + + PsiElement(',')(',')(1499,1500) + PsiWhiteSpace('\n ')(1500,1505) + PsiTypeQLOwnsType(type_constraint) - Location: (1505,1531)(1505,1531) + PsiElement('owns')('owns')(1505,1509) + PsiWhiteSpace(' ')(1509,1510) + PsiTypeQLElement(type) - Location: (1510,1531)(1510,1531) + PsiTypeQLElement(label) - Location: (1510,1531)(1510,1531) + PsiElement(LABEL_)('kill-chain-phase-name')(1510,1531) + PsiTypeQLElement(annotations_owns) - Location: (1531,1531)(1531,1531) + + PsiElement(',')(',')(1531,1532) + PsiWhiteSpace('\n\n ')(1532,1538) + PsiTypeQLPlaysType(type_constraint) - Location: (1538,1567)(1538,1567) + PsiElement('plays')('plays')(1538,1543) + PsiWhiteSpace(' ')(1543,1544) + PsiTypeQLElement(type_scoped) - Location: (1544,1567)(1544,1567) + PsiTypeQLElement(label_scoped) - Location: (1544,1567)(1544,1567) + PsiElement(LABEL_SCOPED_)('kill-chain-phases:using')(1544,1567) + PsiElement(';')(';')(1567,1568) + PsiWhiteSpace('\n\n')(1568,1570) + PsiComment(COMMENT)('### 3 SDOs ###\n')(1570,1585) + PsiWhiteSpace('\n')(1585,1586) + PsiTypeQLElement(definable) - Location: (1586,1866)(1586,1866) + PsiTypeQLStatementType(statement_type) - Location: (1586,1866)(1586,1866) + PsiTypeQLElement(type_any) - Location: (1586,1600)(1586,1600) + PsiTypeQLType(type) - Name: attack-pattern - Location: (1586,1600)(1586,1600) + PsiTypeQLElement(label) - Location: (1586,1600)(1586,1600) + PsiElement(LABEL_)('attack-pattern')(1586,1600) + PsiWhiteSpace(' ')(1600,1601) + PsiTypeQLSubType(type_constraint) - Location: (1601,1623)(1601,1623) + PsiElement(SUB_)('sub')(1601,1604) + PsiWhiteSpace(' ')(1604,1605) + PsiTypeQLElement(type_any) - Location: (1605,1623)(1605,1623) + PsiTypeQLElement(type) - Location: (1605,1623)(1605,1623) + PsiTypeQLElement(label) - Location: (1605,1623)(1605,1623) + PsiElement(LABEL_)('stix-domain-object')(1605,1623) + PsiElement(',')(',')(1623,1624) + PsiWhiteSpace('\n ')(1624,1629) + PsiTypeQLOwnsType(type_constraint) - Location: (1629,1638)(1629,1638) + PsiElement('owns')('owns')(1629,1633) + PsiWhiteSpace(' ')(1633,1634) + PsiTypeQLElement(type) - Location: (1634,1638)(1634,1638) + PsiTypeQLElement(label) - Location: (1634,1638)(1634,1638) + PsiElement(LABEL_)('name')(1634,1638) + PsiTypeQLElement(annotations_owns) - Location: (1638,1638)(1638,1638) + + PsiElement(',')(',')(1638,1639) + PsiWhiteSpace('\n ')(1639,1644) + PsiTypeQLOwnsType(type_constraint) - Location: (1644,1660)(1644,1660) + PsiElement('owns')('owns')(1644,1648) + PsiWhiteSpace(' ')(1648,1649) + PsiTypeQLElement(type) - Location: (1649,1660)(1649,1660) + PsiTypeQLElement(label) - Location: (1649,1660)(1649,1660) + PsiElement(LABEL_)('description')(1649,1660) + PsiTypeQLElement(annotations_owns) - Location: (1660,1660)(1660,1660) + + PsiElement(',')(',')(1660,1661) + PsiWhiteSpace('\n ')(1661,1666) + PsiTypeQLOwnsType(type_constraint) - Location: (1666,1678)(1666,1678) + PsiElement('owns')('owns')(1666,1670) + PsiWhiteSpace(' ')(1670,1671) + PsiTypeQLElement(type) - Location: (1671,1678)(1671,1678) + PsiTypeQLElement(label) - Location: (1671,1678)(1671,1678) + PsiElement(LABEL_)('aliases')(1671,1678) + PsiTypeQLElement(annotations_owns) - Location: (1678,1678)(1678,1678) + + PsiElement(',')(',')(1678,1679) + PsiWhiteSpace('\n\n ')(1679,1685) + PsiComment(COMMENT)('# Rel\n')(1685,1691) + PsiWhiteSpace(' ')(1691,1695) + PsiTypeQLPlaysType(type_constraint) - Location: (1695,1720)(1695,1720) + PsiElement('plays')('plays')(1695,1700) + PsiWhiteSpace(' ')(1700,1701) + PsiTypeQLElement(type_scoped) - Location: (1701,1720)(1701,1720) + PsiTypeQLElement(label_scoped) - Location: (1701,1720)(1701,1720) + PsiElement(LABEL_SCOPED_)('delivers:delivering')(1701,1720) + PsiElement(',')(',')(1720,1721) + PsiWhiteSpace('\n ')(1721,1726) + PsiTypeQLPlaysType(type_constraint) - Location: (1726,1749)(1726,1749) + PsiElement('plays')('plays')(1726,1731) + PsiWhiteSpace(' ')(1731,1732) + PsiTypeQLElement(type_scoped) - Location: (1732,1749)(1732,1749) + PsiTypeQLElement(label_scoped) - Location: (1732,1749)(1732,1749) + PsiElement(LABEL_SCOPED_)('targets:targeting')(1732,1749) + PsiElement(',')(',')(1749,1750) + PsiWhiteSpace('\n ')(1750,1755) + PsiTypeQLPlaysType(type_constraint) - Location: (1755,1771)(1755,1771) + PsiElement('plays')('plays')(1755,1760) + PsiWhiteSpace(' ')(1760,1761) + PsiTypeQLElement(type_scoped) - Location: (1761,1771)(1761,1771) + PsiTypeQLElement(label_scoped) - Location: (1761,1771)(1761,1771) + PsiElement(LABEL_SCOPED_)('uses:using')(1761,1771) + PsiElement(',')(',')(1771,1772) + PsiWhiteSpace('\n\n ')(1772,1778) + PsiComment(COMMENT)('# RRel\n')(1778,1785) + PsiWhiteSpace(' ')(1785,1789) + PsiTypeQLPlaysType(type_constraint) - Location: (1789,1814)(1789,1814) + PsiElement('plays')('plays')(1789,1794) + PsiWhiteSpace(' ')(1794,1795) + PsiTypeQLElement(type_scoped) - Location: (1795,1814)(1795,1814) + PsiTypeQLElement(label_scoped) - Location: (1795,1814)(1795,1814) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(1795,1814) + PsiElement(',')(',')(1814,1815) + PsiWhiteSpace('\n ')(1815,1820) + PsiTypeQLPlaysType(type_constraint) - Location: (1820,1835)(1820,1835) + PsiElement('plays')('plays')(1820,1825) + PsiWhiteSpace(' ')(1825,1826) + PsiTypeQLElement(type_scoped) - Location: (1826,1835)(1826,1835) + PsiTypeQLElement(label_scoped) - Location: (1826,1835)(1826,1835) + PsiElement(LABEL_SCOPED_)('uses:used')(1826,1835) + PsiElement(',')(',')(1835,1836) + PsiWhiteSpace('\n ')(1836,1841) + PsiTypeQLPlaysType(type_constraint) - Location: (1841,1866)(1841,1866) + PsiElement('plays')('plays')(1841,1846) + PsiWhiteSpace(' ')(1846,1847) + PsiTypeQLElement(type_scoped) - Location: (1847,1866)(1847,1866) + PsiTypeQLElement(label_scoped) - Location: (1847,1866)(1847,1866) + PsiElement(LABEL_SCOPED_)('mitigates:mitigated')(1847,1866) + PsiElement(';')(';')(1866,1867) + PsiWhiteSpace('\n\n')(1867,1869) + PsiTypeQLElement(definable) - Location: (1869,2233)(1869,2233) + PsiTypeQLStatementType(statement_type) - Location: (1869,2233)(1869,2233) + PsiTypeQLElement(type_any) - Location: (1869,1877)(1869,1877) + PsiTypeQLType(type) - Name: campaign - Location: (1869,1877)(1869,1877) + PsiTypeQLElement(label) - Location: (1869,1877)(1869,1877) + PsiElement(LABEL_)('campaign')(1869,1877) + PsiWhiteSpace(' ')(1877,1878) + PsiTypeQLSubType(type_constraint) - Location: (1878,1900)(1878,1900) + PsiElement(SUB_)('sub')(1878,1881) + PsiWhiteSpace(' ')(1881,1882) + PsiTypeQLElement(type_any) - Location: (1882,1900)(1882,1900) + PsiTypeQLElement(type) - Location: (1882,1900)(1882,1900) + PsiTypeQLElement(label) - Location: (1882,1900)(1882,1900) + PsiElement(LABEL_)('stix-domain-object')(1882,1900) + PsiElement(',')(',')(1900,1901) + PsiWhiteSpace('\n ')(1901,1906) + PsiTypeQLOwnsType(type_constraint) - Location: (1906,1915)(1906,1915) + PsiElement('owns')('owns')(1906,1910) + PsiWhiteSpace(' ')(1910,1911) + PsiTypeQLElement(type) - Location: (1911,1915)(1911,1915) + PsiTypeQLElement(label) - Location: (1911,1915)(1911,1915) + PsiElement(LABEL_)('name')(1911,1915) + PsiTypeQLElement(annotations_owns) - Location: (1915,1915)(1915,1915) + + PsiElement(',')(',')(1915,1916) + PsiWhiteSpace('\n ')(1916,1921) + PsiTypeQLOwnsType(type_constraint) - Location: (1921,1937)(1921,1937) + PsiElement('owns')('owns')(1921,1925) + PsiWhiteSpace(' ')(1925,1926) + PsiTypeQLElement(type) - Location: (1926,1937)(1926,1937) + PsiTypeQLElement(label) - Location: (1926,1937)(1926,1937) + PsiElement(LABEL_)('description')(1926,1937) + PsiTypeQLElement(annotations_owns) - Location: (1937,1937)(1937,1937) + + PsiElement(',')(',')(1937,1938) + PsiWhiteSpace('\n ')(1938,1943) + PsiTypeQLOwnsType(type_constraint) - Location: (1943,1955)(1943,1955) + PsiElement('owns')('owns')(1943,1947) + PsiWhiteSpace(' ')(1947,1948) + PsiTypeQLElement(type) - Location: (1948,1955)(1948,1955) + PsiTypeQLElement(label) - Location: (1948,1955)(1948,1955) + PsiElement(LABEL_)('aliases')(1948,1955) + PsiTypeQLElement(annotations_owns) - Location: (1955,1955)(1955,1955) + + PsiElement(',')(',')(1955,1956) + PsiWhiteSpace('\n ')(1956,1961) + PsiTypeQLOwnsType(type_constraint) - Location: (1961,1976)(1961,1976) + PsiElement('owns')('owns')(1961,1965) + PsiWhiteSpace(' ')(1965,1966) + PsiTypeQLElement(type) - Location: (1966,1976)(1966,1976) + PsiTypeQLElement(label) - Location: (1966,1976)(1966,1976) + PsiElement(LABEL_)('first-seen')(1966,1976) + PsiTypeQLElement(annotations_owns) - Location: (1976,1976)(1976,1976) + + PsiElement(',')(',')(1976,1977) + PsiWhiteSpace('\n ')(1977,1982) + PsiTypeQLOwnsType(type_constraint) - Location: (1982,1996)(1982,1996) + PsiElement('owns')('owns')(1982,1986) + PsiWhiteSpace(' ')(1986,1987) + PsiTypeQLElement(type) - Location: (1987,1996)(1987,1996) + PsiTypeQLElement(label) - Location: (1987,1996)(1987,1996) + PsiElement(LABEL_)('last-seen')(1987,1996) + PsiTypeQLElement(annotations_owns) - Location: (1996,1996)(1996,1996) + + PsiElement(',')(',')(1996,1997) + PsiWhiteSpace('\n ')(1997,2002) + PsiTypeQLOwnsType(type_constraint) - Location: (2002,2016)(2002,2016) + PsiElement('owns')('owns')(2002,2006) + PsiWhiteSpace(' ')(2006,2007) + PsiTypeQLElement(type) - Location: (2007,2016)(2007,2016) + PsiTypeQLElement(label) - Location: (2007,2016)(2007,2016) + PsiElement(LABEL_)('objective')(2007,2016) + PsiTypeQLElement(annotations_owns) - Location: (2016,2016)(2016,2016) + + PsiElement(',')(',')(2016,2017) + PsiWhiteSpace('\n\n ')(2017,2023) + PsiComment(COMMENT)('# Rel\n')(2023,2029) + PsiWhiteSpace(' ')(2029,2033) + PsiTypeQLPlaysType(type_constraint) - Location: (2033,2056)(2033,2056) + PsiElement('plays')('plays')(2033,2038) + PsiWhiteSpace(' ')(2038,2039) + PsiTypeQLElement(type_scoped) - Location: (2039,2056)(2039,2056) + PsiTypeQLElement(label_scoped) - Location: (2039,2056)(2039,2056) + PsiElement(LABEL_SCOPED_)('targets:targeting')(2039,2056) + PsiElement(',')(',')(2056,2057) + PsiWhiteSpace('\n ')(2057,2062) + PsiTypeQLPlaysType(type_constraint) - Location: (2062,2093)(2062,2093) + PsiElement('plays')('plays')(2062,2067) + PsiWhiteSpace(' ')(2067,2068) + PsiTypeQLElement(type_scoped) - Location: (2068,2093)(2068,2093) + PsiTypeQLElement(label_scoped) - Location: (2068,2093)(2068,2093) + PsiElement(LABEL_SCOPED_)('attributed-to:attributing')(2068,2093) + PsiElement(',')(',')(2093,2094) + PsiWhiteSpace('\n ')(2094,2099) + PsiTypeQLPlaysType(type_constraint) - Location: (2099,2115)(2099,2115) + PsiElement('plays')('plays')(2099,2104) + PsiWhiteSpace(' ')(2104,2105) + PsiTypeQLElement(type_scoped) - Location: (2105,2115)(2105,2115) + PsiTypeQLElement(label_scoped) - Location: (2105,2115)(2105,2115) + PsiElement(LABEL_SCOPED_)('uses:using')(2105,2115) + PsiElement(',')(',')(2115,2116) + PsiWhiteSpace('\n ')(2116,2121) + PsiTypeQLPlaysType(type_constraint) - Location: (2121,2151)(2121,2151) + PsiElement('plays')('plays')(2121,2126) + PsiWhiteSpace(' ')(2126,2127) + PsiTypeQLElement(type_scoped) - Location: (2127,2151)(2127,2151) + PsiTypeQLElement(label_scoped) - Location: (2127,2151)(2127,2151) + PsiElement(LABEL_SCOPED_)('compromises:compromising')(2127,2151) + PsiElement(',')(',')(2151,2152) + PsiWhiteSpace('\n ')(2152,2157) + PsiTypeQLPlaysType(type_constraint) - Location: (2157,2190)(2157,2190) + PsiElement('plays')('plays')(2157,2162) + PsiWhiteSpace(' ')(2162,2163) + PsiTypeQLElement(type_scoped) - Location: (2163,2190)(2163,2190) + PsiTypeQLElement(label_scoped) - Location: (2163,2190)(2163,2190) + PsiElement(LABEL_SCOPED_)('originates-from:originating')(2163,2190) + PsiElement(',')(',')(2190,2191) + PsiWhiteSpace('\n\n ')(2191,2197) + PsiComment(COMMENT)('# RRel\n')(2197,2204) + PsiWhiteSpace(' ')(2204,2208) + PsiTypeQLPlaysType(type_constraint) - Location: (2208,2233)(2208,2233) + PsiElement('plays')('plays')(2208,2213) + PsiWhiteSpace(' ')(2213,2214) + PsiTypeQLElement(type_scoped) - Location: (2214,2233)(2214,2233) + PsiTypeQLElement(label_scoped) - Location: (2214,2233)(2214,2233) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(2214,2233) + PsiElement(';')(';')(2233,2234) + PsiWhiteSpace('\n\n')(2234,2236) + PsiTypeQLElement(definable) - Location: (2236,2444)(2236,2444) + PsiTypeQLStatementType(statement_type) - Location: (2236,2444)(2236,2444) + PsiTypeQLElement(type_any) - Location: (2236,2252)(2236,2252) + PsiTypeQLType(type) - Name: course-of-action - Location: (2236,2252)(2236,2252) + PsiTypeQLElement(label) - Location: (2236,2252)(2236,2252) + PsiElement(LABEL_)('course-of-action')(2236,2252) + PsiWhiteSpace(' ')(2252,2253) + PsiTypeQLSubType(type_constraint) - Location: (2253,2275)(2253,2275) + PsiElement(SUB_)('sub')(2253,2256) + PsiWhiteSpace(' ')(2256,2257) + PsiTypeQLElement(type_any) - Location: (2257,2275)(2257,2275) + PsiTypeQLElement(type) - Location: (2257,2275)(2257,2275) + PsiTypeQLElement(label) - Location: (2257,2275)(2257,2275) + PsiElement(LABEL_)('stix-domain-object')(2257,2275) + PsiElement(',')(',')(2275,2276) + PsiWhiteSpace('\n ')(2276,2281) + PsiTypeQLOwnsType(type_constraint) - Location: (2281,2290)(2281,2290) + PsiElement('owns')('owns')(2281,2285) + PsiWhiteSpace(' ')(2285,2286) + PsiTypeQLElement(type) - Location: (2286,2290)(2286,2290) + PsiTypeQLElement(label) - Location: (2286,2290)(2286,2290) + PsiElement(LABEL_)('name')(2286,2290) + PsiTypeQLElement(annotations_owns) - Location: (2290,2290)(2290,2290) + + PsiElement(',')(',')(2290,2291) + PsiWhiteSpace('\n ')(2291,2296) + PsiTypeQLOwnsType(type_constraint) - Location: (2296,2312)(2296,2312) + PsiElement('owns')('owns')(2296,2300) + PsiWhiteSpace(' ')(2300,2301) + PsiTypeQLElement(type) - Location: (2301,2312)(2301,2312) + PsiTypeQLElement(label) - Location: (2301,2312)(2301,2312) + PsiElement(LABEL_)('description')(2301,2312) + PsiTypeQLElement(annotations_owns) - Location: (2312,2312)(2312,2312) + + PsiElement(',')(',')(2312,2313) + PsiWhiteSpace('\n ')(2313,2318) + PsiTypeQLOwnsType(type_constraint) - Location: (2318,2329)(2318,2329) + PsiElement('owns')('owns')(2318,2322) + PsiWhiteSpace(' ')(2322,2323) + PsiTypeQLElement(type) - Location: (2323,2329)(2323,2329) + PsiTypeQLElement(label) - Location: (2323,2329)(2323,2329) + PsiElement(LABEL_)('action')(2323,2329) + PsiTypeQLElement(annotations_owns) - Location: (2329,2329)(2329,2329) + + PsiElement(',')(',')(2329,2330) + PsiWhiteSpace('\n\n ')(2330,2336) + PsiComment(COMMENT)('# Rel\n')(2336,2342) + PsiWhiteSpace(' ')(2342,2346) + PsiTypeQLPlaysType(type_constraint) - Location: (2346,2378)(2346,2378) + PsiElement('plays')('plays')(2346,2351) + PsiWhiteSpace(' ')(2351,2352) + PsiTypeQLElement(type_scoped) - Location: (2352,2378)(2352,2378) + PsiTypeQLElement(label_scoped) - Location: (2352,2378)(2352,2378) + PsiElement(LABEL_SCOPED_)('investigates:investigating')(2352,2378) + PsiElement(',')(',')(2378,2379) + PsiWhiteSpace('\n ')(2379,2384) + PsiTypeQLPlaysType(type_constraint) - Location: (2384,2410)(2384,2410) + PsiElement('plays')('plays')(2384,2389) + PsiWhiteSpace(' ')(2389,2390) + PsiTypeQLElement(type_scoped) - Location: (2390,2410)(2390,2410) + PsiTypeQLElement(label_scoped) - Location: (2390,2410)(2390,2410) + PsiElement(LABEL_SCOPED_)('mitigates:mitigating')(2390,2410) + PsiElement(',')(',')(2410,2411) + PsiWhiteSpace('\n ')(2411,2416) + PsiTypeQLPlaysType(type_constraint) - Location: (2416,2444)(2416,2444) + PsiElement('plays')('plays')(2416,2421) + PsiWhiteSpace(' ')(2421,2422) + PsiTypeQLElement(type_scoped) - Location: (2422,2444)(2422,2444) + PsiTypeQLElement(label_scoped) - Location: (2422,2444)(2422,2444) + PsiElement(LABEL_SCOPED_)('remediates:remediating')(2422,2444) + PsiElement(';')(';')(2444,2445) + PsiWhiteSpace('\n\n')(2445,2447) + PsiTypeQLElement(definable) - Location: (2447,2533)(2447,2533) + PsiTypeQLStatementType(statement_type) - Location: (2447,2533)(2447,2533) + PsiTypeQLElement(type_any) - Location: (2447,2455)(2447,2455) + PsiTypeQLType(type) - Name: grouping - Location: (2447,2455)(2447,2455) + PsiTypeQLElement(label) - Location: (2447,2455)(2447,2455) + PsiElement(LABEL_)('grouping')(2447,2455) + PsiWhiteSpace(' ')(2455,2456) + PsiTypeQLSubType(type_constraint) - Location: (2456,2478)(2456,2478) + PsiElement(SUB_)('sub')(2456,2459) + PsiWhiteSpace(' ')(2459,2460) + PsiTypeQLElement(type_any) - Location: (2460,2478)(2460,2478) + PsiTypeQLElement(type) - Location: (2460,2478)(2460,2478) + PsiTypeQLElement(label) - Location: (2460,2478)(2460,2478) + PsiElement(LABEL_)('stix-domain-object')(2460,2478) + PsiElement(',')(',')(2478,2479) + PsiWhiteSpace('\n ')(2479,2484) + PsiTypeQLOwnsType(type_constraint) - Location: (2484,2493)(2484,2493) + PsiElement('owns')('owns')(2484,2488) + PsiWhiteSpace(' ')(2488,2489) + PsiTypeQLElement(type) - Location: (2489,2493)(2489,2493) + PsiTypeQLElement(label) - Location: (2489,2493)(2489,2493) + PsiElement(LABEL_)('name')(2489,2493) + PsiTypeQLElement(annotations_owns) - Location: (2493,2493)(2493,2493) + + PsiElement(',')(',')(2493,2494) + PsiWhiteSpace('\n ')(2494,2499) + PsiTypeQLOwnsType(type_constraint) - Location: (2499,2515)(2499,2515) + PsiElement('owns')('owns')(2499,2503) + PsiWhiteSpace(' ')(2503,2504) + PsiTypeQLElement(type) - Location: (2504,2515)(2504,2515) + PsiTypeQLElement(label) - Location: (2504,2515)(2504,2515) + PsiElement(LABEL_)('description')(2504,2515) + PsiTypeQLElement(annotations_owns) - Location: (2515,2515)(2515,2515) + + PsiElement(',')(',')(2515,2516) + PsiWhiteSpace('\n ')(2516,2521) + PsiTypeQLOwnsType(type_constraint) - Location: (2521,2533)(2521,2533) + PsiElement('owns')('owns')(2521,2525) + PsiWhiteSpace(' ')(2525,2526) + PsiTypeQLElement(type) - Location: (2526,2533)(2526,2533) + PsiTypeQLElement(label) - Location: (2526,2533)(2526,2533) + PsiElement(LABEL_)('context')(2526,2533) + PsiTypeQLElement(annotations_owns) - Location: (2533,2533)(2533,2533) + + PsiElement(';')(';')(2533,2534) + PsiWhiteSpace('\n\n\n\n')(2534,2538) + PsiTypeQLElement(definable) - Location: (2538,2927)(2538,2927) + PsiTypeQLStatementType(statement_type) - Location: (2538,2927)(2538,2927) + PsiTypeQLElement(type_any) - Location: (2538,2546)(2538,2546) + PsiTypeQLType(type) - Name: identity - Location: (2538,2546)(2538,2546) + PsiTypeQLElement(label) - Location: (2538,2546)(2538,2546) + PsiElement(LABEL_)('identity')(2538,2546) + PsiWhiteSpace(' ')(2546,2547) + PsiTypeQLSubType(type_constraint) - Location: (2547,2569)(2547,2569) + PsiElement(SUB_)('sub')(2547,2550) + PsiWhiteSpace(' ')(2550,2551) + PsiTypeQLElement(type_any) - Location: (2551,2569)(2551,2569) + PsiTypeQLElement(type) - Location: (2551,2569)(2551,2569) + PsiTypeQLElement(label) - Location: (2551,2569)(2551,2569) + PsiElement(LABEL_)('stix-domain-object')(2551,2569) + PsiElement(',')(',')(2569,2570) + PsiWhiteSpace('\n ')(2570,2575) + PsiTypeQLOwnsType(type_constraint) - Location: (2575,2584)(2575,2584) + PsiElement('owns')('owns')(2575,2579) + PsiWhiteSpace(' ')(2579,2580) + PsiTypeQLElement(type) - Location: (2580,2584)(2580,2584) + PsiTypeQLElement(label) - Location: (2580,2584)(2580,2584) + PsiElement(LABEL_)('name')(2580,2584) + PsiTypeQLElement(annotations_owns) - Location: (2584,2584)(2584,2584) + + PsiElement(',')(',')(2584,2585) + PsiWhiteSpace('\n ')(2585,2590) + PsiTypeQLOwnsType(type_constraint) - Location: (2590,2606)(2590,2606) + PsiElement('owns')('owns')(2590,2594) + PsiWhiteSpace(' ')(2594,2595) + PsiTypeQLElement(type) - Location: (2595,2606)(2595,2606) + PsiTypeQLElement(label) - Location: (2595,2606)(2595,2606) + PsiElement(LABEL_)('description')(2595,2606) + PsiTypeQLElement(annotations_owns) - Location: (2606,2606)(2606,2606) + + PsiElement(',')(',')(2606,2607) + PsiWhiteSpace('\n ')(2607,2612) + PsiTypeQLOwnsType(type_constraint) - Location: (2612,2626)(2612,2626) + PsiElement('owns')('owns')(2612,2616) + PsiWhiteSpace(' ')(2616,2617) + PsiTypeQLElement(type) - Location: (2617,2626)(2617,2626) + PsiTypeQLElement(label) - Location: (2617,2626)(2617,2626) + PsiElement(LABEL_)('stix-role')(2617,2626) + PsiTypeQLElement(annotations_owns) - Location: (2626,2626)(2626,2626) + + PsiElement(',')(',')(2626,2627) + PsiWhiteSpace('\n ')(2627,2632) + PsiTypeQLOwnsType(type_constraint) - Location: (2632,2651)(2632,2651) + PsiElement('owns')('owns')(2632,2636) + PsiWhiteSpace(' ')(2636,2637) + PsiTypeQLElement(type) - Location: (2637,2651)(2637,2651) + PsiTypeQLElement(label) - Location: (2637,2651)(2637,2651) + PsiElement(LABEL_)('identity-class')(2637,2651) + PsiTypeQLElement(annotations_owns) - Location: (2651,2651)(2651,2651) + + PsiElement(',')(',')(2651,2652) + PsiWhiteSpace('\n ')(2652,2657) + PsiTypeQLOwnsType(type_constraint) - Location: (2657,2668)(2657,2668) + PsiElement('owns')('owns')(2657,2661) + PsiWhiteSpace(' ')(2661,2662) + PsiTypeQLElement(type) - Location: (2662,2668)(2662,2668) + PsiTypeQLElement(label) - Location: (2662,2668)(2662,2668) + PsiElement(LABEL_)('sector')(2662,2668) + PsiTypeQLElement(annotations_owns) - Location: (2668,2668)(2668,2668) + + PsiElement(',')(',')(2668,2669) + PsiWhiteSpace('\n ')(2669,2674) + PsiTypeQLOwnsType(type_constraint) - Location: (2674,2698)(2674,2698) + PsiElement('owns')('owns')(2674,2678) + PsiWhiteSpace(' ')(2678,2679) + PsiTypeQLElement(type) - Location: (2679,2698)(2679,2698) + PsiTypeQLElement(label) - Location: (2679,2698)(2679,2698) + PsiElement(LABEL_)('contact-information')(2679,2698) + PsiTypeQLElement(annotations_owns) - Location: (2698,2698)(2698,2698) + + PsiElement(',')(',')(2698,2699) + PsiWhiteSpace('\n\n ')(2699,2705) + PsiTypeQLPlaysType(type_constraint) - Location: (2705,2729)(2705,2729) + PsiElement('plays')('plays')(2705,2710) + PsiWhiteSpace(' ')(2710,2711) + PsiTypeQLElement(type_scoped) - Location: (2711,2729)(2711,2729) + PsiTypeQLElement(label_scoped) - Location: (2711,2729)(2711,2729) + PsiElement(LABEL_SCOPED_)('created-by:creator')(2711,2729) + PsiElement(',')(',')(2729,2730) + PsiWhiteSpace('\n\n ')(2730,2736) + PsiComment(COMMENT)('# Rel\n')(2736,2742) + PsiWhiteSpace(' ')(2742,2746) + PsiTypeQLPlaysType(type_constraint) - Location: (2746,2771)(2746,2771) + PsiElement('plays')('plays')(2746,2751) + PsiWhiteSpace(' ')(2751,2752) + PsiTypeQLElement(type_scoped) - Location: (2752,2771)(2752,2771) + PsiTypeQLElement(label_scoped) - Location: (2752,2771)(2752,2771) + PsiElement(LABEL_SCOPED_)('located-at:locating')(2752,2771) + PsiElement(',')(',')(2771,2772) + PsiWhiteSpace('\n ')(2772,2777) + PsiTypeQLPlaysType(type_constraint) - Location: (2777,2793)(2777,2793) + PsiElement('plays')('plays')(2777,2782) + PsiWhiteSpace(' ')(2782,2783) + PsiTypeQLElement(type_scoped) - Location: (2783,2793)(2783,2793) + PsiTypeQLElement(label_scoped) - Location: (2783,2793)(2783,2793) + PsiElement(LABEL_SCOPED_)('uses:using')(2783,2793) + PsiElement(',')(',')(2793,2794) + PsiWhiteSpace('\n\n ')(2794,2800) + PsiComment(COMMENT)('# RRel\n')(2800,2807) + PsiWhiteSpace(' ')(2807,2811) + PsiTypeQLPlaysType(type_constraint) - Location: (2811,2826)(2811,2826) + PsiElement('plays')('plays')(2811,2816) + PsiWhiteSpace(' ')(2816,2817) + PsiTypeQLElement(type_scoped) - Location: (2817,2826)(2817,2826) + PsiTypeQLElement(label_scoped) - Location: (2817,2826)(2817,2826) + PsiElement(LABEL_SCOPED_)('uses:used')(2817,2826) + PsiElement(',')(',')(2826,2827) + PsiWhiteSpace('\n ')(2827,2832) + PsiTypeQLPlaysType(type_constraint) - Location: (2832,2854)(2832,2854) + PsiElement('plays')('plays')(2832,2837) + PsiWhiteSpace(' ')(2837,2838) + PsiTypeQLElement(type_scoped) - Location: (2838,2854)(2838,2854) + PsiTypeQLElement(label_scoped) - Location: (2838,2854)(2838,2854) + PsiElement(LABEL_SCOPED_)('targets:targeted')(2838,2854) + PsiElement(',')(',')(2854,2855) + PsiWhiteSpace('\n ')(2855,2860) + PsiTypeQLPlaysType(type_constraint) - Location: (2860,2890)(2860,2890) + PsiElement('plays')('plays')(2860,2865) + PsiWhiteSpace(' ')(2865,2866) + PsiTypeQLElement(type_scoped) - Location: (2866,2890)(2866,2890) + PsiTypeQLElement(label_scoped) - Location: (2866,2890)(2866,2890) + PsiElement(LABEL_SCOPED_)('attributed-to:attributed')(2866,2890) + PsiElement(',')(',')(2890,2891) + PsiWhiteSpace('\n ')(2891,2896) + PsiTypeQLPlaysType(type_constraint) - Location: (2896,2927)(2896,2927) + PsiElement('plays')('plays')(2896,2901) + PsiWhiteSpace(' ')(2901,2902) + PsiTypeQLElement(type_scoped) - Location: (2902,2927)(2902,2927) + PsiTypeQLElement(label_scoped) - Location: (2902,2927)(2902,2927) + PsiElement(LABEL_SCOPED_)('impersonates:impersonated')(2902,2927) + PsiElement(';')(';')(2927,2928) + PsiWhiteSpace('\n\n')(2928,2930) + PsiTypeQLElement(definable) - Location: (2930,2953)(2930,2953) + PsiTypeQLStatementType(statement_type) - Location: (2930,2953)(2930,2953) + PsiTypeQLElement(type_any) - Location: (2930,2940)(2930,2940) + PsiTypeQLType(type) - Name: individual - Location: (2930,2940)(2930,2940) + PsiTypeQLElement(label) - Location: (2930,2940)(2930,2940) + PsiElement(LABEL_)('individual')(2930,2940) + PsiWhiteSpace(' ')(2940,2941) + PsiTypeQLSubType(type_constraint) - Location: (2941,2953)(2941,2953) + PsiElement(SUB_)('sub')(2941,2944) + PsiWhiteSpace(' ')(2944,2945) + PsiTypeQLElement(type_any) - Location: (2945,2953)(2945,2953) + PsiTypeQLElement(type) - Location: (2945,2953)(2945,2953) + PsiTypeQLElement(label) - Location: (2945,2953)(2945,2953) + PsiElement(LABEL_)('identity')(2945,2953) + PsiElement(';')(';')(2953,2954) + PsiWhiteSpace('\n')(2954,2955) + PsiTypeQLElement(definable) - Location: (2955,2973)(2955,2973) + PsiTypeQLStatementType(statement_type) - Location: (2955,2973)(2955,2973) + PsiTypeQLElement(type_any) - Location: (2955,2960)(2955,2960) + PsiTypeQLType(type) - Name: group - Location: (2955,2960)(2955,2960) + PsiTypeQLElement(label) - Location: (2955,2960)(2955,2960) + PsiTypeQLElement(unreserved) - Location: (2955,2960)(2955,2960) + PsiElement('group')('group')(2955,2960) + PsiWhiteSpace(' ')(2960,2961) + PsiTypeQLSubType(type_constraint) - Location: (2961,2973)(2961,2973) + PsiElement(SUB_)('sub')(2961,2964) + PsiWhiteSpace(' ')(2964,2965) + PsiTypeQLElement(type_any) - Location: (2965,2973)(2965,2973) + PsiTypeQLElement(type) - Location: (2965,2973)(2965,2973) + PsiTypeQLElement(label) - Location: (2965,2973)(2965,2973) + PsiElement(LABEL_)('identity')(2965,2973) + PsiElement(';')(';')(2973,2974) + PsiWhiteSpace('\n')(2974,2975) + PsiTypeQLElement(definable) - Location: (2975,2994)(2975,2994) + PsiTypeQLStatementType(statement_type) - Location: (2975,2994)(2975,2994) + PsiTypeQLElement(type_any) - Location: (2975,2981)(2975,2981) + PsiTypeQLType(type) - Name: system - Location: (2975,2981)(2975,2981) + PsiTypeQLElement(label) - Location: (2975,2981)(2975,2981) + PsiElement(LABEL_)('system')(2975,2981) + PsiWhiteSpace(' ')(2981,2982) + PsiTypeQLSubType(type_constraint) - Location: (2982,2994)(2982,2994) + PsiElement(SUB_)('sub')(2982,2985) + PsiWhiteSpace(' ')(2985,2986) + PsiTypeQLElement(type_any) - Location: (2986,2994)(2986,2994) + PsiTypeQLElement(type) - Location: (2986,2994)(2986,2994) + PsiTypeQLElement(label) - Location: (2986,2994)(2986,2994) + PsiElement(LABEL_)('identity')(2986,2994) + PsiElement(';')(';')(2994,2995) + PsiWhiteSpace('\n')(2995,2996) + PsiTypeQLElement(definable) - Location: (2996,3021)(2996,3021) + PsiTypeQLStatementType(statement_type) - Location: (2996,3021)(2996,3021) + PsiTypeQLElement(type_any) - Location: (2996,3008)(2996,3008) + PsiTypeQLType(type) - Name: organization - Location: (2996,3008)(2996,3008) + PsiTypeQLElement(label) - Location: (2996,3008)(2996,3008) + PsiElement(LABEL_)('organization')(2996,3008) + PsiWhiteSpace(' ')(3008,3009) + PsiTypeQLSubType(type_constraint) - Location: (3009,3021)(3009,3021) + PsiElement(SUB_)('sub')(3009,3012) + PsiWhiteSpace(' ')(3012,3013) + PsiTypeQLElement(type_any) - Location: (3013,3021)(3013,3021) + PsiTypeQLElement(type) - Location: (3013,3021)(3013,3021) + PsiTypeQLElement(label) - Location: (3013,3021)(3013,3021) + PsiElement(LABEL_)('identity')(3013,3021) + PsiElement(';')(';')(3021,3022) + PsiWhiteSpace('\n')(3022,3023) + PsiTypeQLElement(definable) - Location: (3023,3041)(3023,3041) + PsiTypeQLStatementType(statement_type) - Location: (3023,3041)(3023,3041) + PsiTypeQLElement(type_any) - Location: (3023,3028)(3023,3028) + PsiTypeQLType(type) - Name: class - Location: (3023,3028)(3023,3028) + PsiTypeQLElement(label) - Location: (3023,3028)(3023,3028) + PsiElement(LABEL_)('class')(3023,3028) + PsiWhiteSpace(' ')(3028,3029) + PsiTypeQLSubType(type_constraint) - Location: (3029,3041)(3029,3041) + PsiElement(SUB_)('sub')(3029,3032) + PsiWhiteSpace(' ')(3032,3033) + PsiTypeQLElement(type_any) - Location: (3033,3041)(3033,3041) + PsiTypeQLElement(type) - Location: (3033,3041)(3033,3041) + PsiTypeQLElement(label) - Location: (3033,3041)(3033,3041) + PsiElement(LABEL_)('identity')(3033,3041) + PsiElement(';')(';')(3041,3042) + PsiWhiteSpace('\n')(3042,3043) + PsiTypeQLElement(definable) - Location: (3043,3066)(3043,3066) + PsiTypeQLStatementType(statement_type) - Location: (3043,3066)(3043,3066) + PsiTypeQLElement(type_any) - Location: (3043,3053)(3043,3053) + PsiTypeQLType(type) - Name: id-unknown - Location: (3043,3053)(3043,3053) + PsiTypeQLElement(label) - Location: (3043,3053)(3043,3053) + PsiElement(LABEL_)('id-unknown')(3043,3053) + PsiWhiteSpace(' ')(3053,3054) + PsiTypeQLSubType(type_constraint) - Location: (3054,3066)(3054,3066) + PsiElement(SUB_)('sub')(3054,3057) + PsiWhiteSpace(' ')(3057,3058) + PsiTypeQLElement(type_any) - Location: (3058,3066)(3058,3066) + PsiTypeQLElement(type) - Location: (3058,3066)(3058,3066) + PsiTypeQLElement(label) - Location: (3058,3066)(3058,3066) + PsiElement(LABEL_)('identity')(3058,3066) + PsiElement(';')(';')(3066,3067) + PsiWhiteSpace('\n\n')(3067,3069) + PsiTypeQLElement(definable) - Location: (3069,3137)(3069,3137) + PsiTypeQLStatementType(statement_type) - Location: (3069,3137)(3069,3137) + PsiTypeQLElement(type_any) - Location: (3069,3077)(3069,3077) + PsiTypeQLType(type) - Name: incident - Location: (3069,3077)(3069,3077) + PsiTypeQLElement(label) - Location: (3069,3077)(3069,3077) + PsiElement(LABEL_)('incident')(3069,3077) + PsiWhiteSpace(' ')(3077,3078) + PsiTypeQLSubType(type_constraint) - Location: (3078,3100)(3078,3100) + PsiElement(SUB_)('sub')(3078,3081) + PsiWhiteSpace(' ')(3081,3082) + PsiTypeQLElement(type_any) - Location: (3082,3100)(3082,3100) + PsiTypeQLElement(type) - Location: (3082,3100)(3082,3100) + PsiTypeQLElement(label) - Location: (3082,3100)(3082,3100) + PsiElement(LABEL_)('stix-domain-object')(3082,3100) + PsiElement(',')(',')(3100,3101) + PsiWhiteSpace('\n ')(3101,3106) + PsiTypeQLOwnsType(type_constraint) - Location: (3106,3115)(3106,3115) + PsiElement('owns')('owns')(3106,3110) + PsiWhiteSpace(' ')(3110,3111) + PsiTypeQLElement(type) - Location: (3111,3115)(3111,3115) + PsiTypeQLElement(label) - Location: (3111,3115)(3111,3115) + PsiElement(LABEL_)('name')(3111,3115) + PsiTypeQLElement(annotations_owns) - Location: (3115,3115)(3115,3115) + + PsiElement(',')(',')(3115,3116) + PsiWhiteSpace('\n ')(3116,3121) + PsiTypeQLOwnsType(type_constraint) - Location: (3121,3137)(3121,3137) + PsiElement('owns')('owns')(3121,3125) + PsiWhiteSpace(' ')(3125,3126) + PsiTypeQLElement(type) - Location: (3126,3137)(3126,3137) + PsiTypeQLElement(label) - Location: (3126,3137)(3126,3137) + PsiElement(LABEL_)('description')(3126,3137) + PsiTypeQLElement(annotations_owns) - Location: (3137,3137)(3137,3137) + + PsiElement(';')(';')(3137,3138) + PsiWhiteSpace('\n\n')(3138,3140) + PsiTypeQLElement(definable) - Location: (3140,3494)(3140,3494) + PsiTypeQLStatementType(statement_type) - Location: (3140,3494)(3140,3494) + PsiTypeQLElement(type_any) - Location: (3140,3149)(3140,3149) + PsiTypeQLType(type) - Name: indicator - Location: (3140,3149)(3140,3149) + PsiTypeQLElement(label) - Location: (3140,3149)(3140,3149) + PsiElement(LABEL_)('indicator')(3140,3149) + PsiWhiteSpace(' ')(3149,3150) + PsiTypeQLSubType(type_constraint) - Location: (3150,3172)(3150,3172) + PsiElement(SUB_)('sub')(3150,3153) + PsiWhiteSpace(' ')(3153,3154) + PsiTypeQLElement(type_any) - Location: (3154,3172)(3154,3172) + PsiTypeQLElement(type) - Location: (3154,3172)(3154,3172) + PsiTypeQLElement(label) - Location: (3154,3172)(3154,3172) + PsiElement(LABEL_)('stix-domain-object')(3154,3172) + PsiElement(',')(',')(3172,3173) + PsiWhiteSpace('\n ')(3173,3178) + PsiTypeQLOwnsType(type_constraint) - Location: (3178,3187)(3178,3187) + PsiElement('owns')('owns')(3178,3182) + PsiWhiteSpace(' ')(3182,3183) + PsiTypeQLElement(type) - Location: (3183,3187)(3183,3187) + PsiTypeQLElement(label) - Location: (3183,3187)(3183,3187) + PsiElement(LABEL_)('name')(3183,3187) + PsiTypeQLElement(annotations_owns) - Location: (3187,3187)(3187,3187) + + PsiElement(',')(',')(3187,3188) + PsiWhiteSpace('\n ')(3188,3193) + PsiTypeQLOwnsType(type_constraint) - Location: (3193,3209)(3193,3209) + PsiElement('owns')('owns')(3193,3197) + PsiWhiteSpace(' ')(3197,3198) + PsiTypeQLElement(type) - Location: (3198,3209)(3198,3209) + PsiTypeQLElement(label) - Location: (3198,3209)(3198,3209) + PsiElement(LABEL_)('description')(3198,3209) + PsiTypeQLElement(annotations_owns) - Location: (3209,3209)(3209,3209) + + PsiElement(',')(',')(3209,3210) + PsiWhiteSpace('\n ')(3210,3215) + PsiTypeQLOwnsType(type_constraint) - Location: (3215,3234)(3215,3234) + PsiElement('owns')('owns')(3215,3219) + PsiWhiteSpace(' ')(3219,3220) + PsiTypeQLElement(type) - Location: (3220,3234)(3220,3234) + PsiTypeQLElement(label) - Location: (3220,3234)(3220,3234) + PsiElement(LABEL_)('indicator-type')(3220,3234) + PsiTypeQLElement(annotations_owns) - Location: (3234,3234)(3234,3234) + + PsiElement(',')(',')(3234,3235) + PsiWhiteSpace('\n ')(3235,3240) + PsiTypeQLOwnsType(type_constraint) - Location: (3240,3252)(3240,3252) + PsiElement('owns')('owns')(3240,3244) + PsiWhiteSpace(' ')(3244,3245) + PsiTypeQLElement(type) - Location: (3245,3252)(3245,3252) + PsiTypeQLElement(label) - Location: (3245,3252)(3245,3252) + PsiElement(LABEL_)('pattern')(3245,3252) + PsiTypeQLElement(annotations_owns) - Location: (3252,3252)(3252,3252) + + PsiElement(',')(',')(3252,3253) + PsiWhiteSpace('\n ')(3253,3258) + PsiTypeQLOwnsType(type_constraint) - Location: (3258,3275)(3258,3275) + PsiElement('owns')('owns')(3258,3262) + PsiWhiteSpace(' ')(3262,3263) + PsiTypeQLElement(type) - Location: (3263,3275)(3263,3275) + PsiTypeQLElement(label) - Location: (3263,3275)(3263,3275) + PsiElement(LABEL_)('pattern-type')(3263,3275) + PsiTypeQLElement(annotations_owns) - Location: (3275,3275)(3275,3275) + + PsiElement(',')(',')(3275,3276) + PsiWhiteSpace('\n ')(3276,3281) + PsiTypeQLOwnsType(type_constraint) - Location: (3281,3301)(3281,3301) + PsiElement('owns')('owns')(3281,3285) + PsiWhiteSpace(' ')(3285,3286) + PsiTypeQLElement(type) - Location: (3286,3301)(3286,3301) + PsiTypeQLElement(label) - Location: (3286,3301)(3286,3301) + PsiElement(LABEL_)('pattern-version')(3286,3301) + PsiTypeQLElement(annotations_owns) - Location: (3301,3301)(3301,3301) + + PsiElement(',')(',')(3301,3302) + PsiWhiteSpace('\n ')(3302,3307) + PsiTypeQLOwnsType(type_constraint) - Location: (3307,3322)(3307,3322) + PsiElement('owns')('owns')(3307,3311) + PsiWhiteSpace(' ')(3311,3312) + PsiTypeQLElement(type) - Location: (3312,3322)(3312,3322) + PsiTypeQLElement(label) - Location: (3312,3322)(3312,3322) + PsiElement(LABEL_)('valid-from')(3312,3322) + PsiTypeQLElement(annotations_owns) - Location: (3322,3322)(3322,3322) + + PsiElement(',')(',')(3322,3323) + PsiWhiteSpace('\n ')(3323,3328) + PsiTypeQLOwnsType(type_constraint) - Location: (3328,3344)(3328,3344) + PsiElement('owns')('owns')(3328,3332) + PsiWhiteSpace(' ')(3332,3333) + PsiTypeQLElement(type) - Location: (3333,3344)(3333,3344) + PsiTypeQLElement(label) - Location: (3333,3344)(3333,3344) + PsiElement(LABEL_)('valid-until')(3333,3344) + PsiTypeQLElement(annotations_owns) - Location: (3344,3344)(3344,3344) + + PsiElement(',')(',')(3344,3345) + PsiWhiteSpace('\n\n ')(3345,3351) + PsiComment(COMMENT)('# Rel\n')(3351,3357) + PsiWhiteSpace(' ')(3357,3361) + PsiTypeQLPlaysType(type_constraint) - Location: (3361,3387)(3361,3387) + PsiElement('plays')('plays')(3361,3366) + PsiWhiteSpace(' ')(3366,3367) + PsiTypeQLElement(type_scoped) - Location: (3367,3387)(3367,3387) + PsiTypeQLElement(label_scoped) - Location: (3367,3387)(3367,3387) + PsiElement(LABEL_SCOPED_)('indicates:indicating')(3367,3387) + PsiElement(',')(',')(3387,3388) + PsiWhiteSpace('\n ')(3388,3393) + PsiTypeQLPlaysType(type_constraint) - Location: (3393,3414)(3393,3414) + PsiElement('plays')('plays')(3393,3398) + PsiWhiteSpace(' ')(3398,3399) + PsiTypeQLElement(type_scoped) - Location: (3399,3414)(3399,3414) + PsiTypeQLElement(label_scoped) - Location: (3399,3414)(3399,3414) + PsiElement(LABEL_SCOPED_)('based-on:basing')(3399,3414) + PsiElement(',')(',')(3414,3415) + PsiWhiteSpace('\n\n ')(3415,3421) + PsiComment(COMMENT)('# RRel\n')(3421,3428) + PsiWhiteSpace(' ')(3428,3432) + PsiTypeQLPlaysType(type_constraint) - Location: (3432,3463)(3432,3463) + PsiElement('plays')('plays')(3432,3437) + PsiWhiteSpace(' ')(3437,3438) + PsiTypeQLElement(type_scoped) - Location: (3438,3463)(3438,3463) + PsiTypeQLElement(label_scoped) - Location: (3438,3463)(3438,3463) + PsiElement(LABEL_SCOPED_)('investigates:investigated')(3438,3463) + PsiElement(',')(',')(3463,3464) + PsiWhiteSpace('\n ')(3464,3469) + PsiTypeQLPlaysType(type_constraint) - Location: (3469,3494)(3469,3494) + PsiElement('plays')('plays')(3469,3474) + PsiWhiteSpace(' ')(3474,3475) + PsiTypeQLElement(type_scoped) - Location: (3475,3494)(3475,3494) + PsiTypeQLElement(label_scoped) - Location: (3475,3494)(3475,3494) + PsiElement(LABEL_SCOPED_)('mitigates:mitigated')(3475,3494) + PsiElement(';')(';')(3494,3495) + PsiWhiteSpace('\n\n')(3495,3497) + PsiTypeQLElement(definable) - Location: (3497,4239)(3497,4239) + PsiTypeQLStatementType(statement_type) - Location: (3497,4239)(3497,4239) + PsiTypeQLElement(type_any) - Location: (3497,3511)(3497,3511) + PsiTypeQLType(type) - Name: infrastructure - Location: (3497,3511)(3497,3511) + PsiTypeQLElement(label) - Location: (3497,3511)(3497,3511) + PsiElement(LABEL_)('infrastructure')(3497,3511) + PsiWhiteSpace(' ')(3511,3512) + PsiTypeQLSubType(type_constraint) - Location: (3512,3534)(3512,3534) + PsiElement(SUB_)('sub')(3512,3515) + PsiWhiteSpace(' ')(3515,3516) + PsiTypeQLElement(type_any) - Location: (3516,3534)(3516,3534) + PsiTypeQLElement(type) - Location: (3516,3534)(3516,3534) + PsiTypeQLElement(label) - Location: (3516,3534)(3516,3534) + PsiElement(LABEL_)('stix-domain-object')(3516,3534) + PsiElement(',')(',')(3534,3535) + PsiWhiteSpace('\n ')(3535,3540) + PsiTypeQLOwnsType(type_constraint) - Location: (3540,3549)(3540,3549) + PsiElement('owns')('owns')(3540,3544) + PsiWhiteSpace(' ')(3544,3545) + PsiTypeQLElement(type) - Location: (3545,3549)(3545,3549) + PsiTypeQLElement(label) - Location: (3545,3549)(3545,3549) + PsiElement(LABEL_)('name')(3545,3549) + PsiTypeQLElement(annotations_owns) - Location: (3549,3549)(3549,3549) + + PsiElement(',')(',')(3549,3550) + PsiWhiteSpace('\n ')(3550,3555) + PsiTypeQLOwnsType(type_constraint) - Location: (3555,3571)(3555,3571) + PsiElement('owns')('owns')(3555,3559) + PsiWhiteSpace(' ')(3559,3560) + PsiTypeQLElement(type) - Location: (3560,3571)(3560,3571) + PsiTypeQLElement(label) - Location: (3560,3571)(3560,3571) + PsiElement(LABEL_)('description')(3560,3571) + PsiTypeQLElement(annotations_owns) - Location: (3571,3571)(3571,3571) + + PsiElement(',')(',')(3571,3572) + PsiWhiteSpace('\n ')(3572,3577) + PsiTypeQLOwnsType(type_constraint) - Location: (3577,3602)(3577,3602) + PsiElement('owns')('owns')(3577,3581) + PsiWhiteSpace(' ')(3581,3582) + PsiTypeQLElement(type) - Location: (3582,3602)(3582,3602) + PsiTypeQLElement(label) - Location: (3582,3602)(3582,3602) + PsiElement(LABEL_)('infrastructure-types')(3582,3602) + PsiTypeQLElement(annotations_owns) - Location: (3602,3602)(3602,3602) + + PsiElement(',')(',')(3602,3603) + PsiWhiteSpace('\n ')(3603,3608) + PsiTypeQLOwnsType(type_constraint) - Location: (3608,3620)(3608,3620) + PsiElement('owns')('owns')(3608,3612) + PsiWhiteSpace(' ')(3612,3613) + PsiTypeQLElement(type) - Location: (3613,3620)(3613,3620) + PsiTypeQLElement(label) - Location: (3613,3620)(3613,3620) + PsiElement(LABEL_)('aliases')(3613,3620) + PsiTypeQLElement(annotations_owns) - Location: (3620,3620)(3620,3620) + + PsiElement(',')(',')(3620,3621) + PsiWhiteSpace('\n ')(3621,3626) + PsiTypeQLOwnsType(type_constraint) - Location: (3626,3641)(3626,3641) + PsiElement('owns')('owns')(3626,3630) + PsiWhiteSpace(' ')(3630,3631) + PsiTypeQLElement(type) - Location: (3631,3641)(3631,3641) + PsiTypeQLElement(label) - Location: (3631,3641)(3631,3641) + PsiElement(LABEL_)('first-seen')(3631,3641) + PsiTypeQLElement(annotations_owns) - Location: (3641,3641)(3641,3641) + + PsiElement(',')(',')(3641,3642) + PsiWhiteSpace('\n ')(3642,3647) + PsiTypeQLOwnsType(type_constraint) - Location: (3647,3661)(3647,3661) + PsiElement('owns')('owns')(3647,3651) + PsiWhiteSpace(' ')(3651,3652) + PsiTypeQLElement(type) - Location: (3652,3661)(3652,3661) + PsiTypeQLElement(label) - Location: (3652,3661)(3652,3661) + PsiElement(LABEL_)('last-seen')(3652,3661) + PsiTypeQLElement(annotations_owns) - Location: (3661,3661)(3661,3661) + + PsiElement(',')(',')(3661,3662) + PsiWhiteSpace('\n\n ')(3662,3668) + PsiComment(COMMENT)('# Rel\n')(3668,3674) + PsiWhiteSpace(' ')(3674,3678) + PsiTypeQLPlaysType(type_constraint) - Location: (3678,3703)(3678,3703) + PsiElement('plays')('plays')(3678,3683) + PsiWhiteSpace(' ')(3683,3684) + PsiTypeQLElement(type_scoped) - Location: (3684,3703)(3684,3703) + PsiTypeQLElement(label_scoped) - Location: (3684,3703)(3684,3703) + PsiElement(LABEL_SCOPED_)('delivers:delivering')(3684,3703) + PsiElement(',')(',')(3703,3704) + PsiWhiteSpace('\n ')(3704,3709) + PsiTypeQLPlaysType(type_constraint) - Location: (3709,3725)(3709,3725) + PsiElement('plays')('plays')(3709,3714) + PsiWhiteSpace(' ')(3714,3715) + PsiTypeQLElement(type_scoped) - Location: (3715,3725)(3715,3725) + PsiTypeQLElement(label_scoped) - Location: (3715,3725)(3715,3725) + PsiElement(LABEL_SCOPED_)('uses:using')(3715,3725) + PsiElement(',')(',')(3725,3726) + PsiWhiteSpace('\n ')(3726,3731) + PsiTypeQLPlaysType(type_constraint) - Location: (3731,3756)(3731,3756) + PsiElement('plays')('plays')(3731,3736) + PsiWhiteSpace(' ')(3736,3737) + PsiTypeQLElement(type_scoped) - Location: (3737,3756)(3737,3756) + PsiTypeQLElement(label_scoped) - Location: (3737,3756)(3737,3756) + PsiElement(LABEL_SCOPED_)('located-at:locating')(3737,3756) + PsiElement(',')(',')(3756,3757) + PsiWhiteSpace('\n ')(3757,3762) + PsiTypeQLPlaysType(type_constraint) - Location: (3762,3799)(3762,3799) + PsiElement('plays')('plays')(3762,3767) + PsiWhiteSpace(' ')(3767,3768) + PsiTypeQLElement(type_scoped) - Location: (3768,3799)(3768,3799) + PsiTypeQLElement(label_scoped) - Location: (3768,3799)(3768,3799) + PsiElement(LABEL_SCOPED_)('communicates-with:communicating')(3768,3799) + PsiElement(',')(',')(3799,3800) + PsiWhiteSpace('\n ')(3800,3805) + PsiTypeQLPlaysType(type_constraint) - Location: (3805,3832)(3805,3832) + PsiElement('plays')('plays')(3805,3810) + PsiWhiteSpace(' ')(3810,3811) + PsiTypeQLElement(type_scoped) - Location: (3811,3832)(3811,3832) + PsiTypeQLElement(label_scoped) - Location: (3811,3832)(3811,3832) + PsiElement(LABEL_SCOPED_)('consist-of:consisting')(3811,3832) + PsiElement(',')(',')(3832,3833) + PsiWhiteSpace('\n ')(3833,3838) + PsiTypeQLPlaysType(type_constraint) - Location: (3838,3864)(3838,3864) + PsiElement('plays')('plays')(3838,3843) + PsiWhiteSpace(' ')(3843,3844) + PsiTypeQLElement(type_scoped) - Location: (3844,3864)(3844,3864) + PsiTypeQLElement(label_scoped) - Location: (3844,3864)(3844,3864) + PsiElement(LABEL_SCOPED_)('controls:controlling')(3844,3864) + PsiElement(',')(',')(3864,3865) + PsiWhiteSpace('\n ')(3865,3870) + PsiTypeQLPlaysType(type_constraint) - Location: (3870,3887)(3870,3887) + PsiElement('plays')('plays')(3870,3875) + PsiWhiteSpace(' ')(3875,3876) + PsiTypeQLElement(type_scoped) - Location: (3876,3887)(3876,3887) + PsiTypeQLElement(label_scoped) - Location: (3876,3887)(3876,3887) + PsiElement(LABEL_SCOPED_)('have:having')(3876,3887) + PsiElement(',')(',')(3887,3888) + PsiWhiteSpace('\n ')(3888,3893) + PsiTypeQLPlaysType(type_constraint) - Location: (3893,3912)(3893,3912) + PsiElement('plays')('plays')(3893,3898) + PsiWhiteSpace(' ')(3898,3899) + PsiTypeQLElement(type_scoped) - Location: (3899,3912)(3899,3912) + PsiTypeQLElement(label_scoped) - Location: (3899,3912)(3899,3912) + PsiElement(LABEL_SCOPED_)('hosts:hosting')(3899,3912) + PsiElement(',')(',')(3912,3913) + PsiWhiteSpace('\n\n ')(3913,3919) + PsiComment(COMMENT)('# RRel\n')(3919,3926) + PsiWhiteSpace(' ')(3926,3930) + PsiTypeQLPlaysType(type_constraint) - Location: (3930,3955)(3930,3955) + PsiElement('plays')('plays')(3930,3935) + PsiWhiteSpace(' ')(3935,3936) + PsiTypeQLElement(type_scoped) - Location: (3936,3955)(3936,3955) + PsiTypeQLElement(label_scoped) - Location: (3936,3955)(3936,3955) + PsiElement(LABEL_SCOPED_)('controls:controlled')(3936,3955) + PsiElement(',')(',')(3955,3956) + PsiWhiteSpace('\n ')(3956,3961) + PsiTypeQLPlaysType(type_constraint) - Location: (3961,3997)(3961,3997) + PsiElement('plays')('plays')(3961,3966) + PsiWhiteSpace(' ')(3966,3967) + PsiTypeQLElement(type_scoped) - Location: (3967,3997)(3967,3997) + PsiTypeQLElement(label_scoped) - Location: (3967,3997)(3967,3997) + PsiElement(LABEL_SCOPED_)('communicates-with:communicated')(3967,3997) + PsiElement(',')(',')(3997,3998) + PsiWhiteSpace('\n ')(3998,4003) + PsiTypeQLPlaysType(type_constraint) - Location: (4003,4032)(4003,4032) + PsiElement('plays')('plays')(4003,4008) + PsiWhiteSpace(' ')(4008,4009) + PsiTypeQLElement(type_scoped) - Location: (4009,4032)(4009,4032) + PsiTypeQLElement(label_scoped) - Location: (4009,4032)(4009,4032) + PsiElement(LABEL_SCOPED_)('compromises:compromised')(4009,4032) + PsiElement(',')(',')(4032,4033) + PsiWhiteSpace('\n ')(4033,4038) + PsiTypeQLPlaysType(type_constraint) - Location: (4038,4063)(4038,4063) + PsiElement('plays')('plays')(4038,4043) + PsiWhiteSpace(' ')(4043,4044) + PsiTypeQLElement(type_scoped) - Location: (4044,4063)(4044,4063) + PsiTypeQLElement(label_scoped) - Location: (4044,4063)(4044,4063) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(4044,4063) + PsiElement(',')(',')(4063,4064) + PsiWhiteSpace('\n ')(4064,4069) + PsiTypeQLPlaysType(type_constraint) - Location: (4069,4084)(4069,4084) + PsiElement('plays')('plays')(4069,4074) + PsiWhiteSpace(' ')(4074,4075) + PsiTypeQLElement(type_scoped) - Location: (4075,4084)(4075,4084) + PsiTypeQLElement(label_scoped) - Location: (4075,4084)(4075,4084) + PsiElement(LABEL_SCOPED_)('uses:used')(4075,4084) + PsiElement(',')(',')(4084,4085) + PsiWhiteSpace('\n ')(4085,4090) + PsiTypeQLPlaysType(type_constraint) - Location: (4090,4112)(4090,4112) + PsiElement('plays')('plays')(4090,4095) + PsiWhiteSpace(' ')(4095,4096) + PsiTypeQLElement(type_scoped) - Location: (4096,4112)(4096,4112) + PsiTypeQLElement(label_scoped) - Location: (4096,4112)(4096,4112) + PsiElement(LABEL_SCOPED_)('targets:targeted')(4096,4112) + PsiElement(',')(',')(4112,4113) + PsiWhiteSpace('\n ')(4113,4118) + PsiTypeQLPlaysType(type_constraint) - Location: (4118,4136)(4118,4136) + PsiElement('plays')('plays')(4118,4123) + PsiWhiteSpace(' ')(4123,4124) + PsiTypeQLElement(type_scoped) - Location: (4124,4136)(4124,4136) + PsiTypeQLElement(label_scoped) - Location: (4124,4136)(4124,4136) + PsiElement(LABEL_SCOPED_)('hosts:hosted')(4124,4136) + PsiElement(',')(',')(4136,4137) + PsiWhiteSpace('\n ')(4137,4142) + PsiTypeQLPlaysType(type_constraint) - Location: (4142,4170)(4142,4170) + PsiElement('plays')('plays')(4142,4147) + PsiWhiteSpace(' ')(4147,4148) + PsiTypeQLElement(type_scoped) - Location: (4148,4170)(4148,4170) + PsiTypeQLElement(label_scoped) - Location: (4148,4170)(4148,4170) + PsiElement(LABEL_SCOPED_)('beacons-to:beaconed-to')(4148,4170) + PsiElement(',')(',')(4170,4171) + PsiWhiteSpace('\n ')(4171,4176) + PsiTypeQLPlaysType(type_constraint) - Location: (4176,4211)(4176,4211) + PsiElement('plays')('plays')(4176,4181) + PsiWhiteSpace(' ')(4181,4182) + PsiTypeQLElement(type_scoped) - Location: (4182,4211)(4182,4211) + PsiTypeQLElement(label_scoped) - Location: (4182,4211)(4182,4211) + PsiElement(LABEL_SCOPED_)('exfiltrates-to:exfiltrated-to')(4182,4211) + PsiElement(',')(',')(4211,4212) + PsiWhiteSpace('\n ')(4212,4217) + PsiTypeQLPlaysType(type_constraint) - Location: (4217,4239)(4217,4239) + PsiElement('plays')('plays')(4217,4222) + PsiWhiteSpace(' ')(4222,4223) + PsiTypeQLElement(type_scoped) - Location: (4223,4239)(4223,4239) + PsiTypeQLElement(label_scoped) - Location: (4223,4239)(4223,4239) + PsiElement(LABEL_SCOPED_)('ownerships:owned')(4223,4239) + PsiElement(';')(';')(4239,4240) + PsiWhiteSpace('\n\n')(4240,4242) + PsiTypeQLElement(definable) - Location: (4242,4840)(4242,4840) + PsiTypeQLStatementType(statement_type) - Location: (4242,4840)(4242,4840) + PsiTypeQLElement(type_any) - Location: (4242,4255)(4242,4255) + PsiTypeQLType(type) - Name: intrusion-set - Location: (4242,4255)(4242,4255) + PsiTypeQLElement(label) - Location: (4242,4255)(4242,4255) + PsiElement(LABEL_)('intrusion-set')(4242,4255) + PsiWhiteSpace(' ')(4255,4256) + PsiTypeQLSubType(type_constraint) - Location: (4256,4278)(4256,4278) + PsiElement(SUB_)('sub')(4256,4259) + PsiWhiteSpace(' ')(4259,4260) + PsiTypeQLElement(type_any) - Location: (4260,4278)(4260,4278) + PsiTypeQLElement(type) - Location: (4260,4278)(4260,4278) + PsiTypeQLElement(label) - Location: (4260,4278)(4260,4278) + PsiElement(LABEL_)('stix-domain-object')(4260,4278) + PsiElement(',')(',')(4278,4279) + PsiWhiteSpace('\n ')(4279,4284) + PsiTypeQLOwnsType(type_constraint) - Location: (4284,4293)(4284,4293) + PsiElement('owns')('owns')(4284,4288) + PsiWhiteSpace(' ')(4288,4289) + PsiTypeQLElement(type) - Location: (4289,4293)(4289,4293) + PsiTypeQLElement(label) - Location: (4289,4293)(4289,4293) + PsiElement(LABEL_)('name')(4289,4293) + PsiTypeQLElement(annotations_owns) - Location: (4293,4293)(4293,4293) + + PsiElement(',')(',')(4293,4294) + PsiWhiteSpace('\n ')(4294,4299) + PsiTypeQLOwnsType(type_constraint) - Location: (4299,4315)(4299,4315) + PsiElement('owns')('owns')(4299,4303) + PsiWhiteSpace(' ')(4303,4304) + PsiTypeQLElement(type) - Location: (4304,4315)(4304,4315) + PsiTypeQLElement(label) - Location: (4304,4315)(4304,4315) + PsiElement(LABEL_)('description')(4304,4315) + PsiTypeQLElement(annotations_owns) - Location: (4315,4315)(4315,4315) + + PsiElement(',')(',')(4315,4316) + PsiWhiteSpace('\n ')(4316,4321) + PsiTypeQLOwnsType(type_constraint) - Location: (4321,4333)(4321,4333) + PsiElement('owns')('owns')(4321,4325) + PsiWhiteSpace(' ')(4325,4326) + PsiTypeQLElement(type) - Location: (4326,4333)(4326,4333) + PsiTypeQLElement(label) - Location: (4326,4333)(4326,4333) + PsiElement(LABEL_)('aliases')(4326,4333) + PsiTypeQLElement(annotations_owns) - Location: (4333,4333)(4333,4333) + + PsiElement(',')(',')(4333,4334) + PsiWhiteSpace('\n ')(4334,4339) + PsiTypeQLOwnsType(type_constraint) - Location: (4339,4354)(4339,4354) + PsiElement('owns')('owns')(4339,4343) + PsiWhiteSpace(' ')(4343,4344) + PsiTypeQLElement(type) - Location: (4344,4354)(4344,4354) + PsiTypeQLElement(label) - Location: (4344,4354)(4344,4354) + PsiElement(LABEL_)('first-seen')(4344,4354) + PsiTypeQLElement(annotations_owns) - Location: (4354,4354)(4354,4354) + + PsiElement(',')(',')(4354,4355) + PsiWhiteSpace('\n ')(4355,4360) + PsiTypeQLOwnsType(type_constraint) - Location: (4360,4374)(4360,4374) + PsiElement('owns')('owns')(4360,4364) + PsiWhiteSpace(' ')(4364,4365) + PsiTypeQLElement(type) - Location: (4365,4374)(4365,4374) + PsiTypeQLElement(label) - Location: (4365,4374)(4365,4374) + PsiElement(LABEL_)('last-seen')(4365,4374) + PsiTypeQLElement(annotations_owns) - Location: (4374,4374)(4374,4374) + + PsiElement(',')(',')(4374,4375) + PsiWhiteSpace('\n ')(4375,4380) + PsiTypeQLOwnsType(type_constraint) - Location: (4380,4390)(4380,4390) + PsiElement('owns')('owns')(4380,4384) + PsiWhiteSpace(' ')(4384,4385) + PsiTypeQLElement(type) - Location: (4385,4390)(4385,4390) + PsiTypeQLElement(label) - Location: (4385,4390)(4385,4390) + PsiElement(LABEL_)('goals')(4385,4390) + PsiTypeQLElement(annotations_owns) - Location: (4390,4390)(4390,4390) + + PsiElement(',')(',')(4390,4391) + PsiWhiteSpace('\n ')(4391,4396) + PsiTypeQLOwnsType(type_constraint) - Location: (4396,4415)(4396,4415) + PsiElement('owns')('owns')(4396,4400) + PsiWhiteSpace(' ')(4400,4401) + PsiTypeQLElement(type) - Location: (4401,4415)(4401,4415) + PsiTypeQLElement(label) - Location: (4401,4415)(4401,4415) + PsiElement(LABEL_)('sophistication')(4401,4415) + PsiTypeQLElement(annotations_owns) - Location: (4415,4415)(4415,4415) + + PsiElement(',')(',')(4415,4416) + PsiWhiteSpace('\n ')(4416,4421) + PsiTypeQLOwnsType(type_constraint) - Location: (4421,4440)(4421,4440) + PsiElement('owns')('owns')(4421,4425) + PsiWhiteSpace(' ')(4425,4426) + PsiTypeQLElement(type) - Location: (4426,4440)(4426,4440) + PsiTypeQLElement(label) - Location: (4426,4440)(4426,4440) + PsiElement(LABEL_)('resource-level')(4426,4440) + PsiTypeQLElement(annotations_owns) - Location: (4440,4440)(4440,4440) + + PsiElement(',')(',')(4440,4441) + PsiWhiteSpace('\n ')(4441,4446) + PsiTypeQLOwnsType(type_constraint) - Location: (4446,4469)(4446,4469) + PsiElement('owns')('owns')(4446,4450) + PsiWhiteSpace(' ')(4450,4451) + PsiTypeQLElement(type) - Location: (4451,4469)(4451,4469) + PsiTypeQLElement(label) - Location: (4451,4469)(4451,4469) + PsiElement(LABEL_)('primary-motivation')(4451,4469) + PsiTypeQLElement(annotations_owns) - Location: (4469,4469)(4469,4469) + + PsiElement(',')(',')(4469,4470) + PsiWhiteSpace('\n ')(4470,4475) + PsiTypeQLOwnsType(type_constraint) - Location: (4475,4501)(4475,4501) + PsiElement('owns')('owns')(4475,4479) + PsiWhiteSpace(' ')(4479,4480) + PsiTypeQLElement(type) - Location: (4480,4501)(4480,4501) + PsiTypeQLElement(label) - Location: (4480,4501)(4480,4501) + PsiElement(LABEL_)('secondary-motivations')(4480,4501) + PsiTypeQLElement(annotations_owns) - Location: (4501,4501)(4501,4501) + + PsiElement(',')(',')(4501,4502) + PsiWhiteSpace('\n\n ')(4502,4508) + PsiComment(COMMENT)('# Rel\n')(4508,4514) + PsiWhiteSpace(' ')(4514,4518) + PsiTypeQLPlaysType(type_constraint) - Location: (4518,4541)(4518,4541) + PsiElement('plays')('plays')(4518,4523) + PsiWhiteSpace(' ')(4523,4524) + PsiTypeQLElement(type_scoped) - Location: (4524,4541)(4524,4541) + PsiTypeQLElement(label_scoped) - Location: (4524,4541)(4524,4541) + PsiElement(LABEL_SCOPED_)('targets:targeting')(4524,4541) + PsiElement(',')(',')(4541,4542) + PsiWhiteSpace('\n ')(4542,4547) + PsiTypeQLPlaysType(type_constraint) - Location: (4547,4563)(4547,4563) + PsiElement('plays')('plays')(4547,4552) + PsiWhiteSpace(' ')(4552,4553) + PsiTypeQLElement(type_scoped) - Location: (4553,4563)(4553,4563) + PsiTypeQLElement(label_scoped) - Location: (4553,4563)(4553,4563) + PsiElement(LABEL_SCOPED_)('uses:using')(4553,4563) + PsiElement(',')(',')(4563,4564) + PsiWhiteSpace('\n ')(4564,4569) + PsiTypeQLPlaysType(type_constraint) - Location: (4569,4600)(4569,4600) + PsiElement('plays')('plays')(4569,4574) + PsiWhiteSpace(' ')(4574,4575) + PsiTypeQLElement(type_scoped) - Location: (4575,4600)(4575,4600) + PsiTypeQLElement(label_scoped) - Location: (4575,4600)(4575,4600) + PsiElement(LABEL_SCOPED_)('attributed-to:attributing')(4575,4600) + PsiElement(',')(',')(4600,4601) + PsiWhiteSpace('\n ')(4601,4606) + PsiTypeQLPlaysType(type_constraint) - Location: (4606,4636)(4606,4636) + PsiElement('plays')('plays')(4606,4611) + PsiWhiteSpace(' ')(4611,4612) + PsiTypeQLElement(type_scoped) - Location: (4612,4636)(4612,4636) + PsiTypeQLElement(label_scoped) - Location: (4612,4636)(4612,4636) + PsiElement(LABEL_SCOPED_)('compromises:compromising')(4612,4636) + PsiElement(',')(',')(4636,4637) + PsiWhiteSpace('\n ')(4637,4642) + PsiTypeQLPlaysType(type_constraint) - Location: (4642,4675)(4642,4675) + PsiElement('plays')('plays')(4642,4647) + PsiWhiteSpace(' ')(4647,4648) + PsiTypeQLElement(type_scoped) - Location: (4648,4675)(4648,4675) + PsiTypeQLElement(label_scoped) - Location: (4648,4675)(4648,4675) + PsiElement(LABEL_SCOPED_)('originates-from:originating')(4648,4675) + PsiElement(',')(',')(4675,4676) + PsiWhiteSpace('\n ')(4676,4681) + PsiTypeQLPlaysType(type_constraint) - Location: (4681,4700)(4681,4700) + PsiElement('plays')('plays')(4681,4686) + PsiWhiteSpace(' ')(4686,4687) + PsiTypeQLElement(type_scoped) - Location: (4687,4700)(4687,4700) + PsiTypeQLElement(label_scoped) - Location: (4687,4700)(4687,4700) + PsiElement(LABEL_SCOPED_)('hosts:hosting')(4687,4700) + PsiElement(',')(',')(4700,4701) + PsiWhiteSpace('\n ')(4701,4706) + PsiTypeQLPlaysType(type_constraint) - Location: (4706,4729)(4706,4729) + PsiElement('plays')('plays')(4706,4711) + PsiWhiteSpace(' ')(4711,4712) + PsiTypeQLElement(type_scoped) - Location: (4712,4729)(4712,4729) + PsiTypeQLElement(label_scoped) - Location: (4712,4729)(4712,4729) + PsiElement(LABEL_SCOPED_)('ownerships:owning')(4712,4729) + PsiElement(',')(',')(4729,4730) + PsiWhiteSpace('\n\n ')(4730,4736) + PsiComment(COMMENT)('# RRel\n')(4736,4743) + PsiWhiteSpace(' ')(4743,4747) + PsiTypeQLPlaysType(type_constraint) - Location: (4747,4772)(4747,4772) + PsiElement('plays')('plays')(4747,4752) + PsiWhiteSpace(' ')(4752,4753) + PsiTypeQLElement(type_scoped) - Location: (4753,4772)(4753,4772) + PsiTypeQLElement(label_scoped) - Location: (4753,4772)(4753,4772) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(4753,4772) + PsiElement(',')(',')(4772,4773) + PsiWhiteSpace('\n ')(4773,4778) + PsiTypeQLPlaysType(type_constraint) - Location: (4778,4808)(4778,4808) + PsiElement('plays')('plays')(4778,4783) + PsiWhiteSpace(' ')(4783,4784) + PsiTypeQLElement(type_scoped) - Location: (4784,4808)(4784,4808) + PsiTypeQLElement(label_scoped) - Location: (4784,4808)(4784,4808) + PsiElement(LABEL_SCOPED_)('attributed-to:attributed')(4784,4808) + PsiElement(',')(',')(4808,4809) + PsiWhiteSpace('\n ')(4809,4814) + PsiTypeQLPlaysType(type_constraint) - Location: (4814,4840)(4814,4840) + PsiElement('plays')('plays')(4814,4819) + PsiWhiteSpace(' ')(4819,4820) + PsiTypeQLElement(type_scoped) - Location: (4820,4840)(4820,4840) + PsiTypeQLElement(label_scoped) - Location: (4820,4840)(4820,4840) + PsiElement(LABEL_SCOPED_)('authored-by:authored')(4820,4840) + PsiElement(';')(';')(4840,4841) + PsiWhiteSpace('\n\n')(4841,4843) + PsiTypeQLElement(definable) - Location: (4843,6011)(4843,6011) + PsiTypeQLStatementType(statement_type) - Location: (4843,6011)(4843,6011) + PsiTypeQLElement(type_any) - Location: (4843,4850)(4843,4850) + PsiTypeQLType(type) - Name: malware - Location: (4843,4850)(4843,4850) + PsiTypeQLElement(label) - Location: (4843,4850)(4843,4850) + PsiElement(LABEL_)('malware')(4843,4850) + PsiWhiteSpace(' ')(4850,4851) + PsiTypeQLSubType(type_constraint) - Location: (4851,4873)(4851,4873) + PsiElement(SUB_)('sub')(4851,4854) + PsiWhiteSpace(' ')(4854,4855) + PsiTypeQLElement(type_any) - Location: (4855,4873)(4855,4873) + PsiTypeQLElement(type) - Location: (4855,4873)(4855,4873) + PsiTypeQLElement(label) - Location: (4855,4873)(4855,4873) + PsiElement(LABEL_)('stix-domain-object')(4855,4873) + PsiElement(',')(',')(4873,4874) + PsiWhiteSpace('\n ')(4874,4879) + PsiTypeQLOwnsType(type_constraint) - Location: (4879,4888)(4879,4888) + PsiElement('owns')('owns')(4879,4883) + PsiWhiteSpace(' ')(4883,4884) + PsiTypeQLElement(type) - Location: (4884,4888)(4884,4888) + PsiTypeQLElement(label) - Location: (4884,4888)(4884,4888) + PsiElement(LABEL_)('name')(4884,4888) + PsiTypeQLElement(annotations_owns) - Location: (4888,4888)(4888,4888) + + PsiElement(',')(',')(4888,4889) + PsiWhiteSpace('\n ')(4889,4894) + PsiTypeQLOwnsType(type_constraint) - Location: (4894,4910)(4894,4910) + PsiElement('owns')('owns')(4894,4898) + PsiWhiteSpace(' ')(4898,4899) + PsiTypeQLElement(type) - Location: (4899,4910)(4899,4910) + PsiTypeQLElement(label) - Location: (4899,4910)(4899,4910) + PsiElement(LABEL_)('description')(4899,4910) + PsiTypeQLElement(annotations_owns) - Location: (4910,4910)(4910,4910) + + PsiElement(',')(',')(4910,4911) + PsiWhiteSpace('\n ')(4911,4916) + PsiTypeQLOwnsType(type_constraint) - Location: (4916,4934)(4916,4934) + PsiElement('owns')('owns')(4916,4920) + PsiWhiteSpace(' ')(4920,4921) + PsiTypeQLElement(type) - Location: (4921,4934)(4921,4934) + PsiTypeQLElement(label) - Location: (4921,4934)(4921,4934) + PsiElement(LABEL_)('malware-types')(4921,4934) + PsiTypeQLElement(annotations_owns) - Location: (4934,4934)(4934,4934) + + PsiElement(',')(',')(4934,4935) + PsiWhiteSpace('\n ')(4935,4940) + PsiTypeQLOwnsType(type_constraint) - Location: (4940,4954)(4940,4954) + PsiElement('owns')('owns')(4940,4944) + PsiWhiteSpace(' ')(4944,4945) + PsiTypeQLElement(type) - Location: (4945,4954)(4945,4954) + PsiTypeQLElement(label) - Location: (4945,4954)(4945,4954) + PsiElement(LABEL_)('is-family')(4945,4954) + PsiTypeQLElement(annotations_owns) - Location: (4954,4954)(4954,4954) + + PsiElement(',')(',')(4954,4955) + PsiWhiteSpace('\n ')(4955,4960) + PsiTypeQLOwnsType(type_constraint) - Location: (4960,4972)(4960,4972) + PsiElement('owns')('owns')(4960,4964) + PsiWhiteSpace(' ')(4964,4965) + PsiTypeQLElement(type) - Location: (4965,4972)(4965,4972) + PsiTypeQLElement(label) - Location: (4965,4972)(4965,4972) + PsiElement(LABEL_)('aliases')(4965,4972) + PsiTypeQLElement(annotations_owns) - Location: (4972,4972)(4972,4972) + + PsiElement(',')(',')(4972,4973) + PsiWhiteSpace('\n ')(4973,4978) + PsiTypeQLOwnsType(type_constraint) - Location: (4978,4993)(4978,4993) + PsiElement('owns')('owns')(4978,4982) + PsiWhiteSpace(' ')(4982,4983) + PsiTypeQLElement(type) - Location: (4983,4993)(4983,4993) + PsiTypeQLElement(label) - Location: (4983,4993)(4983,4993) + PsiElement(LABEL_)('first-seen')(4983,4993) + PsiTypeQLElement(annotations_owns) - Location: (4993,4993)(4993,4993) + + PsiElement(',')(',')(4993,4994) + PsiWhiteSpace('\n ')(4994,4999) + PsiTypeQLOwnsType(type_constraint) - Location: (4999,5013)(4999,5013) + PsiElement('owns')('owns')(4999,5003) + PsiWhiteSpace(' ')(5003,5004) + PsiTypeQLElement(type) - Location: (5004,5013)(5004,5013) + PsiTypeQLElement(label) - Location: (5004,5013)(5004,5013) + PsiElement(LABEL_)('last-seen')(5004,5013) + PsiTypeQLElement(annotations_owns) - Location: (5013,5013)(5013,5013) + + PsiElement(',')(',')(5013,5014) + PsiWhiteSpace('\n ')(5014,5019) + PsiTypeQLOwnsType(type_constraint) - Location: (5019,5051)(5019,5051) + PsiElement('owns')('owns')(5019,5023) + PsiWhiteSpace(' ')(5023,5024) + PsiTypeQLElement(type) - Location: (5024,5051)(5024,5051) + PsiTypeQLElement(label) - Location: (5024,5051)(5024,5051) + PsiElement(LABEL_)('architecture-execution-envs')(5024,5051) + PsiTypeQLElement(annotations_owns) - Location: (5051,5051)(5051,5051) + + PsiElement(',')(',')(5051,5052) + PsiWhiteSpace('\n ')(5052,5057) + PsiTypeQLOwnsType(type_constraint) - Location: (5057,5086)(5057,5086) + PsiElement('owns')('owns')(5057,5061) + PsiWhiteSpace(' ')(5061,5062) + PsiTypeQLElement(type) - Location: (5062,5086)(5062,5086) + PsiTypeQLElement(label) - Location: (5062,5086)(5062,5086) + PsiElement(LABEL_)('implementation-languages')(5062,5086) + PsiTypeQLElement(annotations_owns) - Location: (5086,5086)(5086,5086) + + PsiElement(',')(',')(5086,5087) + PsiWhiteSpace('\n ')(5087,5092) + PsiTypeQLOwnsType(type_constraint) - Location: (5092,5109)(5092,5109) + PsiElement('owns')('owns')(5092,5096) + PsiWhiteSpace(' ')(5096,5097) + PsiTypeQLElement(type) - Location: (5097,5109)(5097,5109) + PsiTypeQLElement(label) - Location: (5097,5109)(5097,5109) + PsiElement(LABEL_)('capabilities')(5097,5109) + PsiTypeQLElement(annotations_owns) - Location: (5109,5109)(5109,5109) + + PsiElement(',')(',')(5109,5110) + PsiWhiteSpace('\n\n ')(5110,5116) + PsiComment(COMMENT)('# Rel\n')(5116,5122) + PsiWhiteSpace(' ')(5122,5126) + PsiTypeQLPlaysType(type_constraint) - Location: (5126,5149)(5126,5149) + PsiElement('plays')('plays')(5126,5131) + PsiWhiteSpace(' ')(5131,5132) + PsiTypeQLElement(type_scoped) - Location: (5132,5149)(5132,5149) + PsiTypeQLElement(label_scoped) - Location: (5132,5149)(5132,5149) + PsiElement(LABEL_SCOPED_)('targets:targeting')(5132,5149) + PsiElement(',')(',')(5149,5150) + PsiWhiteSpace('\n ')(5150,5155) + PsiTypeQLPlaysType(type_constraint) - Location: (5155,5171)(5155,5171) + PsiElement('plays')('plays')(5155,5160) + PsiWhiteSpace(' ')(5160,5161) + PsiTypeQLElement(type_scoped) - Location: (5161,5171)(5161,5171) + PsiTypeQLElement(label_scoped) - Location: (5161,5171)(5161,5171) + PsiElement(LABEL_SCOPED_)('uses:using')(5161,5171) + PsiElement(',')(',')(5171,5172) + PsiWhiteSpace('\n ')(5172,5177) + PsiTypeQLPlaysType(type_constraint) - Location: (5177,5210)(5177,5210) + PsiElement('plays')('plays')(5177,5182) + PsiWhiteSpace(' ')(5182,5183) + PsiTypeQLElement(type_scoped) - Location: (5183,5210)(5183,5210) + PsiTypeQLElement(label_scoped) - Location: (5183,5210)(5183,5210) + PsiElement(LABEL_SCOPED_)('originates-from:originating')(5183,5210) + PsiElement(',')(',')(5210,5211) + PsiWhiteSpace('\n ')(5211,5216) + PsiTypeQLPlaysType(type_constraint) - Location: (5216,5242)(5216,5242) + PsiElement('plays')('plays')(5216,5221) + PsiWhiteSpace(' ')(5221,5222) + PsiTypeQLElement(type_scoped) - Location: (5222,5242)(5222,5242) + PsiTypeQLElement(label_scoped) - Location: (5222,5242)(5222,5242) + PsiElement(LABEL_SCOPED_)('controls:controlling')(5222,5242) + PsiElement(',')(',')(5242,5243) + PsiWhiteSpace('\n ')(5243,5248) + PsiTypeQLPlaysType(type_constraint) - Location: (5248,5267)(5248,5267) + PsiElement('plays')('plays')(5248,5253) + PsiWhiteSpace(' ')(5253,5254) + PsiTypeQLElement(type_scoped) - Location: (5254,5267)(5254,5267) + PsiTypeQLElement(label_scoped) - Location: (5254,5267)(5254,5267) + PsiElement(LABEL_SCOPED_)('hosts:hosting')(5254,5267) + PsiElement(',')(',')(5267,5268) + PsiWhiteSpace('\n ')(5268,5273) + PsiTypeQLPlaysType(type_constraint) - Location: (5273,5300)(5273,5300) + PsiElement('plays')('plays')(5273,5278) + PsiWhiteSpace(' ')(5278,5279) + PsiTypeQLElement(type_scoped) - Location: (5279,5300)(5279,5300) + PsiTypeQLElement(label_scoped) - Location: (5279,5300)(5279,5300) + PsiElement(LABEL_SCOPED_)('authored-by:authoring')(5279,5300) + PsiElement(',')(',')(5300,5301) + PsiWhiteSpace('\n ')(5301,5306) + PsiTypeQLPlaysType(type_constraint) - Location: (5306,5335)(5306,5335) + PsiElement('plays')('plays')(5306,5311) + PsiWhiteSpace(' ')(5311,5312) + PsiTypeQLElement(type_scoped) - Location: (5312,5335)(5312,5335) + PsiTypeQLElement(label_scoped) - Location: (5312,5335)(5312,5335) + PsiElement(LABEL_SCOPED_)('beacons-to:beaconing-to')(5312,5335) + PsiElement(',')(',')(5335,5336) + PsiWhiteSpace('\n ')(5336,5341) + PsiTypeQLPlaysType(type_constraint) - Location: (5341,5377)(5341,5377) + PsiElement('plays')('plays')(5341,5346) + PsiWhiteSpace(' ')(5346,5347) + PsiTypeQLElement(type_scoped) - Location: (5347,5377)(5347,5377) + PsiTypeQLElement(label_scoped) - Location: (5347,5377)(5347,5377) + PsiElement(LABEL_SCOPED_)('exfiltrates-to:exfiltrating-to')(5347,5377) + PsiElement(',')(',')(5377,5378) + PsiWhiteSpace('\n ')(5378,5383) + PsiTypeQLPlaysType(type_constraint) - Location: (5383,5410)(5383,5410) + PsiElement('plays')('plays')(5383,5388) + PsiWhiteSpace(' ')(5388,5389) + PsiTypeQLElement(type_scoped) - Location: (5389,5410)(5389,5410) + PsiTypeQLElement(label_scoped) - Location: (5389,5410)(5389,5410) + PsiElement(LABEL_SCOPED_)('downloads:downloading')(5389,5410) + PsiElement(',')(',')(5410,5411) + PsiWhiteSpace('\n ')(5411,5416) + PsiTypeQLPlaysType(type_constraint) - Location: (5416,5436)(5416,5436) + PsiElement('plays')('plays')(5416,5421) + PsiWhiteSpace(' ')(5421,5422) + PsiTypeQLElement(type_scoped) - Location: (5422,5436)(5422,5436) + PsiTypeQLElement(label_scoped) - Location: (5422,5436)(5422,5436) + PsiElement(LABEL_SCOPED_)('drops:dropping')(5422,5436) + PsiElement(',')(',')(5436,5437) + PsiWhiteSpace('\n ')(5437,5442) + PsiTypeQLPlaysType(type_constraint) - Location: (5442,5467)(5442,5467) + PsiElement('plays')('plays')(5442,5447) + PsiWhiteSpace(' ')(5447,5448) + PsiTypeQLElement(type_scoped) - Location: (5448,5467)(5448,5467) + PsiTypeQLElement(label_scoped) - Location: (5448,5467)(5448,5467) + PsiElement(LABEL_SCOPED_)('exploits:exploiting')(5448,5467) + PsiElement(',')(',')(5467,5468) + PsiWhiteSpace('\n ')(5468,5473) + PsiTypeQLPlaysType(type_constraint) - Location: (5473,5504)(5473,5504) + PsiElement('plays')('plays')(5473,5478) + PsiWhiteSpace(' ')(5478,5479) + PsiTypeQLElement(type_scoped) - Location: (5479,5504)(5479,5504) + PsiTypeQLElement(label_scoped) - Location: (5479,5504)(5479,5504) + PsiElement(LABEL_SCOPED_)('variant-of:varianted-from')(5479,5504) + PsiElement(',')(',')(5504,5505) + PsiWhiteSpace('\n ')(5505,5510) + PsiTypeQLPlaysType(type_constraint) - Location: (5510,5547)(5510,5547) + PsiElement('plays')('plays')(5510,5515) + PsiWhiteSpace(' ')(5515,5516) + PsiTypeQLElement(type_scoped) - Location: (5516,5547)(5516,5547) + PsiTypeQLElement(label_scoped) - Location: (5516,5547)(5516,5547) + PsiElement(LABEL_SCOPED_)('communicates-with:communicating')(5516,5547) + PsiElement(',')(',')(5547,5548) + PsiWhiteSpace('\n\n ')(5548,5554) + PsiComment(COMMENT)('# RRel\n')(5554,5561) + PsiWhiteSpace(' ')(5561,5565) + PsiTypeQLPlaysType(type_constraint) - Location: (5565,5595)(5565,5595) + PsiElement('plays')('plays')(5565,5570) + PsiWhiteSpace(' ')(5570,5571) + PsiTypeQLElement(type_scoped) - Location: (5571,5595)(5571,5595) + PsiTypeQLElement(label_scoped) - Location: (5571,5595)(5571,5595) + PsiElement(LABEL_SCOPED_)('attributed-to:attributed')(5571,5595) + PsiElement(',')(',')(5595,5596) + PsiWhiteSpace('\n ')(5596,5601) + PsiTypeQLPlaysType(type_constraint) - Location: (5601,5626)(5601,5626) + PsiElement('plays')('plays')(5601,5606) + PsiWhiteSpace(' ')(5606,5607) + PsiTypeQLElement(type_scoped) - Location: (5607,5626)(5607,5626) + PsiTypeQLElement(label_scoped) - Location: (5607,5626)(5607,5626) + PsiElement(LABEL_SCOPED_)('controls:controlled')(5607,5626) + PsiElement(',')(',')(5626,5627) + PsiWhiteSpace('\n ')(5627,5632) + PsiTypeQLPlaysType(type_constraint) - Location: (5632,5659)(5632,5659) + PsiElement('plays')('plays')(5632,5637) + PsiWhiteSpace(' ')(5637,5638) + PsiTypeQLElement(type_scoped) - Location: (5638,5659)(5638,5659) + PsiTypeQLElement(label_scoped) - Location: (5638,5659)(5638,5659) + PsiElement(LABEL_SCOPED_)('remediates:remediated')(5638,5659) + PsiElement(',')(',')(5659,5660) + PsiWhiteSpace('\n ')(5660,5665) + PsiTypeQLPlaysType(type_constraint) - Location: (5665,5690)(5665,5690) + PsiElement('plays')('plays')(5665,5670) + PsiWhiteSpace(' ')(5670,5671) + PsiTypeQLElement(type_scoped) - Location: (5671,5690)(5671,5690) + PsiTypeQLElement(label_scoped) - Location: (5671,5690)(5671,5690) + PsiElement(LABEL_SCOPED_)('mitigates:mitigated')(5671,5690) + PsiElement(',')(',')(5690,5691) + PsiWhiteSpace('\n ')(5691,5696) + PsiTypeQLPlaysType(type_constraint) - Location: (5696,5711)(5696,5711) + PsiElement('plays')('plays')(5696,5701) + PsiWhiteSpace(' ')(5701,5702) + PsiTypeQLElement(type_scoped) - Location: (5702,5711)(5702,5711) + PsiTypeQLElement(label_scoped) - Location: (5702,5711)(5702,5711) + PsiElement(LABEL_SCOPED_)('uses:used')(5702,5711) + PsiElement(',')(',')(5711,5712) + PsiWhiteSpace('\n ')(5712,5717) + PsiTypeQLPlaysType(type_constraint) - Location: (5717,5741)(5717,5741) + PsiElement('plays')('plays')(5717,5722) + PsiWhiteSpace(' ')(5722,5723) + PsiTypeQLElement(type_scoped) - Location: (5723,5741)(5723,5741) + PsiTypeQLElement(label_scoped) - Location: (5723,5741)(5723,5741) + PsiElement(LABEL_SCOPED_)('delivers:delivered')(5723,5741) + PsiElement(',')(',')(5741,5742) + PsiWhiteSpace('\n ')(5742,5747) + PsiTypeQLPlaysType(type_constraint) - Location: (5747,5772)(5747,5772) + PsiElement('plays')('plays')(5747,5752) + PsiWhiteSpace(' ')(5752,5753) + PsiTypeQLElement(type_scoped) - Location: (5753,5772)(5753,5772) + PsiTypeQLElement(label_scoped) - Location: (5753,5772)(5753,5772) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(5753,5772) + PsiElement(',')(',')(5772,5773) + PsiWhiteSpace('\n ')(5773,5778) + PsiTypeQLPlaysType(type_constraint) - Location: (5778,5804)(5778,5804) + PsiElement('plays')('plays')(5778,5783) + PsiWhiteSpace(' ')(5783,5784) + PsiTypeQLElement(type_scoped) - Location: (5784,5804)(5784,5804) + PsiTypeQLElement(label_scoped) - Location: (5784,5804)(5784,5804) + PsiElement(LABEL_SCOPED_)('downloads:downloaded')(5784,5804) + PsiElement(',')(',')(5804,5805) + PsiWhiteSpace('\n ')(5805,5810) + PsiTypeQLPlaysType(type_constraint) - Location: (5810,5829)(5810,5829) + PsiElement('plays')('plays')(5810,5815) + PsiWhiteSpace(' ')(5815,5816) + PsiTypeQLElement(type_scoped) - Location: (5816,5829)(5816,5829) + PsiTypeQLElement(label_scoped) - Location: (5816,5829)(5816,5829) + PsiElement(LABEL_SCOPED_)('drops:dropped')(5816,5829) + PsiElement(',')(',')(5829,5830) + PsiWhiteSpace('\n ')(5830,5835) + PsiTypeQLPlaysType(type_constraint) - Location: (5835,5861)(5835,5861) + PsiElement('plays')('plays')(5835,5840) + PsiWhiteSpace(' ')(5840,5841) + PsiTypeQLElement(type_scoped) - Location: (5841,5861)(5841,5861) + PsiTypeQLElement(label_scoped) - Location: (5841,5861)(5841,5861) + PsiElement(LABEL_SCOPED_)('variant-of:varianted')(5841,5861) + PsiElement(',')(',')(5861,5862) + PsiWhiteSpace('\n ')(5862,5867) + PsiTypeQLPlaysType(type_constraint) - Location: (5867,5900)(5867,5900) + PsiElement('plays')('plays')(5867,5872) + PsiWhiteSpace(' ')(5872,5873) + PsiTypeQLElement(type_scoped) - Location: (5873,5900)(5873,5900) + PsiTypeQLElement(label_scoped) - Location: (5873,5900)(5873,5900) + PsiElement(LABEL_SCOPED_)('characterizes:characterized')(5873,5900) + PsiElement(',')(',')(5900,5901) + PsiWhiteSpace('\n ')(5901,5906) + PsiTypeQLPlaysType(type_constraint) - Location: (5906,5932)(5906,5932) + PsiElement('plays')('plays')(5906,5911) + PsiWhiteSpace(' ')(5911,5912) + PsiTypeQLElement(type_scoped) - Location: (5912,5932)(5912,5932) + PsiTypeQLElement(label_scoped) - Location: (5912,5932)(5912,5932) + PsiElement(LABEL_SCOPED_)('analysis-of:analysed')(5912,5932) + PsiElement(',')(',')(5932,5933) + PsiWhiteSpace('\n ')(5933,5938) + PsiTypeQLPlaysType(type_constraint) - Location: (5938,5971)(5938,5971) + PsiElement('plays')('plays')(5938,5943) + PsiWhiteSpace(' ')(5943,5944) + PsiTypeQLElement(type_scoped) - Location: (5944,5971)(5944,5971) + PsiTypeQLElement(label_scoped) - Location: (5944,5971)(5944,5971) + PsiElement(LABEL_SCOPED_)('static-analysis-of:analysed')(5944,5971) + PsiElement(',')(',')(5971,5972) + PsiWhiteSpace('\n ')(5972,5977) + PsiTypeQLPlaysType(type_constraint) - Location: (5977,6011)(5977,6011) + PsiElement('plays')('plays')(5977,5982) + PsiWhiteSpace(' ')(5982,5983) + PsiTypeQLElement(type_scoped) - Location: (5983,6011)(5983,6011) + PsiTypeQLElement(label_scoped) - Location: (5983,6011)(5983,6011) + PsiElement(LABEL_SCOPED_)('dynamic-analysis-of:analysed')(5983,6011) + PsiElement(';')(';')(6011,6012) + PsiWhiteSpace('\n\n')(6012,6014) + PsiTypeQLElement(definable) - Location: (6014,6376)(6014,6376) + PsiTypeQLStatementType(statement_type) - Location: (6014,6376)(6014,6376) + PsiTypeQLElement(type_any) - Location: (6014,6022)(6014,6022) + PsiTypeQLType(type) - Name: location - Location: (6014,6022)(6014,6022) + PsiTypeQLElement(label) - Location: (6014,6022)(6014,6022) + PsiElement(LABEL_)('location')(6014,6022) + PsiWhiteSpace(' ')(6022,6023) + PsiTypeQLSubType(type_constraint) - Location: (6023,6045)(6023,6045) + PsiElement(SUB_)('sub')(6023,6026) + PsiWhiteSpace(' ')(6026,6027) + PsiTypeQLElement(type_any) - Location: (6027,6045)(6027,6045) + PsiTypeQLElement(type) - Location: (6027,6045)(6027,6045) + PsiTypeQLElement(label) - Location: (6027,6045)(6027,6045) + PsiElement(LABEL_)('stix-domain-object')(6027,6045) + PsiElement(',')(',')(6045,6046) + PsiWhiteSpace('\n ')(6046,6051) + PsiTypeQLOwnsType(type_constraint) - Location: (6051,6060)(6051,6060) + PsiElement('owns')('owns')(6051,6055) + PsiWhiteSpace(' ')(6055,6056) + PsiTypeQLElement(type) - Location: (6056,6060)(6056,6060) + PsiTypeQLElement(label) - Location: (6056,6060)(6056,6060) + PsiElement(LABEL_)('name')(6056,6060) + PsiTypeQLElement(annotations_owns) - Location: (6060,6060)(6060,6060) + + PsiElement(',')(',')(6060,6061) + PsiWhiteSpace('\n ')(6061,6066) + PsiTypeQLOwnsType(type_constraint) - Location: (6066,6082)(6066,6082) + PsiElement('owns')('owns')(6066,6070) + PsiWhiteSpace(' ')(6070,6071) + PsiTypeQLElement(type) - Location: (6071,6082)(6071,6082) + PsiTypeQLElement(label) - Location: (6071,6082)(6071,6082) + PsiElement(LABEL_)('description')(6071,6082) + PsiTypeQLElement(annotations_owns) - Location: (6082,6082)(6082,6082) + + PsiElement(',')(',')(6082,6083) + PsiWhiteSpace('\n ')(6083,6088) + PsiTypeQLOwnsType(type_constraint) - Location: (6088,6101)(6088,6101) + PsiElement('owns')('owns')(6088,6092) + PsiWhiteSpace(' ')(6092,6093) + PsiTypeQLElement(type) - Location: (6093,6101)(6093,6101) + PsiTypeQLElement(label) - Location: (6093,6101)(6093,6101) + PsiElement(LABEL_)('latitude')(6093,6101) + PsiTypeQLElement(annotations_owns) - Location: (6101,6101)(6101,6101) + + PsiElement(',')(',')(6101,6102) + PsiWhiteSpace('\n ')(6102,6107) + PsiTypeQLOwnsType(type_constraint) - Location: (6107,6121)(6107,6121) + PsiElement('owns')('owns')(6107,6111) + PsiWhiteSpace(' ')(6111,6112) + PsiTypeQLElement(type) - Location: (6112,6121)(6112,6121) + PsiTypeQLElement(label) - Location: (6112,6121)(6112,6121) + PsiElement(LABEL_)('longitude')(6112,6121) + PsiTypeQLElement(annotations_owns) - Location: (6121,6121)(6121,6121) + + PsiElement(',')(',')(6121,6122) + PsiWhiteSpace('\n ')(6122,6127) + PsiTypeQLOwnsType(type_constraint) - Location: (6127,6141)(6127,6141) + PsiElement('owns')('owns')(6127,6131) + PsiWhiteSpace(' ')(6131,6132) + PsiTypeQLElement(type) - Location: (6132,6141)(6132,6141) + PsiTypeQLElement(label) - Location: (6132,6141)(6132,6141) + PsiElement(LABEL_)('precision')(6132,6141) + PsiTypeQLElement(annotations_owns) - Location: (6141,6141)(6141,6141) + + PsiElement(',')(',')(6141,6142) + PsiWhiteSpace('\n ')(6142,6147) + PsiTypeQLOwnsType(type_constraint) - Location: (6147,6158)(6147,6158) + PsiElement('owns')('owns')(6147,6151) + PsiWhiteSpace(' ')(6151,6152) + PsiTypeQLElement(type) - Location: (6152,6158)(6152,6158) + PsiTypeQLElement(label) - Location: (6152,6158)(6152,6158) + PsiElement(LABEL_)('region')(6152,6158) + PsiTypeQLElement(annotations_owns) - Location: (6158,6158)(6158,6158) + + PsiElement(',')(',')(6158,6159) + PsiWhiteSpace('\n ')(6159,6164) + PsiTypeQLOwnsType(type_constraint) - Location: (6164,6176)(6164,6176) + PsiElement('owns')('owns')(6164,6168) + PsiWhiteSpace(' ')(6168,6169) + PsiTypeQLElement(type) - Location: (6169,6176)(6169,6176) + PsiTypeQLElement(label) - Location: (6169,6176)(6169,6176) + PsiElement(LABEL_)('country')(6169,6176) + PsiTypeQLElement(annotations_owns) - Location: (6176,6176)(6176,6176) + + PsiElement(',')(',')(6176,6177) + PsiWhiteSpace('\n ')(6177,6182) + PsiTypeQLOwnsType(type_constraint) - Location: (6182,6206)(6182,6206) + PsiElement('owns')('owns')(6182,6186) + PsiWhiteSpace(' ')(6186,6187) + PsiTypeQLElement(type) - Location: (6187,6206)(6187,6206) + PsiTypeQLElement(label) - Location: (6187,6206)(6187,6206) + PsiElement(LABEL_)('administrative-area')(6187,6206) + PsiTypeQLElement(annotations_owns) - Location: (6206,6206)(6206,6206) + + PsiElement(',')(',')(6206,6207) + PsiWhiteSpace('\n ')(6207,6212) + PsiTypeQLOwnsType(type_constraint) - Location: (6212,6221)(6212,6221) + PsiElement('owns')('owns')(6212,6216) + PsiWhiteSpace(' ')(6216,6217) + PsiTypeQLElement(type) - Location: (6217,6221)(6217,6221) + PsiTypeQLElement(label) - Location: (6217,6221)(6217,6221) + PsiElement(LABEL_)('city')(6217,6221) + PsiTypeQLElement(annotations_owns) - Location: (6221,6221)(6221,6221) + + PsiElement(',')(',')(6221,6222) + PsiWhiteSpace('\n ')(6222,6227) + PsiTypeQLOwnsType(type_constraint) - Location: (6227,6246)(6227,6246) + PsiElement('owns')('owns')(6227,6231) + PsiWhiteSpace(' ')(6231,6232) + PsiTypeQLElement(type) - Location: (6232,6246)(6232,6246) + PsiTypeQLElement(label) - Location: (6232,6246)(6232,6246) + PsiElement(LABEL_)('street-address')(6232,6246) + PsiTypeQLElement(annotations_owns) - Location: (6246,6246)(6246,6246) + + PsiElement(',')(',')(6246,6247) + PsiWhiteSpace('\n ')(6247,6252) + PsiTypeQLOwnsType(type_constraint) - Location: (6252,6268)(6252,6268) + PsiElement('owns')('owns')(6252,6256) + PsiWhiteSpace(' ')(6256,6257) + PsiTypeQLElement(type) - Location: (6257,6268)(6257,6268) + PsiTypeQLElement(label) - Location: (6257,6268)(6257,6268) + PsiElement(LABEL_)('postal-code')(6257,6268) + PsiTypeQLElement(annotations_owns) - Location: (6268,6268)(6268,6268) + + PsiElement(',')(',')(6268,6269) + PsiWhiteSpace('\n\n ')(6269,6275) + PsiComment(COMMENT)('# RRel\n')(6275,6282) + PsiWhiteSpace(' ')(6282,6286) + PsiTypeQLPlaysType(type_constraint) - Location: (6286,6308)(6286,6308) + PsiElement('plays')('plays')(6286,6291) + PsiWhiteSpace(' ')(6291,6292) + PsiTypeQLElement(type_scoped) - Location: (6292,6308)(6292,6308) + PsiTypeQLElement(label_scoped) - Location: (6292,6308)(6292,6308) + PsiElement(LABEL_SCOPED_)('targets:targeted')(6292,6308) + PsiElement(',')(',')(6308,6309) + PsiWhiteSpace('\n ')(6309,6314) + PsiTypeQLPlaysType(type_constraint) - Location: (6314,6346)(6314,6346) + PsiElement('plays')('plays')(6314,6319) + PsiWhiteSpace(' ')(6319,6320) + PsiTypeQLElement(type_scoped) - Location: (6320,6346)(6320,6346) + PsiTypeQLElement(label_scoped) - Location: (6320,6346)(6320,6346) + PsiElement(LABEL_SCOPED_)('originates-from:originated')(6320,6346) + PsiElement(',')(',')(6346,6347) + PsiWhiteSpace('\n ')(6347,6352) + PsiTypeQLPlaysType(type_constraint) - Location: (6352,6376)(6352,6376) + PsiElement('plays')('plays')(6352,6357) + PsiWhiteSpace(' ')(6357,6358) + PsiTypeQLElement(type_scoped) - Location: (6358,6376)(6358,6376) + PsiTypeQLElement(label_scoped) - Location: (6358,6376)(6358,6376) + PsiElement(LABEL_SCOPED_)('located-at:located')(6358,6376) + PsiElement(';')(';')(6376,6377) + PsiWhiteSpace('\n\n')(6377,6379) + PsiTypeQLElement(definable) - Location: (6379,6851)(6379,6851) + PsiTypeQLStatementType(statement_type) - Location: (6379,6851)(6379,6851) + PsiTypeQLElement(type_any) - Location: (6379,6395)(6379,6395) + PsiTypeQLType(type) - Name: malware-analysis - Location: (6379,6395)(6379,6395) + PsiTypeQLElement(label) - Location: (6379,6395)(6379,6395) + PsiElement(LABEL_)('malware-analysis')(6379,6395) + PsiWhiteSpace(' ')(6395,6396) + PsiTypeQLSubType(type_constraint) - Location: (6396,6418)(6396,6418) + PsiElement(SUB_)('sub')(6396,6399) + PsiWhiteSpace(' ')(6399,6400) + PsiTypeQLElement(type_any) - Location: (6400,6418)(6400,6418) + PsiTypeQLElement(type) - Location: (6400,6418)(6400,6418) + PsiTypeQLElement(label) - Location: (6400,6418)(6400,6418) + PsiElement(LABEL_)('stix-domain-object')(6400,6418) + PsiElement(',')(',')(6418,6419) + PsiWhiteSpace('\n ')(6419,6424) + PsiTypeQLOwnsType(type_constraint) - Location: (6424,6436)(6424,6436) + PsiElement('owns')('owns')(6424,6428) + PsiWhiteSpace(' ')(6428,6429) + PsiTypeQLElement(type) - Location: (6429,6436)(6429,6436) + PsiTypeQLElement(label) - Location: (6429,6436)(6429,6436) + PsiElement(LABEL_)('product')(6429,6436) + PsiTypeQLElement(annotations_owns) - Location: (6436,6436)(6436,6436) + + PsiElement(',')(',')(6436,6437) + PsiWhiteSpace('\n ')(6437,6442) + PsiTypeQLOwnsType(type_constraint) - Location: (6442,6454)(6442,6454) + PsiElement('owns')('owns')(6442,6446) + PsiWhiteSpace(' ')(6446,6447) + PsiTypeQLElement(type) - Location: (6447,6454)(6447,6454) + PsiTypeQLElement(label) - Location: (6447,6454)(6447,6454) + PsiElement(LABEL_)('version')(6447,6454) + PsiTypeQLElement(annotations_owns) - Location: (6454,6454)(6454,6454) + + PsiElement(',')(',')(6454,6455) + PsiWhiteSpace('\n ')(6455,6460) + PsiTypeQLOwnsType(type_constraint) - Location: (6460,6486)(6460,6486) + PsiElement('owns')('owns')(6460,6464) + PsiWhiteSpace(' ')(6464,6465) + PsiTypeQLElement(type) - Location: (6465,6486)(6465,6486) + PsiTypeQLElement(label) - Location: (6465,6486)(6465,6486) + PsiElement(LABEL_)('configuration-version')(6465,6486) + PsiTypeQLElement(annotations_owns) - Location: (6486,6486)(6486,6486) + + PsiElement(',')(',')(6486,6487) + PsiWhiteSpace('\n ')(6487,6492) + PsiTypeQLOwnsType(type_constraint) - Location: (6492,6503)(6492,6503) + PsiElement('owns')('owns')(6492,6496) + PsiWhiteSpace(' ')(6496,6497) + PsiTypeQLElement(type) - Location: (6497,6503)(6497,6503) + PsiTypeQLElement(label) - Location: (6497,6503)(6497,6503) + PsiElement(LABEL_)('module')(6497,6503) + PsiTypeQLElement(annotations_owns) - Location: (6503,6503)(6503,6503) + + PsiElement(',')(',')(6503,6504) + PsiWhiteSpace('\n ')(6504,6509) + PsiTypeQLOwnsType(type_constraint) - Location: (6509,6537)(6509,6537) + PsiElement('owns')('owns')(6509,6513) + PsiWhiteSpace(' ')(6513,6514) + PsiTypeQLElement(type) - Location: (6514,6537)(6514,6537) + PsiTypeQLElement(label) - Location: (6514,6537)(6514,6537) + PsiElement(LABEL_)('analysis-engine-version')(6514,6537) + PsiTypeQLElement(annotations_owns) - Location: (6537,6537)(6537,6537) + + PsiElement(',')(',')(6537,6538) + PsiWhiteSpace('\n ')(6538,6543) + PsiTypeQLOwnsType(type_constraint) - Location: (6543,6575)(6543,6575) + PsiElement('owns')('owns')(6543,6547) + PsiWhiteSpace(' ')(6547,6548) + PsiTypeQLElement(type) - Location: (6548,6575)(6548,6575) + PsiTypeQLElement(label) - Location: (6548,6575)(6548,6575) + PsiElement(LABEL_)('analysis-definition-version')(6548,6575) + PsiTypeQLElement(annotations_owns) - Location: (6575,6575)(6575,6575) + + PsiElement(',')(',')(6575,6576) + PsiWhiteSpace('\n ')(6576,6581) + PsiTypeQLOwnsType(type_constraint) - Location: (6581,6595)(6581,6595) + PsiElement('owns')('owns')(6581,6585) + PsiWhiteSpace(' ')(6585,6586) + PsiTypeQLElement(type) - Location: (6586,6595)(6586,6595) + PsiTypeQLElement(label) - Location: (6586,6595)(6586,6595) + PsiElement(LABEL_)('submitted')(6586,6595) + PsiTypeQLElement(annotations_owns) - Location: (6595,6595)(6595,6595) + + PsiElement(',')(',')(6595,6596) + PsiWhiteSpace('\n ')(6596,6601) + PsiTypeQLOwnsType(type_constraint) - Location: (6601,6622)(6601,6622) + PsiElement('owns')('owns')(6601,6605) + PsiWhiteSpace(' ')(6605,6606) + PsiTypeQLElement(type) - Location: (6606,6622)(6606,6622) + PsiTypeQLElement(label) - Location: (6606,6622)(6606,6622) + PsiElement(LABEL_)('analysis-started')(6606,6622) + PsiTypeQLElement(annotations_owns) - Location: (6622,6622)(6622,6622) + + PsiElement(',')(',')(6622,6623) + PsiWhiteSpace('\n ')(6623,6628) + PsiTypeQLOwnsType(type_constraint) - Location: (6628,6647)(6628,6647) + PsiElement('owns')('owns')(6628,6632) + PsiWhiteSpace(' ')(6632,6633) + PsiTypeQLElement(type) - Location: (6633,6647)(6633,6647) + PsiTypeQLElement(label) - Location: (6633,6647)(6633,6647) + PsiElement(LABEL_)('analysis-ended')(6633,6647) + PsiTypeQLElement(annotations_owns) - Location: (6647,6647)(6647,6647) + + PsiElement(',')(',')(6647,6648) + PsiWhiteSpace('\n ')(6648,6653) + PsiTypeQLOwnsType(type_constraint) - Location: (6653,6669)(6653,6669) + PsiElement('owns')('owns')(6653,6657) + PsiWhiteSpace(' ')(6657,6658) + PsiTypeQLElement(type) - Location: (6658,6669)(6658,6669) + PsiTypeQLElement(label) - Location: (6658,6669)(6658,6669) + PsiElement(LABEL_)('result-name')(6658,6669) + PsiTypeQLElement(annotations_owns) - Location: (6669,6669)(6669,6669) + + PsiElement(',')(',')(6669,6670) + PsiWhiteSpace('\n ')(6670,6675) + PsiTypeQLOwnsType(type_constraint) - Location: (6675,6686)(6675,6686) + PsiElement('owns')('owns')(6675,6679) + PsiWhiteSpace(' ')(6679,6680) + PsiTypeQLElement(type) - Location: (6680,6686)(6680,6686) + PsiTypeQLElement(label) - Location: (6680,6686)(6680,6686) + PsiElement(LABEL_)('result')(6680,6686) + PsiTypeQLElement(annotations_owns) - Location: (6686,6686)(6686,6686) + + PsiElement(',')(',')(6686,6687) + PsiWhiteSpace('\n\n ')(6687,6693) + PsiComment(COMMENT)('# Rel\n')(6693,6699) + PsiWhiteSpace(' ')(6699,6703) + PsiTypeQLPlaysType(type_constraint) - Location: (6703,6737)(6703,6737) + PsiElement('plays')('plays')(6703,6708) + PsiWhiteSpace(' ')(6708,6709) + PsiTypeQLElement(type_scoped) - Location: (6709,6737)(6709,6737) + PsiTypeQLElement(label_scoped) - Location: (6709,6737)(6709,6737) + PsiElement(LABEL_SCOPED_)('characterizes:characterizing')(6709,6737) + PsiElement(',')(',')(6737,6738) + PsiWhiteSpace('\n ')(6738,6743) + PsiTypeQLPlaysType(type_constraint) - Location: (6743,6770)(6743,6770) + PsiElement('plays')('plays')(6743,6748) + PsiWhiteSpace(' ')(6748,6749) + PsiTypeQLElement(type_scoped) - Location: (6749,6770)(6749,6770) + PsiTypeQLElement(label_scoped) - Location: (6749,6770)(6749,6770) + PsiElement(LABEL_SCOPED_)('analysis-of:analysing')(6749,6770) + PsiElement(',')(',')(6770,6771) + PsiWhiteSpace('\n ')(6771,6776) + PsiTypeQLPlaysType(type_constraint) - Location: (6776,6810)(6776,6810) + PsiElement('plays')('plays')(6776,6781) + PsiWhiteSpace(' ')(6781,6782) + PsiTypeQLElement(type_scoped) - Location: (6782,6810)(6782,6810) + PsiTypeQLElement(label_scoped) - Location: (6782,6810)(6782,6810) + PsiElement(LABEL_SCOPED_)('static-analysis-of:analysing')(6782,6810) + PsiElement(',')(',')(6810,6811) + PsiWhiteSpace('\n ')(6811,6816) + PsiTypeQLPlaysType(type_constraint) - Location: (6816,6851)(6816,6851) + PsiElement('plays')('plays')(6816,6821) + PsiWhiteSpace(' ')(6821,6822) + PsiTypeQLElement(type_scoped) - Location: (6822,6851)(6822,6851) + PsiTypeQLElement(label_scoped) - Location: (6822,6851)(6822,6851) + PsiElement(LABEL_SCOPED_)('dynamic-analysis-of:analysing')(6822,6851) + PsiElement(';')(';')(6851,6852) + PsiWhiteSpace('\n\n')(6852,6854) + PsiTypeQLElement(definable) - Location: (6854,6941)(6854,6941) + PsiTypeQLStatementType(statement_type) - Location: (6854,6941)(6854,6941) + PsiTypeQLElement(type_any) - Location: (6854,6858)(6854,6858) + PsiTypeQLType(type) - Name: note - Location: (6854,6858)(6854,6858) + PsiTypeQLElement(label) - Location: (6854,6858)(6854,6858) + PsiElement(LABEL_)('note')(6854,6858) + PsiWhiteSpace(' ')(6858,6859) + PsiTypeQLSubType(type_constraint) - Location: (6859,6881)(6859,6881) + PsiElement(SUB_)('sub')(6859,6862) + PsiWhiteSpace(' ')(6862,6863) + PsiTypeQLElement(type_any) - Location: (6863,6881)(6863,6881) + PsiTypeQLElement(type) - Location: (6863,6881)(6863,6881) + PsiTypeQLElement(label) - Location: (6863,6881)(6863,6881) + PsiElement(LABEL_)('stix-domain-object')(6863,6881) + PsiElement(',')(',')(6881,6882) + PsiWhiteSpace('\n ')(6882,6887) + PsiTypeQLOwnsType(type_constraint) - Location: (6887,6905)(6887,6905) + PsiElement('owns')('owns')(6887,6891) + PsiWhiteSpace(' ')(6891,6892) + PsiTypeQLElement(type) - Location: (6892,6905)(6892,6905) + PsiTypeQLElement(label) - Location: (6892,6905)(6892,6905) + PsiElement(LABEL_)('note-abstract')(6892,6905) + PsiTypeQLElement(annotations_owns) - Location: (6905,6905)(6905,6905) + + PsiElement(',')(',')(6905,6906) + PsiWhiteSpace('\n ')(6906,6911) + PsiTypeQLOwnsType(type_constraint) - Location: (6911,6923)(6911,6923) + PsiElement('owns')('owns')(6911,6915) + PsiWhiteSpace(' ')(6915,6916) + PsiTypeQLElement(type) - Location: (6916,6923)(6916,6923) + PsiTypeQLElement(label) - Location: (6916,6923)(6916,6923) + PsiElement(LABEL_)('content')(6916,6923) + PsiTypeQLElement(annotations_owns) - Location: (6923,6923)(6923,6923) + + PsiElement(',')(',')(6923,6924) + PsiWhiteSpace('\n ')(6924,6929) + PsiTypeQLOwnsType(type_constraint) - Location: (6929,6941)(6929,6941) + PsiElement('owns')('owns')(6929,6933) + PsiWhiteSpace(' ')(6933,6934) + PsiTypeQLElement(type) - Location: (6934,6941)(6934,6941) + PsiTypeQLElement(label) - Location: (6934,6941)(6934,6941) + PsiElement(LABEL_)('authors')(6934,6941) + PsiTypeQLElement(annotations_owns) - Location: (6941,6941)(6941,6941) + + PsiElement(';')(';')(6941,6942) + PsiWhiteSpace('\n\n')(6942,6944) + PsiTypeQLElement(definable) - Location: (6944,7037)(6944,7037) + PsiTypeQLStatementType(statement_type) - Location: (6944,7037)(6944,7037) + PsiTypeQLElement(type_any) - Location: (6944,6951)(6944,6951) + PsiTypeQLType(type) - Name: opinion - Location: (6944,6951)(6944,6951) + PsiTypeQLElement(label) - Location: (6944,6951)(6944,6951) + PsiElement(LABEL_)('opinion')(6944,6951) + PsiWhiteSpace(' ')(6951,6952) + PsiTypeQLSubType(type_constraint) - Location: (6952,6974)(6952,6974) + PsiElement(SUB_)('sub')(6952,6955) + PsiWhiteSpace(' ')(6955,6956) + PsiTypeQLElement(type_any) - Location: (6956,6974)(6956,6974) + PsiTypeQLElement(type) - Location: (6956,6974)(6956,6974) + PsiTypeQLElement(label) - Location: (6956,6974)(6956,6974) + PsiElement(LABEL_)('stix-domain-object')(6956,6974) + PsiElement(',')(',')(6974,6975) + PsiWhiteSpace('\n ')(6975,6980) + PsiTypeQLOwnsType(type_constraint) - Location: (6980,6996)(6980,6996) + PsiElement('owns')('owns')(6980,6984) + PsiWhiteSpace(' ')(6984,6985) + PsiTypeQLElement(type) - Location: (6985,6996)(6985,6996) + PsiTypeQLElement(label) - Location: (6985,6996)(6985,6996) + PsiElement(LABEL_)('explanation')(6985,6996) + PsiTypeQLElement(annotations_owns) - Location: (6996,6996)(6996,6996) + + PsiElement(',')(',')(6996,6997) + PsiWhiteSpace('\n ')(6997,7002) + PsiTypeQLOwnsType(type_constraint) - Location: (7002,7014)(7002,7014) + PsiElement('owns')('owns')(7002,7006) + PsiWhiteSpace(' ')(7006,7007) + PsiTypeQLElement(type) - Location: (7007,7014)(7007,7014) + PsiTypeQLElement(label) - Location: (7007,7014)(7007,7014) + PsiElement(LABEL_)('authors')(7007,7014) + PsiTypeQLElement(annotations_owns) - Location: (7014,7014)(7014,7014) + + PsiElement(',')(',')(7014,7015) + PsiWhiteSpace('\n ')(7015,7020) + PsiTypeQLOwnsType(type_constraint) - Location: (7020,7037)(7020,7037) + PsiElement('owns')('owns')(7020,7024) + PsiWhiteSpace(' ')(7024,7025) + PsiTypeQLElement(type) - Location: (7025,7037)(7025,7037) + PsiTypeQLElement(label) - Location: (7025,7037)(7025,7037) + PsiElement(LABEL_)('opinion-enum')(7025,7037) + PsiTypeQLElement(annotations_owns) - Location: (7037,7037)(7037,7037) + + PsiElement(';')(';')(7037,7038) + PsiWhiteSpace('\n\n')(7038,7040) + PsiTypeQLElement(definable) - Location: (7040,7221)(7040,7221) + PsiTypeQLStatementType(statement_type) - Location: (7040,7221)(7040,7221) + PsiTypeQLElement(type_any) - Location: (7040,7053)(7040,7053) + PsiTypeQLType(type) - Name: observed-data - Location: (7040,7053)(7040,7053) + PsiTypeQLElement(label) - Location: (7040,7053)(7040,7053) + PsiElement(LABEL_)('observed-data')(7040,7053) + PsiWhiteSpace(' ')(7053,7054) + PsiTypeQLSubType(type_constraint) - Location: (7054,7076)(7054,7076) + PsiElement(SUB_)('sub')(7054,7057) + PsiWhiteSpace(' ')(7057,7058) + PsiTypeQLElement(type_any) - Location: (7058,7076)(7058,7076) + PsiTypeQLElement(type) - Location: (7058,7076)(7058,7076) + PsiTypeQLElement(label) - Location: (7058,7076)(7058,7076) + PsiElement(LABEL_)('stix-domain-object')(7058,7076) + PsiElement(',')(',')(7076,7077) + PsiWhiteSpace('\n ')(7077,7082) + PsiTypeQLOwnsType(type_constraint) - Location: (7082,7101)(7082,7101) + PsiElement('owns')('owns')(7082,7086) + PsiWhiteSpace(' ')(7086,7087) + PsiTypeQLElement(type) - Location: (7087,7101)(7087,7101) + PsiTypeQLElement(label) - Location: (7087,7101)(7087,7101) + PsiElement(LABEL_)('first-observed')(7087,7101) + PsiTypeQLElement(annotations_owns) - Location: (7101,7101)(7101,7101) + + PsiElement(',')(',')(7101,7102) + PsiWhiteSpace('\n ')(7102,7107) + PsiTypeQLOwnsType(type_constraint) - Location: (7107,7125)(7107,7125) + PsiElement('owns')('owns')(7107,7111) + PsiWhiteSpace(' ')(7111,7112) + PsiTypeQLElement(type) - Location: (7112,7125)(7112,7125) + PsiTypeQLElement(label) - Location: (7112,7125)(7112,7125) + PsiElement(LABEL_)('last-observed')(7112,7125) + PsiTypeQLElement(annotations_owns) - Location: (7125,7125)(7125,7125) + + PsiElement(',')(',')(7125,7126) + PsiWhiteSpace('\n ')(7126,7131) + PsiTypeQLOwnsType(type_constraint) - Location: (7131,7151)(7131,7151) + PsiElement('owns')('owns')(7131,7135) + PsiWhiteSpace(' ')(7135,7136) + PsiTypeQLElement(type) - Location: (7136,7151)(7136,7151) + PsiTypeQLElement(label) - Location: (7136,7151)(7136,7151) + PsiElement(LABEL_)('number-observed')(7136,7151) + PsiTypeQLElement(annotations_owns) - Location: (7151,7151)(7151,7151) + + PsiElement(',')(',')(7151,7152) + PsiWhiteSpace('\n\n ')(7152,7158) + PsiComment(COMMENT)('# RRel\n')(7158,7165) + PsiWhiteSpace(' ')(7165,7169) + PsiTypeQLPlaysType(type_constraint) - Location: (7169,7189)(7169,7189) + PsiElement('plays')('plays')(7169,7174) + PsiWhiteSpace(' ')(7174,7175) + PsiTypeQLElement(type_scoped) - Location: (7175,7189)(7175,7189) + PsiTypeQLElement(label_scoped) - Location: (7175,7189)(7175,7189) + PsiElement(LABEL_SCOPED_)('based-on:based')(7175,7189) + PsiElement(',')(',')(7189,7190) + PsiWhiteSpace('\n ')(7190,7195) + PsiTypeQLPlaysType(type_constraint) - Location: (7195,7221)(7195,7221) + PsiElement('plays')('plays')(7195,7200) + PsiWhiteSpace(' ')(7200,7201) + PsiTypeQLElement(type_scoped) - Location: (7201,7221)(7201,7221) + PsiTypeQLElement(label_scoped) - Location: (7201,7221)(7201,7221) + PsiElement(LABEL_SCOPED_)('consist-of:consisted')(7201,7221) + PsiElement(';')(';')(7221,7222) + PsiWhiteSpace('\n\n')(7222,7224) + PsiTypeQLElement(definable) - Location: (7224,7332)(7224,7332) + PsiTypeQLStatementType(statement_type) - Location: (7224,7332)(7224,7332) + PsiTypeQLElement(type_any) - Location: (7224,7230)(7224,7230) + PsiTypeQLType(type) - Name: report - Location: (7224,7230)(7224,7230) + PsiTypeQLElement(label) - Location: (7224,7230)(7224,7230) + PsiElement(LABEL_)('report')(7224,7230) + PsiWhiteSpace(' ')(7230,7231) + PsiTypeQLSubType(type_constraint) - Location: (7231,7253)(7231,7253) + PsiElement(SUB_)('sub')(7231,7234) + PsiWhiteSpace(' ')(7234,7235) + PsiTypeQLElement(type_any) - Location: (7235,7253)(7235,7253) + PsiTypeQLElement(type) - Location: (7235,7253)(7235,7253) + PsiTypeQLElement(label) - Location: (7235,7253)(7235,7253) + PsiElement(LABEL_)('stix-domain-object')(7235,7253) + PsiElement(',')(',')(7253,7254) + PsiWhiteSpace('\n ')(7254,7259) + PsiTypeQLOwnsType(type_constraint) - Location: (7259,7268)(7259,7268) + PsiElement('owns')('owns')(7259,7263) + PsiWhiteSpace(' ')(7263,7264) + PsiTypeQLElement(type) - Location: (7264,7268)(7264,7268) + PsiTypeQLElement(label) - Location: (7264,7268)(7264,7268) + PsiElement(LABEL_)('name')(7264,7268) + PsiTypeQLElement(annotations_owns) - Location: (7268,7268)(7268,7268) + + PsiElement(',')(',')(7268,7269) + PsiWhiteSpace('\n ')(7269,7274) + PsiTypeQLOwnsType(type_constraint) - Location: (7274,7290)(7274,7290) + PsiElement('owns')('owns')(7274,7278) + PsiWhiteSpace(' ')(7278,7279) + PsiTypeQLElement(type) - Location: (7279,7290)(7279,7290) + PsiTypeQLElement(label) - Location: (7279,7290)(7279,7290) + PsiElement(LABEL_)('description')(7279,7290) + PsiTypeQLElement(annotations_owns) - Location: (7290,7290)(7290,7290) + + PsiElement(',')(',')(7290,7291) + PsiWhiteSpace('\n ')(7291,7296) + PsiTypeQLOwnsType(type_constraint) - Location: (7296,7312)(7296,7312) + PsiElement('owns')('owns')(7296,7300) + PsiWhiteSpace(' ')(7300,7301) + PsiTypeQLElement(type) - Location: (7301,7312)(7301,7312) + PsiTypeQLElement(label) - Location: (7301,7312)(7301,7312) + PsiElement(LABEL_)('report-type')(7301,7312) + PsiTypeQLElement(annotations_owns) - Location: (7312,7312)(7312,7312) + + PsiElement(',')(',')(7312,7313) + PsiWhiteSpace('\n ')(7313,7318) + PsiTypeQLOwnsType(type_constraint) - Location: (7318,7332)(7318,7332) + PsiElement('owns')('owns')(7318,7322) + PsiWhiteSpace(' ')(7322,7323) + PsiTypeQLElement(type) - Location: (7323,7332)(7323,7332) + PsiTypeQLElement(label) - Location: (7323,7332)(7323,7332) + PsiElement(LABEL_)('published')(7323,7332) + PsiTypeQLElement(annotations_owns) - Location: (7332,7332)(7332,7332) + + PsiElement(';')(';')(7332,7333) + PsiWhiteSpace('\n\n')(7333,7335) + PsiTypeQLElement(definable) - Location: (7335,8062)(7335,8062) + PsiTypeQLStatementType(statement_type) - Location: (7335,8062)(7335,8062) + PsiTypeQLElement(type_any) - Location: (7335,7347)(7335,7347) + PsiTypeQLType(type) - Name: threat-actor - Location: (7335,7347)(7335,7347) + PsiTypeQLElement(label) - Location: (7335,7347)(7335,7347) + PsiElement(LABEL_)('threat-actor')(7335,7347) + PsiWhiteSpace(' ')(7347,7348) + PsiTypeQLSubType(type_constraint) - Location: (7348,7370)(7348,7370) + PsiElement(SUB_)('sub')(7348,7351) + PsiWhiteSpace(' ')(7351,7352) + PsiTypeQLElement(type_any) - Location: (7352,7370)(7352,7370) + PsiTypeQLElement(type) - Location: (7352,7370)(7352,7370) + PsiTypeQLElement(label) - Location: (7352,7370)(7352,7370) + PsiElement(LABEL_)('stix-domain-object')(7352,7370) + PsiElement(',')(',')(7370,7371) + PsiWhiteSpace('\n ')(7371,7376) + PsiTypeQLOwnsType(type_constraint) - Location: (7376,7385)(7376,7385) + PsiElement('owns')('owns')(7376,7380) + PsiWhiteSpace(' ')(7380,7381) + PsiTypeQLElement(type) - Location: (7381,7385)(7381,7385) + PsiTypeQLElement(label) - Location: (7381,7385)(7381,7385) + PsiElement(LABEL_)('name')(7381,7385) + PsiTypeQLElement(annotations_owns) - Location: (7385,7385)(7385,7385) + + PsiElement(',')(',')(7385,7386) + PsiWhiteSpace('\n ')(7386,7391) + PsiTypeQLOwnsType(type_constraint) - Location: (7391,7407)(7391,7407) + PsiElement('owns')('owns')(7391,7395) + PsiWhiteSpace(' ')(7395,7396) + PsiTypeQLElement(type) - Location: (7396,7407)(7396,7407) + PsiTypeQLElement(label) - Location: (7396,7407)(7396,7407) + PsiElement(LABEL_)('description')(7396,7407) + PsiTypeQLElement(annotations_owns) - Location: (7407,7407)(7407,7407) + + PsiElement(',')(',')(7407,7408) + PsiWhiteSpace('\n ')(7408,7413) + PsiTypeQLOwnsType(type_constraint) - Location: (7413,7425)(7413,7425) + PsiElement('owns')('owns')(7413,7417) + PsiWhiteSpace(' ')(7417,7418) + PsiTypeQLElement(type) - Location: (7418,7425)(7418,7425) + PsiTypeQLElement(label) - Location: (7418,7425)(7418,7425) + PsiElement(LABEL_)('aliases')(7418,7425) + PsiTypeQLElement(annotations_owns) - Location: (7425,7425)(7425,7425) + + PsiElement(',')(',')(7425,7426) + PsiWhiteSpace('\n ')(7426,7431) + PsiTypeQLOwnsType(type_constraint) - Location: (7431,7445)(7431,7445) + PsiElement('owns')('owns')(7431,7435) + PsiWhiteSpace(' ')(7435,7436) + PsiTypeQLElement(type) - Location: (7436,7445)(7436,7445) + PsiTypeQLElement(label) - Location: (7436,7445)(7436,7445) + PsiElement(LABEL_)('stix-role')(7436,7445) + PsiTypeQLElement(annotations_owns) - Location: (7445,7445)(7445,7445) + + PsiElement(',')(',')(7445,7446) + PsiWhiteSpace('\n ')(7446,7451) + PsiTypeQLOwnsType(type_constraint) - Location: (7451,7466)(7451,7466) + PsiElement('owns')('owns')(7451,7455) + PsiWhiteSpace(' ')(7455,7456) + PsiTypeQLElement(type) - Location: (7456,7466)(7456,7466) + PsiTypeQLElement(label) - Location: (7456,7466)(7456,7466) + PsiElement(LABEL_)('first-seen')(7456,7466) + PsiTypeQLElement(annotations_owns) - Location: (7466,7466)(7466,7466) + + PsiElement(',')(',')(7466,7467) + PsiWhiteSpace('\n ')(7467,7472) + PsiTypeQLOwnsType(type_constraint) - Location: (7472,7486)(7472,7486) + PsiElement('owns')('owns')(7472,7476) + PsiWhiteSpace(' ')(7476,7477) + PsiTypeQLElement(type) - Location: (7477,7486)(7477,7486) + PsiTypeQLElement(label) - Location: (7477,7486)(7477,7486) + PsiElement(LABEL_)('last-seen')(7477,7486) + PsiTypeQLElement(annotations_owns) - Location: (7486,7486)(7486,7486) + + PsiElement(',')(',')(7486,7487) + PsiWhiteSpace('\n ')(7487,7492) + PsiTypeQLOwnsType(type_constraint) - Location: (7492,7502)(7492,7502) + PsiElement('owns')('owns')(7492,7496) + PsiWhiteSpace(' ')(7496,7497) + PsiTypeQLElement(type) - Location: (7497,7502)(7497,7502) + PsiTypeQLElement(label) - Location: (7497,7502)(7497,7502) + PsiElement(LABEL_)('goals')(7497,7502) + PsiTypeQLElement(annotations_owns) - Location: (7502,7502)(7502,7502) + + PsiElement(',')(',')(7502,7503) + PsiWhiteSpace('\n ')(7503,7508) + PsiTypeQLOwnsType(type_constraint) - Location: (7508,7527)(7508,7527) + PsiElement('owns')('owns')(7508,7512) + PsiWhiteSpace(' ')(7512,7513) + PsiTypeQLElement(type) - Location: (7513,7527)(7513,7527) + PsiTypeQLElement(label) - Location: (7513,7527)(7513,7527) + PsiElement(LABEL_)('resource-level')(7513,7527) + PsiTypeQLElement(annotations_owns) - Location: (7527,7527)(7527,7527) + + PsiElement(',')(',')(7527,7528) + PsiWhiteSpace('\n ')(7528,7533) + PsiTypeQLOwnsType(type_constraint) - Location: (7533,7556)(7533,7556) + PsiElement('owns')('owns')(7533,7537) + PsiWhiteSpace(' ')(7537,7538) + PsiTypeQLElement(type) - Location: (7538,7556)(7538,7556) + PsiTypeQLElement(label) - Location: (7538,7556)(7538,7556) + PsiElement(LABEL_)('primary-motivation')(7538,7556) + PsiTypeQLElement(annotations_owns) - Location: (7556,7556)(7556,7556) + + PsiElement(',')(',')(7556,7557) + PsiWhiteSpace('\n ')(7557,7562) + PsiTypeQLOwnsType(type_constraint) - Location: (7562,7588)(7562,7588) + PsiElement('owns')('owns')(7562,7566) + PsiWhiteSpace(' ')(7566,7567) + PsiTypeQLElement(type) - Location: (7567,7588)(7567,7588) + PsiTypeQLElement(label) - Location: (7567,7588)(7567,7588) + PsiElement(LABEL_)('secondary-motivations')(7567,7588) + PsiTypeQLElement(annotations_owns) - Location: (7588,7588)(7588,7588) + + PsiElement(',')(',')(7588,7589) + PsiWhiteSpace('\n ')(7589,7594) + PsiTypeQLOwnsType(type_constraint) - Location: (7594,7613)(7594,7613) + PsiElement('owns')('owns')(7594,7598) + PsiWhiteSpace(' ')(7598,7599) + PsiTypeQLElement(type) - Location: (7599,7613)(7599,7613) + PsiTypeQLElement(label) - Location: (7599,7613)(7599,7613) + PsiElement(LABEL_)('sophistication')(7599,7613) + PsiTypeQLElement(annotations_owns) - Location: (7613,7613)(7613,7613) + + PsiElement(',')(',')(7613,7614) + PsiWhiteSpace('\n ')(7614,7619) + PsiTypeQLOwnsType(type_constraint) - Location: (7619,7648)(7619,7648) + PsiElement('owns')('owns')(7619,7623) + PsiWhiteSpace(' ')(7623,7624) + PsiTypeQLElement(type) - Location: (7624,7648)(7624,7648) + PsiTypeQLElement(label) - Location: (7624,7648)(7624,7648) + PsiElement(LABEL_)('personal-characteristics')(7624,7648) + PsiTypeQLElement(annotations_owns) - Location: (7648,7648)(7648,7648) + + PsiElement(',')(',')(7648,7649) + PsiWhiteSpace('\n ')(7649,7654) + PsiTypeQLOwnsType(type_constraint) - Location: (7654,7664)(7654,7664) + PsiElement('owns')('owns')(7654,7658) + PsiWhiteSpace(' ')(7658,7659) + PsiTypeQLElement(type) - Location: (7659,7664)(7659,7664) + PsiTypeQLElement(label) - Location: (7659,7664)(7659,7664) + PsiElement(LABEL_)('roles')(7659,7664) + PsiTypeQLElement(annotations_owns) - Location: (7664,7664)(7664,7664) + + PsiElement(',')(',')(7664,7665) + PsiWhiteSpace('\n ')(7665,7670) + PsiTypeQLOwnsType(type_constraint) - Location: (7670,7693)(7670,7693) + PsiElement('owns')('owns')(7670,7674) + PsiWhiteSpace(' ')(7674,7675) + PsiTypeQLElement(type) - Location: (7675,7693)(7675,7693) + PsiTypeQLElement(label) - Location: (7675,7693)(7675,7693) + PsiElement(LABEL_)('threat-actor-types')(7675,7693) + PsiTypeQLElement(annotations_owns) - Location: (7693,7693)(7693,7693) + + PsiElement(',')(',')(7693,7694) + PsiWhiteSpace('\n\n ')(7694,7700) + PsiComment(COMMENT)('# Rel\n')(7700,7706) + PsiWhiteSpace(' ')(7706,7710) + PsiTypeQLPlaysType(type_constraint) - Location: (7710,7733)(7710,7733) + PsiElement('plays')('plays')(7710,7715) + PsiWhiteSpace(' ')(7715,7716) + PsiTypeQLElement(type_scoped) - Location: (7716,7733)(7716,7733) + PsiTypeQLElement(label_scoped) - Location: (7716,7733)(7716,7733) + PsiElement(LABEL_SCOPED_)('targets:targeting')(7716,7733) + PsiElement(',')(',')(7733,7734) + PsiWhiteSpace('\n ')(7734,7739) + PsiTypeQLPlaysType(type_constraint) - Location: (7739,7755)(7739,7755) + PsiElement('plays')('plays')(7739,7744) + PsiWhiteSpace(' ')(7744,7745) + PsiTypeQLElement(type_scoped) - Location: (7745,7755)(7745,7755) + PsiTypeQLElement(label_scoped) - Location: (7745,7755)(7745,7755) + PsiElement(LABEL_SCOPED_)('uses:using')(7745,7755) + PsiElement(',')(',')(7755,7756) + PsiWhiteSpace('\n ')(7756,7761) + PsiTypeQLPlaysType(type_constraint) - Location: (7761,7792)(7761,7792) + PsiElement('plays')('plays')(7761,7766) + PsiWhiteSpace(' ')(7766,7767) + PsiTypeQLElement(type_scoped) - Location: (7767,7792)(7767,7792) + PsiTypeQLElement(label_scoped) - Location: (7767,7792)(7767,7792) + PsiElement(LABEL_SCOPED_)('attributed-to:attributing')(7767,7792) + PsiElement(',')(',')(7792,7793) + PsiWhiteSpace('\n ')(7793,7798) + PsiTypeQLPlaysType(type_constraint) - Location: (7798,7828)(7798,7828) + PsiElement('plays')('plays')(7798,7803) + PsiWhiteSpace(' ')(7803,7804) + PsiTypeQLElement(type_scoped) - Location: (7804,7828)(7804,7828) + PsiTypeQLElement(label_scoped) - Location: (7804,7828)(7804,7828) + PsiElement(LABEL_SCOPED_)('compromises:compromising')(7804,7828) + PsiElement(',')(',')(7828,7829) + PsiWhiteSpace('\n ')(7829,7834) + PsiTypeQLPlaysType(type_constraint) - Location: (7834,7859)(7834,7859) + PsiElement('plays')('plays')(7834,7839) + PsiWhiteSpace(' ')(7839,7840) + PsiTypeQLElement(type_scoped) - Location: (7840,7859)(7840,7859) + PsiTypeQLElement(label_scoped) - Location: (7840,7859)(7840,7859) + PsiElement(LABEL_SCOPED_)('located-at:locating')(7840,7859) + PsiElement(',')(',')(7859,7860) + PsiWhiteSpace('\n ')(7860,7865) + PsiTypeQLPlaysType(type_constraint) - Location: (7865,7897)(7865,7897) + PsiElement('plays')('plays')(7865,7870) + PsiWhiteSpace(' ')(7870,7871) + PsiTypeQLElement(type_scoped) - Location: (7871,7897)(7871,7897) + PsiTypeQLElement(label_scoped) - Location: (7871,7897)(7871,7897) + PsiElement(LABEL_SCOPED_)('impersonates:impersonating')(7871,7897) + PsiElement(',')(',')(7897,7898) + PsiWhiteSpace('\n ')(7898,7903) + PsiTypeQLPlaysType(type_constraint) - Location: (7903,7922)(7903,7922) + PsiElement('plays')('plays')(7903,7908) + PsiWhiteSpace(' ')(7908,7909) + PsiTypeQLElement(type_scoped) - Location: (7909,7922)(7909,7922) + PsiTypeQLElement(label_scoped) - Location: (7909,7922)(7909,7922) + PsiElement(LABEL_SCOPED_)('hosts:hosting')(7909,7922) + PsiElement(',')(',')(7922,7923) + PsiWhiteSpace('\n ')(7923,7928) + PsiTypeQLPlaysType(type_constraint) - Location: (7928,7951)(7928,7951) + PsiElement('plays')('plays')(7928,7933) + PsiWhiteSpace(' ')(7933,7934) + PsiTypeQLElement(type_scoped) - Location: (7934,7951)(7934,7951) + PsiTypeQLElement(label_scoped) - Location: (7934,7951)(7934,7951) + PsiElement(LABEL_SCOPED_)('ownerships:owning')(7934,7951) + PsiElement(',')(',')(7951,7952) + PsiWhiteSpace('\n\n ')(7952,7958) + PsiComment(COMMENT)('# RRel\n')(7958,7965) + PsiWhiteSpace(' ')(7965,7969) + PsiTypeQLPlaysType(type_constraint) - Location: (7969,7999)(7969,7999) + PsiElement('plays')('plays')(7969,7974) + PsiWhiteSpace(' ')(7974,7975) + PsiTypeQLElement(type_scoped) - Location: (7975,7999)(7975,7999) + PsiTypeQLElement(label_scoped) - Location: (7975,7999)(7975,7999) + PsiElement(LABEL_SCOPED_)('attributed-to:attributed')(7975,7999) + PsiElement(',')(',')(7999,8000) + PsiWhiteSpace('\n ')(8000,8005) + PsiTypeQLPlaysType(type_constraint) - Location: (8005,8030)(8005,8030) + PsiElement('plays')('plays')(8005,8010) + PsiWhiteSpace(' ')(8010,8011) + PsiTypeQLElement(type_scoped) - Location: (8011,8030)(8011,8030) + PsiTypeQLElement(label_scoped) - Location: (8011,8030)(8011,8030) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(8011,8030) + PsiElement(',')(',')(8030,8031) + PsiWhiteSpace('\n ')(8031,8036) + PsiTypeQLPlaysType(type_constraint) - Location: (8036,8062)(8036,8062) + PsiElement('plays')('plays')(8036,8041) + PsiWhiteSpace(' ')(8041,8042) + PsiTypeQLElement(type_scoped) - Location: (8042,8062)(8042,8062) + PsiTypeQLElement(label_scoped) - Location: (8042,8062)(8042,8062) + PsiElement(LABEL_SCOPED_)('authored-by:authored')(8042,8062) + PsiElement(';')(';')(8062,8063) + PsiWhiteSpace('\n\n')(8063,8065) + PsiTypeQLElement(definable) - Location: (8065,8550)(8065,8550) + PsiTypeQLStatementType(statement_type) - Location: (8065,8550)(8065,8550) + PsiTypeQLElement(type_any) - Location: (8065,8069)(8065,8069) + PsiTypeQLType(type) - Name: tool - Location: (8065,8069)(8065,8069) + PsiTypeQLElement(label) - Location: (8065,8069)(8065,8069) + PsiElement(LABEL_)('tool')(8065,8069) + PsiWhiteSpace(' ')(8069,8070) + PsiTypeQLSubType(type_constraint) - Location: (8070,8092)(8070,8092) + PsiElement(SUB_)('sub')(8070,8073) + PsiWhiteSpace(' ')(8073,8074) + PsiTypeQLElement(type_any) - Location: (8074,8092)(8074,8092) + PsiTypeQLElement(type) - Location: (8074,8092)(8074,8092) + PsiTypeQLElement(label) - Location: (8074,8092)(8074,8092) + PsiElement(LABEL_)('stix-domain-object')(8074,8092) + PsiElement(',')(',')(8092,8093) + PsiWhiteSpace('\n ')(8093,8098) + PsiTypeQLOwnsType(type_constraint) - Location: (8098,8107)(8098,8107) + PsiElement('owns')('owns')(8098,8102) + PsiWhiteSpace(' ')(8102,8103) + PsiTypeQLElement(type) - Location: (8103,8107)(8103,8107) + PsiTypeQLElement(label) - Location: (8103,8107)(8103,8107) + PsiElement(LABEL_)('name')(8103,8107) + PsiTypeQLElement(annotations_owns) - Location: (8107,8107)(8107,8107) + + PsiElement(',')(',')(8107,8108) + PsiWhiteSpace('\n ')(8108,8113) + PsiTypeQLOwnsType(type_constraint) - Location: (8113,8129)(8113,8129) + PsiElement('owns')('owns')(8113,8117) + PsiWhiteSpace(' ')(8117,8118) + PsiTypeQLElement(type) - Location: (8118,8129)(8118,8129) + PsiTypeQLElement(label) - Location: (8118,8129)(8118,8129) + PsiElement(LABEL_)('description')(8118,8129) + PsiTypeQLElement(annotations_owns) - Location: (8129,8129)(8129,8129) + + PsiElement(',')(',')(8129,8130) + PsiWhiteSpace('\n ')(8130,8135) + PsiTypeQLOwnsType(type_constraint) - Location: (8135,8150)(8135,8150) + PsiElement('owns')('owns')(8135,8139) + PsiWhiteSpace(' ')(8139,8140) + PsiTypeQLElement(type) - Location: (8140,8150)(8140,8150) + PsiTypeQLElement(label) - Location: (8140,8150)(8140,8150) + PsiElement(LABEL_)('tool-types')(8140,8150) + PsiTypeQLElement(annotations_owns) - Location: (8150,8150)(8150,8150) + + PsiElement(',')(',')(8150,8151) + PsiWhiteSpace('\n ')(8151,8156) + PsiTypeQLOwnsType(type_constraint) - Location: (8156,8168)(8156,8168) + PsiElement('owns')('owns')(8156,8160) + PsiWhiteSpace(' ')(8160,8161) + PsiTypeQLElement(type) - Location: (8161,8168)(8161,8168) + PsiTypeQLElement(label) - Location: (8161,8168)(8161,8168) + PsiElement(LABEL_)('aliases')(8161,8168) + PsiTypeQLElement(annotations_owns) - Location: (8168,8168)(8168,8168) + + PsiElement(',')(',')(8168,8169) + PsiWhiteSpace('\n ')(8169,8174) + PsiTypeQLOwnsType(type_constraint) - Location: (8174,8189)(8174,8189) + PsiElement('owns')('owns')(8174,8178) + PsiWhiteSpace(' ')(8178,8179) + PsiTypeQLElement(type) - Location: (8179,8189)(8179,8189) + PsiTypeQLElement(label) - Location: (8179,8189)(8179,8189) + PsiElement(LABEL_)('first-seen')(8179,8189) + PsiTypeQLElement(annotations_owns) - Location: (8189,8189)(8189,8189) + + PsiElement(',')(',')(8189,8190) + PsiWhiteSpace('\n ')(8190,8195) + PsiTypeQLOwnsType(type_constraint) - Location: (8195,8209)(8195,8209) + PsiElement('owns')('owns')(8195,8199) + PsiWhiteSpace(' ')(8199,8200) + PsiTypeQLElement(type) - Location: (8200,8209)(8200,8209) + PsiTypeQLElement(label) - Location: (8200,8209)(8200,8209) + PsiElement(LABEL_)('last-seen')(8200,8209) + PsiTypeQLElement(annotations_owns) - Location: (8209,8209)(8209,8209) + + PsiElement(',')(',')(8209,8210) + PsiWhiteSpace('\n ')(8210,8215) + PsiTypeQLOwnsType(type_constraint) - Location: (8215,8232)(8215,8232) + PsiElement('owns')('owns')(8215,8219) + PsiWhiteSpace(' ')(8219,8220) + PsiTypeQLElement(type) - Location: (8220,8232)(8220,8232) + PsiTypeQLElement(label) - Location: (8220,8232)(8220,8232) + PsiElement(LABEL_)('tool-version')(8220,8232) + PsiTypeQLElement(annotations_owns) - Location: (8232,8232)(8232,8232) + + PsiElement(',')(',')(8232,8233) + PsiWhiteSpace('\n\n ')(8233,8239) + PsiComment(COMMENT)('# Rel\n')(8239,8245) + PsiWhiteSpace(' ')(8245,8249) + PsiTypeQLPlaysType(type_constraint) - Location: (8249,8274)(8249,8274) + PsiElement('plays')('plays')(8249,8254) + PsiWhiteSpace(' ')(8254,8255) + PsiTypeQLElement(type_scoped) - Location: (8255,8274)(8255,8274) + PsiTypeQLElement(label_scoped) - Location: (8255,8274)(8255,8274) + PsiElement(LABEL_SCOPED_)('delivers:delivering')(8255,8274) + PsiElement(',')(',')(8274,8275) + PsiWhiteSpace('\n ')(8275,8280) + PsiTypeQLPlaysType(type_constraint) - Location: (8280,8303)(8280,8303) + PsiElement('plays')('plays')(8280,8285) + PsiWhiteSpace(' ')(8285,8286) + PsiTypeQLElement(type_scoped) - Location: (8286,8303)(8286,8303) + PsiTypeQLElement(label_scoped) - Location: (8286,8303)(8286,8303) + PsiElement(LABEL_SCOPED_)('targets:targeting')(8286,8303) + PsiElement(',')(',')(8303,8304) + PsiWhiteSpace('\n ')(8304,8309) + PsiTypeQLPlaysType(type_constraint) - Location: (8309,8325)(8309,8325) + PsiElement('plays')('plays')(8309,8314) + PsiWhiteSpace(' ')(8314,8315) + PsiTypeQLElement(type_scoped) - Location: (8315,8325)(8315,8325) + PsiTypeQLElement(label_scoped) - Location: (8315,8325)(8315,8325) + PsiElement(LABEL_SCOPED_)('uses:using')(8315,8325) + PsiElement(',')(',')(8325,8326) + PsiWhiteSpace('\n ')(8326,8331) + PsiTypeQLPlaysType(type_constraint) - Location: (8331,8348)(8331,8348) + PsiElement('plays')('plays')(8331,8336) + PsiWhiteSpace(' ')(8336,8337) + PsiTypeQLElement(type_scoped) - Location: (8337,8348)(8337,8348) + PsiTypeQLElement(label_scoped) - Location: (8337,8348)(8337,8348) + PsiElement(LABEL_SCOPED_)('have:having')(8337,8348) + PsiElement(',')(',')(8348,8349) + PsiWhiteSpace('\n ')(8349,8354) + PsiTypeQLPlaysType(type_constraint) - Location: (8354,8374)(8354,8374) + PsiElement('plays')('plays')(8354,8359) + PsiWhiteSpace(' ')(8359,8360) + PsiTypeQLElement(type_scoped) - Location: (8360,8374)(8360,8374) + PsiTypeQLElement(label_scoped) - Location: (8360,8374)(8360,8374) + PsiElement(LABEL_SCOPED_)('drops:dropping')(8360,8374) + PsiElement(',')(',')(8374,8375) + PsiWhiteSpace('\n\n ')(8375,8381) + PsiComment(COMMENT)('# RRel\n')(8381,8388) + PsiWhiteSpace(' ')(8388,8392) + PsiTypeQLPlaysType(type_constraint) - Location: (8392,8407)(8392,8407) + PsiElement('plays')('plays')(8392,8397) + PsiWhiteSpace(' ')(8397,8398) + PsiTypeQLElement(type_scoped) - Location: (8398,8407)(8398,8407) + PsiTypeQLElement(label_scoped) - Location: (8398,8407)(8398,8407) + PsiElement(LABEL_SCOPED_)('uses:used')(8398,8407) + PsiElement(',')(',')(8407,8408) + PsiWhiteSpace('\n ')(8408,8413) + PsiTypeQLPlaysType(type_constraint) - Location: (8413,8438)(8413,8438) + PsiElement('plays')('plays')(8413,8418) + PsiWhiteSpace(' ')(8418,8419) + PsiTypeQLElement(type_scoped) - Location: (8419,8438)(8419,8438) + PsiTypeQLElement(label_scoped) - Location: (8419,8438)(8419,8438) + PsiElement(LABEL_SCOPED_)('indicates:indicated')(8419,8438) + PsiElement(',')(',')(8438,8439) + PsiWhiteSpace('\n ')(8439,8444) + PsiTypeQLPlaysType(type_constraint) - Location: (8444,8469)(8444,8469) + PsiElement('plays')('plays')(8444,8449) + PsiWhiteSpace(' ')(8449,8450) + PsiTypeQLElement(type_scoped) - Location: (8450,8469)(8450,8469) + PsiTypeQLElement(label_scoped) - Location: (8450,8469)(8450,8469) + PsiElement(LABEL_SCOPED_)('mitigates:mitigated')(8450,8469) + PsiElement(',')(',')(8469,8470) + PsiWhiteSpace('\n ')(8470,8475) + PsiTypeQLPlaysType(type_constraint) - Location: (8475,8493)(8475,8493) + PsiElement('plays')('plays')(8475,8480) + PsiWhiteSpace(' ')(8480,8481) + PsiTypeQLElement(type_scoped) - Location: (8481,8493)(8481,8493) + PsiTypeQLElement(label_scoped) - Location: (8481,8493)(8481,8493) + PsiElement(LABEL_SCOPED_)('hosts:hosted')(8481,8493) + PsiElement(',')(',')(8493,8494) + PsiWhiteSpace('\n ')(8494,8499) + PsiTypeQLPlaysType(type_constraint) - Location: (8499,8525)(8499,8525) + PsiElement('plays')('plays')(8499,8504) + PsiWhiteSpace(' ')(8504,8505) + PsiTypeQLElement(type_scoped) - Location: (8505,8525)(8505,8525) + PsiTypeQLElement(label_scoped) - Location: (8505,8525)(8505,8525) + PsiElement(LABEL_SCOPED_)('downloads:downloaded')(8505,8525) + PsiElement(',')(',')(8525,8526) + PsiWhiteSpace('\n ')(8526,8531) + PsiTypeQLPlaysType(type_constraint) - Location: (8531,8550)(8531,8550) + PsiElement('plays')('plays')(8531,8536) + PsiWhiteSpace(' ')(8536,8537) + PsiTypeQLElement(type_scoped) - Location: (8537,8550)(8537,8550) + PsiTypeQLElement(label_scoped) - Location: (8537,8550)(8537,8550) + PsiElement(LABEL_SCOPED_)('drops:dropped')(8537,8550) + PsiElement(';')(';')(8550,8551) + PsiWhiteSpace('\n\n')(8551,8553) + PsiTypeQLElement(definable) - Location: (8553,8862)(8553,8862) + PsiTypeQLStatementType(statement_type) - Location: (8553,8862)(8553,8862) + PsiTypeQLElement(type_any) - Location: (8553,8566)(8553,8566) + PsiTypeQLType(type) - Name: custom-object - Location: (8553,8566)(8553,8566) + PsiTypeQLElement(label) - Location: (8553,8566)(8553,8566) + PsiElement(LABEL_)('custom-object')(8553,8566) + PsiWhiteSpace(' ')(8566,8567) + PsiTypeQLSubType(type_constraint) - Location: (8567,8589)(8567,8589) + PsiElement(SUB_)('sub')(8567,8570) + PsiWhiteSpace(' ')(8570,8571) + PsiTypeQLElement(type_any) - Location: (8571,8589)(8571,8589) + PsiTypeQLElement(type) - Location: (8571,8589)(8571,8589) + PsiTypeQLElement(label) - Location: (8571,8589)(8571,8589) + PsiElement(LABEL_)('stix-domain-object')(8571,8589) + PsiElement(',')(',')(8589,8590) + PsiWhiteSpace('\n ')(8590,8595) + PsiTypeQLOwnsType(type_constraint) - Location: (8595,8604)(8595,8604) + PsiElement('owns')('owns')(8595,8599) + PsiWhiteSpace(' ')(8599,8600) + PsiTypeQLElement(type) - Location: (8600,8604)(8600,8604) + PsiTypeQLElement(label) - Location: (8600,8604)(8600,8604) + PsiElement(LABEL_)('name')(8600,8604) + PsiTypeQLElement(annotations_owns) - Location: (8604,8604)(8604,8604) + + PsiElement(',')(',')(8604,8605) + PsiWhiteSpace('\n ')(8605,8610) + PsiTypeQLOwnsType(type_constraint) - Location: (8610,8626)(8610,8626) + PsiElement('owns')('owns')(8610,8614) + PsiWhiteSpace(' ')(8614,8615) + PsiTypeQLElement(type) - Location: (8615,8626)(8615,8626) + PsiTypeQLElement(label) - Location: (8615,8626)(8615,8626) + PsiElement(LABEL_)('description')(8615,8626) + PsiTypeQLElement(annotations_owns) - Location: (8626,8626)(8626,8626) + + PsiElement(',')(',')(8626,8627) + PsiWhiteSpace('\n ')(8627,8632) + PsiTypeQLOwnsType(type_constraint) - Location: (8632,8644)(8632,8644) + PsiElement('owns')('owns')(8632,8636) + PsiWhiteSpace(' ')(8636,8637) + PsiTypeQLElement(type) - Location: (8637,8644)(8637,8644) + PsiTypeQLElement(label) - Location: (8637,8644)(8637,8644) + PsiElement(LABEL_)('aliases')(8637,8644) + PsiTypeQLElement(annotations_owns) - Location: (8644,8644)(8644,8644) + + PsiElement(',')(',')(8644,8645) + PsiWhiteSpace('\n ')(8645,8650) + PsiTypeQLOwnsType(type_constraint) - Location: (8650,8665)(8650,8665) + PsiElement('owns')('owns')(8650,8654) + PsiWhiteSpace(' ')(8654,8655) + PsiTypeQLElement(type) - Location: (8655,8665)(8655,8665) + PsiTypeQLElement(label) - Location: (8655,8665)(8655,8665) + PsiElement(LABEL_)('first-seen')(8655,8665) + PsiTypeQLElement(annotations_owns) - Location: (8665,8665)(8665,8665) + + PsiElement(',')(',')(8665,8666) + PsiWhiteSpace('\n ')(8666,8671) + PsiTypeQLOwnsType(type_constraint) - Location: (8671,8685)(8671,8685) + PsiElement('owns')('owns')(8671,8675) + PsiWhiteSpace(' ')(8675,8676) + PsiTypeQLElement(type) - Location: (8676,8685)(8676,8685) + PsiTypeQLElement(label) - Location: (8676,8685)(8676,8685) + PsiElement(LABEL_)('last-seen')(8676,8685) + PsiTypeQLElement(annotations_owns) - Location: (8685,8685)(8685,8685) + + PsiElement(',')(',')(8685,8686) + PsiWhiteSpace('\n ')(8686,8691) + PsiTypeQLOwnsType(type_constraint) - Location: (8691,8705)(8691,8705) + PsiElement('owns')('owns')(8691,8695) + PsiWhiteSpace(' ')(8695,8696) + PsiTypeQLElement(type) - Location: (8696,8705)(8696,8705) + PsiTypeQLElement(label) - Location: (8696,8705)(8696,8705) + PsiElement(LABEL_)('objective')(8696,8705) + PsiTypeQLElement(annotations_owns) - Location: (8705,8705)(8705,8705) + + PsiElement(',')(',')(8705,8706) + PsiWhiteSpace('\n\n ')(8706,8712) + PsiComment(COMMENT)('# Rel\n')(8712,8718) + PsiWhiteSpace(' ')(8718,8722) + PsiTypeQLPlaysType(type_constraint) - Location: (8722,8747)(8722,8747) + PsiElement('plays')('plays')(8722,8727) + PsiWhiteSpace(' ')(8727,8728) + PsiTypeQLElement(type_scoped) - Location: (8728,8747)(8728,8747) + PsiTypeQLElement(label_scoped) - Location: (8728,8747)(8728,8747) + PsiElement(LABEL_SCOPED_)('delivers:delivering')(8728,8747) + PsiElement(',')(',')(8747,8748) + PsiWhiteSpace('\n ')(8748,8753) + PsiTypeQLPlaysType(type_constraint) - Location: (8753,8776)(8753,8776) + PsiElement('plays')('plays')(8753,8758) + PsiWhiteSpace(' ')(8758,8759) + PsiTypeQLElement(type_scoped) - Location: (8759,8776)(8759,8776) + PsiTypeQLElement(label_scoped) - Location: (8759,8776)(8759,8776) + PsiElement(LABEL_SCOPED_)('targets:targeting')(8759,8776) + PsiElement(',')(',')(8776,8777) + PsiWhiteSpace('\n ')(8777,8782) + PsiTypeQLPlaysType(type_constraint) - Location: (8782,8798)(8782,8798) + PsiElement('plays')('plays')(8782,8787) + PsiWhiteSpace(' ')(8787,8788) + PsiTypeQLElement(type_scoped) - Location: (8788,8798)(8788,8798) + PsiTypeQLElement(label_scoped) - Location: (8788,8798)(8788,8798) + PsiElement(LABEL_SCOPED_)('uses:using')(8788,8798) + PsiElement(',')(',')(8798,8799) + PsiWhiteSpace('\n\n ')(8799,8805) + PsiComment(COMMENT)('# RRel\n')(8805,8812) + PsiWhiteSpace(' ')(8812,8816) + PsiTypeQLPlaysType(type_constraint) - Location: (8816,8831)(8816,8831) + PsiElement('plays')('plays')(8816,8821) + PsiWhiteSpace(' ')(8821,8822) + PsiTypeQLElement(type_scoped) - Location: (8822,8831)(8822,8831) + PsiTypeQLElement(label_scoped) - Location: (8822,8831)(8822,8831) + PsiElement(LABEL_SCOPED_)('uses:used')(8822,8831) + PsiElement(',')(',')(8831,8832) + PsiWhiteSpace('\n ')(8832,8837) + PsiTypeQLPlaysType(type_constraint) - Location: (8837,8862)(8837,8862) + PsiElement('plays')('plays')(8837,8842) + PsiWhiteSpace(' ')(8842,8843) + PsiTypeQLElement(type_scoped) - Location: (8843,8862)(8843,8862) + PsiTypeQLElement(label_scoped) - Location: (8843,8862)(8843,8862) + PsiElement(LABEL_SCOPED_)('mitigates:mitigated')(8843,8862) + PsiElement(';')(';')(8862,8863) + PsiWhiteSpace('\n\n')(8863,8865) + PsiTypeQLElement(definable) - Location: (8865,9092)(8865,9092) + PsiTypeQLStatementType(statement_type) - Location: (8865,9092)(8865,9092) + PsiTypeQLElement(type_any) - Location: (8865,8878)(8865,8878) + PsiTypeQLType(type) - Name: vulnerability - Location: (8865,8878)(8865,8878) + PsiTypeQLElement(label) - Location: (8865,8878)(8865,8878) + PsiElement(LABEL_)('vulnerability')(8865,8878) + PsiWhiteSpace(' ')(8878,8879) + PsiTypeQLSubType(type_constraint) - Location: (8879,8901)(8879,8901) + PsiElement(SUB_)('sub')(8879,8882) + PsiWhiteSpace(' ')(8882,8883) + PsiTypeQLElement(type_any) - Location: (8883,8901)(8883,8901) + PsiTypeQLElement(type) - Location: (8883,8901)(8883,8901) + PsiTypeQLElement(label) - Location: (8883,8901)(8883,8901) + PsiElement(LABEL_)('stix-domain-object')(8883,8901) + PsiElement(',')(',')(8901,8902) + PsiWhiteSpace('\n ')(8902,8907) + PsiTypeQLOwnsType(type_constraint) - Location: (8907,8916)(8907,8916) + PsiElement('owns')('owns')(8907,8911) + PsiWhiteSpace(' ')(8911,8912) + PsiTypeQLElement(type) - Location: (8912,8916)(8912,8916) + PsiTypeQLElement(label) - Location: (8912,8916)(8912,8916) + PsiElement(LABEL_)('name')(8912,8916) + PsiTypeQLElement(annotations_owns) - Location: (8916,8916)(8916,8916) + + PsiElement(',')(',')(8916,8917) + PsiWhiteSpace('\n ')(8917,8922) + PsiTypeQLOwnsType(type_constraint) - Location: (8922,8938)(8922,8938) + PsiElement('owns')('owns')(8922,8926) + PsiWhiteSpace(' ')(8926,8927) + PsiTypeQLElement(type) - Location: (8927,8938)(8927,8938) + PsiTypeQLElement(label) - Location: (8927,8938)(8927,8938) + PsiElement(LABEL_)('description')(8927,8938) + PsiTypeQLElement(annotations_owns) - Location: (8938,8938)(8938,8938) + + PsiElement(',')(',')(8938,8939) + PsiWhiteSpace('\n\n ')(8939,8945) + PsiComment(COMMENT)('# RRel\n')(8945,8952) + PsiWhiteSpace(' ')(8952,8956) + PsiTypeQLPlaysType(type_constraint) - Location: (8956,8978)(8956,8978) + PsiElement('plays')('plays')(8956,8961) + PsiWhiteSpace(' ')(8961,8962) + PsiTypeQLElement(type_scoped) - Location: (8962,8978)(8962,8978) + PsiTypeQLElement(label_scoped) - Location: (8962,8978)(8962,8978) + PsiElement(LABEL_SCOPED_)('targets:targeted')(8962,8978) + PsiElement(',')(',')(8978,8979) + PsiWhiteSpace('\n ')(8979,8984) + PsiTypeQLPlaysType(type_constraint) - Location: (8984,9009)(8984,9009) + PsiElement('plays')('plays')(8984,8989) + PsiWhiteSpace(' ')(8989,8990) + PsiTypeQLElement(type_scoped) - Location: (8990,9009)(8990,9009) + PsiTypeQLElement(label_scoped) - Location: (8990,9009)(8990,9009) + PsiElement(LABEL_SCOPED_)('mitigates:mitigated')(8990,9009) + PsiElement(',')(',')(9009,9010) + PsiWhiteSpace('\n ')(9010,9015) + PsiTypeQLPlaysType(type_constraint) - Location: (9015,9042)(9015,9042) + PsiElement('plays')('plays')(9015,9020) + PsiWhiteSpace(' ')(9020,9021) + PsiTypeQLElement(type_scoped) - Location: (9021,9042)(9021,9042) + PsiTypeQLElement(label_scoped) - Location: (9021,9042)(9021,9042) + PsiElement(LABEL_SCOPED_)('remediates:remediated')(9021,9042) + PsiElement(',')(',')(9042,9043) + PsiWhiteSpace('\n ')(9043,9048) + PsiTypeQLPlaysType(type_constraint) - Location: (9048,9062)(9048,9062) + PsiElement('plays')('plays')(9048,9053) + PsiWhiteSpace(' ')(9053,9054) + PsiTypeQLElement(type_scoped) - Location: (9054,9062)(9054,9062) + PsiTypeQLElement(label_scoped) - Location: (9054,9062)(9054,9062) + PsiElement(LABEL_SCOPED_)('have:had')(9054,9062) + PsiElement(',')(',')(9062,9063) + PsiWhiteSpace('\n ')(9063,9068) + PsiTypeQLPlaysType(type_constraint) - Location: (9068,9092)(9068,9092) + PsiElement('plays')('plays')(9068,9073) + PsiWhiteSpace(' ')(9073,9074) + PsiTypeQLElement(type_scoped) - Location: (9074,9092)(9074,9092) + PsiTypeQLElement(label_scoped) - Location: (9074,9092)(9074,9092) + PsiElement(LABEL_SCOPED_)('exploits:exploited')(9074,9092) + PsiElement(';')(';')(9092,9093) + PsiWhiteSpace('\n\n')(9093,9095) + PsiComment(COMMENT)('### 5 SROs ###\n')(9095,9110) + PsiTypeQLElement(definable) - Location: (9110,9550)(9110,9550) + PsiTypeQLStatementType(statement_type) - Location: (9110,9550)(9110,9550) + PsiTypeQLElement(type_any) - Location: (9110,9132)(9110,9132) + PsiTypeQLType(type) - Name: stix-core-relationship - Location: (9110,9132)(9110,9132) + PsiTypeQLElement(label) - Location: (9110,9132)(9110,9132) + PsiElement(LABEL_)('stix-core-relationship')(9110,9132) + PsiWhiteSpace(' ')(9132,9133) + PsiTypeQLElement(type_constraint) - Location: (9133,9145)(9133,9145) + PsiElement(SUB_)('sub')(9133,9136) + PsiWhiteSpace(' ')(9136,9137) + PsiTypeQLElement(type_any) - Location: (9137,9145)(9137,9145) + PsiTypeQLElement(type) - Location: (9137,9145)(9137,9145) + PsiTypeQLElement(label) - Location: (9137,9145)(9137,9145) + PsiTypeQLElement(type_native) - Location: (9137,9145)(9137,9145) + PsiElement('relation')('relation')(9137,9145) + PsiElement(',')(',')(9145,9146) + PsiWhiteSpace('\n ')(9146,9151) + PsiComment(COMMENT)('# Required\n')(9151,9162) + PsiWhiteSpace(' ')(9162,9166) + PsiTypeQLOwnsType(type_constraint) - Location: (9166,9183)(9166,9183) + PsiElement('owns')('owns')(9166,9170) + PsiWhiteSpace(' ')(9170,9171) + PsiTypeQLElement(type) - Location: (9171,9183)(9171,9183) + PsiTypeQLElement(label) - Location: (9171,9183)(9171,9183) + PsiElement(LABEL_)('spec-version')(9171,9183) + PsiTypeQLElement(annotations_owns) - Location: (9183,9183)(9183,9183) + + PsiElement(',')(',')(9183,9184) + PsiWhiteSpace('\n ')(9184,9189) + PsiTypeQLOwnsType(type_constraint) - Location: (9189,9206)(9189,9206) + PsiElement('owns')('owns')(9189,9193) + PsiWhiteSpace(' ')(9193,9194) + PsiTypeQLElement(type) - Location: (9194,9201)(9194,9201) + PsiTypeQLElement(label) - Location: (9194,9201)(9194,9201) + PsiElement(LABEL_)('stix-id')(9194,9201) + PsiWhiteSpace(' ')(9201,9202) + PsiTypeQLElement(annotations_owns) - Location: (9202,9206)(9202,9206) + PsiElement('@key')('@key')(9202,9206) + PsiElement(',')(',')(9206,9207) + PsiWhiteSpace('\n ')(9207,9212) + PsiTypeQLOwnsType(type_constraint) - Location: (9212,9224)(9212,9224) + PsiElement('owns')('owns')(9212,9216) + PsiWhiteSpace(' ')(9216,9217) + PsiTypeQLElement(type) - Location: (9217,9224)(9217,9224) + PsiTypeQLElement(label) - Location: (9217,9224)(9217,9224) + PsiElement(LABEL_)('created')(9217,9224) + PsiTypeQLElement(annotations_owns) - Location: (9224,9224)(9224,9224) + + PsiElement(',')(',')(9224,9225) + PsiWhiteSpace('\n ')(9225,9230) + PsiTypeQLOwnsType(type_constraint) - Location: (9230,9243)(9230,9243) + PsiElement('owns')('owns')(9230,9234) + PsiWhiteSpace(' ')(9234,9235) + PsiTypeQLElement(type) - Location: (9235,9243)(9235,9243) + PsiTypeQLElement(label) - Location: (9235,9243)(9235,9243) + PsiElement(LABEL_)('modified')(9235,9243) + PsiTypeQLElement(annotations_owns) - Location: (9243,9243)(9243,9243) + + PsiElement(',')(',')(9243,9244) + PsiWhiteSpace('\n ')(9244,9249) + PsiTypeQLOwnsType(type_constraint) - Location: (9249,9263)(9249,9263) + PsiElement('owns')('owns')(9249,9253) + PsiWhiteSpace(' ')(9253,9254) + PsiTypeQLElement(type) - Location: (9254,9263)(9254,9263) + PsiTypeQLElement(label) - Location: (9254,9263)(9254,9263) + PsiElement(LABEL_)('stix-type')(9254,9263) + PsiTypeQLElement(annotations_owns) - Location: (9263,9263)(9263,9263) + + PsiElement(',')(',')(9263,9264) + PsiWhiteSpace('\n\n ')(9264,9270) + PsiComment(COMMENT)('# Optional\n')(9270,9281) + PsiWhiteSpace(' ')(9281,9285) + PsiTypeQLOwnsType(type_constraint) - Location: (9285,9301)(9285,9301) + PsiElement('owns')('owns')(9285,9289) + PsiWhiteSpace(' ')(9289,9290) + PsiTypeQLElement(type) - Location: (9290,9301)(9290,9301) + PsiTypeQLElement(label) - Location: (9290,9301)(9290,9301) + PsiElement(LABEL_)('description')(9290,9301) + PsiTypeQLElement(annotations_owns) - Location: (9301,9301)(9301,9301) + + PsiElement(',')(',')(9301,9302) + PsiWhiteSpace('\n ')(9302,9307) + PsiTypeQLOwnsType(type_constraint) - Location: (9307,9319)(9307,9319) + PsiElement('owns')('owns')(9307,9311) + PsiWhiteSpace(' ')(9311,9312) + PsiTypeQLElement(type) - Location: (9312,9319)(9312,9319) + PsiTypeQLElement(label) - Location: (9312,9319)(9312,9319) + PsiElement(LABEL_)('revoked')(9312,9319) + PsiTypeQLElement(annotations_owns) - Location: (9319,9319)(9319,9319) + + PsiElement(',')(',')(9319,9320) + PsiWhiteSpace('\n ')(9320,9325) + PsiTypeQLOwnsType(type_constraint) - Location: (9325,9336)(9325,9336) + PsiElement('owns')('owns')(9325,9329) + PsiWhiteSpace(' ')(9329,9330) + PsiTypeQLElement(type) - Location: (9330,9336)(9330,9336) + PsiTypeQLElement(label) - Location: (9330,9336)(9330,9336) + PsiElement(LABEL_)('labels')(9330,9336) + PsiTypeQLElement(annotations_owns) - Location: (9336,9336)(9336,9336) + + PsiElement(',')(',')(9336,9337) + PsiWhiteSpace('\n ')(9337,9342) + PsiTypeQLOwnsType(type_constraint) - Location: (9342,9357)(9342,9357) + PsiElement('owns')('owns')(9342,9346) + PsiWhiteSpace(' ')(9346,9347) + PsiTypeQLElement(type) - Location: (9347,9357)(9347,9357) + PsiTypeQLElement(label) - Location: (9347,9357)(9347,9357) + PsiElement(LABEL_)('confidence')(9347,9357) + PsiTypeQLElement(annotations_owns) - Location: (9357,9357)(9357,9357) + + PsiElement(',')(',')(9357,9358) + PsiWhiteSpace('\n ')(9358,9363) + PsiTypeQLOwnsType(type_constraint) - Location: (9363,9373)(9363,9373) + PsiElement('owns')('owns')(9363,9367) + PsiWhiteSpace(' ')(9367,9368) + PsiTypeQLElement(type) - Location: (9368,9373)(9368,9373) + PsiTypeQLElement(label) - Location: (9368,9373)(9368,9373) + PsiElement(LABEL_)('langs')(9368,9373) + PsiTypeQLElement(annotations_owns) - Location: (9373,9373)(9373,9373) + + PsiElement(',')(',')(9373,9374) + PsiWhiteSpace('\n ')(9374,9379) + PsiTypeQLOwnsType(type_constraint) - Location: (9379,9400)(9379,9400) + PsiElement('owns')('owns')(9379,9383) + PsiWhiteSpace(' ')(9383,9384) + PsiTypeQLElement(type) - Location: (9384,9400)(9384,9400) + PsiTypeQLElement(label) - Location: (9384,9400)(9384,9400) + PsiElement(LABEL_)('custom-attribute')(9384,9400) + PsiTypeQLElement(annotations_owns) - Location: (9400,9400)(9400,9400) + + PsiElement(',')(',')(9400,9401) + PsiWhiteSpace('\n\n ')(9401,9407) + PsiTypeQLRelatesType(type_constraint) - Name: source - Location: (9407,9421)(9407,9421) + PsiElement('relates')('relates')(9407,9414) + PsiWhiteSpace(' ')(9414,9415) + PsiTypeQLElement(type) - Location: (9415,9421)(9415,9421) + PsiTypeQLElement(label) - Location: (9415,9421)(9415,9421) + PsiElement(LABEL_)('source')(9415,9421) + PsiElement(',')(',')(9421,9422) + PsiWhiteSpace('\n ')(9422,9427) + PsiTypeQLRelatesType(type_constraint) - Name: target - Location: (9427,9441)(9427,9441) + PsiElement('relates')('relates')(9427,9434) + PsiWhiteSpace(' ')(9434,9435) + PsiTypeQLElement(type) - Location: (9435,9441)(9435,9441) + PsiTypeQLElement(label) - Location: (9435,9441)(9435,9441) + PsiElement(LABEL_)('target')(9435,9441) + PsiElement(',')(',')(9441,9442) + PsiWhiteSpace('\n\n ')(9442,9448) + PsiTypeQLPlaysType(type_constraint) - Location: (9448,9472)(9448,9472) + PsiElement('plays')('plays')(9448,9453) + PsiWhiteSpace(' ')(9453,9454) + PsiTypeQLElement(type_scoped) - Location: (9454,9472)(9454,9472) + PsiTypeQLElement(label_scoped) - Location: (9454,9472)(9454,9472) + PsiElement(LABEL_SCOPED_)('created-by:created')(9454,9472) + PsiElement(',')(',')(9472,9473) + PsiWhiteSpace('\n ')(9473,9478) + PsiTypeQLPlaysType(type_constraint) - Location: (9478,9508)(9478,9508) + PsiElement('plays')('plays')(9478,9483) + PsiWhiteSpace(' ')(9483,9484) + PsiTypeQLElement(type_scoped) - Location: (9484,9508)(9484,9508) + PsiTypeQLElement(label_scoped) - Location: (9484,9508)(9484,9508) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(9484,9508) + PsiElement(',')(',')(9508,9509) + PsiWhiteSpace('\n ')(9509,9514) + PsiTypeQLPlaysType(type_constraint) - Location: (9514,9550)(9514,9550) + PsiElement('plays')('plays')(9514,9519) + PsiWhiteSpace(' ')(9519,9520) + PsiTypeQLElement(type_scoped) - Location: (9520,9550)(9520,9550) + PsiTypeQLElement(label_scoped) - Location: (9520,9550)(9520,9550) + PsiElement(LABEL_SCOPED_)('external-references:referenced')(9520,9550) + PsiElement(';')(';')(9550,9551) + PsiWhiteSpace('\n\n')(9551,9553) + PsiTypeQLElement(definable) - Location: (9553,9655)(9553,9655) + PsiTypeQLStatementType(statement_type) - Location: (9553,9655)(9553,9655) + PsiTypeQLElement(type_any) - Location: (9553,9561)(9553,9561) + PsiTypeQLType(type) - Name: delivers - Location: (9553,9561)(9553,9561) + PsiTypeQLElement(label) - Location: (9553,9561)(9553,9561) + PsiElement(LABEL_)('delivers')(9553,9561) + PsiWhiteSpace(' ')(9561,9562) + PsiTypeQLSubType(type_constraint) - Location: (9562,9588)(9562,9588) + PsiElement(SUB_)('sub')(9562,9565) + PsiWhiteSpace(' ')(9565,9566) + PsiTypeQLElement(type_any) - Location: (9566,9588)(9566,9588) + PsiTypeQLElement(type) - Location: (9566,9588)(9566,9588) + PsiTypeQLElement(label) - Location: (9566,9588)(9566,9588) + PsiElement(LABEL_)('stix-core-relationship')(9566,9588) + PsiElement(',')(',')(9588,9589) + PsiWhiteSpace('\n ')(9589,9594) + PsiTypeQLRelatesType(type_constraint) - Name: delivering - Location: (9594,9612)(9594,9622) + PsiElement('relates')('relates')(9594,9601) + PsiWhiteSpace(' ')(9601,9602) + PsiTypeQLElement(type) - Location: (9602,9612)(9602,9612) + PsiTypeQLElement(label) - Location: (9602,9612)(9602,9612) + PsiElement(LABEL_)('delivering')(9602,9612) + PsiWhiteSpace(' ')(9612,9613) + PsiElement('as')('as')(9613,9615) + PsiWhiteSpace(' ')(9615,9616) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9616,9622)(9616,9622) + PsiTypeQLElement(label) - Location: (9616,9622)(9616,9622) + PsiElement(LABEL_)('source')(9616,9622) + PsiElement(',')(',')(9622,9623) + PsiWhiteSpace('\n ')(9623,9628) + PsiTypeQLRelatesType(type_constraint) - Name: delivered - Location: (9628,9645)(9628,9655) + PsiElement('relates')('relates')(9628,9635) + PsiWhiteSpace(' ')(9635,9636) + PsiTypeQLElement(type) - Location: (9636,9645)(9636,9645) + PsiTypeQLElement(label) - Location: (9636,9645)(9636,9645) + PsiElement(LABEL_)('delivered')(9636,9645) + PsiWhiteSpace(' ')(9645,9646) + PsiElement('as')('as')(9646,9648) + PsiWhiteSpace(' ')(9648,9649) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9649,9655)(9649,9655) + PsiTypeQLElement(label) - Location: (9649,9655)(9649,9655) + PsiElement(LABEL_)('target')(9649,9655) + PsiElement(';')(';')(9655,9656) + PsiWhiteSpace('\n\n')(9656,9658) + PsiTypeQLElement(definable) - Location: (9658,9757)(9658,9757) + PsiTypeQLStatementType(statement_type) - Location: (9658,9757)(9658,9757) + PsiTypeQLElement(type_any) - Location: (9658,9665)(9658,9665) + PsiTypeQLType(type) - Name: targets - Location: (9658,9665)(9658,9665) + PsiTypeQLElement(label) - Location: (9658,9665)(9658,9665) + PsiElement(LABEL_)('targets')(9658,9665) + PsiWhiteSpace(' ')(9665,9666) + PsiTypeQLSubType(type_constraint) - Location: (9666,9692)(9666,9692) + PsiElement(SUB_)('sub')(9666,9669) + PsiWhiteSpace(' ')(9669,9670) + PsiTypeQLElement(type_any) - Location: (9670,9692)(9670,9692) + PsiTypeQLElement(type) - Location: (9670,9692)(9670,9692) + PsiTypeQLElement(label) - Location: (9670,9692)(9670,9692) + PsiElement(LABEL_)('stix-core-relationship')(9670,9692) + PsiElement(',')(',')(9692,9693) + PsiWhiteSpace('\n ')(9693,9698) + PsiTypeQLRelatesType(type_constraint) - Name: targeting - Location: (9698,9715)(9698,9725) + PsiElement('relates')('relates')(9698,9705) + PsiWhiteSpace(' ')(9705,9706) + PsiTypeQLElement(type) - Location: (9706,9715)(9706,9715) + PsiTypeQLElement(label) - Location: (9706,9715)(9706,9715) + PsiElement(LABEL_)('targeting')(9706,9715) + PsiWhiteSpace(' ')(9715,9716) + PsiElement('as')('as')(9716,9718) + PsiWhiteSpace(' ')(9718,9719) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9719,9725)(9719,9725) + PsiTypeQLElement(label) - Location: (9719,9725)(9719,9725) + PsiElement(LABEL_)('source')(9719,9725) + PsiElement(',')(',')(9725,9726) + PsiWhiteSpace('\n ')(9726,9731) + PsiTypeQLRelatesType(type_constraint) - Name: targeted - Location: (9731,9747)(9731,9757) + PsiElement('relates')('relates')(9731,9738) + PsiWhiteSpace(' ')(9738,9739) + PsiTypeQLElement(type) - Location: (9739,9747)(9739,9747) + PsiTypeQLElement(label) - Location: (9739,9747)(9739,9747) + PsiElement(LABEL_)('targeted')(9739,9747) + PsiWhiteSpace(' ')(9747,9748) + PsiElement('as')('as')(9748,9750) + PsiWhiteSpace(' ')(9750,9751) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9751,9757)(9751,9757) + PsiTypeQLElement(label) - Location: (9751,9757)(9751,9757) + PsiElement(LABEL_)('target')(9751,9757) + PsiElement(';')(';')(9757,9758) + PsiWhiteSpace('\n\n')(9758,9760) + PsiTypeQLElement(definable) - Location: (9760,9869)(9760,9869) + PsiTypeQLStatementType(statement_type) - Location: (9760,9869)(9760,9869) + PsiTypeQLElement(type_any) - Location: (9760,9773)(9760,9773) + PsiTypeQLType(type) - Name: attributed-to - Location: (9760,9773)(9760,9773) + PsiTypeQLElement(label) - Location: (9760,9773)(9760,9773) + PsiElement(LABEL_)('attributed-to')(9760,9773) + PsiWhiteSpace(' ')(9773,9774) + PsiTypeQLSubType(type_constraint) - Location: (9774,9800)(9774,9800) + PsiElement(SUB_)('sub')(9774,9777) + PsiWhiteSpace(' ')(9777,9778) + PsiTypeQLElement(type_any) - Location: (9778,9800)(9778,9800) + PsiTypeQLElement(type) - Location: (9778,9800)(9778,9800) + PsiTypeQLElement(label) - Location: (9778,9800)(9778,9800) + PsiElement(LABEL_)('stix-core-relationship')(9778,9800) + PsiElement(',')(',')(9800,9801) + PsiWhiteSpace('\n ')(9801,9806) + PsiTypeQLRelatesType(type_constraint) - Name: attributing - Location: (9806,9825)(9806,9835) + PsiElement('relates')('relates')(9806,9813) + PsiWhiteSpace(' ')(9813,9814) + PsiTypeQLElement(type) - Location: (9814,9825)(9814,9825) + PsiTypeQLElement(label) - Location: (9814,9825)(9814,9825) + PsiElement(LABEL_)('attributing')(9814,9825) + PsiWhiteSpace(' ')(9825,9826) + PsiElement('as')('as')(9826,9828) + PsiWhiteSpace(' ')(9828,9829) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9829,9835)(9829,9835) + PsiTypeQLElement(label) - Location: (9829,9835)(9829,9835) + PsiElement(LABEL_)('source')(9829,9835) + PsiElement(',')(',')(9835,9836) + PsiWhiteSpace('\n ')(9836,9841) + PsiTypeQLRelatesType(type_constraint) - Name: attributed - Location: (9841,9859)(9841,9869) + PsiElement('relates')('relates')(9841,9848) + PsiWhiteSpace(' ')(9848,9849) + PsiTypeQLElement(type) - Location: (9849,9859)(9849,9859) + PsiTypeQLElement(label) - Location: (9849,9859)(9849,9859) + PsiElement(LABEL_)('attributed')(9849,9859) + PsiWhiteSpace(' ')(9859,9860) + PsiElement('as')('as')(9860,9862) + PsiWhiteSpace(' ')(9862,9863) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9863,9869)(9863,9869) + PsiTypeQLElement(label) - Location: (9863,9869)(9863,9869) + PsiElement(LABEL_)('target')(9863,9869) + PsiElement(';')(';')(9869,9870) + PsiWhiteSpace('\n\n')(9870,9872) + PsiTypeQLElement(definable) - Location: (9872,9960)(9872,9960) + PsiTypeQLStatementType(statement_type) - Location: (9872,9960)(9872,9960) + PsiTypeQLElement(type_any) - Location: (9872,9876)(9872,9876) + PsiTypeQLType(type) - Name: uses - Location: (9872,9876)(9872,9876) + PsiTypeQLElement(label) - Location: (9872,9876)(9872,9876) + PsiElement(LABEL_)('uses')(9872,9876) + PsiWhiteSpace(' ')(9876,9877) + PsiTypeQLSubType(type_constraint) - Location: (9877,9903)(9877,9903) + PsiElement(SUB_)('sub')(9877,9880) + PsiWhiteSpace(' ')(9880,9881) + PsiTypeQLElement(type_any) - Location: (9881,9903)(9881,9903) + PsiTypeQLElement(type) - Location: (9881,9903)(9881,9903) + PsiTypeQLElement(label) - Location: (9881,9903)(9881,9903) + PsiElement(LABEL_)('stix-core-relationship')(9881,9903) + PsiElement(',')(',')(9903,9904) + PsiWhiteSpace('\n ')(9904,9909) + PsiTypeQLRelatesType(type_constraint) - Name: using - Location: (9909,9922)(9909,9932) + PsiElement('relates')('relates')(9909,9916) + PsiWhiteSpace(' ')(9916,9917) + PsiTypeQLElement(type) - Location: (9917,9922)(9917,9922) + PsiTypeQLElement(label) - Location: (9917,9922)(9917,9922) + PsiElement(LABEL_)('using')(9917,9922) + PsiWhiteSpace(' ')(9922,9923) + PsiElement('as')('as')(9923,9925) + PsiWhiteSpace(' ')(9925,9926) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9926,9932)(9926,9932) + PsiTypeQLElement(label) - Location: (9926,9932)(9926,9932) + PsiElement(LABEL_)('source')(9926,9932) + PsiElement(',')(',')(9932,9933) + PsiWhiteSpace('\n ')(9933,9938) + PsiTypeQLRelatesType(type_constraint) - Name: used - Location: (9938,9950)(9938,9960) + PsiElement('relates')('relates')(9938,9945) + PsiWhiteSpace(' ')(9945,9946) + PsiTypeQLElement(type) - Location: (9946,9950)(9946,9950) + PsiTypeQLElement(label) - Location: (9946,9950)(9946,9950) + PsiElement(LABEL_)('used')(9946,9950) + PsiWhiteSpace(' ')(9950,9951) + PsiElement('as')('as')(9951,9953) + PsiWhiteSpace(' ')(9953,9954) + PsiTypeQLRelatesAsOverrideType(type) - Location: (9954,9960)(9954,9960) + PsiTypeQLElement(label) - Location: (9954,9960)(9954,9960) + PsiElement(LABEL_)('target')(9954,9960) + PsiElement(';')(';')(9960,9961) + PsiWhiteSpace('\n\n')(9961,9963) + PsiTypeQLElement(definable) - Location: (9963,10066)(9963,10066) + PsiTypeQLStatementType(statement_type) - Location: (9963,10066)(9963,10066) + PsiTypeQLElement(type_any) - Location: (9963,9972)(9963,9972) + PsiTypeQLType(type) - Name: indicates - Location: (9963,9972)(9963,9972) + PsiTypeQLElement(label) - Location: (9963,9972)(9963,9972) + PsiElement(LABEL_)('indicates')(9963,9972) + PsiWhiteSpace(' ')(9972,9973) + PsiTypeQLSubType(type_constraint) - Location: (9973,9999)(9973,9999) + PsiElement(SUB_)('sub')(9973,9976) + PsiWhiteSpace(' ')(9976,9977) + PsiTypeQLElement(type_any) - Location: (9977,9999)(9977,9999) + PsiTypeQLElement(type) - Location: (9977,9999)(9977,9999) + PsiTypeQLElement(label) - Location: (9977,9999)(9977,9999) + PsiElement(LABEL_)('stix-core-relationship')(9977,9999) + PsiElement(',')(',')(9999,10000) + PsiWhiteSpace('\n ')(10000,10005) + PsiTypeQLRelatesType(type_constraint) - Name: indicating - Location: (10005,10023)(10005,10033) + PsiElement('relates')('relates')(10005,10012) + PsiWhiteSpace(' ')(10012,10013) + PsiTypeQLElement(type) - Location: (10013,10023)(10013,10023) + PsiTypeQLElement(label) - Location: (10013,10023)(10013,10023) + PsiElement(LABEL_)('indicating')(10013,10023) + PsiWhiteSpace(' ')(10023,10024) + PsiElement('as')('as')(10024,10026) + PsiWhiteSpace(' ')(10026,10027) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10027,10033)(10027,10033) + PsiTypeQLElement(label) - Location: (10027,10033)(10027,10033) + PsiElement(LABEL_)('source')(10027,10033) + PsiElement(',')(',')(10033,10034) + PsiWhiteSpace('\n ')(10034,10039) + PsiTypeQLRelatesType(type_constraint) - Name: indicated - Location: (10039,10056)(10039,10066) + PsiElement('relates')('relates')(10039,10046) + PsiWhiteSpace(' ')(10046,10047) + PsiTypeQLElement(type) - Location: (10047,10056)(10047,10056) + PsiTypeQLElement(label) - Location: (10047,10056)(10047,10056) + PsiElement(LABEL_)('indicated')(10047,10056) + PsiWhiteSpace(' ')(10056,10057) + PsiElement('as')('as')(10057,10059) + PsiWhiteSpace(' ')(10059,10060) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10060,10066)(10060,10066) + PsiTypeQLElement(label) - Location: (10060,10066)(10060,10066) + PsiElement(LABEL_)('target')(10060,10066) + PsiElement(';')(';')(10066,10067) + PsiWhiteSpace('\n\n')(10067,10069) + PsiTypeQLElement(definable) - Location: (10069,10178)(10069,10178) + PsiTypeQLStatementType(statement_type) - Location: (10069,10178)(10069,10178) + PsiTypeQLElement(type_any) - Location: (10069,10080)(10069,10080) + PsiTypeQLType(type) - Name: compromises - Location: (10069,10080)(10069,10080) + PsiTypeQLElement(label) - Location: (10069,10080)(10069,10080) + PsiElement(LABEL_)('compromises')(10069,10080) + PsiWhiteSpace(' ')(10080,10081) + PsiTypeQLSubType(type_constraint) - Location: (10081,10107)(10081,10107) + PsiElement(SUB_)('sub')(10081,10084) + PsiWhiteSpace(' ')(10084,10085) + PsiTypeQLElement(type_any) - Location: (10085,10107)(10085,10107) + PsiTypeQLElement(type) - Location: (10085,10107)(10085,10107) + PsiTypeQLElement(label) - Location: (10085,10107)(10085,10107) + PsiElement(LABEL_)('stix-core-relationship')(10085,10107) + PsiElement(',')(',')(10107,10108) + PsiWhiteSpace('\n ')(10108,10113) + PsiTypeQLRelatesType(type_constraint) - Name: compromising - Location: (10113,10133)(10113,10143) + PsiElement('relates')('relates')(10113,10120) + PsiWhiteSpace(' ')(10120,10121) + PsiTypeQLElement(type) - Location: (10121,10133)(10121,10133) + PsiTypeQLElement(label) - Location: (10121,10133)(10121,10133) + PsiElement(LABEL_)('compromising')(10121,10133) + PsiWhiteSpace(' ')(10133,10134) + PsiElement('as')('as')(10134,10136) + PsiWhiteSpace(' ')(10136,10137) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10137,10143)(10137,10143) + PsiTypeQLElement(label) - Location: (10137,10143)(10137,10143) + PsiElement(LABEL_)('source')(10137,10143) + PsiElement(',')(',')(10143,10144) + PsiWhiteSpace('\n ')(10144,10149) + PsiTypeQLRelatesType(type_constraint) - Name: compromised - Location: (10149,10168)(10149,10178) + PsiElement('relates')('relates')(10149,10156) + PsiWhiteSpace(' ')(10156,10157) + PsiTypeQLElement(type) - Location: (10157,10168)(10157,10168) + PsiTypeQLElement(label) - Location: (10157,10168)(10157,10168) + PsiElement(LABEL_)('compromised')(10157,10168) + PsiWhiteSpace(' ')(10168,10169) + PsiElement('as')('as')(10169,10171) + PsiWhiteSpace(' ')(10171,10172) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10172,10178)(10172,10178) + PsiTypeQLElement(label) - Location: (10172,10178)(10172,10178) + PsiElement(LABEL_)('target')(10172,10178) + PsiElement(';')(';')(10178,10179) + PsiWhiteSpace('\n\n')(10179,10181) + PsiTypeQLElement(definable) - Location: (10181,10292)(10181,10292) + PsiTypeQLStatementType(statement_type) - Location: (10181,10292)(10181,10292) + PsiTypeQLElement(type_any) - Location: (10181,10196)(10181,10196) + PsiTypeQLType(type) - Name: originates-from - Location: (10181,10196)(10181,10196) + PsiTypeQLElement(label) - Location: (10181,10196)(10181,10196) + PsiElement(LABEL_)('originates-from')(10181,10196) + PsiWhiteSpace(' ')(10196,10197) + PsiTypeQLSubType(type_constraint) - Location: (10197,10223)(10197,10223) + PsiElement(SUB_)('sub')(10197,10200) + PsiWhiteSpace(' ')(10200,10201) + PsiTypeQLElement(type_any) - Location: (10201,10223)(10201,10223) + PsiTypeQLElement(type) - Location: (10201,10223)(10201,10223) + PsiTypeQLElement(label) - Location: (10201,10223)(10201,10223) + PsiElement(LABEL_)('stix-core-relationship')(10201,10223) + PsiElement(',')(',')(10223,10224) + PsiWhiteSpace('\n ')(10224,10229) + PsiTypeQLRelatesType(type_constraint) - Name: originating - Location: (10229,10248)(10229,10258) + PsiElement('relates')('relates')(10229,10236) + PsiWhiteSpace(' ')(10236,10237) + PsiTypeQLElement(type) - Location: (10237,10248)(10237,10248) + PsiTypeQLElement(label) - Location: (10237,10248)(10237,10248) + PsiElement(LABEL_)('originating')(10237,10248) + PsiWhiteSpace(' ')(10248,10249) + PsiElement('as')('as')(10249,10251) + PsiWhiteSpace(' ')(10251,10252) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10252,10258)(10252,10258) + PsiTypeQLElement(label) - Location: (10252,10258)(10252,10258) + PsiElement(LABEL_)('source')(10252,10258) + PsiElement(',')(',')(10258,10259) + PsiWhiteSpace('\n ')(10259,10264) + PsiTypeQLRelatesType(type_constraint) - Name: originated - Location: (10264,10282)(10264,10292) + PsiElement('relates')('relates')(10264,10271) + PsiWhiteSpace(' ')(10271,10272) + PsiTypeQLElement(type) - Location: (10272,10282)(10272,10282) + PsiTypeQLElement(label) - Location: (10272,10282)(10272,10282) + PsiElement(LABEL_)('originated')(10272,10282) + PsiWhiteSpace(' ')(10282,10283) + PsiElement('as')('as')(10283,10285) + PsiWhiteSpace(' ')(10285,10286) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10286,10292)(10286,10292) + PsiTypeQLElement(label) - Location: (10286,10292)(10286,10292) + PsiElement(LABEL_)('target')(10286,10292) + PsiElement(';')(';')(10292,10293) + PsiWhiteSpace('\n\n')(10293,10295) + PsiTypeQLElement(definable) - Location: (10295,10407)(10295,10407) + PsiTypeQLStatementType(statement_type) - Location: (10295,10407)(10295,10407) + PsiTypeQLElement(type_any) - Location: (10295,10307)(10295,10307) + PsiTypeQLType(type) - Name: investigates - Location: (10295,10307)(10295,10307) + PsiTypeQLElement(label) - Location: (10295,10307)(10295,10307) + PsiElement(LABEL_)('investigates')(10295,10307) + PsiWhiteSpace(' ')(10307,10308) + PsiTypeQLSubType(type_constraint) - Location: (10308,10334)(10308,10334) + PsiElement(SUB_)('sub')(10308,10311) + PsiWhiteSpace(' ')(10311,10312) + PsiTypeQLElement(type_any) - Location: (10312,10334)(10312,10334) + PsiTypeQLElement(type) - Location: (10312,10334)(10312,10334) + PsiTypeQLElement(label) - Location: (10312,10334)(10312,10334) + PsiElement(LABEL_)('stix-core-relationship')(10312,10334) + PsiElement(',')(',')(10334,10335) + PsiWhiteSpace('\n ')(10335,10340) + PsiTypeQLRelatesType(type_constraint) - Name: investigating - Location: (10340,10361)(10340,10371) + PsiElement('relates')('relates')(10340,10347) + PsiWhiteSpace(' ')(10347,10348) + PsiTypeQLElement(type) - Location: (10348,10361)(10348,10361) + PsiTypeQLElement(label) - Location: (10348,10361)(10348,10361) + PsiElement(LABEL_)('investigating')(10348,10361) + PsiWhiteSpace(' ')(10361,10362) + PsiElement('as')('as')(10362,10364) + PsiWhiteSpace(' ')(10364,10365) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10365,10371)(10365,10371) + PsiTypeQLElement(label) - Location: (10365,10371)(10365,10371) + PsiElement(LABEL_)('source')(10365,10371) + PsiElement(',')(',')(10371,10372) + PsiWhiteSpace('\n ')(10372,10377) + PsiTypeQLRelatesType(type_constraint) - Name: investigated - Location: (10377,10397)(10377,10407) + PsiElement('relates')('relates')(10377,10384) + PsiWhiteSpace(' ')(10384,10385) + PsiTypeQLElement(type) - Location: (10385,10397)(10385,10397) + PsiTypeQLElement(label) - Location: (10385,10397)(10385,10397) + PsiElement(LABEL_)('investigated')(10385,10397) + PsiWhiteSpace(' ')(10397,10398) + PsiElement('as')('as')(10398,10400) + PsiWhiteSpace(' ')(10400,10401) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10401,10407)(10401,10407) + PsiTypeQLElement(label) - Location: (10401,10407)(10401,10407) + PsiElement(LABEL_)('target')(10401,10407) + PsiElement(';')(';')(10407,10408) + PsiWhiteSpace('\n\n')(10408,10410) + PsiTypeQLElement(definable) - Location: (10410,10513)(10410,10513) + PsiTypeQLStatementType(statement_type) - Location: (10410,10513)(10410,10513) + PsiTypeQLElement(type_any) - Location: (10410,10419)(10410,10419) + PsiTypeQLType(type) - Name: mitigates - Location: (10410,10419)(10410,10419) + PsiTypeQLElement(label) - Location: (10410,10419)(10410,10419) + PsiElement(LABEL_)('mitigates')(10410,10419) + PsiWhiteSpace(' ')(10419,10420) + PsiTypeQLSubType(type_constraint) - Location: (10420,10446)(10420,10446) + PsiElement(SUB_)('sub')(10420,10423) + PsiWhiteSpace(' ')(10423,10424) + PsiTypeQLElement(type_any) - Location: (10424,10446)(10424,10446) + PsiTypeQLElement(type) - Location: (10424,10446)(10424,10446) + PsiTypeQLElement(label) - Location: (10424,10446)(10424,10446) + PsiElement(LABEL_)('stix-core-relationship')(10424,10446) + PsiElement(',')(',')(10446,10447) + PsiWhiteSpace('\n ')(10447,10452) + PsiTypeQLRelatesType(type_constraint) - Name: mitigating - Location: (10452,10470)(10452,10480) + PsiElement('relates')('relates')(10452,10459) + PsiWhiteSpace(' ')(10459,10460) + PsiTypeQLElement(type) - Location: (10460,10470)(10460,10470) + PsiTypeQLElement(label) - Location: (10460,10470)(10460,10470) + PsiElement(LABEL_)('mitigating')(10460,10470) + PsiWhiteSpace(' ')(10470,10471) + PsiElement('as')('as')(10471,10473) + PsiWhiteSpace(' ')(10473,10474) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10474,10480)(10474,10480) + PsiTypeQLElement(label) - Location: (10474,10480)(10474,10480) + PsiElement(LABEL_)('source')(10474,10480) + PsiElement(',')(',')(10480,10481) + PsiWhiteSpace('\n ')(10481,10486) + PsiTypeQLRelatesType(type_constraint) - Name: mitigated - Location: (10486,10503)(10486,10513) + PsiElement('relates')('relates')(10486,10493) + PsiWhiteSpace(' ')(10493,10494) + PsiTypeQLElement(type) - Location: (10494,10503)(10494,10503) + PsiTypeQLElement(label) - Location: (10494,10503)(10494,10503) + PsiElement(LABEL_)('mitigated')(10494,10503) + PsiWhiteSpace(' ')(10503,10504) + PsiElement('as')('as')(10504,10506) + PsiWhiteSpace(' ')(10506,10507) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10507,10513)(10507,10513) + PsiTypeQLElement(label) - Location: (10507,10513)(10507,10513) + PsiElement(LABEL_)('target')(10507,10513) + PsiElement(';')(';')(10513,10514) + PsiWhiteSpace('\n\n')(10514,10516) + PsiTypeQLElement(definable) - Location: (10516,10622)(10516,10622) + PsiTypeQLStatementType(statement_type) - Location: (10516,10622)(10516,10622) + PsiTypeQLElement(type_any) - Location: (10516,10526)(10516,10526) + PsiTypeQLType(type) - Name: remediates - Location: (10516,10526)(10516,10526) + PsiTypeQLElement(label) - Location: (10516,10526)(10516,10526) + PsiElement(LABEL_)('remediates')(10516,10526) + PsiWhiteSpace(' ')(10526,10527) + PsiTypeQLSubType(type_constraint) - Location: (10527,10553)(10527,10553) + PsiElement(SUB_)('sub')(10527,10530) + PsiWhiteSpace(' ')(10530,10531) + PsiTypeQLElement(type_any) - Location: (10531,10553)(10531,10553) + PsiTypeQLElement(type) - Location: (10531,10553)(10531,10553) + PsiTypeQLElement(label) - Location: (10531,10553)(10531,10553) + PsiElement(LABEL_)('stix-core-relationship')(10531,10553) + PsiElement(',')(',')(10553,10554) + PsiWhiteSpace('\n ')(10554,10559) + PsiTypeQLRelatesType(type_constraint) - Name: remediating - Location: (10559,10578)(10559,10588) + PsiElement('relates')('relates')(10559,10566) + PsiWhiteSpace(' ')(10566,10567) + PsiTypeQLElement(type) - Location: (10567,10578)(10567,10578) + PsiTypeQLElement(label) - Location: (10567,10578)(10567,10578) + PsiElement(LABEL_)('remediating')(10567,10578) + PsiWhiteSpace(' ')(10578,10579) + PsiElement('as')('as')(10579,10581) + PsiWhiteSpace(' ')(10581,10582) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10582,10588)(10582,10588) + PsiTypeQLElement(label) - Location: (10582,10588)(10582,10588) + PsiElement(LABEL_)('source')(10582,10588) + PsiElement(',')(',')(10588,10589) + PsiWhiteSpace('\n ')(10589,10594) + PsiTypeQLRelatesType(type_constraint) - Name: remediated - Location: (10594,10612)(10594,10622) + PsiElement('relates')('relates')(10594,10601) + PsiWhiteSpace(' ')(10601,10602) + PsiTypeQLElement(type) - Location: (10602,10612)(10602,10612) + PsiTypeQLElement(label) - Location: (10602,10612)(10602,10612) + PsiElement(LABEL_)('remediated')(10602,10612) + PsiWhiteSpace(' ')(10612,10613) + PsiElement('as')('as')(10613,10615) + PsiWhiteSpace(' ')(10615,10616) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10616,10622)(10616,10622) + PsiTypeQLElement(label) - Location: (10616,10622)(10616,10622) + PsiElement(LABEL_)('target')(10616,10622) + PsiElement(';')(';')(10622,10623) + PsiWhiteSpace('\n\n')(10623,10625) + PsiTypeQLElement(definable) - Location: (10625,10725)(10625,10725) + PsiTypeQLStatementType(statement_type) - Location: (10625,10725)(10625,10725) + PsiTypeQLElement(type_any) - Location: (10625,10635)(10625,10635) + PsiTypeQLType(type) - Name: located-at - Location: (10625,10635)(10625,10635) + PsiTypeQLElement(label) - Location: (10625,10635)(10625,10635) + PsiElement(LABEL_)('located-at')(10625,10635) + PsiWhiteSpace(' ')(10635,10636) + PsiTypeQLSubType(type_constraint) - Location: (10636,10662)(10636,10662) + PsiElement(SUB_)('sub')(10636,10639) + PsiWhiteSpace(' ')(10639,10640) + PsiTypeQLElement(type_any) - Location: (10640,10662)(10640,10662) + PsiTypeQLElement(type) - Location: (10640,10662)(10640,10662) + PsiTypeQLElement(label) - Location: (10640,10662)(10640,10662) + PsiElement(LABEL_)('stix-core-relationship')(10640,10662) + PsiElement(',')(',')(10662,10663) + PsiWhiteSpace('\n ')(10663,10668) + PsiTypeQLRelatesType(type_constraint) - Name: locating - Location: (10668,10684)(10668,10694) + PsiElement('relates')('relates')(10668,10675) + PsiWhiteSpace(' ')(10675,10676) + PsiTypeQLElement(type) - Location: (10676,10684)(10676,10684) + PsiTypeQLElement(label) - Location: (10676,10684)(10676,10684) + PsiElement(LABEL_)('locating')(10676,10684) + PsiWhiteSpace(' ')(10684,10685) + PsiElement('as')('as')(10685,10687) + PsiWhiteSpace(' ')(10687,10688) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10688,10694)(10688,10694) + PsiTypeQLElement(label) - Location: (10688,10694)(10688,10694) + PsiElement(LABEL_)('source')(10688,10694) + PsiElement(',')(',')(10694,10695) + PsiWhiteSpace('\n ')(10695,10700) + PsiTypeQLRelatesType(type_constraint) - Name: located - Location: (10700,10715)(10700,10725) + PsiElement('relates')('relates')(10700,10707) + PsiWhiteSpace(' ')(10707,10708) + PsiTypeQLElement(type) - Location: (10708,10715)(10708,10715) + PsiTypeQLElement(label) - Location: (10708,10715)(10708,10715) + PsiElement(LABEL_)('located')(10708,10715) + PsiWhiteSpace(' ')(10715,10716) + PsiElement('as')('as')(10716,10718) + PsiWhiteSpace(' ')(10718,10719) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10719,10725)(10719,10725) + PsiTypeQLElement(label) - Location: (10719,10725)(10719,10725) + PsiElement(LABEL_)('target')(10719,10725) + PsiElement(';')(';')(10725,10726) + PsiWhiteSpace('\n\n')(10726,10728) + PsiTypeQLElement(definable) - Location: (10728,10840)(10728,10840) + PsiTypeQLStatementType(statement_type) - Location: (10728,10840)(10728,10840) + PsiTypeQLElement(type_any) - Location: (10728,10740)(10728,10740) + PsiTypeQLType(type) - Name: impersonates - Location: (10728,10740)(10728,10740) + PsiTypeQLElement(label) - Location: (10728,10740)(10728,10740) + PsiElement(LABEL_)('impersonates')(10728,10740) + PsiWhiteSpace(' ')(10740,10741) + PsiTypeQLSubType(type_constraint) - Location: (10741,10767)(10741,10767) + PsiElement(SUB_)('sub')(10741,10744) + PsiWhiteSpace(' ')(10744,10745) + PsiTypeQLElement(type_any) - Location: (10745,10767)(10745,10767) + PsiTypeQLElement(type) - Location: (10745,10767)(10745,10767) + PsiTypeQLElement(label) - Location: (10745,10767)(10745,10767) + PsiElement(LABEL_)('stix-core-relationship')(10745,10767) + PsiElement(',')(',')(10767,10768) + PsiWhiteSpace('\n ')(10768,10773) + PsiTypeQLRelatesType(type_constraint) - Name: impersonating - Location: (10773,10794)(10773,10804) + PsiElement('relates')('relates')(10773,10780) + PsiWhiteSpace(' ')(10780,10781) + PsiTypeQLElement(type) - Location: (10781,10794)(10781,10794) + PsiTypeQLElement(label) - Location: (10781,10794)(10781,10794) + PsiElement(LABEL_)('impersonating')(10781,10794) + PsiWhiteSpace(' ')(10794,10795) + PsiElement('as')('as')(10795,10797) + PsiWhiteSpace(' ')(10797,10798) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10798,10804)(10798,10804) + PsiTypeQLElement(label) - Location: (10798,10804)(10798,10804) + PsiElement(LABEL_)('source')(10798,10804) + PsiElement(',')(',')(10804,10805) + PsiWhiteSpace('\n ')(10805,10810) + PsiTypeQLRelatesType(type_constraint) - Name: impersonated - Location: (10810,10830)(10810,10840) + PsiElement('relates')('relates')(10810,10817) + PsiWhiteSpace(' ')(10817,10818) + PsiTypeQLElement(type) - Location: (10818,10830)(10818,10830) + PsiTypeQLElement(label) - Location: (10818,10830)(10818,10830) + PsiElement(LABEL_)('impersonated')(10818,10830) + PsiWhiteSpace(' ')(10830,10831) + PsiElement('as')('as')(10831,10833) + PsiWhiteSpace(' ')(10833,10834) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10834,10840)(10834,10840) + PsiTypeQLElement(label) - Location: (10834,10840)(10834,10840) + PsiElement(LABEL_)('target')(10834,10840) + PsiElement(';')(';')(10840,10841) + PsiWhiteSpace('\n\n')(10841,10843) + PsiTypeQLElement(definable) - Location: (10843,10937)(10843,10937) + PsiTypeQLStatementType(statement_type) - Location: (10843,10937)(10843,10937) + PsiTypeQLElement(type_any) - Location: (10843,10851)(10843,10851) + PsiTypeQLType(type) - Name: based-on - Location: (10843,10851)(10843,10851) + PsiTypeQLElement(label) - Location: (10843,10851)(10843,10851) + PsiElement(LABEL_)('based-on')(10843,10851) + PsiWhiteSpace(' ')(10851,10852) + PsiTypeQLSubType(type_constraint) - Location: (10852,10878)(10852,10878) + PsiElement(SUB_)('sub')(10852,10855) + PsiWhiteSpace(' ')(10855,10856) + PsiTypeQLElement(type_any) - Location: (10856,10878)(10856,10878) + PsiTypeQLElement(type) - Location: (10856,10878)(10856,10878) + PsiTypeQLElement(label) - Location: (10856,10878)(10856,10878) + PsiElement(LABEL_)('stix-core-relationship')(10856,10878) + PsiElement(',')(',')(10878,10879) + PsiWhiteSpace('\n ')(10879,10884) + PsiTypeQLRelatesType(type_constraint) - Name: basing - Location: (10884,10898)(10884,10908) + PsiElement('relates')('relates')(10884,10891) + PsiWhiteSpace(' ')(10891,10892) + PsiTypeQLElement(type) - Location: (10892,10898)(10892,10898) + PsiTypeQLElement(label) - Location: (10892,10898)(10892,10898) + PsiElement(LABEL_)('basing')(10892,10898) + PsiWhiteSpace(' ')(10898,10899) + PsiElement('as')('as')(10899,10901) + PsiWhiteSpace(' ')(10901,10902) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10902,10908)(10902,10908) + PsiTypeQLElement(label) - Location: (10902,10908)(10902,10908) + PsiElement(LABEL_)('source')(10902,10908) + PsiElement(',')(',')(10908,10909) + PsiWhiteSpace('\n ')(10909,10914) + PsiTypeQLRelatesType(type_constraint) - Name: based - Location: (10914,10927)(10914,10937) + PsiElement('relates')('relates')(10914,10921) + PsiWhiteSpace(' ')(10921,10922) + PsiTypeQLElement(type) - Location: (10922,10927)(10922,10927) + PsiTypeQLElement(label) - Location: (10922,10927)(10922,10927) + PsiElement(LABEL_)('based')(10922,10927) + PsiWhiteSpace(' ')(10927,10928) + PsiElement('as')('as')(10928,10930) + PsiWhiteSpace(' ')(10930,10931) + PsiTypeQLRelatesAsOverrideType(type) - Location: (10931,10937)(10931,10937) + PsiTypeQLElement(label) - Location: (10931,10937)(10931,10937) + PsiElement(LABEL_)('target')(10931,10937) + PsiElement(';')(';')(10937,10938) + PsiWhiteSpace('\n\n')(10938,10940) + PsiTypeQLElement(definable) - Location: (10940,11057)(10940,11057) + PsiTypeQLStatementType(statement_type) - Location: (10940,11057)(10940,11057) + PsiTypeQLElement(type_any) - Location: (10940,10957)(10940,10957) + PsiTypeQLType(type) - Name: communicates-with - Location: (10940,10957)(10940,10957) + PsiTypeQLElement(label) - Location: (10940,10957)(10940,10957) + PsiElement(LABEL_)('communicates-with')(10940,10957) + PsiWhiteSpace(' ')(10957,10958) + PsiTypeQLSubType(type_constraint) - Location: (10958,10984)(10958,10984) + PsiElement(SUB_)('sub')(10958,10961) + PsiWhiteSpace(' ')(10961,10962) + PsiTypeQLElement(type_any) - Location: (10962,10984)(10962,10984) + PsiTypeQLElement(type) - Location: (10962,10984)(10962,10984) + PsiTypeQLElement(label) - Location: (10962,10984)(10962,10984) + PsiElement(LABEL_)('stix-core-relationship')(10962,10984) + PsiElement(',')(',')(10984,10985) + PsiWhiteSpace('\n ')(10985,10990) + PsiTypeQLRelatesType(type_constraint) - Name: communicating - Location: (10990,11011)(10990,11021) + PsiElement('relates')('relates')(10990,10997) + PsiWhiteSpace(' ')(10997,10998) + PsiTypeQLElement(type) - Location: (10998,11011)(10998,11011) + PsiTypeQLElement(label) - Location: (10998,11011)(10998,11011) + PsiElement(LABEL_)('communicating')(10998,11011) + PsiWhiteSpace(' ')(11011,11012) + PsiElement('as')('as')(11012,11014) + PsiWhiteSpace(' ')(11014,11015) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11015,11021)(11015,11021) + PsiTypeQLElement(label) - Location: (11015,11021)(11015,11021) + PsiElement(LABEL_)('source')(11015,11021) + PsiElement(',')(',')(11021,11022) + PsiWhiteSpace('\n ')(11022,11027) + PsiTypeQLRelatesType(type_constraint) - Name: communicated - Location: (11027,11047)(11027,11057) + PsiElement('relates')('relates')(11027,11034) + PsiWhiteSpace(' ')(11034,11035) + PsiTypeQLElement(type) - Location: (11035,11047)(11035,11047) + PsiTypeQLElement(label) - Location: (11035,11047)(11035,11047) + PsiElement(LABEL_)('communicated')(11035,11047) + PsiWhiteSpace(' ')(11047,11048) + PsiElement('as')('as')(11048,11050) + PsiWhiteSpace(' ')(11050,11051) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11051,11057)(11051,11057) + PsiTypeQLElement(label) - Location: (11051,11057)(11051,11057) + PsiElement(LABEL_)('target')(11051,11057) + PsiElement(';')(';')(11057,11058) + PsiWhiteSpace('\n\n')(11058,11060) + PsiTypeQLElement(definable) - Location: (11060,11164)(11060,11164) + PsiTypeQLStatementType(statement_type) - Location: (11060,11164)(11060,11164) + PsiTypeQLElement(type_any) - Location: (11060,11070)(11060,11070) + PsiTypeQLType(type) - Name: consist-of - Location: (11060,11070)(11060,11070) + PsiTypeQLElement(label) - Location: (11060,11070)(11060,11070) + PsiElement(LABEL_)('consist-of')(11060,11070) + PsiWhiteSpace(' ')(11070,11071) + PsiTypeQLSubType(type_constraint) - Location: (11071,11097)(11071,11097) + PsiElement(SUB_)('sub')(11071,11074) + PsiWhiteSpace(' ')(11074,11075) + PsiTypeQLElement(type_any) - Location: (11075,11097)(11075,11097) + PsiTypeQLElement(type) - Location: (11075,11097)(11075,11097) + PsiTypeQLElement(label) - Location: (11075,11097)(11075,11097) + PsiElement(LABEL_)('stix-core-relationship')(11075,11097) + PsiElement(',')(',')(11097,11098) + PsiWhiteSpace('\n ')(11098,11103) + PsiTypeQLRelatesType(type_constraint) - Name: consisting - Location: (11103,11121)(11103,11131) + PsiElement('relates')('relates')(11103,11110) + PsiWhiteSpace(' ')(11110,11111) + PsiTypeQLElement(type) - Location: (11111,11121)(11111,11121) + PsiTypeQLElement(label) - Location: (11111,11121)(11111,11121) + PsiElement(LABEL_)('consisting')(11111,11121) + PsiWhiteSpace(' ')(11121,11122) + PsiElement('as')('as')(11122,11124) + PsiWhiteSpace(' ')(11124,11125) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11125,11131)(11125,11131) + PsiTypeQLElement(label) - Location: (11125,11131)(11125,11131) + PsiElement(LABEL_)('source')(11125,11131) + PsiElement(',')(',')(11131,11132) + PsiWhiteSpace('\n ')(11132,11137) + PsiTypeQLRelatesType(type_constraint) - Name: consisted - Location: (11137,11154)(11137,11164) + PsiElement('relates')('relates')(11137,11144) + PsiWhiteSpace(' ')(11144,11145) + PsiTypeQLElement(type) - Location: (11145,11154)(11145,11154) + PsiTypeQLElement(label) - Location: (11145,11154)(11145,11154) + PsiElement(LABEL_)('consisted')(11145,11154) + PsiWhiteSpace(' ')(11154,11155) + PsiElement('as')('as')(11155,11157) + PsiWhiteSpace(' ')(11157,11158) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11158,11164)(11158,11164) + PsiTypeQLElement(label) - Location: (11158,11164)(11158,11164) + PsiElement(LABEL_)('target')(11158,11164) + PsiElement(';')(';')(11164,11165) + PsiWhiteSpace('\n\n')(11165,11167) + PsiTypeQLElement(definable) - Location: (11167,11271)(11167,11271) + PsiTypeQLStatementType(statement_type) - Location: (11167,11271)(11167,11271) + PsiTypeQLElement(type_any) - Location: (11167,11175)(11167,11175) + PsiTypeQLType(type) - Name: controls - Location: (11167,11175)(11167,11175) + PsiTypeQLElement(label) - Location: (11167,11175)(11167,11175) + PsiElement(LABEL_)('controls')(11167,11175) + PsiWhiteSpace(' ')(11175,11176) + PsiTypeQLSubType(type_constraint) - Location: (11176,11202)(11176,11202) + PsiElement(SUB_)('sub')(11176,11179) + PsiWhiteSpace(' ')(11179,11180) + PsiTypeQLElement(type_any) - Location: (11180,11202)(11180,11202) + PsiTypeQLElement(type) - Location: (11180,11202)(11180,11202) + PsiTypeQLElement(label) - Location: (11180,11202)(11180,11202) + PsiElement(LABEL_)('stix-core-relationship')(11180,11202) + PsiElement(',')(',')(11202,11203) + PsiWhiteSpace('\n ')(11203,11208) + PsiTypeQLRelatesType(type_constraint) - Name: controlling - Location: (11208,11227)(11208,11237) + PsiElement('relates')('relates')(11208,11215) + PsiWhiteSpace(' ')(11215,11216) + PsiTypeQLElement(type) - Location: (11216,11227)(11216,11227) + PsiTypeQLElement(label) - Location: (11216,11227)(11216,11227) + PsiElement(LABEL_)('controlling')(11216,11227) + PsiWhiteSpace(' ')(11227,11228) + PsiElement('as')('as')(11228,11230) + PsiWhiteSpace(' ')(11230,11231) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11231,11237)(11231,11237) + PsiTypeQLElement(label) - Location: (11231,11237)(11231,11237) + PsiElement(LABEL_)('source')(11231,11237) + PsiElement(',')(',')(11237,11238) + PsiWhiteSpace('\n ')(11238,11243) + PsiTypeQLRelatesType(type_constraint) - Name: controlled - Location: (11243,11261)(11243,11271) + PsiElement('relates')('relates')(11243,11250) + PsiWhiteSpace(' ')(11250,11251) + PsiTypeQLElement(type) - Location: (11251,11261)(11251,11261) + PsiTypeQLElement(label) - Location: (11251,11261)(11251,11261) + PsiElement(LABEL_)('controlled')(11251,11261) + PsiWhiteSpace(' ')(11261,11262) + PsiElement('as')('as')(11262,11264) + PsiWhiteSpace(' ')(11264,11265) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11265,11271)(11265,11271) + PsiTypeQLElement(label) - Location: (11265,11271)(11265,11271) + PsiElement(LABEL_)('target')(11265,11271) + PsiElement(';')(';')(11271,11272) + PsiWhiteSpace('\n\n')(11272,11274) + PsiTypeQLElement(definable) - Location: (11274,11362)(11274,11362) + PsiTypeQLStatementType(statement_type) - Location: (11274,11362)(11274,11362) + PsiTypeQLElement(type_any) - Location: (11274,11278)(11274,11278) + PsiTypeQLType(type) - Name: have - Location: (11274,11278)(11274,11278) + PsiTypeQLElement(label) - Location: (11274,11278)(11274,11278) + PsiElement(LABEL_)('have')(11274,11278) + PsiWhiteSpace(' ')(11278,11279) + PsiTypeQLSubType(type_constraint) - Location: (11279,11305)(11279,11305) + PsiElement(SUB_)('sub')(11279,11282) + PsiWhiteSpace(' ')(11282,11283) + PsiTypeQLElement(type_any) - Location: (11283,11305)(11283,11305) + PsiTypeQLElement(type) - Location: (11283,11305)(11283,11305) + PsiTypeQLElement(label) - Location: (11283,11305)(11283,11305) + PsiElement(LABEL_)('stix-core-relationship')(11283,11305) + PsiElement(',')(',')(11305,11306) + PsiWhiteSpace('\n ')(11306,11311) + PsiTypeQLRelatesType(type_constraint) - Name: having - Location: (11311,11325)(11311,11335) + PsiElement('relates')('relates')(11311,11318) + PsiWhiteSpace(' ')(11318,11319) + PsiTypeQLElement(type) - Location: (11319,11325)(11319,11325) + PsiTypeQLElement(label) - Location: (11319,11325)(11319,11325) + PsiElement(LABEL_)('having')(11319,11325) + PsiWhiteSpace(' ')(11325,11326) + PsiElement('as')('as')(11326,11328) + PsiWhiteSpace(' ')(11328,11329) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11329,11335)(11329,11335) + PsiTypeQLElement(label) - Location: (11329,11335)(11329,11335) + PsiElement(LABEL_)('source')(11329,11335) + PsiElement(',')(',')(11335,11336) + PsiWhiteSpace('\n ')(11336,11341) + PsiTypeQLRelatesType(type_constraint) - Name: had - Location: (11341,11352)(11341,11362) + PsiElement('relates')('relates')(11341,11348) + PsiWhiteSpace(' ')(11348,11349) + PsiTypeQLElement(type) - Location: (11349,11352)(11349,11352) + PsiTypeQLElement(label) - Location: (11349,11352)(11349,11352) + PsiElement(LABEL_)('had')(11349,11352) + PsiWhiteSpace(' ')(11352,11353) + PsiElement('as')('as')(11353,11355) + PsiWhiteSpace(' ')(11355,11356) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11356,11362)(11356,11362) + PsiTypeQLElement(label) - Location: (11356,11362)(11356,11362) + PsiElement(LABEL_)('target')(11356,11362) + PsiElement(';')(';')(11362,11363) + PsiWhiteSpace('\n\n')(11363,11365) + PsiTypeQLElement(definable) - Location: (11365,11458)(11365,11458) + PsiTypeQLStatementType(statement_type) - Location: (11365,11458)(11365,11458) + PsiTypeQLElement(type_any) - Location: (11365,11370)(11365,11370) + PsiTypeQLType(type) - Name: hosts - Location: (11365,11370)(11365,11370) + PsiTypeQLElement(label) - Location: (11365,11370)(11365,11370) + PsiElement(LABEL_)('hosts')(11365,11370) + PsiWhiteSpace(' ')(11370,11371) + PsiTypeQLSubType(type_constraint) - Location: (11371,11397)(11371,11397) + PsiElement(SUB_)('sub')(11371,11374) + PsiWhiteSpace(' ')(11374,11375) + PsiTypeQLElement(type_any) - Location: (11375,11397)(11375,11397) + PsiTypeQLElement(type) - Location: (11375,11397)(11375,11397) + PsiTypeQLElement(label) - Location: (11375,11397)(11375,11397) + PsiElement(LABEL_)('stix-core-relationship')(11375,11397) + PsiElement(',')(',')(11397,11398) + PsiWhiteSpace('\n ')(11398,11403) + PsiTypeQLRelatesType(type_constraint) - Name: hosting - Location: (11403,11418)(11403,11428) + PsiElement('relates')('relates')(11403,11410) + PsiWhiteSpace(' ')(11410,11411) + PsiTypeQLElement(type) - Location: (11411,11418)(11411,11418) + PsiTypeQLElement(label) - Location: (11411,11418)(11411,11418) + PsiElement(LABEL_)('hosting')(11411,11418) + PsiWhiteSpace(' ')(11418,11419) + PsiElement('as')('as')(11419,11421) + PsiWhiteSpace(' ')(11421,11422) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11422,11428)(11422,11428) + PsiTypeQLElement(label) - Location: (11422,11428)(11422,11428) + PsiElement(LABEL_)('source')(11422,11428) + PsiElement(',')(',')(11428,11429) + PsiWhiteSpace('\n ')(11429,11434) + PsiTypeQLRelatesType(type_constraint) - Name: hosted - Location: (11434,11448)(11434,11458) + PsiElement('relates')('relates')(11434,11441) + PsiWhiteSpace(' ')(11441,11442) + PsiTypeQLElement(type) - Location: (11442,11448)(11442,11448) + PsiTypeQLElement(label) - Location: (11442,11448)(11442,11448) + PsiElement(LABEL_)('hosted')(11442,11448) + PsiWhiteSpace(' ')(11448,11449) + PsiElement('as')('as')(11449,11451) + PsiWhiteSpace(' ')(11451,11452) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11452,11458)(11452,11458) + PsiTypeQLElement(label) - Location: (11452,11458)(11452,11458) + PsiElement(LABEL_)('target')(11452,11458) + PsiElement(';')(';')(11458,11459) + PsiWhiteSpace('\n\n')(11459,11461) + PsiTypeQLElement(definable) - Location: (11461,11564)(11461,11564) + PsiTypeQLStatementType(statement_type) - Location: (11461,11564)(11461,11564) + PsiTypeQLElement(type_any) - Location: (11461,11472)(11461,11472) + PsiTypeQLType(type) - Name: authored-by - Location: (11461,11472)(11461,11472) + PsiTypeQLElement(label) - Location: (11461,11472)(11461,11472) + PsiElement(LABEL_)('authored-by')(11461,11472) + PsiWhiteSpace(' ')(11472,11473) + PsiTypeQLSubType(type_constraint) - Location: (11473,11499)(11473,11499) + PsiElement(SUB_)('sub')(11473,11476) + PsiWhiteSpace(' ')(11476,11477) + PsiTypeQLElement(type_any) - Location: (11477,11499)(11477,11499) + PsiTypeQLElement(type) - Location: (11477,11499)(11477,11499) + PsiTypeQLElement(label) - Location: (11477,11499)(11477,11499) + PsiElement(LABEL_)('stix-core-relationship')(11477,11499) + PsiElement(',')(',')(11499,11500) + PsiWhiteSpace('\n ')(11500,11505) + PsiTypeQLRelatesType(type_constraint) - Name: authoring - Location: (11505,11522)(11505,11532) + PsiElement('relates')('relates')(11505,11512) + PsiWhiteSpace(' ')(11512,11513) + PsiTypeQLElement(type) - Location: (11513,11522)(11513,11522) + PsiTypeQLElement(label) - Location: (11513,11522)(11513,11522) + PsiElement(LABEL_)('authoring')(11513,11522) + PsiWhiteSpace(' ')(11522,11523) + PsiElement('as')('as')(11523,11525) + PsiWhiteSpace(' ')(11525,11526) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11526,11532)(11526,11532) + PsiTypeQLElement(label) - Location: (11526,11532)(11526,11532) + PsiElement(LABEL_)('source')(11526,11532) + PsiElement(',')(',')(11532,11533) + PsiWhiteSpace('\n ')(11533,11538) + PsiTypeQLRelatesType(type_constraint) - Name: authored - Location: (11538,11554)(11538,11564) + PsiElement('relates')('relates')(11538,11545) + PsiWhiteSpace(' ')(11545,11546) + PsiTypeQLElement(type) - Location: (11546,11554)(11546,11554) + PsiTypeQLElement(label) - Location: (11546,11554)(11546,11554) + PsiElement(LABEL_)('authored')(11546,11554) + PsiWhiteSpace(' ')(11554,11555) + PsiElement('as')('as')(11555,11557) + PsiWhiteSpace(' ')(11557,11558) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11558,11564)(11558,11564) + PsiTypeQLElement(label) - Location: (11558,11564)(11558,11564) + PsiElement(LABEL_)('target')(11558,11564) + PsiElement(';')(';')(11564,11565) + PsiWhiteSpace('\n\n')(11565,11567) + PsiTypeQLElement(definable) - Location: (11567,11675)(11567,11675) + PsiTypeQLStatementType(statement_type) - Location: (11567,11675)(11567,11675) + PsiTypeQLElement(type_any) - Location: (11567,11577)(11567,11577) + PsiTypeQLType(type) - Name: beacons-to - Location: (11567,11577)(11567,11577) + PsiTypeQLElement(label) - Location: (11567,11577)(11567,11577) + PsiElement(LABEL_)('beacons-to')(11567,11577) + PsiWhiteSpace(' ')(11577,11578) + PsiTypeQLSubType(type_constraint) - Location: (11578,11604)(11578,11604) + PsiElement(SUB_)('sub')(11578,11581) + PsiWhiteSpace(' ')(11581,11582) + PsiTypeQLElement(type_any) - Location: (11582,11604)(11582,11604) + PsiTypeQLElement(type) - Location: (11582,11604)(11582,11604) + PsiTypeQLElement(label) - Location: (11582,11604)(11582,11604) + PsiElement(LABEL_)('stix-core-relationship')(11582,11604) + PsiElement(',')(',')(11604,11605) + PsiWhiteSpace('\n ')(11605,11610) + PsiTypeQLRelatesType(type_constraint) - Name: beaconing-to - Location: (11610,11630)(11610,11640) + PsiElement('relates')('relates')(11610,11617) + PsiWhiteSpace(' ')(11617,11618) + PsiTypeQLElement(type) - Location: (11618,11630)(11618,11630) + PsiTypeQLElement(label) - Location: (11618,11630)(11618,11630) + PsiElement(LABEL_)('beaconing-to')(11618,11630) + PsiWhiteSpace(' ')(11630,11631) + PsiElement('as')('as')(11631,11633) + PsiWhiteSpace(' ')(11633,11634) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11634,11640)(11634,11640) + PsiTypeQLElement(label) - Location: (11634,11640)(11634,11640) + PsiElement(LABEL_)('source')(11634,11640) + PsiElement(',')(',')(11640,11641) + PsiWhiteSpace('\n ')(11641,11646) + PsiTypeQLRelatesType(type_constraint) - Name: beaconed-to - Location: (11646,11665)(11646,11675) + PsiElement('relates')('relates')(11646,11653) + PsiWhiteSpace(' ')(11653,11654) + PsiTypeQLElement(type) - Location: (11654,11665)(11654,11665) + PsiTypeQLElement(label) - Location: (11654,11665)(11654,11665) + PsiElement(LABEL_)('beaconed-to')(11654,11665) + PsiWhiteSpace(' ')(11665,11666) + PsiElement('as')('as')(11666,11668) + PsiWhiteSpace(' ')(11668,11669) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11669,11675)(11669,11675) + PsiTypeQLElement(label) - Location: (11669,11675)(11669,11675) + PsiElement(LABEL_)('target')(11669,11675) + PsiElement(';')(';')(11675,11676) + PsiWhiteSpace('\n\n')(11676,11678) + PsiTypeQLElement(definable) - Location: (11678,11796)(11678,11796) + PsiTypeQLStatementType(statement_type) - Location: (11678,11796)(11678,11796) + PsiTypeQLElement(type_any) - Location: (11678,11692)(11678,11692) + PsiTypeQLType(type) - Name: exfiltrates-to - Location: (11678,11692)(11678,11692) + PsiTypeQLElement(label) - Location: (11678,11692)(11678,11692) + PsiElement(LABEL_)('exfiltrates-to')(11678,11692) + PsiWhiteSpace(' ')(11692,11693) + PsiTypeQLSubType(type_constraint) - Location: (11693,11719)(11693,11719) + PsiElement(SUB_)('sub')(11693,11696) + PsiWhiteSpace(' ')(11696,11697) + PsiTypeQLElement(type_any) - Location: (11697,11719)(11697,11719) + PsiTypeQLElement(type) - Location: (11697,11719)(11697,11719) + PsiTypeQLElement(label) - Location: (11697,11719)(11697,11719) + PsiElement(LABEL_)('stix-core-relationship')(11697,11719) + PsiElement(',')(',')(11719,11720) + PsiWhiteSpace('\n ')(11720,11725) + PsiTypeQLRelatesType(type_constraint) - Name: exfiltrating-to - Location: (11725,11748)(11725,11758) + PsiElement('relates')('relates')(11725,11732) + PsiWhiteSpace(' ')(11732,11733) + PsiTypeQLElement(type) - Location: (11733,11748)(11733,11748) + PsiTypeQLElement(label) - Location: (11733,11748)(11733,11748) + PsiElement(LABEL_)('exfiltrating-to')(11733,11748) + PsiWhiteSpace(' ')(11748,11749) + PsiElement('as')('as')(11749,11751) + PsiWhiteSpace(' ')(11751,11752) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11752,11758)(11752,11758) + PsiTypeQLElement(label) - Location: (11752,11758)(11752,11758) + PsiElement(LABEL_)('source')(11752,11758) + PsiElement(',')(',')(11758,11759) + PsiWhiteSpace('\n ')(11759,11764) + PsiTypeQLRelatesType(type_constraint) - Name: exfiltrated-to - Location: (11764,11786)(11764,11796) + PsiElement('relates')('relates')(11764,11771) + PsiWhiteSpace(' ')(11771,11772) + PsiTypeQLElement(type) - Location: (11772,11786)(11772,11786) + PsiTypeQLElement(label) - Location: (11772,11786)(11772,11786) + PsiElement(LABEL_)('exfiltrated-to')(11772,11786) + PsiWhiteSpace(' ')(11786,11787) + PsiElement('as')('as')(11787,11789) + PsiWhiteSpace(' ')(11789,11790) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11790,11796)(11790,11796) + PsiTypeQLElement(label) - Location: (11790,11796)(11790,11796) + PsiElement(LABEL_)('target')(11790,11796) + PsiElement(';')(';')(11796,11797) + PsiWhiteSpace('\n\n')(11797,11799) + PsiTypeQLElement(definable) - Location: (11799,11904)(11799,11904) + PsiTypeQLStatementType(statement_type) - Location: (11799,11904)(11799,11904) + PsiTypeQLElement(type_any) - Location: (11799,11808)(11799,11808) + PsiTypeQLType(type) - Name: downloads - Location: (11799,11808)(11799,11808) + PsiTypeQLElement(label) - Location: (11799,11808)(11799,11808) + PsiElement(LABEL_)('downloads')(11799,11808) + PsiWhiteSpace(' ')(11808,11809) + PsiTypeQLSubType(type_constraint) - Location: (11809,11835)(11809,11835) + PsiElement(SUB_)('sub')(11809,11812) + PsiWhiteSpace(' ')(11812,11813) + PsiTypeQLElement(type_any) - Location: (11813,11835)(11813,11835) + PsiTypeQLElement(type) - Location: (11813,11835)(11813,11835) + PsiTypeQLElement(label) - Location: (11813,11835)(11813,11835) + PsiElement(LABEL_)('stix-core-relationship')(11813,11835) + PsiElement(',')(',')(11835,11836) + PsiWhiteSpace('\n ')(11836,11841) + PsiTypeQLRelatesType(type_constraint) - Name: downloading - Location: (11841,11860)(11841,11870) + PsiElement('relates')('relates')(11841,11848) + PsiWhiteSpace(' ')(11848,11849) + PsiTypeQLElement(type) - Location: (11849,11860)(11849,11860) + PsiTypeQLElement(label) - Location: (11849,11860)(11849,11860) + PsiElement(LABEL_)('downloading')(11849,11860) + PsiWhiteSpace(' ')(11860,11861) + PsiElement('as')('as')(11861,11863) + PsiWhiteSpace(' ')(11863,11864) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11864,11870)(11864,11870) + PsiTypeQLElement(label) - Location: (11864,11870)(11864,11870) + PsiElement(LABEL_)('source')(11864,11870) + PsiElement(',')(',')(11870,11871) + PsiWhiteSpace('\n ')(11871,11876) + PsiTypeQLRelatesType(type_constraint) - Name: downloaded - Location: (11876,11894)(11876,11904) + PsiElement('relates')('relates')(11876,11883) + PsiWhiteSpace(' ')(11883,11884) + PsiTypeQLElement(type) - Location: (11884,11894)(11884,11894) + PsiTypeQLElement(label) - Location: (11884,11894)(11884,11894) + PsiElement(LABEL_)('downloaded')(11884,11894) + PsiWhiteSpace(' ')(11894,11895) + PsiElement('as')('as')(11895,11897) + PsiWhiteSpace(' ')(11897,11898) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11898,11904)(11898,11904) + PsiTypeQLElement(label) - Location: (11898,11904)(11898,11904) + PsiElement(LABEL_)('target')(11898,11904) + PsiElement(';')(';')(11904,11905) + PsiWhiteSpace('\n\n')(11905,11907) + PsiTypeQLElement(definable) - Location: (11907,12002)(11907,12002) + PsiTypeQLStatementType(statement_type) - Location: (11907,12002)(11907,12002) + PsiTypeQLElement(type_any) - Location: (11907,11912)(11907,11912) + PsiTypeQLType(type) - Name: drops - Location: (11907,11912)(11907,11912) + PsiTypeQLElement(label) - Location: (11907,11912)(11907,11912) + PsiElement(LABEL_)('drops')(11907,11912) + PsiWhiteSpace(' ')(11912,11913) + PsiTypeQLSubType(type_constraint) - Location: (11913,11939)(11913,11939) + PsiElement(SUB_)('sub')(11913,11916) + PsiWhiteSpace(' ')(11916,11917) + PsiTypeQLElement(type_any) - Location: (11917,11939)(11917,11939) + PsiTypeQLElement(type) - Location: (11917,11939)(11917,11939) + PsiTypeQLElement(label) - Location: (11917,11939)(11917,11939) + PsiElement(LABEL_)('stix-core-relationship')(11917,11939) + PsiElement(',')(',')(11939,11940) + PsiWhiteSpace('\n ')(11940,11945) + PsiTypeQLRelatesType(type_constraint) - Name: dropping - Location: (11945,11961)(11945,11971) + PsiElement('relates')('relates')(11945,11952) + PsiWhiteSpace(' ')(11952,11953) + PsiTypeQLElement(type) - Location: (11953,11961)(11953,11961) + PsiTypeQLElement(label) - Location: (11953,11961)(11953,11961) + PsiElement(LABEL_)('dropping')(11953,11961) + PsiWhiteSpace(' ')(11961,11962) + PsiElement('as')('as')(11962,11964) + PsiWhiteSpace(' ')(11964,11965) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11965,11971)(11965,11971) + PsiTypeQLElement(label) - Location: (11965,11971)(11965,11971) + PsiElement(LABEL_)('source')(11965,11971) + PsiElement(',')(',')(11971,11972) + PsiWhiteSpace('\n ')(11972,11977) + PsiTypeQLRelatesType(type_constraint) - Name: dropped - Location: (11977,11992)(11977,12002) + PsiElement('relates')('relates')(11977,11984) + PsiWhiteSpace(' ')(11984,11985) + PsiTypeQLElement(type) - Location: (11985,11992)(11985,11992) + PsiTypeQLElement(label) - Location: (11985,11992)(11985,11992) + PsiElement(LABEL_)('dropped')(11985,11992) + PsiWhiteSpace(' ')(11992,11993) + PsiElement('as')('as')(11993,11995) + PsiWhiteSpace(' ')(11995,11996) + PsiTypeQLRelatesAsOverrideType(type) - Location: (11996,12002)(11996,12002) + PsiTypeQLElement(label) - Location: (11996,12002)(11996,12002) + PsiElement(LABEL_)('target')(11996,12002) + PsiElement(';')(';')(12002,12003) + PsiWhiteSpace('\n\n')(12003,12005) + PsiTypeQLElement(definable) - Location: (12005,12107)(12005,12107) + PsiTypeQLStatementType(statement_type) - Location: (12005,12107)(12005,12107) + PsiTypeQLElement(type_any) - Location: (12005,12013)(12005,12013) + PsiTypeQLType(type) - Name: exploits - Location: (12005,12013)(12005,12013) + PsiTypeQLElement(label) - Location: (12005,12013)(12005,12013) + PsiElement(LABEL_)('exploits')(12005,12013) + PsiWhiteSpace(' ')(12013,12014) + PsiTypeQLSubType(type_constraint) - Location: (12014,12040)(12014,12040) + PsiElement(SUB_)('sub')(12014,12017) + PsiWhiteSpace(' ')(12017,12018) + PsiTypeQLElement(type_any) - Location: (12018,12040)(12018,12040) + PsiTypeQLElement(type) - Location: (12018,12040)(12018,12040) + PsiTypeQLElement(label) - Location: (12018,12040)(12018,12040) + PsiElement(LABEL_)('stix-core-relationship')(12018,12040) + PsiElement(',')(',')(12040,12041) + PsiWhiteSpace('\n ')(12041,12046) + PsiTypeQLRelatesType(type_constraint) - Name: exploiting - Location: (12046,12064)(12046,12074) + PsiElement('relates')('relates')(12046,12053) + PsiWhiteSpace(' ')(12053,12054) + PsiTypeQLElement(type) - Location: (12054,12064)(12054,12064) + PsiTypeQLElement(label) - Location: (12054,12064)(12054,12064) + PsiElement(LABEL_)('exploiting')(12054,12064) + PsiWhiteSpace(' ')(12064,12065) + PsiElement('as')('as')(12065,12067) + PsiWhiteSpace(' ')(12067,12068) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12068,12074)(12068,12074) + PsiTypeQLElement(label) - Location: (12068,12074)(12068,12074) + PsiElement(LABEL_)('source')(12068,12074) + PsiElement(',')(',')(12074,12075) + PsiWhiteSpace('\n ')(12075,12080) + PsiTypeQLRelatesType(type_constraint) - Name: exploited - Location: (12080,12097)(12080,12107) + PsiElement('relates')('relates')(12080,12087) + PsiWhiteSpace(' ')(12087,12088) + PsiTypeQLElement(type) - Location: (12088,12097)(12088,12097) + PsiTypeQLElement(label) - Location: (12088,12097)(12088,12097) + PsiElement(LABEL_)('exploited')(12088,12097) + PsiWhiteSpace(' ')(12097,12098) + PsiElement('as')('as')(12098,12100) + PsiWhiteSpace(' ')(12100,12101) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12101,12107)(12101,12107) + PsiTypeQLElement(label) - Location: (12101,12107)(12101,12107) + PsiElement(LABEL_)('target')(12101,12107) + PsiElement(';')(';')(12107,12108) + PsiWhiteSpace('\n\n')(12108,12110) + PsiTypeQLElement(definable) - Location: (12110,12218)(12110,12218) + PsiTypeQLStatementType(statement_type) - Location: (12110,12218)(12110,12218) + PsiTypeQLElement(type_any) - Location: (12110,12120)(12110,12120) + PsiTypeQLType(type) - Name: variant-of - Location: (12110,12120)(12110,12120) + PsiTypeQLElement(label) - Location: (12110,12120)(12110,12120) + PsiElement(LABEL_)('variant-of')(12110,12120) + PsiWhiteSpace(' ')(12120,12121) + PsiTypeQLSubType(type_constraint) - Location: (12121,12147)(12121,12147) + PsiElement(SUB_)('sub')(12121,12124) + PsiWhiteSpace(' ')(12124,12125) + PsiTypeQLElement(type_any) - Location: (12125,12147)(12125,12147) + PsiTypeQLElement(type) - Location: (12125,12147)(12125,12147) + PsiTypeQLElement(label) - Location: (12125,12147)(12125,12147) + PsiElement(LABEL_)('stix-core-relationship')(12125,12147) + PsiElement(',')(',')(12147,12148) + PsiWhiteSpace('\n ')(12148,12153) + PsiTypeQLRelatesType(type_constraint) - Name: varianted-from - Location: (12153,12175)(12153,12185) + PsiElement('relates')('relates')(12153,12160) + PsiWhiteSpace(' ')(12160,12161) + PsiTypeQLElement(type) - Location: (12161,12175)(12161,12175) + PsiTypeQLElement(label) - Location: (12161,12175)(12161,12175) + PsiElement(LABEL_)('varianted-from')(12161,12175) + PsiWhiteSpace(' ')(12175,12176) + PsiElement('as')('as')(12176,12178) + PsiWhiteSpace(' ')(12178,12179) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12179,12185)(12179,12185) + PsiTypeQLElement(label) - Location: (12179,12185)(12179,12185) + PsiElement(LABEL_)('source')(12179,12185) + PsiElement(',')(',')(12185,12186) + PsiWhiteSpace('\n ')(12186,12191) + PsiTypeQLRelatesType(type_constraint) - Name: varianted - Location: (12191,12208)(12191,12218) + PsiElement('relates')('relates')(12191,12198) + PsiWhiteSpace(' ')(12198,12199) + PsiTypeQLElement(type) - Location: (12199,12208)(12199,12208) + PsiTypeQLElement(label) - Location: (12199,12208)(12199,12208) + PsiElement(LABEL_)('varianted')(12199,12208) + PsiWhiteSpace(' ')(12208,12209) + PsiElement('as')('as')(12209,12211) + PsiWhiteSpace(' ')(12211,12212) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12212,12218)(12212,12218) + PsiTypeQLElement(label) - Location: (12212,12218)(12212,12218) + PsiElement(LABEL_)('target')(12212,12218) + PsiElement(';')(';')(12218,12219) + PsiWhiteSpace('\n\n')(12219,12221) + PsiTypeQLElement(definable) - Location: (12221,12336)(12221,12336) + PsiTypeQLStatementType(statement_type) - Location: (12221,12336)(12221,12336) + PsiTypeQLElement(type_any) - Location: (12221,12234)(12221,12234) + PsiTypeQLType(type) - Name: characterizes - Location: (12221,12234)(12221,12234) + PsiTypeQLElement(label) - Location: (12221,12234)(12221,12234) + PsiElement(LABEL_)('characterizes')(12221,12234) + PsiWhiteSpace(' ')(12234,12235) + PsiTypeQLSubType(type_constraint) - Location: (12235,12261)(12235,12261) + PsiElement(SUB_)('sub')(12235,12238) + PsiWhiteSpace(' ')(12238,12239) + PsiTypeQLElement(type_any) - Location: (12239,12261)(12239,12261) + PsiTypeQLElement(type) - Location: (12239,12261)(12239,12261) + PsiTypeQLElement(label) - Location: (12239,12261)(12239,12261) + PsiElement(LABEL_)('stix-core-relationship')(12239,12261) + PsiElement(',')(',')(12261,12262) + PsiWhiteSpace('\n ')(12262,12267) + PsiTypeQLRelatesType(type_constraint) - Name: characterizing - Location: (12267,12289)(12267,12299) + PsiElement('relates')('relates')(12267,12274) + PsiWhiteSpace(' ')(12274,12275) + PsiTypeQLElement(type) - Location: (12275,12289)(12275,12289) + PsiTypeQLElement(label) - Location: (12275,12289)(12275,12289) + PsiElement(LABEL_)('characterizing')(12275,12289) + PsiWhiteSpace(' ')(12289,12290) + PsiElement('as')('as')(12290,12292) + PsiWhiteSpace(' ')(12292,12293) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12293,12299)(12293,12299) + PsiTypeQLElement(label) - Location: (12293,12299)(12293,12299) + PsiElement(LABEL_)('source')(12293,12299) + PsiElement(',')(',')(12299,12300) + PsiWhiteSpace('\n ')(12300,12305) + PsiTypeQLRelatesType(type_constraint) - Name: characterized - Location: (12305,12326)(12305,12336) + PsiElement('relates')('relates')(12305,12312) + PsiWhiteSpace(' ')(12312,12313) + PsiTypeQLElement(type) - Location: (12313,12326)(12313,12326) + PsiTypeQLElement(label) - Location: (12313,12326)(12313,12326) + PsiElement(LABEL_)('characterized')(12313,12326) + PsiWhiteSpace(' ')(12326,12327) + PsiElement('as')('as')(12327,12329) + PsiWhiteSpace(' ')(12329,12330) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12330,12336)(12330,12336) + PsiTypeQLElement(label) - Location: (12330,12336)(12330,12336) + PsiElement(LABEL_)('target')(12330,12336) + PsiElement(';')(';')(12336,12337) + PsiWhiteSpace('\n\n')(12337,12339) + PsiTypeQLElement(definable) - Location: (12339,12439)(12339,12439) + PsiTypeQLStatementType(statement_type) - Location: (12339,12439)(12339,12439) + PsiTypeQLElement(type_any) - Location: (12339,12347)(12339,12347) + PsiTypeQLType(type) - Name: analysis - Location: (12339,12347)(12339,12347) + PsiTypeQLElement(label) - Location: (12339,12347)(12339,12347) + PsiElement(LABEL_)('analysis')(12339,12347) + PsiWhiteSpace(' ')(12347,12348) + PsiTypeQLSubType(type_constraint) - Location: (12348,12374)(12348,12374) + PsiElement(SUB_)('sub')(12348,12351) + PsiWhiteSpace(' ')(12351,12352) + PsiTypeQLElement(type_any) - Location: (12352,12374)(12352,12374) + PsiTypeQLElement(type) - Location: (12352,12374)(12352,12374) + PsiTypeQLElement(label) - Location: (12352,12374)(12352,12374) + PsiElement(LABEL_)('stix-core-relationship')(12352,12374) + PsiElement(',')(',')(12374,12375) + PsiWhiteSpace('\n ')(12375,12380) + PsiTypeQLRelatesType(type_constraint) - Name: analysing - Location: (12380,12397)(12380,12407) + PsiElement('relates')('relates')(12380,12387) + PsiWhiteSpace(' ')(12387,12388) + PsiTypeQLElement(type) - Location: (12388,12397)(12388,12397) + PsiTypeQLElement(label) - Location: (12388,12397)(12388,12397) + PsiElement(LABEL_)('analysing')(12388,12397) + PsiWhiteSpace(' ')(12397,12398) + PsiElement('as')('as')(12398,12400) + PsiWhiteSpace(' ')(12400,12401) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12401,12407)(12401,12407) + PsiTypeQLElement(label) - Location: (12401,12407)(12401,12407) + PsiElement(LABEL_)('source')(12401,12407) + PsiElement(',')(',')(12407,12408) + PsiWhiteSpace('\n ')(12408,12413) + PsiTypeQLRelatesType(type_constraint) - Name: analysed - Location: (12413,12429)(12413,12439) + PsiElement('relates')('relates')(12413,12420) + PsiWhiteSpace(' ')(12420,12421) + PsiTypeQLElement(type) - Location: (12421,12429)(12421,12429) + PsiTypeQLElement(label) - Location: (12421,12429)(12421,12429) + PsiElement(LABEL_)('analysed')(12421,12429) + PsiWhiteSpace(' ')(12429,12430) + PsiElement('as')('as')(12430,12432) + PsiWhiteSpace(' ')(12432,12433) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12433,12439)(12433,12439) + PsiTypeQLElement(label) - Location: (12433,12439)(12433,12439) + PsiElement(LABEL_)('target')(12433,12439) + PsiElement(';')(';')(12439,12440) + PsiWhiteSpace('\n\n')(12440,12442) + PsiTypeQLElement(definable) - Location: (12442,12466)(12442,12466) + PsiTypeQLStatementType(statement_type) - Location: (12442,12466)(12442,12466) + PsiTypeQLElement(type_any) - Location: (12442,12453)(12442,12453) + PsiTypeQLType(type) - Name: analysis-of - Location: (12442,12453)(12442,12453) + PsiTypeQLElement(label) - Location: (12442,12453)(12442,12453) + PsiElement(LABEL_)('analysis-of')(12442,12453) + PsiWhiteSpace(' ')(12453,12454) + PsiTypeQLSubType(type_constraint) - Location: (12454,12466)(12454,12466) + PsiElement(SUB_)('sub')(12454,12457) + PsiWhiteSpace(' ')(12457,12458) + PsiTypeQLElement(type_any) - Location: (12458,12466)(12458,12466) + PsiTypeQLElement(type) - Location: (12458,12466)(12458,12466) + PsiTypeQLElement(label) - Location: (12458,12466)(12458,12466) + PsiElement(LABEL_)('analysis')(12458,12466) + PsiElement(';')(';')(12466,12467) + PsiWhiteSpace('\n')(12467,12468) + PsiTypeQLElement(definable) - Location: (12468,12499)(12468,12499) + PsiTypeQLStatementType(statement_type) - Location: (12468,12499)(12468,12499) + PsiTypeQLElement(type_any) - Location: (12468,12486)(12468,12486) + PsiTypeQLType(type) - Name: static-analysis-of - Location: (12468,12486)(12468,12486) + PsiTypeQLElement(label) - Location: (12468,12486)(12468,12486) + PsiElement(LABEL_)('static-analysis-of')(12468,12486) + PsiWhiteSpace(' ')(12486,12487) + PsiTypeQLSubType(type_constraint) - Location: (12487,12499)(12487,12499) + PsiElement(SUB_)('sub')(12487,12490) + PsiWhiteSpace(' ')(12490,12491) + PsiTypeQLElement(type_any) - Location: (12491,12499)(12491,12499) + PsiTypeQLElement(type) - Location: (12491,12499)(12491,12499) + PsiTypeQLElement(label) - Location: (12491,12499)(12491,12499) + PsiElement(LABEL_)('analysis')(12491,12499) + PsiElement(';')(';')(12499,12500) + PsiWhiteSpace('\n')(12500,12501) + PsiTypeQLElement(definable) - Location: (12501,12533)(12501,12533) + PsiTypeQLStatementType(statement_type) - Location: (12501,12533)(12501,12533) + PsiTypeQLElement(type_any) - Location: (12501,12520)(12501,12520) + PsiTypeQLType(type) - Name: dynamic-analysis-of - Location: (12501,12520)(12501,12520) + PsiTypeQLElement(label) - Location: (12501,12520)(12501,12520) + PsiElement(LABEL_)('dynamic-analysis-of')(12501,12520) + PsiWhiteSpace(' ')(12520,12521) + PsiTypeQLSubType(type_constraint) - Location: (12521,12533)(12521,12533) + PsiElement(SUB_)('sub')(12521,12524) + PsiWhiteSpace(' ')(12524,12525) + PsiTypeQLElement(type_any) - Location: (12525,12533)(12525,12533) + PsiTypeQLElement(type) - Location: (12525,12533)(12525,12533) + PsiTypeQLElement(label) - Location: (12525,12533)(12525,12533) + PsiElement(LABEL_)('analysis')(12525,12533) + PsiElement(';')(';')(12533,12534) + PsiWhiteSpace('\n\n')(12534,12536) + PsiTypeQLElement(definable) - Location: (12536,12632)(12536,12632) + PsiTypeQLStatementType(statement_type) - Location: (12536,12632)(12536,12632) + PsiTypeQLElement(type_any) - Location: (12536,12546)(12536,12546) + PsiTypeQLType(type) - Name: ownerships - Location: (12536,12546)(12536,12546) + PsiTypeQLElement(label) - Location: (12536,12546)(12536,12546) + PsiElement(LABEL_)('ownerships')(12536,12546) + PsiWhiteSpace(' ')(12546,12547) + PsiTypeQLSubType(type_constraint) - Location: (12547,12573)(12547,12573) + PsiElement(SUB_)('sub')(12547,12550) + PsiWhiteSpace(' ')(12550,12551) + PsiTypeQLElement(type_any) - Location: (12551,12573)(12551,12573) + PsiTypeQLElement(type) - Location: (12551,12573)(12551,12573) + PsiTypeQLElement(label) - Location: (12551,12573)(12551,12573) + PsiElement(LABEL_)('stix-core-relationship')(12551,12573) + PsiElement(',')(',')(12573,12574) + PsiWhiteSpace('\n ')(12574,12579) + PsiTypeQLRelatesType(type_constraint) - Name: owning - Location: (12579,12593)(12579,12603) + PsiElement('relates')('relates')(12579,12586) + PsiWhiteSpace(' ')(12586,12587) + PsiTypeQLElement(type) - Location: (12587,12593)(12587,12593) + PsiTypeQLElement(label) - Location: (12587,12593)(12587,12593) + PsiElement(LABEL_)('owning')(12587,12593) + PsiWhiteSpace(' ')(12593,12594) + PsiElement('as')('as')(12594,12596) + PsiWhiteSpace(' ')(12596,12597) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12597,12603)(12597,12603) + PsiTypeQLElement(label) - Location: (12597,12603)(12597,12603) + PsiElement(LABEL_)('source')(12597,12603) + PsiElement(',')(',')(12603,12604) + PsiWhiteSpace('\n ')(12604,12609) + PsiTypeQLRelatesType(type_constraint) - Name: owned - Location: (12609,12622)(12609,12632) + PsiElement('relates')('relates')(12609,12616) + PsiWhiteSpace(' ')(12616,12617) + PsiTypeQLElement(type) - Location: (12617,12622)(12617,12622) + PsiTypeQLElement(label) - Location: (12617,12622)(12617,12622) + PsiElement(LABEL_)('owned')(12617,12622) + PsiWhiteSpace(' ')(12622,12623) + PsiElement('as')('as')(12623,12625) + PsiWhiteSpace(' ')(12625,12626) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12626,12632)(12626,12632) + PsiTypeQLElement(label) - Location: (12626,12632)(12626,12632) + PsiElement(LABEL_)('target')(12626,12632) + PsiElement(';')(';')(12632,12633) + PsiWhiteSpace('\n\n')(12633,12635) + PsiTypeQLElement(definable) - Location: (12635,12691)(12635,12691) + PsiTypeQLStatementType(statement_type) - Location: (12635,12691)(12635,12691) + PsiTypeQLElement(type_any) - Location: (12635,12638)(12635,12638) + PsiTypeQLType(type) - Name: ref - Location: (12635,12638)(12635,12638) + PsiTypeQLElement(label) - Location: (12635,12638)(12635,12638) + PsiElement(LABEL_)('ref')(12635,12638) + PsiWhiteSpace(' ')(12638,12639) + PsiTypeQLElement(type_constraint) - Location: (12639,12651)(12639,12651) + PsiElement(SUB_)('sub')(12639,12642) + PsiWhiteSpace(' ')(12642,12643) + PsiTypeQLElement(type_any) - Location: (12643,12651)(12643,12651) + PsiTypeQLElement(type) - Location: (12643,12651)(12643,12651) + PsiTypeQLElement(label) - Location: (12643,12651)(12643,12651) + PsiTypeQLElement(type_native) - Location: (12643,12651)(12643,12651) + PsiElement('relation')('relation')(12643,12651) + PsiElement(',')(',')(12651,12652) + PsiWhiteSpace('\n ')(12652,12657) + PsiTypeQLRelatesType(type_constraint) - Name: source - Location: (12657,12671)(12657,12671) + PsiElement('relates')('relates')(12657,12664) + PsiWhiteSpace(' ')(12664,12665) + PsiTypeQLElement(type) - Location: (12665,12671)(12665,12671) + PsiTypeQLElement(label) - Location: (12665,12671)(12665,12671) + PsiElement(LABEL_)('source')(12665,12671) + PsiElement(',')(',')(12671,12672) + PsiWhiteSpace('\n ')(12672,12677) + PsiTypeQLRelatesType(type_constraint) - Name: target - Location: (12677,12691)(12677,12691) + PsiElement('relates')('relates')(12677,12684) + PsiWhiteSpace(' ')(12684,12685) + PsiTypeQLElement(type) - Location: (12685,12691)(12685,12691) + PsiTypeQLElement(label) - Location: (12685,12691)(12685,12691) + PsiElement(LABEL_)('target')(12685,12691) + PsiElement(';')(';')(12691,12692) + PsiWhiteSpace('\n\n')(12692,12694) + PsiTypeQLElement(definable) - Location: (12694,12710)(12694,12710) + PsiTypeQLStatementType(statement_type) - Location: (12694,12710)(12694,12710) + PsiTypeQLElement(type_any) - Location: (12694,12702)(12694,12702) + PsiTypeQLType(type) - Name: from-ref - Location: (12694,12702)(12694,12702) + PsiTypeQLElement(label) - Location: (12694,12702)(12694,12702) + PsiElement(LABEL_)('from-ref')(12694,12702) + PsiWhiteSpace(' ')(12702,12703) + PsiTypeQLSubType(type_constraint) - Location: (12703,12710)(12703,12710) + PsiElement(SUB_)('sub')(12703,12706) + PsiWhiteSpace(' ')(12706,12707) + PsiTypeQLElement(type_any) - Location: (12707,12710)(12707,12710) + PsiTypeQLElement(type) - Location: (12707,12710)(12707,12710) + PsiTypeQLElement(label) - Location: (12707,12710)(12707,12710) + PsiElement(LABEL_)('ref')(12707,12710) + PsiElement(';')(';')(12710,12711) + PsiWhiteSpace('\n')(12711,12712) + PsiTypeQLElement(definable) - Location: (12712,12730)(12712,12730) + PsiTypeQLStatementType(statement_type) - Location: (12712,12730)(12712,12730) + PsiTypeQLElement(type_any) - Location: (12712,12722)(12712,12722) + PsiTypeQLType(type) - Name: sender-ref - Location: (12712,12722)(12712,12722) + PsiTypeQLElement(label) - Location: (12712,12722)(12712,12722) + PsiElement(LABEL_)('sender-ref')(12712,12722) + PsiWhiteSpace(' ')(12722,12723) + PsiTypeQLSubType(type_constraint) - Location: (12723,12730)(12723,12730) + PsiElement(SUB_)('sub')(12723,12726) + PsiWhiteSpace(' ')(12726,12727) + PsiTypeQLElement(type_any) - Location: (12727,12730)(12727,12730) + PsiTypeQLElement(type) - Location: (12727,12730)(12727,12730) + PsiTypeQLElement(label) - Location: (12727,12730)(12727,12730) + PsiElement(LABEL_)('ref')(12727,12730) + PsiElement(';')(';')(12730,12731) + PsiWhiteSpace('\n')(12731,12732) + PsiTypeQLElement(definable) - Location: (12732,12753)(12732,12753) + PsiTypeQLStatementType(statement_type) - Location: (12732,12753)(12732,12753) + PsiTypeQLElement(type_any) - Location: (12732,12745)(12732,12745) + PsiTypeQLType(type) - Name: raw-email-ref - Location: (12732,12745)(12732,12745) + PsiTypeQLElement(label) - Location: (12732,12745)(12732,12745) + PsiElement(LABEL_)('raw-email-ref')(12732,12745) + PsiWhiteSpace(' ')(12745,12746) + PsiTypeQLSubType(type_constraint) - Location: (12746,12753)(12746,12753) + PsiElement(SUB_)('sub')(12746,12749) + PsiWhiteSpace(' ')(12749,12750) + PsiTypeQLElement(type_any) - Location: (12750,12753)(12750,12753) + PsiTypeQLElement(type) - Location: (12750,12753)(12750,12753) + PsiTypeQLElement(label) - Location: (12750,12753)(12750,12753) + PsiElement(LABEL_)('ref')(12750,12753) + PsiElement(';')(';')(12753,12754) + PsiWhiteSpace('\n')(12754,12755) + PsiTypeQLElement(definable) - Location: (12755,12775)(12755,12775) + PsiTypeQLStatementType(statement_type) - Location: (12755,12775)(12755,12775) + PsiTypeQLElement(type_any) - Location: (12755,12767)(12755,12767) + PsiTypeQLType(type) - Name: body-raw-ref - Location: (12755,12767)(12755,12767) + PsiTypeQLElement(label) - Location: (12755,12767)(12755,12767) + PsiElement(LABEL_)('body-raw-ref')(12755,12767) + PsiWhiteSpace(' ')(12767,12768) + PsiTypeQLSubType(type_constraint) - Location: (12768,12775)(12768,12775) + PsiElement(SUB_)('sub')(12768,12771) + PsiWhiteSpace(' ')(12771,12772) + PsiTypeQLElement(type_any) - Location: (12772,12775)(12772,12775) + PsiTypeQLElement(type) - Location: (12772,12775)(12772,12775) + PsiTypeQLElement(label) - Location: (12772,12775)(12772,12775) + PsiElement(LABEL_)('ref')(12772,12775) + PsiElement(';')(';')(12775,12776) + PsiWhiteSpace('\n')(12776,12777) + PsiTypeQLElement(definable) - Location: (12777,12805)(12777,12805) + PsiTypeQLStatementType(statement_type) - Location: (12777,12805)(12777,12805) + PsiTypeQLElement(type_any) - Location: (12777,12797)(12777,12797) + PsiTypeQLType(type) - Name: parent-directory-ref - Location: (12777,12797)(12777,12797) + PsiTypeQLElement(label) - Location: (12777,12797)(12777,12797) + PsiElement(LABEL_)('parent-directory-ref')(12777,12797) + PsiWhiteSpace(' ')(12797,12798) + PsiTypeQLSubType(type_constraint) - Location: (12798,12805)(12798,12805) + PsiElement(SUB_)('sub')(12798,12801) + PsiWhiteSpace(' ')(12801,12802) + PsiTypeQLElement(type_any) - Location: (12802,12805)(12802,12805) + PsiTypeQLElement(type) - Location: (12802,12805)(12802,12805) + PsiTypeQLElement(label) - Location: (12802,12805)(12802,12805) + PsiElement(LABEL_)('ref')(12802,12805) + PsiElement(';')(';')(12805,12806) + PsiWhiteSpace('\n')(12806,12807) + PsiTypeQLElement(definable) - Location: (12807,12826)(12807,12826) + PsiTypeQLStatementType(statement_type) - Location: (12807,12826)(12807,12826) + PsiTypeQLElement(type_any) - Location: (12807,12818)(12807,12818) + PsiTypeQLType(type) - Name: content-ref - Location: (12807,12818)(12807,12818) + PsiTypeQLElement(label) - Location: (12807,12818)(12807,12818) + PsiElement(LABEL_)('content-ref')(12807,12818) + PsiWhiteSpace(' ')(12818,12819) + PsiTypeQLSubType(type_constraint) - Location: (12819,12826)(12819,12826) + PsiElement(SUB_)('sub')(12819,12822) + PsiWhiteSpace(' ')(12822,12823) + PsiTypeQLElement(type_any) - Location: (12823,12826)(12823,12826) + PsiTypeQLElement(type) - Location: (12823,12826)(12823,12826) + PsiTypeQLElement(label) - Location: (12823,12826)(12823,12826) + PsiElement(LABEL_)('ref')(12823,12826) + PsiElement(';')(';')(12826,12827) + PsiWhiteSpace('\n')(12827,12828) + PsiTypeQLElement(definable) - Location: (12828,12879)(12828,12879) + PsiTypeQLStatementType(statement_type) - Location: (12828,12879)(12828,12879) + PsiTypeQLElement(type_any) - Location: (12828,12843)(12828,12843) + PsiTypeQLType(type) - Name: optional-header - Location: (12828,12843)(12828,12843) + PsiTypeQLElement(label) - Location: (12828,12843)(12828,12843) + PsiElement(LABEL_)('optional-header')(12828,12843) + PsiWhiteSpace(' ')(12843,12844) + PsiTypeQLSubType(type_constraint) - Location: (12844,12851)(12844,12851) + PsiElement(SUB_)('sub')(12844,12847) + PsiWhiteSpace(' ')(12847,12848) + PsiTypeQLElement(type_any) - Location: (12848,12851)(12848,12851) + PsiTypeQLElement(type) - Location: (12848,12851)(12848,12851) + PsiTypeQLElement(label) - Location: (12848,12851)(12848,12851) + PsiElement(LABEL_)('ref')(12848,12851) + PsiElement(',')(',')(12851,12852) + PsiWhiteSpace('\n ')(12852,12857) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (12857,12869)(12857,12879) + PsiElement('relates')('relates')(12857,12864) + PsiWhiteSpace(' ')(12864,12865) + PsiTypeQLElement(type) - Location: (12865,12869)(12865,12869) + PsiTypeQLElement(label) - Location: (12865,12869)(12865,12869) + PsiElement(LABEL_)('from')(12865,12869) + PsiWhiteSpace(' ')(12869,12870) + PsiElement('as')('as')(12870,12872) + PsiWhiteSpace(' ')(12872,12873) + PsiTypeQLRelatesAsOverrideType(type) - Location: (12873,12879)(12873,12879) + PsiTypeQLElement(label) - Location: (12873,12879)(12873,12879) + PsiElement(LABEL_)('source')(12873,12879) + PsiElement(';')(';')(12879,12880) + PsiWhiteSpace('\n')(12880,12881) + PsiTypeQLElement(definable) - Location: (12881,12903)(12881,12903) + PsiTypeQLStatementType(statement_type) - Location: (12881,12903)(12881,12903) + PsiTypeQLElement(type_any) - Location: (12881,12895)(12881,12895) + PsiTypeQLType(type) - Name: belongs-to-ref - Location: (12881,12895)(12881,12895) + PsiTypeQLElement(label) - Location: (12881,12895)(12881,12895) + PsiElement(LABEL_)('belongs-to-ref')(12881,12895) + PsiWhiteSpace(' ')(12895,12896) + PsiTypeQLSubType(type_constraint) - Location: (12896,12903)(12896,12903) + PsiElement(SUB_)('sub')(12896,12899) + PsiWhiteSpace(' ')(12899,12900) + PsiTypeQLElement(type_any) - Location: (12900,12903)(12900,12903) + PsiTypeQLElement(type) - Location: (12900,12903)(12900,12903) + PsiTypeQLElement(label) - Location: (12900,12903)(12900,12903) + PsiElement(LABEL_)('ref')(12900,12903) + PsiElement(';')(';')(12903,12904) + PsiWhiteSpace('\n')(12904,12905) + PsiTypeQLElement(definable) - Location: (12905,12920)(12905,12920) + PsiTypeQLStatementType(statement_type) - Location: (12905,12920)(12905,12920) + PsiTypeQLElement(type_any) - Location: (12905,12912)(12905,12912) + PsiTypeQLType(type) - Name: src-ref - Location: (12905,12912)(12905,12912) + PsiTypeQLElement(label) - Location: (12905,12912)(12905,12912) + PsiElement(LABEL_)('src-ref')(12905,12912) + PsiWhiteSpace(' ')(12912,12913) + PsiTypeQLSubType(type_constraint) - Location: (12913,12920)(12913,12920) + PsiElement(SUB_)('sub')(12913,12916) + PsiWhiteSpace(' ')(12916,12917) + PsiTypeQLElement(type_any) - Location: (12917,12920)(12917,12920) + PsiTypeQLElement(type) - Location: (12917,12920)(12917,12920) + PsiTypeQLElement(label) - Location: (12917,12920)(12917,12920) + PsiElement(LABEL_)('ref')(12917,12920) + PsiElement(';')(';')(12920,12921) + PsiWhiteSpace('\n')(12921,12922) + PsiTypeQLElement(definable) - Location: (12922,12937)(12922,12937) + PsiTypeQLStatementType(statement_type) - Location: (12922,12937)(12922,12937) + PsiTypeQLElement(type_any) - Location: (12922,12929)(12922,12929) + PsiTypeQLType(type) - Name: dst-ref - Location: (12922,12929)(12922,12929) + PsiTypeQLElement(label) - Location: (12922,12929)(12922,12929) + PsiElement(LABEL_)('dst-ref')(12922,12929) + PsiWhiteSpace(' ')(12929,12930) + PsiTypeQLSubType(type_constraint) - Location: (12930,12937)(12930,12937) + PsiElement(SUB_)('sub')(12930,12933) + PsiWhiteSpace(' ')(12933,12934) + PsiTypeQLElement(type_any) - Location: (12934,12937)(12934,12937) + PsiTypeQLElement(type) - Location: (12934,12937)(12934,12937) + PsiTypeQLElement(label) - Location: (12934,12937)(12934,12937) + PsiElement(LABEL_)('ref')(12934,12937) + PsiElement(';')(';')(12937,12938) + PsiWhiteSpace('\n')(12938,12939) + PsiTypeQLElement(definable) - Location: (12939,12962)(12939,12962) + PsiTypeQLStatementType(statement_type) - Location: (12939,12962)(12939,12962) + PsiTypeQLElement(type_any) - Location: (12939,12954)(12939,12954) + PsiTypeQLType(type) - Name: src-payload-ref - Location: (12939,12954)(12939,12954) + PsiTypeQLElement(label) - Location: (12939,12954)(12939,12954) + PsiElement(LABEL_)('src-payload-ref')(12939,12954) + PsiWhiteSpace(' ')(12954,12955) + PsiTypeQLSubType(type_constraint) - Location: (12955,12962)(12955,12962) + PsiElement(SUB_)('sub')(12955,12958) + PsiWhiteSpace(' ')(12958,12959) + PsiTypeQLElement(type_any) - Location: (12959,12962)(12959,12962) + PsiTypeQLElement(type) - Location: (12959,12962)(12959,12962) + PsiTypeQLElement(label) - Location: (12959,12962)(12959,12962) + PsiElement(LABEL_)('ref')(12959,12962) + PsiElement(';')(';')(12962,12963) + PsiWhiteSpace('\n')(12963,12964) + PsiTypeQLElement(definable) - Location: (12964,12987)(12964,12987) + PsiTypeQLStatementType(statement_type) - Location: (12964,12987)(12964,12987) + PsiTypeQLElement(type_any) - Location: (12964,12979)(12964,12979) + PsiTypeQLType(type) - Name: dst-payload-ref - Location: (12964,12979)(12964,12979) + PsiTypeQLElement(label) - Location: (12964,12979)(12964,12979) + PsiElement(LABEL_)('dst-payload-ref')(12964,12979) + PsiWhiteSpace(' ')(12979,12980) + PsiTypeQLSubType(type_constraint) - Location: (12980,12987)(12980,12987) + PsiElement(SUB_)('sub')(12980,12983) + PsiWhiteSpace(' ')(12983,12984) + PsiTypeQLElement(type_any) - Location: (12984,12987)(12984,12987) + PsiTypeQLElement(type) - Location: (12984,12987)(12984,12987) + PsiTypeQLElement(label) - Location: (12984,12987)(12984,12987) + PsiElement(LABEL_)('ref')(12984,12987) + PsiElement(';')(';')(12987,12988) + PsiWhiteSpace('\n')(12988,12989) + PsiTypeQLElement(definable) - Location: (12989,13016)(12989,13016) + PsiTypeQLStatementType(statement_type) - Location: (12989,13016)(12989,13016) + PsiTypeQLElement(type_any) - Location: (12989,13008)(12989,13008) + PsiTypeQLType(type) - Name: encapsulated-by-ref - Location: (12989,13008)(12989,13008) + PsiTypeQLElement(label) - Location: (12989,13008)(12989,13008) + PsiElement(LABEL_)('encapsulated-by-ref')(12989,13008) + PsiWhiteSpace(' ')(13008,13009) + PsiTypeQLSubType(type_constraint) - Location: (13009,13016)(13009,13016) + PsiElement(SUB_)('sub')(13009,13012) + PsiWhiteSpace(' ')(13012,13013) + PsiTypeQLElement(type_any) - Location: (13013,13016)(13013,13016) + PsiTypeQLElement(type) - Location: (13013,13016)(13013,13016) + PsiTypeQLElement(label) - Location: (13013,13016)(13013,13016) + PsiElement(LABEL_)('ref')(13013,13016) + PsiElement(';')(';')(13016,13017) + PsiWhiteSpace('\n')(13017,13018) + PsiTypeQLElement(definable) - Location: (13018,13047)(13018,13047) + PsiTypeQLStatementType(statement_type) - Location: (13018,13047)(13018,13047) + PsiTypeQLElement(type_any) - Location: (13018,13039)(13018,13039) + PsiTypeQLType(type) - Name: massage-body-data-ref - Location: (13018,13039)(13018,13039) + PsiTypeQLElement(label) - Location: (13018,13039)(13018,13039) + PsiElement(LABEL_)('massage-body-data-ref')(13018,13039) + PsiWhiteSpace(' ')(13039,13040) + PsiTypeQLSubType(type_constraint) - Location: (13040,13047)(13040,13047) + PsiElement(SUB_)('sub')(13040,13043) + PsiWhiteSpace(' ')(13043,13044) + PsiTypeQLElement(type_any) - Location: (13044,13047)(13044,13047) + PsiTypeQLElement(type) - Location: (13044,13047)(13044,13047) + PsiTypeQLElement(label) - Location: (13044,13047)(13044,13047) + PsiElement(LABEL_)('ref')(13044,13047) + PsiElement(';')(';')(13047,13048) + PsiWhiteSpace('\n')(13048,13049) + PsiTypeQLElement(definable) - Location: (13049,13073)(13049,13073) + PsiTypeQLStatementType(statement_type) - Location: (13049,13073)(13049,13073) + PsiTypeQLElement(type_any) - Location: (13049,13065)(13049,13065) + PsiTypeQLType(type) - Name: creator-user-ref - Location: (13049,13065)(13049,13065) + PsiTypeQLElement(label) - Location: (13049,13065)(13049,13065) + PsiElement(LABEL_)('creator-user-ref')(13049,13065) + PsiWhiteSpace(' ')(13065,13066) + PsiTypeQLSubType(type_constraint) - Location: (13066,13073)(13066,13073) + PsiElement(SUB_)('sub')(13066,13069) + PsiWhiteSpace(' ')(13069,13070) + PsiTypeQLElement(type_any) - Location: (13070,13073)(13070,13073) + PsiTypeQLElement(type) - Location: (13070,13073)(13070,13073) + PsiTypeQLElement(label) - Location: (13070,13073)(13070,13073) + PsiElement(LABEL_)('ref')(13070,13073) + PsiElement(';')(';')(13073,13074) + PsiWhiteSpace('\n')(13074,13075) + PsiTypeQLElement(definable) - Location: (13075,13092)(13075,13092) + PsiTypeQLStatementType(statement_type) - Location: (13075,13092)(13075,13092) + PsiTypeQLElement(type_any) - Location: (13075,13084)(13075,13084) + PsiTypeQLType(type) - Name: image-ref - Location: (13075,13084)(13075,13084) + PsiTypeQLElement(label) - Location: (13075,13084)(13075,13084) + PsiElement(LABEL_)('image-ref')(13075,13084) + PsiWhiteSpace(' ')(13084,13085) + PsiTypeQLSubType(type_constraint) - Location: (13085,13092)(13085,13092) + PsiElement(SUB_)('sub')(13085,13088) + PsiWhiteSpace(' ')(13088,13089) + PsiTypeQLElement(type_any) - Location: (13089,13092)(13089,13092) + PsiTypeQLElement(type) - Location: (13089,13092)(13089,13092) + PsiTypeQLElement(label) - Location: (13089,13092)(13089,13092) + PsiElement(LABEL_)('ref')(13089,13092) + PsiElement(';')(';')(13092,13093) + PsiWhiteSpace('\n')(13093,13094) + PsiTypeQLElement(definable) - Location: (13094,13112)(13094,13112) + PsiTypeQLStatementType(statement_type) - Location: (13094,13112)(13094,13112) + PsiTypeQLElement(type_any) - Location: (13094,13104)(13094,13104) + PsiTypeQLType(type) - Name: parent-ref - Location: (13094,13104)(13094,13104) + PsiTypeQLElement(label) - Location: (13094,13104)(13094,13104) + PsiElement(LABEL_)('parent-ref')(13094,13104) + PsiWhiteSpace(' ')(13104,13105) + PsiTypeQLSubType(type_constraint) - Location: (13105,13112)(13105,13112) + PsiElement(SUB_)('sub')(13105,13108) + PsiWhiteSpace(' ')(13108,13109) + PsiTypeQLElement(type_any) - Location: (13109,13112)(13109,13112) + PsiTypeQLElement(type) - Location: (13109,13112)(13109,13112) + PsiTypeQLElement(label) - Location: (13109,13112)(13109,13112) + PsiElement(LABEL_)('ref')(13109,13112) + PsiElement(';')(';')(13112,13113) + PsiWhiteSpace('\n')(13113,13114) + PsiTypeQLElement(definable) - Location: (13114,13171)(13114,13171) + PsiTypeQLStatementType(statement_type) - Location: (13114,13171)(13114,13171) + PsiTypeQLElement(type_any) - Location: (13114,13135)(13114,13135) + PsiTypeQLType(type) - Name: message-body-data-ref - Location: (13114,13135)(13114,13135) + PsiTypeQLElement(label) - Location: (13114,13135)(13114,13135) + PsiElement(LABEL_)('message-body-data-ref')(13114,13135) + PsiWhiteSpace(' ')(13135,13136) + PsiTypeQLSubType(type_constraint) - Location: (13136,13143)(13136,13143) + PsiElement(SUB_)('sub')(13136,13139) + PsiWhiteSpace(' ')(13139,13140) + PsiTypeQLElement(type_any) - Location: (13140,13143)(13140,13143) + PsiTypeQLElement(type) - Location: (13140,13143)(13140,13143) + PsiTypeQLElement(label) - Location: (13140,13143)(13140,13143) + PsiElement(LABEL_)('ref')(13140,13143) + PsiElement(',')(',')(13143,13144) + PsiWhiteSpace('\n ')(13144,13149) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (13149,13161)(13149,13171) + PsiElement('relates')('relates')(13149,13156) + PsiWhiteSpace(' ')(13156,13157) + PsiTypeQLElement(type) - Location: (13157,13161)(13157,13161) + PsiTypeQLElement(label) - Location: (13157,13161)(13157,13161) + PsiElement(LABEL_)('from')(13157,13161) + PsiWhiteSpace(' ')(13161,13162) + PsiElement('as')('as')(13162,13164) + PsiWhiteSpace(' ')(13164,13165) + PsiTypeQLRelatesAsOverrideType(type) - Location: (13165,13171)(13165,13171) + PsiTypeQLElement(label) - Location: (13165,13171)(13165,13171) + PsiElement(LABEL_)('source')(13165,13171) + PsiElement(';')(';')(13171,13172) + PsiWhiteSpace('\n\n')(13172,13174) + PsiTypeQLElement(definable) - Location: (13174,13245)(13174,13245) + PsiTypeQLStatementType(statement_type) - Location: (13174,13245)(13174,13245) + PsiTypeQLElement(type_any) - Location: (13174,13184)(13174,13184) + PsiTypeQLType(type) - Name: derivation - Location: (13174,13184)(13174,13184) + PsiTypeQLElement(label) - Location: (13174,13184)(13174,13184) + PsiElement(LABEL_)('derivation')(13174,13184) + PsiWhiteSpace(' ')(13184,13185) + PsiTypeQLElement(type_constraint) - Location: (13185,13197)(13185,13197) + PsiElement(SUB_)('sub')(13185,13188) + PsiWhiteSpace(' ')(13188,13189) + PsiTypeQLElement(type_any) - Location: (13189,13197)(13189,13197) + PsiTypeQLElement(type) - Location: (13189,13197)(13189,13197) + PsiTypeQLElement(label) - Location: (13189,13197)(13189,13197) + PsiTypeQLElement(type_native) - Location: (13189,13197)(13189,13197) + PsiElement('relation')('relation')(13189,13197) + PsiElement(',')(',')(13197,13198) + PsiWhiteSpace('\n ')(13198,13203) + PsiTypeQLRelatesType(type_constraint) - Name: derived-from - Location: (13203,13223)(13203,13223) + PsiElement('relates')('relates')(13203,13210) + PsiWhiteSpace(' ')(13210,13211) + PsiTypeQLElement(type) - Location: (13211,13223)(13211,13223) + PsiTypeQLElement(label) - Location: (13211,13223)(13211,13223) + PsiElement(LABEL_)('derived-from')(13211,13223) + PsiElement(',')(',')(13223,13224) + PsiWhiteSpace('\n ')(13224,13229) + PsiTypeQLRelatesType(type_constraint) - Name: deriving - Location: (13229,13245)(13229,13245) + PsiElement('relates')('relates')(13229,13236) + PsiWhiteSpace(' ')(13236,13237) + PsiTypeQLElement(type) - Location: (13237,13245)(13237,13245) + PsiTypeQLElement(label) - Location: (13237,13245)(13237,13245) + PsiElement(LABEL_)('deriving')(13237,13245) + PsiElement(';')(';')(13245,13246) + PsiWhiteSpace('\n\n')(13246,13248) + PsiTypeQLElement(definable) - Location: (13248,13304)(13248,13304) + PsiTypeQLStatementType(statement_type) - Location: (13248,13304)(13248,13304) + PsiTypeQLElement(type_any) - Location: (13248,13260)(13248,13260) + PsiTypeQLType(type) - Name: duplicate-of - Location: (13248,13260)(13248,13260) + PsiTypeQLElement(label) - Location: (13248,13260)(13248,13260) + PsiElement(LABEL_)('duplicate-of')(13248,13260) + PsiWhiteSpace(' ')(13260,13261) + PsiTypeQLElement(type_constraint) - Location: (13261,13273)(13261,13273) + PsiElement(SUB_)('sub')(13261,13264) + PsiWhiteSpace(' ')(13264,13265) + PsiTypeQLElement(type_any) - Location: (13265,13273)(13265,13273) + PsiTypeQLElement(type) - Location: (13265,13273)(13265,13273) + PsiTypeQLElement(label) - Location: (13265,13273)(13265,13273) + PsiTypeQLElement(type_native) - Location: (13265,13273)(13265,13273) + PsiElement('relation')('relation')(13265,13273) + PsiElement(',')(',')(13273,13274) + PsiWhiteSpace('\n ')(13274,13279) + PsiTypeQLRelatesType(type_constraint) - Name: duplicated-object - Location: (13279,13304)(13279,13304) + PsiElement('relates')('relates')(13279,13286) + PsiWhiteSpace(' ')(13286,13287) + PsiTypeQLElement(type) - Location: (13287,13304)(13287,13304) + PsiTypeQLElement(label) - Location: (13287,13304)(13287,13304) + PsiElement(LABEL_)('duplicated-object')(13287,13304) + PsiElement(';')(';')(13304,13305) + PsiWhiteSpace('\n\n\n')(13305,13308) + PsiTypeQLElement(definable) - Location: (13308,13471)(13308,13471) + PsiTypeQLStatementType(statement_type) - Location: (13308,13471)(13308,13471) + PsiTypeQLElement(type_any) - Location: (13308,13316)(13308,13316) + PsiTypeQLType(type) - Name: sighting - Location: (13308,13316)(13308,13316) + PsiTypeQLElement(label) - Location: (13308,13316)(13308,13316) + PsiElement(LABEL_)('sighting')(13308,13316) + PsiWhiteSpace(' ')(13316,13317) + PsiTypeQLSubType(type_constraint) - Location: (13317,13343)(13317,13343) + PsiElement(SUB_)('sub')(13317,13320) + PsiWhiteSpace(' ')(13320,13321) + PsiTypeQLElement(type_any) - Location: (13321,13343)(13321,13343) + PsiTypeQLElement(type) - Location: (13321,13343)(13321,13343) + PsiTypeQLElement(label) - Location: (13321,13343)(13321,13343) + PsiElement(LABEL_)('stix-core-relationship')(13321,13343) + PsiElement(',')(',')(13343,13344) + PsiWhiteSpace('\n ')(13344,13349) + PsiTypeQLOwnsType(type_constraint) - Location: (13349,13364)(13349,13364) + PsiElement('owns')('owns')(13349,13353) + PsiWhiteSpace(' ')(13353,13354) + PsiTypeQLElement(type) - Location: (13354,13364)(13354,13364) + PsiTypeQLElement(label) - Location: (13354,13364)(13354,13364) + PsiElement(LABEL_)('first-seen')(13354,13364) + PsiTypeQLElement(annotations_owns) - Location: (13364,13364)(13364,13364) + + PsiElement(',')(',')(13364,13365) + PsiWhiteSpace('\n ')(13365,13370) + PsiTypeQLOwnsType(type_constraint) - Location: (13370,13384)(13370,13384) + PsiElement('owns')('owns')(13370,13374) + PsiWhiteSpace(' ')(13374,13375) + PsiTypeQLElement(type) - Location: (13375,13384)(13375,13384) + PsiTypeQLElement(label) - Location: (13375,13384)(13375,13384) + PsiElement(LABEL_)('last-seen')(13375,13384) + PsiTypeQLElement(annotations_owns) - Location: (13384,13384)(13384,13384) + + PsiElement(',')(',')(13384,13385) + PsiWhiteSpace('\n ')(13385,13390) + PsiTypeQLOwnsType(type_constraint) - Location: (13390,13400)(13390,13400) + PsiElement('owns')('owns')(13390,13394) + PsiWhiteSpace(' ')(13394,13395) + PsiTypeQLElement(type) - Location: (13395,13400)(13395,13400) + PsiTypeQLElement(label) - Location: (13395,13400)(13395,13400) + PsiTypeQLElement(unreserved) - Location: (13395,13400)(13395,13400) + PsiElement('count')('count')(13395,13400) + PsiTypeQLElement(annotations_owns) - Location: (13400,13400)(13400,13400) + + PsiElement(',')(',')(13400,13401) + PsiWhiteSpace('\n ')(13401,13406) + PsiTypeQLOwnsType(type_constraint) - Location: (13406,13418)(13406,13418) + PsiElement('owns')('owns')(13406,13410) + PsiWhiteSpace(' ')(13410,13411) + PsiTypeQLElement(type) - Location: (13411,13418)(13411,13418) + PsiTypeQLElement(label) - Location: (13411,13418)(13411,13418) + PsiElement(LABEL_)('summary')(13411,13418) + PsiTypeQLElement(annotations_owns) - Location: (13418,13418)(13418,13418) + + PsiElement(',')(',')(13418,13419) + PsiWhiteSpace('\n\n ')(13419,13425) + PsiTypeQLRelatesType(type_constraint) - Name: sighting-of - Location: (13425,13444)(13425,13444) + PsiElement('relates')('relates')(13425,13432) + PsiWhiteSpace(' ')(13432,13433) + PsiTypeQLElement(type) - Location: (13433,13444)(13433,13444) + PsiTypeQLElement(label) - Location: (13433,13444)(13433,13444) + PsiElement(LABEL_)('sighting-of')(13433,13444) + PsiElement(',')(',')(13444,13445) + PsiWhiteSpace('\n ')(13445,13450) + PsiTypeQLRelatesType(type_constraint) - Name: observed-data - Location: (13450,13471)(13450,13471) + PsiElement('relates')('relates')(13450,13457) + PsiWhiteSpace(' ')(13457,13458) + PsiTypeQLElement(type) - Location: (13458,13471)(13458,13471) + PsiTypeQLElement(label) - Location: (13458,13471)(13458,13471) + PsiElement(LABEL_)('observed-data')(13458,13471) + PsiElement(';')(';')(13471,13472) + PsiWhiteSpace('\n\n\n\n')(13472,13476) + PsiComment(COMMENT)('### 6 SCOs ###\n')(13476,13491) + PsiWhiteSpace('\n')(13491,13492) + PsiTypeQLElement(definable) - Location: (13492,13795)(13492,13795) + PsiTypeQLStatementType(statement_type) - Location: (13492,13795)(13492,13795) + PsiTypeQLElement(type_any) - Location: (13492,13500)(13492,13500) + PsiTypeQLType(type) - Name: artifact - Location: (13492,13500)(13492,13500) + PsiTypeQLElement(label) - Location: (13492,13500)(13492,13500) + PsiElement(LABEL_)('artifact')(13492,13500) + PsiWhiteSpace(' ')(13500,13501) + PsiTypeQLSubType(type_constraint) - Location: (13501,13533)(13501,13533) + PsiElement(SUB_)('sub')(13501,13504) + PsiWhiteSpace(' ')(13504,13505) + PsiTypeQLElement(type_any) - Location: (13505,13533)(13505,13533) + PsiTypeQLElement(type) - Location: (13505,13533)(13505,13533) + PsiTypeQLElement(label) - Location: (13505,13533)(13505,13533) + PsiElement(LABEL_)('stix-cyber-observable-object')(13505,13533) + PsiElement(',')(',')(13533,13534) + PsiWhiteSpace('\n ')(13534,13539) + PsiTypeQLOwnsType(type_constraint) - Location: (13539,13553)(13539,13553) + PsiElement('owns')('owns')(13539,13543) + PsiWhiteSpace(' ')(13543,13544) + PsiTypeQLElement(type) - Location: (13544,13553)(13544,13553) + PsiTypeQLElement(label) - Location: (13544,13553)(13544,13553) + PsiElement(LABEL_)('mime-type')(13544,13553) + PsiTypeQLElement(annotations_owns) - Location: (13553,13553)(13553,13553) + + PsiElement(',')(',')(13553,13554) + PsiWhiteSpace('\n ')(13554,13559) + PsiTypeQLOwnsType(type_constraint) - Location: (13559,13575)(13559,13575) + PsiElement('owns')('owns')(13559,13563) + PsiWhiteSpace(' ')(13563,13564) + PsiTypeQLElement(type) - Location: (13564,13575)(13564,13575) + PsiTypeQLElement(label) - Location: (13564,13575)(13564,13575) + PsiElement(LABEL_)('payload-bin')(13564,13575) + PsiTypeQLElement(annotations_owns) - Location: (13575,13575)(13575,13575) + + PsiElement(',')(',')(13575,13576) + PsiWhiteSpace('\n ')(13576,13581) + PsiTypeQLOwnsType(type_constraint) - Location: (13581,13594)(13581,13594) + PsiElement('owns')('owns')(13581,13585) + PsiWhiteSpace(' ')(13585,13586) + PsiTypeQLElement(type) - Location: (13586,13594)(13586,13594) + PsiTypeQLElement(label) - Location: (13586,13594)(13586,13594) + PsiElement(LABEL_)('url-link')(13586,13594) + PsiTypeQLElement(annotations_owns) - Location: (13594,13594)(13594,13594) + + PsiElement(',')(',')(13594,13595) + PsiWhiteSpace('\n ')(13595,13600) + PsiTypeQLOwnsType(type_constraint) - Location: (13600,13625)(13600,13625) + PsiElement('owns')('owns')(13600,13604) + PsiWhiteSpace(' ')(13604,13605) + PsiTypeQLElement(type) - Location: (13605,13625)(13605,13625) + PsiTypeQLElement(label) - Location: (13605,13625)(13605,13625) + PsiElement(LABEL_)('encryption-algorithm')(13605,13625) + PsiTypeQLElement(annotations_owns) - Location: (13625,13625)(13625,13625) + + PsiElement(',')(',')(13625,13626) + PsiWhiteSpace('\n ')(13626,13631) + PsiTypeQLOwnsType(type_constraint) - Location: (13631,13650)(13631,13650) + PsiElement('owns')('owns')(13631,13635) + PsiWhiteSpace(' ')(13635,13636) + PsiTypeQLElement(type) - Location: (13636,13650)(13636,13650) + PsiTypeQLElement(label) - Location: (13636,13650)(13636,13650) + PsiElement(LABEL_)('decryption-key')(13636,13650) + PsiTypeQLElement(annotations_owns) - Location: (13650,13650)(13650,13650) + + PsiElement(',')(',')(13650,13651) + PsiWhiteSpace('\n\n ')(13651,13657) + PsiComment(COMMENT)('# RRel\n')(13657,13664) + PsiWhiteSpace(' ')(13664,13668) + PsiTypeQLPlaysType(type_constraint) - Location: (13668,13693)(13668,13693) + PsiElement('plays')('plays')(13668,13673) + PsiWhiteSpace(' ')(13673,13674) + PsiTypeQLElement(type_scoped) - Location: (13674,13693)(13674,13693) + PsiTypeQLElement(label_scoped) - Location: (13674,13693)(13674,13693) + PsiElement(LABEL_SCOPED_)('body-raw-ref:target')(13674,13693) + PsiElement(',')(',')(13693,13694) + PsiWhiteSpace('\n ')(13694,13699) + PsiTypeQLPlaysType(type_constraint) - Location: (13699,13725)(13699,13725) + PsiElement('plays')('plays')(13699,13704) + PsiWhiteSpace(' ')(13704,13705) + PsiTypeQLElement(type_scoped) - Location: (13705,13725)(13705,13725) + PsiTypeQLElement(label_scoped) - Location: (13705,13725)(13705,13725) + PsiElement(LABEL_SCOPED_)('raw-email-ref:target')(13705,13725) + PsiElement(',')(',')(13725,13726) + PsiWhiteSpace('\n ')(13726,13731) + PsiTypeQLPlaysType(type_constraint) - Location: (13731,13755)(13731,13755) + PsiElement('plays')('plays')(13731,13736) + PsiWhiteSpace(' ')(13736,13737) + PsiTypeQLElement(type_scoped) - Location: (13737,13755)(13737,13755) + PsiTypeQLElement(label_scoped) - Location: (13737,13755)(13737,13755) + PsiElement(LABEL_SCOPED_)('content-ref:target')(13737,13755) + PsiElement(',')(',')(13755,13756) + PsiWhiteSpace('\n ')(13756,13761) + PsiTypeQLPlaysType(type_constraint) - Location: (13761,13795)(13761,13795) + PsiElement('plays')('plays')(13761,13766) + PsiWhiteSpace(' ')(13766,13767) + PsiTypeQLElement(type_scoped) - Location: (13767,13795)(13767,13795) + PsiTypeQLElement(label_scoped) - Location: (13767,13795)(13767,13795) + PsiElement(LABEL_SCOPED_)('message-body-data-ref:target')(13767,13795) + PsiElement(';')(';')(13795,13796) + PsiWhiteSpace('\n\n')(13796,13798) + PsiTypeQLElement(definable) - Location: (13798,13943)(13798,13943) + PsiTypeQLStatementType(statement_type) - Location: (13798,13943)(13798,13943) + PsiTypeQLElement(type_any) - Location: (13798,13815)(13798,13815) + PsiTypeQLType(type) - Name: autonomous-system - Location: (13798,13815)(13798,13815) + PsiTypeQLElement(label) - Location: (13798,13815)(13798,13815) + PsiElement(LABEL_)('autonomous-system')(13798,13815) + PsiWhiteSpace(' ')(13815,13816) + PsiTypeQLSubType(type_constraint) - Location: (13816,13848)(13816,13848) + PsiElement(SUB_)('sub')(13816,13819) + PsiWhiteSpace(' ')(13819,13820) + PsiTypeQLElement(type_any) - Location: (13820,13848)(13820,13848) + PsiTypeQLElement(type) - Location: (13820,13848)(13820,13848) + PsiTypeQLElement(label) - Location: (13820,13848)(13820,13848) + PsiElement(LABEL_)('stix-cyber-observable-object')(13820,13848) + PsiElement(',')(',')(13848,13849) + PsiWhiteSpace('\n ')(13849,13854) + PsiTypeQLOwnsType(type_constraint) - Location: (13854,13865)(13854,13865) + PsiElement('owns')('owns')(13854,13858) + PsiWhiteSpace(' ')(13858,13859) + PsiTypeQLElement(type) - Location: (13859,13865)(13859,13865) + PsiTypeQLElement(label) - Location: (13859,13865)(13859,13865) + PsiElement(LABEL_)('number')(13859,13865) + PsiTypeQLElement(annotations_owns) - Location: (13865,13865)(13865,13865) + + PsiElement(',')(',')(13865,13866) + PsiWhiteSpace('\n ')(13866,13871) + PsiTypeQLOwnsType(type_constraint) - Location: (13871,13880)(13871,13880) + PsiElement('owns')('owns')(13871,13875) + PsiWhiteSpace(' ')(13875,13876) + PsiTypeQLElement(type) - Location: (13876,13880)(13876,13880) + PsiTypeQLElement(label) - Location: (13876,13880)(13876,13880) + PsiElement(LABEL_)('name')(13876,13880) + PsiTypeQLElement(annotations_owns) - Location: (13880,13880)(13880,13880) + + PsiElement(',')(',')(13880,13881) + PsiWhiteSpace('\n ')(13881,13886) + PsiTypeQLOwnsType(type_constraint) - Location: (13886,13894)(13886,13894) + PsiElement('owns')('owns')(13886,13890) + PsiWhiteSpace(' ')(13890,13891) + PsiTypeQLElement(type) - Location: (13891,13894)(13891,13894) + PsiTypeQLElement(label) - Location: (13891,13894)(13891,13894) + PsiElement(LABEL_)('rir')(13891,13894) + PsiTypeQLElement(annotations_owns) - Location: (13894,13894)(13894,13894) + + PsiElement(',')(',')(13894,13895) + PsiWhiteSpace('\n\n ')(13895,13901) + PsiComment(COMMENT)('# RRel\n')(13901,13908) + PsiWhiteSpace(' ')(13908,13912) + PsiTypeQLPlaysType(type_constraint) - Location: (13912,13943)(13912,13943) + PsiElement('plays')('plays')(13912,13917) + PsiWhiteSpace(' ')(13917,13918) + PsiTypeQLElement(type_scoped) - Location: (13918,13943)(13918,13943) + PsiTypeQLElement(label_scoped) - Location: (13918,13943)(13918,13943) + PsiElement(LABEL_SCOPED_)('belongs-to-refs:belonging')(13918,13943) + PsiElement(';')(';')(13943,13944) + PsiWhiteSpace('\n\n')(13944,13946) + PsiTypeQLElement(definable) - Location: (13946,14166)(13946,14166) + PsiTypeQLStatementType(statement_type) - Location: (13946,14166)(13946,14166) + PsiTypeQLElement(type_any) - Location: (13946,13955)(13946,13955) + PsiTypeQLType(type) - Name: directory - Location: (13946,13955)(13946,13955) + PsiTypeQLElement(label) - Location: (13946,13955)(13946,13955) + PsiElement(LABEL_)('directory')(13946,13955) + PsiWhiteSpace(' ')(13955,13956) + PsiTypeQLSubType(type_constraint) - Location: (13956,13988)(13956,13988) + PsiElement(SUB_)('sub')(13956,13959) + PsiWhiteSpace(' ')(13959,13960) + PsiTypeQLElement(type_any) - Location: (13960,13988)(13960,13988) + PsiTypeQLElement(type) - Location: (13960,13988)(13960,13988) + PsiTypeQLElement(label) - Location: (13960,13988)(13960,13988) + PsiElement(LABEL_)('stix-cyber-observable-object')(13960,13988) + PsiElement(',')(',')(13988,13989) + PsiWhiteSpace('\n ')(13989,13994) + PsiTypeQLOwnsType(type_constraint) - Location: (13994,14003)(13994,14003) + PsiElement('owns')('owns')(13994,13998) + PsiWhiteSpace(' ')(13998,13999) + PsiTypeQLElement(type) - Location: (13999,14003)(13999,14003) + PsiTypeQLElement(label) - Location: (13999,14003)(13999,14003) + PsiElement(LABEL_)('path')(13999,14003) + PsiTypeQLElement(annotations_owns) - Location: (14003,14003)(14003,14003) + + PsiElement(',')(',')(14003,14004) + PsiWhiteSpace('\n ')(14004,14009) + PsiTypeQLOwnsType(type_constraint) - Location: (14009,14022)(14009,14022) + PsiElement('owns')('owns')(14009,14013) + PsiWhiteSpace(' ')(14013,14014) + PsiTypeQLElement(type) - Location: (14014,14022)(14014,14022) + PsiTypeQLElement(label) - Location: (14014,14022)(14014,14022) + PsiElement(LABEL_)('path-enc')(14014,14022) + PsiTypeQLElement(annotations_owns) - Location: (14022,14022)(14022,14022) + + PsiElement(',')(',')(14022,14023) + PsiWhiteSpace('\n ')(14023,14028) + PsiTypeQLOwnsType(type_constraint) - Location: (14028,14038)(14028,14038) + PsiElement('owns')('owns')(14028,14032) + PsiWhiteSpace(' ')(14032,14033) + PsiTypeQLElement(type) - Location: (14033,14038)(14033,14038) + PsiTypeQLElement(label) - Location: (14033,14038)(14033,14038) + PsiElement(LABEL_)('ctime')(14033,14038) + PsiTypeQLElement(annotations_owns) - Location: (14038,14038)(14038,14038) + + PsiElement(',')(',')(14038,14039) + PsiWhiteSpace('\n ')(14039,14044) + PsiTypeQLOwnsType(type_constraint) - Location: (14044,14054)(14044,14054) + PsiElement('owns')('owns')(14044,14048) + PsiWhiteSpace(' ')(14048,14049) + PsiTypeQLElement(type) - Location: (14049,14054)(14049,14054) + PsiTypeQLElement(label) - Location: (14049,14054)(14049,14054) + PsiElement(LABEL_)('mtime')(14049,14054) + PsiTypeQLElement(annotations_owns) - Location: (14054,14054)(14054,14054) + + PsiElement(',')(',')(14054,14055) + PsiWhiteSpace('\n ')(14055,14060) + PsiTypeQLOwnsType(type_constraint) - Location: (14060,14070)(14060,14070) + PsiElement('owns')('owns')(14060,14064) + PsiWhiteSpace(' ')(14064,14065) + PsiTypeQLElement(type) - Location: (14065,14070)(14065,14070) + PsiTypeQLElement(label) - Location: (14065,14070)(14065,14070) + PsiElement(LABEL_)('atime')(14065,14070) + PsiTypeQLElement(annotations_owns) - Location: (14070,14070)(14070,14070) + + PsiElement(',')(',')(14070,14071) + PsiWhiteSpace('\n\n ')(14071,14077) + PsiComment(COMMENT)('# Rel\n')(14077,14083) + PsiWhiteSpace(' ')(14083,14087) + PsiTypeQLPlaysType(type_constraint) - Location: (14087,14115)(14087,14115) + PsiElement('plays')('plays')(14087,14092) + PsiWhiteSpace(' ')(14092,14093) + PsiTypeQLElement(type_scoped) - Location: (14093,14115)(14093,14115) + PsiTypeQLElement(label_scoped) - Location: (14093,14115)(14093,14115) + PsiElement(LABEL_SCOPED_)('contains-ref:contained')(14093,14115) + PsiElement(',')(',')(14115,14116) + PsiWhiteSpace('\n\n ')(14116,14122) + PsiComment(COMMENT)('# RRel\n')(14122,14129) + PsiWhiteSpace(' ')(14129,14133) + PsiTypeQLPlaysType(type_constraint) - Location: (14133,14166)(14133,14166) + PsiElement('plays')('plays')(14133,14138) + PsiWhiteSpace(' ')(14138,14139) + PsiTypeQLElement(type_scoped) - Location: (14139,14166)(14139,14166) + PsiTypeQLElement(label_scoped) - Location: (14139,14166)(14139,14166) + PsiElement(LABEL_SCOPED_)('parent-directory-ref:target')(14139,14166) + PsiElement(';')(';')(14166,14167) + PsiWhiteSpace('\n\n')(14167,14169) + PsiTypeQLElement(definable) - Location: (14169,14374)(14169,14374) + PsiTypeQLStatementType(statement_type) - Location: (14169,14374)(14169,14374) + PsiTypeQLElement(type_any) - Location: (14169,14180)(14169,14180) + PsiTypeQLType(type) - Name: domain-name - Location: (14169,14180)(14169,14180) + PsiTypeQLElement(label) - Location: (14169,14180)(14169,14180) + PsiElement(LABEL_)('domain-name')(14169,14180) + PsiWhiteSpace(' ')(14180,14181) + PsiTypeQLSubType(type_constraint) - Location: (14181,14213)(14181,14213) + PsiElement(SUB_)('sub')(14181,14184) + PsiWhiteSpace(' ')(14184,14185) + PsiTypeQLElement(type_any) - Location: (14185,14213)(14185,14213) + PsiTypeQLElement(type) - Location: (14185,14213)(14185,14213) + PsiTypeQLElement(label) - Location: (14185,14213)(14185,14213) + PsiElement(LABEL_)('stix-cyber-observable-object')(14185,14213) + PsiElement(',')(',')(14213,14214) + PsiWhiteSpace('\n ')(14214,14219) + PsiTypeQLOwnsType(type_constraint) - Location: (14219,14234)(14219,14234) + PsiElement('owns')('owns')(14219,14223) + PsiWhiteSpace(' ')(14223,14224) + PsiTypeQLElement(type) - Location: (14224,14234)(14224,14234) + PsiTypeQLElement(label) - Location: (14224,14234)(14224,14234) + PsiElement(LABEL_)('stix-value')(14224,14234) + PsiTypeQLElement(annotations_owns) - Location: (14234,14234)(14234,14234) + + PsiElement(',')(',')(14234,14235) + PsiWhiteSpace('\n\n ')(14235,14241) + PsiComment(COMMENT)('# Rel\n')(14241,14247) + PsiWhiteSpace(' ')(14247,14251) + PsiTypeQLPlaysType(type_constraint) - Location: (14251,14282)(14251,14282) + PsiElement('plays')('plays')(14251,14256) + PsiWhiteSpace(' ')(14256,14257) + PsiTypeQLElement(type_scoped) - Location: (14257,14282)(14257,14282) + PsiTypeQLElement(label_scoped) - Location: (14257,14282)(14257,14282) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolved')(14257,14282) + PsiElement(',')(',')(14282,14283) + PsiWhiteSpace('\n\n ')(14283,14289) + PsiComment(COMMENT)('# RRel\n')(14289,14296) + PsiWhiteSpace(' ')(14296,14300) + PsiTypeQLPlaysType(type_constraint) - Location: (14300,14332)(14300,14332) + PsiElement('plays')('plays')(14300,14305) + PsiWhiteSpace(' ')(14305,14306) + PsiTypeQLElement(type_scoped) - Location: (14306,14332)(14306,14332) + PsiTypeQLElement(label_scoped) - Location: (14306,14332)(14306,14332) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolving')(14306,14332) + PsiElement(',')(',')(14332,14333) + PsiWhiteSpace('\n ')(14333,14338) + PsiTypeQLPlaysType(type_constraint) - Location: (14338,14374)(14338,14374) + PsiElement('plays')('plays')(14338,14343) + PsiWhiteSpace(' ')(14343,14344) + PsiTypeQLElement(type_scoped) - Location: (14344,14374)(14344,14374) + PsiTypeQLElement(label_scoped) - Location: (14344,14374)(14344,14374) + PsiElement(LABEL_SCOPED_)('communicates-with:communicated')(14344,14374) + PsiElement(';')(';')(14374,14375) + PsiWhiteSpace('\n\n\n')(14375,14378) + PsiTypeQLElement(definable) - Location: (14378,14644)(14378,14644) + PsiTypeQLStatementType(statement_type) - Location: (14378,14644)(14378,14644) + PsiTypeQLElement(type_any) - Location: (14378,14388)(14378,14388) + PsiTypeQLType(type) - Name: email-addr - Location: (14378,14388)(14378,14388) + PsiTypeQLElement(label) - Location: (14378,14388)(14378,14388) + PsiElement(LABEL_)('email-addr')(14378,14388) + PsiWhiteSpace(' ')(14388,14389) + PsiTypeQLSubType(type_constraint) - Location: (14389,14421)(14389,14421) + PsiElement(SUB_)('sub')(14389,14392) + PsiWhiteSpace(' ')(14392,14393) + PsiTypeQLElement(type_any) - Location: (14393,14421)(14393,14421) + PsiTypeQLElement(type) - Location: (14393,14421)(14393,14421) + PsiTypeQLElement(label) - Location: (14393,14421)(14393,14421) + PsiElement(LABEL_)('stix-cyber-observable-object')(14393,14421) + PsiElement(',')(',')(14421,14422) + PsiWhiteSpace('\n ')(14422,14427) + PsiTypeQLOwnsType(type_constraint) - Location: (14427,14442)(14427,14442) + PsiElement('owns')('owns')(14427,14431) + PsiWhiteSpace(' ')(14431,14432) + PsiTypeQLElement(type) - Location: (14432,14442)(14432,14442) + PsiTypeQLElement(label) - Location: (14432,14442)(14432,14442) + PsiElement(LABEL_)('stix-value')(14432,14442) + PsiTypeQLElement(annotations_owns) - Location: (14442,14442)(14442,14442) + + PsiElement(',')(',')(14442,14443) + PsiWhiteSpace('\n ')(14443,14448) + PsiTypeQLOwnsType(type_constraint) - Location: (14448,14465)(14448,14465) + PsiElement('owns')('owns')(14448,14452) + PsiWhiteSpace(' ')(14452,14453) + PsiTypeQLElement(type) - Location: (14453,14465)(14453,14465) + PsiTypeQLElement(label) - Location: (14453,14465)(14453,14465) + PsiElement(LABEL_)('display-name')(14453,14465) + PsiTypeQLElement(annotations_owns) - Location: (14465,14465)(14465,14465) + + PsiElement(',')(',')(14465,14466) + PsiWhiteSpace('\n\n ')(14466,14472) + PsiComment(COMMENT)('# Rel\n')(14472,14478) + PsiWhiteSpace(' ')(14478,14482) + PsiTypeQLPlaysType(type_constraint) - Location: (14482,14509)(14482,14509) + PsiElement('plays')('plays')(14482,14487) + PsiWhiteSpace(' ')(14487,14488) + PsiTypeQLElement(type_scoped) - Location: (14488,14509)(14488,14509) + PsiTypeQLElement(label_scoped) - Location: (14488,14509)(14488,14509) + PsiElement(LABEL_SCOPED_)('belongs-to-ref:source')(14488,14509) + PsiElement(',')(',')(14509,14510) + PsiWhiteSpace('\n\n ')(14510,14516) + PsiComment(COMMENT)('# RRel\n')(14516,14523) + PsiWhiteSpace(' ')(14523,14527) + PsiTypeQLPlaysType(type_constraint) - Location: (14527,14548)(14527,14548) + PsiElement('plays')('plays')(14527,14532) + PsiWhiteSpace(' ')(14532,14533) + PsiTypeQLElement(type_scoped) - Location: (14533,14548)(14533,14548) + PsiTypeQLElement(label_scoped) - Location: (14533,14548)(14533,14548) + PsiElement(LABEL_SCOPED_)('from-ref:target')(14533,14548) + PsiElement(',')(',')(14548,14549) + PsiWhiteSpace('\n ')(14549,14554) + PsiTypeQLPlaysType(type_constraint) - Location: (14554,14577)(14554,14577) + PsiElement('plays')('plays')(14554,14559) + PsiWhiteSpace(' ')(14559,14560) + PsiTypeQLElement(type_scoped) - Location: (14560,14577)(14560,14577) + PsiTypeQLElement(label_scoped) - Location: (14560,14577)(14560,14577) + PsiElement(LABEL_SCOPED_)('sender-ref:target')(14560,14577) + PsiElement(',')(',')(14577,14578) + PsiWhiteSpace('\n ')(14578,14583) + PsiTypeQLPlaysType(type_constraint) - Location: (14583,14599)(14583,14599) + PsiElement('plays')('plays')(14583,14588) + PsiWhiteSpace(' ')(14588,14589) + PsiTypeQLElement(type_scoped) - Location: (14589,14599)(14589,14599) + PsiTypeQLElement(label_scoped) - Location: (14589,14599)(14589,14599) + PsiElement(LABEL_SCOPED_)('to-refs:to')(14589,14599) + PsiElement(',')(',')(14599,14600) + PsiWhiteSpace('\n ')(14600,14605) + PsiTypeQLPlaysType(type_constraint) - Location: (14605,14621)(14605,14621) + PsiElement('plays')('plays')(14605,14610) + PsiWhiteSpace(' ')(14610,14611) + PsiTypeQLElement(type_scoped) - Location: (14611,14621)(14611,14621) + PsiTypeQLElement(label_scoped) - Location: (14611,14621)(14611,14621) + PsiElement(LABEL_SCOPED_)('cc-refs:to')(14611,14621) + PsiElement(',')(',')(14621,14622) + PsiWhiteSpace('\n ')(14622,14627) + PsiTypeQLPlaysType(type_constraint) - Location: (14627,14644)(14627,14644) + PsiElement('plays')('plays')(14627,14632) + PsiWhiteSpace(' ')(14632,14633) + PsiTypeQLElement(type_scoped) - Location: (14633,14644)(14633,14644) + PsiTypeQLElement(label_scoped) - Location: (14633,14644)(14633,14644) + PsiElement(LABEL_SCOPED_)('bcc-refs:to')(14633,14644) + PsiElement(';')(';')(14644,14645) + PsiWhiteSpace('\n\n')(14645,14647) + PsiTypeQLElement(definable) - Location: (14647,15041)(14647,15041) + PsiTypeQLStatementType(statement_type) - Location: (14647,15041)(14647,15041) + PsiTypeQLElement(type_any) - Location: (14647,14660)(14647,14660) + PsiTypeQLType(type) - Name: email-message - Location: (14647,14660)(14647,14660) + PsiTypeQLElement(label) - Location: (14647,14660)(14647,14660) + PsiElement(LABEL_)('email-message')(14647,14660) + PsiWhiteSpace(' ')(14660,14661) + PsiTypeQLSubType(type_constraint) - Location: (14661,14693)(14661,14693) + PsiElement(SUB_)('sub')(14661,14664) + PsiWhiteSpace(' ')(14664,14665) + PsiTypeQLElement(type_any) - Location: (14665,14693)(14665,14693) + PsiTypeQLElement(type) - Location: (14665,14693)(14665,14693) + PsiTypeQLElement(label) - Location: (14665,14693)(14665,14693) + PsiElement(LABEL_)('stix-cyber-observable-object')(14665,14693) + PsiElement(',')(',')(14693,14694) + PsiWhiteSpace('\n ')(14694,14699) + PsiTypeQLOwnsType(type_constraint) - Location: (14699,14716)(14699,14716) + PsiElement('owns')('owns')(14699,14703) + PsiWhiteSpace(' ')(14703,14704) + PsiTypeQLElement(type) - Location: (14704,14716)(14704,14716) + PsiTypeQLElement(label) - Location: (14704,14716)(14704,14716) + PsiElement(LABEL_)('is-multipart')(14704,14716) + PsiTypeQLElement(annotations_owns) - Location: (14716,14716)(14716,14716) + + PsiElement(',')(',')(14716,14717) + PsiWhiteSpace('\n ')(14717,14722) + PsiTypeQLOwnsType(type_constraint) - Location: (14722,14731)(14722,14731) + PsiElement('owns')('owns')(14722,14726) + PsiWhiteSpace(' ')(14726,14727) + PsiTypeQLElement(type) - Location: (14727,14731)(14727,14731) + PsiTypeQLElement(label) - Location: (14727,14731)(14727,14731) + PsiElement(LABEL_)('date')(14727,14731) + PsiTypeQLElement(annotations_owns) - Location: (14731,14731)(14731,14731) + + PsiElement(',')(',')(14731,14732) + PsiWhiteSpace('\n ')(14732,14737) + PsiTypeQLOwnsType(type_constraint) - Location: (14737,14754)(14737,14754) + PsiElement('owns')('owns')(14737,14741) + PsiWhiteSpace(' ')(14741,14742) + PsiTypeQLElement(type) - Location: (14742,14754)(14742,14754) + PsiTypeQLElement(label) - Location: (14742,14754)(14742,14754) + PsiElement(LABEL_)('content-type')(14742,14754) + PsiTypeQLElement(annotations_owns) - Location: (14754,14754)(14754,14754) + + PsiElement(',')(',')(14754,14755) + PsiWhiteSpace('\n ')(14755,14760) + PsiTypeQLOwnsType(type_constraint) - Location: (14760,14775)(14760,14775) + PsiElement('owns')('owns')(14760,14764) + PsiWhiteSpace(' ')(14764,14765) + PsiTypeQLElement(type) - Location: (14765,14775)(14765,14775) + PsiTypeQLElement(label) - Location: (14765,14775)(14765,14775) + PsiElement(LABEL_)('message-id')(14765,14775) + PsiTypeQLElement(annotations_owns) - Location: (14775,14775)(14775,14775) + + PsiElement(',')(',')(14775,14776) + PsiWhiteSpace('\n ')(14776,14781) + PsiTypeQLOwnsType(type_constraint) - Location: (14781,14793)(14781,14793) + PsiElement('owns')('owns')(14781,14785) + PsiWhiteSpace(' ')(14785,14786) + PsiTypeQLElement(type) - Location: (14786,14793)(14786,14793) + PsiTypeQLElement(label) - Location: (14786,14793)(14786,14793) + PsiElement(LABEL_)('subject')(14786,14793) + PsiTypeQLElement(annotations_owns) - Location: (14793,14793)(14793,14793) + + PsiElement(',')(',')(14793,14794) + PsiWhiteSpace('\n ')(14794,14799) + PsiTypeQLOwnsType(type_constraint) - Location: (14799,14808)(14799,14808) + PsiElement('owns')('owns')(14799,14803) + PsiWhiteSpace(' ')(14803,14804) + PsiTypeQLElement(type) - Location: (14804,14808)(14804,14808) + PsiTypeQLElement(label) - Location: (14804,14808)(14804,14808) + PsiElement(LABEL_)('body')(14804,14808) + PsiTypeQLElement(annotations_owns) - Location: (14808,14808)(14808,14808) + + PsiElement(',')(',')(14808,14809) + PsiWhiteSpace('\n\n ')(14809,14815) + PsiComment(COMMENT)('# Rel\n')(14815,14821) + PsiWhiteSpace(' ')(14821,14825) + PsiTypeQLPlaysType(type_constraint) - Location: (14825,14846)(14825,14846) + PsiElement('plays')('plays')(14825,14830) + PsiWhiteSpace(' ')(14830,14831) + PsiTypeQLElement(type_scoped) - Location: (14831,14846)(14831,14846) + PsiTypeQLElement(label_scoped) - Location: (14831,14846)(14831,14846) + PsiElement(LABEL_SCOPED_)('from-ref:source')(14831,14846) + PsiElement(',')(',')(14846,14847) + PsiWhiteSpace('\n ')(14847,14852) + PsiTypeQLPlaysType(type_constraint) - Location: (14852,14875)(14852,14875) + PsiElement('plays')('plays')(14852,14857) + PsiWhiteSpace(' ')(14857,14858) + PsiTypeQLElement(type_scoped) - Location: (14858,14875)(14858,14875) + PsiTypeQLElement(label_scoped) - Location: (14858,14875)(14858,14875) + PsiElement(LABEL_SCOPED_)('sender-ref:source')(14858,14875) + PsiElement(',')(',')(14875,14876) + PsiWhiteSpace('\n ')(14876,14881) + PsiTypeQLPlaysType(type_constraint) - Location: (14881,14899)(14881,14899) + PsiElement('plays')('plays')(14881,14886) + PsiWhiteSpace(' ')(14886,14887) + PsiTypeQLElement(type_scoped) - Location: (14887,14899)(14887,14899) + PsiTypeQLElement(label_scoped) - Location: (14887,14899)(14887,14899) + PsiElement(LABEL_SCOPED_)('to-refs:from')(14887,14899) + PsiElement(',')(',')(14899,14900) + PsiWhiteSpace('\n ')(14900,14905) + PsiTypeQLPlaysType(type_constraint) - Location: (14905,14923)(14905,14923) + PsiElement('plays')('plays')(14905,14910) + PsiWhiteSpace(' ')(14910,14911) + PsiTypeQLElement(type_scoped) - Location: (14911,14923)(14911,14923) + PsiTypeQLElement(label_scoped) - Location: (14911,14923)(14911,14923) + PsiElement(LABEL_SCOPED_)('cc-refs:from')(14911,14923) + PsiElement(',')(',')(14923,14924) + PsiWhiteSpace('\n ')(14924,14929) + PsiTypeQLPlaysType(type_constraint) - Location: (14929,14948)(14929,14948) + PsiElement('plays')('plays')(14929,14934) + PsiWhiteSpace(' ')(14934,14935) + PsiTypeQLElement(type_scoped) - Location: (14935,14948)(14935,14948) + PsiTypeQLElement(label_scoped) - Location: (14935,14948)(14935,14948) + PsiElement(LABEL_SCOPED_)('bcc-refs:from')(14935,14948) + PsiElement(',')(',')(14948,14949) + PsiWhiteSpace('\n ')(14949,14954) + PsiTypeQLPlaysType(type_constraint) - Location: (14954,14980)(14954,14980) + PsiElement('plays')('plays')(14954,14959) + PsiWhiteSpace(' ')(14959,14960) + PsiTypeQLElement(type_scoped) - Location: (14960,14980)(14960,14980) + PsiTypeQLElement(label_scoped) - Location: (14960,14980)(14960,14980) + PsiElement(LABEL_SCOPED_)('received-lines:owner')(14960,14980) + PsiElement(',')(',')(14980,14981) + PsiWhiteSpace('\n ')(14981,14986) + PsiTypeQLPlaysType(type_constraint) - Location: (14986,15009)(14986,15009) + PsiElement('plays')('plays')(14986,14991) + PsiWhiteSpace(' ')(14991,14992) + PsiTypeQLElement(type_scoped) - Location: (14992,15009)(14992,15009) + PsiTypeQLElement(label_scoped) - Location: (14992,15009)(14992,15009) + PsiElement(LABEL_SCOPED_)('body-multipart:to')(14992,15009) + PsiElement(',')(',')(15009,15010) + PsiWhiteSpace('\n ')(15010,15015) + PsiTypeQLPlaysType(type_constraint) - Location: (15015,15041)(15015,15041) + PsiElement('plays')('plays')(15015,15020) + PsiWhiteSpace(' ')(15020,15021) + PsiTypeQLElement(type_scoped) - Location: (15021,15041)(15021,15041) + PsiTypeQLElement(label_scoped) - Location: (15021,15041)(15021,15041) + PsiElement(LABEL_SCOPED_)('raw-email-ref:source')(15021,15041) + PsiElement(';')(';')(15041,15042) + PsiWhiteSpace('\n\n\n')(15042,15045) + PsiTypeQLElement(definable) - Location: (15045,15233)(15045,15233) + PsiTypeQLStatementType(statement_type) - Location: (15045,15233)(15045,15233) + PsiTypeQLElement(type_any) - Location: (15045,15060)(15045,15060) + PsiTypeQLType(type) - Name: email-mime-part - Location: (15045,15060)(15045,15060) + PsiTypeQLElement(label) - Location: (15045,15060)(15045,15060) + PsiElement(LABEL_)('email-mime-part')(15045,15060) + PsiWhiteSpace(' ')(15060,15061) + PsiTypeQLSubType(type_constraint) - Location: (15061,15080)(15061,15080) + PsiElement(SUB_)('sub')(15061,15064) + PsiWhiteSpace(' ')(15064,15065) + PsiTypeQLElement(type_any) - Location: (15065,15080)(15065,15080) + PsiTypeQLElement(type) - Location: (15065,15080)(15065,15080) + PsiTypeQLElement(label) - Location: (15065,15080)(15065,15080) + PsiElement(LABEL_)('stix-sub-object')(15065,15080) + PsiElement(',')(',')(15080,15081) + PsiWhiteSpace('\n ')(15081,15086) + PsiTypeQLOwnsType(type_constraint) - Location: (15086,15095)(15086,15095) + PsiElement('owns')('owns')(15086,15090) + PsiWhiteSpace(' ')(15090,15091) + PsiTypeQLElement(type) - Location: (15091,15095)(15091,15095) + PsiTypeQLElement(label) - Location: (15091,15095)(15091,15095) + PsiElement(LABEL_)('body')(15091,15095) + PsiTypeQLElement(annotations_owns) - Location: (15095,15095)(15095,15095) + + PsiElement(',')(',')(15095,15096) + PsiWhiteSpace('\n ')(15096,15101) + PsiTypeQLOwnsType(type_constraint) - Location: (15101,15118)(15101,15118) + PsiElement('owns')('owns')(15101,15105) + PsiWhiteSpace(' ')(15105,15106) + PsiTypeQLElement(type) - Location: (15106,15118)(15106,15118) + PsiTypeQLElement(label) - Location: (15106,15118)(15106,15118) + PsiElement(LABEL_)('content-type')(15106,15118) + PsiTypeQLElement(annotations_owns) - Location: (15118,15118)(15118,15118) + + PsiElement(',')(',')(15118,15119) + PsiWhiteSpace('\n ')(15119,15124) + PsiTypeQLOwnsType(type_constraint) - Location: (15124,15148)(15124,15148) + PsiElement('owns')('owns')(15124,15128) + PsiWhiteSpace(' ')(15128,15129) + PsiTypeQLElement(type) - Location: (15129,15148)(15129,15148) + PsiTypeQLElement(label) - Location: (15129,15148)(15129,15148) + PsiElement(LABEL_)('content-disposition')(15129,15148) + PsiTypeQLElement(annotations_owns) - Location: (15148,15148)(15148,15148) + + PsiElement(',')(',')(15148,15149) + PsiWhiteSpace('\n\n ')(15149,15155) + PsiComment(COMMENT)('# Rel\n')(15155,15161) + PsiWhiteSpace(' ')(15161,15165) + PsiTypeQLPlaysType(type_constraint) - Location: (15165,15190)(15165,15190) + PsiElement('plays')('plays')(15165,15170) + PsiWhiteSpace(' ')(15170,15171) + PsiTypeQLElement(type_scoped) - Location: (15171,15190)(15171,15190) + PsiTypeQLElement(label_scoped) - Location: (15171,15190)(15171,15190) + PsiElement(LABEL_SCOPED_)('body-raw-ref:source')(15171,15190) + PsiElement(',')(',')(15190,15191) + PsiWhiteSpace('\n\n ')(15191,15197) + PsiComment(COMMENT)('# RRel\n')(15197,15204) + PsiWhiteSpace(' ')(15204,15208) + PsiTypeQLPlaysType(type_constraint) - Location: (15208,15233)(15208,15233) + PsiElement('plays')('plays')(15208,15213) + PsiWhiteSpace(' ')(15213,15214) + PsiTypeQLElement(type_scoped) - Location: (15214,15233)(15214,15233) + PsiTypeQLElement(label_scoped) - Location: (15214,15233)(15214,15233) + PsiElement(LABEL_SCOPED_)('body-multipart:from')(15214,15233) + PsiElement(';')(';')(15233,15234) + PsiWhiteSpace('\n\n')(15234,15236) + PsiTypeQLElement(definable) - Location: (15236,15696)(15236,15696) + PsiTypeQLStatementType(statement_type) - Location: (15236,15696)(15236,15696) + PsiTypeQLElement(type_any) - Location: (15236,15240)(15236,15240) + PsiTypeQLType(type) - Name: file - Location: (15236,15240)(15236,15240) + PsiTypeQLElement(label) - Location: (15236,15240)(15236,15240) + PsiElement(LABEL_)('file')(15236,15240) + PsiWhiteSpace(' ')(15240,15241) + PsiTypeQLSubType(type_constraint) - Location: (15241,15273)(15241,15273) + PsiElement(SUB_)('sub')(15241,15244) + PsiWhiteSpace(' ')(15244,15245) + PsiTypeQLElement(type_any) - Location: (15245,15273)(15245,15273) + PsiTypeQLElement(type) - Location: (15245,15273)(15245,15273) + PsiTypeQLElement(label) - Location: (15245,15273)(15245,15273) + PsiElement(LABEL_)('stix-cyber-observable-object')(15245,15273) + PsiElement(',')(',')(15273,15274) + PsiWhiteSpace('\n ')(15274,15279) + PsiTypeQLOwnsType(type_constraint) - Location: (15279,15288)(15279,15288) + PsiElement('owns')('owns')(15279,15283) + PsiWhiteSpace(' ')(15283,15284) + PsiTypeQLElement(type) - Location: (15284,15288)(15284,15288) + PsiTypeQLElement(label) - Location: (15284,15288)(15284,15288) + PsiElement(LABEL_)('size')(15284,15288) + PsiTypeQLElement(annotations_owns) - Location: (15288,15288)(15288,15288) + + PsiElement(',')(',')(15288,15289) + PsiWhiteSpace('\n ')(15289,15294) + PsiTypeQLOwnsType(type_constraint) - Location: (15294,15303)(15294,15303) + PsiElement('owns')('owns')(15294,15298) + PsiWhiteSpace(' ')(15298,15299) + PsiTypeQLElement(type) - Location: (15299,15303)(15299,15303) + PsiTypeQLElement(label) - Location: (15299,15303)(15299,15303) + PsiElement(LABEL_)('name')(15299,15303) + PsiTypeQLElement(annotations_owns) - Location: (15303,15303)(15303,15303) + + PsiElement(',')(',')(15303,15304) + PsiWhiteSpace('\n ')(15304,15309) + PsiTypeQLOwnsType(type_constraint) - Location: (15309,15322)(15309,15322) + PsiElement('owns')('owns')(15309,15313) + PsiWhiteSpace(' ')(15313,15314) + PsiTypeQLElement(type) - Location: (15314,15322)(15314,15322) + PsiTypeQLElement(label) - Location: (15314,15322)(15314,15322) + PsiElement(LABEL_)('name-enc')(15314,15322) + PsiTypeQLElement(annotations_owns) - Location: (15322,15322)(15322,15322) + + PsiElement(',')(',')(15322,15323) + PsiWhiteSpace('\n ')(15323,15328) + PsiTypeQLOwnsType(type_constraint) - Location: (15328,15349)(15328,15349) + PsiElement('owns')('owns')(15328,15332) + PsiWhiteSpace(' ')(15332,15333) + PsiTypeQLElement(type) - Location: (15333,15349)(15333,15349) + PsiTypeQLElement(label) - Location: (15333,15349)(15333,15349) + PsiElement(LABEL_)('magic-number-hex')(15333,15349) + PsiTypeQLElement(annotations_owns) - Location: (15349,15349)(15349,15349) + + PsiElement(',')(',')(15349,15350) + PsiWhiteSpace('\n ')(15350,15355) + PsiTypeQLOwnsType(type_constraint) - Location: (15355,15369)(15355,15369) + PsiElement('owns')('owns')(15355,15359) + PsiWhiteSpace(' ')(15359,15360) + PsiTypeQLElement(type) - Location: (15360,15369)(15360,15369) + PsiTypeQLElement(label) - Location: (15360,15369)(15360,15369) + PsiElement(LABEL_)('mime-type')(15360,15369) + PsiTypeQLElement(annotations_owns) - Location: (15369,15369)(15369,15369) + + PsiElement(',')(',')(15369,15370) + PsiWhiteSpace('\n ')(15370,15375) + PsiTypeQLOwnsType(type_constraint) - Location: (15375,15385)(15375,15385) + PsiElement('owns')('owns')(15375,15379) + PsiWhiteSpace(' ')(15379,15380) + PsiTypeQLElement(type) - Location: (15380,15385)(15380,15385) + PsiTypeQLElement(label) - Location: (15380,15385)(15380,15385) + PsiElement(LABEL_)('ctime')(15380,15385) + PsiTypeQLElement(annotations_owns) - Location: (15385,15385)(15385,15385) + + PsiElement(',')(',')(15385,15386) + PsiWhiteSpace('\n ')(15386,15391) + PsiTypeQLOwnsType(type_constraint) - Location: (15391,15401)(15391,15401) + PsiElement('owns')('owns')(15391,15395) + PsiWhiteSpace(' ')(15395,15396) + PsiTypeQLElement(type) - Location: (15396,15401)(15396,15401) + PsiTypeQLElement(label) - Location: (15396,15401)(15396,15401) + PsiElement(LABEL_)('mtime')(15396,15401) + PsiTypeQLElement(annotations_owns) - Location: (15401,15401)(15401,15401) + + PsiElement(',')(',')(15401,15402) + PsiWhiteSpace('\n ')(15402,15407) + PsiTypeQLOwnsType(type_constraint) - Location: (15407,15417)(15407,15417) + PsiElement('owns')('owns')(15407,15411) + PsiWhiteSpace(' ')(15411,15412) + PsiTypeQLElement(type) - Location: (15412,15417)(15412,15417) + PsiTypeQLElement(label) - Location: (15412,15417)(15412,15417) + PsiElement(LABEL_)('atime')(15412,15417) + PsiTypeQLElement(annotations_owns) - Location: (15417,15417)(15417,15417) + + PsiElement(',')(',')(15417,15418) + PsiWhiteSpace('\n\n ')(15418,15424) + PsiComment(COMMENT)('# Rel\n')(15424,15430) + PsiWhiteSpace(' ')(15430,15434) + PsiTypeQLPlaysType(type_constraint) - Location: (15434,15459)(15434,15459) + PsiElement('plays')('plays')(15434,15439) + PsiWhiteSpace(' ')(15439,15440) + PsiTypeQLElement(type_scoped) - Location: (15440,15459)(15440,15459) + PsiTypeQLElement(label_scoped) - Location: (15440,15459)(15440,15459) + PsiElement(LABEL_SCOPED_)('hashes:hashes-owner')(15440,15459) + PsiElement(',')(',')(15459,15460) + PsiWhiteSpace('\n ')(15460,15465) + PsiTypeQLPlaysType(type_constraint) - Location: (15465,15498)(15465,15498) + PsiElement('plays')('plays')(15465,15470) + PsiWhiteSpace(' ')(15470,15471) + PsiTypeQLElement(type_scoped) - Location: (15471,15498)(15471,15498) + PsiTypeQLElement(label_scoped) - Location: (15471,15498)(15471,15498) + PsiElement(LABEL_SCOPED_)('parent-directory-ref:source')(15471,15498) + PsiElement(',')(',')(15498,15499) + PsiWhiteSpace('\n ')(15499,15504) + PsiTypeQLPlaysType(type_constraint) - Location: (15504,15532)(15504,15532) + PsiElement('plays')('plays')(15504,15509) + PsiWhiteSpace(' ')(15509,15510) + PsiTypeQLElement(type_scoped) - Location: (15510,15532)(15510,15532) + PsiTypeQLElement(label_scoped) - Location: (15510,15532)(15510,15532) + PsiElement(LABEL_SCOPED_)('contains-ref:contained')(15510,15532) + PsiElement(',')(',')(15532,15533) + PsiWhiteSpace('\n ')(15533,15538) + PsiTypeQLPlaysType(type_constraint) - Location: (15538,15562)(15538,15562) + PsiElement('plays')('plays')(15538,15543) + PsiWhiteSpace(' ')(15543,15544) + PsiTypeQLElement(type_scoped) - Location: (15544,15562)(15544,15562) + PsiTypeQLElement(label_scoped) - Location: (15544,15562)(15544,15562) + PsiElement(LABEL_SCOPED_)('content-ref:source')(15544,15562) + PsiElement(',')(',')(15562,15563) + PsiWhiteSpace('\n\n ')(15563,15569) + PsiComment(COMMENT)('# RRel\n')(15569,15576) + PsiWhiteSpace(' ')(15576,15580) + PsiTypeQLPlaysType(type_constraint) - Location: (15580,15606)(15580,15606) + PsiElement('plays')('plays')(15580,15585) + PsiWhiteSpace(' ')(15585,15586) + PsiTypeQLElement(type_scoped) - Location: (15586,15606)(15586,15606) + PsiTypeQLElement(label_scoped) - Location: (15586,15606)(15586,15606) + PsiElement(LABEL_SCOPED_)('downloads:downloaded')(15586,15606) + PsiElement(',')(',')(15606,15607) + PsiWhiteSpace('\n ')(15607,15612) + PsiTypeQLPlaysType(type_constraint) - Location: (15612,15637)(15612,15637) + PsiElement('plays')('plays')(15612,15617) + PsiWhiteSpace(' ')(15617,15618) + PsiTypeQLElement(type_scoped) - Location: (15618,15637)(15618,15637) + PsiTypeQLElement(label_scoped) - Location: (15618,15637)(15618,15637) + PsiElement(LABEL_SCOPED_)('body-raw-ref:target')(15618,15637) + PsiElement(',')(',')(15637,15638) + PsiWhiteSpace('\n ')(15638,15643) + PsiTypeQLPlaysType(type_constraint) - Location: (15643,15665)(15643,15665) + PsiElement('plays')('plays')(15643,15648) + PsiWhiteSpace(' ')(15648,15649) + PsiTypeQLElement(type_scoped) - Location: (15649,15665)(15649,15665) + PsiTypeQLElement(label_scoped) - Location: (15649,15665)(15649,15665) + PsiElement(LABEL_SCOPED_)('image-ref:target')(15649,15665) + PsiElement(',')(',')(15665,15666) + PsiWhiteSpace('\n ')(15666,15671) + PsiTypeQLPlaysType(type_constraint) - Location: (15671,15696)(15671,15696) + PsiElement('plays')('plays')(15671,15676) + PsiWhiteSpace(' ')(15676,15677) + PsiTypeQLElement(type_scoped) - Location: (15677,15696)(15677,15696) + PsiTypeQLElement(label_scoped) - Location: (15677,15696)(15677,15696) + PsiElement(LABEL_SCOPED_)('service-dll-refs:to')(15677,15696) + PsiElement(';')(';')(15696,15697) + PsiWhiteSpace('\n\n')(15697,15699) + PsiTypeQLElement(definable) - Location: (15699,15737)(15699,15737) + PsiTypeQLStatementType(statement_type) - Location: (15699,15737)(15699,15737) + PsiTypeQLElement(type_any) - Location: (15699,15710)(15699,15710) + PsiTypeQLType(type) - Name: archive-ext - Location: (15699,15710)(15699,15710) + PsiTypeQLElement(label) - Location: (15699,15710)(15699,15710) + PsiElement(LABEL_)('archive-ext')(15699,15710) + PsiWhiteSpace(' ')(15710,15711) + PsiTypeQLSubType(type_constraint) - Location: (15711,15719)(15711,15719) + PsiElement(SUB_)('sub')(15711,15714) + PsiWhiteSpace(' ')(15714,15715) + PsiTypeQLElement(type_any) - Location: (15715,15719)(15715,15719) + PsiTypeQLElement(type) - Location: (15715,15719)(15715,15719) + PsiTypeQLElement(label) - Location: (15715,15719)(15715,15719) + PsiElement(LABEL_)('file')(15715,15719) + PsiElement(',')(',')(15719,15720) + PsiWhiteSpace('\n ')(15720,15725) + PsiTypeQLOwnsType(type_constraint) - Location: (15725,15737)(15725,15737) + PsiElement('owns')('owns')(15725,15729) + PsiWhiteSpace(' ')(15729,15730) + PsiTypeQLElement(type) - Location: (15730,15737)(15730,15737) + PsiTypeQLElement(label) - Location: (15730,15737)(15730,15737) + PsiElement(LABEL_)('comment')(15730,15737) + PsiTypeQLElement(annotations_owns) - Location: (15737,15737)(15737,15737) + + PsiElement(';')(';')(15737,15738) + PsiWhiteSpace('\n\n')(15738,15740) + PsiTypeQLElement(definable) - Location: (15740,15821)(15740,15821) + PsiTypeQLStatementType(statement_type) - Location: (15740,15821)(15740,15821) + PsiTypeQLElement(type_any) - Location: (15740,15748)(15740,15748) + PsiTypeQLType(type) - Name: ntfs-ext - Location: (15740,15748)(15740,15748) + PsiTypeQLElement(label) - Location: (15740,15748)(15740,15748) + PsiElement(LABEL_)('ntfs-ext')(15740,15748) + PsiWhiteSpace(' ')(15748,15749) + PsiTypeQLSubType(type_constraint) - Location: (15749,15757)(15749,15757) + PsiElement(SUB_)('sub')(15749,15752) + PsiWhiteSpace(' ')(15752,15753) + PsiTypeQLElement(type_any) - Location: (15753,15757)(15753,15757) + PsiTypeQLElement(type) - Location: (15753,15757)(15753,15757) + PsiTypeQLElement(label) - Location: (15753,15757)(15753,15757) + PsiElement(LABEL_)('file')(15753,15757) + PsiElement(',')(',')(15757,15758) + PsiWhiteSpace('\n ')(15758,15763) + PsiTypeQLOwnsType(type_constraint) - Location: (15763,15771)(15763,15771) + PsiElement('owns')('owns')(15763,15767) + PsiWhiteSpace(' ')(15767,15768) + PsiTypeQLElement(type) - Location: (15768,15771)(15768,15771) + PsiTypeQLElement(label) - Location: (15768,15771)(15768,15771) + PsiElement(LABEL_)('sid')(15768,15771) + PsiTypeQLElement(annotations_owns) - Location: (15771,15771)(15771,15771) + + PsiElement(',')(',')(15771,15772) + PsiWhiteSpace('\n\n ')(15772,15778) + PsiComment(COMMENT)('# Rel\n')(15778,15784) + PsiWhiteSpace(' ')(15784,15788) + PsiTypeQLPlaysType(type_constraint) - Location: (15788,15821)(15788,15821) + PsiElement('plays')('plays')(15788,15793) + PsiWhiteSpace(' ')(15793,15794) + PsiTypeQLElement(type_scoped) - Location: (15794,15821)(15794,15821) + PsiTypeQLElement(label_scoped) - Location: (15794,15821)(15794,15821) + PsiElement(LABEL_SCOPED_)('alternate-data-streams:from')(15794,15821) + PsiElement(';')(';')(15821,15822) + PsiWhiteSpace('\n\n')(15822,15824) + PsiTypeQLElement(definable) - Location: (15824,15903)(15824,15903) + PsiTypeQLStatementType(statement_type) - Location: (15824,15903)(15824,15903) + PsiTypeQLElement(type_any) - Location: (15824,15845)(15824,15845) + PsiTypeQLType(type) - Name: alternate-data-stream - Location: (15824,15845)(15824,15845) + PsiTypeQLElement(label) - Location: (15824,15845)(15824,15845) + PsiElement(LABEL_)('alternate-data-stream')(15824,15845) + PsiWhiteSpace(' ')(15845,15846) + PsiTypeQLSubType(type_constraint) - Location: (15846,15854)(15846,15854) + PsiElement(SUB_)('sub')(15846,15849) + PsiWhiteSpace(' ')(15849,15850) + PsiTypeQLElement(type_any) - Location: (15850,15854)(15850,15854) + PsiTypeQLElement(type) - Location: (15850,15854)(15850,15854) + PsiTypeQLElement(label) - Location: (15850,15854)(15850,15854) + PsiElement(LABEL_)('file')(15850,15854) + PsiElement(',')(',')(15854,15855) + PsiWhiteSpace('\n\n ')(15855,15861) + PsiComment(COMMENT)('# RRel\n')(15861,15868) + PsiWhiteSpace(' ')(15868,15872) + PsiTypeQLPlaysType(type_constraint) - Location: (15872,15903)(15872,15903) + PsiElement('plays')('plays')(15872,15877) + PsiWhiteSpace(' ')(15877,15878) + PsiTypeQLElement(type_scoped) - Location: (15878,15903)(15878,15903) + PsiTypeQLElement(label_scoped) - Location: (15878,15903)(15878,15903) + PsiElement(LABEL_SCOPED_)('alternate-data-streams:to')(15878,15903) + PsiElement(';')(';')(15903,15904) + PsiWhiteSpace('\n\n')(15904,15906) + PsiTypeQLElement(definable) - Location: (15906,16077)(15906,16077) + PsiTypeQLStatementType(statement_type) - Location: (15906,16077)(15906,16077) + PsiTypeQLElement(type_any) - Location: (15906,15913)(15906,15913) + PsiTypeQLType(type) - Name: pdf-ext - Location: (15906,15913)(15906,15913) + PsiTypeQLElement(label) - Location: (15906,15913)(15906,15913) + PsiElement(LABEL_)('pdf-ext')(15906,15913) + PsiWhiteSpace(' ')(15913,15914) + PsiTypeQLSubType(type_constraint) - Location: (15914,15946)(15914,15946) + PsiElement(SUB_)('sub')(15914,15917) + PsiWhiteSpace(' ')(15917,15918) + PsiTypeQLElement(type_any) - Location: (15918,15946)(15918,15946) + PsiTypeQLElement(type) - Location: (15918,15946)(15918,15946) + PsiTypeQLElement(label) - Location: (15918,15946)(15918,15946) + PsiElement(LABEL_)('stix-cyber-observable-object')(15918,15946) + PsiElement(',')(',')(15946,15947) + PsiWhiteSpace('\n ')(15947,15952) + PsiTypeQLOwnsType(type_constraint) - Location: (15952,15964)(15952,15964) + PsiElement('owns')('owns')(15952,15956) + PsiWhiteSpace(' ')(15956,15957) + PsiTypeQLElement(type) - Location: (15957,15964)(15957,15964) + PsiTypeQLElement(label) - Location: (15957,15964)(15957,15964) + PsiElement(LABEL_)('version')(15957,15964) + PsiTypeQLElement(annotations_owns) - Location: (15964,15964)(15964,15964) + + PsiElement(',')(',')(15964,15965) + PsiWhiteSpace('\n ')(15965,15970) + PsiTypeQLOwnsType(type_constraint) - Location: (15970,15987)(15970,15987) + PsiElement('owns')('owns')(15970,15974) + PsiWhiteSpace(' ')(15974,15975) + PsiTypeQLElement(type) - Location: (15975,15987)(15975,15987) + PsiTypeQLElement(label) - Location: (15975,15987)(15975,15987) + PsiElement(LABEL_)('is-optimized')(15975,15987) + PsiTypeQLElement(annotations_owns) - Location: (15987,15987)(15987,15987) + + PsiElement(',')(',')(15987,15988) + PsiWhiteSpace('\n ')(15988,15993) + PsiTypeQLOwnsType(type_constraint) - Location: (15993,16004)(15993,16004) + PsiElement('owns')('owns')(15993,15997) + PsiWhiteSpace(' ')(15997,15998) + PsiTypeQLElement(type) - Location: (15998,16004)(15998,16004) + PsiTypeQLElement(label) - Location: (15998,16004)(15998,16004) + PsiElement(LABEL_)('pdfid0')(15998,16004) + PsiTypeQLElement(annotations_owns) - Location: (16004,16004)(16004,16004) + + PsiElement(',')(',')(16004,16005) + PsiWhiteSpace('\n ')(16005,16010) + PsiTypeQLOwnsType(type_constraint) - Location: (16010,16021)(16010,16021) + PsiElement('owns')('owns')(16010,16014) + PsiWhiteSpace(' ')(16014,16015) + PsiTypeQLElement(type) - Location: (16015,16021)(16015,16021) + PsiTypeQLElement(label) - Location: (16015,16021)(16015,16021) + PsiElement(LABEL_)('pdfid1')(16015,16021) + PsiTypeQLElement(annotations_owns) - Location: (16021,16021)(16021,16021) + + PsiElement(',')(',')(16021,16022) + PsiWhiteSpace('\n\n ')(16022,16028) + PsiComment(COMMENT)('# Rel\n')(16028,16034) + PsiWhiteSpace(' ')(16034,16038) + PsiTypeQLPlaysType(type_constraint) - Location: (16038,16077)(16038,16077) + PsiElement('plays')('plays')(16038,16043) + PsiWhiteSpace(' ')(16043,16044) + PsiTypeQLElement(type_scoped) - Location: (16044,16077)(16044,16077) + PsiTypeQLElement(label_scoped) - Location: (16044,16077)(16044,16077) + PsiElement(LABEL_SCOPED_)('document-info-dict:document-owner')(16044,16077) + PsiElement(';')(';')(16077,16078) + PsiWhiteSpace('\n\n')(16078,16080) + PsiTypeQLElement(definable) - Location: (16080,16218)(16080,16218) + PsiTypeQLStatementType(statement_type) - Location: (16080,16218)(16080,16218) + PsiTypeQLElement(type_any) - Location: (16080,16096)(16080,16096) + PsiTypeQLType(type) - Name: raster-image-ext - Location: (16080,16096)(16080,16096) + PsiTypeQLElement(label) - Location: (16080,16096)(16080,16096) + PsiElement(LABEL_)('raster-image-ext')(16080,16096) + PsiWhiteSpace(' ')(16096,16097) + PsiTypeQLSubType(type_constraint) - Location: (16097,16105)(16097,16105) + PsiElement(SUB_)('sub')(16097,16100) + PsiWhiteSpace(' ')(16100,16101) + PsiTypeQLElement(type_any) - Location: (16101,16105)(16101,16105) + PsiTypeQLElement(type) - Location: (16101,16105)(16101,16105) + PsiTypeQLElement(label) - Location: (16101,16105)(16101,16105) + PsiElement(LABEL_)('file')(16101,16105) + PsiElement(',')(',')(16105,16106) + PsiWhiteSpace('\n ')(16106,16111) + PsiTypeQLOwnsType(type_constraint) - Location: (16111,16128)(16111,16128) + PsiElement('owns')('owns')(16111,16115) + PsiWhiteSpace(' ')(16115,16116) + PsiTypeQLElement(type) - Location: (16116,16128)(16116,16128) + PsiTypeQLElement(label) - Location: (16116,16128)(16116,16128) + PsiElement(LABEL_)('image-height')(16116,16128) + PsiTypeQLElement(annotations_owns) - Location: (16128,16128)(16128,16128) + + PsiElement(',')(',')(16128,16129) + PsiWhiteSpace('\n ')(16129,16134) + PsiTypeQLOwnsType(type_constraint) - Location: (16134,16150)(16134,16150) + PsiElement('owns')('owns')(16134,16138) + PsiWhiteSpace(' ')(16138,16139) + PsiTypeQLElement(type) - Location: (16139,16150)(16139,16150) + PsiTypeQLElement(label) - Location: (16139,16150)(16139,16150) + PsiElement(LABEL_)('image-width')(16139,16150) + PsiTypeQLElement(annotations_owns) - Location: (16150,16150)(16150,16150) + + PsiElement(',')(',')(16150,16151) + PsiWhiteSpace('\n ')(16151,16156) + PsiTypeQLOwnsType(type_constraint) - Location: (16156,16175)(16156,16175) + PsiElement('owns')('owns')(16156,16160) + PsiWhiteSpace(' ')(16160,16161) + PsiTypeQLElement(type) - Location: (16161,16175)(16161,16175) + PsiTypeQLElement(label) - Location: (16161,16175)(16161,16175) + PsiElement(LABEL_)('bits-per-pixel')(16161,16175) + PsiTypeQLElement(annotations_owns) - Location: (16175,16175)(16175,16175) + + PsiElement(',')(',')(16175,16176) + PsiWhiteSpace('\n\n ')(16176,16182) + PsiComment(COMMENT)('# Rel\n')(16182,16188) + PsiWhiteSpace(' ')(16188,16192) + PsiTypeQLPlaysType(type_constraint) - Location: (16192,16218)(16192,16218) + PsiElement('plays')('plays')(16192,16197) + PsiWhiteSpace(' ')(16197,16198) + PsiTypeQLElement(type_scoped) - Location: (16198,16218)(16198,16218) + PsiTypeQLElement(label_scoped) - Location: (16198,16218)(16198,16218) + PsiElement(LABEL_SCOPED_)('exif-tags:exif-owner')(16198,16218) + PsiElement(';')(';')(16218,16219) + PsiWhiteSpace('\n\n')(16219,16221) + PsiTypeQLElement(definable) - Location: (16221,16560)(16221,16560) + PsiTypeQLStatementType(statement_type) - Location: (16221,16560)(16221,16560) + PsiTypeQLElement(type_any) - Location: (16221,16241)(16221,16241) + PsiTypeQLType(type) - Name: windows-pebinary-ext - Location: (16221,16241)(16221,16241) + PsiTypeQLElement(label) - Location: (16221,16241)(16221,16241) + PsiElement(LABEL_)('windows-pebinary-ext')(16221,16241) + PsiWhiteSpace(' ')(16241,16242) + PsiTypeQLSubType(type_constraint) - Location: (16242,16250)(16242,16250) + PsiElement(SUB_)('sub')(16242,16245) + PsiWhiteSpace(' ')(16245,16246) + PsiTypeQLElement(type_any) - Location: (16246,16250)(16246,16250) + PsiTypeQLElement(type) - Location: (16246,16250)(16246,16250) + PsiTypeQLElement(label) - Location: (16246,16250)(16246,16250) + PsiElement(LABEL_)('file')(16246,16250) + PsiElement(',')(',')(16250,16251) + PsiWhiteSpace('\n ')(16251,16256) + PsiTypeQLOwnsType(type_constraint) - Location: (16256,16268)(16256,16268) + PsiElement('owns')('owns')(16256,16260) + PsiWhiteSpace(' ')(16260,16261) + PsiTypeQLElement(type) - Location: (16261,16268)(16261,16268) + PsiTypeQLElement(label) - Location: (16261,16268)(16261,16268) + PsiElement(LABEL_)('pe-type')(16261,16268) + PsiTypeQLElement(annotations_owns) - Location: (16268,16268)(16268,16268) + + PsiElement(',')(',')(16268,16269) + PsiWhiteSpace('\n ')(16269,16274) + PsiTypeQLOwnsType(type_constraint) - Location: (16274,16286)(16274,16286) + PsiElement('owns')('owns')(16274,16278) + PsiWhiteSpace(' ')(16278,16279) + PsiTypeQLElement(type) - Location: (16279,16286)(16279,16286) + PsiTypeQLElement(label) - Location: (16279,16286)(16279,16286) + PsiElement(LABEL_)('imphash')(16279,16286) + PsiTypeQLElement(annotations_owns) - Location: (16286,16286)(16286,16286) + + PsiElement(',')(',')(16286,16287) + PsiWhiteSpace('\n ')(16287,16292) + PsiTypeQLOwnsType(type_constraint) - Location: (16292,16308)(16292,16308) + PsiElement('owns')('owns')(16292,16296) + PsiWhiteSpace(' ')(16296,16297) + PsiTypeQLElement(type) - Location: (16297,16308)(16297,16308) + PsiTypeQLElement(label) - Location: (16297,16308)(16297,16308) + PsiElement(LABEL_)('machine-hex')(16297,16308) + PsiTypeQLElement(annotations_owns) - Location: (16308,16308)(16308,16308) + + PsiElement(',')(',')(16308,16309) + PsiWhiteSpace('\n ')(16309,16314) + PsiTypeQLOwnsType(type_constraint) - Location: (16314,16337)(16314,16337) + PsiElement('owns')('owns')(16314,16318) + PsiWhiteSpace(' ')(16318,16319) + PsiTypeQLElement(type) - Location: (16319,16337)(16319,16337) + PsiTypeQLElement(label) - Location: (16319,16337)(16319,16337) + PsiElement(LABEL_)('number-of-sections')(16319,16337) + PsiTypeQLElement(annotations_owns) - Location: (16337,16337)(16337,16337) + + PsiElement(',')(',')(16337,16338) + PsiWhiteSpace('\n ')(16338,16343) + PsiTypeQLOwnsType(type_constraint) - Location: (16343,16363)(16343,16363) + PsiElement('owns')('owns')(16343,16347) + PsiWhiteSpace(' ')(16347,16348) + PsiTypeQLElement(type) - Location: (16348,16363)(16348,16363) + PsiTypeQLElement(label) - Location: (16348,16363)(16348,16363) + PsiElement(LABEL_)('time-date-stamp')(16348,16363) + PsiTypeQLElement(annotations_owns) - Location: (16363,16363)(16363,16363) + + PsiElement(',')(',')(16363,16364) + PsiWhiteSpace('\n ')(16364,16369) + PsiTypeQLOwnsType(type_constraint) - Location: (16369,16401)(16369,16401) + PsiElement('owns')('owns')(16369,16373) + PsiWhiteSpace(' ')(16373,16374) + PsiTypeQLElement(type) - Location: (16374,16401)(16374,16401) + PsiTypeQLElement(label) - Location: (16374,16401)(16374,16401) + PsiElement(LABEL_)('pointer-to-symbol-table-hex')(16374,16401) + PsiTypeQLElement(annotations_owns) - Location: (16401,16401)(16401,16401) + + PsiElement(',')(',')(16401,16402) + PsiWhiteSpace('\n ')(16402,16407) + PsiTypeQLOwnsType(type_constraint) - Location: (16407,16429)(16407,16429) + PsiElement('owns')('owns')(16407,16411) + PsiWhiteSpace(' ')(16411,16412) + PsiTypeQLElement(type) - Location: (16412,16429)(16412,16429) + PsiTypeQLElement(label) - Location: (16412,16429)(16412,16429) + PsiElement(LABEL_)('number-of-symbols')(16412,16429) + PsiTypeQLElement(annotations_owns) - Location: (16429,16429)(16429,16429) + + PsiElement(',')(',')(16429,16430) + PsiWhiteSpace('\n ')(16430,16435) + PsiTypeQLOwnsType(type_constraint) - Location: (16435,16463)(16435,16463) + PsiElement('owns')('owns')(16435,16439) + PsiWhiteSpace(' ')(16439,16440) + PsiTypeQLElement(type) - Location: (16440,16463)(16440,16463) + PsiTypeQLElement(label) - Location: (16440,16463)(16440,16463) + PsiElement(LABEL_)('size-of-optional-header')(16440,16463) + PsiTypeQLElement(annotations_owns) - Location: (16463,16463)(16463,16463) + + PsiElement(',')(',')(16463,16464) + PsiWhiteSpace('\n ')(16464,16469) + PsiTypeQLOwnsType(type_constraint) - Location: (16469,16492)(16469,16492) + PsiElement('owns')('owns')(16469,16473) + PsiWhiteSpace(' ')(16473,16474) + PsiTypeQLElement(type) - Location: (16474,16492)(16474,16492) + PsiTypeQLElement(label) - Location: (16474,16492)(16474,16492) + PsiElement(LABEL_)('characterstics-hex')(16474,16492) + PsiTypeQLElement(annotations_owns) - Location: (16492,16492)(16492,16492) + + PsiElement(',')(',')(16492,16493) + PsiWhiteSpace('\n\n ')(16493,16499) + PsiComment(COMMENT)('# Rel\n')(16499,16505) + PsiWhiteSpace(' ')(16505,16509) + PsiTypeQLPlaysType(type_constraint) - Location: (16509,16535)(16509,16535) + PsiElement('plays')('plays')(16509,16514) + PsiWhiteSpace(' ')(16514,16515) + PsiTypeQLElement(type_scoped) - Location: (16515,16535)(16515,16535) + PsiTypeQLElement(label_scoped) - Location: (16515,16535)(16515,16535) + PsiElement(LABEL_SCOPED_)('optional-header:from')(16515,16535) + PsiElement(',')(',')(16535,16536) + PsiWhiteSpace('\n ')(16536,16541) + PsiTypeQLPlaysType(type_constraint) - Location: (16541,16560)(16541,16560) + PsiElement('plays')('plays')(16541,16546) + PsiWhiteSpace(' ')(16546,16547) + PsiTypeQLElement(type_scoped) - Location: (16547,16560)(16547,16560) + PsiTypeQLElement(label_scoped) - Location: (16547,16560)(16547,16560) + PsiElement(LABEL_SCOPED_)('sections:from')(16547,16560) + PsiElement(';')(';')(16560,16561) + PsiWhiteSpace('\n\n')(16561,16563) + PsiTypeQLElement(definable) - Location: (16563,17554)(16563,17554) + PsiTypeQLStatementType(statement_type) - Location: (16563,17554)(16563,17554) + PsiTypeQLElement(type_any) - Location: (16563,16594)(16563,16594) + PsiTypeQLType(type) - Name: windows-pe-optional-header-type - Location: (16563,16594)(16563,16594) + PsiTypeQLElement(label) - Location: (16563,16594)(16563,16594) + PsiElement(LABEL_)('windows-pe-optional-header-type')(16563,16594) + PsiWhiteSpace(' ')(16594,16595) + PsiTypeQLElement(type_constraint) - Location: (16595,16605)(16595,16605) + PsiElement(SUB_)('sub')(16595,16598) + PsiWhiteSpace(' ')(16598,16599) + PsiTypeQLElement(type_any) - Location: (16599,16605)(16599,16605) + PsiTypeQLElement(type) - Location: (16599,16605)(16599,16605) + PsiTypeQLElement(label) - Location: (16599,16605)(16599,16605) + PsiTypeQLElement(type_native) - Location: (16599,16605)(16599,16605) + PsiElement('entity')('entity')(16599,16605) + PsiElement(',')(',')(16605,16606) + PsiWhiteSpace('\n ')(16606,16611) + PsiTypeQLOwnsType(type_constraint) - Location: (16611,16625)(16611,16625) + PsiElement('owns')('owns')(16611,16615) + PsiWhiteSpace(' ')(16615,16616) + PsiTypeQLElement(type) - Location: (16616,16625)(16616,16625) + PsiTypeQLElement(label) - Location: (16616,16625)(16616,16625) + PsiElement(LABEL_)('magic-hex')(16616,16625) + PsiTypeQLElement(annotations_owns) - Location: (16625,16625)(16625,16625) + + PsiElement(',')(',')(16625,16626) + PsiWhiteSpace('\n ')(16626,16631) + PsiTypeQLOwnsType(type_constraint) - Location: (16631,16656)(16631,16656) + PsiElement('owns')('owns')(16631,16635) + PsiWhiteSpace(' ')(16635,16636) + PsiTypeQLElement(type) - Location: (16636,16656)(16636,16656) + PsiTypeQLElement(label) - Location: (16636,16656)(16636,16656) + PsiElement(LABEL_)('major-linker-version')(16636,16656) + PsiTypeQLElement(annotations_owns) - Location: (16656,16656)(16656,16656) + + PsiElement(',')(',')(16656,16657) + PsiWhiteSpace('\n ')(16657,16662) + PsiTypeQLOwnsType(type_constraint) - Location: (16662,16687)(16662,16687) + PsiElement('owns')('owns')(16662,16666) + PsiWhiteSpace(' ')(16666,16667) + PsiTypeQLElement(type) - Location: (16667,16687)(16667,16687) + PsiTypeQLElement(label) - Location: (16667,16687)(16667,16687) + PsiElement(LABEL_)('minor-linker-version')(16667,16687) + PsiTypeQLElement(annotations_owns) - Location: (16687,16687)(16687,16687) + + PsiElement(',')(',')(16687,16688) + PsiWhiteSpace('\n ')(16688,16693) + PsiTypeQLOwnsType(type_constraint) - Location: (16693,16710)(16693,16710) + PsiElement('owns')('owns')(16693,16697) + PsiWhiteSpace(' ')(16697,16698) + PsiTypeQLElement(type) - Location: (16698,16710)(16698,16710) + PsiTypeQLElement(label) - Location: (16698,16710)(16698,16710) + PsiElement(LABEL_)('size-of-code')(16698,16710) + PsiTypeQLElement(annotations_owns) - Location: (16710,16710)(16710,16710) + + PsiElement(',')(',')(16710,16711) + PsiWhiteSpace('\n ')(16711,16716) + PsiTypeQLOwnsType(type_constraint) - Location: (16716,16745)(16716,16745) + PsiElement('owns')('owns')(16716,16720) + PsiWhiteSpace(' ')(16720,16721) + PsiTypeQLElement(type) - Location: (16721,16745)(16721,16745) + PsiTypeQLElement(label) - Location: (16721,16745)(16721,16745) + PsiElement(LABEL_)('size-of-initialized-data')(16721,16745) + PsiTypeQLElement(annotations_owns) - Location: (16745,16745)(16745,16745) + + PsiElement(',')(',')(16745,16746) + PsiWhiteSpace('\n ')(16746,16751) + PsiTypeQLOwnsType(type_constraint) - Location: (16751,16781)(16751,16781) + PsiElement('owns')('owns')(16751,16755) + PsiWhiteSpace(' ')(16755,16756) + PsiTypeQLElement(type) - Location: (16756,16781)(16756,16781) + PsiTypeQLElement(label) - Location: (16756,16781)(16756,16781) + PsiElement(LABEL_)('size-ofuninitialized-data')(16756,16781) + PsiTypeQLElement(annotations_owns) - Location: (16781,16781)(16781,16781) + + PsiElement(',')(',')(16781,16782) + PsiWhiteSpace('\n ')(16782,16787) + PsiTypeQLOwnsType(type_constraint) - Location: (16787,16814)(16787,16814) + PsiElement('owns')('owns')(16787,16791) + PsiWhiteSpace(' ')(16791,16792) + PsiTypeQLElement(type) - Location: (16792,16814)(16792,16814) + PsiTypeQLElement(label) - Location: (16792,16814)(16792,16814) + PsiElement(LABEL_)('address-of-entry-point')(16792,16814) + PsiTypeQLElement(annotations_owns) - Location: (16814,16814)(16814,16814) + + PsiElement(',')(',')(16814,16815) + PsiWhiteSpace('\n ')(16815,16820) + PsiTypeQLOwnsType(type_constraint) - Location: (16820,16837)(16820,16837) + PsiElement('owns')('owns')(16820,16824) + PsiWhiteSpace(' ')(16824,16825) + PsiTypeQLElement(type) - Location: (16825,16837)(16825,16837) + PsiTypeQLElement(label) - Location: (16825,16837)(16825,16837) + PsiElement(LABEL_)('base-of-code')(16825,16837) + PsiTypeQLElement(annotations_owns) - Location: (16837,16837)(16837,16837) + + PsiElement(',')(',')(16837,16838) + PsiWhiteSpace('\n ')(16838,16843) + PsiTypeQLOwnsType(type_constraint) - Location: (16843,16860)(16843,16860) + PsiElement('owns')('owns')(16843,16847) + PsiWhiteSpace(' ')(16847,16848) + PsiTypeQLElement(type) - Location: (16848,16860)(16848,16860) + PsiTypeQLElement(label) - Location: (16848,16860)(16848,16860) + PsiElement(LABEL_)('base-of-data')(16848,16860) + PsiTypeQLElement(annotations_owns) - Location: (16860,16860)(16860,16860) + + PsiElement(',')(',')(16860,16861) + PsiWhiteSpace('\n ')(16861,16866) + PsiTypeQLOwnsType(type_constraint) - Location: (16866,16881)(16866,16881) + PsiElement('owns')('owns')(16866,16870) + PsiWhiteSpace(' ')(16870,16871) + PsiTypeQLElement(type) - Location: (16871,16881)(16871,16881) + PsiTypeQLElement(label) - Location: (16871,16881)(16871,16881) + PsiElement(LABEL_)('image-base')(16871,16881) + PsiTypeQLElement(annotations_owns) - Location: (16881,16881)(16881,16881) + + PsiElement(',')(',')(16881,16882) + PsiWhiteSpace('\n ')(16882,16887) + PsiTypeQLOwnsType(type_constraint) - Location: (16887,16909)(16887,16909) + PsiElement('owns')('owns')(16887,16891) + PsiWhiteSpace(' ')(16891,16892) + PsiTypeQLElement(type) - Location: (16892,16909)(16892,16909) + PsiTypeQLElement(label) - Location: (16892,16909)(16892,16909) + PsiElement(LABEL_)('section-alignment')(16892,16909) + PsiTypeQLElement(annotations_owns) - Location: (16909,16909)(16909,16909) + + PsiElement(',')(',')(16909,16910) + PsiWhiteSpace('\n ')(16910,16915) + PsiTypeQLOwnsType(type_constraint) - Location: (16915,16934)(16915,16934) + PsiElement('owns')('owns')(16915,16919) + PsiWhiteSpace(' ')(16919,16920) + PsiTypeQLElement(type) - Location: (16920,16934)(16920,16934) + PsiTypeQLElement(label) - Location: (16920,16934)(16920,16934) + PsiElement(LABEL_)('file-alignment')(16920,16934) + PsiTypeQLElement(annotations_owns) - Location: (16934,16934)(16934,16934) + + PsiElement(',')(',')(16934,16935) + PsiWhiteSpace('\n ')(16935,16940) + PsiTypeQLOwnsType(type_constraint) - Location: (16940,16961)(16940,16961) + PsiElement('owns')('owns')(16940,16944) + PsiWhiteSpace(' ')(16944,16945) + PsiTypeQLElement(type) - Location: (16945,16961)(16945,16961) + PsiTypeQLElement(label) - Location: (16945,16961)(16945,16961) + PsiElement(LABEL_)('major-os-version')(16945,16961) + PsiTypeQLElement(annotations_owns) - Location: (16961,16961)(16961,16961) + + PsiElement(',')(',')(16961,16962) + PsiWhiteSpace('\n ')(16962,16967) + PsiTypeQLOwnsType(type_constraint) - Location: (16967,16988)(16967,16988) + PsiElement('owns')('owns')(16967,16971) + PsiWhiteSpace(' ')(16971,16972) + PsiTypeQLElement(type) - Location: (16972,16988)(16972,16988) + PsiTypeQLElement(label) - Location: (16972,16988)(16972,16988) + PsiElement(LABEL_)('minor-os-version')(16972,16988) + PsiTypeQLElement(annotations_owns) - Location: (16988,16988)(16988,16988) + + PsiElement(',')(',')(16988,16989) + PsiWhiteSpace('\n ')(16989,16994) + PsiTypeQLOwnsType(type_constraint) - Location: (16994,17018)(16994,17018) + PsiElement('owns')('owns')(16994,16998) + PsiWhiteSpace(' ')(16998,16999) + PsiTypeQLElement(type) - Location: (16999,17018)(16999,17018) + PsiTypeQLElement(label) - Location: (16999,17018)(16999,17018) + PsiElement(LABEL_)('major-image-version')(16999,17018) + PsiTypeQLElement(annotations_owns) - Location: (17018,17018)(17018,17018) + + PsiElement(',')(',')(17018,17019) + PsiWhiteSpace('\n ')(17019,17024) + PsiTypeQLOwnsType(type_constraint) - Location: (17024,17048)(17024,17048) + PsiElement('owns')('owns')(17024,17028) + PsiWhiteSpace(' ')(17028,17029) + PsiTypeQLElement(type) - Location: (17029,17048)(17029,17048) + PsiTypeQLElement(label) - Location: (17029,17048)(17029,17048) + PsiElement(LABEL_)('minor-image-version')(17029,17048) + PsiTypeQLElement(annotations_owns) - Location: (17048,17048)(17048,17048) + + PsiElement(',')(',')(17048,17049) + PsiWhiteSpace('\n ')(17049,17054) + PsiTypeQLOwnsType(type_constraint) - Location: (17054,17082)(17054,17082) + PsiElement('owns')('owns')(17054,17058) + PsiWhiteSpace(' ')(17058,17059) + PsiTypeQLElement(type) - Location: (17059,17082)(17059,17082) + PsiTypeQLElement(label) - Location: (17059,17082)(17059,17082) + PsiElement(LABEL_)('major-subsystem-version')(17059,17082) + PsiTypeQLElement(annotations_owns) - Location: (17082,17082)(17082,17082) + + PsiElement(',')(',')(17082,17083) + PsiWhiteSpace('\n ')(17083,17088) + PsiTypeQLOwnsType(type_constraint) - Location: (17088,17116)(17088,17116) + PsiElement('owns')('owns')(17088,17092) + PsiWhiteSpace(' ')(17092,17093) + PsiTypeQLElement(type) - Location: (17093,17116)(17093,17116) + PsiTypeQLElement(label) - Location: (17093,17116)(17093,17116) + PsiElement(LABEL_)('minor-subsystem-version')(17093,17116) + PsiTypeQLElement(annotations_owns) - Location: (17116,17116)(17116,17116) + + PsiElement(',')(',')(17116,17117) + PsiWhiteSpace('\n ')(17117,17122) + PsiTypeQLOwnsType(type_constraint) - Location: (17122,17150)(17122,17150) + PsiElement('owns')('owns')(17122,17126) + PsiWhiteSpace(' ')(17126,17127) + PsiTypeQLElement(type) - Location: (17127,17150)(17127,17150) + PsiTypeQLElement(label) - Location: (17127,17150)(17127,17150) + PsiElement(LABEL_)('win32-version-value-hex')(17127,17150) + PsiTypeQLElement(annotations_owns) - Location: (17150,17150)(17150,17150) + + PsiElement(',')(',')(17150,17151) + PsiWhiteSpace('\n ')(17151,17156) + PsiTypeQLOwnsType(type_constraint) - Location: (17156,17174)(17156,17174) + PsiElement('owns')('owns')(17156,17160) + PsiWhiteSpace(' ')(17160,17161) + PsiTypeQLElement(type) - Location: (17161,17174)(17161,17174) + PsiTypeQLElement(label) - Location: (17161,17174)(17161,17174) + PsiElement(LABEL_)('size-of-image')(17161,17174) + PsiTypeQLElement(annotations_owns) - Location: (17174,17174)(17174,17174) + + PsiElement(',')(',')(17174,17175) + PsiWhiteSpace('\n ')(17175,17180) + PsiTypeQLOwnsType(type_constraint) - Location: (17180,17200)(17180,17200) + PsiElement('owns')('owns')(17180,17184) + PsiWhiteSpace(' ')(17184,17185) + PsiTypeQLElement(type) - Location: (17185,17200)(17185,17200) + PsiTypeQLElement(label) - Location: (17185,17200)(17185,17200) + PsiElement(LABEL_)('size-of-headers')(17185,17200) + PsiTypeQLElement(annotations_owns) - Location: (17200,17200)(17200,17200) + + PsiElement(',')(',')(17200,17201) + PsiWhiteSpace('\n ')(17201,17206) + PsiTypeQLOwnsType(type_constraint) - Location: (17206,17223)(17206,17223) + PsiElement('owns')('owns')(17206,17210) + PsiWhiteSpace(' ')(17210,17211) + PsiTypeQLElement(type) - Location: (17211,17223)(17211,17223) + PsiTypeQLElement(label) - Location: (17211,17223)(17211,17223) + PsiElement(LABEL_)('checksum-hex')(17211,17223) + PsiTypeQLElement(annotations_owns) - Location: (17223,17223)(17223,17223) + + PsiElement(',')(',')(17223,17224) + PsiWhiteSpace('\n ')(17224,17229) + PsiTypeQLOwnsType(type_constraint) - Location: (17229,17247)(17229,17247) + PsiElement('owns')('owns')(17229,17233) + PsiWhiteSpace(' ')(17233,17234) + PsiTypeQLElement(type) - Location: (17234,17247)(17234,17247) + PsiTypeQLElement(label) - Location: (17234,17247)(17234,17247) + PsiElement(LABEL_)('subsystem-hex')(17234,17247) + PsiTypeQLElement(annotations_owns) - Location: (17247,17247)(17247,17247) + + PsiElement(',')(',')(17247,17248) + PsiWhiteSpace('\n ')(17248,17253) + PsiTypeQLOwnsType(type_constraint) - Location: (17253,17281)(17253,17281) + PsiElement('owns')('owns')(17253,17257) + PsiWhiteSpace(' ')(17257,17258) + PsiTypeQLElement(type) - Location: (17258,17281)(17258,17281) + PsiTypeQLElement(label) - Location: (17258,17281)(17258,17281) + PsiElement(LABEL_)('dll-characteristics-hex')(17258,17281) + PsiTypeQLElement(annotations_owns) - Location: (17281,17281)(17281,17281) + + PsiElement(',')(',')(17281,17282) + PsiWhiteSpace('\n ')(17282,17287) + PsiTypeQLOwnsType(type_constraint) - Location: (17287,17313)(17287,17313) + PsiElement('owns')('owns')(17287,17291) + PsiWhiteSpace(' ')(17291,17292) + PsiTypeQLElement(type) - Location: (17292,17313)(17292,17313) + PsiTypeQLElement(label) - Location: (17292,17313)(17292,17313) + PsiElement(LABEL_)('size-of-stack-reserve')(17292,17313) + PsiTypeQLElement(annotations_owns) - Location: (17313,17313)(17313,17313) + + PsiElement(',')(',')(17313,17314) + PsiWhiteSpace('\n ')(17314,17319) + PsiTypeQLOwnsType(type_constraint) - Location: (17319,17344)(17319,17344) + PsiElement('owns')('owns')(17319,17323) + PsiWhiteSpace(' ')(17323,17324) + PsiTypeQLElement(type) - Location: (17324,17344)(17324,17344) + PsiTypeQLElement(label) - Location: (17324,17344)(17324,17344) + PsiElement(LABEL_)('size-of-stack-commit')(17324,17344) + PsiTypeQLElement(annotations_owns) - Location: (17344,17344)(17344,17344) + + PsiElement(',')(',')(17344,17345) + PsiWhiteSpace('\n ')(17345,17350) + PsiTypeQLOwnsType(type_constraint) - Location: (17350,17375)(17350,17375) + PsiElement('owns')('owns')(17350,17354) + PsiWhiteSpace(' ')(17354,17355) + PsiTypeQLElement(type) - Location: (17355,17375)(17355,17375) + PsiTypeQLElement(label) - Location: (17355,17375)(17355,17375) + PsiElement(LABEL_)('size-of-heap-reserve')(17355,17375) + PsiTypeQLElement(annotations_owns) - Location: (17375,17375)(17375,17375) + + PsiElement(',')(',')(17375,17376) + PsiWhiteSpace('\n ')(17376,17381) + PsiTypeQLOwnsType(type_constraint) - Location: (17381,17405)(17381,17405) + PsiElement('owns')('owns')(17381,17385) + PsiWhiteSpace(' ')(17385,17386) + PsiTypeQLElement(type) - Location: (17386,17405)(17386,17405) + PsiTypeQLElement(label) - Location: (17386,17405)(17386,17405) + PsiElement(LABEL_)('size-of-heap-commit')(17386,17405) + PsiTypeQLElement(annotations_owns) - Location: (17405,17405)(17405,17405) + + PsiElement(',')(',')(17405,17406) + PsiWhiteSpace('\n ')(17406,17411) + PsiTypeQLOwnsType(type_constraint) - Location: (17411,17432)(17411,17432) + PsiElement('owns')('owns')(17411,17415) + PsiWhiteSpace(' ')(17415,17416) + PsiTypeQLElement(type) - Location: (17416,17432)(17416,17432) + PsiTypeQLElement(label) - Location: (17416,17432)(17416,17432) + PsiElement(LABEL_)('loader-flags-hex')(17416,17432) + PsiTypeQLElement(annotations_owns) - Location: (17432,17432)(17432,17432) + + PsiElement(',')(',')(17432,17433) + PsiWhiteSpace('\n ')(17433,17438) + PsiTypeQLOwnsType(type_constraint) - Location: (17438,17466)(17438,17466) + PsiElement('owns')('owns')(17438,17442) + PsiWhiteSpace(' ')(17442,17443) + PsiTypeQLElement(type) - Location: (17443,17466)(17443,17466) + PsiTypeQLElement(label) - Location: (17443,17466)(17443,17466) + PsiElement(LABEL_)('number-of-rva-and-sizes')(17443,17466) + PsiTypeQLElement(annotations_owns) - Location: (17466,17466)(17466,17466) + + PsiElement(',')(',')(17466,17467) + PsiWhiteSpace('\n\n ')(17467,17473) + PsiComment(COMMENT)('# Rel\n')(17473,17479) + PsiWhiteSpace(' ')(17479,17483) + PsiTypeQLPlaysType(type_constraint) - Location: (17483,17508)(17483,17508) + PsiElement('plays')('plays')(17483,17488) + PsiWhiteSpace(' ')(17488,17489) + PsiTypeQLElement(type_scoped) - Location: (17489,17508)(17489,17508) + PsiTypeQLElement(label_scoped) - Location: (17489,17508)(17489,17508) + PsiElement(LABEL_SCOPED_)('hashes:hashes-owner')(17489,17508) + PsiElement(',')(',')(17508,17509) + PsiWhiteSpace('\n\n ')(17509,17515) + PsiComment(COMMENT)('# RRel\n')(17515,17522) + PsiWhiteSpace(' ')(17522,17526) + PsiTypeQLPlaysType(type_constraint) - Location: (17526,17554)(17526,17554) + PsiElement('plays')('plays')(17526,17531) + PsiWhiteSpace(' ')(17531,17532) + PsiTypeQLElement(type_scoped) - Location: (17532,17554)(17532,17554) + PsiTypeQLElement(label_scoped) - Location: (17532,17554)(17532,17554) + PsiElement(LABEL_SCOPED_)('optional-header:target')(17532,17554) + PsiElement(';')(';')(17554,17555) + PsiWhiteSpace('\n\n')(17555,17557) + PsiTypeQLElement(definable) - Location: (17557,17711)(17557,17711) + PsiTypeQLStatementType(statement_type) - Location: (17557,17711)(17557,17711) + PsiTypeQLElement(type_any) - Location: (17557,17575)(17557,17575) + PsiTypeQLType(type) - Name: windows-pe-section - Location: (17557,17575)(17557,17575) + PsiTypeQLElement(label) - Location: (17557,17575)(17557,17575) + PsiElement(LABEL_)('windows-pe-section')(17557,17575) + PsiWhiteSpace(' ')(17575,17576) + PsiTypeQLElement(type_constraint) - Location: (17576,17586)(17576,17586) + PsiElement(SUB_)('sub')(17576,17579) + PsiWhiteSpace(' ')(17579,17580) + PsiTypeQLElement(type_any) - Location: (17580,17586)(17580,17586) + PsiTypeQLElement(type) - Location: (17580,17586)(17580,17586) + PsiTypeQLElement(label) - Location: (17580,17586)(17580,17586) + PsiTypeQLElement(type_native) - Location: (17580,17586)(17580,17586) + PsiElement('entity')('entity')(17580,17586) + PsiElement(',')(',')(17586,17587) + PsiWhiteSpace('\n ')(17587,17592) + PsiTypeQLOwnsType(type_constraint) - Location: (17592,17601)(17592,17601) + PsiElement('owns')('owns')(17592,17596) + PsiWhiteSpace(' ')(17596,17597) + PsiTypeQLElement(type) - Location: (17597,17601)(17597,17601) + PsiTypeQLElement(label) - Location: (17597,17601)(17597,17601) + PsiElement(LABEL_)('name')(17597,17601) + PsiTypeQLElement(annotations_owns) - Location: (17601,17601)(17601,17601) + + PsiElement(',')(',')(17601,17602) + PsiWhiteSpace('\n ')(17602,17607) + PsiTypeQLOwnsType(type_constraint) - Location: (17607,17616)(17607,17616) + PsiElement('owns')('owns')(17607,17611) + PsiWhiteSpace(' ')(17611,17612) + PsiTypeQLElement(type) - Location: (17612,17616)(17612,17616) + PsiTypeQLElement(label) - Location: (17612,17616)(17612,17616) + PsiElement(LABEL_)('size')(17612,17616) + PsiTypeQLElement(annotations_owns) - Location: (17616,17616)(17616,17616) + + PsiElement(',')(',')(17616,17617) + PsiWhiteSpace('\n ')(17617,17622) + PsiTypeQLOwnsType(type_constraint) - Location: (17622,17634)(17622,17634) + PsiElement('owns')('owns')(17622,17626) + PsiWhiteSpace(' ')(17626,17627) + PsiTypeQLElement(type) - Location: (17627,17634)(17627,17634) + PsiTypeQLElement(label) - Location: (17627,17634)(17627,17634) + PsiElement(LABEL_)('entropy')(17627,17634) + PsiTypeQLElement(annotations_owns) - Location: (17634,17634)(17634,17634) + + PsiElement(',')(',')(17634,17635) + PsiWhiteSpace('\n\n ')(17635,17641) + PsiComment(COMMENT)('# Rel\n')(17641,17647) + PsiWhiteSpace(' ')(17647,17651) + PsiTypeQLPlaysType(type_constraint) - Location: (17651,17676)(17651,17676) + PsiElement('plays')('plays')(17651,17656) + PsiWhiteSpace(' ')(17656,17657) + PsiTypeQLElement(type_scoped) - Location: (17657,17676)(17657,17676) + PsiTypeQLElement(label_scoped) - Location: (17657,17676)(17657,17676) + PsiElement(LABEL_SCOPED_)('hashes:hashes-owner')(17657,17676) + PsiElement(',')(',')(17676,17677) + PsiWhiteSpace('\n\n ')(17677,17683) + PsiComment(COMMENT)('# RRel\n')(17683,17690) + PsiWhiteSpace(' ')(17690,17694) + PsiTypeQLPlaysType(type_constraint) - Location: (17694,17711)(17694,17711) + PsiElement('plays')('plays')(17694,17699) + PsiWhiteSpace(' ')(17699,17700) + PsiTypeQLElement(type_scoped) - Location: (17700,17711)(17700,17711) + PsiTypeQLElement(label_scoped) - Location: (17700,17711)(17700,17711) + PsiElement(LABEL_SCOPED_)('sections:to')(17700,17711) + PsiElement(';')(';')(17711,17712) + PsiWhiteSpace('\n\n')(17712,17714) + PsiTypeQLElement(definable) - Location: (17714,17956)(17714,17956) + PsiTypeQLStatementType(statement_type) - Location: (17714,17956)(17714,17956) + PsiTypeQLElement(type_any) - Location: (17714,17726)(17714,17726) + PsiTypeQLType(type) - Name: ipv4-address - Location: (17714,17726)(17714,17726) + PsiTypeQLElement(label) - Location: (17714,17726)(17714,17726) + PsiElement(LABEL_)('ipv4-address')(17714,17726) + PsiWhiteSpace(' ')(17726,17727) + PsiTypeQLSubType(type_constraint) - Location: (17727,17759)(17727,17759) + PsiElement(SUB_)('sub')(17727,17730) + PsiWhiteSpace(' ')(17730,17731) + PsiTypeQLElement(type_any) - Location: (17731,17759)(17731,17759) + PsiTypeQLElement(type) - Location: (17731,17759)(17731,17759) + PsiTypeQLElement(label) - Location: (17731,17759)(17731,17759) + PsiElement(LABEL_)('stix-cyber-observable-object')(17731,17759) + PsiElement(',')(',')(17759,17760) + PsiWhiteSpace('\n ')(17760,17765) + PsiTypeQLOwnsType(type_constraint) - Location: (17765,17780)(17765,17780) + PsiElement('owns')('owns')(17765,17769) + PsiWhiteSpace(' ')(17769,17770) + PsiTypeQLElement(type) - Location: (17770,17780)(17770,17780) + PsiTypeQLElement(label) - Location: (17770,17780)(17770,17780) + PsiElement(LABEL_)('stix-value')(17770,17780) + PsiTypeQLElement(annotations_owns) - Location: (17780,17780)(17780,17780) + + PsiElement(',')(',')(17780,17781) + PsiWhiteSpace('\n\n ')(17781,17787) + PsiComment(COMMENT)('# Rel\n')(17787,17793) + PsiWhiteSpace(' ')(17793,17797) + PsiTypeQLPlaysType(type_constraint) - Location: (17797,17828)(17797,17828) + PsiElement('plays')('plays')(17797,17802) + PsiWhiteSpace(' ')(17802,17803) + PsiTypeQLElement(type_scoped) - Location: (17803,17828)(17803,17828) + PsiTypeQLElement(label_scoped) - Location: (17803,17828)(17803,17828) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolved')(17803,17828) + PsiElement(',')(',')(17828,17829) + PsiWhiteSpace('\n ')(17829,17834) + PsiTypeQLPlaysType(type_constraint) - Location: (17834,17864)(17834,17864) + PsiElement('plays')('plays')(17834,17839) + PsiWhiteSpace(' ')(17839,17840) + PsiTypeQLElement(type_scoped) - Location: (17840,17864)(17840,17864) + PsiTypeQLElement(label_scoped) - Location: (17840,17864)(17840,17864) + PsiElement(LABEL_SCOPED_)('belongs-to-refs:belonged')(17840,17864) + PsiElement(',')(',')(17864,17865) + PsiWhiteSpace('\n\n ')(17865,17871) + PsiComment(COMMENT)('# RRel\n')(17871,17878) + PsiWhiteSpace(' ')(17878,17882) + PsiTypeQLPlaysType(type_constraint) - Location: (17882,17914)(17882,17914) + PsiElement('plays')('plays')(17882,17887) + PsiWhiteSpace(' ')(17887,17888) + PsiTypeQLElement(type_scoped) - Location: (17888,17914)(17888,17914) + PsiTypeQLElement(label_scoped) - Location: (17888,17914)(17888,17914) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolving')(17888,17914) + PsiElement(',')(',')(17914,17915) + PsiWhiteSpace('\n ')(17915,17920) + PsiTypeQLPlaysType(type_constraint) - Location: (17920,17956)(17920,17956) + PsiElement('plays')('plays')(17920,17925) + PsiWhiteSpace(' ')(17925,17926) + PsiTypeQLElement(type_scoped) - Location: (17926,17956)(17926,17956) + PsiTypeQLElement(label_scoped) - Location: (17926,17956)(17926,17956) + PsiElement(LABEL_SCOPED_)('communicates-with:communicated')(17926,17956) + PsiElement(';')(';')(17956,17957) + PsiWhiteSpace('\n\n\n\n')(17957,17961) + PsiTypeQLElement(definable) - Location: (17961,18203)(17961,18203) + PsiTypeQLStatementType(statement_type) - Location: (17961,18203)(17961,18203) + PsiTypeQLElement(type_any) - Location: (17961,17973)(17961,17973) + PsiTypeQLType(type) - Name: ipv6-address - Location: (17961,17973)(17961,17973) + PsiTypeQLElement(label) - Location: (17961,17973)(17961,17973) + PsiElement(LABEL_)('ipv6-address')(17961,17973) + PsiWhiteSpace(' ')(17973,17974) + PsiTypeQLSubType(type_constraint) - Location: (17974,18006)(17974,18006) + PsiElement(SUB_)('sub')(17974,17977) + PsiWhiteSpace(' ')(17977,17978) + PsiTypeQLElement(type_any) - Location: (17978,18006)(17978,18006) + PsiTypeQLElement(type) - Location: (17978,18006)(17978,18006) + PsiTypeQLElement(label) - Location: (17978,18006)(17978,18006) + PsiElement(LABEL_)('stix-cyber-observable-object')(17978,18006) + PsiElement(',')(',')(18006,18007) + PsiWhiteSpace('\n ')(18007,18012) + PsiTypeQLOwnsType(type_constraint) - Location: (18012,18027)(18012,18027) + PsiElement('owns')('owns')(18012,18016) + PsiWhiteSpace(' ')(18016,18017) + PsiTypeQLElement(type) - Location: (18017,18027)(18017,18027) + PsiTypeQLElement(label) - Location: (18017,18027)(18017,18027) + PsiElement(LABEL_)('stix-value')(18017,18027) + PsiTypeQLElement(annotations_owns) - Location: (18027,18027)(18027,18027) + + PsiElement(',')(',')(18027,18028) + PsiWhiteSpace('\n\n ')(18028,18034) + PsiComment(COMMENT)('# Rel\n')(18034,18040) + PsiWhiteSpace(' ')(18040,18044) + PsiTypeQLPlaysType(type_constraint) - Location: (18044,18075)(18044,18075) + PsiElement('plays')('plays')(18044,18049) + PsiWhiteSpace(' ')(18049,18050) + PsiTypeQLElement(type_scoped) - Location: (18050,18075)(18050,18075) + PsiTypeQLElement(label_scoped) - Location: (18050,18075)(18050,18075) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolved')(18050,18075) + PsiElement(',')(',')(18075,18076) + PsiWhiteSpace('\n ')(18076,18081) + PsiTypeQLPlaysType(type_constraint) - Location: (18081,18111)(18081,18111) + PsiElement('plays')('plays')(18081,18086) + PsiWhiteSpace(' ')(18086,18087) + PsiTypeQLElement(type_scoped) - Location: (18087,18111)(18087,18111) + PsiTypeQLElement(label_scoped) - Location: (18087,18111)(18087,18111) + PsiElement(LABEL_SCOPED_)('belongs-to-refs:belonged')(18087,18111) + PsiElement(',')(',')(18111,18112) + PsiWhiteSpace('\n\n ')(18112,18118) + PsiComment(COMMENT)('# RRel\n')(18118,18125) + PsiWhiteSpace(' ')(18125,18129) + PsiTypeQLPlaysType(type_constraint) - Location: (18129,18161)(18129,18161) + PsiElement('plays')('plays')(18129,18134) + PsiWhiteSpace(' ')(18134,18135) + PsiTypeQLElement(type_scoped) - Location: (18135,18161)(18135,18161) + PsiTypeQLElement(label_scoped) - Location: (18135,18161)(18135,18161) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolving')(18135,18161) + PsiElement(',')(',')(18161,18162) + PsiWhiteSpace('\n ')(18162,18167) + PsiTypeQLPlaysType(type_constraint) - Location: (18167,18203)(18167,18203) + PsiElement('plays')('plays')(18167,18172) + PsiWhiteSpace(' ')(18172,18173) + PsiTypeQLElement(type_scoped) - Location: (18173,18203)(18173,18203) + PsiTypeQLElement(label_scoped) - Location: (18173,18203)(18173,18203) + PsiElement(LABEL_SCOPED_)('communicates-with:communicated')(18173,18203) + PsiElement(';')(';')(18203,18204) + PsiWhiteSpace('\n\n\n')(18204,18207) + PsiTypeQLElement(definable) - Location: (18207,18319)(18207,18319) + PsiTypeQLStatementType(statement_type) - Location: (18207,18319)(18207,18319) + PsiTypeQLElement(type_any) - Location: (18207,18215)(18207,18215) + PsiTypeQLType(type) - Name: mac-addr - Location: (18207,18215)(18207,18215) + PsiTypeQLElement(label) - Location: (18207,18215)(18207,18215) + PsiElement(LABEL_)('mac-addr')(18207,18215) + PsiWhiteSpace(' ')(18215,18216) + PsiTypeQLSubType(type_constraint) - Location: (18216,18248)(18216,18248) + PsiElement(SUB_)('sub')(18216,18219) + PsiWhiteSpace(' ')(18219,18220) + PsiTypeQLElement(type_any) - Location: (18220,18248)(18220,18248) + PsiTypeQLElement(type) - Location: (18220,18248)(18220,18248) + PsiTypeQLElement(label) - Location: (18220,18248)(18220,18248) + PsiElement(LABEL_)('stix-cyber-observable-object')(18220,18248) + PsiElement(',')(',')(18248,18249) + PsiWhiteSpace('\n ')(18249,18254) + PsiTypeQLOwnsType(type_constraint) - Location: (18254,18269)(18254,18269) + PsiElement('owns')('owns')(18254,18258) + PsiWhiteSpace(' ')(18258,18259) + PsiTypeQLElement(type) - Location: (18259,18269)(18259,18269) + PsiTypeQLElement(label) - Location: (18259,18269)(18259,18269) + PsiElement(LABEL_)('stix-value')(18259,18269) + PsiTypeQLElement(annotations_owns) - Location: (18269,18269)(18269,18269) + + PsiElement(',')(',')(18269,18270) + PsiWhiteSpace('\n\n ')(18270,18276) + PsiComment(COMMENT)('# RRel\n')(18276,18283) + PsiWhiteSpace(' ')(18283,18287) + PsiTypeQLPlaysType(type_constraint) - Location: (18287,18319)(18287,18319) + PsiElement('plays')('plays')(18287,18292) + PsiWhiteSpace(' ')(18292,18293) + PsiTypeQLElement(type_scoped) - Location: (18293,18319)(18293,18319) + PsiTypeQLElement(label_scoped) - Location: (18293,18319)(18293,18319) + PsiElement(LABEL_SCOPED_)('resolves-to-refs:resolving')(18293,18319) + PsiElement(';')(';')(18319,18320) + PsiWhiteSpace('\n\n\n')(18320,18323) + PsiTypeQLElement(definable) - Location: (18323,18376)(18323,18376) + PsiTypeQLStatementType(statement_type) - Location: (18323,18376)(18323,18376) + PsiTypeQLElement(type_any) - Location: (18323,18328)(18323,18328) + PsiTypeQLType(type) - Name: mutex - Location: (18323,18328)(18323,18328) + PsiTypeQLElement(label) - Location: (18323,18328)(18323,18328) + PsiElement(LABEL_)('mutex')(18323,18328) + PsiWhiteSpace(' ')(18328,18329) + PsiTypeQLSubType(type_constraint) - Location: (18329,18361)(18329,18361) + PsiElement(SUB_)('sub')(18329,18332) + PsiWhiteSpace(' ')(18332,18333) + PsiTypeQLElement(type_any) - Location: (18333,18361)(18333,18361) + PsiTypeQLElement(type) - Location: (18333,18361)(18333,18361) + PsiTypeQLElement(label) - Location: (18333,18361)(18333,18361) + PsiElement(LABEL_)('stix-cyber-observable-object')(18333,18361) + PsiElement(',')(',')(18361,18362) + PsiWhiteSpace('\n ')(18362,18367) + PsiTypeQLOwnsType(type_constraint) - Location: (18367,18376)(18367,18376) + PsiElement('owns')('owns')(18367,18371) + PsiWhiteSpace(' ')(18371,18372) + PsiTypeQLElement(type) - Location: (18372,18376)(18372,18376) + PsiTypeQLElement(label) - Location: (18372,18376)(18372,18376) + PsiElement(LABEL_)('name')(18372,18376) + PsiTypeQLElement(annotations_owns) - Location: (18376,18376)(18376,18376) + + PsiElement(';')(';')(18376,18377) + PsiWhiteSpace('\n\n\n')(18377,18380) + PsiTypeQLElement(definable) - Location: (18380,18917)(18380,18917) + PsiTypeQLStatementType(statement_type) - Location: (18380,18917)(18380,18917) + PsiTypeQLElement(type_any) - Location: (18380,18395)(18380,18395) + PsiTypeQLType(type) - Name: network-traffic - Location: (18380,18395)(18380,18395) + PsiTypeQLElement(label) - Location: (18380,18395)(18380,18395) + PsiElement(LABEL_)('network-traffic')(18380,18395) + PsiWhiteSpace(' ')(18395,18396) + PsiTypeQLSubType(type_constraint) - Location: (18396,18428)(18396,18428) + PsiElement(SUB_)('sub')(18396,18399) + PsiWhiteSpace(' ')(18399,18400) + PsiTypeQLElement(type_any) - Location: (18400,18428)(18400,18428) + PsiTypeQLElement(type) - Location: (18400,18428)(18400,18428) + PsiTypeQLElement(label) - Location: (18400,18428)(18400,18428) + PsiElement(LABEL_)('stix-cyber-observable-object')(18400,18428) + PsiElement(',')(',')(18428,18429) + PsiWhiteSpace('\n ')(18429,18434) + PsiTypeQLOwnsType(type_constraint) - Location: (18434,18444)(18434,18444) + PsiElement('owns')('owns')(18434,18438) + PsiWhiteSpace(' ')(18438,18439) + PsiTypeQLElement(type) - Location: (18439,18444)(18439,18444) + PsiTypeQLElement(label) - Location: (18439,18444)(18439,18444) + PsiElement(LABEL_)('start')(18439,18444) + PsiTypeQLElement(annotations_owns) - Location: (18444,18444)(18444,18444) + + PsiElement(',')(',')(18444,18445) + PsiWhiteSpace('\n ')(18445,18450) + PsiTypeQLOwnsType(type_constraint) - Location: (18450,18458)(18450,18458) + PsiElement('owns')('owns')(18450,18454) + PsiWhiteSpace(' ')(18454,18455) + PsiTypeQLElement(type) - Location: (18455,18458)(18455,18458) + PsiTypeQLElement(label) - Location: (18455,18458)(18455,18458) + PsiElement(LABEL_)('end')(18455,18458) + PsiTypeQLElement(annotations_owns) - Location: (18458,18458)(18458,18458) + + PsiElement(',')(',')(18458,18459) + PsiWhiteSpace('\n ')(18459,18464) + PsiTypeQLOwnsType(type_constraint) - Location: (18464,18478)(18464,18478) + PsiElement('owns')('owns')(18464,18468) + PsiWhiteSpace(' ')(18468,18469) + PsiTypeQLElement(type) - Location: (18469,18478)(18469,18478) + PsiTypeQLElement(label) - Location: (18469,18478)(18469,18478) + PsiElement(LABEL_)('is-active')(18469,18478) + PsiTypeQLElement(annotations_owns) - Location: (18478,18478)(18478,18478) + + PsiElement(',')(',')(18478,18479) + PsiWhiteSpace('\n ')(18479,18484) + PsiTypeQLOwnsType(type_constraint) - Location: (18484,18497)(18484,18497) + PsiElement('owns')('owns')(18484,18488) + PsiWhiteSpace(' ')(18488,18489) + PsiTypeQLElement(type) - Location: (18489,18497)(18489,18497) + PsiTypeQLElement(label) - Location: (18489,18497)(18489,18497) + PsiElement(LABEL_)('src-port')(18489,18497) + PsiTypeQLElement(annotations_owns) - Location: (18497,18497)(18497,18497) + + PsiElement(',')(',')(18497,18498) + PsiWhiteSpace('\n ')(18498,18503) + PsiTypeQLOwnsType(type_constraint) - Location: (18503,18516)(18503,18516) + PsiElement('owns')('owns')(18503,18507) + PsiWhiteSpace(' ')(18507,18508) + PsiTypeQLElement(type) - Location: (18508,18516)(18508,18516) + PsiTypeQLElement(label) - Location: (18508,18516)(18508,18516) + PsiElement(LABEL_)('dst-port')(18508,18516) + PsiTypeQLElement(annotations_owns) - Location: (18516,18516)(18516,18516) + + PsiElement(',')(',')(18516,18517) + PsiWhiteSpace('\n\n ')(18517,18523) + PsiComment(COMMENT)('# Rel\n')(18523,18529) + PsiWhiteSpace(' ')(18529,18533) + PsiTypeQLPlaysType(type_constraint) - Location: (18533,18553)(18533,18553) + PsiElement('plays')('plays')(18533,18538) + PsiWhiteSpace(' ')(18538,18539) + PsiTypeQLElement(type_scoped) - Location: (18539,18553)(18539,18553) + PsiTypeQLElement(label_scoped) - Location: (18539,18553)(18539,18553) + PsiElement(LABEL_SCOPED_)('src-ref:source')(18539,18553) + PsiElement(',')(',')(18553,18554) + PsiWhiteSpace('\n ')(18554,18559) + PsiTypeQLPlaysType(type_constraint) - Location: (18559,18579)(18559,18579) + PsiElement('plays')('plays')(18559,18564) + PsiWhiteSpace(' ')(18564,18565) + PsiTypeQLElement(type_scoped) - Location: (18565,18579)(18565,18579) + PsiTypeQLElement(label_scoped) - Location: (18565,18579)(18565,18579) + PsiElement(LABEL_SCOPED_)('dst-ref:source')(18565,18579) + PsiElement(',')(',')(18579,18580) + PsiWhiteSpace('\n ')(18580,18585) + PsiTypeQLPlaysType(type_constraint) - Location: (18585,18613)(18585,18613) + PsiElement('plays')('plays')(18585,18590) + PsiWhiteSpace(' ')(18590,18591) + PsiTypeQLElement(type_scoped) - Location: (18591,18613)(18591,18613) + PsiTypeQLElement(label_scoped) - Location: (18591,18613)(18591,18613) + PsiElement(LABEL_SCOPED_)('src-payload-ref:source')(18591,18613) + PsiElement(',')(',')(18613,18614) + PsiWhiteSpace('\n ')(18614,18619) + PsiTypeQLPlaysType(type_constraint) - Location: (18619,18647)(18619,18647) + PsiElement('plays')('plays')(18619,18624) + PsiWhiteSpace(' ')(18624,18625) + PsiTypeQLElement(type_scoped) - Location: (18625,18647)(18625,18647) + PsiTypeQLElement(label_scoped) - Location: (18625,18647)(18625,18647) + PsiElement(LABEL_SCOPED_)('dst-payload-ref:source')(18625,18647) + PsiElement(',')(',')(18647,18648) + PsiWhiteSpace('\n ')(18648,18653) + PsiTypeQLPlaysType(type_constraint) - Location: (18653,18685)(18653,18685) + PsiElement('plays')('plays')(18653,18658) + PsiWhiteSpace(' ')(18658,18659) + PsiTypeQLElement(type_scoped) - Location: (18659,18685)(18659,18685) + PsiTypeQLElement(label_scoped) - Location: (18659,18685)(18659,18685) + PsiElement(LABEL_SCOPED_)('encapsulated-by-ref:source')(18659,18685) + PsiElement(',')(',')(18685,18686) + PsiWhiteSpace('\n ')(18686,18691) + PsiTypeQLPlaysType(type_constraint) - Location: (18691,18711)(18691,18711) + PsiElement('plays')('plays')(18691,18696) + PsiWhiteSpace(' ')(18696,18697) + PsiTypeQLElement(type_scoped) - Location: (18697,18711)(18697,18711) + PsiTypeQLElement(label_scoped) - Location: (18697,18711)(18697,18711) + PsiElement(LABEL_SCOPED_)('protocols:from')(18697,18711) + PsiElement(',')(',')(18711,18712) + PsiWhiteSpace('\n ')(18712,18717) + PsiTypeQLPlaysType(type_constraint) - Location: (18717,18740)(18717,18740) + PsiElement('plays')('plays')(18717,18722) + PsiWhiteSpace(' ')(18722,18723) + PsiTypeQLElement(type_scoped) - Location: (18723,18740)(18723,18740) + PsiTypeQLElement(label_scoped) - Location: (18723,18740)(18723,18740) + PsiElement(LABEL_SCOPED_)('ipfix:ipfix-owner')(18723,18740) + PsiElement(',')(',')(18740,18741) + PsiWhiteSpace('\n ')(18741,18746) + PsiTypeQLPlaysType(type_constraint) - Location: (18746,18782)(18746,18782) + PsiElement('plays')('plays')(18746,18751) + PsiWhiteSpace(' ')(18751,18752) + PsiTypeQLElement(type_scoped) - Location: (18752,18782)(18752,18782) + PsiTypeQLElement(label_scoped) - Location: (18752,18782)(18752,18782) + PsiElement(LABEL_SCOPED_)('encapsulates-refs:encapsulated')(18752,18782) + PsiElement(',')(',')(18782,18783) + PsiWhiteSpace('\n\n ')(18783,18789) + PsiComment(COMMENT)('# RRel\n')(18789,18796) + PsiWhiteSpace(' ')(18796,18800) + PsiTypeQLPlaysType(type_constraint) - Location: (18800,18837)(18800,18837) + PsiElement('plays')('plays')(18800,18805) + PsiWhiteSpace(' ')(18805,18806) + PsiTypeQLElement(type_scoped) - Location: (18806,18837)(18806,18837) + PsiTypeQLElement(label_scoped) - Location: (18806,18837)(18806,18837) + PsiElement(LABEL_SCOPED_)('encapsulates-refs:encapsulating')(18806,18837) + PsiElement(',')(',')(18837,18838) + PsiWhiteSpace('\n ')(18838,18843) + PsiTypeQLPlaysType(type_constraint) - Location: (18843,18875)(18843,18875) + PsiElement('plays')('plays')(18843,18848) + PsiWhiteSpace(' ')(18848,18849) + PsiTypeQLElement(type_scoped) - Location: (18849,18875)(18849,18875) + PsiTypeQLElement(label_scoped) - Location: (18849,18875)(18849,18875) + PsiElement(LABEL_SCOPED_)('encapsulated-by-ref:target')(18849,18875) + PsiElement(',')(',')(18875,18876) + PsiWhiteSpace('\n ')(18876,18881) + PsiTypeQLPlaysType(type_constraint) - Location: (18881,18917)(18881,18917) + PsiElement('plays')('plays')(18881,18886) + PsiWhiteSpace(' ')(18886,18887) + PsiTypeQLElement(type_scoped) - Location: (18887,18917)(18887,18917) + PsiTypeQLElement(label_scoped) - Location: (18887,18917)(18887,18917) + PsiElement(LABEL_SCOPED_)('opened-connection-refs:opening')(18887,18917) + PsiElement(';')(';')(18917,18918) + PsiWhiteSpace('\n\n')(18918,18920) + PsiTypeQLElement(definable) - Location: (18920,19149)(18920,19149) + PsiTypeQLStatementType(statement_type) - Location: (18920,19149)(18920,19149) + PsiTypeQLElement(type_any) - Location: (18920,18936)(18920,18936) + PsiTypeQLType(type) - Name: http-request-ext - Location: (18920,18936)(18920,18936) + PsiTypeQLElement(label) - Location: (18920,18936)(18920,18936) + PsiElement(LABEL_)('http-request-ext')(18920,18936) + PsiWhiteSpace(' ')(18936,18937) + PsiTypeQLSubType(type_constraint) - Location: (18937,18956)(18937,18956) + PsiElement(SUB_)('sub')(18937,18940) + PsiWhiteSpace(' ')(18940,18941) + PsiTypeQLElement(type_any) - Location: (18941,18956)(18941,18956) + PsiTypeQLElement(type) - Location: (18941,18956)(18941,18956) + PsiTypeQLElement(label) - Location: (18941,18956)(18941,18956) + PsiElement(LABEL_)('network-traffic')(18941,18956) + PsiElement(',')(',')(18956,18957) + PsiWhiteSpace('\n ')(18957,18962) + PsiTypeQLOwnsType(type_constraint) - Location: (18962,18981)(18962,18981) + PsiElement('owns')('owns')(18962,18966) + PsiWhiteSpace(' ')(18966,18967) + PsiTypeQLElement(type) - Location: (18967,18981)(18967,18981) + PsiTypeQLElement(label) - Location: (18967,18981)(18967,18981) + PsiElement(LABEL_)('request-method')(18967,18981) + PsiTypeQLElement(annotations_owns) - Location: (18981,18981)(18981,18981) + + PsiElement(',')(',')(18981,18982) + PsiWhiteSpace('\n ')(18982,18987) + PsiTypeQLOwnsType(type_constraint) - Location: (18987,19005)(18987,19005) + PsiElement('owns')('owns')(18987,18991) + PsiWhiteSpace(' ')(18991,18992) + PsiTypeQLElement(type) - Location: (18992,19005)(18992,19005) + PsiTypeQLElement(label) - Location: (18992,19005)(18992,19005) + PsiElement(LABEL_)('request-value')(18992,19005) + PsiTypeQLElement(annotations_owns) - Location: (19005,19005)(19005,19005) + + PsiElement(',')(',')(19005,19006) + PsiWhiteSpace('\n ')(19006,19011) + PsiTypeQLOwnsType(type_constraint) - Location: (19011,19031)(19011,19031) + PsiElement('owns')('owns')(19011,19015) + PsiWhiteSpace(' ')(19015,19016) + PsiTypeQLElement(type) - Location: (19016,19031)(19016,19031) + PsiTypeQLElement(label) - Location: (19016,19031)(19016,19031) + PsiElement(LABEL_)('request-version')(19016,19031) + PsiTypeQLElement(annotations_owns) - Location: (19031,19031)(19031,19031) + + PsiElement(',')(',')(19031,19032) + PsiWhiteSpace('\n ')(19032,19037) + PsiTypeQLOwnsType(type_constraint) - Location: (19037,19061)(19037,19061) + PsiElement('owns')('owns')(19037,19041) + PsiWhiteSpace(' ')(19041,19042) + PsiTypeQLElement(type) - Location: (19042,19061)(19042,19061) + PsiTypeQLElement(label) - Location: (19042,19061)(19042,19061) + PsiElement(LABEL_)('message-body-length')(19042,19061) + PsiTypeQLElement(annotations_owns) - Location: (19061,19061)(19061,19061) + + PsiElement(',')(',')(19061,19062) + PsiWhiteSpace('\n\n ')(19062,19068) + PsiComment(COMMENT)('# Rel\n')(19068,19074) + PsiWhiteSpace(' ')(19074,19078) + PsiTypeQLPlaysType(type_constraint) - Location: (19078,19111)(19078,19111) + PsiElement('plays')('plays')(19078,19083) + PsiWhiteSpace(' ')(19083,19084) + PsiTypeQLElement(type_scoped) - Location: (19084,19111)(19084,19111) + PsiTypeQLElement(label_scoped) - Location: (19084,19111)(19084,19111) + PsiElement(LABEL_SCOPED_)('request-header:header-owner')(19084,19111) + PsiElement(',')(',')(19111,19112) + PsiWhiteSpace('\n ')(19112,19117) + PsiTypeQLPlaysType(type_constraint) - Location: (19117,19149)(19117,19149) + PsiElement('plays')('plays')(19117,19122) + PsiWhiteSpace(' ')(19122,19123) + PsiTypeQLElement(type_scoped) - Location: (19123,19149)(19123,19149) + PsiTypeQLElement(label_scoped) - Location: (19123,19149)(19123,19149) + PsiElement(LABEL_SCOPED_)('message-body-data-ref:from')(19123,19149) + PsiElement(';')(';')(19149,19150) + PsiWhiteSpace('\n\n')(19150,19152) + PsiTypeQLElement(definable) - Location: (19152,19228)(19152,19228) + PsiTypeQLStatementType(statement_type) - Location: (19152,19228)(19152,19228) + PsiTypeQLElement(type_any) - Location: (19152,19160)(19152,19160) + PsiTypeQLType(type) - Name: icmp-ext - Location: (19152,19160)(19152,19160) + PsiTypeQLElement(label) - Location: (19152,19160)(19152,19160) + PsiElement(LABEL_)('icmp-ext')(19152,19160) + PsiWhiteSpace(' ')(19160,19161) + PsiTypeQLSubType(type_constraint) - Location: (19161,19180)(19161,19180) + PsiElement(SUB_)('sub')(19161,19164) + PsiWhiteSpace(' ')(19164,19165) + PsiTypeQLElement(type_any) - Location: (19165,19180)(19165,19180) + PsiTypeQLElement(type) - Location: (19165,19180)(19165,19180) + PsiTypeQLElement(label) - Location: (19165,19180)(19165,19180) + PsiElement(LABEL_)('network-traffic')(19165,19180) + PsiElement(',')(',')(19180,19181) + PsiWhiteSpace('\n ')(19181,19186) + PsiTypeQLOwnsType(type_constraint) - Location: (19186,19204)(19186,19204) + PsiElement('owns')('owns')(19186,19190) + PsiWhiteSpace(' ')(19190,19191) + PsiTypeQLElement(type) - Location: (19191,19204)(19191,19204) + PsiTypeQLElement(label) - Location: (19191,19204)(19191,19204) + PsiElement(LABEL_)('icmp-type-hex')(19191,19204) + PsiTypeQLElement(annotations_owns) - Location: (19204,19204)(19204,19204) + + PsiElement(',')(',')(19204,19205) + PsiWhiteSpace('\n ')(19205,19210) + PsiTypeQLOwnsType(type_constraint) - Location: (19210,19228)(19210,19228) + PsiElement('owns')('owns')(19210,19214) + PsiWhiteSpace(' ')(19214,19215) + PsiTypeQLElement(type) - Location: (19215,19228)(19215,19228) + PsiTypeQLElement(label) - Location: (19215,19228)(19215,19228) + PsiElement(LABEL_)('icmp-code-hex')(19215,19228) + PsiTypeQLElement(annotations_owns) - Location: (19228,19228)(19228,19228) + + PsiElement(';')(';')(19228,19229) + PsiWhiteSpace('\n\n')(19229,19231) + PsiTypeQLElement(definable) - Location: (19231,19449)(19231,19449) + PsiTypeQLStatementType(statement_type) - Location: (19231,19449)(19231,19449) + PsiTypeQLElement(type_any) - Location: (19231,19241)(19231,19241) + PsiTypeQLType(type) - Name: socket-ext - Location: (19231,19241)(19231,19241) + PsiTypeQLElement(label) - Location: (19231,19241)(19231,19241) + PsiElement(LABEL_)('socket-ext')(19231,19241) + PsiWhiteSpace(' ')(19241,19242) + PsiTypeQLSubType(type_constraint) - Location: (19242,19261)(19242,19261) + PsiElement(SUB_)('sub')(19242,19245) + PsiWhiteSpace(' ')(19245,19246) + PsiTypeQLElement(type_any) - Location: (19246,19261)(19246,19261) + PsiTypeQLElement(type) - Location: (19246,19261)(19246,19261) + PsiTypeQLElement(label) - Location: (19246,19261)(19246,19261) + PsiElement(LABEL_)('network-traffic')(19246,19261) + PsiElement(',')(',')(19261,19262) + PsiWhiteSpace('\n ')(19262,19267) + PsiTypeQLOwnsType(type_constraint) - Location: (19267,19286)(19267,19286) + PsiElement('owns')('owns')(19267,19271) + PsiWhiteSpace(' ')(19271,19272) + PsiTypeQLElement(type) - Location: (19272,19286)(19272,19286) + PsiTypeQLElement(label) - Location: (19272,19286)(19272,19286) + PsiElement(LABEL_)('address-family')(19272,19286) + PsiTypeQLElement(annotations_owns) - Location: (19286,19286)(19286,19286) + + PsiElement(',')(',')(19286,19287) + PsiWhiteSpace('\n ')(19287,19292) + PsiTypeQLOwnsType(type_constraint) - Location: (19292,19308)(19292,19308) + PsiElement('owns')('owns')(19292,19296) + PsiWhiteSpace(' ')(19296,19297) + PsiTypeQLElement(type) - Location: (19297,19308)(19297,19308) + PsiTypeQLElement(label) - Location: (19297,19308)(19297,19308) + PsiElement(LABEL_)('is-blocking')(19297,19308) + PsiTypeQLElement(annotations_owns) - Location: (19308,19308)(19308,19308) + + PsiElement(',')(',')(19308,19309) + PsiWhiteSpace('\n ')(19309,19314) + PsiTypeQLOwnsType(type_constraint) - Location: (19314,19331)(19314,19331) + PsiElement('owns')('owns')(19314,19318) + PsiWhiteSpace(' ')(19318,19319) + PsiTypeQLElement(type) - Location: (19319,19331)(19319,19331) + PsiTypeQLElement(label) - Location: (19319,19331)(19319,19331) + PsiElement(LABEL_)('is-listening')(19319,19331) + PsiTypeQLElement(annotations_owns) - Location: (19331,19331)(19331,19331) + + PsiElement(',')(',')(19331,19332) + PsiWhiteSpace('\n ')(19332,19337) + PsiTypeQLOwnsType(type_constraint) - Location: (19337,19353)(19337,19353) + PsiElement('owns')('owns')(19337,19341) + PsiWhiteSpace(' ')(19341,19342) + PsiTypeQLElement(type) - Location: (19342,19353)(19342,19353) + PsiTypeQLElement(label) - Location: (19342,19353)(19342,19353) + PsiElement(LABEL_)('socket-type')(19342,19353) + PsiTypeQLElement(annotations_owns) - Location: (19353,19353)(19353,19353) + + PsiElement(',')(',')(19353,19354) + PsiWhiteSpace('\n ')(19354,19359) + PsiTypeQLOwnsType(type_constraint) - Location: (19359,19381)(19359,19381) + PsiElement('owns')('owns')(19359,19363) + PsiWhiteSpace(' ')(19363,19364) + PsiTypeQLElement(type) - Location: (19364,19381)(19364,19381) + PsiTypeQLElement(label) - Location: (19364,19381)(19364,19381) + PsiElement(LABEL_)('socket-descriptor')(19364,19381) + PsiTypeQLElement(annotations_owns) - Location: (19381,19381)(19381,19381) + + PsiElement(',')(',')(19381,19382) + PsiWhiteSpace('\n ')(19382,19387) + PsiTypeQLOwnsType(type_constraint) - Location: (19387,19405)(19387,19405) + PsiElement('owns')('owns')(19387,19391) + PsiWhiteSpace(' ')(19391,19392) + PsiTypeQLElement(type) - Location: (19392,19405)(19392,19405) + PsiTypeQLElement(label) - Location: (19392,19405)(19392,19405) + PsiElement(LABEL_)('socket-handle')(19392,19405) + PsiTypeQLElement(annotations_owns) - Location: (19405,19405)(19405,19405) + + PsiElement(',')(',')(19405,19406) + PsiWhiteSpace('\n\n ')(19406,19412) + PsiComment(COMMENT)('# Rel\n')(19412,19418) + PsiWhiteSpace(' ')(19418,19422) + PsiTypeQLPlaysType(type_constraint) - Location: (19422,19449)(19422,19449) + PsiElement('plays')('plays')(19422,19427) + PsiWhiteSpace(' ')(19427,19428) + PsiTypeQLElement(type_scoped) - Location: (19428,19449)(19428,19449) + PsiTypeQLElement(label_scoped) - Location: (19428,19449)(19428,19449) + PsiElement(LABEL_SCOPED_)('options:options-owner')(19428,19449) + PsiElement(';')(';')(19449,19450) + PsiWhiteSpace('\n\n')(19450,19452) + PsiTypeQLElement(definable) - Location: (19452,19527)(19452,19527) + PsiTypeQLStatementType(statement_type) - Location: (19452,19527)(19452,19527) + PsiTypeQLElement(type_any) - Location: (19452,19459)(19452,19459) + PsiTypeQLType(type) - Name: tcp-ext - Location: (19452,19459)(19452,19459) + PsiTypeQLElement(label) - Location: (19452,19459)(19452,19459) + PsiElement(LABEL_)('tcp-ext')(19452,19459) + PsiWhiteSpace(' ')(19459,19460) + PsiTypeQLSubType(type_constraint) - Location: (19460,19479)(19460,19479) + PsiElement(SUB_)('sub')(19460,19463) + PsiWhiteSpace(' ')(19463,19464) + PsiTypeQLElement(type_any) - Location: (19464,19479)(19464,19479) + PsiTypeQLElement(type) - Location: (19464,19479)(19464,19479) + PsiTypeQLElement(label) - Location: (19464,19479)(19464,19479) + PsiElement(LABEL_)('network-traffic')(19464,19479) + PsiElement(',')(',')(19479,19480) + PsiWhiteSpace('\n ')(19480,19485) + PsiTypeQLOwnsType(type_constraint) - Location: (19485,19503)(19485,19503) + PsiElement('owns')('owns')(19485,19489) + PsiWhiteSpace(' ')(19489,19490) + PsiTypeQLElement(type) - Location: (19490,19503)(19490,19503) + PsiTypeQLElement(label) - Location: (19490,19503)(19490,19503) + PsiElement(LABEL_)('src-flags-hex')(19490,19503) + PsiTypeQLElement(annotations_owns) - Location: (19503,19503)(19503,19503) + + PsiElement(',')(',')(19503,19504) + PsiWhiteSpace('\n ')(19504,19509) + PsiTypeQLOwnsType(type_constraint) - Location: (19509,19527)(19509,19527) + PsiElement('owns')('owns')(19509,19513) + PsiWhiteSpace(' ')(19513,19514) + PsiTypeQLElement(type) - Location: (19514,19527)(19514,19527) + PsiTypeQLElement(label) - Location: (19514,19527)(19514,19527) + PsiElement(LABEL_)('dst-flags-hex')(19514,19527) + PsiTypeQLElement(annotations_owns) - Location: (19527,19527)(19527,19527) + + PsiElement(';')(';')(19527,19528) + PsiWhiteSpace('\n\n')(19528,19530) + PsiTypeQLElement(definable) - Location: (19530,19955)(19530,19955) + PsiTypeQLStatementType(statement_type) - Location: (19530,19955)(19530,19955) + PsiTypeQLElement(type_any) - Location: (19530,19537)(19530,19537) + PsiTypeQLType(type) - Name: process - Location: (19530,19537)(19530,19537) + PsiTypeQLElement(label) - Location: (19530,19537)(19530,19537) + PsiElement(LABEL_)('process')(19530,19537) + PsiWhiteSpace(' ')(19537,19538) + PsiTypeQLSubType(type_constraint) - Location: (19538,19570)(19538,19570) + PsiElement(SUB_)('sub')(19538,19541) + PsiWhiteSpace(' ')(19541,19542) + PsiTypeQLElement(type_any) - Location: (19542,19570)(19542,19570) + PsiTypeQLElement(type) - Location: (19542,19570)(19542,19570) + PsiTypeQLElement(label) - Location: (19542,19570)(19542,19570) + PsiElement(LABEL_)('stix-cyber-observable-object')(19542,19570) + PsiElement(',')(',')(19570,19571) + PsiWhiteSpace('\n ')(19571,19576) + PsiTypeQLOwnsType(type_constraint) - Location: (19576,19590)(19576,19590) + PsiElement('owns')('owns')(19576,19580) + PsiWhiteSpace(' ')(19580,19581) + PsiTypeQLElement(type) - Location: (19581,19590)(19581,19590) + PsiTypeQLElement(label) - Location: (19581,19590)(19581,19590) + PsiElement(LABEL_)('is-hidden')(19581,19590) + PsiTypeQLElement(annotations_owns) - Location: (19590,19590)(19590,19590) + + PsiElement(',')(',')(19590,19591) + PsiWhiteSpace('\n ')(19591,19596) + PsiTypeQLOwnsType(type_constraint) - Location: (19596,19604)(19596,19604) + PsiElement('owns')('owns')(19596,19600) + PsiWhiteSpace(' ')(19600,19601) + PsiTypeQLElement(type) - Location: (19601,19604)(19601,19604) + PsiTypeQLElement(label) - Location: (19601,19604)(19601,19604) + PsiElement(LABEL_)('pid')(19601,19604) + PsiTypeQLElement(annotations_owns) - Location: (19604,19604)(19604,19604) + + PsiElement(',')(',')(19604,19605) + PsiWhiteSpace('\n ')(19605,19610) + PsiTypeQLOwnsType(type_constraint) - Location: (19610,19627)(19610,19627) + PsiElement('owns')('owns')(19610,19614) + PsiWhiteSpace(' ')(19614,19615) + PsiTypeQLElement(type) - Location: (19615,19627)(19615,19627) + PsiTypeQLElement(label) - Location: (19615,19627)(19615,19627) + PsiElement(LABEL_)('created-time')(19615,19627) + PsiTypeQLElement(annotations_owns) - Location: (19627,19627)(19627,19627) + + PsiElement(',')(',')(19627,19628) + PsiWhiteSpace('\n ')(19628,19633) + PsiTypeQLOwnsType(type_constraint) - Location: (19633,19641)(19633,19641) + PsiElement('owns')('owns')(19633,19637) + PsiWhiteSpace(' ')(19637,19638) + PsiTypeQLElement(type) - Location: (19638,19641)(19638,19641) + PsiTypeQLElement(label) - Location: (19638,19641)(19638,19641) + PsiElement(LABEL_)('cwd')(19638,19641) + PsiTypeQLElement(annotations_owns) - Location: (19641,19641)(19641,19641) + + PsiElement(',')(',')(19641,19642) + PsiWhiteSpace('\n ')(19642,19647) + PsiTypeQLOwnsType(type_constraint) - Location: (19647,19664)(19647,19664) + PsiElement('owns')('owns')(19647,19651) + PsiWhiteSpace(' ')(19651,19652) + PsiTypeQLElement(type) - Location: (19652,19664)(19652,19664) + PsiTypeQLElement(label) - Location: (19652,19664)(19652,19664) + PsiElement(LABEL_)('command-line')(19652,19664) + PsiTypeQLElement(annotations_owns) - Location: (19664,19664)(19664,19664) + + PsiElement(',')(',')(19664,19665) + PsiWhiteSpace('\n\n ')(19665,19671) + PsiComment(COMMENT)('# Rel\n')(19671,19677) + PsiWhiteSpace(' ')(19677,19681) + PsiTypeQLPlaysType(type_constraint) - Location: (19681,19724)(19681,19724) + PsiElement('plays')('plays')(19681,19686) + PsiWhiteSpace(' ')(19686,19687) + PsiTypeQLElement(type_scoped) - Location: (19687,19724)(19687,19724) + PsiTypeQLElement(label_scoped) - Location: (19687,19724)(19687,19724) + PsiElement(LABEL_SCOPED_)('environment-variables:variables-owner')(19687,19724) + PsiElement(',')(',')(19724,19725) + PsiWhiteSpace('\n ')(19725,19730) + PsiTypeQLPlaysType(type_constraint) - Location: (19730,19765)(19730,19765) + PsiElement('plays')('plays')(19730,19735) + PsiWhiteSpace(' ')(19735,19736) + PsiTypeQLElement(type_scoped) - Location: (19736,19765)(19736,19765) + PsiTypeQLElement(label_scoped) - Location: (19736,19765)(19736,19765) + PsiElement(LABEL_SCOPED_)('opened-connection-refs:opened')(19736,19765) + PsiElement(',')(',')(19765,19766) + PsiWhiteSpace('\n ')(19766,19771) + PsiTypeQLPlaysType(type_constraint) - Location: (19771,19800)(19771,19800) + PsiElement('plays')('plays')(19771,19776) + PsiWhiteSpace(' ')(19776,19777) + PsiTypeQLElement(type_scoped) - Location: (19777,19800)(19777,19800) + PsiTypeQLElement(label_scoped) - Location: (19777,19800)(19777,19800) + PsiElement(LABEL_SCOPED_)('creator-user-ref:source')(19777,19800) + PsiElement(',')(',')(19800,19801) + PsiWhiteSpace('\n ')(19801,19806) + PsiTypeQLPlaysType(type_constraint) - Location: (19806,19828)(19806,19828) + PsiElement('plays')('plays')(19806,19811) + PsiWhiteSpace(' ')(19811,19812) + PsiTypeQLElement(type_scoped) - Location: (19812,19828)(19812,19828) + PsiTypeQLElement(label_scoped) - Location: (19812,19828)(19812,19828) + PsiElement(LABEL_SCOPED_)('image-ref:source')(19812,19828) + PsiElement(',')(',')(19828,19829) + PsiWhiteSpace('\n ')(19829,19834) + PsiTypeQLPlaysType(type_constraint) - Location: (19834,19857)(19834,19857) + PsiElement('plays')('plays')(19834,19839) + PsiWhiteSpace(' ')(19839,19840) + PsiTypeQLElement(type_scoped) - Location: (19840,19857)(19840,19857) + PsiTypeQLElement(label_scoped) - Location: (19840,19857)(19840,19857) + PsiElement(LABEL_SCOPED_)('parent-ref:source')(19840,19857) + PsiElement(',')(',')(19857,19858) + PsiWhiteSpace('\n ')(19858,19863) + PsiTypeQLPlaysType(type_constraint) - Location: (19863,19886)(19863,19886) + PsiElement('plays')('plays')(19863,19868) + PsiWhiteSpace(' ')(19868,19869) + PsiTypeQLElement(type_scoped) - Location: (19869,19886)(19869,19886) + PsiTypeQLElement(label_scoped) - Location: (19869,19886)(19869,19886) + PsiElement(LABEL_SCOPED_)('child-refs:parent')(19869,19886) + PsiElement(',')(',')(19886,19887) + PsiWhiteSpace('\n\n ')(19887,19893) + PsiComment(COMMENT)('# RRel\n')(19893,19900) + PsiWhiteSpace(' ')(19900,19904) + PsiTypeQLPlaysType(type_constraint) - Location: (19904,19927)(19904,19927) + PsiElement('plays')('plays')(19904,19909) + PsiWhiteSpace(' ')(19909,19910) + PsiTypeQLElement(type_scoped) - Location: (19910,19927)(19910,19927) + PsiTypeQLElement(label_scoped) - Location: (19910,19927)(19910,19927) + PsiElement(LABEL_SCOPED_)('parent-ref:target')(19910,19927) + PsiElement(',')(',')(19927,19928) + PsiWhiteSpace('\n ')(19928,19933) + PsiTypeQLPlaysType(type_constraint) - Location: (19933,19955)(19933,19955) + PsiElement('plays')('plays')(19933,19938) + PsiWhiteSpace(' ')(19938,19939) + PsiTypeQLElement(type_scoped) - Location: (19939,19955)(19939,19955) + PsiTypeQLElement(label_scoped) - Location: (19939,19955)(19939,19955) + PsiElement(LABEL_SCOPED_)('child-refs:child')(19939,19955) + PsiElement(';')(';')(19955,19956) + PsiWhiteSpace('\n\n')(19956,19958) + PsiTypeQLElement(definable) - Location: (19958,20177)(19958,20177) + PsiTypeQLStatementType(statement_type) - Location: (19958,20177)(19958,20177) + PsiTypeQLElement(type_any) - Location: (19958,19977)(19958,19977) + PsiTypeQLType(type) - Name: windows-process-ext - Location: (19958,19977)(19958,19977) + PsiTypeQLElement(label) - Location: (19958,19977)(19958,19977) + PsiElement(LABEL_)('windows-process-ext')(19958,19977) + PsiWhiteSpace(' ')(19977,19978) + PsiTypeQLSubType(type_constraint) - Location: (19978,19989)(19978,19989) + PsiElement(SUB_)('sub')(19978,19981) + PsiWhiteSpace(' ')(19981,19982) + PsiTypeQLElement(type_any) - Location: (19982,19989)(19982,19989) + PsiTypeQLElement(type) - Location: (19982,19989)(19982,19989) + PsiTypeQLElement(label) - Location: (19982,19989)(19982,19989) + PsiElement(LABEL_)('process')(19982,19989) + PsiElement(',')(',')(19989,19990) + PsiWhiteSpace('\n ')(19990,19995) + PsiTypeQLOwnsType(type_constraint) - Location: (19995,20012)(19995,20012) + PsiElement('owns')('owns')(19995,19999) + PsiWhiteSpace(' ')(19999,20000) + PsiTypeQLElement(type) - Location: (20000,20012)(20000,20012) + PsiTypeQLElement(label) - Location: (20000,20012)(20000,20012) + PsiElement(LABEL_)('aslr-enabled')(20000,20012) + PsiTypeQLElement(annotations_owns) - Location: (20012,20012)(20012,20012) + + PsiElement(',')(',')(20012,20013) + PsiWhiteSpace('\n ')(20013,20018) + PsiTypeQLOwnsType(type_constraint) - Location: (20018,20034)(20018,20034) + PsiElement('owns')('owns')(20018,20022) + PsiWhiteSpace(' ')(20022,20023) + PsiTypeQLElement(type) - Location: (20023,20034)(20023,20034) + PsiTypeQLElement(label) - Location: (20023,20034)(20023,20034) + PsiElement(LABEL_)('dep-enabled')(20023,20034) + PsiTypeQLElement(annotations_owns) - Location: (20034,20034)(20034,20034) + + PsiElement(',')(',')(20034,20035) + PsiWhiteSpace('\n ')(20035,20040) + PsiTypeQLOwnsType(type_constraint) - Location: (20040,20053)(20040,20053) + PsiElement('owns')('owns')(20040,20044) + PsiWhiteSpace(' ')(20044,20045) + PsiTypeQLElement(type) - Location: (20045,20053)(20045,20053) + PsiTypeQLElement(label) - Location: (20045,20053)(20045,20053) + PsiElement(LABEL_)('priority')(20045,20053) + PsiTypeQLElement(annotations_owns) - Location: (20053,20053)(20053,20053) + + PsiElement(',')(',')(20053,20054) + PsiWhiteSpace('\n ')(20054,20059) + PsiTypeQLOwnsType(type_constraint) - Location: (20059,20073)(20059,20073) + PsiElement('owns')('owns')(20059,20063) + PsiWhiteSpace(' ')(20063,20064) + PsiTypeQLElement(type) - Location: (20064,20073)(20064,20073) + PsiTypeQLElement(label) - Location: (20064,20073)(20064,20073) + PsiElement(LABEL_)('owner-sid')(20064,20073) + PsiTypeQLElement(annotations_owns) - Location: (20073,20073)(20073,20073) + + PsiElement(',')(',')(20073,20074) + PsiWhiteSpace('\n ')(20074,20079) + PsiTypeQLOwnsType(type_constraint) - Location: (20079,20096)(20079,20096) + PsiElement('owns')('owns')(20079,20083) + PsiWhiteSpace(' ')(20083,20084) + PsiTypeQLElement(type) - Location: (20084,20096)(20084,20096) + PsiTypeQLElement(label) - Location: (20084,20096)(20084,20096) + PsiElement(LABEL_)('window-title')(20084,20096) + PsiTypeQLElement(annotations_owns) - Location: (20096,20096)(20096,20096) + + PsiElement(',')(',')(20096,20097) + PsiWhiteSpace('\n ')(20097,20102) + PsiTypeQLOwnsType(type_constraint) - Location: (20102,20122)(20102,20122) + PsiElement('owns')('owns')(20102,20106) + PsiWhiteSpace(' ')(20106,20107) + PsiTypeQLElement(type) - Location: (20107,20122)(20107,20122) + PsiTypeQLElement(label) - Location: (20107,20122)(20107,20122) + PsiElement(LABEL_)('integrity-level')(20107,20122) + PsiTypeQLElement(annotations_owns) - Location: (20122,20122)(20122,20122) + + PsiElement(',')(',')(20122,20123) + PsiWhiteSpace('\n\n ')(20123,20129) + PsiComment(COMMENT)('# Rel\n')(20129,20135) + PsiWhiteSpace(' ')(20135,20139) + PsiTypeQLPlaysType(type_constraint) - Location: (20139,20177)(20139,20177) + PsiElement('plays')('plays')(20139,20144) + PsiWhiteSpace(' ')(20144,20145) + PsiTypeQLElement(type_scoped) - Location: (20145,20168)(20145,20168) + PsiTypeQLElement(label_scoped) - Location: (20145,20168)(20145,20168) + PsiElement(LABEL_SCOPED_)('startup-info:info-owner')(20145,20168) + PsiWhiteSpace(' ')(20168,20169) + PsiElement('as')('as')(20169,20171) + PsiWhiteSpace(' ')(20171,20172) + PsiTypeQLPlaysAsOverrideType(type) - Location: (20172,20177)(20172,20177) + PsiTypeQLElement(label) - Location: (20172,20177)(20172,20177) + PsiElement(LABEL_)('owner')(20172,20177) + PsiElement(';')(';')(20177,20178) + PsiWhiteSpace('\n\n')(20178,20180) + PsiTypeQLElement(definable) - Location: (20180,20414)(20180,20414) + PsiTypeQLStatementType(statement_type) - Location: (20180,20414)(20180,20414) + PsiTypeQLElement(type_any) - Location: (20180,20199)(20180,20199) + PsiTypeQLType(type) - Name: windows-service-ext - Location: (20180,20199)(20180,20199) + PsiTypeQLElement(label) - Location: (20180,20199)(20180,20199) + PsiElement(LABEL_)('windows-service-ext')(20180,20199) + PsiWhiteSpace(' ')(20199,20200) + PsiTypeQLSubType(type_constraint) - Location: (20200,20211)(20200,20211) + PsiElement(SUB_)('sub')(20200,20203) + PsiWhiteSpace(' ')(20203,20204) + PsiTypeQLElement(type_any) - Location: (20204,20211)(20204,20211) + PsiTypeQLElement(type) - Location: (20204,20211)(20204,20211) + PsiTypeQLElement(label) - Location: (20204,20211)(20204,20211) + PsiElement(LABEL_)('process')(20204,20211) + PsiElement(',')(',')(20211,20212) + PsiWhiteSpace('\n ')(20212,20217) + PsiTypeQLOwnsType(type_constraint) - Location: (20217,20234)(20217,20234) + PsiElement('owns')('owns')(20217,20221) + PsiWhiteSpace(' ')(20221,20222) + PsiTypeQLElement(type) - Location: (20222,20234)(20222,20234) + PsiTypeQLElement(label) - Location: (20222,20234)(20222,20234) + PsiElement(LABEL_)('service-name')(20222,20234) + PsiTypeQLElement(annotations_owns) - Location: (20234,20234)(20234,20234) + + PsiElement(',')(',')(20234,20235) + PsiWhiteSpace('\n ')(20235,20240) + PsiTypeQLOwnsType(type_constraint) - Location: (20240,20257)(20240,20257) + PsiElement('owns')('owns')(20240,20244) + PsiWhiteSpace(' ')(20244,20245) + PsiTypeQLElement(type) - Location: (20245,20257)(20245,20257) + PsiTypeQLElement(label) - Location: (20245,20257)(20245,20257) + PsiElement(LABEL_)('display-name')(20245,20257) + PsiTypeQLElement(annotations_owns) - Location: (20257,20257)(20257,20257) + + PsiElement(',')(',')(20257,20258) + PsiWhiteSpace('\n ')(20258,20263) + PsiTypeQLOwnsType(type_constraint) - Location: (20263,20278)(20263,20278) + PsiElement('owns')('owns')(20263,20267) + PsiWhiteSpace(' ')(20267,20268) + PsiTypeQLElement(type) - Location: (20268,20278)(20268,20278) + PsiTypeQLElement(label) - Location: (20268,20278)(20268,20278) + PsiElement(LABEL_)('group-name')(20268,20278) + PsiTypeQLElement(annotations_owns) - Location: (20278,20278)(20278,20278) + + PsiElement(',')(',')(20278,20279) + PsiWhiteSpace('\n ')(20279,20284) + PsiTypeQLOwnsType(type_constraint) - Location: (20284,20299)(20284,20299) + PsiElement('owns')('owns')(20284,20288) + PsiWhiteSpace(' ')(20288,20289) + PsiTypeQLElement(type) - Location: (20289,20299)(20289,20299) + PsiTypeQLElement(label) - Location: (20289,20299)(20289,20299) + PsiElement(LABEL_)('start-type')(20289,20299) + PsiTypeQLElement(annotations_owns) - Location: (20299,20299)(20299,20299) + + PsiElement(',')(',')(20299,20300) + PsiWhiteSpace('\n ')(20300,20305) + PsiTypeQLOwnsType(type_constraint) - Location: (20305,20322)(20305,20322) + PsiElement('owns')('owns')(20305,20309) + PsiWhiteSpace(' ')(20309,20310) + PsiTypeQLElement(type) - Location: (20310,20322)(20310,20322) + PsiTypeQLElement(label) - Location: (20310,20322)(20310,20322) + PsiElement(LABEL_)('service-type')(20310,20322) + PsiTypeQLElement(annotations_owns) - Location: (20322,20322)(20322,20322) + + PsiElement(',')(',')(20322,20323) + PsiWhiteSpace('\n ')(20323,20328) + PsiTypeQLOwnsType(type_constraint) - Location: (20328,20347)(20328,20347) + PsiElement('owns')('owns')(20328,20332) + PsiWhiteSpace(' ')(20332,20333) + PsiTypeQLElement(type) - Location: (20333,20347)(20333,20347) + PsiTypeQLElement(label) - Location: (20333,20347)(20333,20347) + PsiElement(LABEL_)('service-status')(20333,20347) + PsiTypeQLElement(annotations_owns) - Location: (20347,20347)(20347,20347) + + PsiElement(',')(',')(20347,20348) + PsiWhiteSpace('\n ')(20348,20353) + PsiTypeQLOwnsType(type_constraint) - Location: (20353,20370)(20353,20370) + PsiElement('owns')('owns')(20353,20357) + PsiWhiteSpace(' ')(20357,20358) + PsiTypeQLElement(type) - Location: (20358,20370)(20358,20370) + PsiTypeQLElement(label) - Location: (20358,20370)(20358,20370) + PsiElement(LABEL_)('descriptions')(20358,20370) + PsiTypeQLElement(annotations_owns) - Location: (20370,20370)(20370,20370) + + PsiElement(',')(',')(20370,20371) + PsiWhiteSpace('\n\n ')(20371,20377) + PsiComment(COMMENT)('# Rel\n')(20377,20383) + PsiWhiteSpace(' ')(20383,20387) + PsiTypeQLPlaysType(type_constraint) - Location: (20387,20414)(20387,20414) + PsiElement('plays')('plays')(20387,20392) + PsiWhiteSpace(' ')(20392,20393) + PsiTypeQLElement(type_scoped) - Location: (20393,20414)(20393,20414) + PsiTypeQLElement(label_scoped) - Location: (20393,20414)(20393,20414) + PsiElement(LABEL_SCOPED_)('service-dll-refs:from')(20393,20414) + PsiElement(';')(';')(20414,20415) + PsiWhiteSpace('\n\n')(20415,20417) + PsiTypeQLElement(definable) - Location: (20417,20557)(20417,20557) + PsiTypeQLStatementType(statement_type) - Location: (20417,20557)(20417,20557) + PsiTypeQLElement(type_any) - Location: (20417,20425)(20417,20425) + PsiTypeQLType(type) - Name: software - Location: (20417,20425)(20417,20425) + PsiTypeQLElement(label) - Location: (20417,20425)(20417,20425) + PsiElement(LABEL_)('software')(20417,20425) + PsiWhiteSpace(' ')(20425,20426) + PsiTypeQLSubType(type_constraint) - Location: (20426,20458)(20426,20458) + PsiElement(SUB_)('sub')(20426,20429) + PsiWhiteSpace(' ')(20429,20430) + PsiTypeQLElement(type_any) - Location: (20430,20458)(20430,20458) + PsiTypeQLElement(type) - Location: (20430,20458)(20430,20458) + PsiTypeQLElement(label) - Location: (20430,20458)(20430,20458) + PsiElement(LABEL_)('stix-cyber-observable-object')(20430,20458) + PsiElement(',')(',')(20458,20459) + PsiWhiteSpace('\n ')(20459,20464) + PsiTypeQLOwnsType(type_constraint) - Location: (20464,20473)(20464,20473) + PsiElement('owns')('owns')(20464,20468) + PsiWhiteSpace(' ')(20468,20469) + PsiTypeQLElement(type) - Location: (20469,20473)(20469,20473) + PsiTypeQLElement(label) - Location: (20469,20473)(20469,20473) + PsiElement(LABEL_)('name')(20469,20473) + PsiTypeQLElement(annotations_owns) - Location: (20473,20473)(20473,20473) + + PsiElement(',')(',')(20473,20474) + PsiWhiteSpace('\n ')(20474,20479) + PsiTypeQLOwnsType(type_constraint) - Location: (20479,20487)(20479,20487) + PsiElement('owns')('owns')(20479,20483) + PsiWhiteSpace(' ')(20483,20484) + PsiTypeQLElement(type) - Location: (20484,20487)(20484,20487) + PsiTypeQLElement(label) - Location: (20484,20487)(20484,20487) + PsiElement(LABEL_)('spe')(20484,20487) + PsiTypeQLElement(annotations_owns) - Location: (20487,20487)(20487,20487) + + PsiElement(',')(',')(20487,20488) + PsiWhiteSpace('\n ')(20488,20493) + PsiTypeQLOwnsType(type_constraint) - Location: (20493,20502)(20493,20502) + PsiElement('owns')('owns')(20493,20497) + PsiWhiteSpace(' ')(20497,20498) + PsiTypeQLElement(type) - Location: (20498,20502)(20498,20502) + PsiTypeQLElement(label) - Location: (20498,20502)(20498,20502) + PsiElement(LABEL_)('swid')(20498,20502) + PsiTypeQLElement(annotations_owns) - Location: (20502,20502)(20502,20502) + + PsiElement(',')(',')(20502,20503) + PsiWhiteSpace('\n ')(20503,20508) + PsiTypeQLOwnsType(type_constraint) - Location: (20508,20519)(20508,20519) + PsiElement('owns')('owns')(20508,20512) + PsiWhiteSpace(' ')(20512,20513) + PsiTypeQLElement(type) - Location: (20513,20519)(20513,20519) + PsiTypeQLElement(label) - Location: (20513,20519)(20513,20519) + PsiElement(LABEL_)('vendor')(20513,20519) + PsiTypeQLElement(annotations_owns) - Location: (20519,20519)(20519,20519) + + PsiElement(',')(',')(20519,20520) + PsiWhiteSpace('\n ')(20520,20525) + PsiTypeQLOwnsType(type_constraint) - Location: (20525,20537)(20525,20537) + PsiElement('owns')('owns')(20525,20529) + PsiWhiteSpace(' ')(20529,20530) + PsiTypeQLElement(type) - Location: (20530,20537)(20530,20537) + PsiTypeQLElement(label) - Location: (20530,20537)(20530,20537) + PsiElement(LABEL_)('version')(20530,20537) + PsiTypeQLElement(annotations_owns) - Location: (20537,20537)(20537,20537) + + PsiElement(',')(',')(20537,20538) + PsiWhiteSpace('\n ')(20538,20543) + PsiTypeQLOwnsType(type_constraint) - Location: (20543,20557)(20543,20557) + PsiElement('owns')('owns')(20543,20547) + PsiWhiteSpace(' ')(20547,20548) + PsiTypeQLElement(type) - Location: (20548,20557)(20548,20557) + PsiTypeQLElement(label) - Location: (20548,20557)(20548,20557) + PsiElement(LABEL_)('languages')(20548,20557) + PsiTypeQLElement(annotations_owns) - Location: (20557,20557)(20557,20557) + + PsiElement(';')(';')(20557,20558) + PsiWhiteSpace('\n\n')(20558,20560) + PsiTypeQLElement(definable) - Location: (20560,20671)(20560,20671) + PsiTypeQLStatementType(statement_type) - Location: (20560,20671)(20560,20671) + PsiTypeQLElement(type_any) - Location: (20560,20563)(20560,20563) + PsiTypeQLType(type) - Name: url - Location: (20560,20563)(20560,20563) + PsiTypeQLElement(label) - Location: (20560,20563)(20560,20563) + PsiElement(LABEL_)('url')(20560,20563) + PsiWhiteSpace(' ')(20563,20564) + PsiTypeQLSubType(type_constraint) - Location: (20564,20596)(20564,20596) + PsiElement(SUB_)('sub')(20564,20567) + PsiWhiteSpace(' ')(20567,20568) + PsiTypeQLElement(type_any) - Location: (20568,20596)(20568,20596) + PsiTypeQLElement(type) - Location: (20568,20596)(20568,20596) + PsiTypeQLElement(label) - Location: (20568,20596)(20568,20596) + PsiElement(LABEL_)('stix-cyber-observable-object')(20568,20596) + PsiElement(',')(',')(20596,20597) + PsiWhiteSpace('\n ')(20597,20602) + PsiTypeQLOwnsType(type_constraint) - Location: (20602,20617)(20602,20617) + PsiElement('owns')('owns')(20602,20606) + PsiWhiteSpace(' ')(20606,20607) + PsiTypeQLElement(type) - Location: (20607,20617)(20607,20617) + PsiTypeQLElement(label) - Location: (20607,20617)(20607,20617) + PsiElement(LABEL_)('stix-value')(20607,20617) + PsiTypeQLElement(annotations_owns) - Location: (20617,20617)(20617,20617) + + PsiElement(',')(',')(20617,20618) + PsiWhiteSpace('\n\n ')(20618,20624) + PsiComment(COMMENT)('# RRel\n')(20624,20631) + PsiWhiteSpace(' ')(20631,20635) + PsiTypeQLPlaysType(type_constraint) - Location: (20635,20671)(20635,20671) + PsiElement('plays')('plays')(20635,20640) + PsiWhiteSpace(' ')(20640,20641) + PsiTypeQLElement(type_scoped) - Location: (20641,20671)(20641,20671) + PsiTypeQLElement(label_scoped) - Location: (20641,20671)(20641,20671) + PsiElement(LABEL_SCOPED_)('communicates-with:communicated')(20641,20671) + PsiElement(';')(';')(20671,20672) + PsiWhiteSpace('\n\n\n')(20672,20675) + PsiTypeQLElement(definable) - Location: (20675,21158)(20675,21158) + PsiTypeQLStatementType(statement_type) - Location: (20675,21158)(20675,21158) + PsiTypeQLElement(type_any) - Location: (20675,20687)(20675,20687) + PsiTypeQLType(type) - Name: user-account - Location: (20675,20687)(20675,20687) + PsiTypeQLElement(label) - Location: (20675,20687)(20675,20687) + PsiElement(LABEL_)('user-account')(20675,20687) + PsiWhiteSpace(' ')(20687,20688) + PsiTypeQLSubType(type_constraint) - Location: (20688,20720)(20688,20720) + PsiElement(SUB_)('sub')(20688,20691) + PsiWhiteSpace(' ')(20691,20692) + PsiTypeQLElement(type_any) - Location: (20692,20720)(20692,20720) + PsiTypeQLElement(type) - Location: (20692,20720)(20692,20720) + PsiTypeQLElement(label) - Location: (20692,20720)(20692,20720) + PsiElement(LABEL_)('stix-cyber-observable-object')(20692,20720) + PsiElement(',')(',')(20720,20721) + PsiWhiteSpace('\n ')(20721,20726) + PsiTypeQLOwnsType(type_constraint) - Location: (20726,20738)(20726,20738) + PsiElement('owns')('owns')(20726,20730) + PsiWhiteSpace(' ')(20730,20731) + PsiTypeQLElement(type) - Location: (20731,20738)(20731,20738) + PsiTypeQLElement(label) - Location: (20731,20738)(20731,20738) + PsiElement(LABEL_)('user-id')(20731,20738) + PsiTypeQLElement(annotations_owns) - Location: (20738,20738)(20738,20738) + + PsiElement(',')(',')(20738,20739) + PsiWhiteSpace('\n ')(20739,20744) + PsiTypeQLOwnsType(type_constraint) - Location: (20744,20759)(20744,20759) + PsiElement('owns')('owns')(20744,20748) + PsiWhiteSpace(' ')(20748,20749) + PsiTypeQLElement(type) - Location: (20749,20759)(20749,20759) + PsiTypeQLElement(label) - Location: (20749,20759)(20749,20759) + PsiElement(LABEL_)('credential')(20749,20759) + PsiTypeQLElement(annotations_owns) - Location: (20759,20759)(20759,20759) + + PsiElement(',')(',')(20759,20760) + PsiWhiteSpace('\n ')(20760,20765) + PsiTypeQLOwnsType(type_constraint) - Location: (20765,20783)(20765,20783) + PsiElement('owns')('owns')(20765,20769) + PsiWhiteSpace(' ')(20769,20770) + PsiTypeQLElement(type) - Location: (20770,20783)(20770,20783) + PsiTypeQLElement(label) - Location: (20770,20783)(20770,20783) + PsiElement(LABEL_)('account-login')(20770,20783) + PsiTypeQLElement(annotations_owns) - Location: (20783,20783)(20783,20783) + + PsiElement(',')(',')(20783,20784) + PsiWhiteSpace('\n ')(20784,20789) + PsiTypeQLOwnsType(type_constraint) - Location: (20789,20806)(20789,20806) + PsiElement('owns')('owns')(20789,20793) + PsiWhiteSpace(' ')(20793,20794) + PsiTypeQLElement(type) - Location: (20794,20806)(20794,20806) + PsiTypeQLElement(label) - Location: (20794,20806)(20794,20806) + PsiElement(LABEL_)('account-type')(20794,20806) + PsiTypeQLElement(annotations_owns) - Location: (20806,20806)(20806,20806) + + PsiElement(',')(',')(20806,20807) + PsiWhiteSpace('\n ')(20807,20812) + PsiTypeQLOwnsType(type_constraint) - Location: (20812,20829)(20812,20829) + PsiElement('owns')('owns')(20812,20816) + PsiWhiteSpace(' ')(20816,20817) + PsiTypeQLElement(type) - Location: (20817,20829)(20817,20829) + PsiTypeQLElement(label) - Location: (20817,20829)(20817,20829) + PsiElement(LABEL_)('display-name')(20817,20829) + PsiTypeQLElement(annotations_owns) - Location: (20829,20829)(20829,20829) + + PsiElement(',')(',')(20829,20830) + PsiWhiteSpace('\n ')(20830,20835) + PsiTypeQLOwnsType(type_constraint) - Location: (20835,20858)(20835,20858) + PsiElement('owns')('owns')(20835,20839) + PsiWhiteSpace(' ')(20839,20840) + PsiTypeQLElement(type) - Location: (20840,20858)(20840,20858) + PsiTypeQLElement(label) - Location: (20840,20858)(20840,20858) + PsiElement(LABEL_)('is-service-account')(20840,20858) + PsiTypeQLElement(annotations_owns) - Location: (20858,20858)(20858,20858) + + PsiElement(',')(',')(20858,20859) + PsiWhiteSpace('\n ')(20859,20864) + PsiTypeQLOwnsType(type_constraint) - Location: (20864,20882)(20864,20882) + PsiElement('owns')('owns')(20864,20868) + PsiWhiteSpace(' ')(20868,20869) + PsiTypeQLElement(type) - Location: (20869,20882)(20869,20882) + PsiTypeQLElement(label) - Location: (20869,20882)(20869,20882) + PsiElement(LABEL_)('is-privileged')(20869,20882) + PsiTypeQLElement(annotations_owns) - Location: (20882,20882)(20882,20882) + + PsiElement(',')(',')(20882,20883) + PsiWhiteSpace('\n ')(20883,20888) + PsiTypeQLOwnsType(type_constraint) - Location: (20888,20911)(20888,20911) + PsiElement('owns')('owns')(20888,20892) + PsiWhiteSpace(' ')(20892,20893) + PsiTypeQLElement(type) - Location: (20893,20911)(20893,20911) + PsiTypeQLElement(label) - Location: (20893,20911)(20893,20911) + PsiElement(LABEL_)('can-escalate-privs')(20893,20911) + PsiTypeQLElement(annotations_owns) - Location: (20911,20911)(20911,20911) + + PsiElement(',')(',')(20911,20912) + PsiWhiteSpace('\n ')(20912,20917) + PsiTypeQLOwnsType(type_constraint) - Location: (20917,20933)(20917,20933) + PsiElement('owns')('owns')(20917,20921) + PsiWhiteSpace(' ')(20921,20922) + PsiTypeQLElement(type) - Location: (20922,20933)(20922,20933) + PsiTypeQLElement(label) - Location: (20922,20933)(20922,20933) + PsiElement(LABEL_)('is-disabled')(20922,20933) + PsiTypeQLElement(annotations_owns) - Location: (20933,20933)(20933,20933) + + PsiElement(',')(',')(20933,20934) + PsiWhiteSpace('\n ')(20934,20939) + PsiTypeQLOwnsType(type_constraint) - Location: (20939,20959)(20939,20959) + PsiElement('owns')('owns')(20939,20943) + PsiWhiteSpace(' ')(20943,20944) + PsiTypeQLElement(type) - Location: (20944,20959)(20944,20959) + PsiTypeQLElement(label) - Location: (20944,20959)(20944,20959) + PsiElement(LABEL_)('account-created')(20944,20959) + PsiTypeQLElement(annotations_owns) - Location: (20959,20959)(20959,20959) + + PsiElement(',')(',')(20959,20960) + PsiWhiteSpace('\n ')(20960,20965) + PsiTypeQLOwnsType(type_constraint) - Location: (20965,20985)(20965,20985) + PsiElement('owns')('owns')(20965,20969) + PsiWhiteSpace(' ')(20969,20970) + PsiTypeQLElement(type) - Location: (20970,20985)(20970,20985) + PsiTypeQLElement(label) - Location: (20970,20985)(20970,20985) + PsiElement(LABEL_)('account-expires')(20970,20985) + PsiTypeQLElement(annotations_owns) - Location: (20985,20985)(20985,20985) + + PsiElement(',')(',')(20985,20986) + PsiWhiteSpace('\n ')(20986,20991) + PsiTypeQLOwnsType(type_constraint) - Location: (20991,21019)(20991,21019) + PsiElement('owns')('owns')(20991,20995) + PsiWhiteSpace(' ')(20995,20996) + PsiTypeQLElement(type) - Location: (20996,21019)(20996,21019) + PsiTypeQLElement(label) - Location: (20996,21019)(20996,21019) + PsiElement(LABEL_)('credential-last-changed')(20996,21019) + PsiTypeQLElement(annotations_owns) - Location: (21019,21019)(21019,21019) + + PsiElement(',')(',')(21019,21020) + PsiWhiteSpace('\n ')(21020,21025) + PsiTypeQLOwnsType(type_constraint) - Location: (21025,21049)(21025,21049) + PsiElement('owns')('owns')(21025,21029) + PsiWhiteSpace(' ')(21029,21030) + PsiTypeQLElement(type) - Location: (21030,21049)(21030,21049) + PsiTypeQLElement(label) - Location: (21030,21049)(21030,21049) + PsiElement(LABEL_)('account-first-login')(21030,21049) + PsiTypeQLElement(annotations_owns) - Location: (21049,21049)(21049,21049) + + PsiElement(',')(',')(21049,21050) + PsiWhiteSpace('\n ')(21050,21055) + PsiTypeQLOwnsType(type_constraint) - Location: (21055,21078)(21055,21078) + PsiElement('owns')('owns')(21055,21059) + PsiWhiteSpace(' ')(21059,21060) + PsiTypeQLElement(type) - Location: (21060,21078)(21060,21078) + PsiTypeQLElement(label) - Location: (21060,21078)(21060,21078) + PsiElement(LABEL_)('account-last-login')(21060,21078) + PsiTypeQLElement(annotations_owns) - Location: (21078,21078)(21078,21078) + + PsiElement(',')(',')(21078,21079) + PsiWhiteSpace('\n\n ')(21079,21085) + PsiComment(COMMENT)('# RRel\n')(21085,21092) + PsiWhiteSpace(' ')(21092,21096) + PsiTypeQLPlaysType(type_constraint) - Location: (21096,21123)(21096,21123) + PsiElement('plays')('plays')(21096,21101) + PsiWhiteSpace(' ')(21101,21102) + PsiTypeQLElement(type_scoped) - Location: (21102,21123)(21102,21123) + PsiTypeQLElement(label_scoped) - Location: (21102,21123)(21102,21123) + PsiElement(LABEL_SCOPED_)('belongs-to-ref:target')(21102,21123) + PsiElement(',')(',')(21123,21124) + PsiWhiteSpace('\n ')(21124,21129) + PsiTypeQLPlaysType(type_constraint) - Location: (21129,21158)(21129,21158) + PsiElement('plays')('plays')(21129,21134) + PsiWhiteSpace(' ')(21134,21135) + PsiTypeQLElement(type_scoped) - Location: (21135,21158)(21135,21158) + PsiTypeQLElement(label_scoped) - Location: (21135,21158)(21135,21158) + PsiElement(LABEL_SCOPED_)('creator-user-ref:target')(21135,21158) + PsiElement(';')(';')(21158,21159) + PsiWhiteSpace('\n\n')(21159,21161) + PsiTypeQLElement(definable) - Location: (21161,21260)(21161,21260) + PsiTypeQLStatementType(statement_type) - Location: (21161,21260)(21161,21260) + PsiTypeQLElement(type_any) - Location: (21161,21177)(21161,21177) + PsiTypeQLType(type) - Name: unix-account-ext - Location: (21161,21177)(21161,21177) + PsiTypeQLElement(label) - Location: (21161,21177)(21161,21177) + PsiElement(LABEL_)('unix-account-ext')(21161,21177) + PsiWhiteSpace(' ')(21177,21178) + PsiTypeQLSubType(type_constraint) - Location: (21178,21194)(21178,21194) + PsiElement(SUB_)('sub')(21178,21181) + PsiWhiteSpace(' ')(21181,21182) + PsiTypeQLElement(type_any) - Location: (21182,21194)(21182,21194) + PsiTypeQLElement(type) - Location: (21182,21194)(21182,21194) + PsiTypeQLElement(label) - Location: (21182,21194)(21182,21194) + PsiElement(LABEL_)('user-account')(21182,21194) + PsiElement(',')(',')(21194,21195) + PsiWhiteSpace('\n ')(21195,21200) + PsiTypeQLOwnsType(type_constraint) - Location: (21200,21208)(21200,21208) + PsiElement('owns')('owns')(21200,21204) + PsiWhiteSpace(' ')(21204,21205) + PsiTypeQLElement(type) - Location: (21205,21208)(21205,21208) + PsiTypeQLElement(label) - Location: (21205,21208)(21205,21208) + PsiElement(LABEL_)('gid')(21205,21208) + PsiTypeQLElement(annotations_owns) - Location: (21208,21208)(21208,21208) + + PsiElement(',')(',')(21208,21209) + PsiWhiteSpace('\n ')(21209,21214) + PsiTypeQLOwnsType(type_constraint) - Location: (21214,21227)(21214,21227) + PsiElement('owns')('owns')(21214,21218) + PsiWhiteSpace(' ')(21218,21219) + PsiTypeQLElement(type) - Location: (21219,21227)(21219,21227) + PsiTypeQLElement(label) - Location: (21219,21227)(21219,21227) + PsiElement(LABEL_)('home-dir')(21219,21227) + PsiTypeQLElement(annotations_owns) - Location: (21227,21227)(21227,21227) + + PsiElement(',')(',')(21227,21228) + PsiWhiteSpace('\n ')(21228,21233) + PsiTypeQLOwnsType(type_constraint) - Location: (21233,21243)(21233,21243) + PsiElement('owns')('owns')(21233,21237) + PsiWhiteSpace(' ')(21237,21238) + PsiTypeQLElement(type) - Location: (21238,21243)(21238,21243) + PsiTypeQLElement(label) - Location: (21238,21243)(21238,21243) + PsiElement(LABEL_)('shell')(21238,21243) + PsiTypeQLElement(annotations_owns) - Location: (21243,21243)(21243,21243) + + PsiElement(',')(',')(21243,21244) + PsiWhiteSpace('\n ')(21244,21249) + PsiTypeQLOwnsType(type_constraint) - Location: (21249,21260)(21249,21260) + PsiElement('owns')('owns')(21249,21253) + PsiWhiteSpace(' ')(21253,21254) + PsiTypeQLElement(type) - Location: (21254,21260)(21254,21260) + PsiTypeQLElement(label) - Location: (21254,21260)(21254,21260) + PsiElement(LABEL_)('groups')(21254,21260) + PsiTypeQLElement(annotations_owns) - Location: (21260,21260)(21260,21260) + + PsiElement(';')(';')(21260,21261) + PsiWhiteSpace('\n\n\n')(21261,21264) + PsiTypeQLElement(definable) - Location: (21264,21459)(21264,21459) + PsiTypeQLStatementType(statement_type) - Location: (21264,21459)(21264,21459) + PsiTypeQLElement(type_any) - Location: (21264,21284)(21264,21284) + PsiTypeQLType(type) - Name: windows-registry-key - Location: (21264,21284)(21264,21284) + PsiTypeQLElement(label) - Location: (21264,21284)(21264,21284) + PsiElement(LABEL_)('windows-registry-key')(21264,21284) + PsiWhiteSpace(' ')(21284,21285) + PsiTypeQLSubType(type_constraint) - Location: (21285,21317)(21285,21317) + PsiElement(SUB_)('sub')(21285,21288) + PsiWhiteSpace(' ')(21288,21289) + PsiTypeQLElement(type_any) - Location: (21289,21317)(21289,21317) + PsiTypeQLElement(type) - Location: (21289,21317)(21289,21317) + PsiTypeQLElement(label) - Location: (21289,21317)(21289,21317) + PsiElement(LABEL_)('stix-cyber-observable-object')(21289,21317) + PsiElement(',')(',')(21317,21318) + PsiWhiteSpace('\n ')(21318,21323) + PsiTypeQLOwnsType(type_constraint) - Location: (21323,21341)(21323,21341) + PsiElement('owns')('owns')(21323,21327) + PsiWhiteSpace(' ')(21327,21328) + PsiTypeQLElement(type) - Location: (21328,21341)(21328,21341) + PsiTypeQLElement(label) - Location: (21328,21341)(21328,21341) + PsiElement(LABEL_)('attribute-key')(21328,21341) + PsiTypeQLElement(annotations_owns) - Location: (21341,21341)(21341,21341) + + PsiElement(',')(',')(21341,21342) + PsiWhiteSpace('\n ')(21342,21347) + PsiTypeQLOwnsType(type_constraint) - Location: (21347,21365)(21347,21365) + PsiElement('owns')('owns')(21347,21351) + PsiWhiteSpace(' ')(21351,21352) + PsiTypeQLElement(type) - Location: (21352,21365)(21352,21365) + PsiTypeQLElement(label) - Location: (21352,21365)(21352,21365) + PsiElement(LABEL_)('modified-time')(21352,21365) + PsiTypeQLElement(annotations_owns) - Location: (21365,21365)(21365,21365) + + PsiElement(',')(',')(21365,21366) + PsiWhiteSpace('\n ')(21366,21371) + PsiTypeQLOwnsType(type_constraint) - Location: (21371,21390)(21371,21390) + PsiElement('owns')('owns')(21371,21375) + PsiWhiteSpace(' ')(21375,21376) + PsiTypeQLElement(type) - Location: (21376,21390)(21376,21390) + PsiTypeQLElement(label) - Location: (21376,21390)(21376,21390) + PsiElement(LABEL_)('number-subkeys')(21376,21390) + PsiTypeQLElement(annotations_owns) - Location: (21390,21390)(21390,21390) + + PsiElement(',')(',')(21390,21391) + PsiWhiteSpace('\n\n ')(21391,21397) + PsiComment(COMMENT)('# Rel\n')(21397,21403) + PsiWhiteSpace(' ')(21403,21407) + PsiTypeQLPlaysType(type_constraint) - Location: (21407,21424)(21407,21424) + PsiElement('plays')('plays')(21407,21412) + PsiWhiteSpace(' ')(21412,21413) + PsiTypeQLElement(type_scoped) - Location: (21413,21424)(21413,21424) + PsiTypeQLElement(label_scoped) - Location: (21413,21424)(21413,21424) + PsiElement(LABEL_SCOPED_)('values:from')(21413,21424) + PsiElement(',')(',')(21424,21425) + PsiWhiteSpace('\n ')(21425,21430) + PsiTypeQLPlaysType(type_constraint) - Location: (21430,21459)(21430,21459) + PsiElement('plays')('plays')(21430,21435) + PsiWhiteSpace(' ')(21435,21436) + PsiTypeQLElement(type_scoped) - Location: (21436,21459)(21436,21459) + PsiTypeQLElement(label_scoped) - Location: (21436,21459)(21436,21459) + PsiElement(LABEL_SCOPED_)('creator-user-ref:source')(21436,21459) + PsiElement(';')(';')(21459,21460) + PsiWhiteSpace('\n\n')(21460,21462) + PsiTypeQLElement(definable) - Location: (21462,21605)(21462,21605) + PsiTypeQLStatementType(statement_type) - Location: (21462,21605)(21462,21605) + PsiTypeQLElement(type_any) - Location: (21462,21489)(21462,21489) + PsiTypeQLType(type) - Name: windows-registry-value-type - Location: (21462,21489)(21462,21489) + PsiTypeQLElement(label) - Location: (21462,21489)(21462,21489) + PsiElement(LABEL_)('windows-registry-value-type')(21462,21489) + PsiWhiteSpace(' ')(21489,21490) + PsiTypeQLSubType(type_constraint) - Location: (21490,21522)(21490,21522) + PsiElement(SUB_)('sub')(21490,21493) + PsiWhiteSpace(' ')(21493,21494) + PsiTypeQLElement(type_any) - Location: (21494,21522)(21494,21522) + PsiTypeQLElement(type) - Location: (21494,21522)(21494,21522) + PsiTypeQLElement(label) - Location: (21494,21522)(21494,21522) + PsiElement(LABEL_)('stix-cyber-observable-object')(21494,21522) + PsiElement(',')(',')(21522,21523) + PsiWhiteSpace('\n ')(21523,21528) + PsiTypeQLOwnsType(type_constraint) - Location: (21528,21537)(21528,21537) + PsiElement('owns')('owns')(21528,21532) + PsiWhiteSpace(' ')(21532,21533) + PsiTypeQLElement(type) - Location: (21533,21537)(21533,21537) + PsiTypeQLElement(label) - Location: (21533,21537)(21533,21537) + PsiElement(LABEL_)('name')(21533,21537) + PsiTypeQLElement(annotations_owns) - Location: (21537,21537)(21537,21537) + + PsiElement(',')(',')(21537,21538) + PsiWhiteSpace('\n ')(21538,21543) + PsiTypeQLOwnsType(type_constraint) - Location: (21543,21552)(21543,21552) + PsiElement('owns')('owns')(21543,21547) + PsiWhiteSpace(' ')(21547,21548) + PsiTypeQLElement(type) - Location: (21548,21552)(21548,21552) + PsiTypeQLElement(label) - Location: (21548,21552)(21548,21552) + PsiElement(LABEL_)('data')(21548,21552) + PsiTypeQLElement(annotations_owns) - Location: (21552,21552)(21552,21552) + + PsiElement(',')(',')(21552,21553) + PsiWhiteSpace('\n ')(21553,21558) + PsiTypeQLOwnsType(type_constraint) - Location: (21558,21572)(21558,21572) + PsiElement('owns')('owns')(21558,21562) + PsiWhiteSpace(' ')(21562,21563) + PsiTypeQLElement(type) - Location: (21563,21572)(21563,21572) + PsiTypeQLElement(label) - Location: (21563,21572)(21563,21572) + PsiElement(LABEL_)('data-type')(21563,21572) + PsiTypeQLElement(annotations_owns) - Location: (21572,21572)(21572,21572) + + PsiElement(',')(',')(21572,21573) + PsiWhiteSpace('\n\n ')(21573,21579) + PsiComment(COMMENT)('# RRel\n')(21579,21586) + PsiWhiteSpace(' ')(21586,21590) + PsiTypeQLPlaysType(type_constraint) - Location: (21590,21605)(21590,21605) + PsiElement('plays')('plays')(21590,21595) + PsiWhiteSpace(' ')(21595,21596) + PsiTypeQLElement(type_scoped) - Location: (21596,21605)(21596,21605) + PsiTypeQLElement(label_scoped) - Location: (21596,21605)(21596,21605) + PsiElement(LABEL_SCOPED_)('values:to')(21596,21605) + PsiElement(';')(';')(21605,21606) + PsiWhiteSpace('\n\n')(21606,21608) + PsiTypeQLElement(definable) - Location: (21608,22004)(21608,22004) + PsiTypeQLStatementType(statement_type) - Location: (21608,22004)(21608,22004) + PsiTypeQLElement(type_any) - Location: (21608,21624)(21608,21624) + PsiTypeQLType(type) - Name: x509-certificate - Location: (21608,21624)(21608,21624) + PsiTypeQLElement(label) - Location: (21608,21624)(21608,21624) + PsiElement(LABEL_)('x509-certificate')(21608,21624) + PsiWhiteSpace(' ')(21624,21625) + PsiTypeQLSubType(type_constraint) - Location: (21625,21657)(21625,21657) + PsiElement(SUB_)('sub')(21625,21628) + PsiWhiteSpace(' ')(21628,21629) + PsiTypeQLElement(type_any) - Location: (21629,21657)(21629,21657) + PsiTypeQLElement(type) - Location: (21629,21657)(21629,21657) + PsiTypeQLElement(label) - Location: (21629,21657)(21629,21657) + PsiElement(LABEL_)('stix-cyber-observable-object')(21629,21657) + PsiElement(',')(',')(21657,21658) + PsiWhiteSpace('\n ')(21658,21663) + PsiTypeQLOwnsType(type_constraint) - Location: (21663,21682)(21663,21682) + PsiElement('owns')('owns')(21663,21667) + PsiWhiteSpace(' ')(21667,21668) + PsiTypeQLElement(type) - Location: (21668,21682)(21668,21682) + PsiTypeQLElement(label) - Location: (21668,21682)(21668,21682) + PsiElement(LABEL_)('is-self-signed')(21668,21682) + PsiTypeQLElement(annotations_owns) - Location: (21682,21682)(21682,21682) + + PsiElement(',')(',')(21682,21683) + PsiWhiteSpace('\n ')(21683,21688) + PsiTypeQLOwnsType(type_constraint) - Location: (21688,21700)(21688,21700) + PsiElement('owns')('owns')(21688,21692) + PsiWhiteSpace(' ')(21692,21693) + PsiTypeQLElement(type) - Location: (21693,21700)(21693,21700) + PsiTypeQLElement(label) - Location: (21693,21700)(21693,21700) + PsiElement(LABEL_)('version')(21693,21700) + PsiTypeQLElement(annotations_owns) - Location: (21700,21700)(21700,21700) + + PsiElement(',')(',')(21700,21701) + PsiWhiteSpace('\n ')(21701,21706) + PsiTypeQLOwnsType(type_constraint) - Location: (21706,21724)(21706,21724) + PsiElement('owns')('owns')(21706,21710) + PsiWhiteSpace(' ')(21710,21711) + PsiTypeQLElement(type) - Location: (21711,21724)(21711,21724) + PsiTypeQLElement(label) - Location: (21711,21724)(21711,21724) + PsiElement(LABEL_)('serial-number')(21711,21724) + PsiTypeQLElement(annotations_owns) - Location: (21724,21724)(21724,21724) + + PsiElement(',')(',')(21724,21725) + PsiWhiteSpace('\n ')(21725,21730) + PsiTypeQLOwnsType(type_constraint) - Location: (21730,21754)(21730,21754) + PsiElement('owns')('owns')(21730,21734) + PsiWhiteSpace(' ')(21734,21735) + PsiTypeQLElement(type) - Location: (21735,21754)(21735,21754) + PsiTypeQLElement(label) - Location: (21735,21754)(21735,21754) + PsiElement(LABEL_)('signature-algorithm')(21735,21754) + PsiTypeQLElement(annotations_owns) - Location: (21754,21754)(21754,21754) + + PsiElement(',')(',')(21754,21755) + PsiWhiteSpace('\n ')(21755,21760) + PsiTypeQLOwnsType(type_constraint) - Location: (21760,21771)(21760,21771) + PsiElement('owns')('owns')(21760,21764) + PsiWhiteSpace(' ')(21764,21765) + PsiTypeQLElement(type) - Location: (21765,21771)(21765,21771) + PsiTypeQLElement(label) - Location: (21765,21771)(21765,21771) + PsiElement(LABEL_)('issuer')(21765,21771) + PsiTypeQLElement(annotations_owns) - Location: (21771,21771)(21771,21771) + + PsiElement(',')(',')(21771,21772) + PsiWhiteSpace('\n ')(21772,21777) + PsiTypeQLOwnsType(type_constraint) - Location: (21777,21801)(21777,21801) + PsiElement('owns')('owns')(21777,21781) + PsiWhiteSpace(' ')(21781,21782) + PsiTypeQLElement(type) - Location: (21782,21801)(21782,21801) + PsiTypeQLElement(label) - Location: (21782,21801)(21782,21801) + PsiElement(LABEL_)('validity-not-before')(21782,21801) + PsiTypeQLElement(annotations_owns) - Location: (21801,21801)(21801,21801) + + PsiElement(',')(',')(21801,21802) + PsiWhiteSpace('\n ')(21802,21807) + PsiTypeQLOwnsType(type_constraint) - Location: (21807,21830)(21807,21830) + PsiElement('owns')('owns')(21807,21811) + PsiWhiteSpace(' ')(21811,21812) + PsiTypeQLElement(type) - Location: (21812,21830)(21812,21830) + PsiTypeQLElement(label) - Location: (21812,21830)(21812,21830) + PsiElement(LABEL_)('validity-not-after')(21812,21830) + PsiTypeQLElement(annotations_owns) - Location: (21830,21830)(21830,21830) + + PsiElement(',')(',')(21830,21831) + PsiWhiteSpace('\n ')(21831,21836) + PsiTypeQLOwnsType(type_constraint) - Location: (21836,21848)(21836,21848) + PsiElement('owns')('owns')(21836,21840) + PsiWhiteSpace(' ')(21840,21841) + PsiTypeQLElement(type) - Location: (21841,21848)(21841,21848) + PsiTypeQLElement(label) - Location: (21841,21848)(21841,21848) + PsiElement(LABEL_)('subject')(21841,21848) + PsiTypeQLElement(annotations_owns) - Location: (21848,21848)(21848,21848) + + PsiElement(',')(',')(21848,21849) + PsiWhiteSpace('\n ')(21849,21854) + PsiTypeQLOwnsType(type_constraint) - Location: (21854,21887)(21854,21887) + PsiElement('owns')('owns')(21854,21858) + PsiWhiteSpace(' ')(21858,21859) + PsiTypeQLElement(type) - Location: (21859,21887)(21859,21887) + PsiTypeQLElement(label) - Location: (21859,21887)(21859,21887) + PsiElement(LABEL_)('subject-public-key-algorithm')(21859,21887) + PsiTypeQLElement(annotations_owns) - Location: (21887,21887)(21887,21887) + + PsiElement(',')(',')(21887,21888) + PsiWhiteSpace('\n ')(21888,21893) + PsiTypeQLOwnsType(type_constraint) - Location: (21893,21924)(21893,21924) + PsiElement('owns')('owns')(21893,21897) + PsiWhiteSpace(' ')(21897,21898) + PsiTypeQLElement(type) - Location: (21898,21924)(21898,21924) + PsiTypeQLElement(label) - Location: (21898,21924)(21898,21924) + PsiElement(LABEL_)('subject-public-key-modulus')(21898,21924) + PsiTypeQLElement(annotations_owns) - Location: (21924,21924)(21924,21924) + + PsiElement(',')(',')(21924,21925) + PsiWhiteSpace('\n ')(21925,21930) + PsiTypeQLOwnsType(type_constraint) - Location: (21930,21962)(21930,21962) + PsiElement('owns')('owns')(21930,21934) + PsiWhiteSpace(' ')(21934,21935) + PsiTypeQLElement(type) - Location: (21935,21962)(21935,21962) + PsiTypeQLElement(label) - Location: (21935,21962)(21935,21962) + PsiElement(LABEL_)('subject-public-key-exponent')(21935,21962) + PsiTypeQLElement(annotations_owns) - Location: (21962,21962)(21962,21962) + + PsiElement(',')(',')(21962,21963) + PsiWhiteSpace('\n\n ')(21963,21969) + PsiComment(COMMENT)('# Rel\n')(21969,21975) + PsiWhiteSpace(' ')(21975,21979) + PsiTypeQLPlaysType(type_constraint) - Location: (21979,22004)(21979,22004) + PsiElement('plays')('plays')(21979,21984) + PsiWhiteSpace(' ')(21984,21985) + PsiTypeQLElement(type_scoped) - Location: (21985,22004)(21985,22004) + PsiTypeQLElement(label_scoped) - Location: (21985,22004)(21985,22004) + PsiElement(LABEL_SCOPED_)('hashes:hashes-owner')(21985,22004) + PsiElement(';')(';')(22004,22005) + PsiWhiteSpace('\n\n')(22005,22007) + PsiTypeQLElement(definable) - Location: (22007,22566)(22007,22566) + PsiTypeQLStatementType(statement_type) - Location: (22007,22566)(22007,22566) + PsiTypeQLElement(type_any) - Location: (22007,22025)(22007,22025) + PsiTypeQLType(type) - Name: x509-v3-extensions - Location: (22007,22025)(22007,22025) + PsiTypeQLElement(label) - Location: (22007,22025)(22007,22025) + PsiElement(LABEL_)('x509-v3-extensions')(22007,22025) + PsiWhiteSpace(' ')(22025,22026) + PsiTypeQLSubType(type_constraint) - Location: (22026,22046)(22026,22046) + PsiElement(SUB_)('sub')(22026,22029) + PsiWhiteSpace(' ')(22029,22030) + PsiTypeQLElement(type_any) - Location: (22030,22046)(22030,22046) + PsiTypeQLElement(type) - Location: (22030,22046)(22030,22046) + PsiTypeQLElement(label) - Location: (22030,22046)(22030,22046) + PsiElement(LABEL_)('x509-certificate')(22030,22046) + PsiElement(',')(',')(22046,22047) + PsiWhiteSpace('\n ')(22047,22052) + PsiTypeQLOwnsType(type_constraint) - Location: (22052,22074)(22052,22074) + PsiElement('owns')('owns')(22052,22056) + PsiWhiteSpace(' ')(22056,22057) + PsiTypeQLElement(type) - Location: (22057,22074)(22057,22074) + PsiTypeQLElement(label) - Location: (22057,22074)(22057,22074) + PsiElement(LABEL_)('basic-constraints')(22057,22074) + PsiTypeQLElement(annotations_owns) - Location: (22074,22074)(22074,22074) + + PsiElement(',')(',')(22074,22075) + PsiWhiteSpace('\n ')(22075,22080) + PsiTypeQLOwnsType(type_constraint) - Location: (22080,22101)(22080,22101) + PsiElement('owns')('owns')(22080,22084) + PsiWhiteSpace(' ')(22084,22085) + PsiTypeQLElement(type) - Location: (22085,22101)(22085,22101) + PsiTypeQLElement(label) - Location: (22085,22101)(22085,22101) + PsiElement(LABEL_)('name-constraints')(22085,22101) + PsiTypeQLElement(annotations_owns) - Location: (22101,22101)(22101,22101) + + PsiElement(',')(',')(22101,22102) + PsiWhiteSpace('\n ')(22102,22107) + PsiTypeQLOwnsType(type_constraint) - Location: (22107,22130)(22107,22130) + PsiElement('owns')('owns')(22107,22111) + PsiWhiteSpace(' ')(22111,22112) + PsiTypeQLElement(type) - Location: (22112,22130)(22112,22130) + PsiTypeQLElement(label) - Location: (22112,22130)(22112,22130) + PsiElement(LABEL_)('policy-constraints')(22112,22130) + PsiTypeQLElement(annotations_owns) - Location: (22130,22130)(22130,22130) + + PsiElement(',')(',')(22130,22131) + PsiWhiteSpace('\n ')(22131,22136) + PsiTypeQLOwnsType(type_constraint) - Location: (22136,22150)(22136,22150) + PsiElement('owns')('owns')(22136,22140) + PsiWhiteSpace(' ')(22140,22141) + PsiTypeQLElement(type) - Location: (22141,22150)(22141,22150) + PsiTypeQLElement(label) - Location: (22141,22150)(22141,22150) + PsiElement(LABEL_)('key-usage')(22141,22150) + PsiTypeQLElement(annotations_owns) - Location: (22150,22150)(22150,22150) + + PsiElement(',')(',')(22150,22151) + PsiWhiteSpace('\n ')(22151,22156) + PsiTypeQLOwnsType(type_constraint) - Location: (22156,22179)(22156,22179) + PsiElement('owns')('owns')(22156,22160) + PsiWhiteSpace(' ')(22160,22161) + PsiTypeQLElement(type) - Location: (22161,22179)(22161,22179) + PsiTypeQLElement(label) - Location: (22161,22179)(22161,22179) + PsiElement(LABEL_)('extended-key-usage')(22161,22179) + PsiTypeQLElement(annotations_owns) - Location: (22179,22179)(22179,22179) + + PsiElement(',')(',')(22179,22180) + PsiWhiteSpace('\n ')(22180,22185) + PsiTypeQLOwnsType(type_constraint) - Location: (22185,22212)(22185,22212) + PsiElement('owns')('owns')(22185,22189) + PsiWhiteSpace(' ')(22189,22190) + PsiTypeQLElement(type) - Location: (22190,22212)(22190,22212) + PsiTypeQLElement(label) - Location: (22190,22212)(22190,22212) + PsiElement(LABEL_)('subject-key-identifier')(22190,22212) + PsiTypeQLElement(annotations_owns) - Location: (22212,22212)(22212,22212) + + PsiElement(',')(',')(22212,22213) + PsiWhiteSpace('\n ')(22213,22218) + PsiTypeQLOwnsType(type_constraint) - Location: (22218,22247)(22218,22247) + PsiElement('owns')('owns')(22218,22222) + PsiWhiteSpace(' ')(22222,22223) + PsiTypeQLElement(type) - Location: (22223,22247)(22223,22247) + PsiTypeQLElement(label) - Location: (22223,22247)(22223,22247) + PsiElement(LABEL_)('authority-key-identifier')(22223,22247) + PsiTypeQLElement(annotations_owns) - Location: (22247,22247)(22247,22247) + + PsiElement(',')(',')(22247,22248) + PsiWhiteSpace('\n ')(22248,22253) + PsiTypeQLOwnsType(type_constraint) - Location: (22253,22282)(22253,22282) + PsiElement('owns')('owns')(22253,22257) + PsiWhiteSpace(' ')(22257,22258) + PsiTypeQLElement(type) - Location: (22258,22282)(22258,22282) + PsiTypeQLElement(label) - Location: (22258,22282)(22258,22282) + PsiElement(LABEL_)('subject-alternative-name')(22258,22282) + PsiTypeQLElement(annotations_owns) - Location: (22282,22282)(22282,22282) + + PsiElement(',')(',')(22282,22283) + PsiWhiteSpace('\n ')(22283,22288) + PsiTypeQLOwnsType(type_constraint) - Location: (22288,22316)(22288,22316) + PsiElement('owns')('owns')(22288,22292) + PsiWhiteSpace(' ')(22292,22293) + PsiTypeQLElement(type) - Location: (22293,22316)(22293,22316) + PsiTypeQLElement(label) - Location: (22293,22316)(22293,22316) + PsiElement(LABEL_)('issuer-alternative-name')(22293,22316) + PsiTypeQLElement(annotations_owns) - Location: (22316,22316)(22316,22316) + + PsiElement(',')(',')(22316,22317) + PsiWhiteSpace('\n ')(22317,22322) + PsiTypeQLOwnsType(type_constraint) - Location: (22322,22355)(22322,22355) + PsiElement('owns')('owns')(22322,22326) + PsiWhiteSpace(' ')(22326,22327) + PsiTypeQLElement(type) - Location: (22327,22355)(22327,22355) + PsiTypeQLElement(label) - Location: (22327,22355)(22327,22355) + PsiElement(LABEL_)('subject-directory-attributes')(22327,22355) + PsiTypeQLElement(annotations_owns) - Location: (22355,22355)(22355,22355) + + PsiElement(',')(',')(22355,22356) + PsiWhiteSpace('\n ')(22356,22361) + PsiTypeQLOwnsType(type_constraint) - Location: (22361,22389)(22361,22389) + PsiElement('owns')('owns')(22361,22365) + PsiWhiteSpace(' ')(22365,22366) + PsiTypeQLElement(type) - Location: (22366,22389)(22366,22389) + PsiTypeQLElement(label) - Location: (22366,22389)(22366,22389) + PsiElement(LABEL_)('crl-distribution-points')(22366,22389) + PsiTypeQLElement(annotations_owns) - Location: (22389,22389)(22389,22389) + + PsiElement(',')(',')(22389,22390) + PsiWhiteSpace('\n ')(22390,22395) + PsiTypeQLOwnsType(type_constraint) - Location: (22395,22418)(22395,22418) + PsiElement('owns')('owns')(22395,22399) + PsiWhiteSpace(' ')(22399,22400) + PsiTypeQLElement(type) - Location: (22400,22418)(22400,22418) + PsiTypeQLElement(label) - Location: (22400,22418)(22400,22418) + PsiElement(LABEL_)('inhibit-any-policy')(22400,22418) + PsiTypeQLElement(annotations_owns) - Location: (22418,22418)(22418,22418) + + PsiElement(',')(',')(22418,22419) + PsiWhiteSpace('\n ')(22419,22424) + PsiTypeQLOwnsType(type_constraint) - Location: (22424,22464)(22424,22464) + PsiElement('owns')('owns')(22424,22428) + PsiWhiteSpace(' ')(22428,22429) + PsiTypeQLElement(type) - Location: (22429,22464)(22429,22464) + PsiTypeQLElement(label) - Location: (22429,22464)(22429,22464) + PsiElement(LABEL_)('private-key-usage-period-not-before')(22429,22464) + PsiTypeQLElement(annotations_owns) - Location: (22464,22464)(22464,22464) + + PsiElement(',')(',')(22464,22465) + PsiWhiteSpace('\n ')(22465,22470) + PsiTypeQLOwnsType(type_constraint) - Location: (22470,22509)(22470,22509) + PsiElement('owns')('owns')(22470,22474) + PsiWhiteSpace(' ')(22474,22475) + PsiTypeQLElement(type) - Location: (22475,22509)(22475,22509) + PsiTypeQLElement(label) - Location: (22475,22509)(22475,22509) + PsiElement(LABEL_)('private-key-usage-period-not-after')(22475,22509) + PsiTypeQLElement(annotations_owns) - Location: (22509,22509)(22509,22509) + + PsiElement(',')(',')(22509,22510) + PsiWhiteSpace('\n ')(22510,22515) + PsiTypeQLOwnsType(type_constraint) - Location: (22515,22540)(22515,22540) + PsiElement('owns')('owns')(22515,22519) + PsiWhiteSpace(' ')(22519,22520) + PsiTypeQLElement(type) - Location: (22520,22540)(22520,22540) + PsiTypeQLElement(label) - Location: (22520,22540)(22520,22540) + PsiElement(LABEL_)('certificate-policies')(22520,22540) + PsiTypeQLElement(annotations_owns) - Location: (22540,22540)(22540,22540) + + PsiElement(',')(',')(22540,22541) + PsiWhiteSpace('\n ')(22541,22546) + PsiTypeQLOwnsType(type_constraint) - Location: (22546,22566)(22546,22566) + PsiElement('owns')('owns')(22546,22550) + PsiWhiteSpace(' ')(22550,22551) + PsiTypeQLElement(type) - Location: (22551,22566)(22551,22566) + PsiTypeQLElement(label) - Location: (22551,22566)(22551,22566) + PsiElement(LABEL_)('policy-mappings')(22551,22566) + PsiTypeQLElement(annotations_owns) - Location: (22566,22566)(22566,22566) + + PsiElement(';')(';')(22566,22567) + PsiWhiteSpace('\n\n')(22567,22569) + PsiTypeQLElement(definable) - Location: (22569,22784)(22569,22784) + PsiTypeQLStatementType(statement_type) - Location: (22569,22784)(22569,22784) + PsiTypeQLElement(type_any) - Location: (22569,22587)(22569,22587) + PsiTypeQLType(type) - Name: marking-definition - Location: (22569,22587)(22569,22587) + PsiTypeQLElement(label) - Location: (22569,22587)(22569,22587) + PsiElement(LABEL_)('marking-definition')(22569,22587) + PsiWhiteSpace(' ')(22587,22588) + PsiTypeQLSubType(type_constraint) - Location: (22588,22603)(22588,22603) + PsiElement(SUB_)('sub')(22588,22591) + PsiWhiteSpace(' ')(22591,22592) + PsiTypeQLElement(type_any) - Location: (22592,22603)(22592,22603) + PsiTypeQLElement(type) - Location: (22592,22603)(22592,22603) + PsiTypeQLElement(label) - Location: (22592,22603)(22592,22603) + PsiElement(LABEL_)('stix-object')(22592,22603) + PsiElement(',')(',')(22603,22604) + PsiWhiteSpace('\n ')(22604,22609) + PsiTypeQLOwnsType(type_constraint) - Location: (22609,22621)(22609,22621) + PsiElement('owns')('owns')(22609,22613) + PsiWhiteSpace(' ')(22613,22614) + PsiTypeQLElement(type) - Location: (22614,22621)(22614,22621) + PsiTypeQLElement(label) - Location: (22614,22621)(22614,22621) + PsiElement(LABEL_)('created')(22614,22621) + PsiTypeQLElement(annotations_owns) - Location: (22621,22621)(22621,22621) + + PsiElement(',')(',')(22621,22622) + PsiWhiteSpace('\n ')(22622,22627) + PsiTypeQLOwnsType(type_constraint) - Location: (22627,22640)(22627,22640) + PsiElement('owns')('owns')(22627,22631) + PsiWhiteSpace(' ')(22631,22632) + PsiTypeQLElement(type) - Location: (22632,22640)(22632,22640) + PsiTypeQLElement(label) - Location: (22632,22640)(22632,22640) + PsiElement(LABEL_)('modified')(22632,22640) + PsiTypeQLElement(annotations_owns) - Location: (22640,22640)(22640,22640) + + PsiElement(',')(',')(22640,22641) + PsiWhiteSpace('\n ')(22641,22646) + PsiTypeQLOwnsType(type_constraint) - Location: (22646,22655)(22646,22655) + PsiElement('owns')('owns')(22646,22650) + PsiWhiteSpace(' ')(22650,22651) + PsiTypeQLElement(type) - Location: (22651,22655)(22651,22655) + PsiTypeQLElement(label) - Location: (22651,22655)(22651,22655) + PsiElement(LABEL_)('name')(22651,22655) + PsiTypeQLElement(annotations_owns) - Location: (22655,22655)(22655,22655) + + PsiElement(',')(',')(22655,22656) + PsiWhiteSpace('\n ')(22656,22661) + PsiTypeQLOwnsType(type_constraint) - Location: (22661,22678)(22661,22678) + PsiElement('owns')('owns')(22661,22665) + PsiWhiteSpace(' ')(22665,22666) + PsiTypeQLElement(type) - Location: (22666,22678)(22666,22678) + PsiTypeQLElement(label) - Location: (22666,22678)(22666,22678) + PsiElement(LABEL_)('spec-version')(22666,22678) + PsiTypeQLElement(annotations_owns) - Location: (22678,22678)(22678,22678) + + PsiElement(',')(',')(22678,22679) + PsiWhiteSpace('\n\n ')(22679,22685) + PsiTypeQLPlaysType(type_constraint) - Location: (22685,22709)(22685,22709) + PsiElement('plays')('plays')(22685,22690) + PsiWhiteSpace(' ')(22690,22691) + PsiTypeQLElement(type_scoped) - Location: (22691,22709)(22691,22709) + PsiTypeQLElement(label_scoped) - Location: (22691,22709)(22691,22709) + PsiElement(LABEL_SCOPED_)('created-by:created')(22691,22709) + PsiElement(',')(',')(22709,22710) + PsiWhiteSpace('\n ')(22710,22715) + PsiTypeQLPlaysType(type_constraint) - Location: (22715,22741)(22715,22741) + PsiElement('plays')('plays')(22715,22720) + PsiWhiteSpace(' ')(22720,22721) + PsiTypeQLElement(type_scoped) - Location: (22721,22741)(22721,22741) + PsiTypeQLElement(label_scoped) - Location: (22721,22741)(22721,22741) + PsiElement(LABEL_SCOPED_)('data-marking:marking')(22721,22741) + PsiElement(',')(',')(22741,22742) + PsiWhiteSpace('\n ')(22742,22747) + PsiTypeQLPlaysType(type_constraint) - Location: (22747,22784)(22747,22784) + PsiElement('plays')('plays')(22747,22752) + PsiWhiteSpace(' ')(22752,22753) + PsiTypeQLElement(type_scoped) - Location: (22753,22784)(22753,22784) + PsiTypeQLElement(label_scoped) - Location: (22753,22784)(22753,22784) + PsiElement(LABEL_SCOPED_)('external-references:referencing')(22753,22784) + PsiElement(';')(';')(22784,22785) + PsiWhiteSpace('\n\n')(22785,22787) + PsiTypeQLElement(definable) - Location: (22787,22847)(22787,22847) + PsiTypeQLStatementType(statement_type) - Location: (22787,22847)(22787,22847) + PsiTypeQLElement(type_any) - Location: (22787,22804)(22787,22804) + PsiTypeQLType(type) - Name: statement-marking - Location: (22787,22804)(22787,22804) + PsiTypeQLElement(label) - Location: (22787,22804)(22787,22804) + PsiElement(LABEL_)('statement-marking')(22787,22804) + PsiWhiteSpace(' ')(22804,22805) + PsiTypeQLSubType(type_constraint) - Location: (22805,22827)(22805,22827) + PsiElement(SUB_)('sub')(22805,22808) + PsiWhiteSpace(' ')(22808,22809) + PsiTypeQLElement(type_any) - Location: (22809,22827)(22809,22827) + PsiTypeQLElement(type) - Location: (22809,22827)(22809,22827) + PsiTypeQLElement(label) - Location: (22809,22827)(22809,22827) + PsiElement(LABEL_)('marking-definition')(22809,22827) + PsiElement(',')(',')(22827,22828) + PsiWhiteSpace('\n ')(22828,22833) + PsiTypeQLOwnsType(type_constraint) - Location: (22833,22847)(22833,22847) + PsiElement('owns')('owns')(22833,22837) + PsiWhiteSpace(' ')(22837,22838) + PsiTypeQLElement(type) - Location: (22838,22847)(22838,22847) + PsiTypeQLElement(label) - Location: (22838,22847)(22838,22847) + PsiElement(LABEL_)('statement')(22838,22847) + PsiTypeQLElement(annotations_owns) - Location: (22847,22847)(22847,22847) + + PsiElement(';')(';')(22847,22848) + PsiWhiteSpace('\n\n')(22848,22850) + PsiTypeQLElement(definable) - Location: (22850,22900)(22850,22900) + PsiTypeQLStatementType(statement_type) - Location: (22850,22900)(22850,22900) + PsiTypeQLElement(type_any) - Location: (22850,22861)(22850,22861) + PsiTypeQLType(type) - Name: tlp-marking - Location: (22850,22861)(22850,22861) + PsiTypeQLElement(label) - Location: (22850,22861)(22850,22861) + PsiElement(LABEL_)('tlp-marking')(22850,22861) + PsiWhiteSpace(' ')(22861,22862) + PsiTypeQLSubType(type_constraint) - Location: (22862,22884)(22862,22884) + PsiElement(SUB_)('sub')(22862,22865) + PsiWhiteSpace(' ')(22865,22866) + PsiTypeQLElement(type_any) - Location: (22866,22884)(22866,22884) + PsiTypeQLElement(type) - Location: (22866,22884)(22866,22884) + PsiTypeQLElement(label) - Location: (22866,22884)(22866,22884) + PsiElement(LABEL_)('marking-definition')(22866,22884) + PsiElement(',')(',')(22884,22885) + PsiWhiteSpace('\n ')(22885,22890) + PsiTypeQLOwnsType(type_constraint) - Location: (22890,22900)(22890,22900) + PsiElement('owns')('owns')(22890,22894) + PsiWhiteSpace(' ')(22894,22895) + PsiTypeQLElement(type) - Location: (22895,22900)(22895,22900) + PsiTypeQLElement(label) - Location: (22895,22900)(22895,22900) + PsiElement(LABEL_)('color')(22895,22900) + PsiTypeQLElement(annotations_owns) - Location: (22900,22900)(22900,22900) + + PsiElement(';')(';')(22900,22901) + PsiWhiteSpace('\n\n')(22901,22903) + PsiTypeQLElement(definable) - Location: (22903,22962)(22903,22962) + PsiTypeQLStatementType(statement_type) - Location: (22903,22962)(22903,22962) + PsiTypeQLElement(type_any) - Location: (22903,22907)(22903,22907) + PsiTypeQLType(type) - Name: list - Location: (22903,22907)(22903,22907) + PsiTypeQLElement(label) - Location: (22903,22907)(22903,22907) + PsiElement(LABEL_)('list')(22903,22907) + PsiWhiteSpace(' ')(22907,22908) + PsiTypeQLElement(type_constraint) - Location: (22908,22920)(22908,22920) + PsiElement(SUB_)('sub')(22908,22911) + PsiWhiteSpace(' ')(22911,22912) + PsiTypeQLElement(type_any) - Location: (22912,22920)(22912,22920) + PsiTypeQLElement(type) - Location: (22912,22920)(22912,22920) + PsiTypeQLElement(label) - Location: (22912,22920)(22912,22920) + PsiTypeQLElement(type_native) - Location: (22912,22920)(22912,22920) + PsiElement('relation')('relation')(22912,22920) + PsiElement(',')(',')(22920,22921) + PsiWhiteSpace('\n ')(22921,22926) + PsiTypeQLRelatesType(type_constraint) - Name: list-item - Location: (22926,22943)(22926,22943) + PsiElement('relates')('relates')(22926,22933) + PsiWhiteSpace(' ')(22933,22934) + PsiTypeQLElement(type) - Location: (22934,22943)(22934,22943) + PsiTypeQLElement(label) - Location: (22934,22943)(22934,22943) + PsiElement(LABEL_)('list-item')(22934,22943) + PsiElement(',')(',')(22943,22944) + PsiWhiteSpace('\n ')(22944,22949) + PsiTypeQLRelatesType(type_constraint) - Name: owner - Location: (22949,22962)(22949,22962) + PsiElement('relates')('relates')(22949,22956) + PsiWhiteSpace(' ')(22956,22957) + PsiTypeQLElement(type) - Location: (22957,22962)(22957,22962) + PsiTypeQLElement(label) - Location: (22957,22962)(22957,22962) + PsiElement(LABEL_)('owner')(22957,22962) + PsiElement(';')(';')(22962,22963) + PsiWhiteSpace('\n\n')(22963,22965) + PsiTypeQLElement(definable) - Location: (22965,23073)(22965,23073) + PsiTypeQLStatementType(statement_type) - Location: (22965,23073)(22965,23073) + PsiTypeQLElement(type_any) - Location: (22965,22976)(22965,22976) + PsiTypeQLType(type) - Name: linked-list - Location: (22965,22976)(22965,22976) + PsiTypeQLElement(label) - Location: (22965,22976)(22965,22976) + PsiElement(LABEL_)('linked-list')(22965,22976) + PsiWhiteSpace(' ')(22976,22977) + PsiTypeQLSubType(type_constraint) - Location: (22977,22985)(22977,22985) + PsiElement(SUB_)('sub')(22977,22980) + PsiWhiteSpace(' ')(22980,22981) + PsiTypeQLElement(type_any) - Location: (22981,22985)(22981,22985) + PsiTypeQLElement(type) - Location: (22981,22985)(22981,22985) + PsiTypeQLElement(label) - Location: (22981,22985)(22981,22985) + PsiElement(LABEL_)('list')(22981,22985) + PsiElement(',')(',')(22985,22986) + PsiWhiteSpace('\n ')(22986,22991) + PsiTypeQLPlaysType(type_constraint) - Location: (22991,23015)(22991,23015) + PsiElement('plays')('plays')(22991,22996) + PsiWhiteSpace(' ')(22996,22997) + PsiTypeQLElement(type_scoped) - Location: (22997,23015)(22997,23015) + PsiTypeQLElement(label_scoped) - Location: (22997,23015)(22997,23015) + PsiElement(LABEL_SCOPED_)('first-element:list')(22997,23015) + PsiElement(',')(',')(23015,23016) + PsiWhiteSpace('\n ')(23016,23021) + PsiTypeQLPlaysType(type_constraint) - Location: (23021,23044)(23021,23044) + PsiElement('plays')('plays')(23021,23026) + PsiWhiteSpace(' ')(23026,23027) + PsiTypeQLElement(type_scoped) - Location: (23027,23044)(23027,23044) + PsiTypeQLElement(label_scoped) - Location: (23027,23044)(23027,23044) + PsiElement(LABEL_SCOPED_)('last-element:list')(23027,23044) + PsiElement(',')(',')(23044,23045) + PsiWhiteSpace('\n ')(23045,23050) + PsiTypeQLPlaysType(type_constraint) - Location: (23050,23073)(23050,23073) + PsiElement('plays')('plays')(23050,23055) + PsiWhiteSpace(' ')(23055,23056) + PsiTypeQLElement(type_scoped) - Location: (23056,23073)(23056,23073) + PsiTypeQLElement(label_scoped) - Location: (23056,23073)(23056,23073) + PsiElement(LABEL_SCOPED_)('list-element:list')(23056,23073) + PsiElement(';')(';')(23073,23074) + PsiWhiteSpace('\n\n')(23074,23076) + PsiTypeQLElement(definable) - Location: (23076,23139)(23076,23139) + PsiTypeQLStatementType(statement_type) - Location: (23076,23139)(23076,23139) + PsiTypeQLElement(type_any) - Location: (23076,23089)(23076,23089) + PsiTypeQLType(type) - Name: first-element - Location: (23076,23089)(23076,23089) + PsiTypeQLElement(label) - Location: (23076,23089)(23076,23089) + PsiElement(LABEL_)('first-element')(23076,23089) + PsiWhiteSpace(' ')(23089,23090) + PsiTypeQLElement(type_constraint) - Location: (23090,23102)(23090,23102) + PsiElement(SUB_)('sub')(23090,23093) + PsiWhiteSpace(' ')(23093,23094) + PsiTypeQLElement(type_any) - Location: (23094,23102)(23094,23102) + PsiTypeQLElement(type) - Location: (23094,23102)(23094,23102) + PsiTypeQLElement(label) - Location: (23094,23102)(23094,23102) + PsiTypeQLElement(type_native) - Location: (23094,23102)(23094,23102) + PsiElement('relation')('relation')(23094,23102) + PsiElement(',')(',')(23102,23103) + PsiWhiteSpace('\n ')(23103,23108) + PsiTypeQLRelatesType(type_constraint) - Name: first - Location: (23108,23121)(23108,23121) + PsiElement('relates')('relates')(23108,23115) + PsiWhiteSpace(' ')(23115,23116) + PsiTypeQLElement(type) - Location: (23116,23121)(23116,23121) + PsiTypeQLElement(label) - Location: (23116,23121)(23116,23121) + PsiElement(LABEL_)('first')(23116,23121) + PsiElement(',')(',')(23121,23122) + PsiWhiteSpace('\n ')(23122,23127) + PsiTypeQLRelatesType(type_constraint) - Name: list - Location: (23127,23139)(23127,23139) + PsiElement('relates')('relates')(23127,23134) + PsiWhiteSpace(' ')(23134,23135) + PsiTypeQLElement(type) - Location: (23135,23139)(23135,23139) + PsiTypeQLElement(label) - Location: (23135,23139)(23135,23139) + PsiElement(LABEL_)('list')(23135,23139) + PsiElement(';')(';')(23139,23140) + PsiWhiteSpace('\n\n')(23140,23142) + PsiTypeQLElement(definable) - Location: (23142,23203)(23142,23203) + PsiTypeQLStatementType(statement_type) - Location: (23142,23203)(23142,23203) + PsiTypeQLElement(type_any) - Location: (23142,23154)(23142,23154) + PsiTypeQLType(type) - Name: last-element - Location: (23142,23154)(23142,23154) + PsiTypeQLElement(label) - Location: (23142,23154)(23142,23154) + PsiElement(LABEL_)('last-element')(23142,23154) + PsiWhiteSpace(' ')(23154,23155) + PsiTypeQLElement(type_constraint) - Location: (23155,23167)(23155,23167) + PsiElement(SUB_)('sub')(23155,23158) + PsiWhiteSpace(' ')(23158,23159) + PsiTypeQLElement(type_any) - Location: (23159,23167)(23159,23167) + PsiTypeQLElement(type) - Location: (23159,23167)(23159,23167) + PsiTypeQLElement(label) - Location: (23159,23167)(23159,23167) + PsiTypeQLElement(type_native) - Location: (23159,23167)(23159,23167) + PsiElement('relation')('relation')(23159,23167) + PsiElement(',')(',')(23167,23168) + PsiWhiteSpace('\n ')(23168,23173) + PsiTypeQLRelatesType(type_constraint) - Name: last - Location: (23173,23185)(23173,23185) + PsiElement('relates')('relates')(23173,23180) + PsiWhiteSpace(' ')(23180,23181) + PsiTypeQLElement(type) - Location: (23181,23185)(23181,23185) + PsiTypeQLElement(label) - Location: (23181,23185)(23181,23185) + PsiElement(LABEL_)('last')(23181,23185) + PsiElement(',')(',')(23185,23186) + PsiWhiteSpace('\n ')(23186,23191) + PsiTypeQLRelatesType(type_constraint) - Name: list - Location: (23191,23203)(23191,23203) + PsiElement('relates')('relates')(23191,23198) + PsiWhiteSpace(' ')(23198,23199) + PsiTypeQLElement(type) - Location: (23199,23203)(23199,23203) + PsiTypeQLElement(label) - Location: (23199,23203)(23199,23203) + PsiElement(LABEL_)('list')(23199,23203) + PsiElement(';')(';')(23203,23204) + PsiWhiteSpace('\n\n')(23204,23206) + PsiTypeQLElement(definable) - Location: (23206,23270)(23206,23270) + PsiTypeQLStatementType(statement_type) - Location: (23206,23270)(23206,23270) + PsiTypeQLElement(type_any) - Location: (23206,23218)(23206,23218) + PsiTypeQLType(type) - Name: list-element - Location: (23206,23218)(23206,23218) + PsiTypeQLElement(label) - Location: (23206,23218)(23206,23218) + PsiElement(LABEL_)('list-element')(23206,23218) + PsiWhiteSpace(' ')(23218,23219) + PsiTypeQLElement(type_constraint) - Location: (23219,23231)(23219,23231) + PsiElement(SUB_)('sub')(23219,23222) + PsiWhiteSpace(' ')(23222,23223) + PsiTypeQLElement(type_any) - Location: (23223,23231)(23223,23231) + PsiTypeQLElement(type) - Location: (23223,23231)(23223,23231) + PsiTypeQLElement(label) - Location: (23223,23231)(23223,23231) + PsiTypeQLElement(type_native) - Location: (23223,23231)(23223,23231) + PsiElement('relation')('relation')(23223,23231) + PsiElement(',')(',')(23231,23232) + PsiWhiteSpace('\n ')(23232,23237) + PsiTypeQLRelatesType(type_constraint) - Name: element - Location: (23237,23252)(23237,23252) + PsiElement('relates')('relates')(23237,23244) + PsiWhiteSpace(' ')(23244,23245) + PsiTypeQLElement(type) - Location: (23245,23252)(23245,23252) + PsiTypeQLElement(label) - Location: (23245,23252)(23245,23252) + PsiElement(LABEL_)('element')(23245,23252) + PsiElement(',')(',')(23252,23253) + PsiWhiteSpace('\n ')(23253,23258) + PsiTypeQLRelatesType(type_constraint) - Name: list - Location: (23258,23270)(23258,23270) + PsiElement('relates')('relates')(23258,23265) + PsiWhiteSpace(' ')(23265,23266) + PsiTypeQLElement(type) - Location: (23266,23270)(23266,23270) + PsiTypeQLElement(label) - Location: (23266,23270)(23266,23270) + PsiElement(LABEL_)('list')(23266,23270) + PsiElement(';')(';')(23270,23271) + PsiWhiteSpace('\n\n')(23271,23273) + PsiTypeQLElement(definable) - Location: (23273,23464)(23273,23464) + PsiTypeQLStatementType(statement_type) - Location: (23273,23464)(23273,23464) + PsiTypeQLElement(type_any) - Location: (23273,23277)(23273,23277) + PsiTypeQLType(type) - Name: node - Location: (23273,23277)(23273,23277) + PsiTypeQLElement(label) - Location: (23273,23277)(23273,23277) + PsiElement(LABEL_)('node')(23273,23277) + PsiWhiteSpace(' ')(23277,23278) + PsiTypeQLElement(type_constraint) - Location: (23278,23290)(23278,23290) + PsiElement(SUB_)('sub')(23278,23281) + PsiWhiteSpace(' ')(23281,23282) + PsiTypeQLElement(type_any) - Location: (23282,23290)(23282,23290) + PsiTypeQLElement(type) - Location: (23282,23290)(23282,23290) + PsiTypeQLElement(label) - Location: (23282,23290)(23282,23290) + PsiTypeQLElement(type_native) - Location: (23282,23290)(23282,23290) + PsiElement('relation')('relation')(23282,23290) + PsiElement(',')(',')(23290,23291) + PsiWhiteSpace('\n ')(23291,23296) + PsiTypeQLRelatesType(type_constraint) - Name: next - Location: (23296,23308)(23296,23308) + PsiElement('relates')('relates')(23296,23303) + PsiWhiteSpace(' ')(23303,23304) + PsiTypeQLElement(type) - Location: (23304,23308)(23304,23308) + PsiTypeQLElement(label) - Location: (23304,23308)(23304,23308) + PsiElement(LABEL_)('next')(23304,23308) + PsiElement(',')(',')(23308,23309) + PsiWhiteSpace('\n ')(23309,23314) + PsiTypeQLRelatesType(type_constraint) - Name: listed - Location: (23314,23328)(23314,23328) + PsiElement('relates')('relates')(23314,23321) + PsiWhiteSpace(' ')(23321,23322) + PsiTypeQLElement(type) - Location: (23322,23328)(23322,23328) + PsiTypeQLElement(label) - Location: (23322,23328)(23322,23328) + PsiElement(LABEL_)('listed')(23322,23328) + PsiElement(',')(',')(23328,23329) + PsiWhiteSpace('\n\n ')(23329,23335) + PsiComment(COMMENT)('# Rel\n')(23335,23341) + PsiWhiteSpace(' ')(23341,23345) + PsiTypeQLPlaysType(type_constraint) - Location: (23345,23360)(23345,23360) + PsiElement('plays')('plays')(23345,23350) + PsiWhiteSpace(' ')(23350,23351) + PsiTypeQLElement(type_scoped) - Location: (23351,23360)(23351,23360) + PsiTypeQLElement(label_scoped) - Location: (23351,23360)(23351,23360) + PsiElement(LABEL_SCOPED_)('node:next')(23351,23360) + PsiElement(',')(',')(23360,23361) + PsiWhiteSpace('\n\n ')(23361,23367) + PsiComment(COMMENT)('# RRel\n')(23367,23374) + PsiWhiteSpace(' ')(23374,23378) + PsiTypeQLPlaysType(type_constraint) - Location: (23378,23404)(23378,23404) + PsiElement('plays')('plays')(23378,23383) + PsiWhiteSpace(' ')(23383,23384) + PsiTypeQLElement(type_scoped) - Location: (23384,23404)(23384,23404) + PsiTypeQLElement(label_scoped) - Location: (23384,23404)(23384,23404) + PsiElement(LABEL_SCOPED_)('list-element:element')(23384,23404) + PsiElement(',')(',')(23404,23405) + PsiWhiteSpace('\n ')(23405,23410) + PsiTypeQLPlaysType(type_constraint) - Location: (23410,23433)(23410,23433) + PsiElement('plays')('plays')(23410,23415) + PsiWhiteSpace(' ')(23415,23416) + PsiTypeQLElement(type_scoped) - Location: (23416,23433)(23416,23433) + PsiTypeQLElement(label_scoped) - Location: (23416,23433)(23416,23433) + PsiElement(LABEL_SCOPED_)('last-element:last')(23416,23433) + PsiElement(',')(',')(23433,23434) + PsiWhiteSpace('\n ')(23434,23439) + PsiTypeQLPlaysType(type_constraint) - Location: (23439,23464)(23439,23464) + PsiElement('plays')('plays')(23439,23444) + PsiWhiteSpace(' ')(23444,23445) + PsiTypeQLElement(type_scoped) - Location: (23445,23464)(23445,23464) + PsiTypeQLElement(label_scoped) - Location: (23445,23464)(23445,23464) + PsiElement(LABEL_SCOPED_)('first-element:first')(23445,23464) + PsiElement(';')(';')(23464,23465) + PsiWhiteSpace('\n\n')(23465,23467) + PsiTypeQLElement(definable) - Location: (23467,23563)(23467,23563) + PsiTypeQLStatementType(statement_type) - Location: (23467,23563)(23467,23563) + PsiTypeQLElement(type_any) - Location: (23467,23471)(23467,23471) + PsiTypeQLType(type) - Name: dict - Location: (23467,23471)(23467,23471) + PsiTypeQLElement(label) - Location: (23467,23471)(23467,23471) + PsiElement(LABEL_)('dict')(23467,23471) + PsiWhiteSpace(' ')(23471,23472) + PsiTypeQLElement(type_constraint) - Location: (23472,23484)(23472,23484) + PsiElement(SUB_)('sub')(23472,23475) + PsiWhiteSpace(' ')(23475,23476) + PsiTypeQLElement(type_any) - Location: (23476,23484)(23476,23484) + PsiTypeQLElement(type) - Location: (23476,23484)(23476,23484) + PsiTypeQLElement(label) - Location: (23476,23484)(23476,23484) + PsiTypeQLElement(type_native) - Location: (23476,23484)(23476,23484) + PsiElement('relation')('relation')(23476,23484) + PsiElement(',')(',')(23484,23485) + PsiWhiteSpace('\n ')(23485,23490) + PsiTypeQLRelatesType(type_constraint) - Name: dict-item - Location: (23490,23507)(23490,23507) + PsiElement('relates')('relates')(23490,23497) + PsiWhiteSpace(' ')(23497,23498) + PsiTypeQLElement(type) - Location: (23498,23507)(23498,23507) + PsiTypeQLElement(label) - Location: (23498,23507)(23498,23507) + PsiElement(LABEL_)('dict-item')(23498,23507) + PsiElement(',')(',')(23507,23508) + PsiWhiteSpace('\n ')(23508,23513) + PsiTypeQLRelatesType(type_constraint) - Name: owner - Location: (23513,23526)(23513,23526) + PsiElement('relates')('relates')(23513,23520) + PsiWhiteSpace(' ')(23520,23521) + PsiTypeQLElement(type) - Location: (23521,23526)(23521,23526) + PsiTypeQLElement(label) - Location: (23521,23526)(23521,23526) + PsiElement(LABEL_)('owner')(23521,23526) + PsiElement(',')(',')(23526,23527) + PsiWhiteSpace('\n ')(23527,23532) + PsiTypeQLOwnsType(type_constraint) - Location: (23532,23549)(23532,23549) + PsiElement('owns')('owns')(23532,23536) + PsiWhiteSpace(' ')(23536,23537) + PsiTypeQLElement(type) - Location: (23537,23549)(23537,23549) + PsiTypeQLElement(label) - Location: (23537,23549)(23537,23549) + PsiElement(LABEL_)('key-abstract')(23537,23549) + PsiTypeQLElement(annotations_owns) - Location: (23549,23549)(23549,23549) + + PsiElement(',')(',')(23549,23550) + PsiWhiteSpace('\n ')(23550,23555) + PsiTypeQLElement(type_constraint) - Location: (23555,23563)(23555,23563) + PsiElement('abstract')('abstract')(23555,23563) + PsiElement(';')(';')(23563,23564) + PsiWhiteSpace('\n\n\n')(23564,23567) + PsiTypeQLElement(definable) - Location: (23567,23695)(23567,23695) + PsiTypeQLStatementType(statement_type) - Location: (23567,23695)(23567,23695) + PsiTypeQLElement(type_any) - Location: (23567,23573)(23567,23573) + PsiTypeQLType(type) - Name: hashes - Location: (23567,23573)(23567,23573) + PsiTypeQLElement(label) - Location: (23567,23573)(23567,23573) + PsiElement(LABEL_)('hashes')(23567,23573) + PsiWhiteSpace(' ')(23573,23574) + PsiTypeQLSubType(type_constraint) - Location: (23574,23582)(23574,23582) + PsiElement(SUB_)('sub')(23574,23577) + PsiWhiteSpace(' ')(23577,23578) + PsiTypeQLElement(type_any) - Location: (23578,23582)(23578,23582) + PsiTypeQLElement(type) - Location: (23578,23582)(23578,23582) + PsiTypeQLElement(label) - Location: (23578,23582)(23578,23582) + PsiElement(LABEL_)('dict')(23578,23582) + PsiElement(',')(',')(23582,23583) + PsiWhiteSpace('\n ')(23583,23588) + PsiTypeQLRelatesType(type_constraint) - Name: hash-value - Location: (23588,23606)(23588,23619) + PsiElement('relates')('relates')(23588,23595) + PsiWhiteSpace(' ')(23595,23596) + PsiTypeQLElement(type) - Location: (23596,23606)(23596,23606) + PsiTypeQLElement(label) - Location: (23596,23606)(23596,23606) + PsiElement(LABEL_)('hash-value')(23596,23606) + PsiWhiteSpace(' ')(23606,23607) + PsiElement('as')('as')(23607,23609) + PsiWhiteSpace(' ')(23609,23610) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23610,23619)(23610,23619) + PsiTypeQLElement(label) - Location: (23610,23619)(23610,23619) + PsiElement(LABEL_)('dict-item')(23610,23619) + PsiElement(',')(',')(23619,23620) + PsiWhiteSpace('\n ')(23620,23625) + PsiTypeQLRelatesType(type_constraint) - Name: hashes-owner - Location: (23625,23645)(23625,23654) + PsiElement('relates')('relates')(23625,23632) + PsiWhiteSpace(' ')(23632,23633) + PsiTypeQLElement(type) - Location: (23633,23645)(23633,23645) + PsiTypeQLElement(label) - Location: (23633,23645)(23633,23645) + PsiElement(LABEL_)('hashes-owner')(23633,23645) + PsiWhiteSpace(' ')(23645,23646) + PsiElement('as')('as')(23646,23648) + PsiWhiteSpace(' ')(23648,23649) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23649,23654)(23649,23654) + PsiTypeQLElement(label) - Location: (23649,23654)(23649,23654) + PsiElement(LABEL_)('owner')(23649,23654) + PsiElement(',')(',')(23654,23655) + PsiWhiteSpace('\n ')(23655,23660) + PsiTypeQLOwnsType(type_constraint) - Location: (23660,23695)(23660,23695) + PsiElement('owns')('owns')(23660,23664) + PsiWhiteSpace(' ')(23664,23665) + PsiTypeQLElement(type) - Location: (23665,23679)(23665,23679) + PsiTypeQLElement(label) - Location: (23665,23679)(23665,23679) + PsiElement(LABEL_)('hash-algorithm')(23665,23679) + PsiWhiteSpace(' ')(23679,23680) + PsiElement('as')('as')(23680,23682) + PsiWhiteSpace(' ')(23682,23683) + PsiTypeQLOwnsAsOverrideType(type) - Location: (23683,23695)(23683,23695) + PsiTypeQLElement(label) - Location: (23683,23695)(23683,23695) + PsiElement(LABEL_)('key-abstract')(23683,23695) + PsiTypeQLElement(annotations_owns) - Location: (23695,23695)(23695,23695) + + PsiElement(';')(';')(23695,23696) + PsiWhiteSpace('\n\n')(23696,23698) + PsiTypeQLElement(definable) - Location: (23698,23832)(23698,23832) + PsiTypeQLStatementType(statement_type) - Location: (23698,23832)(23698,23832) + PsiTypeQLElement(type_any) - Location: (23698,23716)(23698,23716) + PsiTypeQLType(type) - Name: document-info-dict - Location: (23698,23716)(23698,23716) + PsiTypeQLElement(label) - Location: (23698,23716)(23698,23716) + PsiElement(LABEL_)('document-info-dict')(23698,23716) + PsiWhiteSpace(' ')(23716,23717) + PsiTypeQLSubType(type_constraint) - Location: (23717,23725)(23717,23725) + PsiElement(SUB_)('sub')(23717,23720) + PsiWhiteSpace(' ')(23720,23721) + PsiTypeQLElement(type_any) - Location: (23721,23725)(23721,23725) + PsiTypeQLElement(type) - Location: (23721,23725)(23721,23725) + PsiTypeQLElement(label) - Location: (23721,23725)(23721,23725) + PsiElement(LABEL_)('dict')(23721,23725) + PsiElement(',')(',')(23725,23726) + PsiWhiteSpace('\n ')(23726,23731) + PsiTypeQLRelatesType(type_constraint) - Name: document-info - Location: (23731,23752)(23731,23765) + PsiElement('relates')('relates')(23731,23738) + PsiWhiteSpace(' ')(23738,23739) + PsiTypeQLElement(type) - Location: (23739,23752)(23739,23752) + PsiTypeQLElement(label) - Location: (23739,23752)(23739,23752) + PsiElement(LABEL_)('document-info')(23739,23752) + PsiWhiteSpace(' ')(23752,23753) + PsiElement('as')('as')(23753,23755) + PsiWhiteSpace(' ')(23755,23756) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23756,23765)(23756,23765) + PsiTypeQLElement(label) - Location: (23756,23765)(23756,23765) + PsiElement(LABEL_)('dict-item')(23756,23765) + PsiElement(',')(',')(23765,23766) + PsiWhiteSpace('\n ')(23766,23771) + PsiTypeQLRelatesType(type_constraint) - Name: document-owner - Location: (23771,23793)(23771,23802) + PsiElement('relates')('relates')(23771,23778) + PsiWhiteSpace(' ')(23778,23779) + PsiTypeQLElement(type) - Location: (23779,23793)(23779,23793) + PsiTypeQLElement(label) - Location: (23779,23793)(23779,23793) + PsiElement(LABEL_)('document-owner')(23779,23793) + PsiWhiteSpace(' ')(23793,23794) + PsiElement('as')('as')(23794,23796) + PsiWhiteSpace(' ')(23796,23797) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23797,23802)(23797,23802) + PsiTypeQLElement(label) - Location: (23797,23802)(23797,23802) + PsiElement(LABEL_)('owner')(23797,23802) + PsiElement(',')(',')(23802,23803) + PsiWhiteSpace('\n ')(23803,23808) + PsiTypeQLOwnsType(type_constraint) - Location: (23808,23832)(23808,23832) + PsiElement('owns')('owns')(23808,23812) + PsiWhiteSpace(' ')(23812,23813) + PsiTypeQLElement(type) - Location: (23813,23816)(23813,23816) + PsiTypeQLElement(label) - Location: (23813,23816)(23813,23816) + PsiElement(LABEL_)('key')(23813,23816) + PsiWhiteSpace(' ')(23816,23817) + PsiElement('as')('as')(23817,23819) + PsiWhiteSpace(' ')(23819,23820) + PsiTypeQLOwnsAsOverrideType(type) - Location: (23820,23832)(23820,23832) + PsiTypeQLElement(label) - Location: (23820,23832)(23820,23832) + PsiElement(LABEL_)('key-abstract')(23820,23832) + PsiTypeQLElement(annotations_owns) - Location: (23832,23832)(23832,23832) + + PsiElement(';')(';')(23832,23833) + PsiWhiteSpace('\n\n')(23833,23835) + PsiTypeQLElement(definable) - Location: (23835,23951)(23835,23951) + PsiTypeQLStatementType(statement_type) - Location: (23835,23951)(23835,23951) + PsiTypeQLElement(type_any) - Location: (23835,23844)(23835,23844) + PsiTypeQLType(type) - Name: exif-tags - Location: (23835,23844)(23835,23844) + PsiTypeQLElement(label) - Location: (23835,23844)(23835,23844) + PsiElement(LABEL_)('exif-tags')(23835,23844) + PsiWhiteSpace(' ')(23844,23845) + PsiTypeQLSubType(type_constraint) - Location: (23845,23853)(23845,23853) + PsiElement(SUB_)('sub')(23845,23848) + PsiWhiteSpace(' ')(23848,23849) + PsiTypeQLElement(type_any) - Location: (23849,23853)(23849,23853) + PsiTypeQLElement(type) - Location: (23849,23853)(23849,23853) + PsiTypeQLElement(label) - Location: (23849,23853)(23849,23853) + PsiElement(LABEL_)('dict')(23849,23853) + PsiElement(',')(',')(23853,23854) + PsiWhiteSpace('\n ')(23854,23859) + PsiTypeQLRelatesType(type_constraint) - Name: exif-tag - Location: (23859,23875)(23859,23888) + PsiElement('relates')('relates')(23859,23866) + PsiWhiteSpace(' ')(23866,23867) + PsiTypeQLElement(type) - Location: (23867,23875)(23867,23875) + PsiTypeQLElement(label) - Location: (23867,23875)(23867,23875) + PsiElement(LABEL_)('exif-tag')(23867,23875) + PsiWhiteSpace(' ')(23875,23876) + PsiElement('as')('as')(23876,23878) + PsiWhiteSpace(' ')(23878,23879) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23879,23888)(23879,23888) + PsiTypeQLElement(label) - Location: (23879,23888)(23879,23888) + PsiElement(LABEL_)('dict-item')(23879,23888) + PsiElement(',')(',')(23888,23889) + PsiWhiteSpace('\n ')(23889,23894) + PsiTypeQLRelatesType(type_constraint) - Name: exif-owner - Location: (23894,23912)(23894,23921) + PsiElement('relates')('relates')(23894,23901) + PsiWhiteSpace(' ')(23901,23902) + PsiTypeQLElement(type) - Location: (23902,23912)(23902,23912) + PsiTypeQLElement(label) - Location: (23902,23912)(23902,23912) + PsiElement(LABEL_)('exif-owner')(23902,23912) + PsiWhiteSpace(' ')(23912,23913) + PsiElement('as')('as')(23913,23915) + PsiWhiteSpace(' ')(23915,23916) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23916,23921)(23916,23921) + PsiTypeQLElement(label) - Location: (23916,23921)(23916,23921) + PsiElement(LABEL_)('owner')(23916,23921) + PsiElement(',')(',')(23921,23922) + PsiWhiteSpace('\n ')(23922,23927) + PsiTypeQLOwnsType(type_constraint) - Location: (23927,23951)(23927,23951) + PsiElement('owns')('owns')(23927,23931) + PsiWhiteSpace(' ')(23931,23932) + PsiTypeQLElement(type) - Location: (23932,23935)(23932,23935) + PsiTypeQLElement(label) - Location: (23932,23935)(23932,23935) + PsiElement(LABEL_)('key')(23932,23935) + PsiWhiteSpace(' ')(23935,23936) + PsiElement('as')('as')(23936,23938) + PsiWhiteSpace(' ')(23938,23939) + PsiTypeQLOwnsAsOverrideType(type) - Location: (23939,23951)(23939,23951) + PsiTypeQLElement(label) - Location: (23939,23951)(23939,23951) + PsiElement(LABEL_)('key-abstract')(23939,23951) + PsiTypeQLElement(annotations_owns) - Location: (23951,23951)(23951,23951) + + PsiElement(';')(';')(23951,23952) + PsiWhiteSpace('\n\n')(23952,23954) + PsiTypeQLElement(definable) - Location: (23954,24070)(23954,24070) + PsiTypeQLStatementType(statement_type) - Location: (23954,24070)(23954,24070) + PsiTypeQLElement(type_any) - Location: (23954,23959)(23954,23959) + PsiTypeQLType(type) - Name: ipfix - Location: (23954,23959)(23954,23959) + PsiTypeQLElement(label) - Location: (23954,23959)(23954,23959) + PsiElement(LABEL_)('ipfix')(23954,23959) + PsiWhiteSpace(' ')(23959,23960) + PsiTypeQLSubType(type_constraint) - Location: (23960,23968)(23960,23968) + PsiElement(SUB_)('sub')(23960,23963) + PsiWhiteSpace(' ')(23963,23964) + PsiTypeQLElement(type_any) - Location: (23964,23968)(23964,23968) + PsiTypeQLElement(type) - Location: (23964,23968)(23964,23968) + PsiTypeQLElement(label) - Location: (23964,23968)(23964,23968) + PsiElement(LABEL_)('dict')(23964,23968) + PsiElement(',')(',')(23968,23969) + PsiWhiteSpace('\n ')(23969,23974) + PsiTypeQLRelatesType(type_constraint) - Name: ipfix-field - Location: (23974,23993)(23974,24006) + PsiElement('relates')('relates')(23974,23981) + PsiWhiteSpace(' ')(23981,23982) + PsiTypeQLElement(type) - Location: (23982,23993)(23982,23993) + PsiTypeQLElement(label) - Location: (23982,23993)(23982,23993) + PsiElement(LABEL_)('ipfix-field')(23982,23993) + PsiWhiteSpace(' ')(23993,23994) + PsiElement('as')('as')(23994,23996) + PsiWhiteSpace(' ')(23996,23997) + PsiTypeQLRelatesAsOverrideType(type) - Location: (23997,24006)(23997,24006) + PsiTypeQLElement(label) - Location: (23997,24006)(23997,24006) + PsiElement(LABEL_)('dict-item')(23997,24006) + PsiElement(',')(',')(24006,24007) + PsiWhiteSpace('\n ')(24007,24012) + PsiTypeQLRelatesType(type_constraint) - Name: ipfix-owner - Location: (24012,24031)(24012,24040) + PsiElement('relates')('relates')(24012,24019) + PsiWhiteSpace(' ')(24019,24020) + PsiTypeQLElement(type) - Location: (24020,24031)(24020,24031) + PsiTypeQLElement(label) - Location: (24020,24031)(24020,24031) + PsiElement(LABEL_)('ipfix-owner')(24020,24031) + PsiWhiteSpace(' ')(24031,24032) + PsiElement('as')('as')(24032,24034) + PsiWhiteSpace(' ')(24034,24035) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24035,24040)(24035,24040) + PsiTypeQLElement(label) - Location: (24035,24040)(24035,24040) + PsiElement(LABEL_)('owner')(24035,24040) + PsiElement(',')(',')(24040,24041) + PsiWhiteSpace('\n ')(24041,24046) + PsiTypeQLOwnsType(type_constraint) - Location: (24046,24070)(24046,24070) + PsiElement('owns')('owns')(24046,24050) + PsiWhiteSpace(' ')(24050,24051) + PsiTypeQLElement(type) - Location: (24051,24054)(24051,24054) + PsiTypeQLElement(label) - Location: (24051,24054)(24051,24054) + PsiElement(LABEL_)('key')(24051,24054) + PsiWhiteSpace(' ')(24054,24055) + PsiElement('as')('as')(24055,24057) + PsiWhiteSpace(' ')(24057,24058) + PsiTypeQLOwnsAsOverrideType(type) - Location: (24058,24070)(24058,24070) + PsiTypeQLElement(label) - Location: (24058,24070)(24058,24070) + PsiElement(LABEL_)('key-abstract')(24058,24070) + PsiTypeQLElement(annotations_owns) - Location: (24070,24070)(24070,24070) + + PsiElement(';')(';')(24070,24071) + PsiWhiteSpace('\n\n')(24071,24073) + PsiTypeQLElement(definable) - Location: (24073,24194)(24073,24194) + PsiTypeQLStatementType(statement_type) - Location: (24073,24194)(24073,24194) + PsiTypeQLElement(type_any) - Location: (24073,24087)(24073,24087) + PsiTypeQLType(type) - Name: request-header - Location: (24073,24087)(24073,24087) + PsiTypeQLElement(label) - Location: (24073,24087)(24073,24087) + PsiElement(LABEL_)('request-header')(24073,24087) + PsiWhiteSpace(' ')(24087,24088) + PsiTypeQLSubType(type_constraint) - Location: (24088,24096)(24088,24096) + PsiElement(SUB_)('sub')(24088,24091) + PsiWhiteSpace(' ')(24091,24092) + PsiTypeQLElement(type_any) - Location: (24092,24096)(24092,24096) + PsiTypeQLElement(type) - Location: (24092,24096)(24092,24096) + PsiTypeQLElement(label) - Location: (24092,24096)(24092,24096) + PsiElement(LABEL_)('dict')(24092,24096) + PsiElement(',')(',')(24096,24097) + PsiWhiteSpace('\n ')(24097,24102) + PsiTypeQLRelatesType(type_constraint) - Name: header - Location: (24102,24116)(24102,24129) + PsiElement('relates')('relates')(24102,24109) + PsiWhiteSpace(' ')(24109,24110) + PsiTypeQLElement(type) - Location: (24110,24116)(24110,24116) + PsiTypeQLElement(label) - Location: (24110,24116)(24110,24116) + PsiElement(LABEL_)('header')(24110,24116) + PsiWhiteSpace(' ')(24116,24117) + PsiElement('as')('as')(24117,24119) + PsiWhiteSpace(' ')(24119,24120) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24120,24129)(24120,24129) + PsiTypeQLElement(label) - Location: (24120,24129)(24120,24129) + PsiElement(LABEL_)('dict-item')(24120,24129) + PsiElement(',')(',')(24129,24130) + PsiWhiteSpace('\n ')(24130,24135) + PsiTypeQLRelatesType(type_constraint) - Name: header-owner - Location: (24135,24155)(24135,24164) + PsiElement('relates')('relates')(24135,24142) + PsiWhiteSpace(' ')(24142,24143) + PsiTypeQLElement(type) - Location: (24143,24155)(24143,24155) + PsiTypeQLElement(label) - Location: (24143,24155)(24143,24155) + PsiElement(LABEL_)('header-owner')(24143,24155) + PsiWhiteSpace(' ')(24155,24156) + PsiElement('as')('as')(24156,24158) + PsiWhiteSpace(' ')(24158,24159) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24159,24164)(24159,24164) + PsiTypeQLElement(label) - Location: (24159,24164)(24159,24164) + PsiElement(LABEL_)('owner')(24159,24164) + PsiElement(',')(',')(24164,24165) + PsiWhiteSpace('\n ')(24165,24170) + PsiTypeQLOwnsType(type_constraint) - Location: (24170,24194)(24170,24194) + PsiElement('owns')('owns')(24170,24174) + PsiWhiteSpace(' ')(24174,24175) + PsiTypeQLElement(type) - Location: (24175,24178)(24175,24178) + PsiTypeQLElement(label) - Location: (24175,24178)(24175,24178) + PsiElement(LABEL_)('key')(24175,24178) + PsiWhiteSpace(' ')(24178,24179) + PsiElement('as')('as')(24179,24181) + PsiWhiteSpace(' ')(24181,24182) + PsiTypeQLOwnsAsOverrideType(type) - Location: (24182,24194)(24182,24194) + PsiTypeQLElement(label) - Location: (24182,24194)(24182,24194) + PsiElement(LABEL_)('key-abstract')(24182,24194) + PsiTypeQLElement(annotations_owns) - Location: (24194,24194)(24194,24194) + + PsiElement(';')(';')(24194,24195) + PsiWhiteSpace('\n\n')(24195,24197) + PsiTypeQLElement(definable) - Location: (24197,24312)(24197,24312) + PsiTypeQLStatementType(statement_type) - Location: (24197,24312)(24197,24312) + PsiTypeQLElement(type_any) - Location: (24197,24204)(24197,24204) + PsiTypeQLType(type) - Name: options - Location: (24197,24204)(24197,24204) + PsiTypeQLElement(label) - Location: (24197,24204)(24197,24204) + PsiElement(LABEL_)('options')(24197,24204) + PsiWhiteSpace(' ')(24204,24205) + PsiTypeQLSubType(type_constraint) - Location: (24205,24213)(24205,24213) + PsiElement(SUB_)('sub')(24205,24208) + PsiWhiteSpace(' ')(24208,24209) + PsiTypeQLElement(type_any) - Location: (24209,24213)(24209,24213) + PsiTypeQLElement(type) - Location: (24209,24213)(24209,24213) + PsiTypeQLElement(label) - Location: (24209,24213)(24209,24213) + PsiElement(LABEL_)('dict')(24209,24213) + PsiElement(',')(',')(24213,24214) + PsiWhiteSpace('\n ')(24214,24219) + PsiTypeQLRelatesType(type_constraint) - Name: option - Location: (24219,24233)(24219,24246) + PsiElement('relates')('relates')(24219,24226) + PsiWhiteSpace(' ')(24226,24227) + PsiTypeQLElement(type) - Location: (24227,24233)(24227,24233) + PsiTypeQLElement(label) - Location: (24227,24233)(24227,24233) + PsiElement(LABEL_)('option')(24227,24233) + PsiWhiteSpace(' ')(24233,24234) + PsiElement('as')('as')(24234,24236) + PsiWhiteSpace(' ')(24236,24237) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24237,24246)(24237,24246) + PsiTypeQLElement(label) - Location: (24237,24246)(24237,24246) + PsiElement(LABEL_)('dict-item')(24237,24246) + PsiElement(',')(',')(24246,24247) + PsiWhiteSpace('\n ')(24247,24252) + PsiTypeQLRelatesType(type_constraint) - Name: options-owner - Location: (24252,24273)(24252,24282) + PsiElement('relates')('relates')(24252,24259) + PsiWhiteSpace(' ')(24259,24260) + PsiTypeQLElement(type) - Location: (24260,24273)(24260,24273) + PsiTypeQLElement(label) - Location: (24260,24273)(24260,24273) + PsiElement(LABEL_)('options-owner')(24260,24273) + PsiWhiteSpace(' ')(24273,24274) + PsiElement('as')('as')(24274,24276) + PsiWhiteSpace(' ')(24276,24277) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24277,24282)(24277,24282) + PsiTypeQLElement(label) - Location: (24277,24282)(24277,24282) + PsiElement(LABEL_)('owner')(24277,24282) + PsiElement(',')(',')(24282,24283) + PsiWhiteSpace('\n ')(24283,24288) + PsiTypeQLOwnsType(type_constraint) - Location: (24288,24312)(24288,24312) + PsiElement('owns')('owns')(24288,24292) + PsiWhiteSpace(' ')(24292,24293) + PsiTypeQLElement(type) - Location: (24293,24296)(24293,24296) + PsiTypeQLElement(label) - Location: (24293,24296)(24293,24296) + PsiElement(LABEL_)('key')(24293,24296) + PsiWhiteSpace(' ')(24296,24297) + PsiElement('as')('as')(24297,24299) + PsiWhiteSpace(' ')(24299,24300) + PsiTypeQLOwnsAsOverrideType(type) - Location: (24300,24312)(24300,24312) + PsiTypeQLElement(label) - Location: (24300,24312)(24300,24312) + PsiElement(LABEL_)('key-abstract')(24300,24312) + PsiTypeQLElement(annotations_owns) - Location: (24312,24312)(24312,24312) + + PsiElement(';')(';')(24312,24313) + PsiWhiteSpace('\n\n')(24313,24315) + PsiTypeQLElement(definable) - Location: (24315,24448)(24315,24448) + PsiTypeQLStatementType(statement_type) - Location: (24315,24448)(24315,24448) + PsiTypeQLElement(type_any) - Location: (24315,24336)(24315,24336) + PsiTypeQLType(type) - Name: environment-variables - Location: (24315,24336)(24315,24336) + PsiTypeQLElement(label) - Location: (24315,24336)(24315,24336) + PsiElement(LABEL_)('environment-variables')(24315,24336) + PsiWhiteSpace(' ')(24336,24337) + PsiTypeQLSubType(type_constraint) - Location: (24337,24345)(24337,24345) + PsiElement(SUB_)('sub')(24337,24340) + PsiWhiteSpace(' ')(24340,24341) + PsiTypeQLElement(type_any) - Location: (24341,24345)(24341,24345) + PsiTypeQLElement(type) - Location: (24341,24345)(24341,24345) + PsiTypeQLElement(label) - Location: (24341,24345)(24341,24345) + PsiElement(LABEL_)('dict')(24341,24345) + PsiElement(',')(',')(24345,24346) + PsiWhiteSpace('\n ')(24346,24351) + PsiTypeQLRelatesType(type_constraint) - Name: variable - Location: (24351,24367)(24351,24380) + PsiElement('relates')('relates')(24351,24358) + PsiWhiteSpace(' ')(24358,24359) + PsiTypeQLElement(type) - Location: (24359,24367)(24359,24367) + PsiTypeQLElement(label) - Location: (24359,24367)(24359,24367) + PsiElement(LABEL_)('variable')(24359,24367) + PsiWhiteSpace(' ')(24367,24368) + PsiElement('as')('as')(24368,24370) + PsiWhiteSpace(' ')(24370,24371) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24371,24380)(24371,24380) + PsiTypeQLElement(label) - Location: (24371,24380)(24371,24380) + PsiElement(LABEL_)('dict-item')(24371,24380) + PsiElement(',')(',')(24380,24381) + PsiWhiteSpace('\n ')(24381,24386) + PsiTypeQLRelatesType(type_constraint) - Name: variables-owner - Location: (24386,24409)(24386,24418) + PsiElement('relates')('relates')(24386,24393) + PsiWhiteSpace(' ')(24393,24394) + PsiTypeQLElement(type) - Location: (24394,24409)(24394,24409) + PsiTypeQLElement(label) - Location: (24394,24409)(24394,24409) + PsiElement(LABEL_)('variables-owner')(24394,24409) + PsiWhiteSpace(' ')(24409,24410) + PsiElement('as')('as')(24410,24412) + PsiWhiteSpace(' ')(24412,24413) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24413,24418)(24413,24418) + PsiTypeQLElement(label) - Location: (24413,24418)(24413,24418) + PsiElement(LABEL_)('owner')(24413,24418) + PsiElement(',')(',')(24418,24419) + PsiWhiteSpace('\n ')(24419,24424) + PsiTypeQLOwnsType(type_constraint) - Location: (24424,24448)(24424,24448) + PsiElement('owns')('owns')(24424,24428) + PsiWhiteSpace(' ')(24428,24429) + PsiTypeQLElement(type) - Location: (24429,24432)(24429,24432) + PsiTypeQLElement(label) - Location: (24429,24432)(24429,24432) + PsiElement(LABEL_)('key')(24429,24432) + PsiWhiteSpace(' ')(24432,24433) + PsiElement('as')('as')(24433,24435) + PsiWhiteSpace(' ')(24435,24436) + PsiTypeQLOwnsAsOverrideType(type) - Location: (24436,24448)(24436,24448) + PsiTypeQLElement(label) - Location: (24436,24448)(24436,24448) + PsiElement(LABEL_)('key-abstract')(24436,24448) + PsiTypeQLElement(annotations_owns) - Location: (24448,24448)(24448,24448) + + PsiElement(';')(';')(24448,24449) + PsiWhiteSpace('\n\n')(24449,24451) + PsiTypeQLElement(definable) - Location: (24451,24566)(24451,24566) + PsiTypeQLStatementType(statement_type) - Location: (24451,24566)(24451,24566) + PsiTypeQLElement(type_any) - Location: (24451,24463)(24451,24463) + PsiTypeQLType(type) - Name: startup-info - Location: (24451,24463)(24451,24463) + PsiTypeQLElement(label) - Location: (24451,24463)(24451,24463) + PsiElement(LABEL_)('startup-info')(24451,24463) + PsiWhiteSpace(' ')(24463,24464) + PsiTypeQLSubType(type_constraint) - Location: (24464,24472)(24464,24472) + PsiElement(SUB_)('sub')(24464,24467) + PsiWhiteSpace(' ')(24467,24468) + PsiTypeQLElement(type_any) - Location: (24468,24472)(24468,24472) + PsiTypeQLElement(type) - Location: (24468,24472)(24468,24472) + PsiTypeQLElement(label) - Location: (24468,24472)(24468,24472) + PsiElement(LABEL_)('dict')(24468,24472) + PsiElement(',')(',')(24472,24473) + PsiWhiteSpace('\n ')(24473,24478) + PsiTypeQLRelatesType(type_constraint) - Name: info - Location: (24478,24490)(24478,24503) + PsiElement('relates')('relates')(24478,24485) + PsiWhiteSpace(' ')(24485,24486) + PsiTypeQLElement(type) - Location: (24486,24490)(24486,24490) + PsiTypeQLElement(label) - Location: (24486,24490)(24486,24490) + PsiElement(LABEL_)('info')(24486,24490) + PsiWhiteSpace(' ')(24490,24491) + PsiElement('as')('as')(24491,24493) + PsiWhiteSpace(' ')(24493,24494) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24494,24503)(24494,24503) + PsiTypeQLElement(label) - Location: (24494,24503)(24494,24503) + PsiElement(LABEL_)('dict-item')(24494,24503) + PsiElement(',')(',')(24503,24504) + PsiWhiteSpace('\n ')(24504,24509) + PsiTypeQLRelatesType(type_constraint) - Name: info-owner - Location: (24509,24527)(24509,24536) + PsiElement('relates')('relates')(24509,24516) + PsiWhiteSpace(' ')(24516,24517) + PsiTypeQLElement(type) - Location: (24517,24527)(24517,24527) + PsiTypeQLElement(label) - Location: (24517,24527)(24517,24527) + PsiElement(LABEL_)('info-owner')(24517,24527) + PsiWhiteSpace(' ')(24527,24528) + PsiElement('as')('as')(24528,24530) + PsiWhiteSpace(' ')(24530,24531) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24531,24536)(24531,24536) + PsiTypeQLElement(label) - Location: (24531,24536)(24531,24536) + PsiElement(LABEL_)('owner')(24531,24536) + PsiElement(',')(',')(24536,24537) + PsiWhiteSpace('\n ')(24537,24542) + PsiTypeQLOwnsType(type_constraint) - Location: (24542,24566)(24542,24566) + PsiElement('owns')('owns')(24542,24546) + PsiWhiteSpace(' ')(24546,24547) + PsiTypeQLElement(type) - Location: (24547,24550)(24547,24550) + PsiTypeQLElement(label) - Location: (24547,24550)(24547,24550) + PsiElement(LABEL_)('key')(24547,24550) + PsiWhiteSpace(' ')(24550,24551) + PsiElement('as')('as')(24551,24553) + PsiWhiteSpace(' ')(24553,24554) + PsiTypeQLOwnsAsOverrideType(type) - Location: (24554,24566)(24554,24566) + PsiTypeQLElement(label) - Location: (24554,24566)(24554,24566) + PsiElement(LABEL_)('key-abstract')(24554,24566) + PsiTypeQLElement(annotations_owns) - Location: (24566,24566)(24566,24566) + + PsiElement(';')(';')(24566,24567) + PsiWhiteSpace('\n\n')(24567,24569) + PsiTypeQLElement(definable) - Location: (24569,24695)(24569,24695) + PsiTypeQLStatementType(statement_type) - Location: (24569,24695)(24569,24695) + PsiTypeQLElement(type_any) - Location: (24569,24593)(24569,24593) + PsiTypeQLType(type) - Name: additional-header-fields - Location: (24569,24593)(24569,24593) + PsiTypeQLElement(label) - Location: (24569,24593)(24569,24593) + PsiElement(LABEL_)('additional-header-fields')(24569,24593) + PsiWhiteSpace(' ')(24593,24594) + PsiTypeQLElement(type_constraint) - Location: (24594,24606)(24594,24606) + PsiElement(SUB_)('sub')(24594,24597) + PsiWhiteSpace(' ')(24597,24598) + PsiTypeQLElement(type_any) - Location: (24598,24606)(24598,24606) + PsiTypeQLElement(type) - Location: (24598,24606)(24598,24606) + PsiTypeQLElement(label) - Location: (24598,24606)(24598,24606) + PsiTypeQLElement(type_native) - Location: (24598,24606)(24598,24606) + PsiElement('relation')('relation')(24598,24606) + PsiElement(',')(',')(24606,24607) + PsiWhiteSpace('\n ')(24607,24612) + PsiTypeQLRelatesType(type_constraint) - Name: dict-item - Location: (24612,24629)(24612,24629) + PsiElement('relates')('relates')(24612,24619) + PsiWhiteSpace(' ')(24619,24620) + PsiTypeQLElement(type) - Location: (24620,24629)(24620,24629) + PsiTypeQLElement(label) - Location: (24620,24629)(24620,24629) + PsiElement(LABEL_)('dict-item')(24620,24629) + PsiElement(',')(',')(24629,24630) + PsiWhiteSpace('\n ')(24630,24635) + PsiTypeQLRelatesType(type_constraint) - Name: owner - Location: (24635,24648)(24635,24648) + PsiElement('relates')('relates')(24635,24642) + PsiWhiteSpace(' ')(24642,24643) + PsiTypeQLElement(type) - Location: (24643,24648)(24643,24648) + PsiTypeQLElement(label) - Location: (24643,24648)(24643,24648) + PsiElement(LABEL_)('owner')(24643,24648) + PsiElement(',')(',')(24648,24649) + PsiWhiteSpace('\n\n ')(24649,24655) + PsiTypeQLPlaysType(type_constraint) - Location: (24655,24680)(24655,24680) + PsiElement('plays')('plays')(24655,24660) + PsiWhiteSpace(' ')(24660,24661) + PsiTypeQLElement(type_scoped) - Location: (24661,24680)(24661,24680) + PsiTypeQLElement(label_scoped) - Location: (24661,24680)(24661,24680) + PsiElement(LABEL_SCOPED_)('header-fields:owner')(24661,24680) + PsiElement(',')(',')(24680,24681) + PsiWhiteSpace('\n\n ')(24681,24687) + PsiTypeQLOwnsType(type_constraint) - Location: (24687,24695)(24687,24695) + PsiElement('owns')('owns')(24687,24691) + PsiWhiteSpace(' ')(24691,24692) + PsiTypeQLElement(type) - Location: (24692,24695)(24692,24695) + PsiTypeQLElement(label) - Location: (24692,24695)(24692,24695) + PsiElement(LABEL_)('key')(24692,24695) + PsiTypeQLElement(annotations_owns) - Location: (24695,24695)(24695,24695) + + PsiElement(';')(';')(24695,24696) + PsiWhiteSpace('\n\n')(24696,24698) + PsiTypeQLElement(definable) - Location: (24698,24766)(24698,24766) + PsiTypeQLStatementType(statement_type) - Location: (24698,24766)(24698,24766) + PsiTypeQLElement(type_any) - Location: (24698,24711)(24698,24711) + PsiTypeQLType(type) - Name: header-fields - Location: (24698,24711)(24698,24711) + PsiTypeQLElement(label) - Location: (24698,24711)(24698,24711) + PsiElement(LABEL_)('header-fields')(24698,24711) + PsiWhiteSpace(' ')(24711,24712) + PsiTypeQLSubType(type_constraint) - Location: (24712,24720)(24712,24720) + PsiElement(SUB_)('sub')(24712,24715) + PsiWhiteSpace(' ')(24715,24716) + PsiTypeQLElement(type_any) - Location: (24716,24720)(24716,24720) + PsiTypeQLElement(type) - Location: (24716,24720)(24716,24720) + PsiTypeQLElement(label) - Location: (24716,24720)(24716,24720) + PsiElement(LABEL_)('list')(24716,24720) + PsiElement(',')(',')(24720,24721) + PsiWhiteSpace('\n ')(24721,24726) + PsiTypeQLPlaysType(type_constraint) - Location: (24726,24766)(24726,24766) + PsiElement('plays')('plays')(24726,24731) + PsiWhiteSpace(' ')(24731,24732) + PsiTypeQLElement(type_scoped) - Location: (24732,24766)(24732,24766) + PsiTypeQLElement(label_scoped) - Location: (24732,24766)(24732,24766) + PsiElement(LABEL_SCOPED_)('additional-header-fields:dict-item')(24732,24766) + PsiElement(';')(';')(24766,24767) + PsiWhiteSpace('\n\n')(24767,24769) + PsiTypeQLElement(definable) - Location: (24769,24868)(24769,24868) + PsiTypeQLStatementType(statement_type) - Location: (24769,24868)(24769,24868) + PsiTypeQLElement(type_any) - Location: (24769,24788)(24769,24788) + PsiTypeQLType(type) - Name: external-references - Location: (24769,24788)(24769,24788) + PsiTypeQLElement(label) - Location: (24769,24788)(24769,24788) + PsiElement(LABEL_)('external-references')(24769,24788) + PsiWhiteSpace(' ')(24788,24789) + PsiTypeQLSubType(type_constraint) - Location: (24789,24797)(24789,24797) + PsiElement(SUB_)('sub')(24789,24792) + PsiWhiteSpace(' ')(24792,24793) + PsiTypeQLElement(type_any) - Location: (24793,24797)(24793,24797) + PsiTypeQLElement(type) - Location: (24793,24797)(24793,24797) + PsiTypeQLElement(label) - Location: (24793,24797)(24793,24797) + PsiElement(LABEL_)('list')(24793,24797) + PsiElement(',')(',')(24797,24798) + PsiWhiteSpace('\n ')(24798,24803) + PsiTypeQLRelatesType(type_constraint) - Name: referencing - Location: (24803,24822)(24803,24835) + PsiElement('relates')('relates')(24803,24810) + PsiWhiteSpace(' ')(24810,24811) + PsiTypeQLElement(type) - Location: (24811,24822)(24811,24822) + PsiTypeQLElement(label) - Location: (24811,24822)(24811,24822) + PsiElement(LABEL_)('referencing')(24811,24822) + PsiWhiteSpace(' ')(24822,24823) + PsiElement('as')('as')(24823,24825) + PsiWhiteSpace(' ')(24825,24826) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24826,24835)(24826,24835) + PsiTypeQLElement(label) - Location: (24826,24835)(24826,24835) + PsiElement(LABEL_)('list-item')(24826,24835) + PsiElement(',')(',')(24835,24836) + PsiWhiteSpace('\n ')(24836,24841) + PsiTypeQLRelatesType(type_constraint) - Name: referenced - Location: (24841,24859)(24841,24868) + PsiElement('relates')('relates')(24841,24848) + PsiWhiteSpace(' ')(24848,24849) + PsiTypeQLElement(type) - Location: (24849,24859)(24849,24859) + PsiTypeQLElement(label) - Location: (24849,24859)(24849,24859) + PsiElement(LABEL_)('referenced')(24849,24859) + PsiWhiteSpace(' ')(24859,24860) + PsiElement('as')('as')(24860,24862) + PsiWhiteSpace(' ')(24862,24863) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24863,24868)(24863,24868) + PsiTypeQLElement(label) - Location: (24863,24868)(24863,24868) + PsiElement(LABEL_)('owner')(24863,24868) + PsiElement(';')(';')(24868,24869) + PsiWhiteSpace('\n\n')(24869,24871) + PsiTypeQLElement(definable) - Location: (24871,24956)(24871,24956) + PsiTypeQLStatementType(statement_type) - Location: (24871,24956)(24871,24956) + PsiTypeQLElement(type_any) - Location: (24871,24888)(24871,24888) + PsiTypeQLType(type) - Name: kill-chain-phases - Location: (24871,24888)(24871,24888) + PsiTypeQLElement(label) - Location: (24871,24888)(24871,24888) + PsiElement(LABEL_)('kill-chain-phases')(24871,24888) + PsiWhiteSpace(' ')(24888,24889) + PsiTypeQLSubType(type_constraint) - Location: (24889,24897)(24889,24897) + PsiElement(SUB_)('sub')(24889,24892) + PsiWhiteSpace(' ')(24892,24893) + PsiTypeQLElement(type_any) - Location: (24893,24897)(24893,24897) + PsiTypeQLElement(type) - Location: (24893,24897)(24893,24897) + PsiTypeQLElement(label) - Location: (24893,24897)(24893,24897) + PsiElement(LABEL_)('list')(24893,24897) + PsiElement(',')(',')(24897,24898) + PsiWhiteSpace('\n ')(24898,24903) + PsiTypeQLRelatesType(type_constraint) - Name: using - Location: (24903,24916)(24903,24929) + PsiElement('relates')('relates')(24903,24910) + PsiWhiteSpace(' ')(24910,24911) + PsiTypeQLElement(type) - Location: (24911,24916)(24911,24916) + PsiTypeQLElement(label) - Location: (24911,24916)(24911,24916) + PsiElement(LABEL_)('using')(24911,24916) + PsiWhiteSpace(' ')(24916,24917) + PsiElement('as')('as')(24917,24919) + PsiWhiteSpace(' ')(24919,24920) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24920,24929)(24920,24929) + PsiTypeQLElement(label) - Location: (24920,24929)(24920,24929) + PsiElement(LABEL_)('list-item')(24920,24929) + PsiElement(',')(',')(24929,24930) + PsiWhiteSpace('\n ')(24930,24935) + PsiTypeQLRelatesType(type_constraint) - Name: used - Location: (24935,24947)(24935,24956) + PsiElement('relates')('relates')(24935,24942) + PsiWhiteSpace(' ')(24942,24943) + PsiTypeQLElement(type) - Location: (24943,24947)(24943,24947) + PsiTypeQLElement(label) - Location: (24943,24947)(24943,24947) + PsiElement(LABEL_)('used')(24943,24947) + PsiWhiteSpace(' ')(24947,24948) + PsiElement('as')('as')(24948,24950) + PsiWhiteSpace(' ')(24950,24951) + PsiTypeQLRelatesAsOverrideType(type) - Location: (24951,24956)(24951,24956) + PsiTypeQLElement(label) - Location: (24951,24956)(24951,24956) + PsiElement(LABEL_)('owner')(24951,24956) + PsiElement(';')(';')(24956,24957) + PsiWhiteSpace('\n\n')(24957,24959) + PsiTypeQLElement(definable) - Location: (24959,25080)(24959,25080) + PsiTypeQLStatementType(statement_type) - Location: (24959,25080)(24959,25080) + PsiTypeQLElement(type_any) - Location: (24959,24971)(24959,24971) + PsiTypeQLType(type) - Name: data-marking - Location: (24959,24971)(24959,24971) + PsiTypeQLElement(label) - Location: (24959,24971)(24959,24971) + PsiElement(LABEL_)('data-marking')(24959,24971) + PsiWhiteSpace(' ')(24971,24972) + PsiTypeQLSubType(type_constraint) - Location: (24972,24980)(24972,24980) + PsiElement(SUB_)('sub')(24972,24975) + PsiWhiteSpace(' ')(24975,24976) + PsiTypeQLElement(type_any) - Location: (24976,24980)(24976,24980) + PsiTypeQLElement(type) - Location: (24976,24980)(24976,24980) + PsiTypeQLElement(label) - Location: (24976,24980)(24976,24980) + PsiElement(LABEL_)('list')(24976,24980) + PsiElement(',')(',')(24980,24981) + PsiWhiteSpace('\n ')(24981,24986) + PsiTypeQLRelatesType(type_constraint) - Name: marking - Location: (24986,25001)(24986,25014) + PsiElement('relates')('relates')(24986,24993) + PsiWhiteSpace(' ')(24993,24994) + PsiTypeQLElement(type) - Location: (24994,25001)(24994,25001) + PsiTypeQLElement(label) - Location: (24994,25001)(24994,25001) + PsiElement(LABEL_)('marking')(24994,25001) + PsiWhiteSpace(' ')(25001,25002) + PsiElement('as')('as')(25002,25004) + PsiWhiteSpace(' ')(25004,25005) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25005,25014)(25005,25014) + PsiTypeQLElement(label) - Location: (25005,25014)(25005,25014) + PsiElement(LABEL_)('list-item')(25005,25014) + PsiElement(',')(',')(25014,25015) + PsiWhiteSpace('\n ')(25015,25020) + PsiTypeQLRelatesType(type_constraint) - Name: marked - Location: (25020,25034)(25020,25043) + PsiElement('relates')('relates')(25020,25027) + PsiWhiteSpace(' ')(25027,25028) + PsiTypeQLElement(type) - Location: (25028,25034)(25028,25034) + PsiTypeQLElement(label) - Location: (25028,25034)(25028,25034) + PsiElement(LABEL_)('marked')(25028,25034) + PsiWhiteSpace(' ')(25034,25035) + PsiElement('as')('as')(25035,25037) + PsiWhiteSpace(' ')(25037,25038) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25038,25043)(25038,25043) + PsiTypeQLElement(label) - Location: (25038,25043)(25038,25043) + PsiElement(LABEL_)('owner')(25038,25043) + PsiElement(',')(',')(25043,25044) + PsiWhiteSpace('\n\n ')(25044,25050) + PsiTypeQLPlaysType(type_constraint) - Location: (25050,25080)(25050,25080) + PsiElement('plays')('plays')(25050,25055) + PsiWhiteSpace(' ')(25055,25056) + PsiTypeQLElement(type_scoped) - Location: (25056,25080)(25056,25080) + PsiTypeQLElement(label_scoped) - Location: (25056,25080)(25056,25080) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(25056,25080) + PsiElement(';')(';')(25080,25081) + PsiWhiteSpace('\n\n')(25081,25083) + PsiTypeQLElement(definable) - Location: (25083,25169)(25083,25169) + PsiTypeQLStatementType(statement_type) - Location: (25083,25169)(25083,25169) + PsiTypeQLElement(type_any) - Location: (25083,25097)(25083,25097) + PsiTypeQLType(type) - Name: object-marking - Location: (25083,25097)(25083,25097) + PsiTypeQLElement(label) - Location: (25083,25097)(25083,25097) + PsiElement(LABEL_)('object-marking')(25083,25097) + PsiWhiteSpace(' ')(25097,25098) + PsiTypeQLSubType(type_constraint) - Location: (25098,25106)(25098,25106) + PsiElement(SUB_)('sub')(25098,25101) + PsiWhiteSpace(' ')(25101,25102) + PsiTypeQLElement(type_any) - Location: (25102,25106)(25102,25106) + PsiTypeQLElement(type) - Location: (25102,25106)(25102,25106) + PsiTypeQLElement(label) - Location: (25102,25106)(25102,25106) + PsiElement(LABEL_)('list')(25102,25106) + PsiElement(',')(',')(25106,25107) + PsiWhiteSpace('\n ')(25107,25112) + PsiTypeQLRelatesType(type_constraint) - Name: marking - Location: (25112,25127)(25112,25140) + PsiElement('relates')('relates')(25112,25119) + PsiWhiteSpace(' ')(25119,25120) + PsiTypeQLElement(type) - Location: (25120,25127)(25120,25127) + PsiTypeQLElement(label) - Location: (25120,25127)(25120,25127) + PsiElement(LABEL_)('marking')(25120,25127) + PsiWhiteSpace(' ')(25127,25128) + PsiElement('as')('as')(25128,25130) + PsiWhiteSpace(' ')(25130,25131) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25131,25140)(25131,25140) + PsiTypeQLElement(label) - Location: (25131,25140)(25131,25140) + PsiElement(LABEL_)('list-item')(25131,25140) + PsiElement(',')(',')(25140,25141) + PsiWhiteSpace('\n ')(25141,25146) + PsiTypeQLRelatesType(type_constraint) - Name: marked - Location: (25146,25160)(25146,25169) + PsiElement('relates')('relates')(25146,25153) + PsiWhiteSpace(' ')(25153,25154) + PsiTypeQLElement(type) - Location: (25154,25160)(25154,25160) + PsiTypeQLElement(label) - Location: (25154,25160)(25154,25160) + PsiElement(LABEL_)('marked')(25154,25160) + PsiWhiteSpace(' ')(25160,25161) + PsiElement('as')('as')(25161,25163) + PsiWhiteSpace(' ')(25163,25164) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25164,25169)(25164,25169) + PsiTypeQLElement(label) - Location: (25164,25169)(25164,25169) + PsiElement(LABEL_)('owner')(25164,25169) + PsiElement(';')(';')(25169,25170) + PsiWhiteSpace('\n\n')(25170,25172) + PsiTypeQLElement(definable) - Location: (25172,25260)(25172,25260) + PsiTypeQLStatementType(statement_type) - Location: (25172,25260)(25172,25260) + PsiTypeQLElement(type_any) - Location: (25172,25188)(25172,25188) + PsiTypeQLType(type) - Name: granular-marking - Location: (25172,25188)(25172,25188) + PsiTypeQLElement(label) - Location: (25172,25188)(25172,25188) + PsiElement(LABEL_)('granular-marking')(25172,25188) + PsiWhiteSpace(' ')(25188,25189) + PsiTypeQLSubType(type_constraint) - Location: (25189,25197)(25189,25197) + PsiElement(SUB_)('sub')(25189,25192) + PsiWhiteSpace(' ')(25192,25193) + PsiTypeQLElement(type_any) - Location: (25193,25197)(25193,25197) + PsiTypeQLElement(type) - Location: (25193,25197)(25193,25197) + PsiTypeQLElement(label) - Location: (25193,25197)(25193,25197) + PsiElement(LABEL_)('list')(25193,25197) + PsiElement(',')(',')(25197,25198) + PsiWhiteSpace('\n ')(25198,25203) + PsiTypeQLRelatesType(type_constraint) - Name: marking - Location: (25203,25218)(25203,25231) + PsiElement('relates')('relates')(25203,25210) + PsiWhiteSpace(' ')(25210,25211) + PsiTypeQLElement(type) - Location: (25211,25218)(25211,25218) + PsiTypeQLElement(label) - Location: (25211,25218)(25211,25218) + PsiElement(LABEL_)('marking')(25211,25218) + PsiWhiteSpace(' ')(25218,25219) + PsiElement('as')('as')(25219,25221) + PsiWhiteSpace(' ')(25221,25222) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25222,25231)(25222,25231) + PsiTypeQLElement(label) - Location: (25222,25231)(25222,25231) + PsiElement(LABEL_)('list-item')(25222,25231) + PsiElement(',')(',')(25231,25232) + PsiWhiteSpace('\n ')(25232,25237) + PsiTypeQLRelatesType(type_constraint) - Name: marked - Location: (25237,25251)(25237,25260) + PsiElement('relates')('relates')(25237,25244) + PsiWhiteSpace(' ')(25244,25245) + PsiTypeQLElement(type) - Location: (25245,25251)(25245,25251) + PsiTypeQLElement(label) - Location: (25245,25251)(25245,25251) + PsiElement(LABEL_)('marked')(25245,25251) + PsiWhiteSpace(' ')(25251,25252) + PsiElement('as')('as')(25252,25254) + PsiWhiteSpace(' ')(25254,25255) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25255,25260)(25255,25260) + PsiTypeQLElement(label) - Location: (25255,25260)(25255,25260) + PsiElement(LABEL_)('owner')(25255,25260) + PsiElement(';')(';')(25260,25261) + PsiWhiteSpace('\n\n')(25261,25263) + PsiTypeQLElement(definable) - Location: (25263,25346)(25263,25346) + PsiTypeQLStatementType(statement_type) - Location: (25263,25346)(25263,25346) + PsiTypeQLElement(type_any) - Location: (25263,25273)(25263,25273) + PsiTypeQLType(type) - Name: created-by - Location: (25263,25273)(25263,25273) + PsiTypeQLElement(label) - Location: (25263,25273)(25263,25273) + PsiElement(LABEL_)('created-by')(25263,25273) + PsiWhiteSpace(' ')(25273,25274) + PsiTypeQLSubType(type_constraint) - Location: (25274,25282)(25274,25282) + PsiElement(SUB_)('sub')(25274,25277) + PsiWhiteSpace(' ')(25277,25278) + PsiTypeQLElement(type_any) - Location: (25278,25282)(25278,25282) + PsiTypeQLElement(type) - Location: (25278,25282)(25278,25282) + PsiTypeQLElement(label) - Location: (25278,25282)(25278,25282) + PsiElement(LABEL_)('list')(25278,25282) + PsiElement(',')(',')(25282,25283) + PsiWhiteSpace('\n ')(25283,25288) + PsiTypeQLRelatesType(type_constraint) - Name: creator - Location: (25288,25303)(25288,25316) + PsiElement('relates')('relates')(25288,25295) + PsiWhiteSpace(' ')(25295,25296) + PsiTypeQLElement(type) - Location: (25296,25303)(25296,25303) + PsiTypeQLElement(label) - Location: (25296,25303)(25296,25303) + PsiElement(LABEL_)('creator')(25296,25303) + PsiWhiteSpace(' ')(25303,25304) + PsiElement('as')('as')(25304,25306) + PsiWhiteSpace(' ')(25306,25307) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25307,25316)(25307,25316) + PsiTypeQLElement(label) - Location: (25307,25316)(25307,25316) + PsiElement(LABEL_)('list-item')(25307,25316) + PsiElement(',')(',')(25316,25317) + PsiWhiteSpace('\n ')(25317,25322) + PsiTypeQLRelatesType(type_constraint) - Name: created - Location: (25322,25337)(25322,25346) + PsiElement('relates')('relates')(25322,25329) + PsiWhiteSpace(' ')(25329,25330) + PsiTypeQLElement(type) - Location: (25330,25337)(25330,25337) + PsiTypeQLElement(label) - Location: (25330,25337)(25330,25337) + PsiElement(LABEL_)('created')(25330,25337) + PsiWhiteSpace(' ')(25337,25338) + PsiElement('as')('as')(25338,25340) + PsiWhiteSpace(' ')(25340,25341) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25341,25346)(25341,25346) + PsiTypeQLElement(label) - Location: (25341,25346)(25341,25346) + PsiElement(LABEL_)('owner')(25341,25346) + PsiElement(';')(';')(25346,25347) + PsiWhiteSpace('\n\n')(25347,25349) + PsiTypeQLElement(definable) - Location: (25349,25441)(25349,25441) + PsiTypeQLStatementType(statement_type) - Location: (25349,25441)(25349,25441) + PsiTypeQLElement(type_any) - Location: (25349,25365)(25349,25365) + PsiTypeQLType(type) - Name: resolves-to-refs - Location: (25349,25365)(25349,25365) + PsiTypeQLElement(label) - Location: (25349,25365)(25349,25365) + PsiElement(LABEL_)('resolves-to-refs')(25349,25365) + PsiWhiteSpace(' ')(25365,25366) + PsiTypeQLSubType(type_constraint) - Location: (25366,25374)(25366,25374) + PsiElement(SUB_)('sub')(25366,25369) + PsiWhiteSpace(' ')(25369,25370) + PsiTypeQLElement(type_any) - Location: (25370,25374)(25370,25374) + PsiTypeQLElement(type) - Location: (25370,25374)(25370,25374) + PsiTypeQLElement(label) - Location: (25370,25374)(25370,25374) + PsiElement(LABEL_)('list')(25370,25374) + PsiElement(',')(',')(25374,25375) + PsiWhiteSpace('\n ')(25375,25380) + PsiTypeQLRelatesType(type_constraint) - Name: resolving - Location: (25380,25397)(25380,25410) + PsiElement('relates')('relates')(25380,25387) + PsiWhiteSpace(' ')(25387,25388) + PsiTypeQLElement(type) - Location: (25388,25397)(25388,25397) + PsiTypeQLElement(label) - Location: (25388,25397)(25388,25397) + PsiElement(LABEL_)('resolving')(25388,25397) + PsiWhiteSpace(' ')(25397,25398) + PsiElement('as')('as')(25398,25400) + PsiWhiteSpace(' ')(25400,25401) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25401,25410)(25401,25410) + PsiTypeQLElement(label) - Location: (25401,25410)(25401,25410) + PsiElement(LABEL_)('list-item')(25401,25410) + PsiElement(',')(',')(25410,25411) + PsiWhiteSpace('\n ')(25411,25416) + PsiTypeQLRelatesType(type_constraint) - Name: resolved - Location: (25416,25432)(25416,25441) + PsiElement('relates')('relates')(25416,25423) + PsiWhiteSpace(' ')(25423,25424) + PsiTypeQLElement(type) - Location: (25424,25432)(25424,25432) + PsiTypeQLElement(label) - Location: (25424,25432)(25424,25432) + PsiElement(LABEL_)('resolved')(25424,25432) + PsiWhiteSpace(' ')(25432,25433) + PsiElement('as')('as')(25433,25435) + PsiWhiteSpace(' ')(25435,25436) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25436,25441)(25436,25441) + PsiTypeQLElement(label) - Location: (25436,25441)(25436,25441) + PsiElement(LABEL_)('owner')(25436,25441) + PsiElement(';')(';')(25441,25442) + PsiWhiteSpace('\n\n')(25442,25444) + PsiTypeQLElement(definable) - Location: (25444,25535)(25444,25535) + PsiTypeQLStatementType(statement_type) - Location: (25444,25535)(25444,25535) + PsiTypeQLElement(type_any) - Location: (25444,25459)(25444,25459) + PsiTypeQLType(type) - Name: belongs-to-refs - Location: (25444,25459)(25444,25459) + PsiTypeQLElement(label) - Location: (25444,25459)(25444,25459) + PsiElement(LABEL_)('belongs-to-refs')(25444,25459) + PsiWhiteSpace(' ')(25459,25460) + PsiTypeQLSubType(type_constraint) - Location: (25460,25468)(25460,25468) + PsiElement(SUB_)('sub')(25460,25463) + PsiWhiteSpace(' ')(25463,25464) + PsiTypeQLElement(type_any) - Location: (25464,25468)(25464,25468) + PsiTypeQLElement(type) - Location: (25464,25468)(25464,25468) + PsiTypeQLElement(label) - Location: (25464,25468)(25464,25468) + PsiElement(LABEL_)('list')(25464,25468) + PsiElement(',')(',')(25468,25469) + PsiWhiteSpace('\n ')(25469,25474) + PsiTypeQLRelatesType(type_constraint) - Name: belonging - Location: (25474,25491)(25474,25504) + PsiElement('relates')('relates')(25474,25481) + PsiWhiteSpace(' ')(25481,25482) + PsiTypeQLElement(type) - Location: (25482,25491)(25482,25491) + PsiTypeQLElement(label) - Location: (25482,25491)(25482,25491) + PsiElement(LABEL_)('belonging')(25482,25491) + PsiWhiteSpace(' ')(25491,25492) + PsiElement('as')('as')(25492,25494) + PsiWhiteSpace(' ')(25494,25495) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25495,25504)(25495,25504) + PsiTypeQLElement(label) - Location: (25495,25504)(25495,25504) + PsiElement(LABEL_)('list-item')(25495,25504) + PsiElement(',')(',')(25504,25505) + PsiWhiteSpace('\n ')(25505,25510) + PsiTypeQLRelatesType(type_constraint) - Name: belonged - Location: (25510,25526)(25510,25535) + PsiElement('relates')('relates')(25510,25517) + PsiWhiteSpace(' ')(25517,25518) + PsiTypeQLElement(type) - Location: (25518,25526)(25518,25526) + PsiTypeQLElement(label) - Location: (25518,25526)(25518,25526) + PsiElement(LABEL_)('belonged')(25518,25526) + PsiWhiteSpace(' ')(25526,25527) + PsiElement('as')('as')(25527,25529) + PsiWhiteSpace(' ')(25529,25530) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25530,25535)(25530,25535) + PsiTypeQLElement(label) - Location: (25530,25535)(25530,25535) + PsiElement(LABEL_)('owner')(25530,25535) + PsiElement(';')(';')(25535,25536) + PsiWhiteSpace('\n\n')(25536,25538) + PsiTypeQLElement(definable) - Location: (25538,25628)(25538,25628) + PsiTypeQLStatementType(statement_type) - Location: (25538,25628)(25538,25628) + PsiTypeQLElement(type_any) - Location: (25538,25550)(25538,25550) + PsiTypeQLType(type) - Name: contains-ref - Location: (25538,25550)(25538,25550) + PsiTypeQLElement(label) - Location: (25538,25550)(25538,25550) + PsiElement(LABEL_)('contains-ref')(25538,25550) + PsiWhiteSpace(' ')(25550,25551) + PsiTypeQLSubType(type_constraint) - Location: (25551,25559)(25551,25559) + PsiElement(SUB_)('sub')(25551,25554) + PsiWhiteSpace(' ')(25554,25555) + PsiTypeQLElement(type_any) - Location: (25555,25559)(25555,25559) + PsiTypeQLElement(type) - Location: (25555,25559)(25555,25559) + PsiTypeQLElement(label) - Location: (25555,25559)(25555,25559) + PsiElement(LABEL_)('list')(25555,25559) + PsiElement(',')(',')(25559,25560) + PsiWhiteSpace('\n ')(25560,25565) + PsiTypeQLRelatesType(type_constraint) - Name: containing - Location: (25565,25583)(25565,25596) + PsiElement('relates')('relates')(25565,25572) + PsiWhiteSpace(' ')(25572,25573) + PsiTypeQLElement(type) - Location: (25573,25583)(25573,25583) + PsiTypeQLElement(label) - Location: (25573,25583)(25573,25583) + PsiElement(LABEL_)('containing')(25573,25583) + PsiWhiteSpace(' ')(25583,25584) + PsiElement('as')('as')(25584,25586) + PsiWhiteSpace(' ')(25586,25587) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25587,25596)(25587,25596) + PsiTypeQLElement(label) - Location: (25587,25596)(25587,25596) + PsiElement(LABEL_)('list-item')(25587,25596) + PsiElement(',')(',')(25596,25597) + PsiWhiteSpace('\n ')(25597,25602) + PsiTypeQLRelatesType(type_constraint) - Name: contained - Location: (25602,25619)(25602,25628) + PsiElement('relates')('relates')(25602,25609) + PsiWhiteSpace(' ')(25609,25610) + PsiTypeQLElement(type) - Location: (25610,25619)(25610,25619) + PsiTypeQLElement(label) - Location: (25610,25619)(25610,25619) + PsiElement(LABEL_)('contained')(25610,25619) + PsiWhiteSpace(' ')(25619,25620) + PsiElement('as')('as')(25620,25622) + PsiWhiteSpace(' ')(25622,25623) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25623,25628)(25623,25628) + PsiTypeQLElement(label) - Location: (25623,25628)(25623,25628) + PsiElement(LABEL_)('owner')(25623,25628) + PsiElement(';')(';')(25628,25629) + PsiWhiteSpace('\n\n')(25629,25631) + PsiTypeQLElement(definable) - Location: (25631,25703)(25631,25703) + PsiTypeQLStatementType(statement_type) - Location: (25631,25703)(25631,25703) + PsiTypeQLElement(type_any) - Location: (25631,25638)(25631,25638) + PsiTypeQLType(type) - Name: to-refs - Location: (25631,25638)(25631,25638) + PsiTypeQLElement(label) - Location: (25631,25638)(25631,25638) + PsiElement(LABEL_)('to-refs')(25631,25638) + PsiWhiteSpace(' ')(25638,25639) + PsiTypeQLSubType(type_constraint) - Location: (25639,25647)(25639,25647) + PsiElement(SUB_)('sub')(25639,25642) + PsiWhiteSpace(' ')(25642,25643) + PsiTypeQLElement(type_any) - Location: (25643,25647)(25643,25647) + PsiTypeQLElement(type) - Location: (25643,25647)(25643,25647) + PsiTypeQLElement(label) - Location: (25643,25647)(25643,25647) + PsiElement(LABEL_)('list')(25643,25647) + PsiElement(',')(',')(25647,25648) + PsiWhiteSpace('\n ')(25648,25653) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (25653,25663)(25653,25676) + PsiElement('relates')('relates')(25653,25660) + PsiWhiteSpace(' ')(25660,25661) + PsiTypeQLElement(type) - Location: (25661,25663)(25661,25663) + PsiTypeQLElement(label) - Location: (25661,25663)(25661,25663) + PsiElement(LABEL_)('to')(25661,25663) + PsiWhiteSpace(' ')(25663,25664) + PsiElement('as')('as')(25664,25666) + PsiWhiteSpace(' ')(25666,25667) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25667,25676)(25667,25676) + PsiTypeQLElement(label) - Location: (25667,25676)(25667,25676) + PsiElement(LABEL_)('list-item')(25667,25676) + PsiElement(',')(',')(25676,25677) + PsiWhiteSpace('\n ')(25677,25682) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (25682,25694)(25682,25703) + PsiElement('relates')('relates')(25682,25689) + PsiWhiteSpace(' ')(25689,25690) + PsiTypeQLElement(type) - Location: (25690,25694)(25690,25694) + PsiTypeQLElement(label) - Location: (25690,25694)(25690,25694) + PsiElement(LABEL_)('from')(25690,25694) + PsiWhiteSpace(' ')(25694,25695) + PsiElement('as')('as')(25695,25697) + PsiWhiteSpace(' ')(25697,25698) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25698,25703)(25698,25703) + PsiTypeQLElement(label) - Location: (25698,25703)(25698,25703) + PsiElement(LABEL_)('owner')(25698,25703) + PsiElement(';')(';')(25703,25704) + PsiWhiteSpace('\n\n')(25704,25706) + PsiTypeQLElement(definable) - Location: (25706,25778)(25706,25778) + PsiTypeQLStatementType(statement_type) - Location: (25706,25778)(25706,25778) + PsiTypeQLElement(type_any) - Location: (25706,25713)(25706,25713) + PsiTypeQLType(type) - Name: cc-refs - Location: (25706,25713)(25706,25713) + PsiTypeQLElement(label) - Location: (25706,25713)(25706,25713) + PsiElement(LABEL_)('cc-refs')(25706,25713) + PsiWhiteSpace(' ')(25713,25714) + PsiTypeQLSubType(type_constraint) - Location: (25714,25722)(25714,25722) + PsiElement(SUB_)('sub')(25714,25717) + PsiWhiteSpace(' ')(25717,25718) + PsiTypeQLElement(type_any) - Location: (25718,25722)(25718,25722) + PsiTypeQLElement(type) - Location: (25718,25722)(25718,25722) + PsiTypeQLElement(label) - Location: (25718,25722)(25718,25722) + PsiElement(LABEL_)('list')(25718,25722) + PsiElement(',')(',')(25722,25723) + PsiWhiteSpace('\n ')(25723,25728) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (25728,25738)(25728,25751) + PsiElement('relates')('relates')(25728,25735) + PsiWhiteSpace(' ')(25735,25736) + PsiTypeQLElement(type) - Location: (25736,25738)(25736,25738) + PsiTypeQLElement(label) - Location: (25736,25738)(25736,25738) + PsiElement(LABEL_)('to')(25736,25738) + PsiWhiteSpace(' ')(25738,25739) + PsiElement('as')('as')(25739,25741) + PsiWhiteSpace(' ')(25741,25742) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25742,25751)(25742,25751) + PsiTypeQLElement(label) - Location: (25742,25751)(25742,25751) + PsiElement(LABEL_)('list-item')(25742,25751) + PsiElement(',')(',')(25751,25752) + PsiWhiteSpace('\n ')(25752,25757) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (25757,25769)(25757,25778) + PsiElement('relates')('relates')(25757,25764) + PsiWhiteSpace(' ')(25764,25765) + PsiTypeQLElement(type) - Location: (25765,25769)(25765,25769) + PsiTypeQLElement(label) - Location: (25765,25769)(25765,25769) + PsiElement(LABEL_)('from')(25765,25769) + PsiWhiteSpace(' ')(25769,25770) + PsiElement('as')('as')(25770,25772) + PsiWhiteSpace(' ')(25772,25773) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25773,25778)(25773,25778) + PsiTypeQLElement(label) - Location: (25773,25778)(25773,25778) + PsiElement(LABEL_)('owner')(25773,25778) + PsiElement(';')(';')(25778,25779) + PsiWhiteSpace('\n\n')(25779,25781) + PsiTypeQLElement(definable) - Location: (25781,25854)(25781,25854) + PsiTypeQLStatementType(statement_type) - Location: (25781,25854)(25781,25854) + PsiTypeQLElement(type_any) - Location: (25781,25789)(25781,25789) + PsiTypeQLType(type) - Name: bcc-refs - Location: (25781,25789)(25781,25789) + PsiTypeQLElement(label) - Location: (25781,25789)(25781,25789) + PsiElement(LABEL_)('bcc-refs')(25781,25789) + PsiWhiteSpace(' ')(25789,25790) + PsiTypeQLSubType(type_constraint) - Location: (25790,25798)(25790,25798) + PsiElement(SUB_)('sub')(25790,25793) + PsiWhiteSpace(' ')(25793,25794) + PsiTypeQLElement(type_any) - Location: (25794,25798)(25794,25798) + PsiTypeQLElement(type) - Location: (25794,25798)(25794,25798) + PsiTypeQLElement(label) - Location: (25794,25798)(25794,25798) + PsiElement(LABEL_)('list')(25794,25798) + PsiElement(',')(',')(25798,25799) + PsiWhiteSpace('\n ')(25799,25804) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (25804,25814)(25804,25827) + PsiElement('relates')('relates')(25804,25811) + PsiWhiteSpace(' ')(25811,25812) + PsiTypeQLElement(type) - Location: (25812,25814)(25812,25814) + PsiTypeQLElement(label) - Location: (25812,25814)(25812,25814) + PsiElement(LABEL_)('to')(25812,25814) + PsiWhiteSpace(' ')(25814,25815) + PsiElement('as')('as')(25815,25817) + PsiWhiteSpace(' ')(25817,25818) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25818,25827)(25818,25827) + PsiTypeQLElement(label) - Location: (25818,25827)(25818,25827) + PsiElement(LABEL_)('list-item')(25818,25827) + PsiElement(',')(',')(25827,25828) + PsiWhiteSpace('\n ')(25828,25833) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (25833,25845)(25833,25854) + PsiElement('relates')('relates')(25833,25840) + PsiWhiteSpace(' ')(25840,25841) + PsiTypeQLElement(type) - Location: (25841,25845)(25841,25845) + PsiTypeQLElement(label) - Location: (25841,25845)(25841,25845) + PsiElement(LABEL_)('from')(25841,25845) + PsiWhiteSpace(' ')(25845,25846) + PsiElement('as')('as')(25846,25848) + PsiWhiteSpace(' ')(25848,25849) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25849,25854)(25849,25854) + PsiTypeQLElement(label) - Location: (25849,25854)(25849,25854) + PsiElement(LABEL_)('owner')(25849,25854) + PsiElement(';')(';')(25854,25855) + PsiWhiteSpace('\n\n')(25855,25857) + PsiTypeQLElement(definable) - Location: (25857,25936)(25857,25936) + PsiTypeQLStatementType(statement_type) - Location: (25857,25936)(25857,25936) + PsiTypeQLElement(type_any) - Location: (25857,25871)(25857,25871) + PsiTypeQLType(type) - Name: body-multipart - Location: (25857,25871)(25857,25871) + PsiTypeQLElement(label) - Location: (25857,25871)(25857,25871) + PsiElement(LABEL_)('body-multipart')(25857,25871) + PsiWhiteSpace(' ')(25871,25872) + PsiTypeQLSubType(type_constraint) - Location: (25872,25880)(25872,25880) + PsiElement(SUB_)('sub')(25872,25875) + PsiWhiteSpace(' ')(25875,25876) + PsiTypeQLElement(type_any) - Location: (25876,25880)(25876,25880) + PsiTypeQLElement(type) - Location: (25876,25880)(25876,25880) + PsiTypeQLElement(label) - Location: (25876,25880)(25876,25880) + PsiElement(LABEL_)('list')(25876,25880) + PsiElement(',')(',')(25880,25881) + PsiWhiteSpace('\n ')(25881,25886) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (25886,25896)(25886,25909) + PsiElement('relates')('relates')(25886,25893) + PsiWhiteSpace(' ')(25893,25894) + PsiTypeQLElement(type) - Location: (25894,25896)(25894,25896) + PsiTypeQLElement(label) - Location: (25894,25896)(25894,25896) + PsiElement(LABEL_)('to')(25894,25896) + PsiWhiteSpace(' ')(25896,25897) + PsiElement('as')('as')(25897,25899) + PsiWhiteSpace(' ')(25899,25900) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25900,25909)(25900,25909) + PsiTypeQLElement(label) - Location: (25900,25909)(25900,25909) + PsiElement(LABEL_)('list-item')(25900,25909) + PsiElement(',')(',')(25909,25910) + PsiWhiteSpace('\n ')(25910,25915) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (25915,25927)(25915,25936) + PsiElement('relates')('relates')(25915,25922) + PsiWhiteSpace(' ')(25922,25923) + PsiTypeQLElement(type) - Location: (25923,25927)(25923,25927) + PsiTypeQLElement(label) - Location: (25923,25927)(25923,25927) + PsiElement(LABEL_)('from')(25923,25927) + PsiWhiteSpace(' ')(25927,25928) + PsiElement('as')('as')(25928,25930) + PsiWhiteSpace(' ')(25930,25931) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25931,25936)(25931,25936) + PsiTypeQLElement(label) - Location: (25931,25936)(25931,25936) + PsiElement(LABEL_)('owner')(25931,25936) + PsiElement(';')(';')(25936,25937) + PsiWhiteSpace('\n\n')(25937,25939) + PsiTypeQLElement(definable) - Location: (25939,26026)(25939,26026) + PsiTypeQLStatementType(statement_type) - Location: (25939,26026)(25939,26026) + PsiTypeQLElement(type_any) - Location: (25939,25961)(25939,25961) + PsiTypeQLType(type) - Name: alternate-data-streams - Location: (25939,25961)(25939,25961) + PsiTypeQLElement(label) - Location: (25939,25961)(25939,25961) + PsiElement(LABEL_)('alternate-data-streams')(25939,25961) + PsiWhiteSpace(' ')(25961,25962) + PsiTypeQLSubType(type_constraint) - Location: (25962,25970)(25962,25970) + PsiElement(SUB_)('sub')(25962,25965) + PsiWhiteSpace(' ')(25965,25966) + PsiTypeQLElement(type_any) - Location: (25966,25970)(25966,25970) + PsiTypeQLElement(type) - Location: (25966,25970)(25966,25970) + PsiTypeQLElement(label) - Location: (25966,25970)(25966,25970) + PsiElement(LABEL_)('list')(25966,25970) + PsiElement(',')(',')(25970,25971) + PsiWhiteSpace('\n ')(25971,25976) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (25976,25986)(25976,25999) + PsiElement('relates')('relates')(25976,25983) + PsiWhiteSpace(' ')(25983,25984) + PsiTypeQLElement(type) - Location: (25984,25986)(25984,25986) + PsiTypeQLElement(label) - Location: (25984,25986)(25984,25986) + PsiElement(LABEL_)('to')(25984,25986) + PsiWhiteSpace(' ')(25986,25987) + PsiElement('as')('as')(25987,25989) + PsiWhiteSpace(' ')(25989,25990) + PsiTypeQLRelatesAsOverrideType(type) - Location: (25990,25999)(25990,25999) + PsiTypeQLElement(label) - Location: (25990,25999)(25990,25999) + PsiElement(LABEL_)('list-item')(25990,25999) + PsiElement(',')(',')(25999,26000) + PsiWhiteSpace('\n ')(26000,26005) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (26005,26017)(26005,26026) + PsiElement('relates')('relates')(26005,26012) + PsiWhiteSpace(' ')(26012,26013) + PsiTypeQLElement(type) - Location: (26013,26017)(26013,26017) + PsiTypeQLElement(label) - Location: (26013,26017)(26013,26017) + PsiElement(LABEL_)('from')(26013,26017) + PsiWhiteSpace(' ')(26017,26018) + PsiElement('as')('as')(26018,26020) + PsiWhiteSpace(' ')(26020,26021) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26021,26026)(26021,26026) + PsiTypeQLElement(label) - Location: (26021,26026)(26021,26026) + PsiElement(LABEL_)('owner')(26021,26026) + PsiElement(';')(';')(26026,26027) + PsiWhiteSpace('\n\n')(26027,26029) + PsiTypeQLElement(definable) - Location: (26029,26102)(26029,26102) + PsiTypeQLStatementType(statement_type) - Location: (26029,26102)(26029,26102) + PsiTypeQLElement(type_any) - Location: (26029,26037)(26029,26037) + PsiTypeQLType(type) - Name: sections - Location: (26029,26037)(26029,26037) + PsiTypeQLElement(label) - Location: (26029,26037)(26029,26037) + PsiElement(LABEL_)('sections')(26029,26037) + PsiWhiteSpace(' ')(26037,26038) + PsiTypeQLSubType(type_constraint) - Location: (26038,26046)(26038,26046) + PsiElement(SUB_)('sub')(26038,26041) + PsiWhiteSpace(' ')(26041,26042) + PsiTypeQLElement(type_any) - Location: (26042,26046)(26042,26046) + PsiTypeQLElement(type) - Location: (26042,26046)(26042,26046) + PsiTypeQLElement(label) - Location: (26042,26046)(26042,26046) + PsiElement(LABEL_)('list')(26042,26046) + PsiElement(',')(',')(26046,26047) + PsiWhiteSpace('\n ')(26047,26052) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (26052,26062)(26052,26075) + PsiElement('relates')('relates')(26052,26059) + PsiWhiteSpace(' ')(26059,26060) + PsiTypeQLElement(type) - Location: (26060,26062)(26060,26062) + PsiTypeQLElement(label) - Location: (26060,26062)(26060,26062) + PsiElement(LABEL_)('to')(26060,26062) + PsiWhiteSpace(' ')(26062,26063) + PsiElement('as')('as')(26063,26065) + PsiWhiteSpace(' ')(26065,26066) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26066,26075)(26066,26075) + PsiTypeQLElement(label) - Location: (26066,26075)(26066,26075) + PsiElement(LABEL_)('list-item')(26066,26075) + PsiElement(',')(',')(26075,26076) + PsiWhiteSpace('\n ')(26076,26081) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (26081,26093)(26081,26102) + PsiElement('relates')('relates')(26081,26088) + PsiWhiteSpace(' ')(26088,26089) + PsiTypeQLElement(type) - Location: (26089,26093)(26089,26093) + PsiTypeQLElement(label) - Location: (26089,26093)(26089,26093) + PsiElement(LABEL_)('from')(26089,26093) + PsiWhiteSpace(' ')(26093,26094) + PsiElement('as')('as')(26094,26096) + PsiWhiteSpace(' ')(26096,26097) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26097,26102)(26097,26102) + PsiTypeQLElement(label) - Location: (26097,26102)(26097,26102) + PsiElement(LABEL_)('owner')(26097,26102) + PsiElement(';')(';')(26102,26103) + PsiWhiteSpace('\n\n')(26103,26105) + PsiTypeQLElement(definable) - Location: (26105,26179)(26105,26179) + PsiTypeQLStatementType(statement_type) - Location: (26105,26179)(26105,26179) + PsiTypeQLElement(type_any) - Location: (26105,26114)(26105,26114) + PsiTypeQLType(type) - Name: protocols - Location: (26105,26114)(26105,26114) + PsiTypeQLElement(label) - Location: (26105,26114)(26105,26114) + PsiElement(LABEL_)('protocols')(26105,26114) + PsiWhiteSpace(' ')(26114,26115) + PsiTypeQLSubType(type_constraint) - Location: (26115,26123)(26115,26123) + PsiElement(SUB_)('sub')(26115,26118) + PsiWhiteSpace(' ')(26118,26119) + PsiTypeQLElement(type_any) - Location: (26119,26123)(26119,26123) + PsiTypeQLElement(type) - Location: (26119,26123)(26119,26123) + PsiTypeQLElement(label) - Location: (26119,26123)(26119,26123) + PsiElement(LABEL_)('list')(26119,26123) + PsiElement(',')(',')(26123,26124) + PsiWhiteSpace('\n ')(26124,26129) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (26129,26139)(26129,26152) + PsiElement('relates')('relates')(26129,26136) + PsiWhiteSpace(' ')(26136,26137) + PsiTypeQLElement(type) - Location: (26137,26139)(26137,26139) + PsiTypeQLElement(label) - Location: (26137,26139)(26137,26139) + PsiElement(LABEL_)('to')(26137,26139) + PsiWhiteSpace(' ')(26139,26140) + PsiElement('as')('as')(26140,26142) + PsiWhiteSpace(' ')(26142,26143) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26143,26152)(26143,26152) + PsiTypeQLElement(label) - Location: (26143,26152)(26143,26152) + PsiElement(LABEL_)('list-item')(26143,26152) + PsiElement(',')(',')(26152,26153) + PsiWhiteSpace('\n ')(26153,26158) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (26158,26170)(26158,26179) + PsiElement('relates')('relates')(26158,26165) + PsiWhiteSpace(' ')(26165,26166) + PsiTypeQLElement(type) - Location: (26166,26170)(26166,26170) + PsiTypeQLElement(label) - Location: (26166,26170)(26166,26170) + PsiElement(LABEL_)('from')(26166,26170) + PsiWhiteSpace(' ')(26170,26171) + PsiElement('as')('as')(26171,26173) + PsiWhiteSpace(' ')(26173,26174) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26174,26179)(26174,26179) + PsiTypeQLElement(label) - Location: (26174,26179)(26174,26179) + PsiElement(LABEL_)('owner')(26174,26179) + PsiElement(';')(';')(26179,26180) + PsiWhiteSpace('\n\n')(26180,26182) + PsiTypeQLElement(definable) - Location: (26182,26283)(26182,26283) + PsiTypeQLStatementType(statement_type) - Location: (26182,26283)(26182,26283) + PsiTypeQLElement(type_any) - Location: (26182,26199)(26182,26199) + PsiTypeQLType(type) - Name: encapsulates-refs - Location: (26182,26199)(26182,26199) + PsiTypeQLElement(label) - Location: (26182,26199)(26182,26199) + PsiElement(LABEL_)('encapsulates-refs')(26182,26199) + PsiWhiteSpace(' ')(26199,26200) + PsiTypeQLSubType(type_constraint) - Location: (26200,26208)(26200,26208) + PsiElement(SUB_)('sub')(26200,26203) + PsiWhiteSpace(' ')(26203,26204) + PsiTypeQLElement(type_any) - Location: (26204,26208)(26204,26208) + PsiTypeQLElement(type) - Location: (26204,26208)(26204,26208) + PsiTypeQLElement(label) - Location: (26204,26208)(26204,26208) + PsiElement(LABEL_)('list')(26204,26208) + PsiElement(',')(',')(26208,26209) + PsiWhiteSpace('\n ')(26209,26214) + PsiTypeQLRelatesType(type_constraint) - Name: encapsulating - Location: (26214,26235)(26214,26248) + PsiElement('relates')('relates')(26214,26221) + PsiWhiteSpace(' ')(26221,26222) + PsiTypeQLElement(type) - Location: (26222,26235)(26222,26235) + PsiTypeQLElement(label) - Location: (26222,26235)(26222,26235) + PsiElement(LABEL_)('encapsulating')(26222,26235) + PsiWhiteSpace(' ')(26235,26236) + PsiElement('as')('as')(26236,26238) + PsiWhiteSpace(' ')(26238,26239) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26239,26248)(26239,26248) + PsiTypeQLElement(label) - Location: (26239,26248)(26239,26248) + PsiElement(LABEL_)('list-item')(26239,26248) + PsiElement(',')(',')(26248,26249) + PsiWhiteSpace('\n ')(26249,26254) + PsiTypeQLRelatesType(type_constraint) - Name: encapsulated - Location: (26254,26274)(26254,26283) + PsiElement('relates')('relates')(26254,26261) + PsiWhiteSpace(' ')(26261,26262) + PsiTypeQLElement(type) - Location: (26262,26274)(26262,26274) + PsiTypeQLElement(label) - Location: (26262,26274)(26262,26274) + PsiElement(LABEL_)('encapsulated')(26262,26274) + PsiWhiteSpace(' ')(26274,26275) + PsiElement('as')('as')(26275,26277) + PsiWhiteSpace(' ')(26277,26278) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26278,26283)(26278,26283) + PsiTypeQLElement(label) - Location: (26278,26283)(26278,26283) + PsiElement(LABEL_)('owner')(26278,26283) + PsiElement(';')(';')(26283,26284) + PsiWhiteSpace('\n\n')(26284,26286) + PsiTypeQLElement(definable) - Location: (26286,26380)(26286,26380) + PsiTypeQLStatementType(statement_type) - Location: (26286,26380)(26286,26380) + PsiTypeQLElement(type_any) - Location: (26286,26308)(26286,26308) + PsiTypeQLType(type) - Name: opened-connection-refs - Location: (26286,26308)(26286,26308) + PsiTypeQLElement(label) - Location: (26286,26308)(26286,26308) + PsiElement(LABEL_)('opened-connection-refs')(26286,26308) + PsiWhiteSpace(' ')(26308,26309) + PsiTypeQLSubType(type_constraint) - Location: (26309,26317)(26309,26317) + PsiElement(SUB_)('sub')(26309,26312) + PsiWhiteSpace(' ')(26312,26313) + PsiTypeQLElement(type_any) - Location: (26313,26317)(26313,26317) + PsiTypeQLElement(type) - Location: (26313,26317)(26313,26317) + PsiTypeQLElement(label) - Location: (26313,26317)(26313,26317) + PsiElement(LABEL_)('list')(26313,26317) + PsiElement(',')(',')(26317,26318) + PsiWhiteSpace('\n ')(26318,26323) + PsiTypeQLRelatesType(type_constraint) - Name: opening - Location: (26323,26338)(26323,26351) + PsiElement('relates')('relates')(26323,26330) + PsiWhiteSpace(' ')(26330,26331) + PsiTypeQLElement(type) - Location: (26331,26338)(26331,26338) + PsiTypeQLElement(label) - Location: (26331,26338)(26331,26338) + PsiElement(LABEL_)('opening')(26331,26338) + PsiWhiteSpace(' ')(26338,26339) + PsiElement('as')('as')(26339,26341) + PsiWhiteSpace(' ')(26341,26342) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26342,26351)(26342,26351) + PsiTypeQLElement(label) - Location: (26342,26351)(26342,26351) + PsiElement(LABEL_)('list-item')(26342,26351) + PsiElement(',')(',')(26351,26352) + PsiWhiteSpace('\n ')(26352,26357) + PsiTypeQLRelatesType(type_constraint) - Name: opened - Location: (26357,26371)(26357,26380) + PsiElement('relates')('relates')(26357,26364) + PsiWhiteSpace(' ')(26364,26365) + PsiTypeQLElement(type) - Location: (26365,26371)(26365,26371) + PsiTypeQLElement(label) - Location: (26365,26371)(26365,26371) + PsiElement(LABEL_)('opened')(26365,26371) + PsiWhiteSpace(' ')(26371,26372) + PsiElement('as')('as')(26372,26374) + PsiWhiteSpace(' ')(26374,26375) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26375,26380)(26375,26380) + PsiTypeQLElement(label) - Location: (26375,26380)(26375,26380) + PsiElement(LABEL_)('owner')(26375,26380) + PsiElement(';')(';')(26380,26381) + PsiWhiteSpace('\n\n')(26381,26383) + PsiTypeQLElement(definable) - Location: (26383,26463)(26383,26463) + PsiTypeQLStatementType(statement_type) - Location: (26383,26463)(26383,26463) + PsiTypeQLElement(type_any) - Location: (26383,26393)(26383,26393) + PsiTypeQLType(type) - Name: child-refs - Location: (26383,26393)(26383,26393) + PsiTypeQLElement(label) - Location: (26383,26393)(26383,26393) + PsiElement(LABEL_)('child-refs')(26383,26393) + PsiWhiteSpace(' ')(26393,26394) + PsiTypeQLSubType(type_constraint) - Location: (26394,26402)(26394,26402) + PsiElement(SUB_)('sub')(26394,26397) + PsiWhiteSpace(' ')(26397,26398) + PsiTypeQLElement(type_any) - Location: (26398,26402)(26398,26402) + PsiTypeQLElement(type) - Location: (26398,26402)(26398,26402) + PsiTypeQLElement(label) - Location: (26398,26402)(26398,26402) + PsiElement(LABEL_)('list')(26398,26402) + PsiElement(',')(',')(26402,26403) + PsiWhiteSpace('\n ')(26403,26408) + PsiTypeQLRelatesType(type_constraint) - Name: child - Location: (26408,26421)(26408,26434) + PsiElement('relates')('relates')(26408,26415) + PsiWhiteSpace(' ')(26415,26416) + PsiTypeQLElement(type) - Location: (26416,26421)(26416,26421) + PsiTypeQLElement(label) - Location: (26416,26421)(26416,26421) + PsiElement(LABEL_)('child')(26416,26421) + PsiWhiteSpace(' ')(26421,26422) + PsiElement('as')('as')(26422,26424) + PsiWhiteSpace(' ')(26424,26425) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26425,26434)(26425,26434) + PsiTypeQLElement(label) - Location: (26425,26434)(26425,26434) + PsiElement(LABEL_)('list-item')(26425,26434) + PsiElement(',')(',')(26434,26435) + PsiWhiteSpace('\n ')(26435,26440) + PsiTypeQLRelatesType(type_constraint) - Name: parent - Location: (26440,26454)(26440,26463) + PsiElement('relates')('relates')(26440,26447) + PsiWhiteSpace(' ')(26447,26448) + PsiTypeQLElement(type) - Location: (26448,26454)(26448,26454) + PsiTypeQLElement(label) - Location: (26448,26454)(26448,26454) + PsiElement(LABEL_)('parent')(26448,26454) + PsiWhiteSpace(' ')(26454,26455) + PsiElement('as')('as')(26455,26457) + PsiWhiteSpace(' ')(26457,26458) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26458,26463)(26458,26463) + PsiTypeQLElement(label) - Location: (26458,26463)(26458,26463) + PsiElement(LABEL_)('owner')(26458,26463) + PsiElement(';')(';')(26463,26464) + PsiWhiteSpace('\n\n')(26464,26466) + PsiTypeQLElement(definable) - Location: (26466,26547)(26466,26547) + PsiTypeQLStatementType(statement_type) - Location: (26466,26547)(26466,26547) + PsiTypeQLElement(type_any) - Location: (26466,26482)(26466,26482) + PsiTypeQLType(type) - Name: service-dll-refs - Location: (26466,26482)(26466,26482) + PsiTypeQLElement(label) - Location: (26466,26482)(26466,26482) + PsiElement(LABEL_)('service-dll-refs')(26466,26482) + PsiWhiteSpace(' ')(26482,26483) + PsiTypeQLSubType(type_constraint) - Location: (26483,26491)(26483,26491) + PsiElement(SUB_)('sub')(26483,26486) + PsiWhiteSpace(' ')(26486,26487) + PsiTypeQLElement(type_any) - Location: (26487,26491)(26487,26491) + PsiTypeQLElement(type) - Location: (26487,26491)(26487,26491) + PsiTypeQLElement(label) - Location: (26487,26491)(26487,26491) + PsiElement(LABEL_)('list')(26487,26491) + PsiElement(',')(',')(26491,26492) + PsiWhiteSpace('\n ')(26492,26497) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (26497,26507)(26497,26520) + PsiElement('relates')('relates')(26497,26504) + PsiWhiteSpace(' ')(26504,26505) + PsiTypeQLElement(type) - Location: (26505,26507)(26505,26507) + PsiTypeQLElement(label) - Location: (26505,26507)(26505,26507) + PsiElement(LABEL_)('to')(26505,26507) + PsiWhiteSpace(' ')(26507,26508) + PsiElement('as')('as')(26508,26510) + PsiWhiteSpace(' ')(26510,26511) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26511,26520)(26511,26520) + PsiTypeQLElement(label) - Location: (26511,26520)(26511,26520) + PsiElement(LABEL_)('list-item')(26511,26520) + PsiElement(',')(',')(26520,26521) + PsiWhiteSpace('\n ')(26521,26526) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (26526,26538)(26526,26547) + PsiElement('relates')('relates')(26526,26533) + PsiWhiteSpace(' ')(26533,26534) + PsiTypeQLElement(type) - Location: (26534,26538)(26534,26538) + PsiTypeQLElement(label) - Location: (26534,26538)(26534,26538) + PsiElement(LABEL_)('from')(26534,26538) + PsiWhiteSpace(' ')(26538,26539) + PsiElement('as')('as')(26539,26541) + PsiWhiteSpace(' ')(26541,26542) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26542,26547)(26542,26547) + PsiTypeQLElement(label) - Location: (26542,26547)(26542,26547) + PsiElement(LABEL_)('owner')(26542,26547) + PsiElement(';')(';')(26547,26548) + PsiWhiteSpace('\n\n\n')(26548,26551) + PsiTypeQLElement(definable) - Location: (26551,26622)(26551,26622) + PsiTypeQLStatementType(statement_type) - Location: (26551,26622)(26551,26622) + PsiTypeQLElement(type_any) - Location: (26551,26557)(26551,26557) + PsiTypeQLType(type) - Name: values - Location: (26551,26557)(26551,26557) + PsiTypeQLElement(label) - Location: (26551,26557)(26551,26557) + PsiElement(LABEL_)('values')(26551,26557) + PsiWhiteSpace(' ')(26557,26558) + PsiTypeQLSubType(type_constraint) - Location: (26558,26566)(26558,26566) + PsiElement(SUB_)('sub')(26558,26561) + PsiWhiteSpace(' ')(26561,26562) + PsiTypeQLElement(type_any) - Location: (26562,26566)(26562,26566) + PsiTypeQLElement(type) - Location: (26562,26566)(26562,26566) + PsiTypeQLElement(label) - Location: (26562,26566)(26562,26566) + PsiElement(LABEL_)('list')(26562,26566) + PsiElement(',')(',')(26566,26567) + PsiWhiteSpace('\n ')(26567,26572) + PsiTypeQLRelatesType(type_constraint) - Name: to - Location: (26572,26582)(26572,26595) + PsiElement('relates')('relates')(26572,26579) + PsiWhiteSpace(' ')(26579,26580) + PsiTypeQLElement(type) - Location: (26580,26582)(26580,26582) + PsiTypeQLElement(label) - Location: (26580,26582)(26580,26582) + PsiElement(LABEL_)('to')(26580,26582) + PsiWhiteSpace(' ')(26582,26583) + PsiElement('as')('as')(26583,26585) + PsiWhiteSpace(' ')(26585,26586) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26586,26595)(26586,26595) + PsiTypeQLElement(label) - Location: (26586,26595)(26586,26595) + PsiElement(LABEL_)('list-item')(26586,26595) + PsiElement(',')(',')(26595,26596) + PsiWhiteSpace('\n ')(26596,26601) + PsiTypeQLRelatesType(type_constraint) - Name: from - Location: (26601,26613)(26601,26622) + PsiElement('relates')('relates')(26601,26608) + PsiWhiteSpace(' ')(26608,26609) + PsiTypeQLElement(type) - Location: (26609,26613)(26609,26613) + PsiTypeQLElement(label) - Location: (26609,26613)(26609,26613) + PsiElement(LABEL_)('from')(26609,26613) + PsiWhiteSpace(' ')(26613,26614) + PsiElement('as')('as')(26614,26616) + PsiWhiteSpace(' ')(26616,26617) + PsiTypeQLRelatesAsOverrideType(type) - Location: (26617,26622)(26617,26622) + PsiTypeQLElement(label) - Location: (26617,26622)(26617,26622) + PsiElement(LABEL_)('owner')(26617,26622) + PsiElement(';')(';')(26622,26623) + PsiWhiteSpace('\n\n')(26623,26625) + PsiTypeQLElement(definable) - Location: (26625,26655)(26625,26655) + PsiTypeQLStatementType(statement_type) - Location: (26625,26655)(26625,26655) + PsiTypeQLElement(type_any) - Location: (26625,26639)(26625,26639) + PsiTypeQLType(type) - Name: received-lines - Location: (26625,26639)(26625,26639) + PsiTypeQLElement(label) - Location: (26625,26639)(26625,26639) + PsiElement(LABEL_)('received-lines')(26625,26639) + PsiWhiteSpace(' ')(26639,26640) + PsiTypeQLSubType(type_constraint) - Location: (26640,26655)(26640,26655) + PsiElement(SUB_)('sub')(26640,26643) + PsiWhiteSpace(' ')(26643,26644) + PsiTypeQLElement(type_any) - Location: (26644,26655)(26644,26655) + PsiTypeQLElement(type) - Location: (26644,26655)(26644,26655) + PsiTypeQLElement(label) - Location: (26644,26655)(26644,26655) + PsiElement(LABEL_)('linked-list')(26644,26655) + PsiElement(';')(';')(26655,26656) + PsiWhiteSpace('\n\n')(26656,26658) + PsiTypeQLElement(definable) - Location: (26658,26762)(26658,26762) + PsiTypeQLStatementType(statement_type) - Location: (26658,26762)(26658,26762) + PsiTypeQLElement(type_any) - Location: (26658,26679)(26658,26679) + PsiTypeQLType(type) - Name: stix-attribute-string - Location: (26658,26679)(26658,26679) + PsiTypeQLElement(label) - Location: (26658,26679)(26658,26679) + PsiElement(LABEL_)('stix-attribute-string')(26658,26679) + PsiWhiteSpace(' ')(26679,26680) + PsiTypeQLElement(type_constraint) - Location: (26680,26693)(26680,26693) + PsiElement(SUB_)('sub')(26680,26683) + PsiWhiteSpace(' ')(26683,26684) + PsiTypeQLElement(type_any) - Location: (26684,26693)(26684,26693) + PsiTypeQLElement(type) - Location: (26684,26693)(26684,26693) + PsiTypeQLElement(label) - Location: (26684,26693)(26684,26693) + PsiTypeQLElement(type_native) - Location: (26684,26693)(26684,26693) + PsiElement('attribute')('attribute')(26684,26693) + PsiElement(',')(',')(26693,26694) + PsiWhiteSpace('\n ')(26694,26699) + PsiTypeQLElement(type_constraint) - Location: (26699,26711)(26699,26711) + PsiElement('value')('value')(26699,26704) + PsiWhiteSpace(' ')(26704,26705) + PsiTypeQLElement(value_type) - Location: (26705,26711)(26705,26711) + PsiElement('string')('string')(26705,26711) + PsiElement(',')(',')(26711,26712) + PsiWhiteSpace('\n\n ')(26712,26718) + PsiTypeQLPlaysType(type_constraint) - Location: (26718,26748)(26718,26748) + PsiElement('plays')('plays')(26718,26723) + PsiWhiteSpace(' ')(26723,26724) + PsiTypeQLElement(type_scoped) - Location: (26724,26748)(26724,26748) + PsiTypeQLElement(label_scoped) - Location: (26724,26748)(26724,26748) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(26724,26748) + PsiElement(',')(',')(26748,26749) + PsiWhiteSpace('\n ')(26749,26754) + PsiTypeQLElement(type_constraint) - Location: (26754,26762)(26754,26762) + PsiElement('abstract')('abstract')(26754,26762) + PsiElement(';')(';')(26762,26763) + PsiWhiteSpace('\n\n\n')(26763,26766) + PsiTypeQLElement(definable) - Location: (26766,26801)(26766,26801) + PsiTypeQLStatementType(statement_type) - Location: (26766,26801)(26766,26801) + PsiTypeQLElement(type_any) - Location: (26766,26775)(26766,26775) + PsiTypeQLType(type) - Name: stix-type - Location: (26766,26775)(26766,26775) + PsiTypeQLElement(label) - Location: (26766,26775)(26766,26775) + PsiElement(LABEL_)('stix-type')(26766,26775) + PsiWhiteSpace(' ')(26775,26776) + PsiTypeQLSubType(type_constraint) - Location: (26776,26801)(26776,26801) + PsiElement(SUB_)('sub')(26776,26779) + PsiWhiteSpace(' ')(26779,26780) + PsiTypeQLElement(type_any) - Location: (26780,26801)(26780,26801) + PsiTypeQLElement(type) - Location: (26780,26801)(26780,26801) + PsiTypeQLElement(label) - Location: (26780,26801)(26780,26801) + PsiElement(LABEL_)('stix-attribute-string')(26780,26801) + PsiElement(';')(';')(26801,26802) + PsiWhiteSpace('\n')(26802,26803) + PsiTypeQLElement(definable) - Location: (26803,26836)(26803,26836) + PsiTypeQLStatementType(statement_type) - Location: (26803,26836)(26803,26836) + PsiTypeQLElement(type_any) - Location: (26803,26810)(26803,26810) + PsiTypeQLType(type) - Name: stix-id - Location: (26803,26810)(26803,26810) + PsiTypeQLElement(label) - Location: (26803,26810)(26803,26810) + PsiElement(LABEL_)('stix-id')(26803,26810) + PsiWhiteSpace(' ')(26810,26811) + PsiTypeQLSubType(type_constraint) - Location: (26811,26836)(26811,26836) + PsiElement(SUB_)('sub')(26811,26814) + PsiWhiteSpace(' ')(26814,26815) + PsiTypeQLElement(type_any) - Location: (26815,26836)(26815,26836) + PsiTypeQLElement(type) - Location: (26815,26836)(26815,26836) + PsiTypeQLElement(label) - Location: (26815,26836)(26815,26836) + PsiElement(LABEL_)('stix-attribute-string')(26815,26836) + PsiElement(';')(';')(26836,26837) + PsiWhiteSpace('\n')(26837,26838) + PsiTypeQLElement(definable) - Location: (26838,26873)(26838,26873) + PsiTypeQLStatementType(statement_type) - Location: (26838,26873)(26838,26873) + PsiTypeQLElement(type_any) - Location: (26838,26847)(26838,26847) + PsiTypeQLType(type) - Name: stix-role - Location: (26838,26847)(26838,26847) + PsiTypeQLElement(label) - Location: (26838,26847)(26838,26847) + PsiElement(LABEL_)('stix-role')(26838,26847) + PsiWhiteSpace(' ')(26847,26848) + PsiTypeQLSubType(type_constraint) - Location: (26848,26873)(26848,26873) + PsiElement(SUB_)('sub')(26848,26851) + PsiWhiteSpace(' ')(26851,26852) + PsiTypeQLElement(type_any) - Location: (26852,26873)(26852,26873) + PsiTypeQLElement(type) - Location: (26852,26873)(26852,26873) + PsiTypeQLElement(label) - Location: (26852,26873)(26852,26873) + PsiElement(LABEL_)('stix-attribute-string')(26852,26873) + PsiElement(';')(';')(26873,26874) + PsiWhiteSpace('\n')(26874,26875) + PsiTypeQLElement(definable) - Location: (26875,26913)(26875,26913) + PsiTypeQLStatementType(statement_type) - Location: (26875,26913)(26875,26913) + PsiTypeQLElement(type_any) - Location: (26875,26887)(26875,26887) + PsiTypeQLType(type) - Name: spec-version - Location: (26875,26887)(26875,26887) + PsiTypeQLElement(label) - Location: (26875,26887)(26875,26887) + PsiElement(LABEL_)('spec-version')(26875,26887) + PsiWhiteSpace(' ')(26887,26888) + PsiTypeQLSubType(type_constraint) - Location: (26888,26913)(26888,26913) + PsiElement(SUB_)('sub')(26888,26891) + PsiWhiteSpace(' ')(26891,26892) + PsiTypeQLElement(type_any) - Location: (26892,26913)(26892,26913) + PsiTypeQLElement(type) - Location: (26892,26913)(26892,26913) + PsiTypeQLElement(label) - Location: (26892,26913)(26892,26913) + PsiElement(LABEL_)('stix-attribute-string')(26892,26913) + PsiElement(';')(';')(26913,26914) + PsiWhiteSpace('\n')(26914,26915) + PsiTypeQLElement(definable) - Location: (26915,26947)(26915,26947) + PsiTypeQLStatementType(statement_type) - Location: (26915,26947)(26915,26947) + PsiTypeQLElement(type_any) - Location: (26915,26921)(26915,26921) + PsiTypeQLType(type) - Name: labels - Location: (26915,26921)(26915,26921) + PsiTypeQLElement(label) - Location: (26915,26921)(26915,26921) + PsiElement(LABEL_)('labels')(26915,26921) + PsiWhiteSpace(' ')(26921,26922) + PsiTypeQLSubType(type_constraint) - Location: (26922,26947)(26922,26947) + PsiElement(SUB_)('sub')(26922,26925) + PsiWhiteSpace(' ')(26925,26926) + PsiTypeQLElement(type_any) - Location: (26926,26947)(26926,26947) + PsiTypeQLElement(type) - Location: (26926,26947)(26926,26947) + PsiTypeQLElement(label) - Location: (26926,26947)(26926,26947) + PsiElement(LABEL_)('stix-attribute-string')(26926,26947) + PsiElement(';')(';')(26947,26948) + PsiWhiteSpace('\n')(26948,26949) + PsiTypeQLElement(definable) - Location: (26949,26980)(26949,26980) + PsiTypeQLStatementType(statement_type) - Location: (26949,26980)(26949,26980) + PsiTypeQLElement(type_any) - Location: (26949,26954)(26949,26954) + PsiTypeQLType(type) - Name: langs - Location: (26949,26954)(26949,26954) + PsiTypeQLElement(label) - Location: (26949,26954)(26949,26954) + PsiElement(LABEL_)('langs')(26949,26954) + PsiWhiteSpace(' ')(26954,26955) + PsiTypeQLSubType(type_constraint) - Location: (26955,26980)(26955,26980) + PsiElement(SUB_)('sub')(26955,26958) + PsiWhiteSpace(' ')(26958,26959) + PsiTypeQLElement(type_any) - Location: (26959,26980)(26959,26980) + PsiTypeQLElement(type) - Location: (26959,26980)(26959,26980) + PsiTypeQLElement(label) - Location: (26959,26980)(26959,26980) + PsiElement(LABEL_)('stix-attribute-string')(26959,26980) + PsiElement(';')(';')(26980,26981) + PsiWhiteSpace('\n')(26981,26982) + PsiTypeQLElement(definable) - Location: (26982,27016)(26982,27016) + PsiTypeQLStatementType(statement_type) - Location: (26982,27016)(26982,27016) + PsiTypeQLElement(type_any) - Location: (26982,26990)(26982,26990) + PsiTypeQLType(type) - Name: defanged - Location: (26982,26990)(26982,26990) + PsiTypeQLElement(label) - Location: (26982,26990)(26982,26990) + PsiElement(LABEL_)('defanged')(26982,26990) + PsiWhiteSpace(' ')(26990,26991) + PsiTypeQLSubType(type_constraint) - Location: (26991,27016)(26991,27016) + PsiElement(SUB_)('sub')(26991,26994) + PsiWhiteSpace(' ')(26994,26995) + PsiTypeQLElement(type_any) - Location: (26995,27016)(26995,27016) + PsiTypeQLElement(type) - Location: (26995,27016)(26995,27016) + PsiTypeQLElement(label) - Location: (26995,27016)(26995,27016) + PsiElement(LABEL_)('stix-attribute-string')(26995,27016) + PsiElement(';')(';')(27016,27017) + PsiWhiteSpace('\n')(27017,27018) + PsiTypeQLElement(definable) - Location: (27018,27055)(27018,27055) + PsiTypeQLStatementType(statement_type) - Location: (27018,27055)(27018,27055) + PsiTypeQLElement(type_any) - Location: (27018,27029)(27018,27029) + PsiTypeQLType(type) - Name: source-name - Location: (27018,27029)(27018,27029) + PsiTypeQLElement(label) - Location: (27018,27029)(27018,27029) + PsiElement(LABEL_)('source-name')(27018,27029) + PsiWhiteSpace(' ')(27029,27030) + PsiTypeQLSubType(type_constraint) - Location: (27030,27055)(27030,27055) + PsiElement(SUB_)('sub')(27030,27033) + PsiWhiteSpace(' ')(27033,27034) + PsiTypeQLElement(type_any) - Location: (27034,27055)(27034,27055) + PsiTypeQLElement(type) - Location: (27034,27055)(27034,27055) + PsiTypeQLElement(label) - Location: (27034,27055)(27034,27055) + PsiElement(LABEL_)('stix-attribute-string')(27034,27055) + PsiElement(';')(';')(27055,27056) + PsiWhiteSpace('\n')(27056,27057) + PsiTypeQLElement(definable) - Location: (27057,27091)(27057,27091) + PsiTypeQLStatementType(statement_type) - Location: (27057,27091)(27057,27091) + PsiTypeQLElement(type_any) - Location: (27057,27065)(27057,27065) + PsiTypeQLType(type) - Name: url-link - Location: (27057,27065)(27057,27065) + PsiTypeQLElement(label) - Location: (27057,27065)(27057,27065) + PsiElement(LABEL_)('url-link')(27057,27065) + PsiWhiteSpace(' ')(27065,27066) + PsiTypeQLSubType(type_constraint) - Location: (27066,27091)(27066,27091) + PsiElement(SUB_)('sub')(27066,27069) + PsiWhiteSpace(' ')(27069,27070) + PsiTypeQLElement(type_any) - Location: (27070,27091)(27070,27091) + PsiTypeQLElement(type) - Location: (27070,27091)(27070,27091) + PsiTypeQLElement(label) - Location: (27070,27091)(27070,27091) + PsiElement(LABEL_)('stix-attribute-string')(27070,27091) + PsiElement(';')(';')(27091,27092) + PsiWhiteSpace('\n')(27092,27093) + PsiTypeQLElement(definable) - Location: (27093,27130)(27093,27130) + PsiTypeQLStatementType(statement_type) - Location: (27093,27130)(27093,27130) + PsiTypeQLElement(type_any) - Location: (27093,27104)(27093,27104) + PsiTypeQLType(type) - Name: external-id - Location: (27093,27104)(27093,27104) + PsiTypeQLElement(label) - Location: (27093,27104)(27093,27104) + PsiElement(LABEL_)('external-id')(27093,27104) + PsiWhiteSpace(' ')(27104,27105) + PsiTypeQLSubType(type_constraint) - Location: (27105,27130)(27105,27130) + PsiElement(SUB_)('sub')(27105,27108) + PsiWhiteSpace(' ')(27108,27109) + PsiTypeQLElement(type_any) - Location: (27109,27130)(27109,27130) + PsiTypeQLElement(type) - Location: (27109,27130)(27109,27130) + PsiTypeQLElement(label) - Location: (27109,27130)(27109,27130) + PsiElement(LABEL_)('stix-attribute-string')(27109,27130) + PsiElement(';')(';')(27130,27131) + PsiWhiteSpace('\n')(27131,27132) + PsiTypeQLElement(definable) - Location: (27132,27162)(27132,27162) + PsiTypeQLStatementType(statement_type) - Location: (27132,27162)(27132,27162) + PsiTypeQLElement(type_any) - Location: (27132,27136)(27132,27136) + PsiTypeQLType(type) - Name: name - Location: (27132,27136)(27132,27136) + PsiTypeQLElement(label) - Location: (27132,27136)(27132,27136) + PsiElement(LABEL_)('name')(27132,27136) + PsiWhiteSpace(' ')(27136,27137) + PsiTypeQLSubType(type_constraint) - Location: (27137,27162)(27137,27162) + PsiElement(SUB_)('sub')(27137,27140) + PsiWhiteSpace(' ')(27140,27141) + PsiTypeQLElement(type_any) - Location: (27141,27162)(27141,27162) + PsiTypeQLElement(type) - Location: (27141,27162)(27141,27162) + PsiTypeQLElement(label) - Location: (27141,27162)(27141,27162) + PsiElement(LABEL_)('stix-attribute-string')(27141,27162) + PsiElement(';')(';')(27162,27163) + PsiWhiteSpace('\n')(27163,27164) + PsiTypeQLElement(definable) - Location: (27164,27198)(27164,27198) + PsiTypeQLStatementType(statement_type) - Location: (27164,27198)(27164,27198) + PsiTypeQLElement(type_any) - Location: (27164,27172)(27164,27172) + PsiTypeQLType(type) - Name: name-enc - Location: (27164,27172)(27164,27172) + PsiTypeQLElement(label) - Location: (27164,27172)(27164,27172) + PsiElement(LABEL_)('name-enc')(27164,27172) + PsiWhiteSpace(' ')(27172,27173) + PsiTypeQLSubType(type_constraint) - Location: (27173,27198)(27173,27198) + PsiElement(SUB_)('sub')(27173,27176) + PsiWhiteSpace(' ')(27176,27177) + PsiTypeQLElement(type_any) - Location: (27177,27198)(27177,27198) + PsiTypeQLElement(type) - Location: (27177,27198)(27177,27198) + PsiTypeQLElement(label) - Location: (27177,27198)(27177,27198) + PsiElement(LABEL_)('stix-attribute-string')(27177,27198) + PsiElement(';')(';')(27198,27199) + PsiWhiteSpace('\n')(27199,27200) + PsiTypeQLElement(definable) - Location: (27200,27242)(27200,27242) + PsiTypeQLStatementType(statement_type) - Location: (27200,27242)(27200,27242) + PsiTypeQLElement(type_any) - Location: (27200,27216)(27200,27216) + PsiTypeQLType(type) - Name: magic-number-hex - Location: (27200,27216)(27200,27216) + PsiTypeQLElement(label) - Location: (27200,27216)(27200,27216) + PsiElement(LABEL_)('magic-number-hex')(27200,27216) + PsiWhiteSpace(' ')(27216,27217) + PsiTypeQLSubType(type_constraint) - Location: (27217,27242)(27217,27242) + PsiElement(SUB_)('sub')(27217,27220) + PsiWhiteSpace(' ')(27220,27221) + PsiTypeQLElement(type_any) - Location: (27221,27242)(27221,27242) + PsiTypeQLElement(type) - Location: (27221,27242)(27221,27242) + PsiTypeQLElement(label) - Location: (27221,27242)(27221,27242) + PsiElement(LABEL_)('stix-attribute-string')(27221,27242) + PsiElement(';')(';')(27242,27243) + PsiWhiteSpace('\n')(27243,27244) + PsiTypeQLElement(definable) - Location: (27244,27279)(27244,27279) + PsiTypeQLStatementType(statement_type) - Location: (27244,27279)(27244,27279) + PsiTypeQLElement(type_any) - Location: (27244,27253)(27244,27253) + PsiTypeQLType(type) - Name: mime-type - Location: (27244,27253)(27244,27253) + PsiTypeQLElement(label) - Location: (27244,27253)(27244,27253) + PsiElement(LABEL_)('mime-type')(27244,27253) + PsiWhiteSpace(' ')(27253,27254) + PsiTypeQLSubType(type_constraint) - Location: (27254,27279)(27254,27279) + PsiElement(SUB_)('sub')(27254,27257) + PsiWhiteSpace(' ')(27257,27258) + PsiTypeQLElement(type_any) - Location: (27258,27279)(27258,27279) + PsiTypeQLElement(type) - Location: (27258,27279)(27258,27279) + PsiTypeQLElement(label) - Location: (27258,27279)(27258,27279) + PsiElement(LABEL_)('stix-attribute-string')(27258,27279) + PsiElement(';')(';')(27279,27280) + PsiWhiteSpace('\n')(27280,27281) + PsiTypeQLElement(definable) - Location: (27281,27314)(27281,27314) + PsiTypeQLStatementType(statement_type) - Location: (27281,27314)(27281,27314) + PsiTypeQLElement(type_any) - Location: (27281,27288)(27281,27288) + PsiTypeQLType(type) - Name: aliases - Location: (27281,27288)(27281,27288) + PsiTypeQLElement(label) - Location: (27281,27288)(27281,27288) + PsiElement(LABEL_)('aliases')(27281,27288) + PsiWhiteSpace(' ')(27288,27289) + PsiTypeQLSubType(type_constraint) - Location: (27289,27314)(27289,27314) + PsiElement(SUB_)('sub')(27289,27292) + PsiWhiteSpace(' ')(27292,27293) + PsiTypeQLElement(type_any) - Location: (27293,27314)(27293,27314) + PsiTypeQLElement(type) - Location: (27293,27314)(27293,27314) + PsiTypeQLElement(label) - Location: (27293,27314)(27293,27314) + PsiElement(LABEL_)('stix-attribute-string')(27293,27314) + PsiElement(';')(';')(27314,27315) + PsiWhiteSpace('\n')(27315,27316) + PsiTypeQLElement(definable) - Location: (27316,27351)(27316,27351) + PsiTypeQLStatementType(statement_type) - Location: (27316,27351)(27316,27351) + PsiTypeQLElement(type_any) - Location: (27316,27325)(27316,27325) + PsiTypeQLType(type) - Name: objective - Location: (27316,27325)(27316,27325) + PsiTypeQLElement(label) - Location: (27316,27325)(27316,27325) + PsiElement(LABEL_)('objective')(27316,27325) + PsiWhiteSpace(' ')(27325,27326) + PsiTypeQLSubType(type_constraint) - Location: (27326,27351)(27326,27351) + PsiElement(SUB_)('sub')(27326,27329) + PsiWhiteSpace(' ')(27329,27330) + PsiTypeQLElement(type_any) - Location: (27330,27351)(27330,27351) + PsiTypeQLElement(type) - Location: (27330,27351)(27330,27351) + PsiTypeQLElement(label) - Location: (27330,27351)(27330,27351) + PsiElement(LABEL_)('stix-attribute-string')(27330,27351) + PsiElement(';')(';')(27351,27352) + PsiWhiteSpace('\n')(27352,27353) + PsiTypeQLElement(definable) - Location: (27353,27385)(27353,27385) + PsiTypeQLStatementType(statement_type) - Location: (27353,27385)(27353,27385) + PsiTypeQLElement(type_any) - Location: (27353,27359)(27353,27359) + PsiTypeQLType(type) - Name: action - Location: (27353,27359)(27353,27359) + PsiTypeQLElement(label) - Location: (27353,27359)(27353,27359) + PsiElement(LABEL_)('action')(27353,27359) + PsiWhiteSpace(' ')(27359,27360) + PsiTypeQLSubType(type_constraint) - Location: (27360,27385)(27360,27385) + PsiElement(SUB_)('sub')(27360,27363) + PsiWhiteSpace(' ')(27363,27364) + PsiTypeQLElement(type_any) - Location: (27364,27385)(27364,27385) + PsiTypeQLElement(type) - Location: (27364,27385)(27364,27385) + PsiTypeQLElement(label) - Location: (27364,27385)(27364,27385) + PsiElement(LABEL_)('stix-attribute-string')(27364,27385) + PsiElement(';')(';')(27385,27386) + PsiWhiteSpace('\n')(27386,27387) + PsiTypeQLElement(definable) - Location: (27387,27420)(27387,27420) + PsiTypeQLStatementType(statement_type) - Location: (27387,27420)(27387,27420) + PsiTypeQLElement(type_any) - Location: (27387,27394)(27387,27394) + PsiTypeQLType(type) - Name: context - Location: (27387,27394)(27387,27394) + PsiTypeQLElement(label) - Location: (27387,27394)(27387,27394) + PsiElement(LABEL_)('context')(27387,27394) + PsiWhiteSpace(' ')(27394,27395) + PsiTypeQLSubType(type_constraint) - Location: (27395,27420)(27395,27420) + PsiElement(SUB_)('sub')(27395,27398) + PsiWhiteSpace(' ')(27398,27399) + PsiTypeQLElement(type_any) - Location: (27399,27420)(27399,27420) + PsiTypeQLElement(type) - Location: (27399,27420)(27399,27420) + PsiTypeQLElement(label) - Location: (27399,27420)(27399,27420) + PsiElement(LABEL_)('stix-attribute-string')(27399,27420) + PsiElement(';')(';')(27420,27421) + PsiWhiteSpace('\n')(27421,27422) + PsiTypeQLElement(definable) - Location: (27422,27462)(27422,27462) + PsiTypeQLStatementType(statement_type) - Location: (27422,27462)(27422,27462) + PsiTypeQLElement(type_any) - Location: (27422,27436)(27422,27436) + PsiTypeQLType(type) - Name: identity-class - Location: (27422,27436)(27422,27436) + PsiTypeQLElement(label) - Location: (27422,27436)(27422,27436) + PsiElement(LABEL_)('identity-class')(27422,27436) + PsiWhiteSpace(' ')(27436,27437) + PsiTypeQLSubType(type_constraint) - Location: (27437,27462)(27437,27462) + PsiElement(SUB_)('sub')(27437,27440) + PsiWhiteSpace(' ')(27440,27441) + PsiTypeQLElement(type_any) - Location: (27441,27462)(27441,27462) + PsiTypeQLElement(type) - Location: (27441,27462)(27441,27462) + PsiTypeQLElement(label) - Location: (27441,27462)(27441,27462) + PsiElement(LABEL_)('stix-attribute-string')(27441,27462) + PsiElement(';')(';')(27462,27463) + PsiWhiteSpace('\n')(27463,27464) + PsiTypeQLElement(definable) - Location: (27464,27496)(27464,27496) + PsiTypeQLStatementType(statement_type) - Location: (27464,27496)(27464,27496) + PsiTypeQLElement(type_any) - Location: (27464,27470)(27464,27470) + PsiTypeQLType(type) - Name: sector - Location: (27464,27470)(27464,27470) + PsiTypeQLElement(label) - Location: (27464,27470)(27464,27470) + PsiElement(LABEL_)('sector')(27464,27470) + PsiWhiteSpace(' ')(27470,27471) + PsiTypeQLSubType(type_constraint) - Location: (27471,27496)(27471,27496) + PsiElement(SUB_)('sub')(27471,27474) + PsiWhiteSpace(' ')(27474,27475) + PsiTypeQLElement(type_any) - Location: (27475,27496)(27475,27496) + PsiTypeQLElement(type) - Location: (27475,27496)(27475,27496) + PsiTypeQLElement(label) - Location: (27475,27496)(27475,27496) + PsiElement(LABEL_)('stix-attribute-string')(27475,27496) + PsiElement(';')(';')(27496,27497) + PsiWhiteSpace('\n')(27497,27498) + PsiTypeQLElement(definable) - Location: (27498,27544)(27498,27544) + PsiTypeQLStatementType(statement_type) - Location: (27498,27544)(27498,27544) + PsiTypeQLElement(type_any) - Location: (27498,27518)(27498,27518) + PsiTypeQLType(type) - Name: infrastructure-types - Location: (27498,27518)(27498,27518) + PsiTypeQLElement(label) - Location: (27498,27518)(27498,27518) + PsiElement(LABEL_)('infrastructure-types')(27498,27518) + PsiWhiteSpace(' ')(27518,27519) + PsiTypeQLSubType(type_constraint) - Location: (27519,27544)(27519,27544) + PsiElement(SUB_)('sub')(27519,27522) + PsiWhiteSpace(' ')(27522,27523) + PsiTypeQLElement(type_any) - Location: (27523,27544)(27523,27544) + PsiTypeQLElement(type) - Location: (27523,27544)(27523,27544) + PsiTypeQLElement(label) - Location: (27523,27544)(27523,27544) + PsiElement(LABEL_)('stix-attribute-string')(27523,27544) + PsiElement(';')(';')(27544,27545) + PsiWhiteSpace('\n')(27545,27546) + PsiTypeQLElement(definable) - Location: (27546,27591)(27546,27591) + PsiTypeQLStatementType(statement_type) - Location: (27546,27591)(27546,27591) + PsiTypeQLElement(type_any) - Location: (27546,27565)(27546,27565) + PsiTypeQLType(type) - Name: contact-information - Location: (27546,27565)(27546,27565) + PsiTypeQLElement(label) - Location: (27546,27565)(27546,27565) + PsiElement(LABEL_)('contact-information')(27546,27565) + PsiWhiteSpace(' ')(27565,27566) + PsiTypeQLSubType(type_constraint) - Location: (27566,27591)(27566,27591) + PsiElement(SUB_)('sub')(27566,27569) + PsiWhiteSpace(' ')(27569,27570) + PsiTypeQLElement(type_any) - Location: (27570,27591)(27570,27591) + PsiTypeQLElement(type) - Location: (27570,27591)(27570,27591) + PsiTypeQLElement(label) - Location: (27570,27591)(27570,27591) + PsiElement(LABEL_)('stix-attribute-string')(27570,27591) + PsiElement(';')(';')(27591,27592) + PsiWhiteSpace('\n')(27592,27593) + PsiTypeQLElement(definable) - Location: (27593,27633)(27593,27633) + PsiTypeQLStatementType(statement_type) - Location: (27593,27633)(27593,27633) + PsiTypeQLElement(type_any) - Location: (27593,27607)(27593,27607) + PsiTypeQLType(type) - Name: indicator-type - Location: (27593,27607)(27593,27607) + PsiTypeQLElement(label) - Location: (27593,27607)(27593,27607) + PsiElement(LABEL_)('indicator-type')(27593,27607) + PsiWhiteSpace(' ')(27607,27608) + PsiTypeQLSubType(type_constraint) - Location: (27608,27633)(27608,27633) + PsiElement(SUB_)('sub')(27608,27611) + PsiWhiteSpace(' ')(27611,27612) + PsiTypeQLElement(type_any) - Location: (27612,27633)(27612,27633) + PsiTypeQLElement(type) - Location: (27612,27633)(27612,27633) + PsiTypeQLElement(label) - Location: (27612,27633)(27612,27633) + PsiElement(LABEL_)('stix-attribute-string')(27612,27633) + PsiElement(';')(';')(27633,27634) + PsiWhiteSpace('\n')(27634,27635) + PsiTypeQLElement(definable) - Location: (27635,27668)(27635,27668) + PsiTypeQLStatementType(statement_type) - Location: (27635,27668)(27635,27668) + PsiTypeQLElement(type_any) - Location: (27635,27642)(27635,27642) + PsiTypeQLType(type) - Name: pattern - Location: (27635,27642)(27635,27642) + PsiTypeQLElement(label) - Location: (27635,27642)(27635,27642) + PsiElement(LABEL_)('pattern')(27635,27642) + PsiWhiteSpace(' ')(27642,27643) + PsiTypeQLSubType(type_constraint) - Location: (27643,27668)(27643,27668) + PsiElement(SUB_)('sub')(27643,27646) + PsiWhiteSpace(' ')(27646,27647) + PsiTypeQLElement(type_any) - Location: (27647,27668)(27647,27668) + PsiTypeQLElement(type) - Location: (27647,27668)(27647,27668) + PsiTypeQLElement(label) - Location: (27647,27668)(27647,27668) + PsiElement(LABEL_)('stix-attribute-string')(27647,27668) + PsiElement(';')(';')(27668,27669) + PsiWhiteSpace('\n')(27669,27670) + PsiTypeQLElement(definable) - Location: (27670,27708)(27670,27708) + PsiTypeQLStatementType(statement_type) - Location: (27670,27708)(27670,27708) + PsiTypeQLElement(type_any) - Location: (27670,27682)(27670,27682) + PsiTypeQLType(type) - Name: pattern-type - Location: (27670,27682)(27670,27682) + PsiTypeQLElement(label) - Location: (27670,27682)(27670,27682) + PsiElement(LABEL_)('pattern-type')(27670,27682) + PsiWhiteSpace(' ')(27682,27683) + PsiTypeQLSubType(type_constraint) - Location: (27683,27708)(27683,27708) + PsiElement(SUB_)('sub')(27683,27686) + PsiWhiteSpace(' ')(27686,27687) + PsiTypeQLElement(type_any) - Location: (27687,27708)(27687,27708) + PsiTypeQLElement(type) - Location: (27687,27708)(27687,27708) + PsiTypeQLElement(label) - Location: (27687,27708)(27687,27708) + PsiElement(LABEL_)('stix-attribute-string')(27687,27708) + PsiElement(';')(';')(27708,27709) + PsiWhiteSpace('\n')(27709,27710) + PsiTypeQLElement(definable) - Location: (27710,27751)(27710,27751) + PsiTypeQLStatementType(statement_type) - Location: (27710,27751)(27710,27751) + PsiTypeQLElement(type_any) - Location: (27710,27725)(27710,27725) + PsiTypeQLType(type) - Name: pattern-version - Location: (27710,27725)(27710,27725) + PsiTypeQLElement(label) - Location: (27710,27725)(27710,27725) + PsiElement(LABEL_)('pattern-version')(27710,27725) + PsiWhiteSpace(' ')(27725,27726) + PsiTypeQLSubType(type_constraint) - Location: (27726,27751)(27726,27751) + PsiElement(SUB_)('sub')(27726,27729) + PsiWhiteSpace(' ')(27729,27730) + PsiTypeQLElement(type_any) - Location: (27730,27751)(27730,27751) + PsiTypeQLElement(type) - Location: (27730,27751)(27730,27751) + PsiTypeQLElement(label) - Location: (27730,27751)(27730,27751) + PsiElement(LABEL_)('stix-attribute-string')(27730,27751) + PsiElement(';')(';')(27751,27752) + PsiWhiteSpace('\n')(27752,27753) + PsiTypeQLElement(definable) - Location: (27753,27784)(27753,27784) + PsiTypeQLStatementType(statement_type) - Location: (27753,27784)(27753,27784) + PsiTypeQLElement(type_any) - Location: (27753,27758)(27753,27758) + PsiTypeQLType(type) - Name: goals - Location: (27753,27758)(27753,27758) + PsiTypeQLElement(label) - Location: (27753,27758)(27753,27758) + PsiElement(LABEL_)('goals')(27753,27758) + PsiWhiteSpace(' ')(27758,27759) + PsiTypeQLSubType(type_constraint) - Location: (27759,27784)(27759,27784) + PsiElement(SUB_)('sub')(27759,27762) + PsiWhiteSpace(' ')(27762,27763) + PsiTypeQLElement(type_any) - Location: (27763,27784)(27763,27784) + PsiTypeQLElement(type) - Location: (27763,27784)(27763,27784) + PsiTypeQLElement(label) - Location: (27763,27784)(27763,27784) + PsiElement(LABEL_)('stix-attribute-string')(27763,27784) + PsiElement(';')(';')(27784,27785) + PsiWhiteSpace('\n')(27785,27786) + PsiTypeQLElement(definable) - Location: (27786,27826)(27786,27826) + PsiTypeQLStatementType(statement_type) - Location: (27786,27826)(27786,27826) + PsiTypeQLElement(type_any) - Location: (27786,27800)(27786,27800) + PsiTypeQLType(type) - Name: resource-level - Location: (27786,27800)(27786,27800) + PsiTypeQLElement(label) - Location: (27786,27800)(27786,27800) + PsiElement(LABEL_)('resource-level')(27786,27800) + PsiWhiteSpace(' ')(27800,27801) + PsiTypeQLSubType(type_constraint) - Location: (27801,27826)(27801,27826) + PsiElement(SUB_)('sub')(27801,27804) + PsiWhiteSpace(' ')(27804,27805) + PsiTypeQLElement(type_any) - Location: (27805,27826)(27805,27826) + PsiTypeQLElement(type) - Location: (27805,27826)(27805,27826) + PsiTypeQLElement(label) - Location: (27805,27826)(27805,27826) + PsiElement(LABEL_)('stix-attribute-string')(27805,27826) + PsiElement(';')(';')(27826,27827) + PsiWhiteSpace('\n')(27827,27828) + PsiTypeQLElement(definable) - Location: (27828,27872)(27828,27872) + PsiTypeQLStatementType(statement_type) - Location: (27828,27872)(27828,27872) + PsiTypeQLElement(type_any) - Location: (27828,27846)(27828,27846) + PsiTypeQLType(type) - Name: primary-motivation - Location: (27828,27846)(27828,27846) + PsiTypeQLElement(label) - Location: (27828,27846)(27828,27846) + PsiElement(LABEL_)('primary-motivation')(27828,27846) + PsiWhiteSpace(' ')(27846,27847) + PsiTypeQLSubType(type_constraint) - Location: (27847,27872)(27847,27872) + PsiElement(SUB_)('sub')(27847,27850) + PsiWhiteSpace(' ')(27850,27851) + PsiTypeQLElement(type_any) - Location: (27851,27872)(27851,27872) + PsiTypeQLElement(type) - Location: (27851,27872)(27851,27872) + PsiTypeQLElement(label) - Location: (27851,27872)(27851,27872) + PsiElement(LABEL_)('stix-attribute-string')(27851,27872) + PsiElement(';')(';')(27872,27873) + PsiWhiteSpace('\n')(27873,27874) + PsiTypeQLElement(definable) - Location: (27874,27921)(27874,27921) + PsiTypeQLStatementType(statement_type) - Location: (27874,27921)(27874,27921) + PsiTypeQLElement(type_any) - Location: (27874,27895)(27874,27895) + PsiTypeQLType(type) - Name: secondary-motivations - Location: (27874,27895)(27874,27895) + PsiTypeQLElement(label) - Location: (27874,27895)(27874,27895) + PsiElement(LABEL_)('secondary-motivations')(27874,27895) + PsiWhiteSpace(' ')(27895,27896) + PsiTypeQLSubType(type_constraint) - Location: (27896,27921)(27896,27921) + PsiElement(SUB_)('sub')(27896,27899) + PsiWhiteSpace(' ')(27899,27900) + PsiTypeQLElement(type_any) - Location: (27900,27921)(27900,27921) + PsiTypeQLElement(type) - Location: (27900,27921)(27900,27921) + PsiTypeQLElement(label) - Location: (27900,27921)(27900,27921) + PsiElement(LABEL_)('stix-attribute-string')(27900,27921) + PsiElement(';')(';')(27921,27922) + PsiWhiteSpace('\n')(27922,27923) + PsiTypeQLElement(definable) - Location: (27923,27962)(27923,27962) + PsiTypeQLStatementType(statement_type) - Location: (27923,27962)(27923,27962) + PsiTypeQLElement(type_any) - Location: (27923,27936)(27923,27936) + PsiTypeQLType(type) - Name: malware-types - Location: (27923,27936)(27923,27936) + PsiTypeQLElement(label) - Location: (27923,27936)(27923,27936) + PsiElement(LABEL_)('malware-types')(27923,27936) + PsiWhiteSpace(' ')(27936,27937) + PsiTypeQLSubType(type_constraint) - Location: (27937,27962)(27937,27962) + PsiElement(SUB_)('sub')(27937,27940) + PsiWhiteSpace(' ')(27940,27941) + PsiTypeQLElement(type_any) - Location: (27941,27962)(27941,27962) + PsiTypeQLElement(type) - Location: (27941,27962)(27941,27962) + PsiTypeQLElement(label) - Location: (27941,27962)(27941,27962) + PsiElement(LABEL_)('stix-attribute-string')(27941,27962) + PsiElement(';')(';')(27962,27963) + PsiWhiteSpace('\n')(27963,27964) + PsiTypeQLElement(definable) - Location: (27964,28017)(27964,28017) + PsiTypeQLStatementType(statement_type) - Location: (27964,28017)(27964,28017) + PsiTypeQLElement(type_any) - Location: (27964,27991)(27964,27991) + PsiTypeQLType(type) - Name: architecture-execution-envs - Location: (27964,27991)(27964,27991) + PsiTypeQLElement(label) - Location: (27964,27991)(27964,27991) + PsiElement(LABEL_)('architecture-execution-envs')(27964,27991) + PsiWhiteSpace(' ')(27991,27992) + PsiTypeQLSubType(type_constraint) - Location: (27992,28017)(27992,28017) + PsiElement(SUB_)('sub')(27992,27995) + PsiWhiteSpace(' ')(27995,27996) + PsiTypeQLElement(type_any) - Location: (27996,28017)(27996,28017) + PsiTypeQLElement(type) - Location: (27996,28017)(27996,28017) + PsiTypeQLElement(label) - Location: (27996,28017)(27996,28017) + PsiElement(LABEL_)('stix-attribute-string')(27996,28017) + PsiElement(';')(';')(28017,28018) + PsiWhiteSpace('\n')(28018,28019) + PsiTypeQLElement(definable) - Location: (28019,28069)(28019,28069) + PsiTypeQLStatementType(statement_type) - Location: (28019,28069)(28019,28069) + PsiTypeQLElement(type_any) - Location: (28019,28043)(28019,28043) + PsiTypeQLType(type) - Name: implementation-languages - Location: (28019,28043)(28019,28043) + PsiTypeQLElement(label) - Location: (28019,28043)(28019,28043) + PsiElement(LABEL_)('implementation-languages')(28019,28043) + PsiWhiteSpace(' ')(28043,28044) + PsiTypeQLSubType(type_constraint) - Location: (28044,28069)(28044,28069) + PsiElement(SUB_)('sub')(28044,28047) + PsiWhiteSpace(' ')(28047,28048) + PsiTypeQLElement(type_any) - Location: (28048,28069)(28048,28069) + PsiTypeQLElement(type) - Location: (28048,28069)(28048,28069) + PsiTypeQLElement(label) - Location: (28048,28069)(28048,28069) + PsiElement(LABEL_)('stix-attribute-string')(28048,28069) + PsiElement(';')(';')(28069,28070) + PsiWhiteSpace('\n')(28070,28071) + PsiTypeQLElement(definable) - Location: (28071,28109)(28071,28109) + PsiTypeQLStatementType(statement_type) - Location: (28071,28109)(28071,28109) + PsiTypeQLElement(type_any) - Location: (28071,28083)(28071,28083) + PsiTypeQLType(type) - Name: capabilities - Location: (28071,28083)(28071,28083) + PsiTypeQLElement(label) - Location: (28071,28083)(28071,28083) + PsiElement(LABEL_)('capabilities')(28071,28083) + PsiWhiteSpace(' ')(28083,28084) + PsiTypeQLSubType(type_constraint) - Location: (28084,28109)(28084,28109) + PsiElement(SUB_)('sub')(28084,28087) + PsiWhiteSpace(' ')(28087,28088) + PsiTypeQLElement(type_any) - Location: (28088,28109)(28088,28109) + PsiTypeQLElement(type) - Location: (28088,28109)(28088,28109) + PsiTypeQLElement(label) - Location: (28088,28109)(28088,28109) + PsiElement(LABEL_)('stix-attribute-string')(28088,28109) + PsiElement(';')(';')(28109,28110) + PsiWhiteSpace('\n')(28110,28111) + PsiTypeQLElement(definable) - Location: (28111,28143)(28111,28143) + PsiTypeQLStatementType(statement_type) - Location: (28111,28143)(28111,28143) + PsiTypeQLElement(type_any) - Location: (28111,28117)(28111,28117) + PsiTypeQLType(type) - Name: region - Location: (28111,28117)(28111,28117) + PsiTypeQLElement(label) - Location: (28111,28117)(28111,28117) + PsiElement(LABEL_)('region')(28111,28117) + PsiWhiteSpace(' ')(28117,28118) + PsiTypeQLSubType(type_constraint) - Location: (28118,28143)(28118,28143) + PsiElement(SUB_)('sub')(28118,28121) + PsiWhiteSpace(' ')(28121,28122) + PsiTypeQLElement(type_any) - Location: (28122,28143)(28122,28143) + PsiTypeQLElement(type) - Location: (28122,28143)(28122,28143) + PsiTypeQLElement(label) - Location: (28122,28143)(28122,28143) + PsiElement(LABEL_)('stix-attribute-string')(28122,28143) + PsiElement(';')(';')(28143,28144) + PsiWhiteSpace('\n')(28144,28145) + PsiTypeQLElement(definable) - Location: (28145,28178)(28145,28178) + PsiTypeQLStatementType(statement_type) - Location: (28145,28178)(28145,28178) + PsiTypeQLElement(type_any) - Location: (28145,28152)(28145,28152) + PsiTypeQLType(type) - Name: country - Location: (28145,28152)(28145,28152) + PsiTypeQLElement(label) - Location: (28145,28152)(28145,28152) + PsiElement(LABEL_)('country')(28145,28152) + PsiWhiteSpace(' ')(28152,28153) + PsiTypeQLSubType(type_constraint) - Location: (28153,28178)(28153,28178) + PsiElement(SUB_)('sub')(28153,28156) + PsiWhiteSpace(' ')(28156,28157) + PsiTypeQLElement(type_any) - Location: (28157,28178)(28157,28178) + PsiTypeQLElement(type) - Location: (28157,28178)(28157,28178) + PsiTypeQLElement(label) - Location: (28157,28178)(28157,28178) + PsiElement(LABEL_)('stix-attribute-string')(28157,28178) + PsiElement(';')(';')(28178,28179) + PsiWhiteSpace('\n')(28179,28180) + PsiTypeQLElement(definable) - Location: (28180,28225)(28180,28225) + PsiTypeQLStatementType(statement_type) - Location: (28180,28225)(28180,28225) + PsiTypeQLElement(type_any) - Location: (28180,28199)(28180,28199) + PsiTypeQLType(type) - Name: administrative-area - Location: (28180,28199)(28180,28199) + PsiTypeQLElement(label) - Location: (28180,28199)(28180,28199) + PsiElement(LABEL_)('administrative-area')(28180,28199) + PsiWhiteSpace(' ')(28199,28200) + PsiTypeQLSubType(type_constraint) - Location: (28200,28225)(28200,28225) + PsiElement(SUB_)('sub')(28200,28203) + PsiWhiteSpace(' ')(28203,28204) + PsiTypeQLElement(type_any) - Location: (28204,28225)(28204,28225) + PsiTypeQLElement(type) - Location: (28204,28225)(28204,28225) + PsiTypeQLElement(label) - Location: (28204,28225)(28204,28225) + PsiElement(LABEL_)('stix-attribute-string')(28204,28225) + PsiElement(';')(';')(28225,28226) + PsiWhiteSpace('\n')(28226,28227) + PsiTypeQLElement(definable) - Location: (28227,28257)(28227,28257) + PsiTypeQLStatementType(statement_type) - Location: (28227,28257)(28227,28257) + PsiTypeQLElement(type_any) - Location: (28227,28231)(28227,28231) + PsiTypeQLType(type) - Name: city - Location: (28227,28231)(28227,28231) + PsiTypeQLElement(label) - Location: (28227,28231)(28227,28231) + PsiElement(LABEL_)('city')(28227,28231) + PsiWhiteSpace(' ')(28231,28232) + PsiTypeQLSubType(type_constraint) - Location: (28232,28257)(28232,28257) + PsiElement(SUB_)('sub')(28232,28235) + PsiWhiteSpace(' ')(28235,28236) + PsiTypeQLElement(type_any) - Location: (28236,28257)(28236,28257) + PsiTypeQLElement(type) - Location: (28236,28257)(28236,28257) + PsiTypeQLElement(label) - Location: (28236,28257)(28236,28257) + PsiElement(LABEL_)('stix-attribute-string')(28236,28257) + PsiElement(';')(';')(28257,28258) + PsiWhiteSpace('\n')(28258,28259) + PsiTypeQLElement(definable) - Location: (28259,28299)(28259,28299) + PsiTypeQLStatementType(statement_type) - Location: (28259,28299)(28259,28299) + PsiTypeQLElement(type_any) - Location: (28259,28273)(28259,28273) + PsiTypeQLType(type) - Name: street-address - Location: (28259,28273)(28259,28273) + PsiTypeQLElement(label) - Location: (28259,28273)(28259,28273) + PsiElement(LABEL_)('street-address')(28259,28273) + PsiWhiteSpace(' ')(28273,28274) + PsiTypeQLSubType(type_constraint) - Location: (28274,28299)(28274,28299) + PsiElement(SUB_)('sub')(28274,28277) + PsiWhiteSpace(' ')(28277,28278) + PsiTypeQLElement(type_any) - Location: (28278,28299)(28278,28299) + PsiTypeQLElement(type) - Location: (28278,28299)(28278,28299) + PsiTypeQLElement(label) - Location: (28278,28299)(28278,28299) + PsiElement(LABEL_)('stix-attribute-string')(28278,28299) + PsiElement(';')(';')(28299,28300) + PsiWhiteSpace('\n')(28300,28301) + PsiTypeQLElement(definable) - Location: (28301,28338)(28301,28338) + PsiTypeQLStatementType(statement_type) - Location: (28301,28338)(28301,28338) + PsiTypeQLElement(type_any) - Location: (28301,28312)(28301,28312) + PsiTypeQLType(type) - Name: postal-code - Location: (28301,28312)(28301,28312) + PsiTypeQLElement(label) - Location: (28301,28312)(28301,28312) + PsiElement(LABEL_)('postal-code')(28301,28312) + PsiWhiteSpace(' ')(28312,28313) + PsiTypeQLSubType(type_constraint) - Location: (28313,28338)(28313,28338) + PsiElement(SUB_)('sub')(28313,28316) + PsiWhiteSpace(' ')(28316,28317) + PsiTypeQLElement(type_any) - Location: (28317,28338)(28317,28338) + PsiTypeQLElement(type) - Location: (28317,28338)(28317,28338) + PsiTypeQLElement(label) - Location: (28317,28338)(28317,28338) + PsiElement(LABEL_)('stix-attribute-string')(28317,28338) + PsiElement(';')(';')(28338,28339) + PsiWhiteSpace('\n')(28339,28340) + PsiTypeQLElement(definable) - Location: (28340,28373)(28340,28373) + PsiTypeQLStatementType(statement_type) - Location: (28340,28373)(28340,28373) + PsiTypeQLElement(type_any) - Location: (28340,28347)(28340,28347) + PsiTypeQLType(type) - Name: version - Location: (28340,28347)(28340,28347) + PsiTypeQLElement(label) - Location: (28340,28347)(28340,28347) + PsiElement(LABEL_)('version')(28340,28347) + PsiWhiteSpace(' ')(28347,28348) + PsiTypeQLSubType(type_constraint) - Location: (28348,28373)(28348,28373) + PsiElement(SUB_)('sub')(28348,28351) + PsiWhiteSpace(' ')(28351,28352) + PsiTypeQLElement(type_any) - Location: (28352,28373)(28352,28373) + PsiTypeQLElement(type) - Location: (28352,28373)(28352,28373) + PsiTypeQLElement(label) - Location: (28352,28373)(28352,28373) + PsiElement(LABEL_)('stix-attribute-string')(28352,28373) + PsiElement(';')(';')(28373,28374) + PsiWhiteSpace('\n')(28374,28375) + PsiTypeQLElement(definable) - Location: (28375,28422)(28375,28422) + PsiTypeQLStatementType(statement_type) - Location: (28375,28422)(28375,28422) + PsiTypeQLElement(type_any) - Location: (28375,28396)(28375,28396) + PsiTypeQLType(type) - Name: configuration-version - Location: (28375,28396)(28375,28396) + PsiTypeQLElement(label) - Location: (28375,28396)(28375,28396) + PsiElement(LABEL_)('configuration-version')(28375,28396) + PsiWhiteSpace(' ')(28396,28397) + PsiTypeQLSubType(type_constraint) - Location: (28397,28422)(28397,28422) + PsiElement(SUB_)('sub')(28397,28400) + PsiWhiteSpace(' ')(28400,28401) + PsiTypeQLElement(type_any) - Location: (28401,28422)(28401,28422) + PsiTypeQLElement(type) - Location: (28401,28422)(28401,28422) + PsiTypeQLElement(label) - Location: (28401,28422)(28401,28422) + PsiElement(LABEL_)('stix-attribute-string')(28401,28422) + PsiElement(';')(';')(28422,28423) + PsiWhiteSpace('\n')(28423,28424) + PsiTypeQLElement(definable) - Location: (28424,28456)(28424,28456) + PsiTypeQLStatementType(statement_type) - Location: (28424,28456)(28424,28456) + PsiTypeQLElement(type_any) - Location: (28424,28430)(28424,28430) + PsiTypeQLType(type) - Name: module - Location: (28424,28430)(28424,28430) + PsiTypeQLElement(label) - Location: (28424,28430)(28424,28430) + PsiElement(LABEL_)('module')(28424,28430) + PsiWhiteSpace(' ')(28430,28431) + PsiTypeQLSubType(type_constraint) - Location: (28431,28456)(28431,28456) + PsiElement(SUB_)('sub')(28431,28434) + PsiWhiteSpace(' ')(28434,28435) + PsiTypeQLElement(type_any) - Location: (28435,28456)(28435,28456) + PsiTypeQLElement(type) - Location: (28435,28456)(28435,28456) + PsiTypeQLElement(label) - Location: (28435,28456)(28435,28456) + PsiElement(LABEL_)('stix-attribute-string')(28435,28456) + PsiElement(';')(';')(28456,28457) + PsiWhiteSpace('\n')(28457,28458) + PsiTypeQLElement(definable) - Location: (28458,28507)(28458,28507) + PsiTypeQLStatementType(statement_type) - Location: (28458,28507)(28458,28507) + PsiTypeQLElement(type_any) - Location: (28458,28481)(28458,28481) + PsiTypeQLType(type) - Name: analysis-engine-version - Location: (28458,28481)(28458,28481) + PsiTypeQLElement(label) - Location: (28458,28481)(28458,28481) + PsiElement(LABEL_)('analysis-engine-version')(28458,28481) + PsiWhiteSpace(' ')(28481,28482) + PsiTypeQLSubType(type_constraint) - Location: (28482,28507)(28482,28507) + PsiElement(SUB_)('sub')(28482,28485) + PsiWhiteSpace(' ')(28485,28486) + PsiTypeQLElement(type_any) - Location: (28486,28507)(28486,28507) + PsiTypeQLElement(type) - Location: (28486,28507)(28486,28507) + PsiTypeQLElement(label) - Location: (28486,28507)(28486,28507) + PsiElement(LABEL_)('stix-attribute-string')(28486,28507) + PsiElement(';')(';')(28507,28508) + PsiWhiteSpace('\n')(28508,28509) + PsiTypeQLElement(definable) - Location: (28509,28562)(28509,28562) + PsiTypeQLStatementType(statement_type) - Location: (28509,28562)(28509,28562) + PsiTypeQLElement(type_any) - Location: (28509,28536)(28509,28536) + PsiTypeQLType(type) - Name: analysis-definition-version - Location: (28509,28536)(28509,28536) + PsiTypeQLElement(label) - Location: (28509,28536)(28509,28536) + PsiElement(LABEL_)('analysis-definition-version')(28509,28536) + PsiWhiteSpace(' ')(28536,28537) + PsiTypeQLSubType(type_constraint) - Location: (28537,28562)(28537,28562) + PsiElement(SUB_)('sub')(28537,28540) + PsiWhiteSpace(' ')(28540,28541) + PsiTypeQLElement(type_any) - Location: (28541,28562)(28541,28562) + PsiTypeQLElement(type) - Location: (28541,28562)(28541,28562) + PsiTypeQLElement(label) - Location: (28541,28562)(28541,28562) + PsiElement(LABEL_)('stix-attribute-string')(28541,28562) + PsiElement(';')(';')(28562,28563) + PsiWhiteSpace('\n')(28563,28564) + PsiTypeQLElement(definable) - Location: (28564,28601)(28564,28601) + PsiTypeQLStatementType(statement_type) - Location: (28564,28601)(28564,28601) + PsiTypeQLElement(type_any) - Location: (28564,28575)(28564,28575) + PsiTypeQLType(type) - Name: result-name - Location: (28564,28575)(28564,28575) + PsiTypeQLElement(label) - Location: (28564,28575)(28564,28575) + PsiElement(LABEL_)('result-name')(28564,28575) + PsiWhiteSpace(' ')(28575,28576) + PsiTypeQLSubType(type_constraint) - Location: (28576,28601)(28576,28601) + PsiElement(SUB_)('sub')(28576,28579) + PsiWhiteSpace(' ')(28579,28580) + PsiTypeQLElement(type_any) - Location: (28580,28601)(28580,28601) + PsiTypeQLElement(type) - Location: (28580,28601)(28580,28601) + PsiTypeQLElement(label) - Location: (28580,28601)(28580,28601) + PsiElement(LABEL_)('stix-attribute-string')(28580,28601) + PsiElement(';')(';')(28601,28602) + PsiWhiteSpace('\n')(28602,28603) + PsiTypeQLElement(definable) - Location: (28603,28635)(28603,28635) + PsiTypeQLStatementType(statement_type) - Location: (28603,28635)(28603,28635) + PsiTypeQLElement(type_any) - Location: (28603,28609)(28603,28609) + PsiTypeQLType(type) - Name: result - Location: (28603,28609)(28603,28609) + PsiTypeQLElement(label) - Location: (28603,28609)(28603,28609) + PsiElement(LABEL_)('result')(28603,28609) + PsiWhiteSpace(' ')(28609,28610) + PsiTypeQLSubType(type_constraint) - Location: (28610,28635)(28610,28635) + PsiElement(SUB_)('sub')(28610,28613) + PsiWhiteSpace(' ')(28613,28614) + PsiTypeQLElement(type_any) - Location: (28614,28635)(28614,28635) + PsiTypeQLElement(type) - Location: (28614,28635)(28614,28635) + PsiTypeQLElement(label) - Location: (28614,28635)(28614,28635) + PsiElement(LABEL_)('stix-attribute-string')(28614,28635) + PsiElement(';')(';')(28635,28636) + PsiWhiteSpace('\n')(28636,28637) + PsiTypeQLElement(definable) - Location: (28637,28676)(28637,28676) + PsiTypeQLStatementType(statement_type) - Location: (28637,28676)(28637,28676) + PsiTypeQLElement(type_any) - Location: (28637,28650)(28637,28650) + PsiTypeQLType(type) - Name: note-abstract - Location: (28637,28650)(28637,28650) + PsiTypeQLElement(label) - Location: (28637,28650)(28637,28650) + PsiElement(LABEL_)('note-abstract')(28637,28650) + PsiWhiteSpace(' ')(28650,28651) + PsiTypeQLSubType(type_constraint) - Location: (28651,28676)(28651,28676) + PsiElement(SUB_)('sub')(28651,28654) + PsiWhiteSpace(' ')(28654,28655) + PsiTypeQLElement(type_any) - Location: (28655,28676)(28655,28676) + PsiTypeQLElement(type) - Location: (28655,28676)(28655,28676) + PsiTypeQLElement(label) - Location: (28655,28676)(28655,28676) + PsiElement(LABEL_)('stix-attribute-string')(28655,28676) + PsiElement(';')(';')(28676,28677) + PsiWhiteSpace('\n')(28677,28678) + PsiTypeQLElement(definable) - Location: (28678,28711)(28678,28711) + PsiTypeQLStatementType(statement_type) - Location: (28678,28711)(28678,28711) + PsiTypeQLElement(type_any) - Location: (28678,28685)(28678,28685) + PsiTypeQLType(type) - Name: content - Location: (28678,28685)(28678,28685) + PsiTypeQLElement(label) - Location: (28678,28685)(28678,28685) + PsiElement(LABEL_)('content')(28678,28685) + PsiWhiteSpace(' ')(28685,28686) + PsiTypeQLSubType(type_constraint) - Location: (28686,28711)(28686,28711) + PsiElement(SUB_)('sub')(28686,28689) + PsiWhiteSpace(' ')(28689,28690) + PsiTypeQLElement(type_any) - Location: (28690,28711)(28690,28711) + PsiTypeQLElement(type) - Location: (28690,28711)(28690,28711) + PsiTypeQLElement(label) - Location: (28690,28711)(28690,28711) + PsiElement(LABEL_)('stix-attribute-string')(28690,28711) + PsiElement(';')(';')(28711,28712) + PsiWhiteSpace('\n')(28712,28713) + PsiTypeQLElement(definable) - Location: (28713,28746)(28713,28746) + PsiTypeQLStatementType(statement_type) - Location: (28713,28746)(28713,28746) + PsiTypeQLElement(type_any) - Location: (28713,28720)(28713,28720) + PsiTypeQLType(type) - Name: authors - Location: (28713,28720)(28713,28720) + PsiTypeQLElement(label) - Location: (28713,28720)(28713,28720) + PsiElement(LABEL_)('authors')(28713,28720) + PsiWhiteSpace(' ')(28720,28721) + PsiTypeQLSubType(type_constraint) - Location: (28721,28746)(28721,28746) + PsiElement(SUB_)('sub')(28721,28724) + PsiWhiteSpace(' ')(28724,28725) + PsiTypeQLElement(type_any) - Location: (28725,28746)(28725,28746) + PsiTypeQLElement(type) - Location: (28725,28746)(28725,28746) + PsiTypeQLElement(label) - Location: (28725,28746)(28725,28746) + PsiElement(LABEL_)('stix-attribute-string')(28725,28746) + PsiElement(';')(';')(28746,28747) + PsiWhiteSpace('\n')(28747,28748) + PsiTypeQLElement(definable) - Location: (28748,28785)(28748,28785) + PsiTypeQLStatementType(statement_type) - Location: (28748,28785)(28748,28785) + PsiTypeQLElement(type_any) - Location: (28748,28759)(28748,28759) + PsiTypeQLType(type) - Name: explanation - Location: (28748,28759)(28748,28759) + PsiTypeQLElement(label) - Location: (28748,28759)(28748,28759) + PsiElement(LABEL_)('explanation')(28748,28759) + PsiWhiteSpace(' ')(28759,28760) + PsiTypeQLSubType(type_constraint) - Location: (28760,28785)(28760,28785) + PsiElement(SUB_)('sub')(28760,28763) + PsiWhiteSpace(' ')(28763,28764) + PsiTypeQLElement(type_any) - Location: (28764,28785)(28764,28785) + PsiTypeQLElement(type) - Location: (28764,28785)(28764,28785) + PsiTypeQLElement(label) - Location: (28764,28785)(28764,28785) + PsiElement(LABEL_)('stix-attribute-string')(28764,28785) + PsiElement(';')(';')(28785,28786) + PsiWhiteSpace('\n')(28786,28787) + PsiTypeQLElement(definable) - Location: (28787,28825)(28787,28825) + PsiTypeQLStatementType(statement_type) - Location: (28787,28825)(28787,28825) + PsiTypeQLElement(type_any) - Location: (28787,28799)(28787,28799) + PsiTypeQLType(type) - Name: opinion-enum - Location: (28787,28799)(28787,28799) + PsiTypeQLElement(label) - Location: (28787,28799)(28787,28799) + PsiElement(LABEL_)('opinion-enum')(28787,28799) + PsiWhiteSpace(' ')(28799,28800) + PsiTypeQLSubType(type_constraint) - Location: (28800,28825)(28800,28825) + PsiElement(SUB_)('sub')(28800,28803) + PsiWhiteSpace(' ')(28803,28804) + PsiTypeQLElement(type_any) - Location: (28804,28825)(28804,28825) + PsiTypeQLElement(type) - Location: (28804,28825)(28804,28825) + PsiTypeQLElement(label) - Location: (28804,28825)(28804,28825) + PsiElement(LABEL_)('stix-attribute-string')(28804,28825) + PsiElement(';')(';')(28825,28826) + PsiWhiteSpace('\n')(28826,28827) + PsiTypeQLElement(definable) - Location: (28827,28864)(28827,28864) + PsiTypeQLStatementType(statement_type) - Location: (28827,28864)(28827,28864) + PsiTypeQLElement(type_any) - Location: (28827,28838)(28827,28838) + PsiTypeQLType(type) - Name: report-type - Location: (28827,28838)(28827,28838) + PsiTypeQLElement(label) - Location: (28827,28838)(28827,28838) + PsiElement(LABEL_)('report-type')(28827,28838) + PsiWhiteSpace(' ')(28838,28839) + PsiTypeQLSubType(type_constraint) - Location: (28839,28864)(28839,28864) + PsiElement(SUB_)('sub')(28839,28842) + PsiWhiteSpace(' ')(28842,28843) + PsiTypeQLElement(type_any) - Location: (28843,28864)(28843,28864) + PsiTypeQLElement(type) - Location: (28843,28864)(28843,28864) + PsiTypeQLElement(label) - Location: (28843,28864)(28843,28864) + PsiElement(LABEL_)('stix-attribute-string')(28843,28864) + PsiElement(';')(';')(28864,28865) + PsiWhiteSpace('\n')(28865,28866) + PsiTypeQLElement(definable) - Location: (28866,28906)(28866,28906) + PsiTypeQLStatementType(statement_type) - Location: (28866,28906)(28866,28906) + PsiTypeQLElement(type_any) - Location: (28866,28880)(28866,28880) + PsiTypeQLType(type) - Name: sophistication - Location: (28866,28880)(28866,28880) + PsiTypeQLElement(label) - Location: (28866,28880)(28866,28880) + PsiElement(LABEL_)('sophistication')(28866,28880) + PsiWhiteSpace(' ')(28880,28881) + PsiTypeQLSubType(type_constraint) - Location: (28881,28906)(28881,28906) + PsiElement(SUB_)('sub')(28881,28884) + PsiWhiteSpace(' ')(28884,28885) + PsiTypeQLElement(type_any) - Location: (28885,28906)(28885,28906) + PsiTypeQLElement(type) - Location: (28885,28906)(28885,28906) + PsiTypeQLElement(label) - Location: (28885,28906)(28885,28906) + PsiElement(LABEL_)('stix-attribute-string')(28885,28906) + PsiElement(';')(';')(28906,28907) + PsiWhiteSpace('\n')(28907,28908) + PsiTypeQLElement(definable) - Location: (28908,28958)(28908,28958) + PsiTypeQLStatementType(statement_type) - Location: (28908,28958)(28908,28958) + PsiTypeQLElement(type_any) - Location: (28908,28932)(28908,28932) + PsiTypeQLType(type) - Name: personal-characteristics - Location: (28908,28932)(28908,28932) + PsiTypeQLElement(label) - Location: (28908,28932)(28908,28932) + PsiElement(LABEL_)('personal-characteristics')(28908,28932) + PsiWhiteSpace(' ')(28932,28933) + PsiTypeQLSubType(type_constraint) - Location: (28933,28958)(28933,28958) + PsiElement(SUB_)('sub')(28933,28936) + PsiWhiteSpace(' ')(28936,28937) + PsiTypeQLElement(type_any) - Location: (28937,28958)(28937,28958) + PsiTypeQLElement(type) - Location: (28937,28958)(28937,28958) + PsiTypeQLElement(label) - Location: (28937,28958)(28937,28958) + PsiElement(LABEL_)('stix-attribute-string')(28937,28958) + PsiElement(';')(';')(28958,28959) + PsiWhiteSpace('\n')(28959,28960) + PsiTypeQLElement(definable) - Location: (28960,28991)(28960,28991) + PsiTypeQLStatementType(statement_type) - Location: (28960,28991)(28960,28991) + PsiTypeQLElement(type_any) - Location: (28960,28965)(28960,28965) + PsiTypeQLType(type) - Name: roles - Location: (28960,28965)(28960,28965) + PsiTypeQLElement(label) - Location: (28960,28965)(28960,28965) + PsiElement(LABEL_)('roles')(28960,28965) + PsiWhiteSpace(' ')(28965,28966) + PsiTypeQLSubType(type_constraint) - Location: (28966,28991)(28966,28991) + PsiElement(SUB_)('sub')(28966,28969) + PsiWhiteSpace(' ')(28969,28970) + PsiTypeQLElement(type_any) - Location: (28970,28991)(28970,28991) + PsiTypeQLElement(type) - Location: (28970,28991)(28970,28991) + PsiTypeQLElement(label) - Location: (28970,28991)(28970,28991) + PsiElement(LABEL_)('stix-attribute-string')(28970,28991) + PsiElement(';')(';')(28991,28992) + PsiWhiteSpace('\n')(28992,28993) + PsiTypeQLElement(definable) - Location: (28993,29037)(28993,29037) + PsiTypeQLStatementType(statement_type) - Location: (28993,29037)(28993,29037) + PsiTypeQLElement(type_any) - Location: (28993,29011)(28993,29011) + PsiTypeQLType(type) - Name: threat-actor-types - Location: (28993,29011)(28993,29011) + PsiTypeQLElement(label) - Location: (28993,29011)(28993,29011) + PsiElement(LABEL_)('threat-actor-types')(28993,29011) + PsiWhiteSpace(' ')(29011,29012) + PsiTypeQLSubType(type_constraint) - Location: (29012,29037)(29012,29037) + PsiElement(SUB_)('sub')(29012,29015) + PsiWhiteSpace(' ')(29015,29016) + PsiTypeQLElement(type_any) - Location: (29016,29037)(29016,29037) + PsiTypeQLElement(type) - Location: (29016,29037)(29016,29037) + PsiTypeQLElement(label) - Location: (29016,29037)(29016,29037) + PsiElement(LABEL_)('stix-attribute-string')(29016,29037) + PsiElement(';')(';')(29037,29038) + PsiWhiteSpace('\n')(29038,29039) + PsiTypeQLElement(definable) - Location: (29039,29075)(29039,29075) + PsiTypeQLStatementType(statement_type) - Location: (29039,29075)(29039,29075) + PsiTypeQLElement(type_any) - Location: (29039,29049)(29039,29049) + PsiTypeQLType(type) - Name: tool-types - Location: (29039,29049)(29039,29049) + PsiTypeQLElement(label) - Location: (29039,29049)(29039,29049) + PsiElement(LABEL_)('tool-types')(29039,29049) + PsiWhiteSpace(' ')(29049,29050) + PsiTypeQLSubType(type_constraint) - Location: (29050,29075)(29050,29075) + PsiElement(SUB_)('sub')(29050,29053) + PsiWhiteSpace(' ')(29053,29054) + PsiTypeQLElement(type_any) - Location: (29054,29075)(29054,29075) + PsiTypeQLElement(type) - Location: (29054,29075)(29054,29075) + PsiTypeQLElement(label) - Location: (29054,29075)(29054,29075) + PsiElement(LABEL_)('stix-attribute-string')(29054,29075) + PsiElement(';')(';')(29075,29076) + PsiWhiteSpace('\n')(29076,29077) + PsiTypeQLElement(definable) - Location: (29077,29115)(29077,29115) + PsiTypeQLStatementType(statement_type) - Location: (29077,29115)(29077,29115) + PsiTypeQLElement(type_any) - Location: (29077,29089)(29077,29089) + PsiTypeQLType(type) - Name: tool-version - Location: (29077,29089)(29077,29089) + PsiTypeQLElement(label) - Location: (29077,29089)(29077,29089) + PsiElement(LABEL_)('tool-version')(29077,29089) + PsiWhiteSpace(' ')(29089,29090) + PsiTypeQLSubType(type_constraint) - Location: (29090,29115)(29090,29115) + PsiElement(SUB_)('sub')(29090,29093) + PsiWhiteSpace(' ')(29093,29094) + PsiTypeQLElement(type_any) - Location: (29094,29115)(29094,29115) + PsiTypeQLElement(type) - Location: (29094,29115)(29094,29115) + PsiTypeQLElement(label) - Location: (29094,29115)(29094,29115) + PsiElement(LABEL_)('stix-attribute-string')(29094,29115) + PsiElement(';')(';')(29115,29116) + PsiWhiteSpace('\n')(29116,29117) + PsiTypeQLElement(definable) - Location: (29117,29162)(29117,29162) + PsiTypeQLStatementType(statement_type) - Location: (29117,29162)(29117,29162) + PsiTypeQLElement(type_any) - Location: (29117,29136)(29117,29136) + PsiTypeQLType(type) - Name: vulnerability-types - Location: (29117,29136)(29117,29136) + PsiTypeQLElement(label) - Location: (29117,29136)(29117,29136) + PsiElement(LABEL_)('vulnerability-types')(29117,29136) + PsiWhiteSpace(' ')(29136,29137) + PsiTypeQLSubType(type_constraint) - Location: (29137,29162)(29137,29162) + PsiElement(SUB_)('sub')(29137,29140) + PsiWhiteSpace(' ')(29140,29141) + PsiTypeQLElement(type_any) - Location: (29141,29162)(29141,29162) + PsiTypeQLElement(type) - Location: (29141,29162)(29141,29162) + PsiTypeQLElement(label) - Location: (29141,29162)(29141,29162) + PsiElement(LABEL_)('stix-attribute-string')(29141,29162) + PsiElement(';')(';')(29162,29163) + PsiWhiteSpace('\n')(29163,29164) + PsiTypeQLElement(definable) - Location: (29164,29205)(29164,29205) + PsiTypeQLStatementType(statement_type) - Location: (29164,29205)(29164,29205) + PsiTypeQLElement(type_any) - Location: (29164,29179)(29164,29179) + PsiTypeQLType(type) - Name: kill-chain-name - Location: (29164,29179)(29164,29179) + PsiTypeQLElement(label) - Location: (29164,29179)(29164,29179) + PsiElement(LABEL_)('kill-chain-name')(29164,29179) + PsiWhiteSpace(' ')(29179,29180) + PsiTypeQLSubType(type_constraint) - Location: (29180,29205)(29180,29205) + PsiElement(SUB_)('sub')(29180,29183) + PsiWhiteSpace(' ')(29183,29184) + PsiTypeQLElement(type_any) - Location: (29184,29205)(29184,29205) + PsiTypeQLElement(type) - Location: (29184,29205)(29184,29205) + PsiTypeQLElement(label) - Location: (29184,29205)(29184,29205) + PsiElement(LABEL_)('stix-attribute-string')(29184,29205) + PsiElement(';')(';')(29205,29206) + PsiWhiteSpace('\n')(29206,29207) + PsiTypeQLElement(definable) - Location: (29207,29254)(29207,29254) + PsiTypeQLStatementType(statement_type) - Location: (29207,29254)(29207,29254) + PsiTypeQLElement(type_any) - Location: (29207,29228)(29207,29228) + PsiTypeQLType(type) - Name: kill-chain-phase-name - Location: (29207,29228)(29207,29228) + PsiTypeQLElement(label) - Location: (29207,29228)(29207,29228) + PsiElement(LABEL_)('kill-chain-phase-name')(29207,29228) + PsiWhiteSpace(' ')(29228,29229) + PsiTypeQLSubType(type_constraint) - Location: (29229,29254)(29229,29254) + PsiElement(SUB_)('sub')(29229,29232) + PsiWhiteSpace(' ')(29232,29233) + PsiTypeQLElement(type_any) - Location: (29233,29254)(29233,29254) + PsiTypeQLElement(type) - Location: (29233,29254)(29233,29254) + PsiTypeQLElement(label) - Location: (29233,29254)(29233,29254) + PsiElement(LABEL_)('stix-attribute-string')(29233,29254) + PsiElement(';')(';')(29254,29255) + PsiWhiteSpace('\n')(29255,29256) + PsiTypeQLElement(definable) - Location: (29256,29289)(29256,29289) + PsiTypeQLStatementType(statement_type) - Location: (29256,29289)(29256,29289) + PsiTypeQLElement(type_any) - Location: (29256,29263)(29256,29263) + PsiTypeQLType(type) - Name: summary - Location: (29256,29263)(29256,29263) + PsiTypeQLElement(label) - Location: (29256,29263)(29256,29263) + PsiElement(LABEL_)('summary')(29256,29263) + PsiWhiteSpace(' ')(29263,29264) + PsiTypeQLSubType(type_constraint) - Location: (29264,29289)(29264,29289) + PsiElement(SUB_)('sub')(29264,29267) + PsiWhiteSpace(' ')(29267,29268) + PsiTypeQLElement(type_any) - Location: (29268,29289)(29268,29289) + PsiTypeQLElement(type) - Location: (29268,29289)(29268,29289) + PsiTypeQLElement(label) - Location: (29268,29289)(29268,29289) + PsiElement(LABEL_)('stix-attribute-string')(29268,29289) + PsiElement(';')(';')(29289,29290) + PsiWhiteSpace('\n')(29290,29291) + PsiTypeQLElement(definable) - Location: (29291,29328)(29291,29328) + PsiTypeQLStatementType(statement_type) - Location: (29291,29328)(29291,29328) + PsiTypeQLElement(type_any) - Location: (29291,29302)(29291,29302) + PsiTypeQLType(type) - Name: payload-bin - Location: (29291,29302)(29291,29302) + PsiTypeQLElement(label) - Location: (29291,29302)(29291,29302) + PsiElement(LABEL_)('payload-bin')(29291,29302) + PsiWhiteSpace(' ')(29302,29303) + PsiTypeQLSubType(type_constraint) - Location: (29303,29328)(29303,29328) + PsiElement(SUB_)('sub')(29303,29306) + PsiWhiteSpace(' ')(29306,29307) + PsiTypeQLElement(type_any) - Location: (29307,29328)(29307,29328) + PsiTypeQLElement(type) - Location: (29307,29328)(29307,29328) + PsiTypeQLElement(label) - Location: (29307,29328)(29307,29328) + PsiElement(LABEL_)('stix-attribute-string')(29307,29328) + PsiElement(';')(';')(29328,29329) + PsiWhiteSpace('\n')(29329,29330) + PsiTypeQLElement(definable) - Location: (29330,29370)(29330,29370) + PsiTypeQLStatementType(statement_type) - Location: (29330,29370)(29330,29370) + PsiTypeQLElement(type_any) - Location: (29330,29344)(29330,29344) + PsiTypeQLType(type) - Name: decryption-key - Location: (29330,29344)(29330,29344) + PsiTypeQLElement(label) - Location: (29330,29344)(29330,29344) + PsiElement(LABEL_)('decryption-key')(29330,29344) + PsiWhiteSpace(' ')(29344,29345) + PsiTypeQLSubType(type_constraint) - Location: (29345,29370)(29345,29370) + PsiElement(SUB_)('sub')(29345,29348) + PsiWhiteSpace(' ')(29348,29349) + PsiTypeQLElement(type_any) - Location: (29349,29370)(29349,29370) + PsiTypeQLElement(type) - Location: (29349,29370)(29349,29370) + PsiTypeQLElement(label) - Location: (29349,29370)(29349,29370) + PsiElement(LABEL_)('stix-attribute-string')(29349,29370) + PsiElement(';')(';')(29370,29371) + PsiWhiteSpace('\n')(29371,29372) + PsiTypeQLElement(definable) - Location: (29372,29402)(29372,29402) + PsiTypeQLStatementType(statement_type) - Location: (29372,29402)(29372,29402) + PsiTypeQLElement(type_any) - Location: (29372,29376)(29372,29376) + PsiTypeQLType(type) - Name: path - Location: (29372,29376)(29372,29376) + PsiTypeQLElement(label) - Location: (29372,29376)(29372,29376) + PsiElement(LABEL_)('path')(29372,29376) + PsiWhiteSpace(' ')(29376,29377) + PsiTypeQLSubType(type_constraint) - Location: (29377,29402)(29377,29402) + PsiElement(SUB_)('sub')(29377,29380) + PsiWhiteSpace(' ')(29380,29381) + PsiTypeQLElement(type_any) - Location: (29381,29402)(29381,29402) + PsiTypeQLElement(type) - Location: (29381,29402)(29381,29402) + PsiTypeQLElement(label) - Location: (29381,29402)(29381,29402) + PsiElement(LABEL_)('stix-attribute-string')(29381,29402) + PsiElement(';')(';')(29402,29403) + PsiWhiteSpace('\n')(29403,29404) + PsiTypeQLElement(definable) - Location: (29404,29438)(29404,29438) + PsiTypeQLStatementType(statement_type) - Location: (29404,29438)(29404,29438) + PsiTypeQLElement(type_any) - Location: (29404,29412)(29404,29412) + PsiTypeQLType(type) - Name: path-enc - Location: (29404,29412)(29404,29412) + PsiTypeQLElement(label) - Location: (29404,29412)(29404,29412) + PsiElement(LABEL_)('path-enc')(29404,29412) + PsiWhiteSpace(' ')(29412,29413) + PsiTypeQLSubType(type_constraint) - Location: (29413,29438)(29413,29438) + PsiElement(SUB_)('sub')(29413,29416) + PsiWhiteSpace(' ')(29416,29417) + PsiTypeQLElement(type_any) - Location: (29417,29438)(29417,29438) + PsiTypeQLElement(type) - Location: (29417,29438)(29417,29438) + PsiTypeQLElement(label) - Location: (29417,29438)(29417,29438) + PsiElement(LABEL_)('stix-attribute-string')(29417,29438) + PsiElement(';')(';')(29438,29439) + PsiWhiteSpace('\n')(29439,29440) + PsiTypeQLElement(definable) - Location: (29440,29469)(29440,29469) + PsiTypeQLStatementType(statement_type) - Location: (29440,29469)(29440,29469) + PsiTypeQLElement(type_any) - Location: (29440,29443)(29440,29443) + PsiTypeQLType(type) - Name: rir - Location: (29440,29443)(29440,29443) + PsiTypeQLElement(label) - Location: (29440,29443)(29440,29443) + PsiElement(LABEL_)('rir')(29440,29443) + PsiWhiteSpace(' ')(29443,29444) + PsiTypeQLSubType(type_constraint) - Location: (29444,29469)(29444,29469) + PsiElement(SUB_)('sub')(29444,29447) + PsiWhiteSpace(' ')(29447,29448) + PsiTypeQLElement(type_any) - Location: (29448,29469)(29448,29469) + PsiTypeQLElement(type) - Location: (29448,29469)(29448,29469) + PsiTypeQLElement(label) - Location: (29448,29469)(29448,29469) + PsiElement(LABEL_)('stix-attribute-string')(29448,29469) + PsiElement(';')(';')(29469,29470) + PsiWhiteSpace('\n')(29470,29471) + PsiTypeQLElement(definable) - Location: (29471,29509)(29471,29509) + PsiTypeQLStatementType(statement_type) - Location: (29471,29509)(29471,29509) + PsiTypeQLElement(type_any) - Location: (29471,29483)(29471,29483) + PsiTypeQLType(type) - Name: display-name - Location: (29471,29483)(29471,29483) + PsiTypeQLElement(label) - Location: (29471,29483)(29471,29483) + PsiElement(LABEL_)('display-name')(29471,29483) + PsiWhiteSpace(' ')(29483,29484) + PsiTypeQLSubType(type_constraint) - Location: (29484,29509)(29484,29509) + PsiElement(SUB_)('sub')(29484,29487) + PsiWhiteSpace(' ')(29487,29488) + PsiTypeQLElement(type_any) - Location: (29488,29509)(29488,29509) + PsiTypeQLElement(type) - Location: (29488,29509)(29488,29509) + PsiTypeQLElement(label) - Location: (29488,29509)(29488,29509) + PsiElement(LABEL_)('stix-attribute-string')(29488,29509) + PsiElement(';')(';')(29509,29510) + PsiWhiteSpace('\n')(29510,29511) + PsiTypeQLElement(definable) - Location: (29511,29549)(29511,29549) + PsiTypeQLStatementType(statement_type) - Location: (29511,29549)(29511,29549) + PsiTypeQLElement(type_any) - Location: (29511,29523)(29511,29523) + PsiTypeQLType(type) - Name: content-type - Location: (29511,29523)(29511,29523) + PsiTypeQLElement(label) - Location: (29511,29523)(29511,29523) + PsiElement(LABEL_)('content-type')(29511,29523) + PsiWhiteSpace(' ')(29523,29524) + PsiTypeQLSubType(type_constraint) - Location: (29524,29549)(29524,29549) + PsiElement(SUB_)('sub')(29524,29527) + PsiWhiteSpace(' ')(29527,29528) + PsiTypeQLElement(type_any) - Location: (29528,29549)(29528,29549) + PsiTypeQLElement(type) - Location: (29528,29549)(29528,29549) + PsiTypeQLElement(label) - Location: (29528,29549)(29528,29549) + PsiElement(LABEL_)('stix-attribute-string')(29528,29549) + PsiElement(';')(';')(29549,29550) + PsiWhiteSpace('\n')(29550,29551) + PsiTypeQLElement(definable) - Location: (29551,29587)(29551,29587) + PsiTypeQLStatementType(statement_type) - Location: (29551,29587)(29551,29587) + PsiTypeQLElement(type_any) - Location: (29551,29561)(29551,29561) + PsiTypeQLType(type) - Name: message-id - Location: (29551,29561)(29551,29561) + PsiTypeQLElement(label) - Location: (29551,29561)(29551,29561) + PsiElement(LABEL_)('message-id')(29551,29561) + PsiWhiteSpace(' ')(29561,29562) + PsiTypeQLSubType(type_constraint) - Location: (29562,29587)(29562,29587) + PsiElement(SUB_)('sub')(29562,29565) + PsiWhiteSpace(' ')(29565,29566) + PsiTypeQLElement(type_any) - Location: (29566,29587)(29566,29587) + PsiTypeQLElement(type) - Location: (29566,29587)(29566,29587) + PsiTypeQLElement(label) - Location: (29566,29587)(29566,29587) + PsiElement(LABEL_)('stix-attribute-string')(29566,29587) + PsiElement(';')(';')(29587,29588) + PsiWhiteSpace('\n')(29588,29589) + PsiTypeQLElement(definable) - Location: (29589,29622)(29589,29622) + PsiTypeQLStatementType(statement_type) - Location: (29589,29622)(29589,29622) + PsiTypeQLElement(type_any) - Location: (29589,29596)(29589,29596) + PsiTypeQLType(type) - Name: subject - Location: (29589,29596)(29589,29596) + PsiTypeQLElement(label) - Location: (29589,29596)(29589,29596) + PsiElement(LABEL_)('subject')(29589,29596) + PsiWhiteSpace(' ')(29596,29597) + PsiTypeQLSubType(type_constraint) - Location: (29597,29622)(29597,29622) + PsiElement(SUB_)('sub')(29597,29600) + PsiWhiteSpace(' ')(29600,29601) + PsiTypeQLElement(type_any) - Location: (29601,29622)(29601,29622) + PsiTypeQLElement(type) - Location: (29601,29622)(29601,29622) + PsiTypeQLElement(label) - Location: (29601,29622)(29601,29622) + PsiElement(LABEL_)('stix-attribute-string')(29601,29622) + PsiElement(';')(';')(29622,29623) + PsiWhiteSpace('\n')(29623,29624) + PsiTypeQLElement(definable) - Location: (29624,29654)(29624,29654) + PsiTypeQLStatementType(statement_type) - Location: (29624,29654)(29624,29654) + PsiTypeQLElement(type_any) - Location: (29624,29628)(29624,29628) + PsiTypeQLType(type) - Name: body - Location: (29624,29628)(29624,29628) + PsiTypeQLElement(label) - Location: (29624,29628)(29624,29628) + PsiElement(LABEL_)('body')(29624,29628) + PsiWhiteSpace(' ')(29628,29629) + PsiTypeQLSubType(type_constraint) - Location: (29629,29654)(29629,29654) + PsiElement(SUB_)('sub')(29629,29632) + PsiWhiteSpace(' ')(29632,29633) + PsiTypeQLElement(type_any) - Location: (29633,29654)(29633,29654) + PsiTypeQLElement(type) - Location: (29633,29654)(29633,29654) + PsiTypeQLElement(label) - Location: (29633,29654)(29633,29654) + PsiElement(LABEL_)('stix-attribute-string')(29633,29654) + PsiElement(';')(';')(29654,29655) + PsiWhiteSpace('\n')(29655,29656) + PsiTypeQLElement(definable) - Location: (29656,29701)(29656,29701) + PsiTypeQLStatementType(statement_type) - Location: (29656,29701)(29656,29701) + PsiTypeQLElement(type_any) - Location: (29656,29675)(29656,29675) + PsiTypeQLType(type) - Name: content-disposition - Location: (29656,29675)(29656,29675) + PsiTypeQLElement(label) - Location: (29656,29675)(29656,29675) + PsiElement(LABEL_)('content-disposition')(29656,29675) + PsiWhiteSpace(' ')(29675,29676) + PsiTypeQLSubType(type_constraint) - Location: (29676,29701)(29676,29701) + PsiElement(SUB_)('sub')(29676,29679) + PsiWhiteSpace(' ')(29679,29680) + PsiTypeQLElement(type_any) - Location: (29680,29701)(29680,29701) + PsiTypeQLElement(type) - Location: (29680,29701)(29680,29701) + PsiTypeQLElement(label) - Location: (29680,29701)(29680,29701) + PsiElement(LABEL_)('stix-attribute-string')(29680,29701) + PsiElement(';')(';')(29701,29702) + PsiWhiteSpace('\n')(29702,29703) + PsiTypeQLElement(definable) - Location: (29703,29736)(29703,29736) + PsiTypeQLStatementType(statement_type) - Location: (29703,29736)(29703,29736) + PsiTypeQLElement(type_any) - Location: (29703,29710)(29703,29710) + PsiTypeQLType(type) - Name: comment - Location: (29703,29710)(29703,29710) + PsiTypeQLElement(label) - Location: (29703,29710)(29703,29710) + PsiElement(LABEL_)('comment')(29703,29710) + PsiWhiteSpace(' ')(29710,29711) + PsiTypeQLSubType(type_constraint) - Location: (29711,29736)(29711,29736) + PsiElement(SUB_)('sub')(29711,29714) + PsiWhiteSpace(' ')(29714,29715) + PsiTypeQLElement(type_any) - Location: (29715,29736)(29715,29736) + PsiTypeQLElement(type) - Location: (29715,29736)(29715,29736) + PsiTypeQLElement(label) - Location: (29715,29736)(29715,29736) + PsiElement(LABEL_)('stix-attribute-string')(29715,29736) + PsiElement(';')(';')(29736,29737) + PsiWhiteSpace('\n')(29737,29738) + PsiTypeQLElement(definable) - Location: (29738,29767)(29738,29767) + PsiTypeQLStatementType(statement_type) - Location: (29738,29767)(29738,29767) + PsiTypeQLElement(type_any) - Location: (29738,29741)(29738,29741) + PsiTypeQLType(type) - Name: sid - Location: (29738,29741)(29738,29741) + PsiTypeQLElement(label) - Location: (29738,29741)(29738,29741) + PsiElement(LABEL_)('sid')(29738,29741) + PsiWhiteSpace(' ')(29741,29742) + PsiTypeQLSubType(type_constraint) - Location: (29742,29767)(29742,29767) + PsiElement(SUB_)('sub')(29742,29745) + PsiWhiteSpace(' ')(29745,29746) + PsiTypeQLElement(type_any) - Location: (29746,29767)(29746,29767) + PsiTypeQLElement(type) - Location: (29746,29767)(29746,29767) + PsiTypeQLElement(label) - Location: (29746,29767)(29746,29767) + PsiElement(LABEL_)('stix-attribute-string')(29746,29767) + PsiElement(';')(';')(29767,29768) + PsiWhiteSpace('\n')(29768,29769) + PsiTypeQLElement(definable) - Location: (29769,29804)(29769,29804) + PsiTypeQLStatementType(statement_type) - Location: (29769,29804)(29769,29804) + PsiTypeQLElement(type_any) - Location: (29769,29778)(29769,29778) + PsiTypeQLType(type) - Name: owner-sid - Location: (29769,29778)(29769,29778) + PsiTypeQLElement(label) - Location: (29769,29778)(29769,29778) + PsiElement(LABEL_)('owner-sid')(29769,29778) + PsiWhiteSpace(' ')(29778,29779) + PsiTypeQLSubType(type_constraint) - Location: (29779,29804)(29779,29804) + PsiElement(SUB_)('sub')(29779,29782) + PsiWhiteSpace(' ')(29782,29783) + PsiTypeQLElement(type_any) - Location: (29783,29804)(29783,29804) + PsiTypeQLElement(type) - Location: (29783,29804)(29783,29804) + PsiTypeQLElement(label) - Location: (29783,29804)(29783,29804) + PsiElement(LABEL_)('stix-attribute-string')(29783,29804) + PsiElement(';')(';')(29804,29805) + PsiWhiteSpace('\n')(29805,29806) + PsiTypeQLElement(definable) - Location: (29806,29838)(29806,29838) + PsiTypeQLStatementType(statement_type) - Location: (29806,29838)(29806,29838) + PsiTypeQLElement(type_any) - Location: (29806,29812)(29806,29812) + PsiTypeQLType(type) - Name: pdfid0 - Location: (29806,29812)(29806,29812) + PsiTypeQLElement(label) - Location: (29806,29812)(29806,29812) + PsiElement(LABEL_)('pdfid0')(29806,29812) + PsiWhiteSpace(' ')(29812,29813) + PsiTypeQLSubType(type_constraint) - Location: (29813,29838)(29813,29838) + PsiElement(SUB_)('sub')(29813,29816) + PsiWhiteSpace(' ')(29816,29817) + PsiTypeQLElement(type_any) - Location: (29817,29838)(29817,29838) + PsiTypeQLElement(type) - Location: (29817,29838)(29817,29838) + PsiTypeQLElement(label) - Location: (29817,29838)(29817,29838) + PsiElement(LABEL_)('stix-attribute-string')(29817,29838) + PsiElement(';')(';')(29838,29839) + PsiWhiteSpace('\n')(29839,29840) + PsiTypeQLElement(definable) - Location: (29840,29872)(29840,29872) + PsiTypeQLStatementType(statement_type) - Location: (29840,29872)(29840,29872) + PsiTypeQLElement(type_any) - Location: (29840,29846)(29840,29846) + PsiTypeQLType(type) - Name: pdfid1 - Location: (29840,29846)(29840,29846) + PsiTypeQLElement(label) - Location: (29840,29846)(29840,29846) + PsiElement(LABEL_)('pdfid1')(29840,29846) + PsiWhiteSpace(' ')(29846,29847) + PsiTypeQLSubType(type_constraint) - Location: (29847,29872)(29847,29872) + PsiElement(SUB_)('sub')(29847,29850) + PsiWhiteSpace(' ')(29850,29851) + PsiTypeQLElement(type_any) - Location: (29851,29872)(29851,29872) + PsiTypeQLElement(type) - Location: (29851,29872)(29851,29872) + PsiTypeQLElement(label) - Location: (29851,29872)(29851,29872) + PsiElement(LABEL_)('stix-attribute-string')(29851,29872) + PsiElement(';')(';')(29872,29873) + PsiWhiteSpace('\n')(29873,29874) + PsiTypeQLElement(definable) - Location: (29874,29907)(29874,29907) + PsiTypeQLStatementType(statement_type) - Location: (29874,29907)(29874,29907) + PsiTypeQLElement(type_any) - Location: (29874,29881)(29874,29881) + PsiTypeQLType(type) - Name: pe-type - Location: (29874,29881)(29874,29881) + PsiTypeQLElement(label) - Location: (29874,29881)(29874,29881) + PsiElement(LABEL_)('pe-type')(29874,29881) + PsiWhiteSpace(' ')(29881,29882) + PsiTypeQLSubType(type_constraint) - Location: (29882,29907)(29882,29907) + PsiElement(SUB_)('sub')(29882,29885) + PsiWhiteSpace(' ')(29885,29886) + PsiTypeQLElement(type_any) - Location: (29886,29907)(29886,29907) + PsiTypeQLElement(type) - Location: (29886,29907)(29886,29907) + PsiTypeQLElement(label) - Location: (29886,29907)(29886,29907) + PsiElement(LABEL_)('stix-attribute-string')(29886,29907) + PsiElement(';')(';')(29907,29908) + PsiWhiteSpace('\n')(29908,29909) + PsiTypeQLElement(definable) - Location: (29909,29942)(29909,29942) + PsiTypeQLStatementType(statement_type) - Location: (29909,29942)(29909,29942) + PsiTypeQLElement(type_any) - Location: (29909,29916)(29909,29916) + PsiTypeQLType(type) - Name: imphash - Location: (29909,29916)(29909,29916) + PsiTypeQLElement(label) - Location: (29909,29916)(29909,29916) + PsiElement(LABEL_)('imphash')(29909,29916) + PsiWhiteSpace(' ')(29916,29917) + PsiTypeQLSubType(type_constraint) - Location: (29917,29942)(29917,29942) + PsiElement(SUB_)('sub')(29917,29920) + PsiWhiteSpace(' ')(29920,29921) + PsiTypeQLElement(type_any) - Location: (29921,29942)(29921,29942) + PsiTypeQLElement(type) - Location: (29921,29942)(29921,29942) + PsiTypeQLElement(label) - Location: (29921,29942)(29921,29942) + PsiElement(LABEL_)('stix-attribute-string')(29921,29942) + PsiElement(';')(';')(29942,29943) + PsiWhiteSpace('\n')(29943,29944) + PsiTypeQLElement(definable) - Location: (29944,29981)(29944,29981) + PsiTypeQLStatementType(statement_type) - Location: (29944,29981)(29944,29981) + PsiTypeQLElement(type_any) - Location: (29944,29955)(29944,29955) + PsiTypeQLType(type) - Name: machine-hex - Location: (29944,29955)(29944,29955) + PsiTypeQLElement(label) - Location: (29944,29955)(29944,29955) + PsiElement(LABEL_)('machine-hex')(29944,29955) + PsiWhiteSpace(' ')(29955,29956) + PsiTypeQLSubType(type_constraint) - Location: (29956,29981)(29956,29981) + PsiElement(SUB_)('sub')(29956,29959) + PsiWhiteSpace(' ')(29959,29960) + PsiTypeQLElement(type_any) - Location: (29960,29981)(29960,29981) + PsiTypeQLElement(type) - Location: (29960,29981)(29960,29981) + PsiTypeQLElement(label) - Location: (29960,29981)(29960,29981) + PsiElement(LABEL_)('stix-attribute-string')(29960,29981) + PsiElement(';')(';')(29981,29982) + PsiWhiteSpace('\n')(29982,29983) + PsiTypeQLElement(definable) - Location: (29983,30036)(29983,30036) + PsiTypeQLStatementType(statement_type) - Location: (29983,30036)(29983,30036) + PsiTypeQLElement(type_any) - Location: (29983,30010)(29983,30010) + PsiTypeQLType(type) - Name: pointer-to-symbol-table-hex - Location: (29983,30010)(29983,30010) + PsiTypeQLElement(label) - Location: (29983,30010)(29983,30010) + PsiElement(LABEL_)('pointer-to-symbol-table-hex')(29983,30010) + PsiWhiteSpace(' ')(30010,30011) + PsiTypeQLSubType(type_constraint) - Location: (30011,30036)(30011,30036) + PsiElement(SUB_)('sub')(30011,30014) + PsiWhiteSpace(' ')(30014,30015) + PsiTypeQLElement(type_any) - Location: (30015,30036)(30015,30036) + PsiTypeQLElement(type) - Location: (30015,30036)(30015,30036) + PsiTypeQLElement(label) - Location: (30015,30036)(30015,30036) + PsiElement(LABEL_)('stix-attribute-string')(30015,30036) + PsiElement(';')(';')(30036,30037) + PsiWhiteSpace('\n')(30037,30038) + PsiTypeQLElement(definable) - Location: (30038,30082)(30038,30082) + PsiTypeQLStatementType(statement_type) - Location: (30038,30082)(30038,30082) + PsiTypeQLElement(type_any) - Location: (30038,30056)(30038,30056) + PsiTypeQLType(type) - Name: characterstics-hex - Location: (30038,30056)(30038,30056) + PsiTypeQLElement(label) - Location: (30038,30056)(30038,30056) + PsiElement(LABEL_)('characterstics-hex')(30038,30056) + PsiWhiteSpace(' ')(30056,30057) + PsiTypeQLSubType(type_constraint) - Location: (30057,30082)(30057,30082) + PsiElement(SUB_)('sub')(30057,30060) + PsiWhiteSpace(' ')(30060,30061) + PsiTypeQLElement(type_any) - Location: (30061,30082)(30061,30082) + PsiTypeQLElement(type) - Location: (30061,30082)(30061,30082) + PsiTypeQLElement(label) - Location: (30061,30082)(30061,30082) + PsiElement(LABEL_)('stix-attribute-string')(30061,30082) + PsiElement(';')(';')(30082,30083) + PsiWhiteSpace('\n')(30083,30084) + PsiTypeQLElement(definable) - Location: (30084,30133)(30084,30133) + PsiTypeQLStatementType(statement_type) - Location: (30084,30133)(30084,30133) + PsiTypeQLElement(type_any) - Location: (30084,30107)(30084,30107) + PsiTypeQLType(type) - Name: win32-version-value-hex - Location: (30084,30107)(30084,30107) + PsiTypeQLElement(label) - Location: (30084,30107)(30084,30107) + PsiElement(LABEL_)('win32-version-value-hex')(30084,30107) + PsiWhiteSpace(' ')(30107,30108) + PsiTypeQLSubType(type_constraint) - Location: (30108,30133)(30108,30133) + PsiElement(SUB_)('sub')(30108,30111) + PsiWhiteSpace(' ')(30111,30112) + PsiTypeQLElement(type_any) - Location: (30112,30133)(30112,30133) + PsiTypeQLElement(type) - Location: (30112,30133)(30112,30133) + PsiTypeQLElement(label) - Location: (30112,30133)(30112,30133) + PsiElement(LABEL_)('stix-attribute-string')(30112,30133) + PsiElement(';')(';')(30133,30134) + PsiWhiteSpace('\n')(30134,30135) + PsiTypeQLElement(definable) - Location: (30135,30173)(30135,30173) + PsiTypeQLStatementType(statement_type) - Location: (30135,30173)(30135,30173) + PsiTypeQLElement(type_any) - Location: (30135,30147)(30135,30147) + PsiTypeQLType(type) - Name: checksum-hex - Location: (30135,30147)(30135,30147) + PsiTypeQLElement(label) - Location: (30135,30147)(30135,30147) + PsiElement(LABEL_)('checksum-hex')(30135,30147) + PsiWhiteSpace(' ')(30147,30148) + PsiTypeQLSubType(type_constraint) - Location: (30148,30173)(30148,30173) + PsiElement(SUB_)('sub')(30148,30151) + PsiWhiteSpace(' ')(30151,30152) + PsiTypeQLElement(type_any) - Location: (30152,30173)(30152,30173) + PsiTypeQLElement(type) - Location: (30152,30173)(30152,30173) + PsiTypeQLElement(label) - Location: (30152,30173)(30152,30173) + PsiElement(LABEL_)('stix-attribute-string')(30152,30173) + PsiElement(';')(';')(30173,30174) + PsiWhiteSpace('\n')(30174,30175) + PsiTypeQLElement(definable) - Location: (30175,30214)(30175,30214) + PsiTypeQLStatementType(statement_type) - Location: (30175,30214)(30175,30214) + PsiTypeQLElement(type_any) - Location: (30175,30188)(30175,30188) + PsiTypeQLType(type) - Name: subsystem-hex - Location: (30175,30188)(30175,30188) + PsiTypeQLElement(label) - Location: (30175,30188)(30175,30188) + PsiElement(LABEL_)('subsystem-hex')(30175,30188) + PsiWhiteSpace(' ')(30188,30189) + PsiTypeQLSubType(type_constraint) - Location: (30189,30214)(30189,30214) + PsiElement(SUB_)('sub')(30189,30192) + PsiWhiteSpace(' ')(30192,30193) + PsiTypeQLElement(type_any) - Location: (30193,30214)(30193,30214) + PsiTypeQLElement(type) - Location: (30193,30214)(30193,30214) + PsiTypeQLElement(label) - Location: (30193,30214)(30193,30214) + PsiElement(LABEL_)('stix-attribute-string')(30193,30214) + PsiElement(';')(';')(30214,30215) + PsiWhiteSpace('\n')(30215,30216) + PsiTypeQLElement(definable) - Location: (30216,30265)(30216,30265) + PsiTypeQLStatementType(statement_type) - Location: (30216,30265)(30216,30265) + PsiTypeQLElement(type_any) - Location: (30216,30239)(30216,30239) + PsiTypeQLType(type) - Name: dll-characteristics-hex - Location: (30216,30239)(30216,30239) + PsiTypeQLElement(label) - Location: (30216,30239)(30216,30239) + PsiElement(LABEL_)('dll-characteristics-hex')(30216,30239) + PsiWhiteSpace(' ')(30239,30240) + PsiTypeQLSubType(type_constraint) - Location: (30240,30265)(30240,30265) + PsiElement(SUB_)('sub')(30240,30243) + PsiWhiteSpace(' ')(30243,30244) + PsiTypeQLElement(type_any) - Location: (30244,30265)(30244,30265) + PsiTypeQLElement(type) - Location: (30244,30265)(30244,30265) + PsiTypeQLElement(label) - Location: (30244,30265)(30244,30265) + PsiElement(LABEL_)('stix-attribute-string')(30244,30265) + PsiElement(';')(';')(30265,30266) + PsiWhiteSpace('\n')(30266,30267) + PsiTypeQLElement(definable) - Location: (30267,30309)(30267,30309) + PsiTypeQLStatementType(statement_type) - Location: (30267,30309)(30267,30309) + PsiTypeQLElement(type_any) - Location: (30267,30283)(30267,30283) + PsiTypeQLType(type) - Name: loader-flags-hex - Location: (30267,30283)(30267,30283) + PsiTypeQLElement(label) - Location: (30267,30283)(30267,30283) + PsiElement(LABEL_)('loader-flags-hex')(30267,30283) + PsiWhiteSpace(' ')(30283,30284) + PsiTypeQLSubType(type_constraint) - Location: (30284,30309)(30284,30309) + PsiElement(SUB_)('sub')(30284,30287) + PsiWhiteSpace(' ')(30287,30288) + PsiTypeQLElement(type_any) - Location: (30288,30309)(30288,30309) + PsiTypeQLElement(type) - Location: (30288,30309)(30288,30309) + PsiTypeQLElement(label) - Location: (30288,30309)(30288,30309) + PsiElement(LABEL_)('stix-attribute-string')(30288,30309) + PsiElement(';')(';')(30309,30310) + PsiWhiteSpace('\n')(30310,30311) + PsiTypeQLElement(definable) - Location: (30311,30346)(30311,30346) + PsiTypeQLStatementType(statement_type) - Location: (30311,30346)(30311,30346) + PsiTypeQLElement(type_any) - Location: (30311,30320)(30311,30320) + PsiTypeQLType(type) - Name: magic-hex - Location: (30311,30320)(30311,30320) + PsiTypeQLElement(label) - Location: (30311,30320)(30311,30320) + PsiElement(LABEL_)('magic-hex')(30311,30320) + PsiWhiteSpace(' ')(30320,30321) + PsiTypeQLSubType(type_constraint) - Location: (30321,30346)(30321,30346) + PsiElement(SUB_)('sub')(30321,30324) + PsiWhiteSpace(' ')(30324,30325) + PsiTypeQLElement(type_any) - Location: (30325,30346)(30325,30346) + PsiTypeQLElement(type) - Location: (30325,30346)(30325,30346) + PsiTypeQLElement(label) - Location: (30325,30346)(30325,30346) + PsiElement(LABEL_)('stix-attribute-string')(30325,30346) + PsiElement(';')(';')(30346,30347) + PsiWhiteSpace('\n')(30347,30348) + PsiTypeQLElement(definable) - Location: (30348,30388)(30348,30388) + PsiTypeQLStatementType(statement_type) - Location: (30348,30388)(30348,30388) + PsiTypeQLElement(type_any) - Location: (30348,30362)(30348,30362) + PsiTypeQLType(type) - Name: request-method - Location: (30348,30362)(30348,30362) + PsiTypeQLElement(label) - Location: (30348,30362)(30348,30362) + PsiElement(LABEL_)('request-method')(30348,30362) + PsiWhiteSpace(' ')(30362,30363) + PsiTypeQLSubType(type_constraint) - Location: (30363,30388)(30363,30388) + PsiElement(SUB_)('sub')(30363,30366) + PsiWhiteSpace(' ')(30366,30367) + PsiTypeQLElement(type_any) - Location: (30367,30388)(30367,30388) + PsiTypeQLElement(type) - Location: (30367,30388)(30367,30388) + PsiTypeQLElement(label) - Location: (30367,30388)(30367,30388) + PsiElement(LABEL_)('stix-attribute-string')(30367,30388) + PsiElement(';')(';')(30388,30389) + PsiWhiteSpace('\n')(30389,30390) + PsiTypeQLElement(definable) - Location: (30390,30429)(30390,30429) + PsiTypeQLStatementType(statement_type) - Location: (30390,30429)(30390,30429) + PsiTypeQLElement(type_any) - Location: (30390,30403)(30390,30403) + PsiTypeQLType(type) - Name: request-value - Location: (30390,30403)(30390,30403) + PsiTypeQLElement(label) - Location: (30390,30403)(30390,30403) + PsiElement(LABEL_)('request-value')(30390,30403) + PsiWhiteSpace(' ')(30403,30404) + PsiTypeQLSubType(type_constraint) - Location: (30404,30429)(30404,30429) + PsiElement(SUB_)('sub')(30404,30407) + PsiWhiteSpace(' ')(30407,30408) + PsiTypeQLElement(type_any) - Location: (30408,30429)(30408,30429) + PsiTypeQLElement(type) - Location: (30408,30429)(30408,30429) + PsiTypeQLElement(label) - Location: (30408,30429)(30408,30429) + PsiElement(LABEL_)('stix-attribute-string')(30408,30429) + PsiElement(';')(';')(30429,30430) + PsiWhiteSpace('\n')(30430,30431) + PsiTypeQLElement(definable) - Location: (30431,30472)(30431,30472) + PsiTypeQLStatementType(statement_type) - Location: (30431,30472)(30431,30472) + PsiTypeQLElement(type_any) - Location: (30431,30446)(30431,30446) + PsiTypeQLType(type) - Name: request-version - Location: (30431,30446)(30431,30446) + PsiTypeQLElement(label) - Location: (30431,30446)(30431,30446) + PsiElement(LABEL_)('request-version')(30431,30446) + PsiWhiteSpace(' ')(30446,30447) + PsiTypeQLSubType(type_constraint) - Location: (30447,30472)(30447,30472) + PsiElement(SUB_)('sub')(30447,30450) + PsiWhiteSpace(' ')(30450,30451) + PsiTypeQLElement(type_any) - Location: (30451,30472)(30451,30472) + PsiTypeQLElement(type) - Location: (30451,30472)(30451,30472) + PsiTypeQLElement(label) - Location: (30451,30472)(30451,30472) + PsiElement(LABEL_)('stix-attribute-string')(30451,30472) + PsiElement(';')(';')(30472,30473) + PsiWhiteSpace('\n')(30473,30474) + PsiTypeQLElement(definable) - Location: (30474,30513)(30474,30513) + PsiTypeQLStatementType(statement_type) - Location: (30474,30513)(30474,30513) + PsiTypeQLElement(type_any) - Location: (30474,30487)(30474,30487) + PsiTypeQLType(type) - Name: icmp-type-hex - Location: (30474,30487)(30474,30487) + PsiTypeQLElement(label) - Location: (30474,30487)(30474,30487) + PsiElement(LABEL_)('icmp-type-hex')(30474,30487) + PsiWhiteSpace(' ')(30487,30488) + PsiTypeQLSubType(type_constraint) - Location: (30488,30513)(30488,30513) + PsiElement(SUB_)('sub')(30488,30491) + PsiWhiteSpace(' ')(30491,30492) + PsiTypeQLElement(type_any) - Location: (30492,30513)(30492,30513) + PsiTypeQLElement(type) - Location: (30492,30513)(30492,30513) + PsiTypeQLElement(label) - Location: (30492,30513)(30492,30513) + PsiElement(LABEL_)('stix-attribute-string')(30492,30513) + PsiElement(';')(';')(30513,30514) + PsiWhiteSpace('\n')(30514,30515) + PsiTypeQLElement(definable) - Location: (30515,30554)(30515,30554) + PsiTypeQLStatementType(statement_type) - Location: (30515,30554)(30515,30554) + PsiTypeQLElement(type_any) - Location: (30515,30528)(30515,30528) + PsiTypeQLType(type) - Name: icmp-code-hex - Location: (30515,30528)(30515,30528) + PsiTypeQLElement(label) - Location: (30515,30528)(30515,30528) + PsiElement(LABEL_)('icmp-code-hex')(30515,30528) + PsiWhiteSpace(' ')(30528,30529) + PsiTypeQLSubType(type_constraint) - Location: (30529,30554)(30529,30554) + PsiElement(SUB_)('sub')(30529,30532) + PsiWhiteSpace(' ')(30532,30533) + PsiTypeQLElement(type_any) - Location: (30533,30554)(30533,30554) + PsiTypeQLElement(type) - Location: (30533,30554)(30533,30554) + PsiTypeQLElement(label) - Location: (30533,30554)(30533,30554) + PsiElement(LABEL_)('stix-attribute-string')(30533,30554) + PsiElement(';')(';')(30554,30555) + PsiWhiteSpace('\n')(30555,30556) + PsiTypeQLElement(definable) - Location: (30556,30594)(30556,30594) + PsiTypeQLStatementType(statement_type) - Location: (30556,30594)(30556,30594) + PsiTypeQLElement(type_any) - Location: (30556,30568)(30556,30568) + PsiTypeQLType(type) - Name: service-name - Location: (30556,30568)(30556,30568) + PsiTypeQLElement(label) - Location: (30556,30568)(30556,30568) + PsiElement(LABEL_)('service-name')(30556,30568) + PsiWhiteSpace(' ')(30568,30569) + PsiTypeQLSubType(type_constraint) - Location: (30569,30594)(30569,30594) + PsiElement(SUB_)('sub')(30569,30572) + PsiWhiteSpace(' ')(30572,30573) + PsiTypeQLElement(type_any) - Location: (30573,30594)(30573,30594) + PsiTypeQLElement(type) - Location: (30573,30594)(30573,30594) + PsiTypeQLElement(label) - Location: (30573,30594)(30573,30594) + PsiElement(LABEL_)('stix-attribute-string')(30573,30594) + PsiElement(';')(';')(30594,30595) + PsiWhiteSpace('\n')(30595,30596) + PsiTypeQLElement(definable) - Location: (30596,30650)(30596,30650) + PsiTypeQLStatementType(statement_type) - Location: (30596,30650)(30596,30650) + PsiTypeQLElement(type_any) - Location: (30596,30624)(30596,30624) + PsiTypeQLType(type) - Name: subject-public-key-algorithm - Location: (30596,30624)(30596,30624) + PsiTypeQLElement(label) - Location: (30596,30624)(30596,30624) + PsiElement(LABEL_)('subject-public-key-algorithm')(30596,30624) + PsiWhiteSpace(' ')(30624,30625) + PsiTypeQLSubType(type_constraint) - Location: (30625,30650)(30625,30650) + PsiElement(SUB_)('sub')(30625,30628) + PsiWhiteSpace(' ')(30628,30629) + PsiTypeQLElement(type_any) - Location: (30629,30650)(30629,30650) + PsiTypeQLElement(type) - Location: (30629,30650)(30629,30650) + PsiTypeQLElement(label) - Location: (30629,30650)(30629,30650) + PsiElement(LABEL_)('stix-attribute-string')(30629,30650) + PsiElement(';')(';')(30650,30651) + PsiWhiteSpace('\n')(30651,30652) + PsiTypeQLElement(definable) - Location: (30652,30704)(30652,30704) + PsiTypeQLStatementType(statement_type) - Location: (30652,30704)(30652,30704) + PsiTypeQLElement(type_any) - Location: (30652,30678)(30652,30678) + PsiTypeQLType(type) - Name: subject-public-key-modulus - Location: (30652,30678)(30652,30678) + PsiTypeQLElement(label) - Location: (30652,30678)(30652,30678) + PsiElement(LABEL_)('subject-public-key-modulus')(30652,30678) + PsiWhiteSpace(' ')(30678,30679) + PsiTypeQLSubType(type_constraint) - Location: (30679,30704)(30679,30704) + PsiElement(SUB_)('sub')(30679,30682) + PsiWhiteSpace(' ')(30682,30683) + PsiTypeQLElement(type_any) - Location: (30683,30704)(30683,30704) + PsiTypeQLElement(type) - Location: (30683,30704)(30683,30704) + PsiTypeQLElement(label) - Location: (30683,30704)(30683,30704) + PsiElement(LABEL_)('stix-attribute-string')(30683,30704) + PsiElement(';')(';')(30704,30705) + PsiWhiteSpace('\n')(30705,30706) + PsiTypeQLElement(definable) - Location: (30706,30752)(30706,30752) + PsiTypeQLStatementType(statement_type) - Location: (30706,30752)(30706,30752) + PsiTypeQLElement(type_any) - Location: (30706,30726)(30706,30726) + PsiTypeQLType(type) - Name: certificate-policies - Location: (30706,30726)(30706,30726) + PsiTypeQLElement(label) - Location: (30706,30726)(30706,30726) + PsiElement(LABEL_)('certificate-policies')(30706,30726) + PsiWhiteSpace(' ')(30726,30727) + PsiTypeQLSubType(type_constraint) - Location: (30727,30752)(30727,30752) + PsiElement(SUB_)('sub')(30727,30730) + PsiWhiteSpace(' ')(30730,30731) + PsiTypeQLElement(type_any) - Location: (30731,30752)(30731,30752) + PsiTypeQLElement(type) - Location: (30731,30752)(30731,30752) + PsiTypeQLElement(label) - Location: (30731,30752)(30731,30752) + PsiElement(LABEL_)('stix-attribute-string')(30731,30752) + PsiElement(';')(';')(30752,30753) + PsiWhiteSpace('\n')(30753,30754) + PsiTypeQLElement(definable) - Location: (30754,30803)(30754,30803) + PsiTypeQLStatementType(statement_type) - Location: (30754,30803)(30754,30803) + PsiTypeQLElement(type_any) - Location: (30754,30777)(30754,30777) + PsiTypeQLType(type) - Name: crl-distribution-points - Location: (30754,30777)(30754,30777) + PsiTypeQLElement(label) - Location: (30754,30777)(30754,30777) + PsiElement(LABEL_)('crl-distribution-points')(30754,30777) + PsiWhiteSpace(' ')(30777,30778) + PsiTypeQLSubType(type_constraint) - Location: (30778,30803)(30778,30803) + PsiElement(SUB_)('sub')(30778,30781) + PsiWhiteSpace(' ')(30781,30782) + PsiTypeQLElement(type_any) - Location: (30782,30803)(30782,30803) + PsiTypeQLElement(type) - Location: (30782,30803)(30782,30803) + PsiTypeQLElement(label) - Location: (30782,30803)(30782,30803) + PsiElement(LABEL_)('stix-attribute-string')(30782,30803) + PsiElement(';')(';')(30803,30804) + PsiWhiteSpace('\n')(30804,30805) + PsiTypeQLElement(definable) - Location: (30805,30859)(30805,30859) + PsiTypeQLStatementType(statement_type) - Location: (30805,30859)(30805,30859) + PsiTypeQLElement(type_any) - Location: (30805,30833)(30805,30833) + PsiTypeQLType(type) - Name: subject-directory-attributes - Location: (30805,30833)(30805,30833) + PsiTypeQLElement(label) - Location: (30805,30833)(30805,30833) + PsiElement(LABEL_)('subject-directory-attributes')(30805,30833) + PsiWhiteSpace(' ')(30833,30834) + PsiTypeQLSubType(type_constraint) - Location: (30834,30859)(30834,30859) + PsiElement(SUB_)('sub')(30834,30837) + PsiWhiteSpace(' ')(30837,30838) + PsiTypeQLElement(type_any) - Location: (30838,30859)(30838,30859) + PsiTypeQLElement(type) - Location: (30838,30859)(30838,30859) + PsiTypeQLElement(label) - Location: (30838,30859)(30838,30859) + PsiElement(LABEL_)('stix-attribute-string')(30838,30859) + PsiElement(';')(';')(30859,30860) + PsiWhiteSpace('\n')(30860,30861) + PsiTypeQLElement(definable) - Location: (30861,30896)(30861,30896) + PsiTypeQLStatementType(statement_type) - Location: (30861,30896)(30861,30896) + PsiTypeQLElement(type_any) - Location: (30861,30870)(30861,30870) + PsiTypeQLType(type) - Name: key-usage - Location: (30861,30870)(30861,30870) + PsiTypeQLElement(label) - Location: (30861,30870)(30861,30870) + PsiElement(LABEL_)('key-usage')(30861,30870) + PsiWhiteSpace(' ')(30870,30871) + PsiTypeQLSubType(type_constraint) - Location: (30871,30896)(30871,30896) + PsiElement(SUB_)('sub')(30871,30874) + PsiWhiteSpace(' ')(30874,30875) + PsiTypeQLElement(type_any) - Location: (30875,30896)(30875,30896) + PsiTypeQLElement(type) - Location: (30875,30896)(30875,30896) + PsiTypeQLElement(label) - Location: (30875,30896)(30875,30896) + PsiElement(LABEL_)('stix-attribute-string')(30875,30896) + PsiElement(';')(';')(30896,30897) + PsiWhiteSpace('\n')(30897,30898) + PsiTypeQLElement(definable) - Location: (30898,30948)(30898,30948) + PsiTypeQLStatementType(statement_type) - Location: (30898,30948)(30898,30948) + PsiTypeQLElement(type_any) - Location: (30898,30922)(30898,30922) + PsiTypeQLType(type) - Name: subject-alternative-name - Location: (30898,30922)(30898,30922) + PsiTypeQLElement(label) - Location: (30898,30922)(30898,30922) + PsiElement(LABEL_)('subject-alternative-name')(30898,30922) + PsiWhiteSpace(' ')(30922,30923) + PsiTypeQLSubType(type_constraint) - Location: (30923,30948)(30923,30948) + PsiElement(SUB_)('sub')(30923,30926) + PsiWhiteSpace(' ')(30926,30927) + PsiTypeQLElement(type_any) - Location: (30927,30948)(30927,30948) + PsiTypeQLElement(type) - Location: (30927,30948)(30927,30948) + PsiTypeQLElement(label) - Location: (30927,30948)(30927,30948) + PsiElement(LABEL_)('stix-attribute-string')(30927,30948) + PsiElement(';')(';')(30948,30949) + PsiWhiteSpace('\n')(30949,30950) + PsiTypeQLElement(definable) - Location: (30950,30998)(30950,30998) + PsiTypeQLStatementType(statement_type) - Location: (30950,30998)(30950,30998) + PsiTypeQLElement(type_any) - Location: (30950,30972)(30950,30972) + PsiTypeQLType(type) - Name: subject-key-identifier - Location: (30950,30972)(30950,30972) + PsiTypeQLElement(label) - Location: (30950,30972)(30950,30972) + PsiElement(LABEL_)('subject-key-identifier')(30950,30972) + PsiWhiteSpace(' ')(30972,30973) + PsiTypeQLSubType(type_constraint) - Location: (30973,30998)(30973,30998) + PsiElement(SUB_)('sub')(30973,30976) + PsiWhiteSpace(' ')(30976,30977) + PsiTypeQLElement(type_any) - Location: (30977,30998)(30977,30998) + PsiTypeQLElement(type) - Location: (30977,30998)(30977,30998) + PsiTypeQLElement(label) - Location: (30977,30998)(30977,30998) + PsiElement(LABEL_)('stix-attribute-string')(30977,30998) + PsiElement(';')(';')(30998,30999) + PsiWhiteSpace('\n')(30999,31000) + PsiTypeQLElement(definable) - Location: (31000,31044)(31000,31044) + PsiTypeQLStatementType(statement_type) - Location: (31000,31044)(31000,31044) + PsiTypeQLElement(type_any) - Location: (31000,31018)(31000,31018) + PsiTypeQLType(type) - Name: extended-key-usage - Location: (31000,31018)(31000,31018) + PsiTypeQLElement(label) - Location: (31000,31018)(31000,31018) + PsiElement(LABEL_)('extended-key-usage')(31000,31018) + PsiWhiteSpace(' ')(31018,31019) + PsiTypeQLSubType(type_constraint) - Location: (31019,31044)(31019,31044) + PsiElement(SUB_)('sub')(31019,31022) + PsiWhiteSpace(' ')(31022,31023) + PsiTypeQLElement(type_any) - Location: (31023,31044)(31023,31044) + PsiTypeQLElement(type) - Location: (31023,31044)(31023,31044) + PsiTypeQLElement(label) - Location: (31023,31044)(31023,31044) + PsiElement(LABEL_)('stix-attribute-string')(31023,31044) + PsiElement(';')(';')(31044,31045) + PsiWhiteSpace('\n')(31045,31046) + PsiTypeQLElement(definable) - Location: (31046,31088)(31046,31088) + PsiTypeQLStatementType(statement_type) - Location: (31046,31088)(31046,31088) + PsiTypeQLElement(type_any) - Location: (31046,31062)(31046,31062) + PsiTypeQLType(type) - Name: name-constraints - Location: (31046,31062)(31046,31062) + PsiTypeQLElement(label) - Location: (31046,31062)(31046,31062) + PsiElement(LABEL_)('name-constraints')(31046,31062) + PsiWhiteSpace(' ')(31062,31063) + PsiTypeQLSubType(type_constraint) - Location: (31063,31088)(31063,31088) + PsiElement(SUB_)('sub')(31063,31066) + PsiWhiteSpace(' ')(31066,31067) + PsiTypeQLElement(type_any) - Location: (31067,31088)(31067,31088) + PsiTypeQLElement(type) - Location: (31067,31088)(31067,31088) + PsiTypeQLElement(label) - Location: (31067,31088)(31067,31088) + PsiElement(LABEL_)('stix-attribute-string')(31067,31088) + PsiElement(';')(';')(31088,31089) + PsiWhiteSpace('\n')(31089,31090) + PsiTypeQLElement(definable) - Location: (31090,31131)(31090,31131) + PsiTypeQLStatementType(statement_type) - Location: (31090,31131)(31090,31131) + PsiTypeQLElement(type_any) - Location: (31090,31105)(31090,31105) + PsiTypeQLType(type) - Name: policy-mappings - Location: (31090,31105)(31090,31105) + PsiTypeQLElement(label) - Location: (31090,31105)(31090,31105) + PsiElement(LABEL_)('policy-mappings')(31090,31105) + PsiWhiteSpace(' ')(31105,31106) + PsiTypeQLSubType(type_constraint) - Location: (31106,31131)(31106,31131) + PsiElement(SUB_)('sub')(31106,31109) + PsiWhiteSpace(' ')(31109,31110) + PsiTypeQLElement(type_any) - Location: (31110,31131)(31110,31131) + PsiTypeQLElement(type) - Location: (31110,31131)(31110,31131) + PsiTypeQLElement(label) - Location: (31110,31131)(31110,31131) + PsiElement(LABEL_)('stix-attribute-string')(31110,31131) + PsiElement(';')(';')(31131,31132) + PsiWhiteSpace('\n')(31132,31133) + PsiTypeQLElement(definable) - Location: (31133,31177)(31133,31177) + PsiTypeQLStatementType(statement_type) - Location: (31133,31177)(31133,31177) + PsiTypeQLElement(type_any) - Location: (31133,31151)(31133,31151) + PsiTypeQLType(type) - Name: policy-constraints - Location: (31133,31151)(31133,31151) + PsiTypeQLElement(label) - Location: (31133,31151)(31133,31151) + PsiElement(LABEL_)('policy-constraints')(31133,31151) + PsiWhiteSpace(' ')(31151,31152) + PsiTypeQLSubType(type_constraint) - Location: (31152,31177)(31152,31177) + PsiElement(SUB_)('sub')(31152,31155) + PsiWhiteSpace(' ')(31155,31156) + PsiTypeQLElement(type_any) - Location: (31156,31177)(31156,31177) + PsiTypeQLElement(type) - Location: (31156,31177)(31156,31177) + PsiTypeQLElement(label) - Location: (31156,31177)(31156,31177) + PsiElement(LABEL_)('stix-attribute-string')(31156,31177) + PsiElement(';')(';')(31177,31178) + PsiWhiteSpace('\n')(31178,31179) + PsiTypeQLElement(definable) - Location: (31179,31222)(31179,31222) + PsiTypeQLStatementType(statement_type) - Location: (31179,31222)(31179,31222) + PsiTypeQLElement(type_any) - Location: (31179,31196)(31179,31196) + PsiTypeQLType(type) - Name: basic-constraints - Location: (31179,31196)(31179,31196) + PsiTypeQLElement(label) - Location: (31179,31196)(31179,31196) + PsiElement(LABEL_)('basic-constraints')(31179,31196) + PsiWhiteSpace(' ')(31196,31197) + PsiTypeQLSubType(type_constraint) - Location: (31197,31222)(31197,31222) + PsiElement(SUB_)('sub')(31197,31200) + PsiWhiteSpace(' ')(31200,31201) + PsiTypeQLElement(type_any) - Location: (31201,31222)(31201,31222) + PsiTypeQLElement(type) - Location: (31201,31222)(31201,31222) + PsiTypeQLElement(label) - Location: (31201,31222)(31201,31222) + PsiElement(LABEL_)('stix-attribute-string')(31201,31222) + PsiElement(';')(';')(31222,31223) + PsiWhiteSpace('\n')(31223,31224) + PsiTypeQLElement(definable) - Location: (31224,31268)(31224,31268) + PsiTypeQLStatementType(statement_type) - Location: (31224,31268)(31224,31268) + PsiTypeQLElement(type_any) - Location: (31224,31242)(31224,31242) + PsiTypeQLType(type) - Name: inhibit-any-policy - Location: (31224,31242)(31224,31242) + PsiTypeQLElement(label) - Location: (31224,31242)(31224,31242) + PsiElement(LABEL_)('inhibit-any-policy')(31224,31242) + PsiWhiteSpace(' ')(31242,31243) + PsiTypeQLSubType(type_constraint) - Location: (31243,31268)(31243,31268) + PsiElement(SUB_)('sub')(31243,31246) + PsiWhiteSpace(' ')(31246,31247) + PsiTypeQLElement(type_any) - Location: (31247,31268)(31247,31268) + PsiTypeQLElement(type) - Location: (31247,31268)(31247,31268) + PsiTypeQLElement(label) - Location: (31247,31268)(31247,31268) + PsiElement(LABEL_)('stix-attribute-string')(31247,31268) + PsiElement(';')(';')(31268,31269) + PsiWhiteSpace('\n')(31269,31270) + PsiTypeQLElement(definable) - Location: (31270,31320)(31270,31320) + PsiTypeQLStatementType(statement_type) - Location: (31270,31320)(31270,31320) + PsiTypeQLElement(type_any) - Location: (31270,31294)(31270,31294) + PsiTypeQLType(type) - Name: authority-key-identifier - Location: (31270,31294)(31270,31294) + PsiTypeQLElement(label) - Location: (31270,31294)(31270,31294) + PsiElement(LABEL_)('authority-key-identifier')(31270,31294) + PsiWhiteSpace(' ')(31294,31295) + PsiTypeQLSubType(type_constraint) - Location: (31295,31320)(31295,31320) + PsiElement(SUB_)('sub')(31295,31298) + PsiWhiteSpace(' ')(31298,31299) + PsiTypeQLElement(type_any) - Location: (31299,31320)(31299,31320) + PsiTypeQLElement(type) - Location: (31299,31320)(31299,31320) + PsiTypeQLElement(label) - Location: (31299,31320)(31299,31320) + PsiElement(LABEL_)('stix-attribute-string')(31299,31320) + PsiElement(';')(';')(31320,31321) + PsiWhiteSpace('\n')(31321,31322) + PsiTypeQLElement(definable) - Location: (31322,31371)(31322,31371) + PsiTypeQLStatementType(statement_type) - Location: (31322,31371)(31322,31371) + PsiTypeQLElement(type_any) - Location: (31322,31345)(31322,31345) + PsiTypeQLType(type) - Name: issuer-alternative-name - Location: (31322,31345)(31322,31345) + PsiTypeQLElement(label) - Location: (31322,31345)(31322,31345) + PsiElement(LABEL_)('issuer-alternative-name')(31322,31345) + PsiWhiteSpace(' ')(31345,31346) + PsiTypeQLSubType(type_constraint) - Location: (31346,31371)(31346,31371) + PsiElement(SUB_)('sub')(31346,31349) + PsiWhiteSpace(' ')(31349,31350) + PsiTypeQLElement(type_any) - Location: (31350,31371)(31350,31371) + PsiTypeQLElement(type) - Location: (31350,31371)(31350,31371) + PsiTypeQLElement(label) - Location: (31350,31371)(31350,31371) + PsiElement(LABEL_)('stix-attribute-string')(31350,31371) + PsiElement(';')(';')(31371,31372) + PsiWhiteSpace('\n')(31372,31373) + PsiTypeQLElement(definable) - Location: (31373,31403)(31373,31403) + PsiTypeQLStatementType(statement_type) - Location: (31373,31403)(31373,31403) + PsiTypeQLElement(type_any) - Location: (31373,31377)(31373,31377) + PsiTypeQLType(type) - Name: data - Location: (31373,31377)(31373,31377) + PsiTypeQLElement(label) - Location: (31373,31377)(31373,31377) + PsiElement(LABEL_)('data')(31373,31377) + PsiWhiteSpace(' ')(31377,31378) + PsiTypeQLSubType(type_constraint) - Location: (31378,31403)(31378,31403) + PsiElement(SUB_)('sub')(31378,31381) + PsiWhiteSpace(' ')(31381,31382) + PsiTypeQLElement(type_any) - Location: (31382,31403)(31382,31403) + PsiTypeQLElement(type) - Location: (31382,31403)(31382,31403) + PsiTypeQLElement(label) - Location: (31382,31403)(31382,31403) + PsiElement(LABEL_)('stix-attribute-string')(31382,31403) + PsiElement(';')(';')(31403,31404) + PsiWhiteSpace('\n')(31404,31405) + PsiTypeQLElement(definable) - Location: (31405,31438)(31405,31438) + PsiTypeQLStatementType(statement_type) - Location: (31405,31438)(31405,31438) + PsiTypeQLElement(type_any) - Location: (31405,31412)(31405,31412) + PsiTypeQLType(type) - Name: user-id - Location: (31405,31412)(31405,31412) + PsiTypeQLElement(label) - Location: (31405,31412)(31405,31412) + PsiElement(LABEL_)('user-id')(31405,31412) + PsiWhiteSpace(' ')(31412,31413) + PsiTypeQLSubType(type_constraint) - Location: (31413,31438)(31413,31438) + PsiElement(SUB_)('sub')(31413,31416) + PsiWhiteSpace(' ')(31416,31417) + PsiTypeQLElement(type_any) - Location: (31417,31438)(31417,31438) + PsiTypeQLElement(type) - Location: (31417,31438)(31417,31438) + PsiTypeQLElement(label) - Location: (31417,31438)(31417,31438) + PsiElement(LABEL_)('stix-attribute-string')(31417,31438) + PsiElement(';')(';')(31438,31439) + PsiWhiteSpace('\n')(31439,31440) + PsiTypeQLElement(definable) - Location: (31440,31474)(31440,31474) + PsiTypeQLStatementType(statement_type) - Location: (31440,31474)(31440,31474) + PsiTypeQLElement(type_any) - Location: (31440,31448)(31440,31448) + PsiTypeQLType(type) - Name: priority - Location: (31440,31448)(31440,31448) + PsiTypeQLElement(label) - Location: (31440,31448)(31440,31448) + PsiElement(LABEL_)('priority')(31440,31448) + PsiWhiteSpace(' ')(31448,31449) + PsiTypeQLSubType(type_constraint) - Location: (31449,31474)(31449,31474) + PsiElement(SUB_)('sub')(31449,31452) + PsiWhiteSpace(' ')(31452,31453) + PsiTypeQLElement(type_any) - Location: (31453,31474)(31453,31474) + PsiTypeQLElement(type) - Location: (31453,31474)(31453,31474) + PsiTypeQLElement(label) - Location: (31453,31474)(31453,31474) + PsiElement(LABEL_)('stix-attribute-string')(31453,31474) + PsiElement(';')(';')(31474,31475) + PsiWhiteSpace('\n')(31475,31476) + PsiTypeQLElement(definable) - Location: (31476,31512)(31476,31512) + PsiTypeQLStatementType(statement_type) - Location: (31476,31512)(31476,31512) + PsiTypeQLElement(type_any) - Location: (31476,31486)(31476,31486) + PsiTypeQLType(type) - Name: stix-value - Location: (31476,31486)(31476,31486) + PsiTypeQLElement(label) - Location: (31476,31486)(31476,31486) + PsiElement(LABEL_)('stix-value')(31476,31486) + PsiWhiteSpace(' ')(31486,31487) + PsiTypeQLSubType(type_constraint) - Location: (31487,31512)(31487,31512) + PsiElement(SUB_)('sub')(31487,31490) + PsiWhiteSpace(' ')(31490,31491) + PsiTypeQLElement(type_any) - Location: (31491,31512)(31491,31512) + PsiTypeQLElement(type) - Location: (31491,31512)(31491,31512) + PsiTypeQLElement(label) - Location: (31491,31512)(31491,31512) + PsiElement(LABEL_)('stix-attribute-string')(31491,31512) + PsiElement(';')(';')(31512,31513) + PsiWhiteSpace('\n')(31513,31514) + PsiTypeQLElement(definable) - Location: (31514,31543)(31514,31543) + PsiTypeQLStatementType(statement_type) - Location: (31514,31543)(31514,31543) + PsiTypeQLElement(type_any) - Location: (31514,31517)(31514,31517) + PsiTypeQLType(type) - Name: cwd - Location: (31514,31517)(31514,31517) + PsiTypeQLElement(label) - Location: (31514,31517)(31514,31517) + PsiElement(LABEL_)('cwd')(31514,31517) + PsiWhiteSpace(' ')(31517,31518) + PsiTypeQLSubType(type_constraint) - Location: (31518,31543)(31518,31543) + PsiElement(SUB_)('sub')(31518,31521) + PsiWhiteSpace(' ')(31521,31522) + PsiTypeQLElement(type_any) - Location: (31522,31543)(31522,31543) + PsiTypeQLElement(type) - Location: (31522,31543)(31522,31543) + PsiTypeQLElement(label) - Location: (31522,31543)(31522,31543) + PsiElement(LABEL_)('stix-attribute-string')(31522,31543) + PsiElement(';')(';')(31543,31544) + PsiWhiteSpace('\n')(31544,31545) + PsiTypeQLElement(definable) - Location: (31545,31583)(31545,31583) + PsiTypeQLStatementType(statement_type) - Location: (31545,31583)(31545,31583) + PsiTypeQLElement(type_any) - Location: (31545,31557)(31545,31557) + PsiTypeQLType(type) - Name: command-line - Location: (31545,31557)(31545,31557) + PsiTypeQLElement(label) - Location: (31545,31557)(31545,31557) + PsiElement(LABEL_)('command-line')(31545,31557) + PsiWhiteSpace(' ')(31557,31558) + PsiTypeQLSubType(type_constraint) - Location: (31558,31583)(31558,31583) + PsiElement(SUB_)('sub')(31558,31561) + PsiWhiteSpace(' ')(31561,31562) + PsiTypeQLElement(type_any) - Location: (31562,31583)(31562,31583) + PsiTypeQLElement(type) - Location: (31562,31583)(31562,31583) + PsiTypeQLElement(label) - Location: (31562,31583)(31562,31583) + PsiElement(LABEL_)('stix-attribute-string')(31562,31583) + PsiElement(';')(';')(31583,31584) + PsiWhiteSpace('\n')(31584,31585) + PsiTypeQLElement(definable) - Location: (31585,31624)(31585,31624) + PsiTypeQLStatementType(statement_type) - Location: (31585,31624)(31585,31624) + PsiTypeQLElement(type_any) - Location: (31585,31598)(31585,31598) + PsiTypeQLType(type) - Name: account-login - Location: (31585,31598)(31585,31598) + PsiTypeQLElement(label) - Location: (31585,31598)(31585,31598) + PsiElement(LABEL_)('account-login')(31585,31598) + PsiWhiteSpace(' ')(31598,31599) + PsiTypeQLSubType(type_constraint) - Location: (31599,31624)(31599,31624) + PsiElement(SUB_)('sub')(31599,31602) + PsiWhiteSpace(' ')(31602,31603) + PsiTypeQLElement(type_any) - Location: (31603,31624)(31603,31624) + PsiTypeQLElement(type) - Location: (31603,31624)(31603,31624) + PsiTypeQLElement(label) - Location: (31603,31624)(31603,31624) + PsiElement(LABEL_)('stix-attribute-string')(31603,31624) + PsiElement(';')(';')(31624,31625) + PsiWhiteSpace('\n')(31625,31626) + PsiTypeQLElement(definable) - Location: (31626,31662)(31626,31662) + PsiTypeQLStatementType(statement_type) - Location: (31626,31662)(31626,31662) + PsiTypeQLElement(type_any) - Location: (31626,31636)(31626,31636) + PsiTypeQLType(type) - Name: group-name - Location: (31626,31636)(31626,31636) + PsiTypeQLElement(label) - Location: (31626,31636)(31626,31636) + PsiElement(LABEL_)('group-name')(31626,31636) + PsiWhiteSpace(' ')(31636,31637) + PsiTypeQLSubType(type_constraint) - Location: (31637,31662)(31637,31662) + PsiElement(SUB_)('sub')(31637,31640) + PsiWhiteSpace(' ')(31640,31641) + PsiTypeQLElement(type_any) - Location: (31641,31662)(31641,31662) + PsiTypeQLElement(type) - Location: (31641,31662)(31641,31662) + PsiTypeQLElement(label) - Location: (31641,31662)(31641,31662) + PsiElement(LABEL_)('stix-attribute-string')(31641,31662) + PsiElement(';')(';')(31662,31663) + PsiWhiteSpace('\n')(31663,31664) + PsiTypeQLElement(definable) - Location: (31664,31703)(31664,31703) + PsiTypeQLStatementType(statement_type) - Location: (31664,31703)(31664,31703) + PsiTypeQLElement(type_any) - Location: (31664,31677)(31664,31677) + PsiTypeQLType(type) - Name: dst-flags-hex - Location: (31664,31677)(31664,31677) + PsiTypeQLElement(label) - Location: (31664,31677)(31664,31677) + PsiElement(LABEL_)('dst-flags-hex')(31664,31677) + PsiWhiteSpace(' ')(31677,31678) + PsiTypeQLSubType(type_constraint) - Location: (31678,31703)(31678,31703) + PsiElement(SUB_)('sub')(31678,31681) + PsiWhiteSpace(' ')(31681,31682) + PsiTypeQLElement(type_any) - Location: (31682,31703)(31682,31703) + PsiTypeQLElement(type) - Location: (31682,31703)(31682,31703) + PsiTypeQLElement(label) - Location: (31682,31703)(31682,31703) + PsiElement(LABEL_)('stix-attribute-string')(31682,31703) + PsiElement(';')(';')(31703,31704) + PsiWhiteSpace('\n')(31704,31705) + PsiTypeQLElement(definable) - Location: (31705,31744)(31705,31744) + PsiTypeQLStatementType(statement_type) - Location: (31705,31744)(31705,31744) + PsiTypeQLElement(type_any) - Location: (31705,31718)(31705,31718) + PsiTypeQLType(type) - Name: src-flags-hex - Location: (31705,31718)(31705,31718) + PsiTypeQLElement(label) - Location: (31705,31718)(31705,31718) + PsiElement(LABEL_)('src-flags-hex')(31705,31718) + PsiWhiteSpace(' ')(31718,31719) + PsiTypeQLSubType(type_constraint) - Location: (31719,31744)(31719,31744) + PsiElement(SUB_)('sub')(31719,31722) + PsiWhiteSpace(' ')(31722,31723) + PsiTypeQLElement(type_any) - Location: (31723,31744)(31723,31744) + PsiTypeQLElement(type) - Location: (31723,31744)(31723,31744) + PsiTypeQLElement(label) - Location: (31723,31744)(31723,31744) + PsiElement(LABEL_)('stix-attribute-string')(31723,31744) + PsiElement(';')(';')(31744,31745) + PsiWhiteSpace('\n')(31745,31746) + PsiTypeQLElement(definable) - Location: (31746,31779)(31746,31779) + PsiTypeQLStatementType(statement_type) - Location: (31746,31779)(31746,31779) + PsiTypeQLElement(type_any) - Location: (31746,31753)(31746,31753) + PsiTypeQLType(type) - Name: product - Location: (31746,31753)(31746,31753) + PsiTypeQLElement(label) - Location: (31746,31753)(31746,31753) + PsiElement(LABEL_)('product')(31746,31753) + PsiWhiteSpace(' ')(31753,31754) + PsiTypeQLSubType(type_constraint) - Location: (31754,31779)(31754,31779) + PsiElement(SUB_)('sub')(31754,31757) + PsiWhiteSpace(' ')(31757,31758) + PsiTypeQLElement(type_any) - Location: (31758,31779)(31758,31779) + PsiTypeQLElement(type) - Location: (31758,31779)(31758,31779) + PsiTypeQLElement(label) - Location: (31758,31779)(31758,31779) + PsiElement(LABEL_)('stix-attribute-string')(31758,31779) + PsiElement(';')(';')(31779,31780) + PsiWhiteSpace('\n')(31780,31781) + PsiTypeQLElement(definable) - Location: (31781,31810)(31781,31810) + PsiTypeQLStatementType(statement_type) - Location: (31781,31810)(31781,31810) + PsiTypeQLElement(type_any) - Location: (31781,31784)(31781,31784) + PsiTypeQLType(type) - Name: spe - Location: (31781,31784)(31781,31784) + PsiTypeQLElement(label) - Location: (31781,31784)(31781,31784) + PsiElement(LABEL_)('spe')(31781,31784) + PsiWhiteSpace(' ')(31784,31785) + PsiTypeQLSubType(type_constraint) - Location: (31785,31810)(31785,31810) + PsiElement(SUB_)('sub')(31785,31788) + PsiWhiteSpace(' ')(31788,31789) + PsiTypeQLElement(type_any) - Location: (31789,31810)(31789,31810) + PsiTypeQLElement(type) - Location: (31789,31810)(31789,31810) + PsiTypeQLElement(label) - Location: (31789,31810)(31789,31810) + PsiElement(LABEL_)('stix-attribute-string')(31789,31810) + PsiElement(';')(';')(31810,31811) + PsiWhiteSpace('\n')(31811,31812) + PsiTypeQLElement(definable) - Location: (31812,31853)(31812,31853) + PsiTypeQLStatementType(statement_type) - Location: (31812,31853)(31812,31853) + PsiTypeQLElement(type_any) - Location: (31812,31827)(31812,31827) + PsiTypeQLType(type) - Name: exif-tag-string - Location: (31812,31827)(31812,31827) + PsiTypeQLElement(label) - Location: (31812,31827)(31812,31827) + PsiElement(LABEL_)('exif-tag-string')(31812,31827) + PsiWhiteSpace(' ')(31827,31828) + PsiTypeQLSubType(type_constraint) - Location: (31828,31853)(31828,31853) + PsiElement(SUB_)('sub')(31828,31831) + PsiWhiteSpace(' ')(31831,31832) + PsiTypeQLElement(type_any) - Location: (31832,31853)(31832,31853) + PsiTypeQLElement(type) - Location: (31832,31853)(31832,31853) + PsiTypeQLElement(label) - Location: (31832,31853)(31832,31853) + PsiElement(LABEL_)('stix-attribute-string')(31832,31853) + PsiElement(';')(';')(31853,31854) + PsiWhiteSpace('\n')(31854,31855) + PsiTypeQLElement(definable) - Location: (31855,31893)(31855,31893) + PsiTypeQLStatementType(statement_type) - Location: (31855,31893)(31855,31893) + PsiTypeQLElement(type_any) - Location: (31855,31867)(31855,31867) + PsiTypeQLType(type) - Name: window-title - Location: (31855,31867)(31855,31867) + PsiTypeQLElement(label) - Location: (31855,31867)(31855,31867) + PsiElement(LABEL_)('window-title')(31855,31867) + PsiWhiteSpace(' ')(31867,31868) + PsiTypeQLSubType(type_constraint) - Location: (31868,31893)(31868,31893) + PsiElement(SUB_)('sub')(31868,31871) + PsiWhiteSpace(' ')(31871,31872) + PsiTypeQLElement(type_any) - Location: (31872,31893)(31872,31893) + PsiTypeQLElement(type) - Location: (31872,31893)(31872,31893) + PsiTypeQLElement(label) - Location: (31872,31893)(31872,31893) + PsiElement(LABEL_)('stix-attribute-string')(31872,31893) + PsiElement(';')(';')(31893,31894) + PsiWhiteSpace('\n')(31894,31895) + PsiTypeQLElement(definable) - Location: (31895,31930)(31895,31930) + PsiTypeQLStatementType(statement_type) - Location: (31895,31930)(31895,31930) + PsiTypeQLElement(type_any) - Location: (31895,31904)(31895,31904) + PsiTypeQLType(type) - Name: statement - Location: (31895,31904)(31895,31904) + PsiTypeQLElement(label) - Location: (31895,31904)(31895,31904) + PsiElement(LABEL_)('statement')(31895,31904) + PsiWhiteSpace(' ')(31904,31905) + PsiTypeQLSubType(type_constraint) - Location: (31905,31930)(31905,31930) + PsiElement(SUB_)('sub')(31905,31908) + PsiWhiteSpace(' ')(31908,31909) + PsiTypeQLElement(type_any) - Location: (31909,31930)(31909,31930) + PsiTypeQLElement(type) - Location: (31909,31930)(31909,31930) + PsiTypeQLElement(label) - Location: (31909,31930)(31909,31930) + PsiElement(LABEL_)('stix-attribute-string')(31909,31930) + PsiElement(';')(';')(31930,31931) + PsiWhiteSpace('\n')(31931,31932) + PsiTypeQLElement(definable) - Location: (31932,31966)(31932,31966) + PsiTypeQLStatementType(statement_type) - Location: (31932,31966)(31932,31966) + PsiTypeQLElement(type_any) - Location: (31932,31940)(31932,31940) + PsiTypeQLType(type) - Name: home-dir - Location: (31932,31940)(31932,31940) + PsiTypeQLElement(label) - Location: (31932,31940)(31932,31940) + PsiElement(LABEL_)('home-dir')(31932,31940) + PsiWhiteSpace(' ')(31940,31941) + PsiTypeQLSubType(type_constraint) - Location: (31941,31966)(31941,31966) + PsiElement(SUB_)('sub')(31941,31944) + PsiWhiteSpace(' ')(31944,31945) + PsiTypeQLElement(type_any) - Location: (31945,31966)(31945,31966) + PsiTypeQLElement(type) - Location: (31945,31966)(31945,31966) + PsiTypeQLElement(label) - Location: (31945,31966)(31945,31966) + PsiElement(LABEL_)('stix-attribute-string')(31945,31966) + PsiElement(';')(';')(31966,31967) + PsiWhiteSpace('\n')(31967,31968) + PsiTypeQLElement(definable) - Location: (31968,32006)(31968,32006) + PsiTypeQLStatementType(statement_type) - Location: (31968,32006)(31968,32006) + PsiTypeQLElement(type_any) - Location: (31968,31980)(31968,31980) + PsiTypeQLType(type) - Name: account-type - Location: (31968,31980)(31968,31980) + PsiTypeQLElement(label) - Location: (31968,31980)(31968,31980) + PsiElement(LABEL_)('account-type')(31968,31980) + PsiWhiteSpace(' ')(31980,31981) + PsiTypeQLSubType(type_constraint) - Location: (31981,32006)(31981,32006) + PsiElement(SUB_)('sub')(31981,31984) + PsiWhiteSpace(' ')(31984,31985) + PsiTypeQLElement(type_any) - Location: (31985,32006)(31985,32006) + PsiTypeQLElement(type) - Location: (31985,32006)(31985,32006) + PsiTypeQLElement(label) - Location: (31985,32006)(31985,32006) + PsiElement(LABEL_)('stix-attribute-string')(31985,32006) + PsiElement(';')(';')(32006,32007) + PsiWhiteSpace('\n')(32007,32008) + PsiTypeQLElement(definable) - Location: (32008,32044)(32008,32044) + PsiTypeQLStatementType(statement_type) - Location: (32008,32044)(32008,32044) + PsiTypeQLElement(type_any) - Location: (32008,32018)(32008,32018) + PsiTypeQLType(type) - Name: credential - Location: (32008,32018)(32008,32018) + PsiTypeQLElement(label) - Location: (32008,32018)(32008,32018) + PsiElement(LABEL_)('credential')(32008,32018) + PsiWhiteSpace(' ')(32018,32019) + PsiTypeQLSubType(type_constraint) - Location: (32019,32044)(32019,32044) + PsiElement(SUB_)('sub')(32019,32022) + PsiWhiteSpace(' ')(32022,32023) + PsiTypeQLElement(type_any) - Location: (32023,32044)(32023,32044) + PsiTypeQLElement(type) - Location: (32023,32044)(32023,32044) + PsiTypeQLElement(label) - Location: (32023,32044)(32023,32044) + PsiElement(LABEL_)('stix-attribute-string')(32023,32044) + PsiElement(';')(';')(32044,32045) + PsiWhiteSpace('\n')(32045,32046) + PsiTypeQLElement(definable) - Location: (32046,32085)(32046,32085) + PsiTypeQLStatementType(statement_type) - Location: (32046,32085)(32046,32085) + PsiTypeQLElement(type_any) - Location: (32046,32059)(32046,32059) + PsiTypeQLType(type) - Name: attribute-key - Location: (32046,32059)(32046,32059) + PsiTypeQLElement(label) - Location: (32046,32059)(32046,32059) + PsiElement(LABEL_)('attribute-key')(32046,32059) + PsiWhiteSpace(' ')(32059,32060) + PsiTypeQLSubType(type_constraint) - Location: (32060,32085)(32060,32085) + PsiElement(SUB_)('sub')(32060,32063) + PsiWhiteSpace(' ')(32063,32064) + PsiTypeQLElement(type_any) - Location: (32064,32085)(32064,32085) + PsiTypeQLElement(type) - Location: (32064,32085)(32064,32085) + PsiTypeQLElement(label) - Location: (32064,32085)(32064,32085) + PsiElement(LABEL_)('stix-attribute-string')(32064,32085) + PsiElement(';')(';')(32085,32086) + PsiWhiteSpace('\n')(32086,32087) + PsiTypeQLElement(definable) - Location: (32087,32118)(32087,32118) + PsiTypeQLStatementType(statement_type) - Location: (32087,32118)(32087,32118) + PsiTypeQLElement(type_any) - Location: (32087,32092)(32087,32092) + PsiTypeQLType(type) - Name: shell - Location: (32087,32092)(32087,32092) + PsiTypeQLElement(label) - Location: (32087,32092)(32087,32092) + PsiElement(LABEL_)('shell')(32087,32092) + PsiWhiteSpace(' ')(32092,32093) + PsiTypeQLSubType(type_constraint) - Location: (32093,32118)(32093,32118) + PsiElement(SUB_)('sub')(32093,32096) + PsiWhiteSpace(' ')(32096,32097) + PsiTypeQLElement(type_any) - Location: (32097,32118)(32097,32118) + PsiTypeQLElement(type) - Location: (32097,32118)(32097,32118) + PsiTypeQLElement(label) - Location: (32097,32118)(32097,32118) + PsiElement(LABEL_)('stix-attribute-string')(32097,32118) + PsiElement(';')(';')(32118,32119) + PsiWhiteSpace('\n')(32119,32120) + PsiTypeQLElement(definable) - Location: (32120,32150)(32120,32150) + PsiTypeQLStatementType(statement_type) - Location: (32120,32150)(32120,32150) + PsiTypeQLElement(type_any) - Location: (32120,32124)(32120,32124) + PsiTypeQLType(type) - Name: swid - Location: (32120,32124)(32120,32124) + PsiTypeQLElement(label) - Location: (32120,32124)(32120,32124) + PsiElement(LABEL_)('swid')(32120,32124) + PsiWhiteSpace(' ')(32124,32125) + PsiTypeQLSubType(type_constraint) - Location: (32125,32150)(32125,32150) + PsiElement(SUB_)('sub')(32125,32128) + PsiWhiteSpace(' ')(32128,32129) + PsiTypeQLElement(type_any) - Location: (32129,32150)(32129,32150) + PsiTypeQLElement(type) - Location: (32129,32150)(32129,32150) + PsiTypeQLElement(label) - Location: (32129,32150)(32129,32150) + PsiElement(LABEL_)('stix-attribute-string')(32129,32150) + PsiElement(';')(';')(32150,32151) + PsiWhiteSpace('\n')(32151,32152) + PsiTypeQLElement(definable) - Location: (32152,32184)(32152,32184) + PsiTypeQLStatementType(statement_type) - Location: (32152,32184)(32152,32184) + PsiTypeQLElement(type_any) - Location: (32152,32158)(32152,32158) + PsiTypeQLType(type) - Name: vendor - Location: (32152,32158)(32152,32158) + PsiTypeQLElement(label) - Location: (32152,32158)(32152,32158) + PsiElement(LABEL_)('vendor')(32152,32158) + PsiWhiteSpace(' ')(32158,32159) + PsiTypeQLSubType(type_constraint) - Location: (32159,32184)(32159,32184) + PsiElement(SUB_)('sub')(32159,32162) + PsiWhiteSpace(' ')(32162,32163) + PsiTypeQLElement(type_any) - Location: (32163,32184)(32163,32184) + PsiTypeQLElement(type) - Location: (32163,32184)(32163,32184) + PsiTypeQLElement(label) - Location: (32163,32184)(32163,32184) + PsiElement(LABEL_)('stix-attribute-string')(32163,32184) + PsiElement(';')(';')(32184,32185) + PsiWhiteSpace('\n')(32185,32186) + PsiTypeQLElement(definable) - Location: (32186,32223)(32186,32223) + PsiTypeQLStatementType(statement_type) - Location: (32186,32223)(32186,32223) + PsiTypeQLElement(type_any) - Location: (32186,32197)(32186,32197) + PsiTypeQLType(type) - Name: description - Location: (32186,32197)(32186,32197) + PsiTypeQLElement(label) - Location: (32186,32197)(32186,32197) + PsiElement(LABEL_)('description')(32186,32197) + PsiWhiteSpace(' ')(32197,32198) + PsiTypeQLSubType(type_constraint) - Location: (32198,32223)(32198,32223) + PsiElement(SUB_)('sub')(32198,32201) + PsiWhiteSpace(' ')(32201,32202) + PsiTypeQLElement(type_any) - Location: (32202,32223)(32202,32223) + PsiTypeQLElement(type) - Location: (32202,32223)(32202,32223) + PsiTypeQLElement(label) - Location: (32202,32223)(32202,32223) + PsiElement(LABEL_)('stix-attribute-string')(32202,32223) + PsiElement(';')(';')(32223,32224) + PsiWhiteSpace('\n')(32224,32225) + PsiTypeQLElement(definable) - Location: (32225,32263)(32225,32263) + PsiTypeQLStatementType(statement_type) - Location: (32225,32263)(32225,32263) + PsiTypeQLElement(type_any) - Location: (32225,32237)(32225,32237) + PsiTypeQLType(type) - Name: descriptions - Location: (32225,32237)(32225,32237) + PsiTypeQLElement(label) - Location: (32225,32237)(32225,32237) + PsiElement(LABEL_)('descriptions')(32225,32237) + PsiWhiteSpace(' ')(32237,32238) + PsiTypeQLSubType(type_constraint) - Location: (32238,32263)(32238,32263) + PsiElement(SUB_)('sub')(32238,32241) + PsiWhiteSpace(' ')(32241,32242) + PsiTypeQLElement(type_any) - Location: (32242,32263)(32242,32263) + PsiTypeQLElement(type) - Location: (32242,32263)(32242,32263) + PsiTypeQLElement(label) - Location: (32242,32263)(32242,32263) + PsiElement(LABEL_)('stix-attribute-string')(32242,32263) + PsiElement(';')(';')(32263,32264) + PsiWhiteSpace('\n')(32264,32265) + PsiTypeQLElement(definable) - Location: (32265,32300)(32265,32300) + PsiTypeQLStatementType(statement_type) - Location: (32265,32300)(32265,32300) + PsiTypeQLElement(type_any) - Location: (32265,32274)(32265,32274) + PsiTypeQLType(type) - Name: languages - Location: (32265,32274)(32265,32274) + PsiTypeQLElement(label) - Location: (32265,32274)(32265,32274) + PsiElement(LABEL_)('languages')(32265,32274) + PsiWhiteSpace(' ')(32274,32275) + PsiTypeQLSubType(type_constraint) - Location: (32275,32300)(32275,32300) + PsiElement(SUB_)('sub')(32275,32278) + PsiWhiteSpace(' ')(32278,32279) + PsiTypeQLElement(type_any) - Location: (32279,32300)(32279,32300) + PsiTypeQLElement(type) - Location: (32279,32300)(32279,32300) + PsiTypeQLElement(label) - Location: (32279,32300)(32279,32300) + PsiElement(LABEL_)('stix-attribute-string')(32279,32300) + PsiElement(';')(';')(32300,32301) + PsiWhiteSpace('\n')(32301,32302) + PsiTypeQLElement(definable) - Location: (32302,32334)(32302,32334) + PsiTypeQLStatementType(statement_type) - Location: (32302,32334)(32302,32334) + PsiTypeQLElement(type_any) - Location: (32302,32308)(32302,32308) + PsiTypeQLType(type) - Name: groups - Location: (32302,32308)(32302,32308) + PsiTypeQLElement(label) - Location: (32302,32308)(32302,32308) + PsiElement(LABEL_)('groups')(32302,32308) + PsiWhiteSpace(' ')(32308,32309) + PsiTypeQLSubType(type_constraint) - Location: (32309,32334)(32309,32334) + PsiElement(SUB_)('sub')(32309,32312) + PsiWhiteSpace(' ')(32312,32313) + PsiTypeQLElement(type_any) - Location: (32313,32334)(32313,32334) + PsiTypeQLElement(type) - Location: (32313,32334)(32313,32334) + PsiTypeQLElement(label) - Location: (32313,32334)(32313,32334) + PsiElement(LABEL_)('stix-attribute-string')(32313,32334) + PsiElement(';')(';')(32334,32335) + PsiWhiteSpace('\n\n')(32335,32337) + PsiTypeQLElement(definable) - Location: (32337,32394)(32337,32394) + PsiTypeQLStatementType(statement_type) - Location: (32337,32394)(32337,32394) + PsiTypeQLElement(type_any) - Location: (32337,32345)(32337,32345) + PsiTypeQLType(type) - Name: received - Location: (32337,32345)(32337,32345) + PsiTypeQLElement(label) - Location: (32337,32345)(32337,32345) + PsiElement(LABEL_)('received')(32337,32345) + PsiWhiteSpace(' ')(32345,32346) + PsiTypeQLSubType(type_constraint) - Location: (32346,32371)(32346,32371) + PsiElement(SUB_)('sub')(32346,32349) + PsiWhiteSpace(' ')(32349,32350) + PsiTypeQLElement(type_any) - Location: (32350,32371)(32350,32371) + PsiTypeQLElement(type) - Location: (32350,32371)(32350,32371) + PsiTypeQLElement(label) - Location: (32350,32371)(32350,32371) + PsiElement(LABEL_)('stix-attribute-string')(32350,32371) + PsiElement(',')(',')(32371,32372) + PsiWhiteSpace('\n ')(32372,32377) + PsiTypeQLPlaysType(type_constraint) - Location: (32377,32394)(32377,32394) + PsiElement('plays')('plays')(32377,32382) + PsiWhiteSpace(' ')(32382,32383) + PsiTypeQLElement(type_scoped) - Location: (32383,32394)(32383,32394) + PsiTypeQLElement(label_scoped) - Location: (32383,32394)(32383,32394) + PsiElement(LABEL_SCOPED_)('node:listed')(32383,32394) + PsiElement(';')(';')(32394,32395) + PsiWhiteSpace('\n')(32395,32396) + PsiTypeQLElement(definable) - Location: (32396,32479)(32396,32479) + PsiTypeQLStatementType(statement_type) - Location: (32396,32479)(32396,32479) + PsiTypeQLElement(type_any) - Location: (32396,32409)(32396,32409) + PsiTypeQLType(type) - Name: document-info - Location: (32396,32409)(32396,32409) + PsiTypeQLElement(label) - Location: (32396,32409)(32396,32409) + PsiElement(LABEL_)('document-info')(32396,32409) + PsiWhiteSpace(' ')(32409,32410) + PsiTypeQLSubType(type_constraint) - Location: (32410,32435)(32410,32435) + PsiElement(SUB_)('sub')(32410,32413) + PsiWhiteSpace(' ')(32413,32414) + PsiTypeQLElement(type_any) - Location: (32414,32435)(32414,32435) + PsiTypeQLElement(type) - Location: (32414,32435)(32414,32435) + PsiTypeQLElement(label) - Location: (32414,32435)(32414,32435) + PsiElement(LABEL_)('stix-attribute-string')(32414,32435) + PsiElement(',')(',')(32435,32436) + PsiWhiteSpace('\n ')(32436,32441) + PsiTypeQLPlaysType(type_constraint) - Location: (32441,32479)(32441,32479) + PsiElement('plays')('plays')(32441,32446) + PsiWhiteSpace(' ')(32446,32447) + PsiTypeQLElement(type_scoped) - Location: (32447,32479)(32447,32479) + PsiTypeQLElement(label_scoped) - Location: (32447,32479)(32447,32479) + PsiElement(LABEL_SCOPED_)('document-info-dict:document-info')(32447,32479) + PsiElement(';')(';')(32479,32480) + PsiWhiteSpace('\n')(32480,32481) + PsiTypeQLElement(definable) - Location: (32481,32539)(32481,32539) + PsiTypeQLStatementType(statement_type) - Location: (32481,32539)(32481,32539) + PsiTypeQLElement(type_any) - Location: (32481,32489)(32481,32489) + PsiTypeQLType(type) - Name: protocol - Location: (32481,32489)(32481,32489) + PsiTypeQLElement(label) - Location: (32481,32489)(32481,32489) + PsiElement(LABEL_)('protocol')(32481,32489) + PsiWhiteSpace(' ')(32489,32490) + PsiTypeQLSubType(type_constraint) - Location: (32490,32515)(32490,32515) + PsiElement(SUB_)('sub')(32490,32493) + PsiWhiteSpace(' ')(32493,32494) + PsiTypeQLElement(type_any) - Location: (32494,32515)(32494,32515) + PsiTypeQLElement(type) - Location: (32494,32515)(32494,32515) + PsiTypeQLElement(label) - Location: (32494,32515)(32494,32515) + PsiElement(LABEL_)('stix-attribute-string')(32494,32515) + PsiElement(',')(',')(32515,32516) + PsiWhiteSpace('\n ')(32516,32521) + PsiTypeQLPlaysType(type_constraint) - Location: (32521,32539)(32521,32539) + PsiElement('plays')('plays')(32521,32526) + PsiWhiteSpace(' ')(32526,32527) + PsiTypeQLElement(type_scoped) - Location: (32527,32539)(32527,32539) + PsiTypeQLElement(label_scoped) - Location: (32527,32539)(32527,32539) + PsiElement(LABEL_SCOPED_)('protocols:to')(32527,32539) + PsiElement(';')(';')(32539,32540) + PsiWhiteSpace('\n')(32540,32541) + PsiTypeQLElement(definable) - Location: (32541,32608)(32541,32608) + PsiTypeQLStatementType(statement_type) - Location: (32541,32608)(32541,32608) + PsiTypeQLElement(type_any) - Location: (32541,32553)(32541,32553) + PsiTypeQLType(type) - Name: ipfix-string - Location: (32541,32553)(32541,32553) + PsiTypeQLElement(label) - Location: (32541,32553)(32541,32553) + PsiElement(LABEL_)('ipfix-string')(32541,32553) + PsiWhiteSpace(' ')(32553,32554) + PsiTypeQLSubType(type_constraint) - Location: (32554,32579)(32554,32579) + PsiElement(SUB_)('sub')(32554,32557) + PsiWhiteSpace(' ')(32557,32558) + PsiTypeQLElement(type_any) - Location: (32558,32579)(32558,32579) + PsiTypeQLElement(type) - Location: (32558,32579)(32558,32579) + PsiTypeQLElement(label) - Location: (32558,32579)(32558,32579) + PsiElement(LABEL_)('stix-attribute-string')(32558,32579) + PsiElement(',')(',')(32579,32580) + PsiWhiteSpace('\n ')(32580,32585) + PsiTypeQLPlaysType(type_constraint) - Location: (32585,32608)(32585,32608) + PsiElement('plays')('plays')(32585,32590) + PsiWhiteSpace(' ')(32590,32591) + PsiTypeQLElement(type_scoped) - Location: (32591,32608)(32591,32608) + PsiTypeQLElement(label_scoped) - Location: (32591,32608)(32591,32608) + PsiElement(LABEL_SCOPED_)('ipfix:ipfix-field')(32591,32608) + PsiElement(';')(';')(32608,32609) + PsiWhiteSpace('\n')(32609,32610) + PsiTypeQLElement(definable) - Location: (32610,32675)(32610,32675) + PsiTypeQLStatementType(statement_type) - Location: (32610,32675)(32610,32675) + PsiTypeQLElement(type_any) - Location: (32610,32616)(32610,32616) + PsiTypeQLType(type) - Name: header - Location: (32610,32616)(32610,32616) + PsiTypeQLElement(label) - Location: (32610,32616)(32610,32616) + PsiElement(LABEL_)('header')(32610,32616) + PsiWhiteSpace(' ')(32616,32617) + PsiTypeQLSubType(type_constraint) - Location: (32617,32642)(32617,32642) + PsiElement(SUB_)('sub')(32617,32620) + PsiWhiteSpace(' ')(32620,32621) + PsiTypeQLElement(type_any) - Location: (32621,32642)(32621,32642) + PsiTypeQLElement(type) - Location: (32621,32642)(32621,32642) + PsiTypeQLElement(label) - Location: (32621,32642)(32621,32642) + PsiElement(LABEL_)('stix-attribute-string')(32621,32642) + PsiElement(',')(',')(32642,32643) + PsiWhiteSpace('\n ')(32643,32648) + PsiTypeQLPlaysType(type_constraint) - Location: (32648,32675)(32648,32675) + PsiElement('plays')('plays')(32648,32653) + PsiWhiteSpace(' ')(32653,32654) + PsiTypeQLElement(type_scoped) - Location: (32654,32675)(32654,32675) + PsiTypeQLElement(label_scoped) - Location: (32654,32675)(32654,32675) + PsiElement(LABEL_SCOPED_)('request-header:header')(32654,32675) + PsiElement(';')(';')(32675,32676) + PsiWhiteSpace('\n')(32676,32677) + PsiTypeQLElement(definable) - Location: (32677,32765)(32677,32765) + PsiTypeQLStatementType(statement_type) - Location: (32677,32765)(32677,32765) + PsiTypeQLElement(type_any) - Location: (32677,32697)(32677,32697) + PsiTypeQLType(type) - Name: environment-variable - Location: (32677,32697)(32677,32697) + PsiTypeQLElement(label) - Location: (32677,32697)(32677,32697) + PsiElement(LABEL_)('environment-variable')(32677,32697) + PsiWhiteSpace(' ')(32697,32698) + PsiTypeQLSubType(type_constraint) - Location: (32698,32723)(32698,32723) + PsiElement(SUB_)('sub')(32698,32701) + PsiWhiteSpace(' ')(32701,32702) + PsiTypeQLElement(type_any) - Location: (32702,32723)(32702,32723) + PsiTypeQLElement(type) - Location: (32702,32723)(32702,32723) + PsiTypeQLElement(label) - Location: (32702,32723)(32702,32723) + PsiElement(LABEL_)('stix-attribute-string')(32702,32723) + PsiElement(',')(',')(32723,32724) + PsiWhiteSpace('\n ')(32724,32729) + PsiTypeQLPlaysType(type_constraint) - Location: (32729,32765)(32729,32765) + PsiElement('plays')('plays')(32729,32734) + PsiWhiteSpace(' ')(32734,32735) + PsiTypeQLElement(type_scoped) - Location: (32735,32765)(32735,32765) + PsiTypeQLElement(label_scoped) - Location: (32735,32765)(32735,32765) + PsiElement(LABEL_SCOPED_)('environment-variables:variable')(32735,32765) + PsiElement(';')(';')(32765,32766) + PsiWhiteSpace('\n')(32766,32767) + PsiTypeQLElement(definable) - Location: (32767,32829)(32767,32829) + PsiTypeQLStatementType(statement_type) - Location: (32767,32829)(32767,32829) + PsiTypeQLElement(type_any) - Location: (32767,32774)(32767,32774) + PsiTypeQLType(type) - Name: startup - Location: (32767,32774)(32767,32774) + PsiTypeQLElement(label) - Location: (32767,32774)(32767,32774) + PsiElement(LABEL_)('startup')(32767,32774) + PsiWhiteSpace(' ')(32774,32775) + PsiTypeQLSubType(type_constraint) - Location: (32775,32800)(32775,32800) + PsiElement(SUB_)('sub')(32775,32778) + PsiWhiteSpace(' ')(32778,32779) + PsiTypeQLElement(type_any) - Location: (32779,32800)(32779,32800) + PsiTypeQLElement(type) - Location: (32779,32800)(32779,32800) + PsiTypeQLElement(label) - Location: (32779,32800)(32779,32800) + PsiElement(LABEL_)('stix-attribute-string')(32779,32800) + PsiElement(',')(',')(32800,32801) + PsiWhiteSpace('\n ')(32801,32806) + PsiTypeQLPlaysType(type_constraint) - Location: (32806,32829)(32806,32829) + PsiElement('plays')('plays')(32806,32811) + PsiWhiteSpace(' ')(32811,32812) + PsiTypeQLElement(type_scoped) - Location: (32812,32829)(32812,32829) + PsiTypeQLElement(label_scoped) - Location: (32812,32829)(32812,32829) + PsiElement(LABEL_SCOPED_)('startup-info:info')(32812,32829) + PsiElement(';')(';')(32829,32830) + PsiWhiteSpace('\n\n')(32830,32832) + PsiTypeQLElement(definable) - Location: (32832,32864)(32832,32864) + PsiTypeQLStatementType(statement_type) - Location: (32832,32864)(32832,32864) + PsiTypeQLElement(type_any) - Location: (32832,32838)(32832,32838) + PsiTypeQLType(type) - Name: issuer - Location: (32832,32838)(32832,32838) + PsiTypeQLElement(label) - Location: (32832,32838)(32832,32838) + PsiElement(LABEL_)('issuer')(32832,32838) + PsiWhiteSpace(' ')(32838,32839) + PsiTypeQLSubType(type_constraint) - Location: (32839,32864)(32839,32864) + PsiElement(SUB_)('sub')(32839,32842) + PsiWhiteSpace(' ')(32842,32843) + PsiTypeQLElement(type_any) - Location: (32843,32864)(32843,32864) + PsiTypeQLElement(type) - Location: (32843,32864)(32843,32864) + PsiTypeQLElement(label) - Location: (32843,32864)(32843,32864) + PsiElement(LABEL_)('stix-attribute-string')(32843,32864) + PsiElement(';')(';')(32864,32865) + PsiWhiteSpace('\n')(32865,32866) + PsiTypeQLElement(definable) - Location: (32866,32905)(32866,32905) + PsiTypeQLStatementType(statement_type) - Location: (32866,32905)(32866,32905) + PsiTypeQLElement(type_any) - Location: (32866,32879)(32866,32879) + PsiTypeQLType(type) - Name: serial-number - Location: (32866,32879)(32866,32879) + PsiTypeQLElement(label) - Location: (32866,32879)(32866,32879) + PsiElement(LABEL_)('serial-number')(32866,32879) + PsiWhiteSpace(' ')(32879,32880) + PsiTypeQLSubType(type_constraint) - Location: (32880,32905)(32880,32905) + PsiElement(SUB_)('sub')(32880,32883) + PsiWhiteSpace(' ')(32883,32884) + PsiTypeQLElement(type_any) - Location: (32884,32905)(32884,32905) + PsiTypeQLElement(type) - Location: (32884,32905)(32884,32905) + PsiTypeQLElement(label) - Location: (32884,32905)(32884,32905) + PsiElement(LABEL_)('stix-attribute-string')(32884,32905) + PsiElement(';')(';')(32905,32906) + PsiWhiteSpace('\n')(32906,32907) + PsiTypeQLElement(definable) - Location: (32907,32952)(32907,32952) + PsiTypeQLStatementType(statement_type) - Location: (32907,32952)(32907,32952) + PsiTypeQLElement(type_any) - Location: (32907,32926)(32907,32926) + PsiTypeQLType(type) - Name: signature-algorithm - Location: (32907,32926)(32907,32926) + PsiTypeQLElement(label) - Location: (32907,32926)(32907,32926) + PsiElement(LABEL_)('signature-algorithm')(32907,32926) + PsiWhiteSpace(' ')(32926,32927) + PsiTypeQLSubType(type_constraint) - Location: (32927,32952)(32927,32952) + PsiElement(SUB_)('sub')(32927,32930) + PsiWhiteSpace(' ')(32930,32931) + PsiTypeQLElement(type_any) - Location: (32931,32952)(32931,32952) + PsiTypeQLElement(type) - Location: (32931,32952)(32931,32952) + PsiTypeQLElement(label) - Location: (32931,32952)(32931,32952) + PsiElement(LABEL_)('stix-attribute-string')(32931,32952) + PsiElement(';')(';')(32952,32953) + PsiWhiteSpace('\n')(32953,32954) + PsiTypeQLElement(definable) - Location: (32954,33007)(32954,33007) + PsiTypeQLStatementType(statement_type) - Location: (32954,33007)(32954,33007) + PsiTypeQLElement(type_any) - Location: (32954,32981)(32954,32981) + PsiTypeQLType(type) - Name: subject-public-key-exponent - Location: (32954,32981)(32954,32981) + PsiTypeQLElement(label) - Location: (32954,32981)(32954,32981) + PsiElement(LABEL_)('subject-public-key-exponent')(32954,32981) + PsiWhiteSpace(' ')(32981,32982) + PsiTypeQLSubType(type_constraint) - Location: (32982,33007)(32982,33007) + PsiElement(SUB_)('sub')(32982,32985) + PsiWhiteSpace(' ')(32985,32986) + PsiTypeQLElement(type_any) - Location: (32986,33007)(32986,33007) + PsiTypeQLElement(type) - Location: (32986,33007)(32986,33007) + PsiTypeQLElement(label) - Location: (32986,33007)(32986,33007) + PsiElement(LABEL_)('stix-attribute-string')(32986,33007) + PsiElement(';')(';')(33007,33008) + PsiWhiteSpace('\n\n')(33008,33010) + PsiTypeQLElement(definable) - Location: (33010,33075)(33010,33075) + PsiTypeQLStatementType(statement_type) - Location: (33010,33075)(33010,33075) + PsiTypeQLElement(type_any) - Location: (33010,33020)(33010,33020) + PsiTypeQLType(type) - Name: hash-value - Location: (33010,33020)(33010,33020) + PsiTypeQLElement(label) - Location: (33010,33020)(33010,33020) + PsiElement(LABEL_)('hash-value')(33010,33020) + PsiWhiteSpace(' ')(33020,33021) + PsiTypeQLSubType(type_constraint) - Location: (33021,33046)(33021,33046) + PsiElement(SUB_)('sub')(33021,33024) + PsiWhiteSpace(' ')(33024,33025) + PsiTypeQLElement(type_any) - Location: (33025,33046)(33025,33046) + PsiTypeQLElement(type) - Location: (33025,33046)(33025,33046) + PsiTypeQLElement(label) - Location: (33025,33046)(33025,33046) + PsiElement(LABEL_)('stix-attribute-string')(33025,33046) + PsiElement(',')(',')(33046,33047) + PsiWhiteSpace('\n ')(33047,33052) + PsiTypeQLPlaysType(type_constraint) - Location: (33052,33075)(33052,33075) + PsiElement('plays')('plays')(33052,33057) + PsiWhiteSpace(' ')(33057,33058) + PsiTypeQLElement(type_scoped) - Location: (33058,33075)(33058,33075) + PsiTypeQLElement(label_scoped) - Location: (33058,33075)(33058,33075) + PsiElement(LABEL_SCOPED_)('hashes:hash-value')(33058,33075) + PsiElement(';')(';')(33075,33076) + PsiWhiteSpace('\n')(33076,33077) + PsiTypeQLElement(definable) - Location: (33077,33129)(33077,33129) + PsiTypeQLStatementType(statement_type) - Location: (33077,33129)(33077,33129) + PsiTypeQLElement(type_any) - Location: (33077,33089)(33077,33089) + PsiTypeQLType(type) - Name: key-abstract - Location: (33077,33089)(33077,33089) + PsiTypeQLElement(label) - Location: (33077,33089)(33077,33089) + PsiElement(LABEL_)('key-abstract')(33077,33089) + PsiWhiteSpace(' ')(33089,33090) + PsiTypeQLSubType(type_constraint) - Location: (33090,33115)(33090,33115) + PsiElement(SUB_)('sub')(33090,33093) + PsiWhiteSpace(' ')(33093,33094) + PsiTypeQLElement(type_any) - Location: (33094,33115)(33094,33115) + PsiTypeQLElement(type) - Location: (33094,33115)(33094,33115) + PsiTypeQLElement(label) - Location: (33094,33115)(33094,33115) + PsiElement(LABEL_)('stix-attribute-string')(33094,33115) + PsiElement(',')(',')(33115,33116) + PsiWhiteSpace('\n ')(33116,33121) + PsiTypeQLElement(type_constraint) - Location: (33121,33129)(33121,33129) + PsiElement('abstract')('abstract')(33121,33129) + PsiElement(';')(';')(33129,33130) + PsiWhiteSpace('\n')(33130,33131) + PsiTypeQLElement(definable) - Location: (33131,33151)(33131,33151) + PsiTypeQLStatementType(statement_type) - Location: (33131,33151)(33131,33151) + PsiTypeQLElement(type_any) - Location: (33131,33134)(33131,33134) + PsiTypeQLType(type) - Name: key - Location: (33131,33134)(33131,33134) + PsiTypeQLElement(label) - Location: (33131,33134)(33131,33134) + PsiElement(LABEL_)('key')(33131,33134) + PsiWhiteSpace(' ')(33134,33135) + PsiTypeQLSubType(type_constraint) - Location: (33135,33151)(33135,33151) + PsiElement(SUB_)('sub')(33135,33138) + PsiWhiteSpace(' ')(33138,33139) + PsiTypeQLElement(type_any) - Location: (33139,33151)(33139,33151) + PsiTypeQLElement(type) - Location: (33139,33151)(33139,33151) + PsiTypeQLElement(label) - Location: (33139,33151)(33139,33151) + PsiElement(LABEL_)('key-abstract')(33139,33151) + PsiElement(';')(';')(33151,33152) + PsiWhiteSpace('\n')(33152,33153) + PsiTypeQLElement(definable) - Location: (33153,33257)(33153,33257) + PsiTypeQLStatementType(statement_type) - Location: (33153,33257)(33153,33257) + PsiTypeQLElement(type_any) - Location: (33153,33167)(33153,33167) + PsiTypeQLType(type) - Name: hash-algorithm - Location: (33153,33167)(33153,33167) + PsiTypeQLElement(label) - Location: (33153,33167)(33153,33167) + PsiElement(LABEL_)('hash-algorithm')(33153,33167) + PsiWhiteSpace(' ')(33167,33168) + PsiTypeQLSubType(type_constraint) - Location: (33168,33184)(33168,33184) + PsiElement(SUB_)('sub')(33168,33171) + PsiWhiteSpace(' ')(33171,33172) + PsiTypeQLElement(type_any) - Location: (33172,33184)(33172,33184) + PsiTypeQLElement(type) - Location: (33172,33184)(33172,33184) + PsiTypeQLElement(label) - Location: (33172,33184)(33172,33184) + PsiElement(LABEL_)('key-abstract')(33172,33184) + PsiElement(',')(',')(33184,33185) + PsiWhiteSpace('\n ')(33185,33190) + PsiTypeQLElement(type_constraint) - Location: (33190,33257)(33190,33257) + PsiElement('regex')('regex')(33190,33195) + PsiWhiteSpace(' ')(33195,33196) + PsiElement(QUOTED_STRING)('"^(MD5|SHA-1|SHA-256|SHA-512|SHA3-256|SHA3-512|SSDEEP|TLSH)$"')(33196,33257) + PsiElement(';')(';')(33257,33258) + PsiWhiteSpace('\n')(33258,33259) + PsiTypeQLElement(definable) - Location: (33259,33372)(33259,33372) + PsiTypeQLStatementType(statement_type) - Location: (33259,33372)(33259,33372) + PsiTypeQLElement(type_any) - Location: (33259,33279)(33259,33279) + PsiTypeQLType(type) - Name: encryption-algorithm - Location: (33259,33279)(33259,33279) + PsiTypeQLElement(label) - Location: (33259,33279)(33259,33279) + PsiElement(LABEL_)('encryption-algorithm')(33259,33279) + PsiWhiteSpace(' ')(33279,33280) + PsiTypeQLSubType(type_constraint) - Location: (33280,33305)(33280,33305) + PsiElement(SUB_)('sub')(33280,33283) + PsiWhiteSpace(' ')(33283,33284) + PsiTypeQLElement(type_any) - Location: (33284,33305)(33284,33305) + PsiTypeQLElement(type) - Location: (33284,33305)(33284,33305) + PsiTypeQLElement(label) - Location: (33284,33305)(33284,33305) + PsiElement(LABEL_)('stix-attribute-string')(33284,33305) + PsiElement(',')(',')(33305,33306) + PsiWhiteSpace('\n ')(33306,33311) + PsiTypeQLElement(type_constraint) - Location: (33311,33372)(33311,33372) + PsiElement('regex')('regex')(33311,33316) + PsiWhiteSpace(' ')(33316,33317) + PsiElement(QUOTED_STRING)('"^(AES-256-GCM|ChaCha20-Poly1305|mime-type-indicated)$"')(33317,33372) + PsiElement(';')(';')(33372,33373) + PsiWhiteSpace('\n')(33373,33374) + PsiTypeQLElement(definable) - Location: (33374,33504)(33374,33504) + PsiTypeQLStatementType(statement_type) - Location: (33374,33504)(33374,33504) + PsiTypeQLElement(type_any) - Location: (33374,33388)(33374,33388) + PsiTypeQLType(type) - Name: address-family - Location: (33374,33388)(33374,33388) + PsiTypeQLElement(label) - Location: (33374,33388)(33374,33388) + PsiElement(LABEL_)('address-family')(33374,33388) + PsiWhiteSpace(' ')(33388,33389) + PsiTypeQLSubType(type_constraint) - Location: (33389,33414)(33389,33414) + PsiElement(SUB_)('sub')(33389,33392) + PsiWhiteSpace(' ')(33392,33393) + PsiTypeQLElement(type_any) - Location: (33393,33414)(33393,33414) + PsiTypeQLElement(type) - Location: (33393,33414)(33393,33414) + PsiTypeQLElement(label) - Location: (33393,33414)(33393,33414) + PsiElement(LABEL_)('stix-attribute-string')(33393,33414) + PsiElement(',')(',')(33414,33415) + PsiWhiteSpace('\n ')(33415,33420) + PsiTypeQLElement(type_constraint) - Location: (33420,33504)(33420,33504) + PsiElement('regex')('regex')(33420,33425) + PsiWhiteSpace(' ')(33425,33426) + PsiElement(QUOTED_STRING)('"^(AF-UNSPEC|AF-INET|AF-IPX|AF-APPLETALK|AF-NETBIOS|AF-INET6|AF-IRDA|AF-BTH)$"')(33426,33504) + PsiElement(';')(';')(33504,33505) + PsiWhiteSpace('\n')(33505,33506) + PsiTypeQLElement(definable) - Location: (33506,33616)(33506,33616) + PsiTypeQLStatementType(statement_type) - Location: (33506,33616)(33506,33616) + PsiTypeQLElement(type_any) - Location: (33506,33517)(33506,33517) + PsiTypeQLType(type) - Name: socket-type - Location: (33506,33517)(33506,33517) + PsiTypeQLElement(label) - Location: (33506,33517)(33506,33517) + PsiElement(LABEL_)('socket-type')(33506,33517) + PsiWhiteSpace(' ')(33517,33518) + PsiTypeQLSubType(type_constraint) - Location: (33518,33543)(33518,33543) + PsiElement(SUB_)('sub')(33518,33521) + PsiWhiteSpace(' ')(33521,33522) + PsiTypeQLElement(type_any) - Location: (33522,33543)(33522,33543) + PsiTypeQLElement(type) - Location: (33522,33543)(33522,33543) + PsiTypeQLElement(label) - Location: (33522,33543)(33522,33543) + PsiElement(LABEL_)('stix-attribute-string')(33522,33543) + PsiElement(',')(',')(33543,33544) + PsiWhiteSpace('\n ')(33544,33549) + PsiTypeQLElement(type_constraint) - Location: (33549,33616)(33549,33616) + PsiElement('regex')('regex')(33549,33554) + PsiWhiteSpace(' ')(33554,33555) + PsiElement(QUOTED_STRING)('"^(SOCK-STREAM|SOCK-DGRAM|SOCK-RAW|SOCK-RDM|SOCK-SEQPACKET)$"')(33555,33616) + PsiElement(';')(';')(33616,33617) + PsiWhiteSpace('\n')(33617,33618) + PsiTypeQLElement(definable) - Location: (33618,33729)(33618,33729) + PsiTypeQLStatementType(statement_type) - Location: (33618,33729)(33618,33729) + PsiTypeQLElement(type_any) - Location: (33618,33630)(33618,33630) + PsiTypeQLType(type) - Name: opinion-enum - Location: (33618,33630)(33618,33630) + PsiTypeQLElement(label) - Location: (33618,33630)(33618,33630) + PsiElement(LABEL_)('opinion-enum')(33618,33630) + PsiWhiteSpace(' ')(33630,33631) + PsiTypeQLSubType(type_constraint) - Location: (33631,33656)(33631,33656) + PsiElement(SUB_)('sub')(33631,33634) + PsiWhiteSpace(' ')(33634,33635) + PsiTypeQLElement(type_any) - Location: (33635,33656)(33635,33656) + PsiTypeQLElement(type) - Location: (33635,33656)(33635,33656) + PsiTypeQLElement(label) - Location: (33635,33656)(33635,33656) + PsiElement(LABEL_)('stix-attribute-string')(33635,33656) + PsiElement(',')(',')(33656,33657) + PsiWhiteSpace('\n ')(33657,33662) + PsiTypeQLElement(type_constraint) - Location: (33662,33729)(33662,33729) + PsiElement('regex')('regex')(33662,33667) + PsiWhiteSpace(' ')(33667,33668) + PsiElement(QUOTED_STRING)('"^(strongly-disagree|disagree|neutral|agree|strongly-agree)$"')(33668,33729) + PsiElement(';')(';')(33729,33730) + PsiWhiteSpace('\n')(33730,33731) + PsiTypeQLElement(definable) - Location: (33731,33812)(33731,33812) + PsiTypeQLStatementType(statement_type) - Location: (33731,33812)(33731,33812) + PsiTypeQLElement(type_any) - Location: (33731,33746)(33731,33746) + PsiTypeQLType(type) - Name: integrity-level - Location: (33731,33746)(33731,33746) + PsiTypeQLElement(label) - Location: (33731,33746)(33731,33746) + PsiElement(LABEL_)('integrity-level')(33731,33746) + PsiWhiteSpace(' ')(33746,33747) + PsiTypeQLSubType(type_constraint) - Location: (33747,33772)(33747,33772) + PsiElement(SUB_)('sub')(33747,33750) + PsiWhiteSpace(' ')(33750,33751) + PsiTypeQLElement(type_any) - Location: (33751,33772)(33751,33772) + PsiTypeQLElement(type) - Location: (33751,33772)(33751,33772) + PsiTypeQLElement(label) - Location: (33751,33772)(33751,33772) + PsiElement(LABEL_)('stix-attribute-string')(33751,33772) + PsiElement(',')(',')(33772,33773) + PsiWhiteSpace('\n ')(33773,33778) + PsiTypeQLElement(type_constraint) - Location: (33778,33812)(33778,33812) + PsiElement('regex')('regex')(33778,33783) + PsiWhiteSpace(' ')(33783,33784) + PsiElement(QUOTED_STRING)('"^(low|medium|high|system)$"')(33784,33812) + PsiElement(';')(';')(33812,33813) + PsiWhiteSpace('\n')(33813,33814) + PsiTypeQLElement(definable) - Location: (33814,34066)(33814,34066) + PsiTypeQLStatementType(statement_type) - Location: (33814,34066)(33814,34066) + PsiTypeQLElement(type_any) - Location: (33814,33823)(33814,33823) + PsiTypeQLType(type) - Name: data-type - Location: (33814,33823)(33814,33823) + PsiTypeQLElement(label) - Location: (33814,33823)(33814,33823) + PsiElement(LABEL_)('data-type')(33814,33823) + PsiWhiteSpace(' ')(33823,33824) + PsiTypeQLSubType(type_constraint) - Location: (33824,33849)(33824,33849) + PsiElement(SUB_)('sub')(33824,33827) + PsiWhiteSpace(' ')(33827,33828) + PsiTypeQLElement(type_any) - Location: (33828,33849)(33828,33849) + PsiTypeQLElement(type) - Location: (33828,33849)(33828,33849) + PsiTypeQLElement(label) - Location: (33828,33849)(33828,33849) + PsiElement(LABEL_)('stix-attribute-string')(33828,33849) + PsiElement(',')(',')(33849,33850) + PsiWhiteSpace('\n ')(33850,33855) + PsiTypeQLElement(type_constraint) - Location: (33855,34066)(33855,34066) + PsiElement('regex')('regex')(33855,33860) + PsiWhiteSpace(' ')(33860,33861) + PsiElement(QUOTED_STRING)('"^(REG-NONE|REG-SZ|REG-EXPAND-SZ|REG-BINARY|REG-DWORD|REG-DWORD-BIG-ENDIAN|REG-LINK|REG-MULTI-SZ|REG-RESOURCE-LIST|REG-FULL-RESOURCE-DESCRIPTION|REG-RESOURCE-REQUIREMENTS-LIST|REG-QWORD|REG-INVALID-TYPE)$"')(33861,34066) + PsiElement(';')(';')(34066,34067) + PsiWhiteSpace('\n')(34067,34068) + PsiTypeQLElement(definable) - Location: (34068,34218)(34068,34218) + PsiTypeQLStatementType(statement_type) - Location: (34068,34218)(34068,34218) + PsiTypeQLElement(type_any) - Location: (34068,34078)(34068,34078) + PsiTypeQLType(type) - Name: start-type - Location: (34068,34078)(34068,34078) + PsiTypeQLElement(label) - Location: (34068,34078)(34068,34078) + PsiElement(LABEL_)('start-type')(34068,34078) + PsiWhiteSpace(' ')(34078,34079) + PsiTypeQLSubType(type_constraint) - Location: (34079,34104)(34079,34104) + PsiElement(SUB_)('sub')(34079,34082) + PsiWhiteSpace(' ')(34082,34083) + PsiTypeQLElement(type_any) - Location: (34083,34104)(34083,34104) + PsiTypeQLElement(type) - Location: (34083,34104)(34083,34104) + PsiTypeQLElement(label) - Location: (34083,34104)(34083,34104) + PsiElement(LABEL_)('stix-attribute-string')(34083,34104) + PsiElement(',')(',')(34104,34105) + PsiWhiteSpace('\n ')(34105,34110) + PsiTypeQLElement(type_constraint) - Location: (34110,34218)(34110,34218) + PsiElement('regex')('regex')(34110,34115) + PsiWhiteSpace(' ')(34115,34116) + PsiElement(QUOTED_STRING)('"^(SERVICE-AUTO-START|SERVICE-BOOT-START|SERVICE-DEMAND-START|SERVICE-DISABLED|SERVICE-SYSTEM-ALERT)$"')(34116,34218) + PsiElement(';')(';')(34218,34219) + PsiWhiteSpace('\n')(34219,34220) + PsiTypeQLElement(definable) - Location: (34220,34378)(34220,34378) + PsiTypeQLStatementType(statement_type) - Location: (34220,34378)(34220,34378) + PsiTypeQLElement(type_any) - Location: (34220,34232)(34220,34232) + PsiTypeQLType(type) - Name: service-type - Location: (34220,34232)(34220,34232) + PsiTypeQLElement(label) - Location: (34220,34232)(34220,34232) + PsiElement(LABEL_)('service-type')(34220,34232) + PsiWhiteSpace(' ')(34232,34233) + PsiTypeQLSubType(type_constraint) - Location: (34233,34258)(34233,34258) + PsiElement(SUB_)('sub')(34233,34236) + PsiWhiteSpace(' ')(34236,34237) + PsiTypeQLElement(type_any) - Location: (34237,34258)(34237,34258) + PsiTypeQLElement(type) - Location: (34237,34258)(34237,34258) + PsiTypeQLElement(label) - Location: (34237,34258)(34237,34258) + PsiElement(LABEL_)('stix-attribute-string')(34237,34258) + PsiElement(',')(',')(34258,34259) + PsiWhiteSpace('\n ')(34259,34264) + PsiTypeQLElement(type_constraint) - Location: (34264,34378)(34264,34378) + PsiElement('regex')('regex')(34264,34269) + PsiWhiteSpace(' ')(34269,34270) + PsiElement(QUOTED_STRING)('"^(SERVICE-KERNEL-DRIVER|SERVICE-FILE-SYSTEM-DRIVER|SERVICE-WIN32-OWN-PROCESS|SERVICE-WIN32-SHARE-PROCESS)$"')(34270,34378) + PsiElement(';')(';')(34378,34379) + PsiWhiteSpace('\n')(34379,34380) + PsiTypeQLElement(definable) - Location: (34380,34574)(34380,34574) + PsiTypeQLStatementType(statement_type) - Location: (34380,34574)(34380,34574) + PsiTypeQLElement(type_any) - Location: (34380,34394)(34380,34394) + PsiTypeQLType(type) - Name: service-status - Location: (34380,34394)(34380,34394) + PsiTypeQLElement(label) - Location: (34380,34394)(34380,34394) + PsiElement(LABEL_)('service-status')(34380,34394) + PsiWhiteSpace(' ')(34394,34395) + PsiTypeQLSubType(type_constraint) - Location: (34395,34420)(34395,34420) + PsiElement(SUB_)('sub')(34395,34398) + PsiWhiteSpace(' ')(34398,34399) + PsiTypeQLElement(type_any) - Location: (34399,34420)(34399,34420) + PsiTypeQLElement(type) - Location: (34399,34420)(34399,34420) + PsiTypeQLElement(label) - Location: (34399,34420)(34399,34420) + PsiElement(LABEL_)('stix-attribute-string')(34399,34420) + PsiElement(',')(',')(34420,34421) + PsiWhiteSpace('\n ')(34421,34426) + PsiTypeQLElement(type_constraint) - Location: (34426,34574)(34426,34574) + PsiElement('regex')('regex')(34426,34431) + PsiWhiteSpace(' ')(34431,34432) + PsiElement(QUOTED_STRING)('"^(SERVICE-CONTINUE-PENDING|SERVICE-PAUSE-PENDING|SERVICE-PAUSED|SERVICE-RUNNING|SERVICE-START-PENDING|SERVICE-STOP-PENDING|SERVICE-STOPPED)$"')(34432,34574) + PsiElement(';')(';')(34574,34575) + PsiWhiteSpace('\n')(34575,34576) + PsiTypeQLElement(definable) - Location: (34576,34652)(34576,34652) + PsiTypeQLStatementType(statement_type) - Location: (34576,34652)(34576,34652) + PsiTypeQLElement(type_any) - Location: (34576,34581)(34576,34581) + PsiTypeQLType(type) - Name: color - Location: (34576,34581)(34576,34581) + PsiTypeQLElement(label) - Location: (34576,34581)(34576,34581) + PsiElement(LABEL_)('color')(34576,34581) + PsiWhiteSpace(' ')(34581,34582) + PsiTypeQLSubType(type_constraint) - Location: (34582,34607)(34582,34607) + PsiElement(SUB_)('sub')(34582,34585) + PsiWhiteSpace(' ')(34585,34586) + PsiTypeQLElement(type_any) - Location: (34586,34607)(34586,34607) + PsiTypeQLElement(type) - Location: (34586,34607)(34586,34607) + PsiTypeQLElement(label) - Location: (34586,34607)(34586,34607) + PsiElement(LABEL_)('stix-attribute-string')(34586,34607) + PsiElement(',')(',')(34607,34608) + PsiWhiteSpace('\n ')(34608,34613) + PsiTypeQLElement(type_constraint) - Location: (34613,34652)(34613,34652) + PsiElement('regex')('regex')(34613,34618) + PsiWhiteSpace(' ')(34618,34619) + PsiElement(QUOTED_STRING)('"^(white|green|amber|red|clear)$"')(34619,34652) + PsiElement(';')(';')(34652,34653) + PsiWhiteSpace('\n')(34653,34654) + PsiTypeQLElement(definable) - Location: (34654,34757)(34654,34757) + PsiTypeQLStatementType(statement_type) - Location: (34654,34757)(34654,34757) + PsiTypeQLElement(type_any) - Location: (34654,34675)(34654,34675) + PsiTypeQLType(type) - Name: stix-attribute-double - Location: (34654,34675)(34654,34675) + PsiTypeQLElement(label) - Location: (34654,34675)(34654,34675) + PsiElement(LABEL_)('stix-attribute-double')(34654,34675) + PsiWhiteSpace(' ')(34675,34676) + PsiTypeQLElement(type_constraint) - Location: (34676,34689)(34676,34689) + PsiElement(SUB_)('sub')(34676,34679) + PsiWhiteSpace(' ')(34679,34680) + PsiTypeQLElement(type_any) - Location: (34680,34689)(34680,34689) + PsiTypeQLElement(type) - Location: (34680,34689)(34680,34689) + PsiTypeQLElement(label) - Location: (34680,34689)(34680,34689) + PsiTypeQLElement(type_native) - Location: (34680,34689)(34680,34689) + PsiElement('attribute')('attribute')(34680,34689) + PsiElement(',')(',')(34689,34690) + PsiWhiteSpace('\n ')(34690,34695) + PsiTypeQLElement(type_constraint) - Location: (34695,34707)(34695,34707) + PsiElement('value')('value')(34695,34700) + PsiWhiteSpace(' ')(34700,34701) + PsiTypeQLElement(value_type) - Location: (34701,34707)(34701,34707) + PsiElement('double')('double')(34701,34707) + PsiElement(',')(',')(34707,34708) + PsiWhiteSpace('\n\n ')(34708,34714) + PsiTypeQLPlaysType(type_constraint) - Location: (34714,34743)(34714,34743) + PsiElement('plays')('plays')(34714,34719) + PsiWhiteSpace(' ')(34719,34720) + PsiTypeQLElement(type_scoped) - Location: (34720,34743)(34720,34743) + PsiTypeQLElement(label_scoped) - Location: (34720,34743)(34720,34743) + PsiElement(LABEL_SCOPED_)('granular-marking:marked')(34720,34743) + PsiElement(',')(',')(34743,34744) + PsiWhiteSpace('\n ')(34744,34749) + PsiTypeQLElement(type_constraint) - Location: (34749,34757)(34749,34757) + PsiElement('abstract')('abstract')(34749,34757) + PsiElement(';')(';')(34757,34758) + PsiWhiteSpace('\n\n')(34758,34760) + PsiTypeQLElement(definable) - Location: (34760,34792)(34760,34792) + PsiTypeQLStatementType(statement_type) - Location: (34760,34792)(34760,34792) + PsiTypeQLElement(type_any) - Location: (34760,34766)(34760,34766) + PsiTypeQLType(type) - Name: number - Location: (34760,34766)(34760,34766) + PsiTypeQLElement(label) - Location: (34760,34766)(34760,34766) + PsiElement(LABEL_)('number')(34760,34766) + PsiWhiteSpace(' ')(34766,34767) + PsiTypeQLSubType(type_constraint) - Location: (34767,34792)(34767,34792) + PsiElement(SUB_)('sub')(34767,34770) + PsiWhiteSpace(' ')(34770,34771) + PsiTypeQLElement(type_any) - Location: (34771,34792)(34771,34792) + PsiTypeQLElement(type) - Location: (34771,34792)(34771,34792) + PsiTypeQLElement(label) - Location: (34771,34792)(34771,34792) + PsiElement(LABEL_)('stix-attribute-double')(34771,34792) + PsiElement(';')(';')(34792,34793) + PsiWhiteSpace('\n')(34793,34794) + PsiTypeQLElement(definable) - Location: (34794,34828)(34794,34828) + PsiTypeQLStatementType(statement_type) - Location: (34794,34828)(34794,34828) + PsiTypeQLElement(type_any) - Location: (34794,34802)(34794,34802) + PsiTypeQLType(type) - Name: latitude - Location: (34794,34802)(34794,34802) + PsiTypeQLElement(label) - Location: (34794,34802)(34794,34802) + PsiElement(LABEL_)('latitude')(34794,34802) + PsiWhiteSpace(' ')(34802,34803) + PsiTypeQLSubType(type_constraint) - Location: (34803,34828)(34803,34828) + PsiElement(SUB_)('sub')(34803,34806) + PsiWhiteSpace(' ')(34806,34807) + PsiTypeQLElement(type_any) - Location: (34807,34828)(34807,34828) + PsiTypeQLElement(type) - Location: (34807,34828)(34807,34828) + PsiTypeQLElement(label) - Location: (34807,34828)(34807,34828) + PsiElement(LABEL_)('stix-attribute-double')(34807,34828) + PsiElement(';')(';')(34828,34829) + PsiWhiteSpace('\n')(34829,34830) + PsiTypeQLElement(definable) - Location: (34830,34865)(34830,34865) + PsiTypeQLStatementType(statement_type) - Location: (34830,34865)(34830,34865) + PsiTypeQLElement(type_any) - Location: (34830,34839)(34830,34839) + PsiTypeQLType(type) - Name: longitude - Location: (34830,34839)(34830,34839) + PsiTypeQLElement(label) - Location: (34830,34839)(34830,34839) + PsiElement(LABEL_)('longitude')(34830,34839) + PsiWhiteSpace(' ')(34839,34840) + PsiTypeQLSubType(type_constraint) - Location: (34840,34865)(34840,34865) + PsiElement(SUB_)('sub')(34840,34843) + PsiWhiteSpace(' ')(34843,34844) + PsiTypeQLElement(type_any) - Location: (34844,34865)(34844,34865) + PsiTypeQLElement(type) - Location: (34844,34865)(34844,34865) + PsiTypeQLElement(label) - Location: (34844,34865)(34844,34865) + PsiElement(LABEL_)('stix-attribute-double')(34844,34865) + PsiElement(';')(';')(34865,34866) + PsiWhiteSpace('\n')(34866,34867) + PsiTypeQLElement(definable) - Location: (34867,34902)(34867,34902) + PsiTypeQLStatementType(statement_type) - Location: (34867,34902)(34867,34902) + PsiTypeQLElement(type_any) - Location: (34867,34876)(34867,34876) + PsiTypeQLType(type) - Name: precision - Location: (34867,34876)(34867,34876) + PsiTypeQLElement(label) - Location: (34867,34876)(34867,34876) + PsiElement(LABEL_)('precision')(34867,34876) + PsiWhiteSpace(' ')(34876,34877) + PsiTypeQLSubType(type_constraint) - Location: (34877,34902)(34877,34902) + PsiElement(SUB_)('sub')(34877,34880) + PsiWhiteSpace(' ')(34880,34881) + PsiTypeQLElement(type_any) - Location: (34881,34902)(34881,34902) + PsiTypeQLElement(type) - Location: (34881,34902)(34881,34902) + PsiTypeQLElement(label) - Location: (34881,34902)(34881,34902) + PsiElement(LABEL_)('stix-attribute-double')(34881,34902) + PsiElement(';')(';')(34902,34903) + PsiWhiteSpace('\n')(34903,34904) + PsiTypeQLElement(definable) - Location: (34904,34945)(34904,34945) + PsiTypeQLStatementType(statement_type) - Location: (34904,34945)(34904,34945) + PsiTypeQLElement(type_any) - Location: (34904,34919)(34904,34919) + PsiTypeQLType(type) - Name: number-observed - Location: (34904,34919)(34904,34919) + PsiTypeQLElement(label) - Location: (34904,34919)(34904,34919) + PsiElement(LABEL_)('number-observed')(34904,34919) + PsiWhiteSpace(' ')(34919,34920) + PsiTypeQLSubType(type_constraint) - Location: (34920,34945)(34920,34945) + PsiElement(SUB_)('sub')(34920,34923) + PsiWhiteSpace(' ')(34923,34924) + PsiTypeQLElement(type_any) - Location: (34924,34945)(34924,34945) + PsiTypeQLElement(type) - Location: (34924,34945)(34924,34945) + PsiTypeQLElement(label) - Location: (34924,34945)(34924,34945) + PsiElement(LABEL_)('stix-attribute-double')(34924,34945) + PsiElement(';')(';')(34945,34946) + PsiWhiteSpace('\n')(34946,34947) + PsiTypeQLElement(definable) - Location: (34947,34978)(34947,34978) + PsiTypeQLStatementType(statement_type) - Location: (34947,34978)(34947,34978) + PsiTypeQLElement(type_any) - Location: (34947,34952)(34947,34952) + PsiTypeQLType(type) - Name: count - Location: (34947,34952)(34947,34952) + PsiTypeQLElement(label) - Location: (34947,34952)(34947,34952) + PsiTypeQLElement(unreserved) - Location: (34947,34952)(34947,34952) + PsiElement('count')('count')(34947,34952) + PsiWhiteSpace(' ')(34952,34953) + PsiTypeQLSubType(type_constraint) - Location: (34953,34978)(34953,34978) + PsiElement(SUB_)('sub')(34953,34956) + PsiWhiteSpace(' ')(34956,34957) + PsiTypeQLElement(type_any) - Location: (34957,34978)(34957,34978) + PsiTypeQLElement(type) - Location: (34957,34978)(34957,34978) + PsiTypeQLElement(label) - Location: (34957,34978)(34957,34978) + PsiElement(LABEL_)('stix-attribute-double')(34957,34978) + PsiElement(';')(';')(34978,34979) + PsiWhiteSpace('\n')(34979,34980) + PsiTypeQLElement(definable) - Location: (34980,35013)(34980,35013) + PsiTypeQLStatementType(statement_type) - Location: (34980,35013)(34980,35013) + PsiTypeQLElement(type_any) - Location: (34980,34987)(34980,34987) + PsiTypeQLType(type) - Name: entropy - Location: (34980,34987)(34980,34987) + PsiTypeQLElement(label) - Location: (34980,34987)(34980,34987) + PsiElement(LABEL_)('entropy')(34980,34987) + PsiWhiteSpace(' ')(34987,34988) + PsiTypeQLSubType(type_constraint) - Location: (34988,35013)(34988,35013) + PsiElement(SUB_)('sub')(34988,34991) + PsiWhiteSpace(' ')(34991,34992) + PsiTypeQLElement(type_any) - Location: (34992,35013)(34992,35013) + PsiTypeQLElement(type) - Location: (34992,35013)(34992,35013) + PsiTypeQLElement(label) - Location: (34992,35013)(34992,35013) + PsiElement(LABEL_)('stix-attribute-double')(34992,35013) + PsiElement(';')(';')(35013,35014) + PsiWhiteSpace('\n')(35014,35015) + PsiTypeQLElement(definable) - Location: (35015,35066)(35015,35066) + PsiTypeQLStatementType(statement_type) - Location: (35015,35066)(35015,35066) + PsiTypeQLElement(type_any) - Location: (35015,35040)(35015,35040) + PsiTypeQLType(type) - Name: size-ofuninitialized-data - Location: (35015,35040)(35015,35040) + PsiTypeQLElement(label) - Location: (35015,35040)(35015,35040) + PsiElement(LABEL_)('size-ofuninitialized-data')(35015,35040) + PsiWhiteSpace(' ')(35040,35041) + PsiTypeQLSubType(type_constraint) - Location: (35041,35066)(35041,35066) + PsiElement(SUB_)('sub')(35041,35044) + PsiWhiteSpace(' ')(35044,35045) + PsiTypeQLElement(type_any) - Location: (35045,35066)(35045,35066) + PsiTypeQLElement(type) - Location: (35045,35066)(35045,35066) + PsiTypeQLElement(label) - Location: (35045,35066)(35045,35066) + PsiElement(LABEL_)('stix-attribute-double')(35045,35066) + PsiElement(';')(';')(35066,35067) + PsiWhiteSpace('\n\n')(35067,35069) + PsiTypeQLElement(definable) - Location: (35069,35171)(35069,35171) + PsiTypeQLStatementType(statement_type) - Location: (35069,35171)(35069,35171) + PsiTypeQLElement(type_any) - Location: (35069,35091)(35069,35091) + PsiTypeQLType(type) - Name: stix-attribute-integer - Location: (35069,35091)(35069,35091) + PsiTypeQLElement(label) - Location: (35069,35091)(35069,35091) + PsiElement(LABEL_)('stix-attribute-integer')(35069,35091) + PsiWhiteSpace(' ')(35091,35092) + PsiTypeQLElement(type_constraint) - Location: (35092,35105)(35092,35105) + PsiElement(SUB_)('sub')(35092,35095) + PsiWhiteSpace(' ')(35095,35096) + PsiTypeQLElement(type_any) - Location: (35096,35105)(35096,35105) + PsiTypeQLElement(type) - Location: (35096,35105)(35096,35105) + PsiTypeQLElement(label) - Location: (35096,35105)(35096,35105) + PsiTypeQLElement(type_native) - Location: (35096,35105)(35096,35105) + PsiElement('attribute')('attribute')(35096,35105) + PsiElement(',')(',')(35105,35106) + PsiWhiteSpace('\n ')(35106,35111) + PsiTypeQLElement(type_constraint) - Location: (35111,35121)(35111,35121) + PsiElement('value')('value')(35111,35116) + PsiWhiteSpace(' ')(35116,35117) + PsiTypeQLElement(value_type) - Location: (35117,35121)(35117,35121) + PsiElement('long')('long')(35117,35121) + PsiElement(',')(',')(35121,35122) + PsiWhiteSpace('\n\n ')(35122,35128) + PsiTypeQLPlaysType(type_constraint) - Location: (35128,35157)(35128,35157) + PsiElement('plays')('plays')(35128,35133) + PsiWhiteSpace(' ')(35133,35134) + PsiTypeQLElement(type_scoped) - Location: (35134,35157)(35134,35157) + PsiTypeQLElement(label_scoped) - Location: (35134,35157)(35134,35157) + PsiElement(LABEL_SCOPED_)('granular-marking:marked')(35134,35157) + PsiElement(',')(',')(35157,35158) + PsiWhiteSpace('\n ')(35158,35163) + PsiTypeQLElement(type_constraint) - Location: (35163,35171)(35163,35171) + PsiElement('abstract')('abstract')(35163,35171) + PsiElement(';')(';')(35171,35172) + PsiWhiteSpace('\n\n')(35172,35174) + PsiTypeQLElement(definable) - Location: (35174,35205)(35174,35205) + PsiTypeQLStatementType(statement_type) - Location: (35174,35205)(35174,35205) + PsiTypeQLElement(type_any) - Location: (35174,35178)(35174,35178) + PsiTypeQLType(type) - Name: size - Location: (35174,35178)(35174,35178) + PsiTypeQLElement(label) - Location: (35174,35178)(35174,35178) + PsiElement(LABEL_)('size')(35174,35178) + PsiWhiteSpace(' ')(35178,35179) + PsiTypeQLSubType(type_constraint) - Location: (35179,35205)(35179,35205) + PsiElement(SUB_)('sub')(35179,35182) + PsiWhiteSpace(' ')(35182,35183) + PsiTypeQLElement(type_any) - Location: (35183,35205)(35183,35205) + PsiTypeQLElement(type) - Location: (35183,35205)(35183,35205) + PsiTypeQLElement(label) - Location: (35183,35205)(35183,35205) + PsiElement(LABEL_)('stix-attribute-integer')(35183,35205) + PsiElement(';')(';')(35205,35206) + PsiWhiteSpace('\n')(35206,35207) + PsiTypeQLElement(definable) - Location: (35207,35237)(35207,35237) + PsiTypeQLStatementType(statement_type) - Location: (35207,35237)(35207,35237) + PsiTypeQLElement(type_any) - Location: (35207,35210)(35207,35210) + PsiTypeQLType(type) - Name: gid - Location: (35207,35210)(35207,35210) + PsiTypeQLElement(label) - Location: (35207,35210)(35207,35210) + PsiElement(LABEL_)('gid')(35207,35210) + PsiWhiteSpace(' ')(35210,35211) + PsiTypeQLSubType(type_constraint) - Location: (35211,35237)(35211,35237) + PsiElement(SUB_)('sub')(35211,35214) + PsiWhiteSpace(' ')(35214,35215) + PsiTypeQLElement(type_any) - Location: (35215,35237)(35215,35237) + PsiTypeQLElement(type) - Location: (35215,35237)(35215,35237) + PsiTypeQLElement(label) - Location: (35215,35237)(35215,35237) + PsiElement(LABEL_)('stix-attribute-integer')(35215,35237) + PsiElement(';')(';')(35237,35238) + PsiWhiteSpace('\n')(35238,35239) + PsiTypeQLElement(definable) - Location: (35239,35278)(35239,35278) + PsiTypeQLStatementType(statement_type) - Location: (35239,35278)(35239,35278) + PsiTypeQLElement(type_any) - Location: (35239,35251)(35239,35251) + PsiTypeQLType(type) - Name: image-height - Location: (35239,35251)(35239,35251) + PsiTypeQLElement(label) - Location: (35239,35251)(35239,35251) + PsiElement(LABEL_)('image-height')(35239,35251) + PsiWhiteSpace(' ')(35251,35252) + PsiTypeQLSubType(type_constraint) - Location: (35252,35278)(35252,35278) + PsiElement(SUB_)('sub')(35252,35255) + PsiWhiteSpace(' ')(35255,35256) + PsiTypeQLElement(type_any) - Location: (35256,35278)(35256,35278) + PsiTypeQLElement(type) - Location: (35256,35278)(35256,35278) + PsiTypeQLElement(label) - Location: (35256,35278)(35256,35278) + PsiElement(LABEL_)('stix-attribute-integer')(35256,35278) + PsiElement(';')(';')(35278,35279) + PsiWhiteSpace('\n')(35279,35280) + PsiTypeQLElement(definable) - Location: (35280,35318)(35280,35318) + PsiTypeQLStatementType(statement_type) - Location: (35280,35318)(35280,35318) + PsiTypeQLElement(type_any) - Location: (35280,35291)(35280,35291) + PsiTypeQLType(type) - Name: image-width - Location: (35280,35291)(35280,35291) + PsiTypeQLElement(label) - Location: (35280,35291)(35280,35291) + PsiElement(LABEL_)('image-width')(35280,35291) + PsiWhiteSpace(' ')(35291,35292) + PsiTypeQLSubType(type_constraint) - Location: (35292,35318)(35292,35318) + PsiElement(SUB_)('sub')(35292,35295) + PsiWhiteSpace(' ')(35295,35296) + PsiTypeQLElement(type_any) - Location: (35296,35318)(35296,35318) + PsiTypeQLElement(type) - Location: (35296,35318)(35296,35318) + PsiTypeQLElement(label) - Location: (35296,35318)(35296,35318) + PsiElement(LABEL_)('stix-attribute-integer')(35296,35318) + PsiElement(';')(';')(35318,35319) + PsiWhiteSpace('\n')(35319,35320) + PsiTypeQLElement(definable) - Location: (35320,35361)(35320,35361) + PsiTypeQLStatementType(statement_type) - Location: (35320,35361)(35320,35361) + PsiTypeQLElement(type_any) - Location: (35320,35334)(35320,35334) + PsiTypeQLType(type) - Name: bits-per-pixel - Location: (35320,35334)(35320,35334) + PsiTypeQLElement(label) - Location: (35320,35334)(35320,35334) + PsiElement(LABEL_)('bits-per-pixel')(35320,35334) + PsiWhiteSpace(' ')(35334,35335) + PsiTypeQLSubType(type_constraint) - Location: (35335,35361)(35335,35361) + PsiElement(SUB_)('sub')(35335,35338) + PsiWhiteSpace(' ')(35338,35339) + PsiTypeQLElement(type_any) - Location: (35339,35361)(35339,35361) + PsiTypeQLElement(type) - Location: (35339,35361)(35339,35361) + PsiTypeQLElement(label) - Location: (35339,35361)(35339,35361) + PsiElement(LABEL_)('stix-attribute-integer')(35339,35361) + PsiElement(';')(';')(35361,35362) + PsiWhiteSpace('\n')(35362,35363) + PsiTypeQLElement(definable) - Location: (35363,35400)(35363,35400) + PsiTypeQLStatementType(statement_type) - Location: (35363,35400)(35363,35400) + PsiTypeQLElement(type_any) - Location: (35363,35373)(35363,35373) + PsiTypeQLType(type) - Name: confidence - Location: (35363,35373)(35363,35373) + PsiTypeQLElement(label) - Location: (35363,35373)(35363,35373) + PsiElement(LABEL_)('confidence')(35363,35373) + PsiWhiteSpace(' ')(35373,35374) + PsiTypeQLSubType(type_constraint) - Location: (35374,35400)(35374,35400) + PsiElement(SUB_)('sub')(35374,35377) + PsiWhiteSpace(' ')(35377,35378) + PsiTypeQLElement(type_any) - Location: (35378,35400)(35378,35400) + PsiTypeQLElement(type) - Location: (35378,35400)(35378,35400) + PsiTypeQLElement(label) - Location: (35378,35400)(35378,35400) + PsiElement(LABEL_)('stix-attribute-integer')(35378,35400) + PsiElement(';')(';')(35400,35401) + PsiWhiteSpace('\n')(35401,35402) + PsiTypeQLElement(definable) - Location: (35402,35447)(35402,35447) + PsiTypeQLStatementType(statement_type) - Location: (35402,35447)(35402,35447) + PsiTypeQLElement(type_any) - Location: (35402,35420)(35402,35420) + PsiTypeQLType(type) - Name: number-of-sections - Location: (35402,35420)(35402,35420) + PsiTypeQLElement(label) - Location: (35402,35420)(35402,35420) + PsiElement(LABEL_)('number-of-sections')(35402,35420) + PsiWhiteSpace(' ')(35420,35421) + PsiTypeQLSubType(type_constraint) - Location: (35421,35447)(35421,35447) + PsiElement(SUB_)('sub')(35421,35424) + PsiWhiteSpace(' ')(35424,35425) + PsiTypeQLElement(type_any) - Location: (35425,35447)(35425,35447) + PsiTypeQLElement(type) - Location: (35425,35447)(35425,35447) + PsiTypeQLElement(label) - Location: (35425,35447)(35425,35447) + PsiElement(LABEL_)('stix-attribute-integer')(35425,35447) + PsiElement(';')(';')(35447,35448) + PsiWhiteSpace('\n')(35448,35449) + PsiTypeQLElement(definable) - Location: (35449,35493)(35449,35493) + PsiTypeQLStatementType(statement_type) - Location: (35449,35493)(35449,35493) + PsiTypeQLElement(type_any) - Location: (35449,35466)(35449,35466) + PsiTypeQLType(type) - Name: number-of-symbols - Location: (35449,35466)(35449,35466) + PsiTypeQLElement(label) - Location: (35449,35466)(35449,35466) + PsiElement(LABEL_)('number-of-symbols')(35449,35466) + PsiWhiteSpace(' ')(35466,35467) + PsiTypeQLSubType(type_constraint) - Location: (35467,35493)(35467,35493) + PsiElement(SUB_)('sub')(35467,35470) + PsiWhiteSpace(' ')(35470,35471) + PsiTypeQLElement(type_any) - Location: (35471,35493)(35471,35493) + PsiTypeQLElement(type) - Location: (35471,35493)(35471,35493) + PsiTypeQLElement(label) - Location: (35471,35493)(35471,35493) + PsiElement(LABEL_)('stix-attribute-integer')(35471,35493) + PsiElement(';')(';')(35493,35494) + PsiWhiteSpace('\n')(35494,35495) + PsiTypeQLElement(definable) - Location: (35495,35545)(35495,35545) + PsiTypeQLStatementType(statement_type) - Location: (35495,35545)(35495,35545) + PsiTypeQLElement(type_any) - Location: (35495,35518)(35495,35518) + PsiTypeQLType(type) - Name: size-of-optional-header - Location: (35495,35518)(35495,35518) + PsiTypeQLElement(label) - Location: (35495,35518)(35495,35518) + PsiElement(LABEL_)('size-of-optional-header')(35495,35518) + PsiWhiteSpace(' ')(35518,35519) + PsiTypeQLSubType(type_constraint) - Location: (35519,35545)(35519,35545) + PsiElement(SUB_)('sub')(35519,35522) + PsiWhiteSpace(' ')(35522,35523) + PsiTypeQLElement(type_any) - Location: (35523,35545)(35523,35545) + PsiTypeQLElement(type) - Location: (35523,35545)(35523,35545) + PsiTypeQLElement(label) - Location: (35523,35545)(35523,35545) + PsiElement(LABEL_)('stix-attribute-integer')(35523,35545) + PsiElement(';')(';')(35545,35546) + PsiWhiteSpace('\n')(35546,35547) + PsiTypeQLElement(definable) - Location: (35547,35594)(35547,35594) + PsiTypeQLStatementType(statement_type) - Location: (35547,35594)(35547,35594) + PsiTypeQLElement(type_any) - Location: (35547,35567)(35547,35567) + PsiTypeQLType(type) - Name: major-linker-version - Location: (35547,35567)(35547,35567) + PsiTypeQLElement(label) - Location: (35547,35567)(35547,35567) + PsiElement(LABEL_)('major-linker-version')(35547,35567) + PsiWhiteSpace(' ')(35567,35568) + PsiTypeQLSubType(type_constraint) - Location: (35568,35594)(35568,35594) + PsiElement(SUB_)('sub')(35568,35571) + PsiWhiteSpace(' ')(35571,35572) + PsiTypeQLElement(type_any) - Location: (35572,35594)(35572,35594) + PsiTypeQLElement(type) - Location: (35572,35594)(35572,35594) + PsiTypeQLElement(label) - Location: (35572,35594)(35572,35594) + PsiElement(LABEL_)('stix-attribute-integer')(35572,35594) + PsiElement(';')(';')(35594,35595) + PsiWhiteSpace('\n')(35595,35596) + PsiTypeQLElement(definable) - Location: (35596,35643)(35596,35643) + PsiTypeQLStatementType(statement_type) - Location: (35596,35643)(35596,35643) + PsiTypeQLElement(type_any) - Location: (35596,35616)(35596,35616) + PsiTypeQLType(type) - Name: minor-linker-version - Location: (35596,35616)(35596,35616) + PsiTypeQLElement(label) - Location: (35596,35616)(35596,35616) + PsiElement(LABEL_)('minor-linker-version')(35596,35616) + PsiWhiteSpace(' ')(35616,35617) + PsiTypeQLSubType(type_constraint) - Location: (35617,35643)(35617,35643) + PsiElement(SUB_)('sub')(35617,35620) + PsiWhiteSpace(' ')(35620,35621) + PsiTypeQLElement(type_any) - Location: (35621,35643)(35621,35643) + PsiTypeQLElement(type) - Location: (35621,35643)(35621,35643) + PsiTypeQLElement(label) - Location: (35621,35643)(35621,35643) + PsiElement(LABEL_)('stix-attribute-integer')(35621,35643) + PsiElement(';')(';')(35643,35644) + PsiWhiteSpace('\n')(35644,35645) + PsiTypeQLElement(definable) - Location: (35645,35684)(35645,35684) + PsiTypeQLStatementType(statement_type) - Location: (35645,35684)(35645,35684) + PsiTypeQLElement(type_any) - Location: (35645,35657)(35645,35657) + PsiTypeQLType(type) - Name: size-of-code - Location: (35645,35657)(35645,35657) + PsiTypeQLElement(label) - Location: (35645,35657)(35645,35657) + PsiElement(LABEL_)('size-of-code')(35645,35657) + PsiWhiteSpace(' ')(35657,35658) + PsiTypeQLSubType(type_constraint) - Location: (35658,35684)(35658,35684) + PsiElement(SUB_)('sub')(35658,35661) + PsiWhiteSpace(' ')(35661,35662) + PsiTypeQLElement(type_any) - Location: (35662,35684)(35662,35684) + PsiTypeQLElement(type) - Location: (35662,35684)(35662,35684) + PsiTypeQLElement(label) - Location: (35662,35684)(35662,35684) + PsiElement(LABEL_)('stix-attribute-integer')(35662,35684) + PsiElement(';')(';')(35684,35685) + PsiWhiteSpace('\n')(35685,35686) + PsiTypeQLElement(definable) - Location: (35686,35737)(35686,35737) + PsiTypeQLStatementType(statement_type) - Location: (35686,35737)(35686,35737) + PsiTypeQLElement(type_any) - Location: (35686,35710)(35686,35710) + PsiTypeQLType(type) - Name: size-of-initialized-data - Location: (35686,35710)(35686,35710) + PsiTypeQLElement(label) - Location: (35686,35710)(35686,35710) + PsiElement(LABEL_)('size-of-initialized-data')(35686,35710) + PsiWhiteSpace(' ')(35710,35711) + PsiTypeQLSubType(type_constraint) - Location: (35711,35737)(35711,35737) + PsiElement(SUB_)('sub')(35711,35714) + PsiWhiteSpace(' ')(35714,35715) + PsiTypeQLElement(type_any) - Location: (35715,35737)(35715,35737) + PsiTypeQLElement(type) - Location: (35715,35737)(35715,35737) + PsiTypeQLElement(label) - Location: (35715,35737)(35715,35737) + PsiElement(LABEL_)('stix-attribute-integer')(35715,35737) + PsiElement(';')(';')(35737,35738) + PsiWhiteSpace('\n')(35738,35739) + PsiTypeQLElement(definable) - Location: (35739,35792)(35739,35792) + PsiTypeQLStatementType(statement_type) - Location: (35739,35792)(35739,35792) + PsiTypeQLElement(type_any) - Location: (35739,35765)(35739,35765) + PsiTypeQLType(type) - Name: size-of-uninitialized-data - Location: (35739,35765)(35739,35765) + PsiTypeQLElement(label) - Location: (35739,35765)(35739,35765) + PsiElement(LABEL_)('size-of-uninitialized-data')(35739,35765) + PsiWhiteSpace(' ')(35765,35766) + PsiTypeQLSubType(type_constraint) - Location: (35766,35792)(35766,35792) + PsiElement(SUB_)('sub')(35766,35769) + PsiWhiteSpace(' ')(35769,35770) + PsiTypeQLElement(type_any) - Location: (35770,35792)(35770,35792) + PsiTypeQLElement(type) - Location: (35770,35792)(35770,35792) + PsiTypeQLElement(label) - Location: (35770,35792)(35770,35792) + PsiElement(LABEL_)('stix-attribute-integer')(35770,35792) + PsiElement(';')(';')(35792,35793) + PsiWhiteSpace('\n')(35793,35794) + PsiTypeQLElement(definable) - Location: (35794,35843)(35794,35843) + PsiTypeQLStatementType(statement_type) - Location: (35794,35843)(35794,35843) + PsiTypeQLElement(type_any) - Location: (35794,35816)(35794,35816) + PsiTypeQLType(type) - Name: address-of-entry-point - Location: (35794,35816)(35794,35816) + PsiTypeQLElement(label) - Location: (35794,35816)(35794,35816) + PsiElement(LABEL_)('address-of-entry-point')(35794,35816) + PsiWhiteSpace(' ')(35816,35817) + PsiTypeQLSubType(type_constraint) - Location: (35817,35843)(35817,35843) + PsiElement(SUB_)('sub')(35817,35820) + PsiWhiteSpace(' ')(35820,35821) + PsiTypeQLElement(type_any) - Location: (35821,35843)(35821,35843) + PsiTypeQLElement(type) - Location: (35821,35843)(35821,35843) + PsiTypeQLElement(label) - Location: (35821,35843)(35821,35843) + PsiElement(LABEL_)('stix-attribute-integer')(35821,35843) + PsiElement(';')(';')(35843,35844) + PsiWhiteSpace('\n')(35844,35845) + PsiTypeQLElement(definable) - Location: (35845,35884)(35845,35884) + PsiTypeQLStatementType(statement_type) - Location: (35845,35884)(35845,35884) + PsiTypeQLElement(type_any) - Location: (35845,35857)(35845,35857) + PsiTypeQLType(type) - Name: base-of-code - Location: (35845,35857)(35845,35857) + PsiTypeQLElement(label) - Location: (35845,35857)(35845,35857) + PsiElement(LABEL_)('base-of-code')(35845,35857) + PsiWhiteSpace(' ')(35857,35858) + PsiTypeQLSubType(type_constraint) - Location: (35858,35884)(35858,35884) + PsiElement(SUB_)('sub')(35858,35861) + PsiWhiteSpace(' ')(35861,35862) + PsiTypeQLElement(type_any) - Location: (35862,35884)(35862,35884) + PsiTypeQLElement(type) - Location: (35862,35884)(35862,35884) + PsiTypeQLElement(label) - Location: (35862,35884)(35862,35884) + PsiElement(LABEL_)('stix-attribute-integer')(35862,35884) + PsiElement(';')(';')(35884,35885) + PsiWhiteSpace('\n')(35885,35886) + PsiTypeQLElement(definable) - Location: (35886,35925)(35886,35925) + PsiTypeQLStatementType(statement_type) - Location: (35886,35925)(35886,35925) + PsiTypeQLElement(type_any) - Location: (35886,35898)(35886,35898) + PsiTypeQLType(type) - Name: base-of-data - Location: (35886,35898)(35886,35898) + PsiTypeQLElement(label) - Location: (35886,35898)(35886,35898) + PsiElement(LABEL_)('base-of-data')(35886,35898) + PsiWhiteSpace(' ')(35898,35899) + PsiTypeQLSubType(type_constraint) - Location: (35899,35925)(35899,35925) + PsiElement(SUB_)('sub')(35899,35902) + PsiWhiteSpace(' ')(35902,35903) + PsiTypeQLElement(type_any) - Location: (35903,35925)(35903,35925) + PsiTypeQLElement(type) - Location: (35903,35925)(35903,35925) + PsiTypeQLElement(label) - Location: (35903,35925)(35903,35925) + PsiElement(LABEL_)('stix-attribute-integer')(35903,35925) + PsiElement(';')(';')(35925,35926) + PsiWhiteSpace('\n')(35926,35927) + PsiTypeQLElement(definable) - Location: (35927,35964)(35927,35964) + PsiTypeQLStatementType(statement_type) - Location: (35927,35964)(35927,35964) + PsiTypeQLElement(type_any) - Location: (35927,35937)(35927,35937) + PsiTypeQLType(type) - Name: image-base - Location: (35927,35937)(35927,35937) + PsiTypeQLElement(label) - Location: (35927,35937)(35927,35937) + PsiElement(LABEL_)('image-base')(35927,35937) + PsiWhiteSpace(' ')(35937,35938) + PsiTypeQLSubType(type_constraint) - Location: (35938,35964)(35938,35964) + PsiElement(SUB_)('sub')(35938,35941) + PsiWhiteSpace(' ')(35941,35942) + PsiTypeQLElement(type_any) - Location: (35942,35964)(35942,35964) + PsiTypeQLElement(type) - Location: (35942,35964)(35942,35964) + PsiTypeQLElement(label) - Location: (35942,35964)(35942,35964) + PsiElement(LABEL_)('stix-attribute-integer')(35942,35964) + PsiElement(';')(';')(35964,35965) + PsiWhiteSpace('\n')(35965,35966) + PsiTypeQLElement(definable) - Location: (35966,36010)(35966,36010) + PsiTypeQLStatementType(statement_type) - Location: (35966,36010)(35966,36010) + PsiTypeQLElement(type_any) - Location: (35966,35983)(35966,35983) + PsiTypeQLType(type) - Name: section-alignment - Location: (35966,35983)(35966,35983) + PsiTypeQLElement(label) - Location: (35966,35983)(35966,35983) + PsiElement(LABEL_)('section-alignment')(35966,35983) + PsiWhiteSpace(' ')(35983,35984) + PsiTypeQLSubType(type_constraint) - Location: (35984,36010)(35984,36010) + PsiElement(SUB_)('sub')(35984,35987) + PsiWhiteSpace(' ')(35987,35988) + PsiTypeQLElement(type_any) - Location: (35988,36010)(35988,36010) + PsiTypeQLElement(type) - Location: (35988,36010)(35988,36010) + PsiTypeQLElement(label) - Location: (35988,36010)(35988,36010) + PsiElement(LABEL_)('stix-attribute-integer')(35988,36010) + PsiElement(';')(';')(36010,36011) + PsiWhiteSpace('\n')(36011,36012) + PsiTypeQLElement(definable) - Location: (36012,36053)(36012,36053) + PsiTypeQLStatementType(statement_type) - Location: (36012,36053)(36012,36053) + PsiTypeQLElement(type_any) - Location: (36012,36026)(36012,36026) + PsiTypeQLType(type) - Name: file-alignment - Location: (36012,36026)(36012,36026) + PsiTypeQLElement(label) - Location: (36012,36026)(36012,36026) + PsiElement(LABEL_)('file-alignment')(36012,36026) + PsiWhiteSpace(' ')(36026,36027) + PsiTypeQLSubType(type_constraint) - Location: (36027,36053)(36027,36053) + PsiElement(SUB_)('sub')(36027,36030) + PsiWhiteSpace(' ')(36030,36031) + PsiTypeQLElement(type_any) - Location: (36031,36053)(36031,36053) + PsiTypeQLElement(type) - Location: (36031,36053)(36031,36053) + PsiTypeQLElement(label) - Location: (36031,36053)(36031,36053) + PsiElement(LABEL_)('stix-attribute-integer')(36031,36053) + PsiElement(';')(';')(36053,36054) + PsiWhiteSpace('\n')(36054,36055) + PsiTypeQLElement(definable) - Location: (36055,36098)(36055,36098) + PsiTypeQLStatementType(statement_type) - Location: (36055,36098)(36055,36098) + PsiTypeQLElement(type_any) - Location: (36055,36071)(36055,36071) + PsiTypeQLType(type) - Name: major-os-version - Location: (36055,36071)(36055,36071) + PsiTypeQLElement(label) - Location: (36055,36071)(36055,36071) + PsiElement(LABEL_)('major-os-version')(36055,36071) + PsiWhiteSpace(' ')(36071,36072) + PsiTypeQLSubType(type_constraint) - Location: (36072,36098)(36072,36098) + PsiElement(SUB_)('sub')(36072,36075) + PsiWhiteSpace(' ')(36075,36076) + PsiTypeQLElement(type_any) - Location: (36076,36098)(36076,36098) + PsiTypeQLElement(type) - Location: (36076,36098)(36076,36098) + PsiTypeQLElement(label) - Location: (36076,36098)(36076,36098) + PsiElement(LABEL_)('stix-attribute-integer')(36076,36098) + PsiElement(';')(';')(36098,36099) + PsiWhiteSpace('\n')(36099,36100) + PsiTypeQLElement(definable) - Location: (36100,36143)(36100,36143) + PsiTypeQLStatementType(statement_type) - Location: (36100,36143)(36100,36143) + PsiTypeQLElement(type_any) - Location: (36100,36116)(36100,36116) + PsiTypeQLType(type) - Name: minor-os-version - Location: (36100,36116)(36100,36116) + PsiTypeQLElement(label) - Location: (36100,36116)(36100,36116) + PsiElement(LABEL_)('minor-os-version')(36100,36116) + PsiWhiteSpace(' ')(36116,36117) + PsiTypeQLSubType(type_constraint) - Location: (36117,36143)(36117,36143) + PsiElement(SUB_)('sub')(36117,36120) + PsiWhiteSpace(' ')(36120,36121) + PsiTypeQLElement(type_any) - Location: (36121,36143)(36121,36143) + PsiTypeQLElement(type) - Location: (36121,36143)(36121,36143) + PsiTypeQLElement(label) - Location: (36121,36143)(36121,36143) + PsiElement(LABEL_)('stix-attribute-integer')(36121,36143) + PsiElement(';')(';')(36143,36144) + PsiWhiteSpace('\n')(36144,36145) + PsiTypeQLElement(definable) - Location: (36145,36191)(36145,36191) + PsiTypeQLStatementType(statement_type) - Location: (36145,36191)(36145,36191) + PsiTypeQLElement(type_any) - Location: (36145,36164)(36145,36164) + PsiTypeQLType(type) - Name: major-image-version - Location: (36145,36164)(36145,36164) + PsiTypeQLElement(label) - Location: (36145,36164)(36145,36164) + PsiElement(LABEL_)('major-image-version')(36145,36164) + PsiWhiteSpace(' ')(36164,36165) + PsiTypeQLSubType(type_constraint) - Location: (36165,36191)(36165,36191) + PsiElement(SUB_)('sub')(36165,36168) + PsiWhiteSpace(' ')(36168,36169) + PsiTypeQLElement(type_any) - Location: (36169,36191)(36169,36191) + PsiTypeQLElement(type) - Location: (36169,36191)(36169,36191) + PsiTypeQLElement(label) - Location: (36169,36191)(36169,36191) + PsiElement(LABEL_)('stix-attribute-integer')(36169,36191) + PsiElement(';')(';')(36191,36192) + PsiWhiteSpace('\n')(36192,36193) + PsiTypeQLElement(definable) - Location: (36193,36239)(36193,36239) + PsiTypeQLStatementType(statement_type) - Location: (36193,36239)(36193,36239) + PsiTypeQLElement(type_any) - Location: (36193,36212)(36193,36212) + PsiTypeQLType(type) - Name: minor-image-version - Location: (36193,36212)(36193,36212) + PsiTypeQLElement(label) - Location: (36193,36212)(36193,36212) + PsiElement(LABEL_)('minor-image-version')(36193,36212) + PsiWhiteSpace(' ')(36212,36213) + PsiTypeQLSubType(type_constraint) - Location: (36213,36239)(36213,36239) + PsiElement(SUB_)('sub')(36213,36216) + PsiWhiteSpace(' ')(36216,36217) + PsiTypeQLElement(type_any) - Location: (36217,36239)(36217,36239) + PsiTypeQLElement(type) - Location: (36217,36239)(36217,36239) + PsiTypeQLElement(label) - Location: (36217,36239)(36217,36239) + PsiElement(LABEL_)('stix-attribute-integer')(36217,36239) + PsiElement(';')(';')(36239,36240) + PsiWhiteSpace('\n')(36240,36241) + PsiTypeQLElement(definable) - Location: (36241,36291)(36241,36291) + PsiTypeQLStatementType(statement_type) - Location: (36241,36291)(36241,36291) + PsiTypeQLElement(type_any) - Location: (36241,36264)(36241,36264) + PsiTypeQLType(type) - Name: major-subsystem-version - Location: (36241,36264)(36241,36264) + PsiTypeQLElement(label) - Location: (36241,36264)(36241,36264) + PsiElement(LABEL_)('major-subsystem-version')(36241,36264) + PsiWhiteSpace(' ')(36264,36265) + PsiTypeQLSubType(type_constraint) - Location: (36265,36291)(36265,36291) + PsiElement(SUB_)('sub')(36265,36268) + PsiWhiteSpace(' ')(36268,36269) + PsiTypeQLElement(type_any) - Location: (36269,36291)(36269,36291) + PsiTypeQLElement(type) - Location: (36269,36291)(36269,36291) + PsiTypeQLElement(label) - Location: (36269,36291)(36269,36291) + PsiElement(LABEL_)('stix-attribute-integer')(36269,36291) + PsiElement(';')(';')(36291,36292) + PsiWhiteSpace('\n')(36292,36293) + PsiTypeQLElement(definable) - Location: (36293,36343)(36293,36343) + PsiTypeQLStatementType(statement_type) - Location: (36293,36343)(36293,36343) + PsiTypeQLElement(type_any) - Location: (36293,36316)(36293,36316) + PsiTypeQLType(type) - Name: minor-subsystem-version - Location: (36293,36316)(36293,36316) + PsiTypeQLElement(label) - Location: (36293,36316)(36293,36316) + PsiElement(LABEL_)('minor-subsystem-version')(36293,36316) + PsiWhiteSpace(' ')(36316,36317) + PsiTypeQLSubType(type_constraint) - Location: (36317,36343)(36317,36343) + PsiElement(SUB_)('sub')(36317,36320) + PsiWhiteSpace(' ')(36320,36321) + PsiTypeQLElement(type_any) - Location: (36321,36343)(36321,36343) + PsiTypeQLElement(type) - Location: (36321,36343)(36321,36343) + PsiTypeQLElement(label) - Location: (36321,36343)(36321,36343) + PsiElement(LABEL_)('stix-attribute-integer')(36321,36343) + PsiElement(';')(';')(36343,36344) + PsiWhiteSpace('\n')(36344,36345) + PsiTypeQLElement(definable) - Location: (36345,36385)(36345,36385) + PsiTypeQLStatementType(statement_type) - Location: (36345,36385)(36345,36385) + PsiTypeQLElement(type_any) - Location: (36345,36358)(36345,36358) + PsiTypeQLType(type) - Name: size-of-image - Location: (36345,36358)(36345,36358) + PsiTypeQLElement(label) - Location: (36345,36358)(36345,36358) + PsiElement(LABEL_)('size-of-image')(36345,36358) + PsiWhiteSpace(' ')(36358,36359) + PsiTypeQLSubType(type_constraint) - Location: (36359,36385)(36359,36385) + PsiElement(SUB_)('sub')(36359,36362) + PsiWhiteSpace(' ')(36362,36363) + PsiTypeQLElement(type_any) - Location: (36363,36385)(36363,36385) + PsiTypeQLElement(type) - Location: (36363,36385)(36363,36385) + PsiTypeQLElement(label) - Location: (36363,36385)(36363,36385) + PsiElement(LABEL_)('stix-attribute-integer')(36363,36385) + PsiElement(';')(';')(36385,36386) + PsiWhiteSpace('\n')(36386,36387) + PsiTypeQLElement(definable) - Location: (36387,36429)(36387,36429) + PsiTypeQLStatementType(statement_type) - Location: (36387,36429)(36387,36429) + PsiTypeQLElement(type_any) - Location: (36387,36402)(36387,36402) + PsiTypeQLType(type) - Name: size-of-headers - Location: (36387,36402)(36387,36402) + PsiTypeQLElement(label) - Location: (36387,36402)(36387,36402) + PsiElement(LABEL_)('size-of-headers')(36387,36402) + PsiWhiteSpace(' ')(36402,36403) + PsiTypeQLSubType(type_constraint) - Location: (36403,36429)(36403,36429) + PsiElement(SUB_)('sub')(36403,36406) + PsiWhiteSpace(' ')(36406,36407) + PsiTypeQLElement(type_any) - Location: (36407,36429)(36407,36429) + PsiTypeQLElement(type) - Location: (36407,36429)(36407,36429) + PsiTypeQLElement(label) - Location: (36407,36429)(36407,36429) + PsiElement(LABEL_)('stix-attribute-integer')(36407,36429) + PsiElement(';')(';')(36429,36430) + PsiWhiteSpace('\n')(36430,36431) + PsiTypeQLElement(definable) - Location: (36431,36479)(36431,36479) + PsiTypeQLStatementType(statement_type) - Location: (36431,36479)(36431,36479) + PsiTypeQLElement(type_any) - Location: (36431,36452)(36431,36452) + PsiTypeQLType(type) - Name: size-of-stack-reserve - Location: (36431,36452)(36431,36452) + PsiTypeQLElement(label) - Location: (36431,36452)(36431,36452) + PsiElement(LABEL_)('size-of-stack-reserve')(36431,36452) + PsiWhiteSpace(' ')(36452,36453) + PsiTypeQLSubType(type_constraint) - Location: (36453,36479)(36453,36479) + PsiElement(SUB_)('sub')(36453,36456) + PsiWhiteSpace(' ')(36456,36457) + PsiTypeQLElement(type_any) - Location: (36457,36479)(36457,36479) + PsiTypeQLElement(type) - Location: (36457,36479)(36457,36479) + PsiTypeQLElement(label) - Location: (36457,36479)(36457,36479) + PsiElement(LABEL_)('stix-attribute-integer')(36457,36479) + PsiElement(';')(';')(36479,36480) + PsiWhiteSpace('\n')(36480,36481) + PsiTypeQLElement(definable) - Location: (36481,36528)(36481,36528) + PsiTypeQLStatementType(statement_type) - Location: (36481,36528)(36481,36528) + PsiTypeQLElement(type_any) - Location: (36481,36501)(36481,36501) + PsiTypeQLType(type) - Name: size-of-stack-commit - Location: (36481,36501)(36481,36501) + PsiTypeQLElement(label) - Location: (36481,36501)(36481,36501) + PsiElement(LABEL_)('size-of-stack-commit')(36481,36501) + PsiWhiteSpace(' ')(36501,36502) + PsiTypeQLSubType(type_constraint) - Location: (36502,36528)(36502,36528) + PsiElement(SUB_)('sub')(36502,36505) + PsiWhiteSpace(' ')(36505,36506) + PsiTypeQLElement(type_any) - Location: (36506,36528)(36506,36528) + PsiTypeQLElement(type) - Location: (36506,36528)(36506,36528) + PsiTypeQLElement(label) - Location: (36506,36528)(36506,36528) + PsiElement(LABEL_)('stix-attribute-integer')(36506,36528) + PsiElement(';')(';')(36528,36529) + PsiWhiteSpace('\n')(36529,36530) + PsiTypeQLElement(definable) - Location: (36530,36577)(36530,36577) + PsiTypeQLStatementType(statement_type) - Location: (36530,36577)(36530,36577) + PsiTypeQLElement(type_any) - Location: (36530,36550)(36530,36550) + PsiTypeQLType(type) - Name: size-of-heap-reserve - Location: (36530,36550)(36530,36550) + PsiTypeQLElement(label) - Location: (36530,36550)(36530,36550) + PsiElement(LABEL_)('size-of-heap-reserve')(36530,36550) + PsiWhiteSpace(' ')(36550,36551) + PsiTypeQLSubType(type_constraint) - Location: (36551,36577)(36551,36577) + PsiElement(SUB_)('sub')(36551,36554) + PsiWhiteSpace(' ')(36554,36555) + PsiTypeQLElement(type_any) - Location: (36555,36577)(36555,36577) + PsiTypeQLElement(type) - Location: (36555,36577)(36555,36577) + PsiTypeQLElement(label) - Location: (36555,36577)(36555,36577) + PsiElement(LABEL_)('stix-attribute-integer')(36555,36577) + PsiElement(';')(';')(36577,36578) + PsiWhiteSpace('\n')(36578,36579) + PsiTypeQLElement(definable) - Location: (36579,36625)(36579,36625) + PsiTypeQLStatementType(statement_type) - Location: (36579,36625)(36579,36625) + PsiTypeQLElement(type_any) - Location: (36579,36598)(36579,36598) + PsiTypeQLType(type) - Name: size-of-heap-commit - Location: (36579,36598)(36579,36598) + PsiTypeQLElement(label) - Location: (36579,36598)(36579,36598) + PsiElement(LABEL_)('size-of-heap-commit')(36579,36598) + PsiWhiteSpace(' ')(36598,36599) + PsiTypeQLSubType(type_constraint) - Location: (36599,36625)(36599,36625) + PsiElement(SUB_)('sub')(36599,36602) + PsiWhiteSpace(' ')(36602,36603) + PsiTypeQLElement(type_any) - Location: (36603,36625)(36603,36625) + PsiTypeQLElement(type) - Location: (36603,36625)(36603,36625) + PsiTypeQLElement(label) - Location: (36603,36625)(36603,36625) + PsiElement(LABEL_)('stix-attribute-integer')(36603,36625) + PsiElement(';')(';')(36625,36626) + PsiWhiteSpace('\n')(36626,36627) + PsiTypeQLElement(definable) - Location: (36627,36677)(36627,36677) + PsiTypeQLStatementType(statement_type) - Location: (36627,36677)(36627,36677) + PsiTypeQLElement(type_any) - Location: (36627,36650)(36627,36650) + PsiTypeQLType(type) - Name: number-of-rva-and-sizes - Location: (36627,36650)(36627,36650) + PsiTypeQLElement(label) - Location: (36627,36650)(36627,36650) + PsiElement(LABEL_)('number-of-rva-and-sizes')(36627,36650) + PsiWhiteSpace(' ')(36650,36651) + PsiTypeQLSubType(type_constraint) - Location: (36651,36677)(36651,36677) + PsiElement(SUB_)('sub')(36651,36654) + PsiWhiteSpace(' ')(36654,36655) + PsiTypeQLElement(type_any) - Location: (36655,36677)(36655,36677) + PsiTypeQLElement(type) - Location: (36655,36677)(36655,36677) + PsiTypeQLElement(label) - Location: (36655,36677)(36655,36677) + PsiElement(LABEL_)('stix-attribute-integer')(36655,36677) + PsiElement(';')(';')(36677,36678) + PsiWhiteSpace('\n')(36678,36679) + PsiTypeQLElement(definable) - Location: (36679,36725)(36679,36725) + PsiTypeQLStatementType(statement_type) - Location: (36679,36725)(36679,36725) + PsiTypeQLElement(type_any) - Location: (36679,36698)(36679,36698) + PsiTypeQLType(type) - Name: message-body-length - Location: (36679,36698)(36679,36698) + PsiTypeQLElement(label) - Location: (36679,36698)(36679,36698) + PsiElement(LABEL_)('message-body-length')(36679,36698) + PsiWhiteSpace(' ')(36698,36699) + PsiTypeQLSubType(type_constraint) - Location: (36699,36725)(36699,36725) + PsiElement(SUB_)('sub')(36699,36702) + PsiWhiteSpace(' ')(36702,36703) + PsiTypeQLElement(type_any) - Location: (36703,36725)(36703,36725) + PsiTypeQLElement(type) - Location: (36703,36725)(36703,36725) + PsiTypeQLElement(label) - Location: (36703,36725)(36703,36725) + PsiElement(LABEL_)('stix-attribute-integer')(36703,36725) + PsiElement(';')(';')(36725,36726) + PsiWhiteSpace('\n')(36726,36727) + PsiTypeQLElement(definable) - Location: (36727,36768)(36727,36768) + PsiTypeQLStatementType(statement_type) - Location: (36727,36768)(36727,36768) + PsiTypeQLElement(type_any) - Location: (36727,36741)(36727,36741) + PsiTypeQLType(type) - Name: number-subkeys - Location: (36727,36741)(36727,36741) + PsiTypeQLElement(label) - Location: (36727,36741)(36727,36741) + PsiElement(LABEL_)('number-subkeys')(36727,36741) + PsiWhiteSpace(' ')(36741,36742) + PsiTypeQLSubType(type_constraint) - Location: (36742,36768)(36742,36768) + PsiElement(SUB_)('sub')(36742,36745) + PsiWhiteSpace(' ')(36745,36746) + PsiTypeQLElement(type_any) - Location: (36746,36768)(36746,36768) + PsiTypeQLElement(type) - Location: (36746,36768)(36746,36768) + PsiTypeQLElement(label) - Location: (36746,36768)(36746,36768) + PsiElement(LABEL_)('stix-attribute-integer')(36746,36768) + PsiElement(';')(';')(36768,36769) + PsiWhiteSpace('\n')(36769,36770) + PsiTypeQLElement(definable) - Location: (36770,36809)(36770,36809) + PsiTypeQLStatementType(statement_type) - Location: (36770,36809)(36770,36809) + PsiTypeQLElement(type_any) - Location: (36770,36782)(36770,36782) + PsiTypeQLType(type) - Name: exif-tag-int - Location: (36770,36782)(36770,36782) + PsiTypeQLElement(label) - Location: (36770,36782)(36770,36782) + PsiElement(LABEL_)('exif-tag-int')(36770,36782) + PsiWhiteSpace(' ')(36782,36783) + PsiTypeQLSubType(type_constraint) - Location: (36783,36809)(36783,36809) + PsiElement(SUB_)('sub')(36783,36786) + PsiWhiteSpace(' ')(36786,36787) + PsiTypeQLElement(type_any) - Location: (36787,36809)(36787,36809) + PsiTypeQLElement(type) - Location: (36787,36809)(36787,36809) + PsiTypeQLElement(label) - Location: (36787,36809)(36787,36809) + PsiElement(LABEL_)('stix-attribute-integer')(36787,36809) + PsiElement(';')(';')(36809,36810) + PsiWhiteSpace('\n')(36810,36811) + PsiTypeQLElement(definable) - Location: (36811,36846)(36811,36846) + PsiTypeQLStatementType(statement_type) - Location: (36811,36846)(36811,36846) + PsiTypeQLElement(type_any) - Location: (36811,36819)(36811,36819) + PsiTypeQLType(type) - Name: src-port - Location: (36811,36819)(36811,36819) + PsiTypeQLElement(label) - Location: (36811,36819)(36811,36819) + PsiElement(LABEL_)('src-port')(36811,36819) + PsiWhiteSpace(' ')(36819,36820) + PsiTypeQLSubType(type_constraint) - Location: (36820,36846)(36820,36846) + PsiElement(SUB_)('sub')(36820,36823) + PsiWhiteSpace(' ')(36823,36824) + PsiTypeQLElement(type_any) - Location: (36824,36846)(36824,36846) + PsiTypeQLElement(type) - Location: (36824,36846)(36824,36846) + PsiTypeQLElement(label) - Location: (36824,36846)(36824,36846) + PsiElement(LABEL_)('stix-attribute-integer')(36824,36846) + PsiElement(';')(';')(36846,36847) + PsiWhiteSpace('\n')(36847,36848) + PsiTypeQLElement(definable) - Location: (36848,36883)(36848,36883) + PsiTypeQLStatementType(statement_type) - Location: (36848,36883)(36848,36883) + PsiTypeQLElement(type_any) - Location: (36848,36856)(36848,36856) + PsiTypeQLType(type) - Name: dst-port - Location: (36848,36856)(36848,36856) + PsiTypeQLElement(label) - Location: (36848,36856)(36848,36856) + PsiElement(LABEL_)('dst-port')(36848,36856) + PsiWhiteSpace(' ')(36856,36857) + PsiTypeQLSubType(type_constraint) - Location: (36857,36883)(36857,36883) + PsiElement(SUB_)('sub')(36857,36860) + PsiWhiteSpace(' ')(36860,36861) + PsiTypeQLElement(type_any) - Location: (36861,36883)(36861,36883) + PsiTypeQLElement(type) - Location: (36861,36883)(36861,36883) + PsiTypeQLElement(label) - Location: (36861,36883)(36861,36883) + PsiElement(LABEL_)('stix-attribute-integer')(36861,36883) + PsiElement(';')(';')(36883,36884) + PsiWhiteSpace('\n')(36884,36885) + PsiTypeQLElement(definable) - Location: (36885,36926)(36885,36926) + PsiTypeQLStatementType(statement_type) - Location: (36885,36926)(36885,36926) + PsiTypeQLElement(type_any) - Location: (36885,36899)(36885,36899) + PsiTypeQLType(type) - Name: src-byte-count - Location: (36885,36899)(36885,36899) + PsiTypeQLElement(label) - Location: (36885,36899)(36885,36899) + PsiElement(LABEL_)('src-byte-count')(36885,36899) + PsiWhiteSpace(' ')(36899,36900) + PsiTypeQLSubType(type_constraint) - Location: (36900,36926)(36900,36926) + PsiElement(SUB_)('sub')(36900,36903) + PsiWhiteSpace(' ')(36903,36904) + PsiTypeQLElement(type_any) - Location: (36904,36926)(36904,36926) + PsiTypeQLElement(type) - Location: (36904,36926)(36904,36926) + PsiTypeQLElement(label) - Location: (36904,36926)(36904,36926) + PsiElement(LABEL_)('stix-attribute-integer')(36904,36926) + PsiElement(';')(';')(36926,36927) + PsiWhiteSpace('\n')(36927,36928) + PsiTypeQLElement(definable) - Location: (36928,36969)(36928,36969) + PsiTypeQLStatementType(statement_type) - Location: (36928,36969)(36928,36969) + PsiTypeQLElement(type_any) - Location: (36928,36942)(36928,36942) + PsiTypeQLType(type) - Name: dst-byte-count - Location: (36928,36942)(36928,36942) + PsiTypeQLElement(label) - Location: (36928,36942)(36928,36942) + PsiElement(LABEL_)('dst-byte-count')(36928,36942) + PsiWhiteSpace(' ')(36942,36943) + PsiTypeQLSubType(type_constraint) - Location: (36943,36969)(36943,36969) + PsiElement(SUB_)('sub')(36943,36946) + PsiWhiteSpace(' ')(36946,36947) + PsiTypeQLElement(type_any) - Location: (36947,36969)(36947,36969) + PsiTypeQLElement(type) - Location: (36947,36969)(36947,36969) + PsiTypeQLElement(label) - Location: (36947,36969)(36947,36969) + PsiElement(LABEL_)('stix-attribute-integer')(36947,36969) + PsiElement(';')(';')(36969,36970) + PsiWhiteSpace('\n')(36970,36971) + PsiTypeQLElement(definable) - Location: (36971,37009)(36971,37009) + PsiTypeQLStatementType(statement_type) - Location: (36971,37009)(36971,37009) + PsiTypeQLElement(type_any) - Location: (36971,36982)(36971,36982) + PsiTypeQLType(type) - Name: src-packets - Location: (36971,36982)(36971,36982) + PsiTypeQLElement(label) - Location: (36971,36982)(36971,36982) + PsiElement(LABEL_)('src-packets')(36971,36982) + PsiWhiteSpace(' ')(36982,36983) + PsiTypeQLSubType(type_constraint) - Location: (36983,37009)(36983,37009) + PsiElement(SUB_)('sub')(36983,36986) + PsiWhiteSpace(' ')(36986,36987) + PsiTypeQLElement(type_any) - Location: (36987,37009)(36987,37009) + PsiTypeQLElement(type) - Location: (36987,37009)(36987,37009) + PsiTypeQLElement(label) - Location: (36987,37009)(36987,37009) + PsiElement(LABEL_)('stix-attribute-integer')(36987,37009) + PsiElement(';')(';')(37009,37010) + PsiWhiteSpace('\n')(37010,37011) + PsiTypeQLElement(definable) - Location: (37011,37049)(37011,37049) + PsiTypeQLStatementType(statement_type) - Location: (37011,37049)(37011,37049) + PsiTypeQLElement(type_any) - Location: (37011,37022)(37011,37022) + PsiTypeQLType(type) - Name: dst-packets - Location: (37011,37022)(37011,37022) + PsiTypeQLElement(label) - Location: (37011,37022)(37011,37022) + PsiElement(LABEL_)('dst-packets')(37011,37022) + PsiWhiteSpace(' ')(37022,37023) + PsiTypeQLSubType(type_constraint) - Location: (37023,37049)(37023,37049) + PsiElement(SUB_)('sub')(37023,37026) + PsiWhiteSpace(' ')(37026,37027) + PsiTypeQLElement(type_any) - Location: (37027,37049)(37027,37049) + PsiTypeQLElement(type) - Location: (37027,37049)(37027,37049) + PsiTypeQLElement(label) - Location: (37027,37049)(37027,37049) + PsiElement(LABEL_)('stix-attribute-integer')(37027,37049) + PsiElement(';')(';')(37049,37050) + PsiWhiteSpace('\n')(37050,37051) + PsiTypeQLElement(definable) - Location: (37051,37095)(37051,37095) + PsiTypeQLStatementType(statement_type) - Location: (37051,37095)(37051,37095) + PsiTypeQLElement(type_any) - Location: (37051,37068)(37051,37068) + PsiTypeQLType(type) - Name: socket-descriptor - Location: (37051,37068)(37051,37068) + PsiTypeQLElement(label) - Location: (37051,37068)(37051,37068) + PsiElement(LABEL_)('socket-descriptor')(37051,37068) + PsiWhiteSpace(' ')(37068,37069) + PsiTypeQLSubType(type_constraint) - Location: (37069,37095)(37069,37095) + PsiElement(SUB_)('sub')(37069,37072) + PsiWhiteSpace(' ')(37072,37073) + PsiTypeQLElement(type_any) - Location: (37073,37095)(37073,37095) + PsiTypeQLElement(type) - Location: (37073,37095)(37073,37095) + PsiTypeQLElement(label) - Location: (37073,37095)(37073,37095) + PsiElement(LABEL_)('stix-attribute-integer')(37073,37095) + PsiElement(';')(';')(37095,37096) + PsiWhiteSpace('\n')(37096,37097) + PsiTypeQLElement(definable) - Location: (37097,37137)(37097,37137) + PsiTypeQLStatementType(statement_type) - Location: (37097,37137)(37097,37137) + PsiTypeQLElement(type_any) - Location: (37097,37110)(37097,37110) + PsiTypeQLType(type) - Name: socket-handle - Location: (37097,37110)(37097,37110) + PsiTypeQLElement(label) - Location: (37097,37110)(37097,37110) + PsiElement(LABEL_)('socket-handle')(37097,37110) + PsiWhiteSpace(' ')(37110,37111) + PsiTypeQLSubType(type_constraint) - Location: (37111,37137)(37111,37137) + PsiElement(SUB_)('sub')(37111,37114) + PsiWhiteSpace(' ')(37114,37115) + PsiTypeQLElement(type_any) - Location: (37115,37137)(37115,37137) + PsiTypeQLElement(type) - Location: (37115,37137)(37115,37137) + PsiTypeQLElement(label) - Location: (37115,37137)(37115,37137) + PsiElement(LABEL_)('stix-attribute-integer')(37115,37137) + PsiElement(';')(';')(37137,37138) + PsiWhiteSpace('\n')(37138,37139) + PsiTypeQLElement(definable) - Location: (37139,37169)(37139,37169) + PsiTypeQLStatementType(statement_type) - Location: (37139,37169)(37139,37169) + PsiTypeQLElement(type_any) - Location: (37139,37142)(37139,37142) + PsiTypeQLType(type) - Name: pid - Location: (37139,37142)(37139,37142) + PsiTypeQLElement(label) - Location: (37139,37142)(37139,37142) + PsiElement(LABEL_)('pid')(37139,37142) + PsiWhiteSpace(' ')(37142,37143) + PsiTypeQLSubType(type_constraint) - Location: (37143,37169)(37143,37169) + PsiElement(SUB_)('sub')(37143,37146) + PsiWhiteSpace(' ')(37146,37147) + PsiTypeQLElement(type_any) - Location: (37147,37169)(37147,37169) + PsiTypeQLElement(type) - Location: (37147,37169)(37147,37169) + PsiTypeQLElement(label) - Location: (37147,37169)(37147,37169) + PsiElement(LABEL_)('stix-attribute-integer')(37147,37169) + PsiElement(';')(';')(37169,37170) + PsiWhiteSpace('\n')(37170,37171) + PsiTypeQLElement(definable) - Location: (37171,37230)(37171,37230) + PsiTypeQLStatementType(statement_type) - Location: (37171,37230)(37171,37230) + PsiTypeQLElement(type_any) - Location: (37171,37177)(37171,37177) + PsiTypeQLType(type) - Name: option - Location: (37171,37177)(37171,37177) + PsiTypeQLElement(label) - Location: (37171,37177)(37171,37177) + PsiElement(LABEL_)('option')(37171,37177) + PsiWhiteSpace(' ')(37177,37178) + PsiTypeQLSubType(type_constraint) - Location: (37178,37204)(37178,37204) + PsiElement(SUB_)('sub')(37178,37181) + PsiWhiteSpace(' ')(37181,37182) + PsiTypeQLElement(type_any) - Location: (37182,37204)(37182,37204) + PsiTypeQLElement(type) - Location: (37182,37204)(37182,37204) + PsiTypeQLElement(label) - Location: (37182,37204)(37182,37204) + PsiElement(LABEL_)('stix-attribute-integer')(37182,37204) + PsiElement(',')(',')(37204,37205) + PsiWhiteSpace('\n ')(37205,37210) + PsiTypeQLPlaysType(type_constraint) - Location: (37210,37230)(37210,37230) + PsiElement('plays')('plays')(37210,37215) + PsiWhiteSpace(' ')(37215,37216) + PsiTypeQLElement(type_scoped) - Location: (37216,37230)(37216,37230) + PsiTypeQLElement(label_scoped) - Location: (37216,37230)(37216,37230) + PsiElement(LABEL_SCOPED_)('options:option')(37216,37230) + PsiElement(';')(';')(37230,37231) + PsiWhiteSpace('\n')(37231,37232) + PsiTypeQLElement(definable) - Location: (37232,37301)(37232,37301) + PsiTypeQLStatementType(statement_type) - Location: (37232,37301)(37232,37301) + PsiTypeQLElement(type_any) - Location: (37232,37245)(37232,37245) + PsiTypeQLType(type) - Name: ipfix-integer - Location: (37232,37245)(37232,37245) + PsiTypeQLElement(label) - Location: (37232,37245)(37232,37245) + PsiElement(LABEL_)('ipfix-integer')(37232,37245) + PsiWhiteSpace(' ')(37245,37246) + PsiTypeQLSubType(type_constraint) - Location: (37246,37272)(37246,37272) + PsiElement(SUB_)('sub')(37246,37249) + PsiWhiteSpace(' ')(37249,37250) + PsiTypeQLElement(type_any) - Location: (37250,37272)(37250,37272) + PsiTypeQLElement(type) - Location: (37250,37272)(37250,37272) + PsiTypeQLElement(label) - Location: (37250,37272)(37250,37272) + PsiElement(LABEL_)('stix-attribute-integer')(37250,37272) + PsiElement(',')(',')(37272,37273) + PsiWhiteSpace('\n ')(37273,37278) + PsiTypeQLPlaysType(type_constraint) - Location: (37278,37301)(37278,37301) + PsiElement('plays')('plays')(37278,37283) + PsiWhiteSpace(' ')(37283,37284) + PsiTypeQLElement(type_scoped) - Location: (37284,37301)(37284,37301) + PsiTypeQLElement(label_scoped) - Location: (37284,37301)(37284,37301) + PsiElement(LABEL_SCOPED_)('ipfix:ipfix-field')(37284,37301) + PsiElement(';')(';')(37301,37302) + PsiWhiteSpace('\n\n')(37302,37304) + PsiTypeQLElement(definable) - Location: (37304,37409)(37304,37409) + PsiTypeQLStatementType(statement_type) - Location: (37304,37409)(37304,37409) + PsiTypeQLElement(type_any) - Location: (37304,37326)(37304,37326) + PsiTypeQLType(type) - Name: stix-attribute-boolean - Location: (37304,37326)(37304,37326) + PsiTypeQLElement(label) - Location: (37304,37326)(37304,37326) + PsiElement(LABEL_)('stix-attribute-boolean')(37304,37326) + PsiWhiteSpace(' ')(37326,37327) + PsiTypeQLElement(type_constraint) - Location: (37327,37340)(37327,37340) + PsiElement(SUB_)('sub')(37327,37330) + PsiWhiteSpace(' ')(37330,37331) + PsiTypeQLElement(type_any) - Location: (37331,37340)(37331,37340) + PsiTypeQLElement(type) - Location: (37331,37340)(37331,37340) + PsiTypeQLElement(label) - Location: (37331,37340)(37331,37340) + PsiTypeQLElement(type_native) - Location: (37331,37340)(37331,37340) + PsiElement('attribute')('attribute')(37331,37340) + PsiElement(',')(',')(37340,37341) + PsiWhiteSpace('\n ')(37341,37346) + PsiTypeQLElement(type_constraint) - Location: (37346,37359)(37346,37359) + PsiElement('value')('value')(37346,37351) + PsiWhiteSpace(' ')(37351,37352) + PsiTypeQLElement(value_type) - Location: (37352,37359)(37352,37359) + PsiElement('boolean')('boolean')(37352,37359) + PsiElement(',')(',')(37359,37360) + PsiWhiteSpace('\n\n ')(37360,37366) + PsiTypeQLPlaysType(type_constraint) - Location: (37366,37395)(37366,37395) + PsiElement('plays')('plays')(37366,37371) + PsiWhiteSpace(' ')(37371,37372) + PsiTypeQLElement(type_scoped) - Location: (37372,37395)(37372,37395) + PsiTypeQLElement(label_scoped) - Location: (37372,37395)(37372,37395) + PsiElement(LABEL_SCOPED_)('granular-marking:marked')(37372,37395) + PsiElement(',')(',')(37395,37396) + PsiWhiteSpace('\n ')(37396,37401) + PsiTypeQLElement(type_constraint) - Location: (37401,37409)(37401,37409) + PsiElement('abstract')('abstract')(37401,37409) + PsiElement(';')(';')(37409,37410) + PsiWhiteSpace('\n\n')(37410,37412) + PsiTypeQLElement(definable) - Location: (37412,37448)(37412,37448) + PsiTypeQLStatementType(statement_type) - Location: (37412,37448)(37412,37448) + PsiTypeQLElement(type_any) - Location: (37412,37421)(37412,37421) + PsiTypeQLType(type) - Name: is-family - Location: (37412,37421)(37412,37421) + PsiTypeQLElement(label) - Location: (37412,37421)(37412,37421) + PsiElement(LABEL_)('is-family')(37412,37421) + PsiWhiteSpace(' ')(37421,37422) + PsiTypeQLSubType(type_constraint) - Location: (37422,37448)(37422,37448) + PsiElement(SUB_)('sub')(37422,37425) + PsiWhiteSpace(' ')(37425,37426) + PsiTypeQLElement(type_any) - Location: (37426,37448)(37426,37448) + PsiTypeQLElement(type) - Location: (37426,37448)(37426,37448) + PsiTypeQLElement(label) - Location: (37426,37448)(37426,37448) + PsiElement(LABEL_)('stix-attribute-boolean')(37426,37448) + PsiElement(';')(';')(37448,37449) + PsiWhiteSpace('\n')(37449,37450) + PsiTypeQLElement(definable) - Location: (37450,37489)(37450,37489) + PsiTypeQLStatementType(statement_type) - Location: (37450,37489)(37450,37489) + PsiTypeQLElement(type_any) - Location: (37450,37462)(37450,37462) + PsiTypeQLType(type) - Name: is-optimized - Location: (37450,37462)(37450,37462) + PsiTypeQLElement(label) - Location: (37450,37462)(37450,37462) + PsiElement(LABEL_)('is-optimized')(37450,37462) + PsiWhiteSpace(' ')(37462,37463) + PsiTypeQLSubType(type_constraint) - Location: (37463,37489)(37463,37489) + PsiElement(SUB_)('sub')(37463,37466) + PsiWhiteSpace(' ')(37466,37467) + PsiTypeQLElement(type_any) - Location: (37467,37489)(37467,37489) + PsiTypeQLElement(type) - Location: (37467,37489)(37467,37489) + PsiTypeQLElement(label) - Location: (37467,37489)(37467,37489) + PsiElement(LABEL_)('stix-attribute-boolean')(37467,37489) + PsiElement(';')(';')(37489,37490) + PsiWhiteSpace('\n')(37490,37491) + PsiTypeQLElement(definable) - Location: (37491,37532)(37491,37532) + PsiTypeQLStatementType(statement_type) - Location: (37491,37532)(37491,37532) + PsiTypeQLElement(type_any) - Location: (37491,37505)(37491,37505) + PsiTypeQLType(type) - Name: is-self-signed - Location: (37491,37505)(37491,37505) + PsiTypeQLElement(label) - Location: (37491,37505)(37491,37505) + PsiElement(LABEL_)('is-self-signed')(37491,37505) + PsiWhiteSpace(' ')(37505,37506) + PsiTypeQLSubType(type_constraint) - Location: (37506,37532)(37506,37532) + PsiElement(SUB_)('sub')(37506,37509) + PsiWhiteSpace(' ')(37509,37510) + PsiTypeQLElement(type_any) - Location: (37510,37532)(37510,37532) + PsiTypeQLElement(type) - Location: (37510,37532)(37510,37532) + PsiTypeQLElement(label) - Location: (37510,37532)(37510,37532) + PsiElement(LABEL_)('stix-attribute-boolean')(37510,37532) + PsiElement(';')(';')(37532,37533) + PsiWhiteSpace('\n')(37533,37534) + PsiTypeQLElement(definable) - Location: (37534,37572)(37534,37572) + PsiTypeQLStatementType(statement_type) - Location: (37534,37572)(37534,37572) + PsiTypeQLElement(type_any) - Location: (37534,37545)(37534,37545) + PsiTypeQLType(type) - Name: dep-enabled - Location: (37534,37545)(37534,37545) + PsiTypeQLElement(label) - Location: (37534,37545)(37534,37545) + PsiElement(LABEL_)('dep-enabled')(37534,37545) + PsiWhiteSpace(' ')(37545,37546) + PsiTypeQLSubType(type_constraint) - Location: (37546,37572)(37546,37572) + PsiElement(SUB_)('sub')(37546,37549) + PsiWhiteSpace(' ')(37549,37550) + PsiTypeQLElement(type_any) - Location: (37550,37572)(37550,37572) + PsiTypeQLElement(type) - Location: (37550,37572)(37550,37572) + PsiTypeQLElement(label) - Location: (37550,37572)(37550,37572) + PsiElement(LABEL_)('stix-attribute-boolean')(37550,37572) + PsiElement(';')(';')(37572,37573) + PsiWhiteSpace('\n')(37573,37574) + PsiTypeQLElement(definable) - Location: (37574,37610)(37574,37610) + PsiTypeQLStatementType(statement_type) - Location: (37574,37610)(37574,37610) + PsiTypeQLElement(type_any) - Location: (37574,37583)(37574,37583) + PsiTypeQLType(type) - Name: is-active - Location: (37574,37583)(37574,37583) + PsiTypeQLElement(label) - Location: (37574,37583)(37574,37583) + PsiElement(LABEL_)('is-active')(37574,37583) + PsiWhiteSpace(' ')(37583,37584) + PsiTypeQLSubType(type_constraint) - Location: (37584,37610)(37584,37610) + PsiElement(SUB_)('sub')(37584,37587) + PsiWhiteSpace(' ')(37587,37588) + PsiTypeQLElement(type_any) - Location: (37588,37610)(37588,37610) + PsiTypeQLElement(type) - Location: (37588,37610)(37588,37610) + PsiTypeQLElement(label) - Location: (37588,37610)(37588,37610) + PsiElement(LABEL_)('stix-attribute-boolean')(37588,37610) + PsiElement(';')(';')(37610,37611) + PsiWhiteSpace('\n')(37611,37612) + PsiTypeQLElement(definable) - Location: (37612,37648)(37612,37648) + PsiTypeQLStatementType(statement_type) - Location: (37612,37648)(37612,37648) + PsiTypeQLElement(type_any) - Location: (37612,37621)(37612,37621) + PsiTypeQLType(type) - Name: is-hidden - Location: (37612,37621)(37612,37621) + PsiTypeQLElement(label) - Location: (37612,37621)(37612,37621) + PsiElement(LABEL_)('is-hidden')(37612,37621) + PsiWhiteSpace(' ')(37621,37622) + PsiTypeQLSubType(type_constraint) - Location: (37622,37648)(37622,37648) + PsiElement(SUB_)('sub')(37622,37625) + PsiWhiteSpace(' ')(37625,37626) + PsiTypeQLElement(type_any) - Location: (37626,37648)(37626,37648) + PsiTypeQLElement(type) - Location: (37626,37648)(37626,37648) + PsiTypeQLElement(label) - Location: (37626,37648)(37626,37648) + PsiElement(LABEL_)('stix-attribute-boolean')(37626,37648) + PsiElement(';')(';')(37648,37649) + PsiWhiteSpace('\n')(37649,37650) + PsiTypeQLElement(definable) - Location: (37650,37688)(37650,37688) + PsiTypeQLStatementType(statement_type) - Location: (37650,37688)(37650,37688) + PsiTypeQLElement(type_any) - Location: (37650,37661)(37650,37661) + PsiTypeQLType(type) - Name: is-blocking - Location: (37650,37661)(37650,37661) + PsiTypeQLElement(label) - Location: (37650,37661)(37650,37661) + PsiElement(LABEL_)('is-blocking')(37650,37661) + PsiWhiteSpace(' ')(37661,37662) + PsiTypeQLSubType(type_constraint) - Location: (37662,37688)(37662,37688) + PsiElement(SUB_)('sub')(37662,37665) + PsiWhiteSpace(' ')(37665,37666) + PsiTypeQLElement(type_any) - Location: (37666,37688)(37666,37688) + PsiTypeQLElement(type) - Location: (37666,37688)(37666,37688) + PsiTypeQLElement(label) - Location: (37666,37688)(37666,37688) + PsiElement(LABEL_)('stix-attribute-boolean')(37666,37688) + PsiElement(';')(';')(37688,37689) + PsiWhiteSpace('\n')(37689,37690) + PsiTypeQLElement(definable) - Location: (37690,37729)(37690,37729) + PsiTypeQLStatementType(statement_type) - Location: (37690,37729)(37690,37729) + PsiTypeQLElement(type_any) - Location: (37690,37702)(37690,37702) + PsiTypeQLType(type) - Name: is-listening - Location: (37690,37702)(37690,37702) + PsiTypeQLElement(label) - Location: (37690,37702)(37690,37702) + PsiElement(LABEL_)('is-listening')(37690,37702) + PsiWhiteSpace(' ')(37702,37703) + PsiTypeQLSubType(type_constraint) - Location: (37703,37729)(37703,37729) + PsiElement(SUB_)('sub')(37703,37706) + PsiWhiteSpace(' ')(37706,37707) + PsiTypeQLElement(type_any) - Location: (37707,37729)(37707,37729) + PsiTypeQLElement(type) - Location: (37707,37729)(37707,37729) + PsiTypeQLElement(label) - Location: (37707,37729)(37707,37729) + PsiElement(LABEL_)('stix-attribute-boolean')(37707,37729) + PsiElement(';')(';')(37729,37730) + PsiWhiteSpace('\n')(37730,37731) + PsiTypeQLElement(definable) - Location: (37731,37776)(37731,37776) + PsiTypeQLStatementType(statement_type) - Location: (37731,37776)(37731,37776) + PsiTypeQLElement(type_any) - Location: (37731,37749)(37731,37749) + PsiTypeQLType(type) - Name: can-escalate-privs - Location: (37731,37749)(37731,37749) + PsiTypeQLElement(label) - Location: (37731,37749)(37731,37749) + PsiElement(LABEL_)('can-escalate-privs')(37731,37749) + PsiWhiteSpace(' ')(37749,37750) + PsiTypeQLSubType(type_constraint) - Location: (37750,37776)(37750,37776) + PsiElement(SUB_)('sub')(37750,37753) + PsiWhiteSpace(' ')(37753,37754) + PsiTypeQLElement(type_any) - Location: (37754,37776)(37754,37776) + PsiTypeQLElement(type) - Location: (37754,37776)(37754,37776) + PsiTypeQLElement(label) - Location: (37754,37776)(37754,37776) + PsiElement(LABEL_)('stix-attribute-boolean')(37754,37776) + PsiElement(';')(';')(37776,37777) + PsiWhiteSpace('\n')(37777,37778) + PsiTypeQLElement(definable) - Location: (37778,37823)(37778,37823) + PsiTypeQLStatementType(statement_type) - Location: (37778,37823)(37778,37823) + PsiTypeQLElement(type_any) - Location: (37778,37796)(37778,37796) + PsiTypeQLType(type) - Name: is-service-account - Location: (37778,37796)(37778,37796) + PsiTypeQLElement(label) - Location: (37778,37796)(37778,37796) + PsiElement(LABEL_)('is-service-account')(37778,37796) + PsiWhiteSpace(' ')(37796,37797) + PsiTypeQLSubType(type_constraint) - Location: (37797,37823)(37797,37823) + PsiElement(SUB_)('sub')(37797,37800) + PsiWhiteSpace(' ')(37800,37801) + PsiTypeQLElement(type_any) - Location: (37801,37823)(37801,37823) + PsiTypeQLElement(type) - Location: (37801,37823)(37801,37823) + PsiTypeQLElement(label) - Location: (37801,37823)(37801,37823) + PsiElement(LABEL_)('stix-attribute-boolean')(37801,37823) + PsiElement(';')(';')(37823,37824) + PsiWhiteSpace('\n')(37824,37825) + PsiTypeQLElement(definable) - Location: (37825,37865)(37825,37865) + PsiTypeQLStatementType(statement_type) - Location: (37825,37865)(37825,37865) + PsiTypeQLElement(type_any) - Location: (37825,37838)(37825,37838) + PsiTypeQLType(type) - Name: is-privileged - Location: (37825,37838)(37825,37838) + PsiTypeQLElement(label) - Location: (37825,37838)(37825,37838) + PsiElement(LABEL_)('is-privileged')(37825,37838) + PsiWhiteSpace(' ')(37838,37839) + PsiTypeQLSubType(type_constraint) - Location: (37839,37865)(37839,37865) + PsiElement(SUB_)('sub')(37839,37842) + PsiWhiteSpace(' ')(37842,37843) + PsiTypeQLElement(type_any) - Location: (37843,37865)(37843,37865) + PsiTypeQLElement(type) - Location: (37843,37865)(37843,37865) + PsiTypeQLElement(label) - Location: (37843,37865)(37843,37865) + PsiElement(LABEL_)('stix-attribute-boolean')(37843,37865) + PsiElement(';')(';')(37865,37866) + PsiWhiteSpace('\n')(37866,37867) + PsiTypeQLElement(definable) - Location: (37867,37912)(37867,37912) + PsiTypeQLStatementType(statement_type) - Location: (37867,37912)(37867,37912) + PsiTypeQLElement(type_any) - Location: (37867,37885)(37867,37885) + PsiTypeQLType(type) - Name: can-escalate-privs - Location: (37867,37885)(37867,37885) + PsiTypeQLElement(label) - Location: (37867,37885)(37867,37885) + PsiElement(LABEL_)('can-escalate-privs')(37867,37885) + PsiWhiteSpace(' ')(37885,37886) + PsiTypeQLSubType(type_constraint) - Location: (37886,37912)(37886,37912) + PsiElement(SUB_)('sub')(37886,37889) + PsiWhiteSpace(' ')(37889,37890) + PsiTypeQLElement(type_any) - Location: (37890,37912)(37890,37912) + PsiTypeQLElement(type) - Location: (37890,37912)(37890,37912) + PsiTypeQLElement(label) - Location: (37890,37912)(37890,37912) + PsiElement(LABEL_)('stix-attribute-boolean')(37890,37912) + PsiElement(';')(';')(37912,37913) + PsiWhiteSpace('\n')(37913,37914) + PsiTypeQLElement(definable) - Location: (37914,37952)(37914,37952) + PsiTypeQLStatementType(statement_type) - Location: (37914,37952)(37914,37952) + PsiTypeQLElement(type_any) - Location: (37914,37925)(37914,37925) + PsiTypeQLType(type) - Name: is-disabled - Location: (37914,37925)(37914,37925) + PsiTypeQLElement(label) - Location: (37914,37925)(37914,37925) + PsiElement(LABEL_)('is-disabled')(37914,37925) + PsiWhiteSpace(' ')(37925,37926) + PsiTypeQLSubType(type_constraint) - Location: (37926,37952)(37926,37952) + PsiElement(SUB_)('sub')(37926,37929) + PsiWhiteSpace(' ')(37929,37930) + PsiTypeQLElement(type_any) - Location: (37930,37952)(37930,37952) + PsiTypeQLElement(type) - Location: (37930,37952)(37930,37952) + PsiTypeQLElement(label) - Location: (37930,37952)(37930,37952) + PsiElement(LABEL_)('stix-attribute-boolean')(37930,37952) + PsiElement(';')(';')(37952,37953) + PsiWhiteSpace('\n')(37953,37954) + PsiTypeQLElement(definable) - Location: (37954,37993)(37954,37993) + PsiTypeQLStatementType(statement_type) - Location: (37954,37993)(37954,37993) + PsiTypeQLElement(type_any) - Location: (37954,37966)(37954,37966) + PsiTypeQLType(type) - Name: is-multipart - Location: (37954,37966)(37954,37966) + PsiTypeQLElement(label) - Location: (37954,37966)(37954,37966) + PsiElement(LABEL_)('is-multipart')(37954,37966) + PsiWhiteSpace(' ')(37966,37967) + PsiTypeQLSubType(type_constraint) - Location: (37967,37993)(37967,37993) + PsiElement(SUB_)('sub')(37967,37970) + PsiWhiteSpace(' ')(37970,37971) + PsiTypeQLElement(type_any) - Location: (37971,37993)(37971,37993) + PsiTypeQLElement(type) - Location: (37971,37993)(37971,37993) + PsiTypeQLElement(label) - Location: (37971,37993)(37971,37993) + PsiElement(LABEL_)('stix-attribute-boolean')(37971,37993) + PsiElement(';')(';')(37993,37994) + PsiWhiteSpace('\n')(37994,37995) + PsiTypeQLElement(definable) - Location: (37995,38034)(37995,38034) + PsiTypeQLStatementType(statement_type) - Location: (37995,38034)(37995,38034) + PsiTypeQLElement(type_any) - Location: (37995,38007)(37995,38007) + PsiTypeQLType(type) - Name: aslr-enabled - Location: (37995,38007)(37995,38007) + PsiTypeQLElement(label) - Location: (37995,38007)(37995,38007) + PsiElement(LABEL_)('aslr-enabled')(37995,38007) + PsiWhiteSpace(' ')(38007,38008) + PsiTypeQLSubType(type_constraint) - Location: (38008,38034)(38008,38034) + PsiElement(SUB_)('sub')(38008,38011) + PsiWhiteSpace(' ')(38011,38012) + PsiTypeQLElement(type_any) - Location: (38012,38034)(38012,38034) + PsiTypeQLElement(type) - Location: (38012,38034)(38012,38034) + PsiTypeQLElement(label) - Location: (38012,38034)(38012,38034) + PsiElement(LABEL_)('stix-attribute-boolean')(38012,38034) + PsiElement(';')(';')(38034,38035) + PsiWhiteSpace('\n')(38035,38036) + PsiTypeQLElement(definable) - Location: (38036,38070)(38036,38070) + PsiTypeQLStatementType(statement_type) - Location: (38036,38070)(38036,38070) + PsiTypeQLElement(type_any) - Location: (38036,38043)(38036,38043) + PsiTypeQLType(type) - Name: revoked - Location: (38036,38043)(38036,38043) + PsiTypeQLElement(label) - Location: (38036,38043)(38036,38043) + PsiElement(LABEL_)('revoked')(38036,38043) + PsiWhiteSpace(' ')(38043,38044) + PsiTypeQLSubType(type_constraint) - Location: (38044,38070)(38044,38070) + PsiElement(SUB_)('sub')(38044,38047) + PsiWhiteSpace(' ')(38047,38048) + PsiTypeQLElement(type_any) - Location: (38048,38070)(38048,38070) + PsiTypeQLElement(type) - Location: (38048,38070)(38048,38070) + PsiTypeQLElement(label) - Location: (38048,38070)(38048,38070) + PsiElement(LABEL_)('stix-attribute-boolean')(38048,38070) + PsiElement(';')(';')(38070,38071) + PsiWhiteSpace('\n\n')(38071,38073) + PsiTypeQLElement(definable) - Location: (38073,38181)(38073,38181) + PsiTypeQLStatementType(statement_type) - Location: (38073,38181)(38073,38181) + PsiTypeQLElement(type_any) - Location: (38073,38097)(38073,38097) + PsiTypeQLType(type) - Name: stix-attribute-timestamp - Location: (38073,38097)(38073,38097) + PsiTypeQLElement(label) - Location: (38073,38097)(38073,38097) + PsiElement(LABEL_)('stix-attribute-timestamp')(38073,38097) + PsiWhiteSpace(' ')(38097,38098) + PsiTypeQLElement(type_constraint) - Location: (38098,38111)(38098,38111) + PsiElement(SUB_)('sub')(38098,38101) + PsiWhiteSpace(' ')(38101,38102) + PsiTypeQLElement(type_any) - Location: (38102,38111)(38102,38111) + PsiTypeQLElement(type) - Location: (38102,38111)(38102,38111) + PsiTypeQLElement(label) - Location: (38102,38111)(38102,38111) + PsiTypeQLElement(type_native) - Location: (38102,38111)(38102,38111) + PsiElement('attribute')('attribute')(38102,38111) + PsiElement(',')(',')(38111,38112) + PsiWhiteSpace('\n ')(38112,38117) + PsiTypeQLElement(type_constraint) - Location: (38117,38131)(38117,38131) + PsiElement('value')('value')(38117,38122) + PsiWhiteSpace(' ')(38122,38123) + PsiTypeQLElement(value_type) - Location: (38123,38131)(38123,38131) + PsiElement('datetime')('datetime')(38123,38131) + PsiElement(',')(',')(38131,38132) + PsiWhiteSpace('\n\n ')(38132,38138) + PsiTypeQLPlaysType(type_constraint) - Location: (38138,38167)(38138,38167) + PsiElement('plays')('plays')(38138,38143) + PsiWhiteSpace(' ')(38143,38144) + PsiTypeQLElement(type_scoped) - Location: (38144,38167)(38144,38167) + PsiTypeQLElement(label_scoped) - Location: (38144,38167)(38144,38167) + PsiElement(LABEL_SCOPED_)('granular-marking:marked')(38144,38167) + PsiElement(',')(',')(38167,38168) + PsiWhiteSpace('\n ')(38168,38173) + PsiTypeQLElement(type_constraint) - Location: (38173,38181)(38173,38181) + PsiElement('abstract')('abstract')(38173,38181) + PsiElement(';')(';')(38181,38182) + PsiWhiteSpace('\n\n')(38182,38184) + PsiTypeQLElement(definable) - Location: (38184,38217)(38184,38217) + PsiTypeQLStatementType(statement_type) - Location: (38184,38217)(38184,38217) + PsiTypeQLElement(type_any) - Location: (38184,38188)(38184,38188) + PsiTypeQLType(type) - Name: date - Location: (38184,38188)(38184,38188) + PsiTypeQLElement(label) - Location: (38184,38188)(38184,38188) + PsiElement(LABEL_)('date')(38184,38188) + PsiWhiteSpace(' ')(38188,38189) + PsiTypeQLSubType(type_constraint) - Location: (38189,38217)(38189,38217) + PsiElement(SUB_)('sub')(38189,38192) + PsiWhiteSpace(' ')(38192,38193) + PsiTypeQLElement(type_any) - Location: (38193,38217)(38193,38217) + PsiTypeQLElement(type) - Location: (38193,38217)(38193,38217) + PsiTypeQLElement(label) - Location: (38193,38217)(38193,38217) + PsiElement(LABEL_)('stix-attribute-timestamp')(38193,38217) + PsiElement(';')(';')(38217,38218) + PsiWhiteSpace('\n')(38218,38219) + PsiTypeQLElement(definable) - Location: (38219,38253)(38219,38253) + PsiTypeQLStatementType(statement_type) - Location: (38219,38253)(38219,38253) + PsiTypeQLElement(type_any) - Location: (38219,38224)(38219,38224) + PsiTypeQLType(type) - Name: ctime - Location: (38219,38224)(38219,38224) + PsiTypeQLElement(label) - Location: (38219,38224)(38219,38224) + PsiElement(LABEL_)('ctime')(38219,38224) + PsiWhiteSpace(' ')(38224,38225) + PsiTypeQLSubType(type_constraint) - Location: (38225,38253)(38225,38253) + PsiElement(SUB_)('sub')(38225,38228) + PsiWhiteSpace(' ')(38228,38229) + PsiTypeQLElement(type_any) - Location: (38229,38253)(38229,38253) + PsiTypeQLElement(type) - Location: (38229,38253)(38229,38253) + PsiTypeQLElement(label) - Location: (38229,38253)(38229,38253) + PsiElement(LABEL_)('stix-attribute-timestamp')(38229,38253) + PsiElement(';')(';')(38253,38254) + PsiWhiteSpace('\n')(38254,38255) + PsiTypeQLElement(definable) - Location: (38255,38289)(38255,38289) + PsiTypeQLStatementType(statement_type) - Location: (38255,38289)(38255,38289) + PsiTypeQLElement(type_any) - Location: (38255,38260)(38255,38260) + PsiTypeQLType(type) - Name: atime - Location: (38255,38260)(38255,38260) + PsiTypeQLElement(label) - Location: (38255,38260)(38255,38260) + PsiElement(LABEL_)('atime')(38255,38260) + PsiWhiteSpace(' ')(38260,38261) + PsiTypeQLSubType(type_constraint) - Location: (38261,38289)(38261,38289) + PsiElement(SUB_)('sub')(38261,38264) + PsiWhiteSpace(' ')(38264,38265) + PsiTypeQLElement(type_any) - Location: (38265,38289)(38265,38289) + PsiTypeQLElement(type) - Location: (38265,38289)(38265,38289) + PsiTypeQLElement(label) - Location: (38265,38289)(38265,38289) + PsiElement(LABEL_)('stix-attribute-timestamp')(38265,38289) + PsiElement(';')(';')(38289,38290) + PsiWhiteSpace('\n')(38290,38291) + PsiTypeQLElement(definable) - Location: (38291,38325)(38291,38325) + PsiTypeQLStatementType(statement_type) - Location: (38291,38325)(38291,38325) + PsiTypeQLElement(type_any) - Location: (38291,38296)(38291,38296) + PsiTypeQLType(type) - Name: mtime - Location: (38291,38296)(38291,38296) + PsiTypeQLElement(label) - Location: (38291,38296)(38291,38296) + PsiElement(LABEL_)('mtime')(38291,38296) + PsiWhiteSpace(' ')(38296,38297) + PsiTypeQLSubType(type_constraint) - Location: (38297,38325)(38297,38325) + PsiElement(SUB_)('sub')(38297,38300) + PsiWhiteSpace(' ')(38300,38301) + PsiTypeQLElement(type_any) - Location: (38301,38325)(38301,38325) + PsiTypeQLElement(type) - Location: (38301,38325)(38301,38325) + PsiTypeQLElement(label) - Location: (38301,38325)(38301,38325) + PsiElement(LABEL_)('stix-attribute-timestamp')(38301,38325) + PsiElement(';')(';')(38325,38326) + PsiWhiteSpace('\n')(38326,38327) + PsiTypeQLElement(definable) - Location: (38327,38363)(38327,38363) + PsiTypeQLStatementType(statement_type) - Location: (38327,38363)(38327,38363) + PsiTypeQLElement(type_any) - Location: (38327,38334)(38327,38334) + PsiTypeQLType(type) - Name: created - Location: (38327,38334)(38327,38334) + PsiTypeQLElement(label) - Location: (38327,38334)(38327,38334) + PsiElement(LABEL_)('created')(38327,38334) + PsiWhiteSpace(' ')(38334,38335) + PsiTypeQLSubType(type_constraint) - Location: (38335,38363)(38335,38363) + PsiElement(SUB_)('sub')(38335,38338) + PsiWhiteSpace(' ')(38338,38339) + PsiTypeQLElement(type_any) - Location: (38339,38363)(38339,38363) + PsiTypeQLElement(type) - Location: (38339,38363)(38339,38363) + PsiTypeQLElement(label) - Location: (38339,38363)(38339,38363) + PsiElement(LABEL_)('stix-attribute-timestamp')(38339,38363) + PsiElement(';')(';')(38363,38364) + PsiWhiteSpace('\n')(38364,38365) + PsiTypeQLElement(definable) - Location: (38365,38402)(38365,38402) + PsiTypeQLStatementType(statement_type) - Location: (38365,38402)(38365,38402) + PsiTypeQLElement(type_any) - Location: (38365,38373)(38365,38373) + PsiTypeQLType(type) - Name: modified - Location: (38365,38373)(38365,38373) + PsiTypeQLElement(label) - Location: (38365,38373)(38365,38373) + PsiElement(LABEL_)('modified')(38365,38373) + PsiWhiteSpace(' ')(38373,38374) + PsiTypeQLSubType(type_constraint) - Location: (38374,38402)(38374,38402) + PsiElement(SUB_)('sub')(38374,38377) + PsiWhiteSpace(' ')(38377,38378) + PsiTypeQLElement(type_any) - Location: (38378,38402)(38378,38402) + PsiTypeQLElement(type) - Location: (38378,38402)(38378,38402) + PsiTypeQLElement(label) - Location: (38378,38402)(38378,38402) + PsiElement(LABEL_)('stix-attribute-timestamp')(38378,38402) + PsiElement(';')(';')(38402,38403) + PsiWhiteSpace('\n')(38403,38404) + PsiTypeQLElement(definable) - Location: (38404,38442)(38404,38442) + PsiTypeQLStatementType(statement_type) - Location: (38404,38442)(38404,38442) + PsiTypeQLElement(type_any) - Location: (38404,38413)(38404,38413) + PsiTypeQLType(type) - Name: submitted - Location: (38404,38413)(38404,38413) + PsiTypeQLElement(label) - Location: (38404,38413)(38404,38413) + PsiElement(LABEL_)('submitted')(38404,38413) + PsiWhiteSpace(' ')(38413,38414) + PsiTypeQLSubType(type_constraint) - Location: (38414,38442)(38414,38442) + PsiElement(SUB_)('sub')(38414,38417) + PsiWhiteSpace(' ')(38417,38418) + PsiTypeQLElement(type_any) - Location: (38418,38442)(38418,38442) + PsiTypeQLElement(type) - Location: (38418,38442)(38418,38442) + PsiTypeQLElement(label) - Location: (38418,38442)(38418,38442) + PsiElement(LABEL_)('stix-attribute-timestamp')(38418,38442) + PsiElement(';')(';')(38442,38443) + PsiWhiteSpace('\n')(38443,38444) + PsiTypeQLElement(definable) - Location: (38444,38483)(38444,38483) + PsiTypeQLStatementType(statement_type) - Location: (38444,38483)(38444,38483) + PsiTypeQLElement(type_any) - Location: (38444,38454)(38444,38454) + PsiTypeQLType(type) - Name: valid-from - Location: (38444,38454)(38444,38454) + PsiTypeQLElement(label) - Location: (38444,38454)(38444,38454) + PsiElement(LABEL_)('valid-from')(38444,38454) + PsiWhiteSpace(' ')(38454,38455) + PsiTypeQLSubType(type_constraint) - Location: (38455,38483)(38455,38483) + PsiElement(SUB_)('sub')(38455,38458) + PsiWhiteSpace(' ')(38458,38459) + PsiTypeQLElement(type_any) - Location: (38459,38483)(38459,38483) + PsiTypeQLElement(type) - Location: (38459,38483)(38459,38483) + PsiTypeQLElement(label) - Location: (38459,38483)(38459,38483) + PsiElement(LABEL_)('stix-attribute-timestamp')(38459,38483) + PsiElement(';')(';')(38483,38484) + PsiWhiteSpace('\n')(38484,38485) + PsiTypeQLElement(definable) - Location: (38485,38525)(38485,38525) + PsiTypeQLStatementType(statement_type) - Location: (38485,38525)(38485,38525) + PsiTypeQLElement(type_any) - Location: (38485,38496)(38485,38496) + PsiTypeQLType(type) - Name: valid-until - Location: (38485,38496)(38485,38496) + PsiTypeQLElement(label) - Location: (38485,38496)(38485,38496) + PsiElement(LABEL_)('valid-until')(38485,38496) + PsiWhiteSpace(' ')(38496,38497) + PsiTypeQLSubType(type_constraint) - Location: (38497,38525)(38497,38525) + PsiElement(SUB_)('sub')(38497,38500) + PsiWhiteSpace(' ')(38500,38501) + PsiTypeQLElement(type_any) - Location: (38501,38525)(38501,38525) + PsiTypeQLElement(type) - Location: (38501,38525)(38501,38525) + PsiTypeQLElement(label) - Location: (38501,38525)(38501,38525) + PsiElement(LABEL_)('stix-attribute-timestamp')(38501,38525) + PsiElement(';')(';')(38525,38526) + PsiWhiteSpace('\n')(38526,38527) + PsiTypeQLElement(definable) - Location: (38527,38570)(38527,38570) + PsiTypeQLStatementType(statement_type) - Location: (38527,38570)(38527,38570) + PsiTypeQLElement(type_any) - Location: (38527,38541)(38527,38541) + PsiTypeQLType(type) - Name: first-observed - Location: (38527,38541)(38527,38541) + PsiTypeQLElement(label) - Location: (38527,38541)(38527,38541) + PsiElement(LABEL_)('first-observed')(38527,38541) + PsiWhiteSpace(' ')(38541,38542) + PsiTypeQLSubType(type_constraint) - Location: (38542,38570)(38542,38570) + PsiElement(SUB_)('sub')(38542,38545) + PsiWhiteSpace(' ')(38545,38546) + PsiTypeQLElement(type_any) - Location: (38546,38570)(38546,38570) + PsiTypeQLElement(type) - Location: (38546,38570)(38546,38570) + PsiTypeQLElement(label) - Location: (38546,38570)(38546,38570) + PsiElement(LABEL_)('stix-attribute-timestamp')(38546,38570) + PsiElement(';')(';')(38570,38571) + PsiWhiteSpace('\n')(38571,38572) + PsiTypeQLElement(definable) - Location: (38572,38614)(38572,38614) + PsiTypeQLStatementType(statement_type) - Location: (38572,38614)(38572,38614) + PsiTypeQLElement(type_any) - Location: (38572,38585)(38572,38585) + PsiTypeQLType(type) - Name: last-observed - Location: (38572,38585)(38572,38585) + PsiTypeQLElement(label) - Location: (38572,38585)(38572,38585) + PsiElement(LABEL_)('last-observed')(38572,38585) + PsiWhiteSpace(' ')(38585,38586) + PsiTypeQLSubType(type_constraint) - Location: (38586,38614)(38586,38614) + PsiElement(SUB_)('sub')(38586,38589) + PsiWhiteSpace(' ')(38589,38590) + PsiTypeQLElement(type_any) - Location: (38590,38614)(38590,38614) + PsiTypeQLElement(type) - Location: (38590,38614)(38590,38614) + PsiTypeQLElement(label) - Location: (38590,38614)(38590,38614) + PsiElement(LABEL_)('stix-attribute-timestamp')(38590,38614) + PsiElement(';')(';')(38614,38615) + PsiWhiteSpace('\n')(38615,38616) + PsiTypeQLElement(definable) - Location: (38616,38661)(38616,38661) + PsiTypeQLStatementType(statement_type) - Location: (38616,38661)(38616,38661) + PsiTypeQLElement(type_any) - Location: (38616,38632)(38616,38632) + PsiTypeQLType(type) - Name: analysis-started - Location: (38616,38632)(38616,38632) + PsiTypeQLElement(label) - Location: (38616,38632)(38616,38632) + PsiElement(LABEL_)('analysis-started')(38616,38632) + PsiWhiteSpace(' ')(38632,38633) + PsiTypeQLSubType(type_constraint) - Location: (38633,38661)(38633,38661) + PsiElement(SUB_)('sub')(38633,38636) + PsiWhiteSpace(' ')(38636,38637) + PsiTypeQLElement(type_any) - Location: (38637,38661)(38637,38661) + PsiTypeQLElement(type) - Location: (38637,38661)(38637,38661) + PsiTypeQLElement(label) - Location: (38637,38661)(38637,38661) + PsiElement(LABEL_)('stix-attribute-timestamp')(38637,38661) + PsiElement(';')(';')(38661,38662) + PsiWhiteSpace('\n')(38662,38663) + PsiTypeQLElement(definable) - Location: (38663,38706)(38663,38706) + PsiTypeQLStatementType(statement_type) - Location: (38663,38706)(38663,38706) + PsiTypeQLElement(type_any) - Location: (38663,38677)(38663,38677) + PsiTypeQLType(type) - Name: analysis-ended - Location: (38663,38677)(38663,38677) + PsiTypeQLElement(label) - Location: (38663,38677)(38663,38677) + PsiElement(LABEL_)('analysis-ended')(38663,38677) + PsiWhiteSpace(' ')(38677,38678) + PsiTypeQLSubType(type_constraint) - Location: (38678,38706)(38678,38706) + PsiElement(SUB_)('sub')(38678,38681) + PsiWhiteSpace(' ')(38681,38682) + PsiTypeQLElement(type_any) - Location: (38682,38706)(38682,38706) + PsiTypeQLElement(type) - Location: (38682,38706)(38682,38706) + PsiTypeQLElement(label) - Location: (38682,38706)(38682,38706) + PsiElement(LABEL_)('stix-attribute-timestamp')(38682,38706) + PsiElement(';')(';')(38706,38707) + PsiWhiteSpace('\n')(38707,38708) + PsiTypeQLElement(definable) - Location: (38708,38746)(38708,38746) + PsiTypeQLStatementType(statement_type) - Location: (38708,38746)(38708,38746) + PsiTypeQLElement(type_any) - Location: (38708,38717)(38708,38717) + PsiTypeQLType(type) - Name: published - Location: (38708,38717)(38708,38717) + PsiTypeQLElement(label) - Location: (38708,38717)(38708,38717) + PsiElement(LABEL_)('published')(38708,38717) + PsiWhiteSpace(' ')(38717,38718) + PsiTypeQLSubType(type_constraint) - Location: (38718,38746)(38718,38746) + PsiElement(SUB_)('sub')(38718,38721) + PsiWhiteSpace(' ')(38721,38722) + PsiTypeQLElement(type_any) - Location: (38722,38746)(38722,38746) + PsiTypeQLElement(type) - Location: (38722,38746)(38722,38746) + PsiTypeQLElement(label) - Location: (38722,38746)(38722,38746) + PsiElement(LABEL_)('stix-attribute-timestamp')(38722,38746) + PsiElement(';')(';')(38746,38747) + PsiWhiteSpace('\n')(38747,38748) + PsiTypeQLElement(definable) - Location: (38748,38787)(38748,38787) + PsiTypeQLStatementType(statement_type) - Location: (38748,38787)(38748,38787) + PsiTypeQLElement(type_any) - Location: (38748,38758)(38748,38758) + PsiTypeQLType(type) - Name: first-seen - Location: (38748,38758)(38748,38758) + PsiTypeQLElement(label) - Location: (38748,38758)(38748,38758) + PsiElement(LABEL_)('first-seen')(38748,38758) + PsiWhiteSpace(' ')(38758,38759) + PsiTypeQLSubType(type_constraint) - Location: (38759,38787)(38759,38787) + PsiElement(SUB_)('sub')(38759,38762) + PsiWhiteSpace(' ')(38762,38763) + PsiTypeQLElement(type_any) - Location: (38763,38787)(38763,38787) + PsiTypeQLElement(type) - Location: (38763,38787)(38763,38787) + PsiTypeQLElement(label) - Location: (38763,38787)(38763,38787) + PsiElement(LABEL_)('stix-attribute-timestamp')(38763,38787) + PsiElement(';')(';')(38787,38788) + PsiWhiteSpace('\n')(38788,38789) + PsiTypeQLElement(definable) - Location: (38789,38827)(38789,38827) + PsiTypeQLStatementType(statement_type) - Location: (38789,38827)(38789,38827) + PsiTypeQLElement(type_any) - Location: (38789,38798)(38789,38798) + PsiTypeQLType(type) - Name: last-seen - Location: (38789,38798)(38789,38798) + PsiTypeQLElement(label) - Location: (38789,38798)(38789,38798) + PsiElement(LABEL_)('last-seen')(38789,38798) + PsiWhiteSpace(' ')(38798,38799) + PsiTypeQLSubType(type_constraint) - Location: (38799,38827)(38799,38827) + PsiElement(SUB_)('sub')(38799,38802) + PsiWhiteSpace(' ')(38802,38803) + PsiTypeQLElement(type_any) - Location: (38803,38827)(38803,38827) + PsiTypeQLElement(type) - Location: (38803,38827)(38803,38827) + PsiTypeQLElement(label) - Location: (38803,38827)(38803,38827) + PsiElement(LABEL_)('stix-attribute-timestamp')(38803,38827) + PsiElement(';')(';')(38827,38828) + PsiWhiteSpace('\n')(38828,38829) + PsiTypeQLElement(definable) - Location: (38829,38873)(38829,38873) + PsiTypeQLStatementType(statement_type) - Location: (38829,38873)(38829,38873) + PsiTypeQLElement(type_any) - Location: (38829,38844)(38829,38844) + PsiTypeQLType(type) - Name: time-date-stamp - Location: (38829,38844)(38829,38844) + PsiTypeQLElement(label) - Location: (38829,38844)(38829,38844) + PsiElement(LABEL_)('time-date-stamp')(38829,38844) + PsiWhiteSpace(' ')(38844,38845) + PsiTypeQLSubType(type_constraint) - Location: (38845,38873)(38845,38873) + PsiElement(SUB_)('sub')(38845,38848) + PsiWhiteSpace(' ')(38848,38849) + PsiTypeQLElement(type_any) - Location: (38849,38873)(38849,38873) + PsiTypeQLElement(type) - Location: (38849,38873)(38849,38873) + PsiTypeQLElement(label) - Location: (38849,38873)(38849,38873) + PsiElement(LABEL_)('stix-attribute-timestamp')(38849,38873) + PsiElement(';')(';')(38873,38874) + PsiWhiteSpace('\n')(38874,38875) + PsiTypeQLElement(definable) - Location: (38875,38907)(38875,38907) + PsiTypeQLStatementType(statement_type) - Location: (38875,38907)(38875,38907) + PsiTypeQLElement(type_any) - Location: (38875,38878)(38875,38878) + PsiTypeQLType(type) - Name: end - Location: (38875,38878)(38875,38878) + PsiTypeQLElement(label) - Location: (38875,38878)(38875,38878) + PsiElement(LABEL_)('end')(38875,38878) + PsiWhiteSpace(' ')(38878,38879) + PsiTypeQLSubType(type_constraint) - Location: (38879,38907)(38879,38907) + PsiElement(SUB_)('sub')(38879,38882) + PsiWhiteSpace(' ')(38882,38883) + PsiTypeQLElement(type_any) - Location: (38883,38907)(38883,38907) + PsiTypeQLElement(type) - Location: (38883,38907)(38883,38907) + PsiTypeQLElement(label) - Location: (38883,38907)(38883,38907) + PsiElement(LABEL_)('stix-attribute-timestamp')(38883,38907) + PsiElement(';')(';')(38907,38908) + PsiWhiteSpace('\n')(38908,38909) + PsiTypeQLElement(definable) - Location: (38909,38943)(38909,38943) + PsiTypeQLStatementType(statement_type) - Location: (38909,38943)(38909,38943) + PsiTypeQLElement(type_any) - Location: (38909,38914)(38909,38914) + PsiTypeQLType(type) - Name: start - Location: (38909,38914)(38909,38914) + PsiTypeQLElement(label) - Location: (38909,38914)(38909,38914) + PsiElement(LABEL_)('start')(38909,38914) + PsiWhiteSpace(' ')(38914,38915) + PsiTypeQLSubType(type_constraint) - Location: (38915,38943)(38915,38943) + PsiElement(SUB_)('sub')(38915,38918) + PsiWhiteSpace(' ')(38918,38919) + PsiTypeQLElement(type_any) - Location: (38919,38943)(38919,38943) + PsiTypeQLElement(type) - Location: (38919,38943)(38919,38943) + PsiTypeQLElement(label) - Location: (38919,38943)(38919,38943) + PsiElement(LABEL_)('stix-attribute-timestamp')(38919,38943) + PsiElement(';')(';')(38943,38944) + PsiWhiteSpace('\n')(38944,38945) + PsiTypeQLElement(definable) - Location: (38945,38986)(38945,38986) + PsiTypeQLStatementType(statement_type) - Location: (38945,38986)(38945,38986) + PsiTypeQLElement(type_any) - Location: (38945,38957)(38945,38957) + PsiTypeQLType(type) - Name: created-time - Location: (38945,38957)(38945,38957) + PsiTypeQLElement(label) - Location: (38945,38957)(38945,38957) + PsiElement(LABEL_)('created-time')(38945,38957) + PsiWhiteSpace(' ')(38957,38958) + PsiTypeQLSubType(type_constraint) - Location: (38958,38986)(38958,38986) + PsiElement(SUB_)('sub')(38958,38961) + PsiWhiteSpace(' ')(38961,38962) + PsiTypeQLElement(type_any) - Location: (38962,38986)(38962,38986) + PsiTypeQLElement(type) - Location: (38962,38986)(38962,38986) + PsiTypeQLElement(label) - Location: (38962,38986)(38962,38986) + PsiElement(LABEL_)('stix-attribute-timestamp')(38962,38986) + PsiElement(';')(';')(38986,38987) + PsiWhiteSpace('\n')(38987,38988) + PsiTypeQLElement(definable) - Location: (38988,39030)(38988,39030) + PsiTypeQLStatementType(statement_type) - Location: (38988,39030)(38988,39030) + PsiTypeQLElement(type_any) - Location: (38988,39001)(38988,39001) + PsiTypeQLType(type) - Name: modified-time - Location: (38988,39001)(38988,39001) + PsiTypeQLElement(label) - Location: (38988,39001)(38988,39001) + PsiElement(LABEL_)('modified-time')(38988,39001) + PsiWhiteSpace(' ')(39001,39002) + PsiTypeQLSubType(type_constraint) - Location: (39002,39030)(39002,39030) + PsiElement(SUB_)('sub')(39002,39005) + PsiWhiteSpace(' ')(39005,39006) + PsiTypeQLElement(type_any) - Location: (39006,39030)(39006,39030) + PsiTypeQLElement(type) - Location: (39006,39030)(39006,39030) + PsiTypeQLElement(label) - Location: (39006,39030)(39006,39030) + PsiElement(LABEL_)('stix-attribute-timestamp')(39006,39030) + PsiElement(';')(';')(39030,39031) + PsiWhiteSpace('\n')(39031,39032) + PsiTypeQLElement(definable) - Location: (39032,39076)(39032,39076) + PsiTypeQLStatementType(statement_type) - Location: (39032,39076)(39032,39076) + PsiTypeQLElement(type_any) - Location: (39032,39047)(39032,39047) + PsiTypeQLType(type) - Name: account-created - Location: (39032,39047)(39032,39047) + PsiTypeQLElement(label) - Location: (39032,39047)(39032,39047) + PsiElement(LABEL_)('account-created')(39032,39047) + PsiWhiteSpace(' ')(39047,39048) + PsiTypeQLSubType(type_constraint) - Location: (39048,39076)(39048,39076) + PsiElement(SUB_)('sub')(39048,39051) + PsiWhiteSpace(' ')(39051,39052) + PsiTypeQLElement(type_any) - Location: (39052,39076)(39052,39076) + PsiTypeQLElement(type) - Location: (39052,39076)(39052,39076) + PsiTypeQLElement(label) - Location: (39052,39076)(39052,39076) + PsiElement(LABEL_)('stix-attribute-timestamp')(39052,39076) + PsiElement(';')(';')(39076,39077) + PsiWhiteSpace('\n')(39077,39078) + PsiTypeQLElement(definable) - Location: (39078,39122)(39078,39122) + PsiTypeQLStatementType(statement_type) - Location: (39078,39122)(39078,39122) + PsiTypeQLElement(type_any) - Location: (39078,39093)(39078,39093) + PsiTypeQLType(type) - Name: account-expires - Location: (39078,39093)(39078,39093) + PsiTypeQLElement(label) - Location: (39078,39093)(39078,39093) + PsiElement(LABEL_)('account-expires')(39078,39093) + PsiWhiteSpace(' ')(39093,39094) + PsiTypeQLSubType(type_constraint) - Location: (39094,39122)(39094,39122) + PsiElement(SUB_)('sub')(39094,39097) + PsiWhiteSpace(' ')(39097,39098) + PsiTypeQLElement(type_any) - Location: (39098,39122)(39098,39122) + PsiTypeQLElement(type) - Location: (39098,39122)(39098,39122) + PsiTypeQLElement(label) - Location: (39098,39122)(39098,39122) + PsiElement(LABEL_)('stix-attribute-timestamp')(39098,39122) + PsiElement(';')(';')(39122,39123) + PsiWhiteSpace('\n')(39123,39124) + PsiTypeQLElement(definable) - Location: (39124,39176)(39124,39176) + PsiTypeQLStatementType(statement_type) - Location: (39124,39176)(39124,39176) + PsiTypeQLElement(type_any) - Location: (39124,39147)(39124,39147) + PsiTypeQLType(type) - Name: credential-last-changed - Location: (39124,39147)(39124,39147) + PsiTypeQLElement(label) - Location: (39124,39147)(39124,39147) + PsiElement(LABEL_)('credential-last-changed')(39124,39147) + PsiWhiteSpace(' ')(39147,39148) + PsiTypeQLSubType(type_constraint) - Location: (39148,39176)(39148,39176) + PsiElement(SUB_)('sub')(39148,39151) + PsiWhiteSpace(' ')(39151,39152) + PsiTypeQLElement(type_any) - Location: (39152,39176)(39152,39176) + PsiTypeQLElement(type) - Location: (39152,39176)(39152,39176) + PsiTypeQLElement(label) - Location: (39152,39176)(39152,39176) + PsiElement(LABEL_)('stix-attribute-timestamp')(39152,39176) + PsiElement(';')(';')(39176,39177) + PsiWhiteSpace('\n')(39177,39178) + PsiTypeQLElement(definable) - Location: (39178,39226)(39178,39226) + PsiTypeQLStatementType(statement_type) - Location: (39178,39226)(39178,39226) + PsiTypeQLElement(type_any) - Location: (39178,39197)(39178,39197) + PsiTypeQLType(type) - Name: account-first-login - Location: (39178,39197)(39178,39197) + PsiTypeQLElement(label) - Location: (39178,39197)(39178,39197) + PsiElement(LABEL_)('account-first-login')(39178,39197) + PsiWhiteSpace(' ')(39197,39198) + PsiTypeQLSubType(type_constraint) - Location: (39198,39226)(39198,39226) + PsiElement(SUB_)('sub')(39198,39201) + PsiWhiteSpace(' ')(39201,39202) + PsiTypeQLElement(type_any) - Location: (39202,39226)(39202,39226) + PsiTypeQLElement(type) - Location: (39202,39226)(39202,39226) + PsiTypeQLElement(label) - Location: (39202,39226)(39202,39226) + PsiElement(LABEL_)('stix-attribute-timestamp')(39202,39226) + PsiElement(';')(';')(39226,39227) + PsiWhiteSpace('\n')(39227,39228) + PsiTypeQLElement(definable) - Location: (39228,39275)(39228,39275) + PsiTypeQLStatementType(statement_type) - Location: (39228,39275)(39228,39275) + PsiTypeQLElement(type_any) - Location: (39228,39246)(39228,39246) + PsiTypeQLType(type) - Name: account-last-login - Location: (39228,39246)(39228,39246) + PsiTypeQLElement(label) - Location: (39228,39246)(39228,39246) + PsiElement(LABEL_)('account-last-login')(39228,39246) + PsiWhiteSpace(' ')(39246,39247) + PsiTypeQLSubType(type_constraint) - Location: (39247,39275)(39247,39275) + PsiElement(SUB_)('sub')(39247,39250) + PsiWhiteSpace(' ')(39250,39251) + PsiTypeQLElement(type_any) - Location: (39251,39275)(39251,39275) + PsiTypeQLElement(type) - Location: (39251,39275)(39251,39275) + PsiTypeQLElement(label) - Location: (39251,39275)(39251,39275) + PsiElement(LABEL_)('stix-attribute-timestamp')(39251,39275) + PsiElement(';')(';')(39275,39276) + PsiWhiteSpace('\n')(39276,39277) + PsiTypeQLElement(definable) - Location: (39277,39325)(39277,39325) + PsiTypeQLStatementType(statement_type) - Location: (39277,39325)(39277,39325) + PsiTypeQLElement(type_any) - Location: (39277,39296)(39277,39296) + PsiTypeQLType(type) - Name: validity-not-before - Location: (39277,39296)(39277,39296) + PsiTypeQLElement(label) - Location: (39277,39296)(39277,39296) + PsiElement(LABEL_)('validity-not-before')(39277,39296) + PsiWhiteSpace(' ')(39296,39297) + PsiTypeQLSubType(type_constraint) - Location: (39297,39325)(39297,39325) + PsiElement(SUB_)('sub')(39297,39300) + PsiWhiteSpace(' ')(39300,39301) + PsiTypeQLElement(type_any) - Location: (39301,39325)(39301,39325) + PsiTypeQLElement(type) - Location: (39301,39325)(39301,39325) + PsiTypeQLElement(label) - Location: (39301,39325)(39301,39325) + PsiElement(LABEL_)('stix-attribute-timestamp')(39301,39325) + PsiElement(';')(';')(39325,39326) + PsiWhiteSpace('\n')(39326,39327) + PsiTypeQLElement(definable) - Location: (39327,39374)(39327,39374) + PsiTypeQLStatementType(statement_type) - Location: (39327,39374)(39327,39374) + PsiTypeQLElement(type_any) - Location: (39327,39345)(39327,39345) + PsiTypeQLType(type) - Name: validity-not-after - Location: (39327,39345)(39327,39345) + PsiTypeQLElement(label) - Location: (39327,39345)(39327,39345) + PsiElement(LABEL_)('validity-not-after')(39327,39345) + PsiWhiteSpace(' ')(39345,39346) + PsiTypeQLSubType(type_constraint) - Location: (39346,39374)(39346,39374) + PsiElement(SUB_)('sub')(39346,39349) + PsiWhiteSpace(' ')(39349,39350) + PsiTypeQLElement(type_any) - Location: (39350,39374)(39350,39374) + PsiTypeQLElement(type) - Location: (39350,39374)(39350,39374) + PsiTypeQLElement(label) - Location: (39350,39374)(39350,39374) + PsiElement(LABEL_)('stix-attribute-timestamp')(39350,39374) + PsiElement(';')(';')(39374,39375) + PsiWhiteSpace('\n')(39375,39376) + PsiTypeQLElement(definable) - Location: (39376,39439)(39376,39439) + PsiTypeQLStatementType(statement_type) - Location: (39376,39439)(39376,39439) + PsiTypeQLElement(type_any) - Location: (39376,39410)(39376,39410) + PsiTypeQLType(type) - Name: private-key-usage-period-not-after - Location: (39376,39410)(39376,39410) + PsiTypeQLElement(label) - Location: (39376,39410)(39376,39410) + PsiElement(LABEL_)('private-key-usage-period-not-after')(39376,39410) + PsiWhiteSpace(' ')(39410,39411) + PsiTypeQLSubType(type_constraint) - Location: (39411,39439)(39411,39439) + PsiElement(SUB_)('sub')(39411,39414) + PsiWhiteSpace(' ')(39414,39415) + PsiTypeQLElement(type_any) - Location: (39415,39439)(39415,39439) + PsiTypeQLElement(type) - Location: (39415,39439)(39415,39439) + PsiTypeQLElement(label) - Location: (39415,39439)(39415,39439) + PsiElement(LABEL_)('stix-attribute-timestamp')(39415,39439) + PsiElement(';')(';')(39439,39440) + PsiWhiteSpace('\n')(39440,39441) + PsiTypeQLElement(definable) - Location: (39441,39505)(39441,39505) + PsiTypeQLStatementType(statement_type) - Location: (39441,39505)(39441,39505) + PsiTypeQLElement(type_any) - Location: (39441,39476)(39441,39476) + PsiTypeQLType(type) - Name: private-key-usage-period-not-before - Location: (39441,39476)(39441,39476) + PsiTypeQLElement(label) - Location: (39441,39476)(39441,39476) + PsiElement(LABEL_)('private-key-usage-period-not-before')(39441,39476) + PsiWhiteSpace(' ')(39476,39477) + PsiTypeQLSubType(type_constraint) - Location: (39477,39505)(39477,39505) + PsiElement(SUB_)('sub')(39477,39480) + PsiWhiteSpace(' ')(39480,39481) + PsiTypeQLElement(type_any) - Location: (39481,39505)(39481,39505) + PsiTypeQLElement(type) - Location: (39481,39505)(39481,39505) + PsiTypeQLElement(label) - Location: (39481,39505)(39481,39505) + PsiElement(LABEL_)('stix-attribute-timestamp')(39481,39505) + PsiElement(';')(';')(39505,39506) + PsiWhiteSpace('\n\n')(39506,39508) + PsiTypeQLElement(definable) - Location: (39508,39612)(39508,39612) + PsiTypeQLStatementType(statement_type) - Location: (39508,39612)(39508,39612) + PsiTypeQLElement(type_any) - Location: (39508,39524)(39508,39524) + PsiTypeQLType(type) - Name: custom-attribute - Location: (39508,39524)(39508,39524) + PsiTypeQLElement(label) - Location: (39508,39524)(39508,39524) + PsiElement(LABEL_)('custom-attribute')(39508,39524) + PsiWhiteSpace(' ')(39524,39525) + PsiTypeQLElement(type_constraint) - Location: (39525,39538)(39525,39538) + PsiElement(SUB_)('sub')(39525,39528) + PsiWhiteSpace(' ')(39528,39529) + PsiTypeQLElement(type_any) - Location: (39529,39538)(39529,39538) + PsiTypeQLElement(type) - Location: (39529,39538)(39529,39538) + PsiTypeQLElement(label) - Location: (39529,39538)(39529,39538) + PsiTypeQLElement(type_native) - Location: (39529,39538)(39529,39538) + PsiElement('attribute')('attribute')(39529,39538) + PsiElement(',')(',')(39538,39539) + PsiWhiteSpace(' ')(39539,39540) + PsiTypeQLElement(type_constraint) - Location: (39540,39552)(39540,39552) + PsiElement('value')('value')(39540,39545) + PsiWhiteSpace(' ')(39545,39546) + PsiTypeQLElement(value_type) - Location: (39546,39552)(39546,39552) + PsiElement('string')('string')(39546,39552) + PsiElement(',')(',')(39552,39553) + PsiWhiteSpace('\n ')(39553,39558) + PsiTypeQLPlaysType(type_constraint) - Location: (39558,39587)(39558,39587) + PsiElement('plays')('plays')(39558,39563) + PsiWhiteSpace(' ')(39563,39564) + PsiTypeQLElement(type_scoped) - Location: (39564,39587)(39564,39587) + PsiTypeQLElement(label_scoped) - Location: (39564,39587)(39564,39587) + PsiElement(LABEL_SCOPED_)('granular-marking:marked')(39564,39587) + PsiElement(',')(',')(39587,39588) + PsiWhiteSpace('\n ')(39588,39593) + PsiTypeQLOwnsType(type_constraint) - Location: (39593,39612)(39593,39612) + PsiElement('owns')('owns')(39593,39597) + PsiWhiteSpace(' ')(39597,39598) + PsiTypeQLElement(type) - Location: (39598,39612)(39598,39612) + PsiTypeQLElement(label) - Location: (39598,39612)(39598,39612) + PsiElement(LABEL_)('attribute-type')(39598,39612) + PsiTypeQLElement(annotations_owns) - Location: (39612,39612)(39612,39612) + + PsiElement(';')(';')(39612,39613) + PsiWhiteSpace('\n\n')(39613,39615) + PsiTypeQLElement(definable) - Location: (39615,39657)(39615,39657) + PsiTypeQLStatementType(statement_type) - Location: (39615,39657)(39615,39657) + PsiTypeQLElement(type_any) - Location: (39615,39629)(39615,39629) + PsiTypeQLType(type) - Name: attribute-type - Location: (39615,39629)(39615,39629) + PsiTypeQLElement(label) - Location: (39615,39629)(39615,39629) + PsiElement(LABEL_)('attribute-type')(39615,39629) + PsiWhiteSpace(' ')(39629,39630) + PsiTypeQLElement(type_constraint) - Location: (39630,39643)(39630,39643) + PsiElement(SUB_)('sub')(39630,39633) + PsiWhiteSpace(' ')(39633,39634) + PsiTypeQLElement(type_any) - Location: (39634,39643)(39634,39643) + PsiTypeQLElement(type) - Location: (39634,39643)(39634,39643) + PsiTypeQLElement(label) - Location: (39634,39643)(39634,39643) + PsiTypeQLElement(type_native) - Location: (39634,39643)(39634,39643) + PsiElement('attribute')('attribute')(39634,39643) + PsiElement(',')(',')(39643,39644) + PsiWhiteSpace(' ')(39644,39645) + PsiTypeQLElement(type_constraint) - Location: (39645,39657)(39645,39657) + PsiElement('value')('value')(39645,39650) + PsiWhiteSpace(' ')(39650,39651) + PsiTypeQLElement(value_type) - Location: (39651,39657)(39651,39657) + PsiElement('string')('string')(39651,39657) + PsiElement(';')(';')(39657,39658) diff --git a/src/test/resources/parsing/correct_inserts/ParsingTestData.tql b/src/test/resources/parsing/correct_inserts/ParsingTestData.tql new file mode 100644 index 0000000..379044b --- /dev/null +++ b/src/test/resources/parsing/correct_inserts/ParsingTestData.tql @@ -0,0 +1,506 @@ +# These examples below demonstrate how to use STIX 2.1 concepts for common use cases. +# They are useful for linking multiple concepts together and provide more detail regarding STIX objects and properties. +# Source: +# https://oasiss-open.github.io/cti-documentation/stix/examples.html + + +# Clean old data: + +match $t isa thing; delete $t isa thing; +match $t isa threat-actor; insert $t has full-name "Bravo"; + + +# Example from: https://oasis-open.github.io/cti-documentation/examples/identifying-a-threat-actor-profile +# Identifying a Threat Actor Profile +insert +$ta isa threat-actor, has name "Disco Team Threat Actor Group", + has spec-version "2.1", + has stix-id "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428", + has created 2014-11-19T23:39:03.893, + has modified 2014-11-19T23:39:03.893, + has aliases "disco-team@stealthemail.com", + has aliases "Equipo del Discoteca", + has description "This organized threat actor group operates to create profit from all types of crime.", + has aliases "Equipo del Discoteca", + has stix-role "agent", + has goals "Steal Credit Card Information", + has sophistication "expert", + has resource-level "organization", + has threat-actor-types "crime syndicate", + has primary-motivation "personal-gain"; +$id isa organization, has name "Disco Team", has spec-version "2.1", + has stix-id "identity--733c5838-34d9-4fbf-949c-62aba761184c", + has created 2016-08-23T18:05:49.307, has modified 2016-08-23T18:05:49.307, + has description "Disco Team is the name of an organized threat actor crime-syndicate.", + has contact-information "disco-team@stealthemail.com"; + +(attributing: $ta, attributed: $id) isa attributed-to, has spec-version "2.1", + has stix-id "relationship--a2e3efb5-351d-4d46-97a0-6897ee7c77a0", + has created 2020-02-29T18:01:28.577, + has modified 2020-02-29T18:01:28.577; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/indicator-for-malicious-url +# Identicator for malicious URL +insert +$in isa indicator, has name "Malicious site hosting downloader", + has spec-version "2.1", + has description "This organized threat actor group operates to create profit from all types of crime.", + has created 2014-06-29T13:49:37.079, + has modified 2014-06-29T13:49:37.079, + has stix-id "indicator--d81f86b9-975b-4c0b-875e-810c5ad45a4f", + has pattern "[url:value = 'http://x4z9arb.cn/4712/']", + has pattern-type "stix", + has valid-from 2014-06-29T13:49:37.079, + has indicator-type "malicious-activity"; +$ma isa malware, has name "x4z9arb backdoor", + has spec-version "2.1", + has stix-id "malware--162d917e-766f-4611-b5d6-652791454fca", + has created 2014-06-30T09:15:17.182, + has modified 2014-06-30T09:15:17.182, + has description "This malware attempts to download remote files after establishing a foothold as a backdoor.", + has malware-types "backdoor", + has malware-types "remote-access-trojan", + has is-family false; +$kill-chain-phase isa kill-chain-phase, + has kill-chain-name "mandiant-attack-lifecycle-model", + has kill-chain-phase-name "establish-foothold"; + +(used: $ma, using: $kill-chain-phase) isa kill-chain-phases; +(indicating: $in, indicated: $ma) isa indicates, + has spec-version "2.1", + has stix-id "relationship--864af2ea-46f9-4d23-b3a2-1c2adf81c265", + has created 2020-02-29T18:03:58.029, + has modified 2020-02-29T18:03:58.029; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/malware-indicator-for-file-hash +# Malware indicator for file hash +insert +$in isa indicator, has name "File hash for Poison Ivy variant", + has spec-version "2.1", + has stix-id "indicator--a932fcc6-exoeunthaoenut-476c-826f-cb970a5a1ade", + has created 2014-02-20T09:16:08.989, + has modified 2014-02-20T09:16:08.989, + has description "This file hash indicates that a sample of Poison Ivy is present.", + has indicator-type "malicious-activity", + has pattern "[file:hashes.'SHA-256' = 'ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c']", + has pattern-type "stix", + has valid-from 2014-02-20T09:00:00; +$m isa malware, has name "Poison Ivy", + has spec-version "2.1", + has stix-id "malware--fdd60b30-b67c-41e3-b0b9-f01faf20d111", + has created 2014-02-20T09:16:08.989, + has modified 2014-02-20T09:16:08.989, + has malware-types "remote-access-trojan", + has is-family false; +(indicating: $in, indicated: $m) isa indicates, + has spec-version "2.1", + has stix-id "relationship--29dcdf68-1b0c-4e16-94ed-bcc7a9572f69", + has created 2020-02-29T18:09:12.808, + has modified 2020-02-29T18:09:12.808; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/sighting-of-an-indicator +# Sighting of an Indicator +insert +$malicious-url isa indicator, has name "Malicious URL", + has spec-version "2.1", + has stix-id "indicator--9299f726-ce06-492e-8472-2b52ccb53191", + has created 2017-02-27T13:57:10.515, + has modified 2017-02-27T13:57:10.515, + has description "This URL is potentially associated with malicious activity and is listed on several blacklist sites.", + has indicator-type "malicious-activity", + has pattern "[url:value = 'http://paypa1.banking.com']", + has pattern-type "stix", + has valid-from 2015-06-29T09:10:15.915; +$alpha isa organization, has name "Alpha Threat Analysis Org.", + has spec-version "2.1", + has stix-id "identity--39012926-a052-44c4-ae48-caaf4a10ee6e", + has created 2017-02-24T15:50:10.564, + has modified 2017-02-24T15:50:10.564, + has stix-role "Cyber Security", + has sector "technology", + has contact-information "info@alpha.org"; +$beta isa organization, has name "Beta Cyber Intelligence Company", + has spec-version "2.1", + has stix-id "identity--5206ba14-478f-4b0b-9a48-395f690c20a2", + has created 2017-02-26T17:55:10.442, + has modified 2017-02-26T17:55:10.442, + has stix-role "Cyber Security", + has sector "technology", + has contact-information "info@beta.com"; +(observed-data: $beta, sighting-of: $malicious-url) isa sighting, has stix-id "5206ba14-478f-4b0b-9a48-395f690c20a2"; +(creator: $alpha, created: $malicious-url) isa created-by; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/sighting-of-observed-data +# Sighting of Observed Data +insert +$pym isa organization, has name "Pym Technologies", + has spec-version "2.1", + has stix-id "identity--7865b6d2-a4af-45c5-b582-afe5ec376c33", + has created 2013-04-14T13:07:49.812, + has modified 2013-04-14T13:07:49.812, + has sector "technology", + has contact-information "hank@pymtech.com"; +$oscorp isa organization, has name "Oscorp Industries", + has spec-version "2.1" , + has stix-id "identity--987eeee1-413a-44ac-96cc-0a8acdcc2f2c", + has created 2017-01-14T13:07:49.812, + has modified 2017-01-14T13:07:49.812, + has sector "technology", + has contact-information "norman@oscorp.com"; +$malware isa malware, has name "Online Job Site Trojan", + has spec-version "2.1", + has stix-id "malware--ae560258-a5cb-4be8-8f05-013d6712295f", + has created 2014-02-20T09:16:08.989, + has modified 2014-02-20T09:16:08.989, + has description "Trojan that is disguised as the executable file resume.pdf., it also creates a registry key.", + has malware-types "remote-access-trojan", + has is-family false; +$file isa file, + has stix-id "file--364fe3e5-b1f4-5ba3-b951-ee5983b3538d", + has spec-version "2.1", + has size 83968, + has name "resume.pdf"; +$ploup isa hash-value; +$ploup "1717b7fff97d37a1e1a0029d83492de1"; +$plip isa hash-value; +$plip "1717b7fff97d37a1e1a0aa29d83492de1"; +(hash-value: $ploup, hashes-owner: $file) isa hashes, has hash-algorithm "MD5"; +(hash-value: $plip, hashes-owner: $file) isa hashes, has hash-algorithm "SHA-1"; +$data1 isa observed-data, + has spec-version "2.1", + has stix-id "observed-data--cf8eaa41-6f4c-482e-89b9-9cd2d6a83cb1", + has created 2017-02-28T19:37:11.213, + has modified 2017-02-28T19:37:11.213, + has first-observed 2017-02-27T21:37:11.213, + has last-observed 2017-02-27T21:37:11.213, + has number-observed 1; +$key isa windows-registry-key, + has stix-id "windows-registry-key--16b80d14-d574-5620-abad-10ff304b1c26", + has spec-version "2.1", + has attribute-key "HKEY-LOCAL-MACHINE\\SYSTEM\\ControlSet001\\Services\\WSALG2"; +$data2 isa observed-data, + has spec-version "2.1", + has stix-id "observed-data--a0d34360-66ad-4977-b255-d9e1080421c4", + has created 2017-02-28T19:37:11.213, + has modified 2017-02-28T19:37:11.213, + has first-observed 2017-02-27T21:37:11.213, + has last-observed 2017-02-27T21:37:11.213, + has number-observed 1; +(creator: $oscorp, created: $data2) isa created-by; +(creator: $oscorp, created: $data1) isa created-by; +(creator: $pym, created: $malware) isa created-by; +(sighting-of: $malware, observed-data: $data1, observed-data: $data2) isa sighting, + has spec-version "2.1", + has stix-id "sighting--779c4ae8-e134-4180-baa4-03141095d971", + has created 2017-02-28T19:37:11.213, + has modified 2017-02-28T19:37:11.213, + has first-seen 2017-02-28T19:07:24.856, + has last-seen 2017-02-28T19:07:24.857, + has count 1; +(referencing: $data1, referenced: $file) isa external-references; +(referencing: $data2, referenced: $key) isa external-references; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/threat-actor-leveraging-attack-patterns-and-malware +# Threat Actor Leveraging Attack Patterns and Malware +insert +$bravo-ta isa threat-actor, + has spec-version "2.1", + has stix-id "threat-actor-bravo", + has created 2015-05-07T14:22:14.760, + has modified 2015-05-07T14:22:14.760, + has name "Adversary Bravo", + has description "Adversary Bravo is known to use phishing attacks to deliver remote access malware to the targets.", + has threat-actor-types "spy", + has threat-actor-types "criminal"; +$poison-ivy isa malware, + has spec-version "2.1", + has stix-id "malware--d1c612bc-146f-4b65-b7b0-9a54a14150a4", + has created 2015-04-23T11:12:34.760, + has modified 2015-04-23T11:12:34.760, + has name "Poison Ivy Variant d1c6", + has is-family false, + has malware-types "remote-access-trojan"; +$kill-chain-phase isa kill-chain-phase, + has kill-chain-name "mandiant-attack-lifecycle-model", + has kill-chain-phase-name "initial-compromise"; +(used: $poison-ivy, using: $kill-chain-phase) isa kill-chain-phases; +$phishing isa attack-pattern, + has spec-version "2.1", + has stix-id "attack-pattern--8ac90ff3-ecf8-4835-95b8-6aea6a623df5", + has created 2015-05-07T14:22:14.760, + has modified 2015-05-07T14:22:14.760, + has name "Phishing", + has description "Spear phishing used as a delivery mechanism for malware."; +(used: $phishing, using: $kill-chain-phase) isa kill-chain-phases; + +$bravo-id isa id-unknown, + has spec-version "2.1", + has stix-id "bravo-id-unknown", + has created 2015-05-10T16:27:17.760, + has modified 2015-05-10T16:27:17.760, + has name "Adversary Bravo", + has description "Adversary Bravo is a threat actor that utilizes phishing attacks."; +# (using: $bravo-ta, used: $poison-ivy) isa uses, +# has spec-version "2.1", +# has stix-id "relationship--d44019b6-b8f7-4cb3-837e-7fd3c5724b87", +# has created 2020-02-29T18:18:08.661, +# has modified 2020-02-29T18:18:08.661; +# (using: $bravo-ta, used: $phishing) isa uses, +# has spec-version "2.1", +# has stix-id "relationship--3cd2d6f9-0ded-486b-8dca-606283a8997f", +# has created 2020-02-29T18:18:08.661, +# has modified 2020-02-29T18:18:08.661; +# (attributing: $bravo-ta, attributed: $bravo-id) isa attributed-to, +# has spec-version "2.1", +# has stix-id "relationship--56e5f1c8-08f3-4e24-9e8e-f87d844672ec", +# has created 2020-02-29T18:18:08.661, +# has modified 2020-02-29T18:18:08.661; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/malware-indicator-for-file-hash +# Malware Indicator for File Hash +insert +$in isa indicator, has name "Malicious site hosting downloader", + has spec-version "2.1", + has description "File hash for Poison Ivy variant", + has created 2014-02-20T09:16:08.989, + has modified 2014-02-20T09:16:08.989, + has stix-id "indicator--a932fcc6-e032-476c-826f-cb970a5a1ade", + has pattern "[file:hashes.'SHA-256' = 'ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c']", + has pattern-type "stix", + has valid-from 2014-02-20T09:00:00, + has indicator-type "malicious-activity"; +$ma isa malware, has name "Poison Ivy", + has spec-version "2.1", + has stix-id "malware--fdd60b30-b67c-41aoeuaoeub9-f01faf20d111", + has created 2014-02-20T09:16:08.989, + has modified 2014-02-20T09:16:08.989, + has malware-types "backdoor", + has malware-types "remote-access-trojan", + has is-family false; + +(indicating: $in, indicated: $ma) isa indicates, + has spec-version "2.1", + has stix-id "relationship--29dcdf68-1b0c-4e16-94ed-bcconkh-347a9572f69", + has created 2020-02-29T18:09:12.808, + has modified 2020-02-29T18:09:12.808; + +# Example from: https://oasis-open.github.io/cti-documentation/examples/defining-campaign-ta-is +# Defining Campaigns vs. Threat Actors vs. Intrusion Sets +insert + +$bravo-at isa attack-pattern, + has spec-version "2.1", + has stix-id "attack-pattern-bravo", + has created 2015-05-10T16:27:16.760, + has modified 2015-05-10T16:27:16.760, + has name "Attack Pattern Bravo"; + +$bpp-ta isa threat-actor, + has spec-version "2.1", + has stix-id "threat-actor--56f3f0db-b5d5-431c-ae56-c18f02caf500", + has created 2016-08-08T15:50:10.983, + has modified 2016-08-08T15:50:10.983, + has name "Fake BPP (Branistan Peoples Party)", + has threat-actor-types "nation-state", + has roles "director", + has goals "Influence the election in Branistan", + has sophistication "strategic", + has resource-level "government", + has primary-motivation "ideology", + has secondary-motivations "dominance"; + +$id1 isa identity, + has spec-version "2.1", + has stix-id "identity--8c6af861-7b20-41ef-9b59-6344fd872a8f", + has created 2016-08-08T15:50:10.983, + has modified 2016-08-08T15:50:10.983, + has name "Franistan Intelligence", + has identity-class "organization"; + +$id2 isa identity, + has spec-version "2.1", + has stix-id "identity--ddfe7140-2ba4-48e4-b19a-df069432103b", + has created 2016-08-08T15:50:10.983, + has modified 2016-08-08T15:50:10.983, + has name "Branistan Peoples Party", + has identity-class "organization"; + +$er1 isa external-reference, + has source-name "website", + has url-link "http://www.bpp.bn"; + +(referencing: $id2, referenced: $er1) isa external-references; + +$at1 isa attack-pattern, + has spec-version "2.1", + has stix-id "attack-pattern--19da6e1c-71ab-4c2f-886d-d620d09d3b5a", + has created 2016-08-08T15:50:10.983, + has modified 2017-01-30T21:15:04.127, + has name "Content Spoofing"; + +$er2 isa external-reference, + has source-name "capec", + has url-link "https://capec.mitre.org/data/definitions/148.html", + has external-id "CAPEC-148"; + +(referencing: $at1, referenced: $er2) isa external-references; + +$at2 isa attack-pattern, + has spec-version "2.1", + has stix-id "attack-pattern--f6050ea6-a9a3-4524-93ed-c27858d6cb3c", + has created 2016-08-08T15:50:10.983, + has modified 2017-01-30T21:15:04.127, + has name "HTTP Flood"; + +$er3 isa external-reference, + has source-name "capec", + has url-link "https://capec.mitre.org/data/definitions/488.html", + has external-id "CAPEC-488"; + +(referencing: $at2, referenced: $er3) isa external-references; + +$ca1 isa campaign, + has spec-version "2.1", + has stix-id "campaign--e5268b6e-4931-42f1-b379-87f48eb41b1e", + has created 2016-08-08T15:50:10.983, + has modified 2016-08-08T15:50:10.983, + has name "Operation Bran Flakes", + has description "A concerted effort to insert false information into the BPP's web pages.", + has aliases "OBF", + has first-seen 2016-01-08T12:50:40.123, + has objective "Hack www.bpp.bn"; + +$ca2 isa campaign, + has spec-version "2.1", + has stix-id "campaign--1d8897a7-fdc2-4e59-afc9-becbe04df727", + has created 2016-08-08T15:50:10.983, + has modified 2016-08-08T15:50:10.983, + has name "Operation Raisin Bran", + has description "A DDOS campaign to flood BPP web servers.", + has aliases "ORB", + has first-seen 2016-02-07T19:45:32.126, + has objective "Flood www.bpp.bn"; + +$is1 isa intrusion-set, + has spec-version "2.1", + has stix-id "intrusion-set--ed69450a-f067-4b51-9ba2-c4616b9a6713", + has created 2016-08-08T15:50:10.983, + has modified 2016-08-08T15:50:10.983, + has name "APT BPP", + has description "An advanced persistent threat that seeks to disrupt Branistan's election with multiple attacks.", + has aliases "Bran-teaser", + has first-seen 2016-01-08T12:50:40.123, + has goals "Influence the Branistan election", + has goals "Disrupt the BPP", + has sophistication "strategic", + has resource-level "government", + has primary-motivation "ideology", + has secondary-motivations "dominance"; + +$ato1 (attributing: $ca1, attributed: $bpp-ta) isa attributed-to; +$ato1 has spec-version "2.1", + has stix-id "relationship--98765000-efdf-4a86-8681-36481ceae57f", + has created 2020-02-29T17:41:44.938, + has modified 2020-02-29T17:41:44.938; + +$ato2 (attributing: $ca2, attributed: $bpp-ta) isa attributed-to; +$ato2 has spec-version "2.1", + has stix-id "relationship--53a55c73-f2c8-47b9-8e50-ae34d8c5da4d", + has created 2020-02-29T17:41:44.938, + has modified 2020-02-29T17:41:44.938; + +$ato3 (attributing: $ca1, attributed: $is1) isa attributed-to; +$ato3 has spec-version "2.1", + has stix-id "relationship--5047c2c0-524b-4afd-9cd6-e197efe59495", + has created 2020-02-29T17:41:44.939, + has modified 2020-02-29T17:41:44.939; + +$ato4 (attributing: $ca2, attributed: $is1) isa attributed-to; +$ato4 has spec-version "2.1", + has stix-id "relationship--9cc131ca-b64d-4ab1-a300-5e4a0073280a", + has created 2020-02-29T17:41:44.939, + has modified 2020-02-29T17:41:44.939; + +$ato5 (attributing: $is1, attributed: $bpp-ta) isa attributed-to; +$ato5 has spec-version "2.1", + has stix-id "relationship--c171fd27-2a8a-42b7-8293-34016b70c1c8", + has created 2020-02-29T17:41:44.939, + has modified 2020-02-29T17:41:44.939; + +$ato6 (targeting: $is1, targeted: $id2) isa targets; +$ato6 has spec-version "2.1", + has stix-id "relationship--554e3341-d7b1-4b3c-a522-28ef52fbb49b", + has created 2020-02-29T17:41:44.939, + has modified 2020-02-29T17:41:44.939; + +$ato7 (using: $is1, used: $at1) isa uses; +$ato7 has spec-version "2.1", + has stix-id "relationship--06964095-5750-41fe-a9af-6c6a9d995489", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato8 (using: $is1, used: $at2) isa uses; +$ato8 has spec-version "2.1", + has stix-id "relationship--4fe5dab1-fd6d-41aa-b8b1-d3118a708284", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato9 (targeting: $ca1, targeted: $id2) isa targets; +$ato9 has spec-version "2.1", + has stix-id "relationship--d8b7932d-0ecb-4891-b021-c78ff2b63747", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato10 (targeting: $ca2, targeted: $id2) isa targets; +$ato10 has spec-version "2.1", + has stix-id "relationship--96cfbc6f-5c08-4372-b811-b90fbb2ec180", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato11 (using: $ca1, used: $at1) isa uses; +$ato11 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0a", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato12 (using: $ca2, used: $at2) isa uses; +$ato12 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0b", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato13 (impersonating: $bpp-ta, impersonated: $id2) isa impersonates; +$ato13 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0c", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato14 (targeting: $bpp-ta, targeted: $id2) isa targets; +$ato14 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0d", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato15 (attributing: $bpp-ta, attributed: $id1) isa attributed-to; +$ato15 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0e", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato16 (targeting: $ca2, targeted: $id1) isa targets; +$ato16 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0f", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato17 (using: $bpp-ta, used: $at1) isa uses; +$ato17 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b10", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; + +$ato18 (using: $bpp-ta, used: $at2) isa uses; +$ato18 has spec-version "2.1", + has stix-id "relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b11", + has created 2020-02-29T17:41:44.940, + has modified 2020-02-29T17:41:44.940; diff --git a/src/test/resources/parsing/correct_inserts/ParsingTestData.txt b/src/test/resources/parsing/correct_inserts/ParsingTestData.txt new file mode 100644 index 0000000..43bd5c0 --- /dev/null +++ b/src/test/resources/parsing/correct_inserts/ParsingTestData.txt @@ -0,0 +1,5866 @@ +TypeQL file(0,21496) + PsiComment(COMMENT)('# These examples below demonstrate how to use STIX 2.1 concepts for common use cases.\n')(0,86) + PsiComment(COMMENT)('# They are useful for linking multiple concepts together and provide more detail regarding STIX objects and properties.\n')(86,206) + PsiComment(COMMENT)('# Source:\n')(206,216) + PsiComment(COMMENT)('# https://oasiss-open.github.io/cti-documentation/stix/examples.html\n')(216,285) + PsiWhiteSpace('\n\n')(285,287) + PsiComment(COMMENT)('# Clean old data:\n')(287,305) + PsiWhiteSpace('\n')(305,306) + PsiTypeQLElement(eof_queries) - Location: (306,21496)(306,21496) + PsiTypeQLElement(query) - Location: (306,347)(306,347) + PsiTypeQLElement(query_delete) - Location: (306,347)(306,347) + PsiTypeQLElement(clause_match) - Location: (306,325)(306,325) + PsiElement('match')('match')(306,311) + PsiWhiteSpace(' ')(311,312) + PsiTypeQLElement(patterns) - Location: (312,325)(312,325) + PsiTypeQLElement(pattern) - Location: (312,324)(312,324) + PsiTypeQLElement(statement) - Location: (312,324)(312,324) + PsiTypeQLElement(statement_thing_any) - Location: (312,324)(312,324) + PsiTypeQLElement(statement_thing) - Location: (312,324)(312,324) + PsiElement(VAR_CONCEPT_)('$t')(312,314) + PsiWhiteSpace(' ')(314,315) + PsiElement(ISA_)('isa')(315,318) + PsiWhiteSpace(' ')(318,319) + PsiTypeQLElement(type) - Location: (319,324)(319,324) + PsiTypeQLElement(label) - Location: (319,324)(319,324) + PsiTypeQLElement(type_native) - Location: (319,324)(319,324) + PsiElement('thing')('thing')(319,324) + PsiElement(';')(';')(324,325) + PsiWhiteSpace(' ')(325,326) + PsiTypeQLElement(clause_delete) - Location: (326,346)(326,346) + PsiElement('delete')('delete')(326,332) + PsiWhiteSpace(' ')(332,333) + PsiTypeQLElement(statement_things) - Location: (333,346)(333,346) + PsiTypeQLElement(statement_thing_any) - Location: (333,345)(333,345) + PsiTypeQLElement(statement_thing) - Location: (333,345)(333,345) + PsiElement(VAR_CONCEPT_)('$t')(333,335) + PsiWhiteSpace(' ')(335,336) + PsiElement(ISA_)('isa')(336,339) + PsiWhiteSpace(' ')(339,340) + PsiTypeQLElement(type) - Location: (340,345)(340,345) + PsiTypeQLElement(label) - Location: (340,345)(340,345) + PsiTypeQLElement(type_native) - Location: (340,345)(340,345) + PsiElement('thing')('thing')(340,345) + PsiElement(';')(';')(345,346) + PsiWhiteSpace('\n')(346,347) + PsiTypeQLElement(modifiers) - Location: (347,347)(347,347) + + PsiTypeQLElement(query) - Location: (347,553)(347,553) + PsiTypeQLElement(query_insert) - Location: (347,553)(347,553) + PsiTypeQLElement(clause_match) - Location: (347,373)(347,373) + PsiElement('match')('match')(347,352) + PsiWhiteSpace(' ')(352,353) + PsiTypeQLElement(patterns) - Location: (353,373)(353,373) + PsiTypeQLElement(pattern) - Location: (353,372)(353,372) + PsiTypeQLElement(statement) - Location: (353,372)(353,372) + PsiTypeQLElement(statement_thing_any) - Location: (353,372)(353,372) + PsiTypeQLElement(statement_thing) - Location: (353,372)(353,372) + PsiElement(VAR_CONCEPT_)('$t')(353,355) + PsiWhiteSpace(' ')(355,356) + PsiElement(ISA_)('isa')(356,359) + PsiWhiteSpace(' ')(359,360) + PsiTypeQLElement(type) - Location: (360,372)(360,372) + PsiTypeQLElement(label) - Location: (360,372)(360,372) + PsiElement(LABEL_)('threat-actor')(360,372) + PsiElement(';')(';')(372,373) + PsiWhiteSpace(' ')(373,374) + PsiTypeQLElement(clause_insert) - Location: (374,406)(374,406) + PsiElement('insert')('insert')(374,380) + PsiWhiteSpace(' ')(380,381) + PsiTypeQLElement(statement_things) - Location: (381,406)(381,406) + PsiTypeQLElement(statement_thing_any) - Location: (381,405)(381,405) + PsiTypeQLElement(statement_thing) - Location: (381,405)(381,405) + PsiElement(VAR_CONCEPT_)('$t')(381,383) + PsiWhiteSpace(' ')(383,384) + PsiTypeQLElement(attributes) - Location: (384,405)(384,405) + PsiTypeQLElement(attribute) - Location: (384,405)(384,405) + PsiElement('has')('has')(384,387) + PsiWhiteSpace(' ')(387,388) + PsiTypeQLElement(label) - Location: (388,397)(388,397) + PsiElement(LABEL_)('full-name')(388,397) + PsiWhiteSpace(' ')(397,398) + PsiTypeQLElement(predicate) - Location: (398,405)(398,405) + PsiTypeQLElement(value) - Location: (398,405)(398,405) + PsiElement(QUOTED_STRING)('"Bravo"')(398,405) + PsiElement(';')(';')(405,406) + PsiWhiteSpace('\n\n\n')(406,409) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/identifying-a-threat-actor-profile\n')(409,516) + PsiComment(COMMENT)('# Identifying a Threat Actor Profile\n')(516,553) + PsiTypeQLElement(modifiers) - Location: (553,553)(553,553) + + PsiTypeQLElement(query) - Location: (553,2007)(553,2007) + PsiTypeQLElement(query_insert) - Location: (553,2007)(553,2007) + PsiTypeQLElement(clause_insert) - Location: (553,1873)(553,1873) + PsiElement('insert')('insert')(553,559) + PsiWhiteSpace('\n')(559,560) + PsiTypeQLElement(statement_things) - Location: (560,1873)(560,1873) + PsiTypeQLElement(statement_thing_any) - Location: (560,1274)(560,1274) + PsiTypeQLElement(statement_thing) - Location: (560,1274)(560,1274) + PsiElement(VAR_CONCEPT_)('$ta')(560,563) + PsiWhiteSpace(' ')(563,564) + PsiElement(ISA_)('isa')(564,567) + PsiWhiteSpace(' ')(567,568) + PsiTypeQLElement(type) - Location: (568,580)(568,580) + PsiTypeQLElement(label) - Location: (568,580)(568,580) + PsiElement(LABEL_)('threat-actor')(568,580) + PsiElement(',')(',')(580,581) + PsiWhiteSpace(' ')(581,582) + PsiTypeQLElement(attributes) - Location: (582,1274)(582,1274) + PsiTypeQLElement(attribute) - Location: (582,622)(582,622) + PsiElement('has')('has')(582,585) + PsiWhiteSpace(' ')(585,586) + PsiTypeQLElement(label) - Location: (586,590)(586,590) + PsiElement(LABEL_)('name')(586,590) + PsiWhiteSpace(' ')(590,591) + PsiTypeQLElement(predicate) - Location: (591,622)(591,622) + PsiTypeQLElement(value) - Location: (591,622)(591,622) + PsiElement(QUOTED_STRING)('"Disco Team Threat Actor Group"')(591,622) + PsiElement(',')(',')(622,623) + PsiWhiteSpace('\n ')(623,628) + PsiTypeQLElement(attribute) - Location: (628,650)(628,650) + PsiElement('has')('has')(628,631) + PsiWhiteSpace(' ')(631,632) + PsiTypeQLElement(label) - Location: (632,644)(632,644) + PsiElement(LABEL_)('spec-version')(632,644) + PsiWhiteSpace(' ')(644,645) + PsiTypeQLElement(predicate) - Location: (645,650)(645,650) + PsiTypeQLElement(value) - Location: (645,650)(645,650) + PsiElement(QUOTED_STRING)('"2.1"')(645,650) + PsiElement(',')(',')(650,651) + PsiWhiteSpace('\n ')(651,656) + PsiTypeQLElement(attribute) - Location: (656,720)(656,720) + PsiElement('has')('has')(656,659) + PsiWhiteSpace(' ')(659,660) + PsiTypeQLElement(label) - Location: (660,667)(660,667) + PsiElement(LABEL_)('stix-id')(660,667) + PsiWhiteSpace(' ')(667,668) + PsiTypeQLElement(predicate) - Location: (668,720)(668,720) + PsiTypeQLElement(value) - Location: (668,720)(668,720) + PsiElement(QUOTED_STRING)('"threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428"')(668,720) + PsiElement(',')(',')(720,721) + PsiWhiteSpace('\n ')(721,726) + PsiTypeQLElement(attribute) - Location: (726,761)(726,761) + PsiElement('has')('has')(726,729) + PsiWhiteSpace(' ')(729,730) + PsiTypeQLElement(label) - Location: (730,737)(730,737) + PsiElement(LABEL_)('created')(730,737) + PsiWhiteSpace(' ')(737,738) + PsiTypeQLElement(predicate) - Location: (738,761)(738,761) + PsiTypeQLElement(value) - Location: (738,761)(738,761) + PsiElement(DATETIME_)('2014-11-19T23:39:03.893')(738,761) + PsiElement(',')(',')(761,762) + PsiWhiteSpace('\n ')(762,767) + PsiTypeQLElement(attribute) - Location: (767,803)(767,803) + PsiElement('has')('has')(767,770) + PsiWhiteSpace(' ')(770,771) + PsiTypeQLElement(label) - Location: (771,779)(771,779) + PsiElement(LABEL_)('modified')(771,779) + PsiWhiteSpace(' ')(779,780) + PsiTypeQLElement(predicate) - Location: (780,803)(780,803) + PsiTypeQLElement(value) - Location: (780,803)(780,803) + PsiElement(DATETIME_)('2014-11-19T23:39:03.893')(780,803) + PsiElement(',')(',')(803,804) + PsiWhiteSpace('\n ')(804,809) + PsiTypeQLElement(attribute) - Location: (809,850)(809,850) + PsiElement('has')('has')(809,812) + PsiWhiteSpace(' ')(812,813) + PsiTypeQLElement(label) - Location: (813,820)(813,820) + PsiElement(LABEL_)('aliases')(813,820) + PsiWhiteSpace(' ')(820,821) + PsiTypeQLElement(predicate) - Location: (821,850)(821,850) + PsiTypeQLElement(value) - Location: (821,850)(821,850) + PsiElement(QUOTED_STRING)('"disco-team@stealthemail.com"')(821,850) + PsiElement(',')(',')(850,851) + PsiWhiteSpace('\n ')(851,856) + PsiTypeQLElement(attribute) - Location: (856,890)(856,890) + PsiElement('has')('has')(856,859) + PsiWhiteSpace(' ')(859,860) + PsiTypeQLElement(label) - Location: (860,867)(860,867) + PsiElement(LABEL_)('aliases')(860,867) + PsiWhiteSpace(' ')(867,868) + PsiTypeQLElement(predicate) - Location: (868,890)(868,890) + PsiTypeQLElement(value) - Location: (868,890)(868,890) + PsiElement(QUOTED_STRING)('"Equipo del Discoteca"')(868,890) + PsiElement(',')(',')(890,891) + PsiWhiteSpace('\n ')(891,896) + PsiTypeQLElement(attribute) - Location: (896,998)(896,998) + PsiElement('has')('has')(896,899) + PsiWhiteSpace(' ')(899,900) + PsiTypeQLElement(label) - Location: (900,911)(900,911) + PsiElement(LABEL_)('description')(900,911) + PsiWhiteSpace(' ')(911,912) + PsiTypeQLElement(predicate) - Location: (912,998)(912,998) + PsiTypeQLElement(value) - Location: (912,998)(912,998) + PsiElement(QUOTED_STRING)('"This organized threat actor group operates to create profit from all types of crime."')(912,998) + PsiElement(',')(',')(998,999) + PsiWhiteSpace('\n ')(999,1004) + PsiTypeQLElement(attribute) - Location: (1004,1038)(1004,1038) + PsiElement('has')('has')(1004,1007) + PsiWhiteSpace(' ')(1007,1008) + PsiTypeQLElement(label) - Location: (1008,1015)(1008,1015) + PsiElement(LABEL_)('aliases')(1008,1015) + PsiWhiteSpace(' ')(1015,1016) + PsiTypeQLElement(predicate) - Location: (1016,1038)(1016,1038) + PsiTypeQLElement(value) - Location: (1016,1038)(1016,1038) + PsiElement(QUOTED_STRING)('"Equipo del Discoteca"')(1016,1038) + PsiElement(',')(',')(1038,1039) + PsiWhiteSpace('\n ')(1039,1044) + PsiTypeQLElement(attribute) - Location: (1044,1065)(1044,1065) + PsiElement('has')('has')(1044,1047) + PsiWhiteSpace(' ')(1047,1048) + PsiTypeQLElement(label) - Location: (1048,1057)(1048,1057) + PsiElement(LABEL_)('stix-role')(1048,1057) + PsiWhiteSpace(' ')(1057,1058) + PsiTypeQLElement(predicate) - Location: (1058,1065)(1058,1065) + PsiTypeQLElement(value) - Location: (1058,1065)(1058,1065) + PsiElement(QUOTED_STRING)('"agent"')(1058,1065) + PsiElement(',')(',')(1065,1066) + PsiWhiteSpace('\n ')(1066,1071) + PsiTypeQLElement(attribute) - Location: (1071,1112)(1071,1112) + PsiElement('has')('has')(1071,1074) + PsiWhiteSpace(' ')(1074,1075) + PsiTypeQLElement(label) - Location: (1075,1080)(1075,1080) + PsiElement(LABEL_)('goals')(1075,1080) + PsiWhiteSpace(' ')(1080,1081) + PsiTypeQLElement(predicate) - Location: (1081,1112)(1081,1112) + PsiTypeQLElement(value) - Location: (1081,1112)(1081,1112) + PsiElement(QUOTED_STRING)('"Steal Credit Card Information"')(1081,1112) + PsiElement(',')(',')(1112,1113) + PsiWhiteSpace('\n ')(1113,1118) + PsiTypeQLElement(attribute) - Location: (1118,1145)(1118,1145) + PsiElement('has')('has')(1118,1121) + PsiWhiteSpace(' ')(1121,1122) + PsiTypeQLElement(label) - Location: (1122,1136)(1122,1136) + PsiElement(LABEL_)('sophistication')(1122,1136) + PsiWhiteSpace(' ')(1136,1137) + PsiTypeQLElement(predicate) - Location: (1137,1145)(1137,1145) + PsiTypeQLElement(value) - Location: (1137,1145)(1137,1145) + PsiElement(QUOTED_STRING)('"expert"')(1137,1145) + PsiElement(',')(',')(1145,1146) + PsiWhiteSpace('\n ')(1146,1151) + PsiTypeQLElement(attribute) - Location: (1151,1184)(1151,1184) + PsiElement('has')('has')(1151,1154) + PsiWhiteSpace(' ')(1154,1155) + PsiTypeQLElement(label) - Location: (1155,1169)(1155,1169) + PsiElement(LABEL_)('resource-level')(1155,1169) + PsiWhiteSpace(' ')(1169,1170) + PsiTypeQLElement(predicate) - Location: (1170,1184)(1170,1184) + PsiTypeQLElement(value) - Location: (1170,1184)(1170,1184) + PsiElement(QUOTED_STRING)('"organization"')(1170,1184) + PsiElement(',')(',')(1184,1185) + PsiWhiteSpace('\n ')(1185,1190) + PsiTypeQLElement(attribute) - Location: (1190,1230)(1190,1230) + PsiElement('has')('has')(1190,1193) + PsiWhiteSpace(' ')(1193,1194) + PsiTypeQLElement(label) - Location: (1194,1212)(1194,1212) + PsiElement(LABEL_)('threat-actor-types')(1194,1212) + PsiWhiteSpace(' ')(1212,1213) + PsiTypeQLElement(predicate) - Location: (1213,1230)(1213,1230) + PsiTypeQLElement(value) - Location: (1213,1230)(1213,1230) + PsiElement(QUOTED_STRING)('"crime syndicate"')(1213,1230) + PsiElement(',')(',')(1230,1231) + PsiWhiteSpace('\n ')(1231,1236) + PsiTypeQLElement(attribute) - Location: (1236,1274)(1236,1274) + PsiElement('has')('has')(1236,1239) + PsiWhiteSpace(' ')(1239,1240) + PsiTypeQLElement(label) - Location: (1240,1258)(1240,1258) + PsiElement(LABEL_)('primary-motivation')(1240,1258) + PsiWhiteSpace(' ')(1258,1259) + PsiTypeQLElement(predicate) - Location: (1259,1274)(1259,1274) + PsiTypeQLElement(value) - Location: (1259,1274)(1259,1274) + PsiElement(QUOTED_STRING)('"personal-gain"')(1259,1274) + PsiElement(';')(';')(1274,1275) + PsiWhiteSpace('\n')(1275,1276) + PsiTypeQLElement(statement_thing_any) - Location: (1276,1639)(1276,1639) + PsiTypeQLElement(statement_thing) - Location: (1276,1639)(1276,1639) + PsiElement(VAR_CONCEPT_)('$id')(1276,1279) + PsiWhiteSpace(' ')(1279,1280) + PsiElement(ISA_)('isa')(1280,1283) + PsiWhiteSpace(' ')(1283,1284) + PsiTypeQLElement(type) - Location: (1284,1296)(1284,1296) + PsiTypeQLElement(label) - Location: (1284,1296)(1284,1296) + PsiElement(LABEL_)('organization')(1284,1296) + PsiElement(',')(',')(1296,1297) + PsiWhiteSpace(' ')(1297,1298) + PsiTypeQLElement(attributes) - Location: (1298,1639)(1298,1639) + PsiTypeQLElement(attribute) - Location: (1298,1319)(1298,1319) + PsiElement('has')('has')(1298,1301) + PsiWhiteSpace(' ')(1301,1302) + PsiTypeQLElement(label) - Location: (1302,1306)(1302,1306) + PsiElement(LABEL_)('name')(1302,1306) + PsiWhiteSpace(' ')(1306,1307) + PsiTypeQLElement(predicate) - Location: (1307,1319)(1307,1319) + PsiTypeQLElement(value) - Location: (1307,1319)(1307,1319) + PsiElement(QUOTED_STRING)('"Disco Team"')(1307,1319) + PsiElement(',')(',')(1319,1320) + PsiWhiteSpace(' ')(1320,1321) + PsiTypeQLElement(attribute) - Location: (1321,1343)(1321,1343) + PsiElement('has')('has')(1321,1324) + PsiWhiteSpace(' ')(1324,1325) + PsiTypeQLElement(label) - Location: (1325,1337)(1325,1337) + PsiElement(LABEL_)('spec-version')(1325,1337) + PsiWhiteSpace(' ')(1337,1338) + PsiTypeQLElement(predicate) - Location: (1338,1343)(1338,1343) + PsiTypeQLElement(value) - Location: (1338,1343)(1338,1343) + PsiElement(QUOTED_STRING)('"2.1"')(1338,1343) + PsiElement(',')(',')(1343,1344) + PsiWhiteSpace('\n ')(1344,1349) + PsiTypeQLElement(attribute) - Location: (1349,1409)(1349,1409) + PsiElement('has')('has')(1349,1352) + PsiWhiteSpace(' ')(1352,1353) + PsiTypeQLElement(label) - Location: (1353,1360)(1353,1360) + PsiElement(LABEL_)('stix-id')(1353,1360) + PsiWhiteSpace(' ')(1360,1361) + PsiTypeQLElement(predicate) - Location: (1361,1409)(1361,1409) + PsiTypeQLElement(value) - Location: (1361,1409)(1361,1409) + PsiElement(QUOTED_STRING)('"identity--733c5838-34d9-4fbf-949c-62aba761184c"')(1361,1409) + PsiElement(',')(',')(1409,1410) + PsiWhiteSpace('\n ')(1410,1415) + PsiTypeQLElement(attribute) - Location: (1415,1450)(1415,1450) + PsiElement('has')('has')(1415,1418) + PsiWhiteSpace(' ')(1418,1419) + PsiTypeQLElement(label) - Location: (1419,1426)(1419,1426) + PsiElement(LABEL_)('created')(1419,1426) + PsiWhiteSpace(' ')(1426,1427) + PsiTypeQLElement(predicate) - Location: (1427,1450)(1427,1450) + PsiTypeQLElement(value) - Location: (1427,1450)(1427,1450) + PsiElement(DATETIME_)('2016-08-23T18:05:49.307')(1427,1450) + PsiElement(',')(',')(1450,1451) + PsiWhiteSpace(' ')(1451,1452) + PsiTypeQLElement(attribute) - Location: (1452,1488)(1452,1488) + PsiElement('has')('has')(1452,1455) + PsiWhiteSpace(' ')(1455,1456) + PsiTypeQLElement(label) - Location: (1456,1464)(1456,1464) + PsiElement(LABEL_)('modified')(1456,1464) + PsiWhiteSpace(' ')(1464,1465) + PsiTypeQLElement(predicate) - Location: (1465,1488)(1465,1488) + PsiTypeQLElement(value) - Location: (1465,1488)(1465,1488) + PsiElement(DATETIME_)('2016-08-23T18:05:49.307')(1465,1488) + PsiElement(',')(',')(1488,1489) + PsiWhiteSpace('\n ')(1489,1494) + PsiTypeQLElement(attribute) - Location: (1494,1580)(1494,1580) + PsiElement('has')('has')(1494,1497) + PsiWhiteSpace(' ')(1497,1498) + PsiTypeQLElement(label) - Location: (1498,1509)(1498,1509) + PsiElement(LABEL_)('description')(1498,1509) + PsiWhiteSpace(' ')(1509,1510) + PsiTypeQLElement(predicate) - Location: (1510,1580)(1510,1580) + PsiTypeQLElement(value) - Location: (1510,1580)(1510,1580) + PsiElement(QUOTED_STRING)('"Disco Team is the name of an organized threat actor crime-syndicate."')(1510,1580) + PsiElement(',')(',')(1580,1581) + PsiWhiteSpace('\n ')(1581,1586) + PsiTypeQLElement(attribute) - Location: (1586,1639)(1586,1639) + PsiElement('has')('has')(1586,1589) + PsiWhiteSpace(' ')(1589,1590) + PsiTypeQLElement(label) - Location: (1590,1609)(1590,1609) + PsiElement(LABEL_)('contact-information')(1590,1609) + PsiWhiteSpace(' ')(1609,1610) + PsiTypeQLElement(predicate) - Location: (1610,1639)(1610,1639) + PsiTypeQLElement(value) - Location: (1610,1639)(1610,1639) + PsiElement(QUOTED_STRING)('"disco-team@stealthemail.com"')(1610,1639) + PsiElement(';')(';')(1639,1640) + PsiWhiteSpace('\n\n')(1640,1642) + PsiTypeQLElement(statement_thing_any) - Location: (1642,1872)(1642,1872) + PsiTypeQLElement(statement_relation) - Location: (1642,1872)(1642,1872) + PsiTypeQLElement(relation) - Location: (1642,1677)(1642,1677) + PsiElement('(')('(')(1642,1643) + PsiTypeQLElement(role_player) - Location: (1643,1659)(1643,1659) + PsiTypeQLElement(type) - Location: (1643,1654)(1643,1654) + PsiTypeQLElement(label) - Location: (1643,1654)(1643,1654) + PsiElement(LABEL_)('attributing')(1643,1654) + PsiElement(':')(':')(1654,1655) + PsiWhiteSpace(' ')(1655,1656) + PsiTypeQLElement(player) - Location: (1656,1659)(1656,1659) + PsiElement(VAR_CONCEPT_)('$ta')(1656,1659) + PsiElement(',')(',')(1659,1660) + PsiWhiteSpace(' ')(1660,1661) + PsiTypeQLElement(role_player) - Location: (1661,1676)(1661,1676) + PsiTypeQLElement(type) - Location: (1661,1671)(1661,1671) + PsiTypeQLElement(label) - Location: (1661,1671)(1661,1671) + PsiElement(LABEL_)('attributed')(1661,1671) + PsiElement(':')(':')(1671,1672) + PsiWhiteSpace(' ')(1672,1673) + PsiTypeQLElement(player) - Location: (1673,1676)(1673,1676) + PsiElement(VAR_CONCEPT_)('$id')(1673,1676) + PsiElement(')')(')')(1676,1677) + PsiWhiteSpace(' ')(1677,1678) + PsiElement(ISA_)('isa')(1678,1681) + PsiWhiteSpace(' ')(1681,1682) + PsiTypeQLElement(type) - Location: (1682,1695)(1682,1695) + PsiTypeQLElement(label) - Location: (1682,1695)(1682,1695) + PsiElement(LABEL_)('attributed-to')(1682,1695) + PsiElement(',')(',')(1695,1696) + PsiWhiteSpace(' ')(1696,1697) + PsiTypeQLElement(attributes) - Location: (1697,1872)(1697,1872) + PsiTypeQLElement(attribute) - Location: (1697,1719)(1697,1719) + PsiElement('has')('has')(1697,1700) + PsiWhiteSpace(' ')(1700,1701) + PsiTypeQLElement(label) - Location: (1701,1713)(1701,1713) + PsiElement(LABEL_)('spec-version')(1701,1713) + PsiWhiteSpace(' ')(1713,1714) + PsiTypeQLElement(predicate) - Location: (1714,1719)(1714,1719) + PsiTypeQLElement(value) - Location: (1714,1719)(1714,1719) + PsiElement(QUOTED_STRING)('"2.1"')(1714,1719) + PsiElement(',')(',')(1719,1720) + PsiWhiteSpace('\n ')(1720,1725) + PsiTypeQLElement(attribute) - Location: (1725,1789)(1725,1789) + PsiElement('has')('has')(1725,1728) + PsiWhiteSpace(' ')(1728,1729) + PsiTypeQLElement(label) - Location: (1729,1736)(1729,1736) + PsiElement(LABEL_)('stix-id')(1729,1736) + PsiWhiteSpace(' ')(1736,1737) + PsiTypeQLElement(predicate) - Location: (1737,1789)(1737,1789) + PsiTypeQLElement(value) - Location: (1737,1789)(1737,1789) + PsiElement(QUOTED_STRING)('"relationship--a2e3efb5-351d-4d46-97a0-6897ee7c77a0"')(1737,1789) + PsiElement(',')(',')(1789,1790) + PsiWhiteSpace('\n ')(1790,1795) + PsiTypeQLElement(attribute) - Location: (1795,1830)(1795,1830) + PsiElement('has')('has')(1795,1798) + PsiWhiteSpace(' ')(1798,1799) + PsiTypeQLElement(label) - Location: (1799,1806)(1799,1806) + PsiElement(LABEL_)('created')(1799,1806) + PsiWhiteSpace(' ')(1806,1807) + PsiTypeQLElement(predicate) - Location: (1807,1830)(1807,1830) + PsiTypeQLElement(value) - Location: (1807,1830)(1807,1830) + PsiElement(DATETIME_)('2020-02-29T18:01:28.577')(1807,1830) + PsiElement(',')(',')(1830,1831) + PsiWhiteSpace('\n ')(1831,1836) + PsiTypeQLElement(attribute) - Location: (1836,1872)(1836,1872) + PsiElement('has')('has')(1836,1839) + PsiWhiteSpace(' ')(1839,1840) + PsiTypeQLElement(label) - Location: (1840,1848)(1840,1848) + PsiElement(LABEL_)('modified')(1840,1848) + PsiWhiteSpace(' ')(1848,1849) + PsiTypeQLElement(predicate) - Location: (1849,1872)(1849,1872) + PsiTypeQLElement(value) - Location: (1849,1872)(1849,1872) + PsiElement(DATETIME_)('2020-02-29T18:01:28.577')(1849,1872) + PsiElement(';')(';')(1872,1873) + PsiWhiteSpace('\n\n')(1873,1875) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/indicator-for-malicious-url\n')(1875,1975) + PsiComment(COMMENT)('# Identicator for malicious URL\n')(1975,2007) + PsiTypeQLElement(modifiers) - Location: (2007,2007)(2007,2007) + + PsiTypeQLElement(query) - Location: (2007,3566)(2007,3566) + PsiTypeQLElement(query_insert) - Location: (2007,3566)(2007,3566) + PsiTypeQLElement(clause_insert) - Location: (2007,3426)(2007,3426) + PsiElement('insert')('insert')(2007,2013) + PsiWhiteSpace('\n')(2013,2014) + PsiTypeQLElement(statement_things) - Location: (2014,3426)(2014,3426) + PsiTypeQLElement(statement_thing_any) - Location: (2014,2540)(2014,2540) + PsiTypeQLElement(statement_thing) - Location: (2014,2540)(2014,2540) + PsiElement(VAR_CONCEPT_)('$in')(2014,2017) + PsiWhiteSpace(' ')(2017,2018) + PsiElement(ISA_)('isa')(2018,2021) + PsiWhiteSpace(' ')(2021,2022) + PsiTypeQLElement(type) - Location: (2022,2031)(2022,2031) + PsiTypeQLElement(label) - Location: (2022,2031)(2022,2031) + PsiElement(LABEL_)('indicator')(2022,2031) + PsiElement(',')(',')(2031,2032) + PsiWhiteSpace(' ')(2032,2033) + PsiTypeQLElement(attributes) - Location: (2033,2540)(2033,2540) + PsiTypeQLElement(attribute) - Location: (2033,2077)(2033,2077) + PsiElement('has')('has')(2033,2036) + PsiWhiteSpace(' ')(2036,2037) + PsiTypeQLElement(label) - Location: (2037,2041)(2037,2041) + PsiElement(LABEL_)('name')(2037,2041) + PsiWhiteSpace(' ')(2041,2042) + PsiTypeQLElement(predicate) - Location: (2042,2077)(2042,2077) + PsiTypeQLElement(value) - Location: (2042,2077)(2042,2077) + PsiElement(QUOTED_STRING)('"Malicious site hosting downloader"')(2042,2077) + PsiElement(',')(',')(2077,2078) + PsiWhiteSpace('\n ')(2078,2083) + PsiTypeQLElement(attribute) - Location: (2083,2105)(2083,2105) + PsiElement('has')('has')(2083,2086) + PsiWhiteSpace(' ')(2086,2087) + PsiTypeQLElement(label) - Location: (2087,2099)(2087,2099) + PsiElement(LABEL_)('spec-version')(2087,2099) + PsiWhiteSpace(' ')(2099,2100) + PsiTypeQLElement(predicate) - Location: (2100,2105)(2100,2105) + PsiTypeQLElement(value) - Location: (2100,2105)(2100,2105) + PsiElement(QUOTED_STRING)('"2.1"')(2100,2105) + PsiElement(',')(',')(2105,2106) + PsiWhiteSpace('\n ')(2106,2111) + PsiTypeQLElement(attribute) - Location: (2111,2213)(2111,2213) + PsiElement('has')('has')(2111,2114) + PsiWhiteSpace(' ')(2114,2115) + PsiTypeQLElement(label) - Location: (2115,2126)(2115,2126) + PsiElement(LABEL_)('description')(2115,2126) + PsiWhiteSpace(' ')(2126,2127) + PsiTypeQLElement(predicate) - Location: (2127,2213)(2127,2213) + PsiTypeQLElement(value) - Location: (2127,2213)(2127,2213) + PsiElement(QUOTED_STRING)('"This organized threat actor group operates to create profit from all types of crime."')(2127,2213) + PsiElement(',')(',')(2213,2214) + PsiWhiteSpace('\n ')(2214,2219) + PsiTypeQLElement(attribute) - Location: (2219,2254)(2219,2254) + PsiElement('has')('has')(2219,2222) + PsiWhiteSpace(' ')(2222,2223) + PsiTypeQLElement(label) - Location: (2223,2230)(2223,2230) + PsiElement(LABEL_)('created')(2223,2230) + PsiWhiteSpace(' ')(2230,2231) + PsiTypeQLElement(predicate) - Location: (2231,2254)(2231,2254) + PsiTypeQLElement(value) - Location: (2231,2254)(2231,2254) + PsiElement(DATETIME_)('2014-06-29T13:49:37.079')(2231,2254) + PsiElement(',')(',')(2254,2255) + PsiWhiteSpace('\n ')(2255,2260) + PsiTypeQLElement(attribute) - Location: (2260,2296)(2260,2296) + PsiElement('has')('has')(2260,2263) + PsiWhiteSpace(' ')(2263,2264) + PsiTypeQLElement(label) - Location: (2264,2272)(2264,2272) + PsiElement(LABEL_)('modified')(2264,2272) + PsiWhiteSpace(' ')(2272,2273) + PsiTypeQLElement(predicate) - Location: (2273,2296)(2273,2296) + PsiTypeQLElement(value) - Location: (2273,2296)(2273,2296) + PsiElement(DATETIME_)('2014-06-29T13:49:37.079')(2273,2296) + PsiElement(',')(',')(2296,2297) + PsiWhiteSpace('\n ')(2297,2302) + PsiTypeQLElement(attribute) - Location: (2302,2363)(2302,2363) + PsiElement('has')('has')(2302,2305) + PsiWhiteSpace(' ')(2305,2306) + PsiTypeQLElement(label) - Location: (2306,2313)(2306,2313) + PsiElement(LABEL_)('stix-id')(2306,2313) + PsiWhiteSpace(' ')(2313,2314) + PsiTypeQLElement(predicate) - Location: (2314,2363)(2314,2363) + PsiTypeQLElement(value) - Location: (2314,2363)(2314,2363) + PsiElement(QUOTED_STRING)('"indicator--d81f86b9-975b-4c0b-875e-810c5ad45a4f"')(2314,2363) + PsiElement(',')(',')(2363,2364) + PsiWhiteSpace('\n ')(2364,2369) + PsiTypeQLElement(attribute) - Location: (2369,2422)(2369,2422) + PsiElement('has')('has')(2369,2372) + PsiWhiteSpace(' ')(2372,2373) + PsiTypeQLElement(label) - Location: (2373,2380)(2373,2380) + PsiElement(LABEL_)('pattern')(2373,2380) + PsiWhiteSpace(' ')(2380,2381) + PsiTypeQLElement(predicate) - Location: (2381,2422)(2381,2422) + PsiTypeQLElement(value) - Location: (2381,2422)(2381,2422) + PsiElement(QUOTED_STRING)('"[url:value = 'http://x4z9arb.cn/4712/']"')(2381,2422) + PsiElement(',')(',')(2422,2423) + PsiWhiteSpace('\n ')(2423,2428) + PsiTypeQLElement(attribute) - Location: (2428,2451)(2428,2451) + PsiElement('has')('has')(2428,2431) + PsiWhiteSpace(' ')(2431,2432) + PsiTypeQLElement(label) - Location: (2432,2444)(2432,2444) + PsiElement(LABEL_)('pattern-type')(2432,2444) + PsiWhiteSpace(' ')(2444,2445) + PsiTypeQLElement(predicate) - Location: (2445,2451)(2445,2451) + PsiTypeQLElement(value) - Location: (2445,2451)(2445,2451) + PsiElement(QUOTED_STRING)('"stix"')(2445,2451) + PsiElement(',')(',')(2451,2452) + PsiWhiteSpace('\n ')(2452,2457) + PsiTypeQLElement(attribute) - Location: (2457,2495)(2457,2495) + PsiElement('has')('has')(2457,2460) + PsiWhiteSpace(' ')(2460,2461) + PsiTypeQLElement(label) - Location: (2461,2471)(2461,2471) + PsiElement(LABEL_)('valid-from')(2461,2471) + PsiWhiteSpace(' ')(2471,2472) + PsiTypeQLElement(predicate) - Location: (2472,2495)(2472,2495) + PsiTypeQLElement(value) - Location: (2472,2495)(2472,2495) + PsiElement(DATETIME_)('2014-06-29T13:49:37.079')(2472,2495) + PsiElement(',')(',')(2495,2496) + PsiWhiteSpace('\n ')(2496,2501) + PsiTypeQLElement(attribute) - Location: (2501,2540)(2501,2540) + PsiElement('has')('has')(2501,2504) + PsiWhiteSpace(' ')(2504,2505) + PsiTypeQLElement(label) - Location: (2505,2519)(2505,2519) + PsiElement(LABEL_)('indicator-type')(2505,2519) + PsiWhiteSpace(' ')(2519,2520) + PsiTypeQLElement(predicate) - Location: (2520,2540)(2520,2540) + PsiTypeQLElement(value) - Location: (2520,2540)(2520,2540) + PsiElement(QUOTED_STRING)('"malicious-activity"')(2520,2540) + PsiElement(';')(';')(2540,2541) + PsiWhiteSpace('\n')(2541,2542) + PsiTypeQLElement(statement_thing_any) - Location: (2542,2982)(2542,2982) + PsiTypeQLElement(statement_thing) - Location: (2542,2982)(2542,2982) + PsiElement(VAR_CONCEPT_)('$ma')(2542,2545) + PsiWhiteSpace(' ')(2545,2546) + PsiElement(ISA_)('isa')(2546,2549) + PsiWhiteSpace(' ')(2549,2550) + PsiTypeQLElement(type) - Location: (2550,2557)(2550,2557) + PsiTypeQLElement(label) - Location: (2550,2557)(2550,2557) + PsiElement(LABEL_)('malware')(2550,2557) + PsiElement(',')(',')(2557,2558) + PsiWhiteSpace(' ')(2558,2559) + PsiTypeQLElement(attributes) - Location: (2559,2982)(2559,2982) + PsiTypeQLElement(attribute) - Location: (2559,2586)(2559,2586) + PsiElement('has')('has')(2559,2562) + PsiWhiteSpace(' ')(2562,2563) + PsiTypeQLElement(label) - Location: (2563,2567)(2563,2567) + PsiElement(LABEL_)('name')(2563,2567) + PsiWhiteSpace(' ')(2567,2568) + PsiTypeQLElement(predicate) - Location: (2568,2586)(2568,2586) + PsiTypeQLElement(value) - Location: (2568,2586)(2568,2586) + PsiElement(QUOTED_STRING)('"x4z9arb backdoor"')(2568,2586) + PsiElement(',')(',')(2586,2587) + PsiWhiteSpace('\n ')(2587,2592) + PsiTypeQLElement(attribute) - Location: (2592,2614)(2592,2614) + PsiElement('has')('has')(2592,2595) + PsiWhiteSpace(' ')(2595,2596) + PsiTypeQLElement(label) - Location: (2596,2608)(2596,2608) + PsiElement(LABEL_)('spec-version')(2596,2608) + PsiWhiteSpace(' ')(2608,2609) + PsiTypeQLElement(predicate) - Location: (2609,2614)(2609,2614) + PsiTypeQLElement(value) - Location: (2609,2614)(2609,2614) + PsiElement(QUOTED_STRING)('"2.1"')(2609,2614) + PsiElement(',')(',')(2614,2615) + PsiWhiteSpace('\n ')(2615,2620) + PsiTypeQLElement(attribute) - Location: (2620,2679)(2620,2679) + PsiElement('has')('has')(2620,2623) + PsiWhiteSpace(' ')(2623,2624) + PsiTypeQLElement(label) - Location: (2624,2631)(2624,2631) + PsiElement(LABEL_)('stix-id')(2624,2631) + PsiWhiteSpace(' ')(2631,2632) + PsiTypeQLElement(predicate) - Location: (2632,2679)(2632,2679) + PsiTypeQLElement(value) - Location: (2632,2679)(2632,2679) + PsiElement(QUOTED_STRING)('"malware--162d917e-766f-4611-b5d6-652791454fca"')(2632,2679) + PsiElement(',')(',')(2679,2680) + PsiWhiteSpace('\n ')(2680,2685) + PsiTypeQLElement(attribute) - Location: (2685,2720)(2685,2720) + PsiElement('has')('has')(2685,2688) + PsiWhiteSpace(' ')(2688,2689) + PsiTypeQLElement(label) - Location: (2689,2696)(2689,2696) + PsiElement(LABEL_)('created')(2689,2696) + PsiWhiteSpace(' ')(2696,2697) + PsiTypeQLElement(predicate) - Location: (2697,2720)(2697,2720) + PsiTypeQLElement(value) - Location: (2697,2720)(2697,2720) + PsiElement(DATETIME_)('2014-06-30T09:15:17.182')(2697,2720) + PsiElement(',')(',')(2720,2721) + PsiWhiteSpace('\n ')(2721,2726) + PsiTypeQLElement(attribute) - Location: (2726,2762)(2726,2762) + PsiElement('has')('has')(2726,2729) + PsiWhiteSpace(' ')(2729,2730) + PsiTypeQLElement(label) - Location: (2730,2738)(2730,2738) + PsiElement(LABEL_)('modified')(2730,2738) + PsiWhiteSpace(' ')(2738,2739) + PsiTypeQLElement(predicate) - Location: (2739,2762)(2739,2762) + PsiTypeQLElement(value) - Location: (2739,2762)(2739,2762) + PsiElement(DATETIME_)('2014-06-30T09:15:17.182')(2739,2762) + PsiElement(',')(',')(2762,2763) + PsiWhiteSpace('\n ')(2763,2768) + PsiTypeQLElement(attribute) - Location: (2768,2877)(2768,2877) + PsiElement('has')('has')(2768,2771) + PsiWhiteSpace(' ')(2771,2772) + PsiTypeQLElement(label) - Location: (2772,2783)(2772,2783) + PsiElement(LABEL_)('description')(2772,2783) + PsiWhiteSpace(' ')(2783,2784) + PsiTypeQLElement(predicate) - Location: (2784,2877)(2784,2877) + PsiTypeQLElement(value) - Location: (2784,2877)(2784,2877) + PsiElement(QUOTED_STRING)('"This malware attempts to download remote files after establishing a foothold as a backdoor."')(2784,2877) + PsiElement(',')(',')(2877,2878) + PsiWhiteSpace('\n ')(2878,2883) + PsiTypeQLElement(attribute) - Location: (2883,2911)(2883,2911) + PsiElement('has')('has')(2883,2886) + PsiWhiteSpace(' ')(2886,2887) + PsiTypeQLElement(label) - Location: (2887,2900)(2887,2900) + PsiElement(LABEL_)('malware-types')(2887,2900) + PsiWhiteSpace(' ')(2900,2901) + PsiTypeQLElement(predicate) - Location: (2901,2911)(2901,2911) + PsiTypeQLElement(value) - Location: (2901,2911)(2901,2911) + PsiElement(QUOTED_STRING)('"backdoor"')(2901,2911) + PsiElement(',')(',')(2911,2912) + PsiWhiteSpace('\n ')(2912,2917) + PsiTypeQLElement(attribute) - Location: (2917,2957)(2917,2957) + PsiElement('has')('has')(2917,2920) + PsiWhiteSpace(' ')(2920,2921) + PsiTypeQLElement(label) - Location: (2921,2934)(2921,2934) + PsiElement(LABEL_)('malware-types')(2921,2934) + PsiWhiteSpace(' ')(2934,2935) + PsiTypeQLElement(predicate) - Location: (2935,2957)(2935,2957) + PsiTypeQLElement(value) - Location: (2935,2957)(2935,2957) + PsiElement(QUOTED_STRING)('"remote-access-trojan"')(2935,2957) + PsiElement(',')(',')(2957,2958) + PsiWhiteSpace('\n ')(2958,2963) + PsiTypeQLElement(attribute) - Location: (2963,2982)(2963,2982) + PsiElement('has')('has')(2963,2966) + PsiWhiteSpace(' ')(2966,2967) + PsiTypeQLElement(label) - Location: (2967,2976)(2967,2976) + PsiElement(LABEL_)('is-family')(2967,2976) + PsiWhiteSpace(' ')(2976,2977) + PsiTypeQLElement(predicate) - Location: (2977,2982)(2977,2982) + PsiTypeQLElement(value) - Location: (2977,2982)(2977,2982) + PsiElement(BOOLEAN_)('false')(2977,2982) + PsiElement(';')(';')(2982,2983) + PsiWhiteSpace('\n')(2983,2984) + PsiTypeQLElement(statement_thing_any) - Location: (2984,3133)(2984,3133) + PsiTypeQLElement(statement_thing) - Location: (2984,3133)(2984,3133) + PsiElement(VAR_CONCEPT_)('$kill-chain-phase')(2984,3001) + PsiWhiteSpace(' ')(3001,3002) + PsiElement(ISA_)('isa')(3002,3005) + PsiWhiteSpace(' ')(3005,3006) + PsiTypeQLElement(type) - Location: (3006,3022)(3006,3022) + PsiTypeQLElement(label) - Location: (3006,3022)(3006,3022) + PsiElement(LABEL_)('kill-chain-phase')(3006,3022) + PsiElement(',')(',')(3022,3023) + PsiWhiteSpace('\n ')(3023,3028) + PsiTypeQLElement(attributes) - Location: (3028,3133)(3028,3133) + PsiTypeQLElement(attribute) - Location: (3028,3081)(3028,3081) + PsiElement('has')('has')(3028,3031) + PsiWhiteSpace(' ')(3031,3032) + PsiTypeQLElement(label) - Location: (3032,3047)(3032,3047) + PsiElement(LABEL_)('kill-chain-name')(3032,3047) + PsiWhiteSpace(' ')(3047,3048) + PsiTypeQLElement(predicate) - Location: (3048,3081)(3048,3081) + PsiTypeQLElement(value) - Location: (3048,3081)(3048,3081) + PsiElement(QUOTED_STRING)('"mandiant-attack-lifecycle-model"')(3048,3081) + PsiElement(',')(',')(3081,3082) + PsiWhiteSpace('\n ')(3082,3087) + PsiTypeQLElement(attribute) - Location: (3087,3133)(3087,3133) + PsiElement('has')('has')(3087,3090) + PsiWhiteSpace(' ')(3090,3091) + PsiTypeQLElement(label) - Location: (3091,3112)(3091,3112) + PsiElement(LABEL_)('kill-chain-phase-name')(3091,3112) + PsiWhiteSpace(' ')(3112,3113) + PsiTypeQLElement(predicate) - Location: (3113,3133)(3113,3133) + PsiTypeQLElement(value) - Location: (3113,3133)(3113,3133) + PsiElement(QUOTED_STRING)('"establish-foothold"')(3113,3133) + PsiElement(';')(';')(3133,3134) + PsiWhiteSpace('\n\n')(3134,3136) + PsiTypeQLElement(statement_thing_any) - Location: (3136,3195)(3136,3195) + PsiTypeQLElement(statement_relation) - Location: (3136,3195)(3136,3195) + PsiTypeQLElement(relation) - Location: (3136,3173)(3136,3173) + PsiElement('(')('(')(3136,3137) + PsiTypeQLElement(role_player) - Location: (3137,3146)(3137,3146) + PsiTypeQLElement(type) - Location: (3137,3141)(3137,3141) + PsiTypeQLElement(label) - Location: (3137,3141)(3137,3141) + PsiElement(LABEL_)('used')(3137,3141) + PsiElement(':')(':')(3141,3142) + PsiWhiteSpace(' ')(3142,3143) + PsiTypeQLElement(player) - Location: (3143,3146)(3143,3146) + PsiElement(VAR_CONCEPT_)('$ma')(3143,3146) + PsiElement(',')(',')(3146,3147) + PsiWhiteSpace(' ')(3147,3148) + PsiTypeQLElement(role_player) - Location: (3148,3172)(3148,3172) + PsiTypeQLElement(type) - Location: (3148,3153)(3148,3153) + PsiTypeQLElement(label) - Location: (3148,3153)(3148,3153) + PsiElement(LABEL_)('using')(3148,3153) + PsiElement(':')(':')(3153,3154) + PsiWhiteSpace(' ')(3154,3155) + PsiTypeQLElement(player) - Location: (3155,3172)(3155,3172) + PsiElement(VAR_CONCEPT_)('$kill-chain-phase')(3155,3172) + PsiElement(')')(')')(3172,3173) + PsiWhiteSpace(' ')(3173,3174) + PsiElement(ISA_)('isa')(3174,3177) + PsiWhiteSpace(' ')(3177,3178) + PsiTypeQLElement(type) - Location: (3178,3195)(3178,3195) + PsiTypeQLElement(label) - Location: (3178,3195)(3178,3195) + PsiElement(LABEL_)('kill-chain-phases')(3178,3195) + PsiElement(';')(';')(3195,3196) + PsiWhiteSpace('\n')(3196,3197) + PsiTypeQLElement(statement_thing_any) - Location: (3197,3425)(3197,3425) + PsiTypeQLElement(statement_relation) - Location: (3197,3425)(3197,3425) + PsiTypeQLElement(relation) - Location: (3197,3230)(3197,3230) + PsiElement('(')('(')(3197,3198) + PsiTypeQLElement(role_player) - Location: (3198,3213)(3198,3213) + PsiTypeQLElement(type) - Location: (3198,3208)(3198,3208) + PsiTypeQLElement(label) - Location: (3198,3208)(3198,3208) + PsiElement(LABEL_)('indicating')(3198,3208) + PsiElement(':')(':')(3208,3209) + PsiWhiteSpace(' ')(3209,3210) + PsiTypeQLElement(player) - Location: (3210,3213)(3210,3213) + PsiElement(VAR_CONCEPT_)('$in')(3210,3213) + PsiElement(',')(',')(3213,3214) + PsiWhiteSpace(' ')(3214,3215) + PsiTypeQLElement(role_player) - Location: (3215,3229)(3215,3229) + PsiTypeQLElement(type) - Location: (3215,3224)(3215,3224) + PsiTypeQLElement(label) - Location: (3215,3224)(3215,3224) + PsiElement(LABEL_)('indicated')(3215,3224) + PsiElement(':')(':')(3224,3225) + PsiWhiteSpace(' ')(3225,3226) + PsiTypeQLElement(player) - Location: (3226,3229)(3226,3229) + PsiElement(VAR_CONCEPT_)('$ma')(3226,3229) + PsiElement(')')(')')(3229,3230) + PsiWhiteSpace(' ')(3230,3231) + PsiElement(ISA_)('isa')(3231,3234) + PsiWhiteSpace(' ')(3234,3235) + PsiTypeQLElement(type) - Location: (3235,3244)(3235,3244) + PsiTypeQLElement(label) - Location: (3235,3244)(3235,3244) + PsiElement(LABEL_)('indicates')(3235,3244) + PsiElement(',')(',')(3244,3245) + PsiWhiteSpace('\n ')(3245,3250) + PsiTypeQLElement(attributes) - Location: (3250,3425)(3250,3425) + PsiTypeQLElement(attribute) - Location: (3250,3272)(3250,3272) + PsiElement('has')('has')(3250,3253) + PsiWhiteSpace(' ')(3253,3254) + PsiTypeQLElement(label) - Location: (3254,3266)(3254,3266) + PsiElement(LABEL_)('spec-version')(3254,3266) + PsiWhiteSpace(' ')(3266,3267) + PsiTypeQLElement(predicate) - Location: (3267,3272)(3267,3272) + PsiTypeQLElement(value) - Location: (3267,3272)(3267,3272) + PsiElement(QUOTED_STRING)('"2.1"')(3267,3272) + PsiElement(',')(',')(3272,3273) + PsiWhiteSpace('\n ')(3273,3278) + PsiTypeQLElement(attribute) - Location: (3278,3342)(3278,3342) + PsiElement('has')('has')(3278,3281) + PsiWhiteSpace(' ')(3281,3282) + PsiTypeQLElement(label) - Location: (3282,3289)(3282,3289) + PsiElement(LABEL_)('stix-id')(3282,3289) + PsiWhiteSpace(' ')(3289,3290) + PsiTypeQLElement(predicate) - Location: (3290,3342)(3290,3342) + PsiTypeQLElement(value) - Location: (3290,3342)(3290,3342) + PsiElement(QUOTED_STRING)('"relationship--864af2ea-46f9-4d23-b3a2-1c2adf81c265"')(3290,3342) + PsiElement(',')(',')(3342,3343) + PsiWhiteSpace('\n ')(3343,3348) + PsiTypeQLElement(attribute) - Location: (3348,3383)(3348,3383) + PsiElement('has')('has')(3348,3351) + PsiWhiteSpace(' ')(3351,3352) + PsiTypeQLElement(label) - Location: (3352,3359)(3352,3359) + PsiElement(LABEL_)('created')(3352,3359) + PsiWhiteSpace(' ')(3359,3360) + PsiTypeQLElement(predicate) - Location: (3360,3383)(3360,3383) + PsiTypeQLElement(value) - Location: (3360,3383)(3360,3383) + PsiElement(DATETIME_)('2020-02-29T18:03:58.029')(3360,3383) + PsiElement(',')(',')(3383,3384) + PsiWhiteSpace('\n ')(3384,3389) + PsiTypeQLElement(attribute) - Location: (3389,3425)(3389,3425) + PsiElement('has')('has')(3389,3392) + PsiWhiteSpace(' ')(3392,3393) + PsiTypeQLElement(label) - Location: (3393,3401)(3393,3401) + PsiElement(LABEL_)('modified')(3393,3401) + PsiWhiteSpace(' ')(3401,3402) + PsiTypeQLElement(predicate) - Location: (3402,3425)(3402,3425) + PsiTypeQLElement(value) - Location: (3402,3425)(3402,3425) + PsiElement(DATETIME_)('2020-02-29T18:03:58.029')(3402,3425) + PsiElement(';')(';')(3425,3426) + PsiWhiteSpace('\n\n')(3426,3428) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/malware-indicator-for-file-hash\n')(3428,3532) + PsiComment(COMMENT)('# Malware indicator for file hash\n')(3532,3566) + PsiTypeQLElement(modifiers) - Location: (3566,3566)(3566,3566) + + PsiTypeQLElement(query) - Location: (3566,4779)(3566,4779) + PsiTypeQLElement(query_insert) - Location: (3566,4779)(3566,4779) + PsiTypeQLElement(clause_insert) - Location: (3566,4653)(3566,4653) + PsiElement('insert')('insert')(3566,3572) + PsiWhiteSpace('\n')(3572,3573) + PsiTypeQLElement(statement_things) - Location: (3573,4653)(3573,4653) + PsiTypeQLElement(statement_thing_any) - Location: (3573,4137)(3573,4137) + PsiTypeQLElement(statement_thing) - Location: (3573,4137)(3573,4137) + PsiElement(VAR_CONCEPT_)('$in')(3573,3576) + PsiWhiteSpace(' ')(3576,3577) + PsiElement(ISA_)('isa')(3577,3580) + PsiWhiteSpace(' ')(3580,3581) + PsiTypeQLElement(type) - Location: (3581,3590)(3581,3590) + PsiTypeQLElement(label) - Location: (3581,3590)(3581,3590) + PsiElement(LABEL_)('indicator')(3581,3590) + PsiElement(',')(',')(3590,3591) + PsiWhiteSpace(' ')(3591,3592) + PsiTypeQLElement(attributes) - Location: (3592,4137)(3592,4137) + PsiTypeQLElement(attribute) - Location: (3592,3635)(3592,3635) + PsiElement('has')('has')(3592,3595) + PsiWhiteSpace(' ')(3595,3596) + PsiTypeQLElement(label) - Location: (3596,3600)(3596,3600) + PsiElement(LABEL_)('name')(3596,3600) + PsiWhiteSpace(' ')(3600,3601) + PsiTypeQLElement(predicate) - Location: (3601,3635)(3601,3635) + PsiTypeQLElement(value) - Location: (3601,3635)(3601,3635) + PsiElement(QUOTED_STRING)('"File hash for Poison Ivy variant"')(3601,3635) + PsiElement(',')(',')(3635,3636) + PsiWhiteSpace('\n ')(3636,3641) + PsiTypeQLElement(attribute) - Location: (3641,3663)(3641,3663) + PsiElement('has')('has')(3641,3644) + PsiWhiteSpace(' ')(3644,3645) + PsiTypeQLElement(label) - Location: (3645,3657)(3645,3657) + PsiElement(LABEL_)('spec-version')(3645,3657) + PsiWhiteSpace(' ')(3657,3658) + PsiTypeQLElement(predicate) - Location: (3658,3663)(3658,3663) + PsiTypeQLElement(value) - Location: (3658,3663)(3658,3663) + PsiElement(QUOTED_STRING)('"2.1"')(3658,3663) + PsiElement(',')(',')(3663,3664) + PsiWhiteSpace('\n ')(3664,3669) + PsiTypeQLElement(attribute) - Location: (3669,3740)(3669,3740) + PsiElement('has')('has')(3669,3672) + PsiWhiteSpace(' ')(3672,3673) + PsiTypeQLElement(label) - Location: (3673,3680)(3673,3680) + PsiElement(LABEL_)('stix-id')(3673,3680) + PsiWhiteSpace(' ')(3680,3681) + PsiTypeQLElement(predicate) - Location: (3681,3740)(3681,3740) + PsiTypeQLElement(value) - Location: (3681,3740)(3681,3740) + PsiElement(QUOTED_STRING)('"indicator--a932fcc6-exoeunthaoenut-476c-826f-cb970a5a1ade"')(3681,3740) + PsiElement(',')(',')(3740,3741) + PsiWhiteSpace('\n ')(3741,3746) + PsiTypeQLElement(attribute) - Location: (3746,3781)(3746,3781) + PsiElement('has')('has')(3746,3749) + PsiWhiteSpace(' ')(3749,3750) + PsiTypeQLElement(label) - Location: (3750,3757)(3750,3757) + PsiElement(LABEL_)('created')(3750,3757) + PsiWhiteSpace(' ')(3757,3758) + PsiTypeQLElement(predicate) - Location: (3758,3781)(3758,3781) + PsiTypeQLElement(value) - Location: (3758,3781)(3758,3781) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(3758,3781) + PsiElement(',')(',')(3781,3782) + PsiWhiteSpace('\n ')(3782,3787) + PsiTypeQLElement(attribute) - Location: (3787,3823)(3787,3823) + PsiElement('has')('has')(3787,3790) + PsiWhiteSpace(' ')(3790,3791) + PsiTypeQLElement(label) - Location: (3791,3799)(3791,3799) + PsiElement(LABEL_)('modified')(3791,3799) + PsiWhiteSpace(' ')(3799,3800) + PsiTypeQLElement(predicate) - Location: (3800,3823)(3800,3823) + PsiTypeQLElement(value) - Location: (3800,3823)(3800,3823) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(3800,3823) + PsiElement(',')(',')(3823,3824) + PsiWhiteSpace('\n ')(3824,3829) + PsiTypeQLElement(attribute) - Location: (3829,3911)(3829,3911) + PsiElement('has')('has')(3829,3832) + PsiWhiteSpace(' ')(3832,3833) + PsiTypeQLElement(label) - Location: (3833,3844)(3833,3844) + PsiElement(LABEL_)('description')(3833,3844) + PsiWhiteSpace(' ')(3844,3845) + PsiTypeQLElement(predicate) - Location: (3845,3911)(3845,3911) + PsiTypeQLElement(value) - Location: (3845,3911)(3845,3911) + PsiElement(QUOTED_STRING)('"This file hash indicates that a sample of Poison Ivy is present."')(3845,3911) + PsiElement(',')(',')(3911,3912) + PsiWhiteSpace('\n ')(3912,3917) + PsiTypeQLElement(attribute) - Location: (3917,3956)(3917,3956) + PsiElement('has')('has')(3917,3920) + PsiWhiteSpace(' ')(3920,3921) + PsiTypeQLElement(label) - Location: (3921,3935)(3921,3935) + PsiElement(LABEL_)('indicator-type')(3921,3935) + PsiWhiteSpace(' ')(3935,3936) + PsiTypeQLElement(predicate) - Location: (3936,3956)(3936,3956) + PsiTypeQLElement(value) - Location: (3936,3956)(3936,3956) + PsiElement(QUOTED_STRING)('"malicious-activity"')(3936,3956) + PsiElement(',')(',')(3956,3957) + PsiWhiteSpace('\n ')(3957,3962) + PsiTypeQLElement(attribute) - Location: (3962,4068)(3962,4068) + PsiElement('has')('has')(3962,3965) + PsiWhiteSpace(' ')(3965,3966) + PsiTypeQLElement(label) - Location: (3966,3973)(3966,3973) + PsiElement(LABEL_)('pattern')(3966,3973) + PsiWhiteSpace(' ')(3973,3974) + PsiTypeQLElement(predicate) - Location: (3974,4068)(3974,4068) + PsiTypeQLElement(value) - Location: (3974,4068)(3974,4068) + PsiElement(QUOTED_STRING)('"[file:hashes.'SHA-256' = 'ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c']"')(3974,4068) + PsiElement(',')(',')(4068,4069) + PsiWhiteSpace('\n ')(4069,4074) + PsiTypeQLElement(attribute) - Location: (4074,4097)(4074,4097) + PsiElement('has')('has')(4074,4077) + PsiWhiteSpace(' ')(4077,4078) + PsiTypeQLElement(label) - Location: (4078,4090)(4078,4090) + PsiElement(LABEL_)('pattern-type')(4078,4090) + PsiWhiteSpace(' ')(4090,4091) + PsiTypeQLElement(predicate) - Location: (4091,4097)(4091,4097) + PsiTypeQLElement(value) - Location: (4091,4097)(4091,4097) + PsiElement(QUOTED_STRING)('"stix"')(4091,4097) + PsiElement(',')(',')(4097,4098) + PsiWhiteSpace('\n ')(4098,4103) + PsiTypeQLElement(attribute) - Location: (4103,4137)(4103,4137) + PsiElement('has')('has')(4103,4106) + PsiWhiteSpace(' ')(4106,4107) + PsiTypeQLElement(label) - Location: (4107,4117)(4107,4117) + PsiElement(LABEL_)('valid-from')(4107,4117) + PsiWhiteSpace(' ')(4117,4118) + PsiTypeQLElement(predicate) - Location: (4118,4137)(4118,4137) + PsiTypeQLElement(value) - Location: (4118,4137)(4118,4137) + PsiElement(DATETIME_)('2014-02-20T09:00:00')(4118,4137) + PsiElement(';')(';')(4137,4138) + PsiWhiteSpace('\n')(4138,4139) + PsiTypeQLElement(statement_thing_any) - Location: (4139,4423)(4139,4423) + PsiTypeQLElement(statement_thing) - Location: (4139,4423)(4139,4423) + PsiElement(VAR_CONCEPT_)('$m')(4139,4141) + PsiWhiteSpace(' ')(4141,4142) + PsiElement(ISA_)('isa')(4142,4145) + PsiWhiteSpace(' ')(4145,4146) + PsiTypeQLElement(type) - Location: (4146,4153)(4146,4153) + PsiTypeQLElement(label) - Location: (4146,4153)(4146,4153) + PsiElement(LABEL_)('malware')(4146,4153) + PsiElement(',')(',')(4153,4154) + PsiWhiteSpace(' ')(4154,4155) + PsiTypeQLElement(attributes) - Location: (4155,4423)(4155,4423) + PsiTypeQLElement(attribute) - Location: (4155,4176)(4155,4176) + PsiElement('has')('has')(4155,4158) + PsiWhiteSpace(' ')(4158,4159) + PsiTypeQLElement(label) - Location: (4159,4163)(4159,4163) + PsiElement(LABEL_)('name')(4159,4163) + PsiWhiteSpace(' ')(4163,4164) + PsiTypeQLElement(predicate) - Location: (4164,4176)(4164,4176) + PsiTypeQLElement(value) - Location: (4164,4176)(4164,4176) + PsiElement(QUOTED_STRING)('"Poison Ivy"')(4164,4176) + PsiElement(',')(',')(4176,4177) + PsiWhiteSpace('\n ')(4177,4182) + PsiTypeQLElement(attribute) - Location: (4182,4204)(4182,4204) + PsiElement('has')('has')(4182,4185) + PsiWhiteSpace(' ')(4185,4186) + PsiTypeQLElement(label) - Location: (4186,4198)(4186,4198) + PsiElement(LABEL_)('spec-version')(4186,4198) + PsiWhiteSpace(' ')(4198,4199) + PsiTypeQLElement(predicate) - Location: (4199,4204)(4199,4204) + PsiTypeQLElement(value) - Location: (4199,4204)(4199,4204) + PsiElement(QUOTED_STRING)('"2.1"')(4199,4204) + PsiElement(',')(',')(4204,4205) + PsiWhiteSpace('\n ')(4205,4210) + PsiTypeQLElement(attribute) - Location: (4210,4269)(4210,4269) + PsiElement('has')('has')(4210,4213) + PsiWhiteSpace(' ')(4213,4214) + PsiTypeQLElement(label) - Location: (4214,4221)(4214,4221) + PsiElement(LABEL_)('stix-id')(4214,4221) + PsiWhiteSpace(' ')(4221,4222) + PsiTypeQLElement(predicate) - Location: (4222,4269)(4222,4269) + PsiTypeQLElement(value) - Location: (4222,4269)(4222,4269) + PsiElement(QUOTED_STRING)('"malware--fdd60b30-b67c-41e3-b0b9-f01faf20d111"')(4222,4269) + PsiElement(',')(',')(4269,4270) + PsiWhiteSpace('\n ')(4270,4275) + PsiTypeQLElement(attribute) - Location: (4275,4310)(4275,4310) + PsiElement('has')('has')(4275,4278) + PsiWhiteSpace(' ')(4278,4279) + PsiTypeQLElement(label) - Location: (4279,4286)(4279,4286) + PsiElement(LABEL_)('created')(4279,4286) + PsiWhiteSpace(' ')(4286,4287) + PsiTypeQLElement(predicate) - Location: (4287,4310)(4287,4310) + PsiTypeQLElement(value) - Location: (4287,4310)(4287,4310) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(4287,4310) + PsiElement(',')(',')(4310,4311) + PsiWhiteSpace('\n ')(4311,4316) + PsiTypeQLElement(attribute) - Location: (4316,4352)(4316,4352) + PsiElement('has')('has')(4316,4319) + PsiWhiteSpace(' ')(4319,4320) + PsiTypeQLElement(label) - Location: (4320,4328)(4320,4328) + PsiElement(LABEL_)('modified')(4320,4328) + PsiWhiteSpace(' ')(4328,4329) + PsiTypeQLElement(predicate) - Location: (4329,4352)(4329,4352) + PsiTypeQLElement(value) - Location: (4329,4352)(4329,4352) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(4329,4352) + PsiElement(',')(',')(4352,4353) + PsiWhiteSpace('\n ')(4353,4358) + PsiTypeQLElement(attribute) - Location: (4358,4398)(4358,4398) + PsiElement('has')('has')(4358,4361) + PsiWhiteSpace(' ')(4361,4362) + PsiTypeQLElement(label) - Location: (4362,4375)(4362,4375) + PsiElement(LABEL_)('malware-types')(4362,4375) + PsiWhiteSpace(' ')(4375,4376) + PsiTypeQLElement(predicate) - Location: (4376,4398)(4376,4398) + PsiTypeQLElement(value) - Location: (4376,4398)(4376,4398) + PsiElement(QUOTED_STRING)('"remote-access-trojan"')(4376,4398) + PsiElement(',')(',')(4398,4399) + PsiWhiteSpace('\n ')(4399,4404) + PsiTypeQLElement(attribute) - Location: (4404,4423)(4404,4423) + PsiElement('has')('has')(4404,4407) + PsiWhiteSpace(' ')(4407,4408) + PsiTypeQLElement(label) - Location: (4408,4417)(4408,4417) + PsiElement(LABEL_)('is-family')(4408,4417) + PsiWhiteSpace(' ')(4417,4418) + PsiTypeQLElement(predicate) - Location: (4418,4423)(4418,4423) + PsiTypeQLElement(value) - Location: (4418,4423)(4418,4423) + PsiElement(BOOLEAN_)('false')(4418,4423) + PsiElement(';')(';')(4423,4424) + PsiWhiteSpace('\n')(4424,4425) + PsiTypeQLElement(statement_thing_any) - Location: (4425,4652)(4425,4652) + PsiTypeQLElement(statement_relation) - Location: (4425,4652)(4425,4652) + PsiTypeQLElement(relation) - Location: (4425,4457)(4425,4457) + PsiElement('(')('(')(4425,4426) + PsiTypeQLElement(role_player) - Location: (4426,4441)(4426,4441) + PsiTypeQLElement(type) - Location: (4426,4436)(4426,4436) + PsiTypeQLElement(label) - Location: (4426,4436)(4426,4436) + PsiElement(LABEL_)('indicating')(4426,4436) + PsiElement(':')(':')(4436,4437) + PsiWhiteSpace(' ')(4437,4438) + PsiTypeQLElement(player) - Location: (4438,4441)(4438,4441) + PsiElement(VAR_CONCEPT_)('$in')(4438,4441) + PsiElement(',')(',')(4441,4442) + PsiWhiteSpace(' ')(4442,4443) + PsiTypeQLElement(role_player) - Location: (4443,4456)(4443,4456) + PsiTypeQLElement(type) - Location: (4443,4452)(4443,4452) + PsiTypeQLElement(label) - Location: (4443,4452)(4443,4452) + PsiElement(LABEL_)('indicated')(4443,4452) + PsiElement(':')(':')(4452,4453) + PsiWhiteSpace(' ')(4453,4454) + PsiTypeQLElement(player) - Location: (4454,4456)(4454,4456) + PsiElement(VAR_CONCEPT_)('$m')(4454,4456) + PsiElement(')')(')')(4456,4457) + PsiWhiteSpace(' ')(4457,4458) + PsiElement(ISA_)('isa')(4458,4461) + PsiWhiteSpace(' ')(4461,4462) + PsiTypeQLElement(type) - Location: (4462,4471)(4462,4471) + PsiTypeQLElement(label) - Location: (4462,4471)(4462,4471) + PsiElement(LABEL_)('indicates')(4462,4471) + PsiElement(',')(',')(4471,4472) + PsiWhiteSpace('\n ')(4472,4477) + PsiTypeQLElement(attributes) - Location: (4477,4652)(4477,4652) + PsiTypeQLElement(attribute) - Location: (4477,4499)(4477,4499) + PsiElement('has')('has')(4477,4480) + PsiWhiteSpace(' ')(4480,4481) + PsiTypeQLElement(label) - Location: (4481,4493)(4481,4493) + PsiElement(LABEL_)('spec-version')(4481,4493) + PsiWhiteSpace(' ')(4493,4494) + PsiTypeQLElement(predicate) - Location: (4494,4499)(4494,4499) + PsiTypeQLElement(value) - Location: (4494,4499)(4494,4499) + PsiElement(QUOTED_STRING)('"2.1"')(4494,4499) + PsiElement(',')(',')(4499,4500) + PsiWhiteSpace('\n ')(4500,4505) + PsiTypeQLElement(attribute) - Location: (4505,4569)(4505,4569) + PsiElement('has')('has')(4505,4508) + PsiWhiteSpace(' ')(4508,4509) + PsiTypeQLElement(label) - Location: (4509,4516)(4509,4516) + PsiElement(LABEL_)('stix-id')(4509,4516) + PsiWhiteSpace(' ')(4516,4517) + PsiTypeQLElement(predicate) - Location: (4517,4569)(4517,4569) + PsiTypeQLElement(value) - Location: (4517,4569)(4517,4569) + PsiElement(QUOTED_STRING)('"relationship--29dcdf68-1b0c-4e16-94ed-bcc7a9572f69"')(4517,4569) + PsiElement(',')(',')(4569,4570) + PsiWhiteSpace('\n ')(4570,4575) + PsiTypeQLElement(attribute) - Location: (4575,4610)(4575,4610) + PsiElement('has')('has')(4575,4578) + PsiWhiteSpace(' ')(4578,4579) + PsiTypeQLElement(label) - Location: (4579,4586)(4579,4586) + PsiElement(LABEL_)('created')(4579,4586) + PsiWhiteSpace(' ')(4586,4587) + PsiTypeQLElement(predicate) - Location: (4587,4610)(4587,4610) + PsiTypeQLElement(value) - Location: (4587,4610)(4587,4610) + PsiElement(DATETIME_)('2020-02-29T18:09:12.808')(4587,4610) + PsiElement(',')(',')(4610,4611) + PsiWhiteSpace('\n ')(4611,4616) + PsiTypeQLElement(attribute) - Location: (4616,4652)(4616,4652) + PsiElement('has')('has')(4616,4619) + PsiWhiteSpace(' ')(4619,4620) + PsiTypeQLElement(label) - Location: (4620,4628)(4620,4628) + PsiElement(LABEL_)('modified')(4620,4628) + PsiWhiteSpace(' ')(4628,4629) + PsiTypeQLElement(predicate) - Location: (4629,4652)(4629,4652) + PsiTypeQLElement(value) - Location: (4629,4652)(4629,4652) + PsiElement(DATETIME_)('2020-02-29T18:09:12.808')(4629,4652) + PsiElement(';')(';')(4652,4653) + PsiWhiteSpace('\n\n')(4653,4655) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/sighting-of-an-indicator\n')(4655,4752) + PsiComment(COMMENT)('# Sighting of an Indicator\n')(4752,4779) + PsiTypeQLElement(modifiers) - Location: (4779,4779)(4779,4779) + + PsiTypeQLElement(query) - Location: (4779,6334)(4779,6334) + PsiTypeQLElement(query_insert) - Location: (4779,6334)(4779,6334) + PsiTypeQLElement(clause_insert) - Location: (4779,6206)(4779,6206) + PsiElement('insert')('insert')(4779,4785) + PsiWhiteSpace('\n')(4785,4786) + PsiTypeQLElement(statement_things) - Location: (4786,6206)(4786,6206) + PsiTypeQLElement(statement_thing_any) - Location: (4786,5321)(4786,5321) + PsiTypeQLElement(statement_thing) - Location: (4786,5321)(4786,5321) + PsiElement(VAR_CONCEPT_)('$malicious-url')(4786,4800) + PsiWhiteSpace(' ')(4800,4801) + PsiElement(ISA_)('isa')(4801,4804) + PsiWhiteSpace(' ')(4804,4805) + PsiTypeQLElement(type) - Location: (4805,4814)(4805,4814) + PsiTypeQLElement(label) - Location: (4805,4814)(4805,4814) + PsiElement(LABEL_)('indicator')(4805,4814) + PsiElement(',')(',')(4814,4815) + PsiWhiteSpace(' ')(4815,4816) + PsiTypeQLElement(attributes) - Location: (4816,5321)(4816,5321) + PsiTypeQLElement(attribute) - Location: (4816,4840)(4816,4840) + PsiElement('has')('has')(4816,4819) + PsiWhiteSpace(' ')(4819,4820) + PsiTypeQLElement(label) - Location: (4820,4824)(4820,4824) + PsiElement(LABEL_)('name')(4820,4824) + PsiWhiteSpace(' ')(4824,4825) + PsiTypeQLElement(predicate) - Location: (4825,4840)(4825,4840) + PsiTypeQLElement(value) - Location: (4825,4840)(4825,4840) + PsiElement(QUOTED_STRING)('"Malicious URL"')(4825,4840) + PsiElement(',')(',')(4840,4841) + PsiWhiteSpace('\n ')(4841,4846) + PsiTypeQLElement(attribute) - Location: (4846,4868)(4846,4868) + PsiElement('has')('has')(4846,4849) + PsiWhiteSpace(' ')(4849,4850) + PsiTypeQLElement(label) - Location: (4850,4862)(4850,4862) + PsiElement(LABEL_)('spec-version')(4850,4862) + PsiWhiteSpace(' ')(4862,4863) + PsiTypeQLElement(predicate) - Location: (4863,4868)(4863,4868) + PsiTypeQLElement(value) - Location: (4863,4868)(4863,4868) + PsiElement(QUOTED_STRING)('"2.1"')(4863,4868) + PsiElement(',')(',')(4868,4869) + PsiWhiteSpace('\n ')(4869,4874) + PsiTypeQLElement(attribute) - Location: (4874,4935)(4874,4935) + PsiElement('has')('has')(4874,4877) + PsiWhiteSpace(' ')(4877,4878) + PsiTypeQLElement(label) - Location: (4878,4885)(4878,4885) + PsiElement(LABEL_)('stix-id')(4878,4885) + PsiWhiteSpace(' ')(4885,4886) + PsiTypeQLElement(predicate) - Location: (4886,4935)(4886,4935) + PsiTypeQLElement(value) - Location: (4886,4935)(4886,4935) + PsiElement(QUOTED_STRING)('"indicator--9299f726-ce06-492e-8472-2b52ccb53191"')(4886,4935) + PsiElement(',')(',')(4935,4936) + PsiWhiteSpace('\n ')(4936,4941) + PsiTypeQLElement(attribute) - Location: (4941,4976)(4941,4976) + PsiElement('has')('has')(4941,4944) + PsiWhiteSpace(' ')(4944,4945) + PsiTypeQLElement(label) - Location: (4945,4952)(4945,4952) + PsiElement(LABEL_)('created')(4945,4952) + PsiWhiteSpace(' ')(4952,4953) + PsiTypeQLElement(predicate) - Location: (4953,4976)(4953,4976) + PsiTypeQLElement(value) - Location: (4953,4976)(4953,4976) + PsiElement(DATETIME_)('2017-02-27T13:57:10.515')(4953,4976) + PsiElement(',')(',')(4976,4977) + PsiWhiteSpace('\n ')(4977,4982) + PsiTypeQLElement(attribute) - Location: (4982,5018)(4982,5018) + PsiElement('has')('has')(4982,4985) + PsiWhiteSpace(' ')(4985,4986) + PsiTypeQLElement(label) - Location: (4986,4994)(4986,4994) + PsiElement(LABEL_)('modified')(4986,4994) + PsiWhiteSpace(' ')(4994,4995) + PsiTypeQLElement(predicate) - Location: (4995,5018)(4995,5018) + PsiTypeQLElement(value) - Location: (4995,5018)(4995,5018) + PsiElement(DATETIME_)('2017-02-27T13:57:10.515')(4995,5018) + PsiElement(',')(',')(5018,5019) + PsiWhiteSpace('\n ')(5019,5024) + PsiTypeQLElement(attribute) - Location: (5024,5142)(5024,5142) + PsiElement('has')('has')(5024,5027) + PsiWhiteSpace(' ')(5027,5028) + PsiTypeQLElement(label) - Location: (5028,5039)(5028,5039) + PsiElement(LABEL_)('description')(5028,5039) + PsiWhiteSpace(' ')(5039,5040) + PsiTypeQLElement(predicate) - Location: (5040,5142)(5040,5142) + PsiTypeQLElement(value) - Location: (5040,5142)(5040,5142) + PsiElement(QUOTED_STRING)('"This URL is potentially associated with malicious activity and is listed on several blacklist sites."')(5040,5142) + PsiElement(',')(',')(5142,5143) + PsiWhiteSpace('\n ')(5143,5148) + PsiTypeQLElement(attribute) - Location: (5148,5187)(5148,5187) + PsiElement('has')('has')(5148,5151) + PsiWhiteSpace(' ')(5151,5152) + PsiTypeQLElement(label) - Location: (5152,5166)(5152,5166) + PsiElement(LABEL_)('indicator-type')(5152,5166) + PsiWhiteSpace(' ')(5166,5167) + PsiTypeQLElement(predicate) - Location: (5167,5187)(5167,5187) + PsiTypeQLElement(value) - Location: (5167,5187)(5167,5187) + PsiElement(QUOTED_STRING)('"malicious-activity"')(5167,5187) + PsiElement(',')(',')(5187,5188) + PsiWhiteSpace('\n ')(5188,5193) + PsiTypeQLElement(attribute) - Location: (5193,5248)(5193,5248) + PsiElement('has')('has')(5193,5196) + PsiWhiteSpace(' ')(5196,5197) + PsiTypeQLElement(label) - Location: (5197,5204)(5197,5204) + PsiElement(LABEL_)('pattern')(5197,5204) + PsiWhiteSpace(' ')(5204,5205) + PsiTypeQLElement(predicate) - Location: (5205,5248)(5205,5248) + PsiTypeQLElement(value) - Location: (5205,5248)(5205,5248) + PsiElement(QUOTED_STRING)('"[url:value = 'http://paypa1.banking.com']"')(5205,5248) + PsiElement(',')(',')(5248,5249) + PsiWhiteSpace('\n ')(5249,5254) + PsiTypeQLElement(attribute) - Location: (5254,5277)(5254,5277) + PsiElement('has')('has')(5254,5257) + PsiWhiteSpace(' ')(5257,5258) + PsiTypeQLElement(label) - Location: (5258,5270)(5258,5270) + PsiElement(LABEL_)('pattern-type')(5258,5270) + PsiWhiteSpace(' ')(5270,5271) + PsiTypeQLElement(predicate) - Location: (5271,5277)(5271,5277) + PsiTypeQLElement(value) - Location: (5271,5277)(5271,5277) + PsiElement(QUOTED_STRING)('"stix"')(5271,5277) + PsiElement(',')(',')(5277,5278) + PsiWhiteSpace('\n ')(5278,5283) + PsiTypeQLElement(attribute) - Location: (5283,5321)(5283,5321) + PsiElement('has')('has')(5283,5286) + PsiWhiteSpace(' ')(5286,5287) + PsiTypeQLElement(label) - Location: (5287,5297)(5287,5297) + PsiElement(LABEL_)('valid-from')(5287,5297) + PsiWhiteSpace(' ')(5297,5298) + PsiTypeQLElement(predicate) - Location: (5298,5321)(5298,5321) + PsiTypeQLElement(value) - Location: (5298,5321)(5298,5321) + PsiElement(DATETIME_)('2015-06-29T09:10:15.915')(5298,5321) + PsiElement(';')(';')(5321,5322) + PsiWhiteSpace('\n')(5322,5323) + PsiTypeQLElement(statement_thing_any) - Location: (5323,5673)(5323,5673) + PsiTypeQLElement(statement_thing) - Location: (5323,5673)(5323,5673) + PsiElement(VAR_CONCEPT_)('$alpha')(5323,5329) + PsiWhiteSpace(' ')(5329,5330) + PsiElement(ISA_)('isa')(5330,5333) + PsiWhiteSpace(' ')(5333,5334) + PsiTypeQLElement(type) - Location: (5334,5346)(5334,5346) + PsiTypeQLElement(label) - Location: (5334,5346)(5334,5346) + PsiElement(LABEL_)('organization')(5334,5346) + PsiElement(',')(',')(5346,5347) + PsiWhiteSpace(' ')(5347,5348) + PsiTypeQLElement(attributes) - Location: (5348,5673)(5348,5673) + PsiTypeQLElement(attribute) - Location: (5348,5385)(5348,5385) + PsiElement('has')('has')(5348,5351) + PsiWhiteSpace(' ')(5351,5352) + PsiTypeQLElement(label) - Location: (5352,5356)(5352,5356) + PsiElement(LABEL_)('name')(5352,5356) + PsiWhiteSpace(' ')(5356,5357) + PsiTypeQLElement(predicate) - Location: (5357,5385)(5357,5385) + PsiTypeQLElement(value) - Location: (5357,5385)(5357,5385) + PsiElement(QUOTED_STRING)('"Alpha Threat Analysis Org."')(5357,5385) + PsiElement(',')(',')(5385,5386) + PsiWhiteSpace('\n ')(5386,5391) + PsiTypeQLElement(attribute) - Location: (5391,5413)(5391,5413) + PsiElement('has')('has')(5391,5394) + PsiWhiteSpace(' ')(5394,5395) + PsiTypeQLElement(label) - Location: (5395,5407)(5395,5407) + PsiElement(LABEL_)('spec-version')(5395,5407) + PsiWhiteSpace(' ')(5407,5408) + PsiTypeQLElement(predicate) - Location: (5408,5413)(5408,5413) + PsiTypeQLElement(value) - Location: (5408,5413)(5408,5413) + PsiElement(QUOTED_STRING)('"2.1"')(5408,5413) + PsiElement(',')(',')(5413,5414) + PsiWhiteSpace('\n ')(5414,5419) + PsiTypeQLElement(attribute) - Location: (5419,5479)(5419,5479) + PsiElement('has')('has')(5419,5422) + PsiWhiteSpace(' ')(5422,5423) + PsiTypeQLElement(label) - Location: (5423,5430)(5423,5430) + PsiElement(LABEL_)('stix-id')(5423,5430) + PsiWhiteSpace(' ')(5430,5431) + PsiTypeQLElement(predicate) - Location: (5431,5479)(5431,5479) + PsiTypeQLElement(value) - Location: (5431,5479)(5431,5479) + PsiElement(QUOTED_STRING)('"identity--39012926-a052-44c4-ae48-caaf4a10ee6e"')(5431,5479) + PsiElement(',')(',')(5479,5480) + PsiWhiteSpace('\n ')(5480,5485) + PsiTypeQLElement(attribute) - Location: (5485,5520)(5485,5520) + PsiElement('has')('has')(5485,5488) + PsiWhiteSpace(' ')(5488,5489) + PsiTypeQLElement(label) - Location: (5489,5496)(5489,5496) + PsiElement(LABEL_)('created')(5489,5496) + PsiWhiteSpace(' ')(5496,5497) + PsiTypeQLElement(predicate) - Location: (5497,5520)(5497,5520) + PsiTypeQLElement(value) - Location: (5497,5520)(5497,5520) + PsiElement(DATETIME_)('2017-02-24T15:50:10.564')(5497,5520) + PsiElement(',')(',')(5520,5521) + PsiWhiteSpace('\n ')(5521,5526) + PsiTypeQLElement(attribute) - Location: (5526,5562)(5526,5562) + PsiElement('has')('has')(5526,5529) + PsiWhiteSpace(' ')(5529,5530) + PsiTypeQLElement(label) - Location: (5530,5538)(5530,5538) + PsiElement(LABEL_)('modified')(5530,5538) + PsiWhiteSpace(' ')(5538,5539) + PsiTypeQLElement(predicate) - Location: (5539,5562)(5539,5562) + PsiTypeQLElement(value) - Location: (5539,5562)(5539,5562) + PsiElement(DATETIME_)('2017-02-24T15:50:10.564')(5539,5562) + PsiElement(',')(',')(5562,5563) + PsiWhiteSpace('\n ')(5563,5568) + PsiTypeQLElement(attribute) - Location: (5568,5598)(5568,5598) + PsiElement('has')('has')(5568,5571) + PsiWhiteSpace(' ')(5571,5572) + PsiTypeQLElement(label) - Location: (5572,5581)(5572,5581) + PsiElement(LABEL_)('stix-role')(5572,5581) + PsiWhiteSpace(' ')(5581,5582) + PsiTypeQLElement(predicate) - Location: (5582,5598)(5582,5598) + PsiTypeQLElement(value) - Location: (5582,5598)(5582,5598) + PsiElement(QUOTED_STRING)('"Cyber Security"')(5582,5598) + PsiElement(',')(',')(5598,5599) + PsiWhiteSpace('\n ')(5599,5604) + PsiTypeQLElement(attribute) - Location: (5604,5627)(5604,5627) + PsiElement('has')('has')(5604,5607) + PsiWhiteSpace(' ')(5607,5608) + PsiTypeQLElement(label) - Location: (5608,5614)(5608,5614) + PsiElement(LABEL_)('sector')(5608,5614) + PsiWhiteSpace(' ')(5614,5615) + PsiTypeQLElement(predicate) - Location: (5615,5627)(5615,5627) + PsiTypeQLElement(value) - Location: (5615,5627)(5615,5627) + PsiElement(QUOTED_STRING)('"technology"')(5615,5627) + PsiElement(',')(',')(5627,5628) + PsiWhiteSpace('\n ')(5628,5633) + PsiTypeQLElement(attribute) - Location: (5633,5673)(5633,5673) + PsiElement('has')('has')(5633,5636) + PsiWhiteSpace(' ')(5636,5637) + PsiTypeQLElement(label) - Location: (5637,5656)(5637,5656) + PsiElement(LABEL_)('contact-information')(5637,5656) + PsiWhiteSpace(' ')(5656,5657) + PsiTypeQLElement(predicate) - Location: (5657,5673)(5657,5673) + PsiTypeQLElement(value) - Location: (5657,5673)(5657,5673) + PsiElement(QUOTED_STRING)('"info@alpha.org"')(5657,5673) + PsiElement(';')(';')(5673,5674) + PsiWhiteSpace('\n')(5674,5675) + PsiTypeQLElement(statement_thing_any) - Location: (5675,6028)(5675,6028) + PsiTypeQLElement(statement_thing) - Location: (5675,6028)(5675,6028) + PsiElement(VAR_CONCEPT_)('$beta')(5675,5680) + PsiWhiteSpace(' ')(5680,5681) + PsiElement(ISA_)('isa')(5681,5684) + PsiWhiteSpace(' ')(5684,5685) + PsiTypeQLElement(type) - Location: (5685,5697)(5685,5697) + PsiTypeQLElement(label) - Location: (5685,5697)(5685,5697) + PsiElement(LABEL_)('organization')(5685,5697) + PsiElement(',')(',')(5697,5698) + PsiWhiteSpace(' ')(5698,5699) + PsiTypeQLElement(attributes) - Location: (5699,6028)(5699,6028) + PsiTypeQLElement(attribute) - Location: (5699,5741)(5699,5741) + PsiElement('has')('has')(5699,5702) + PsiWhiteSpace(' ')(5702,5703) + PsiTypeQLElement(label) - Location: (5703,5707)(5703,5707) + PsiElement(LABEL_)('name')(5703,5707) + PsiWhiteSpace(' ')(5707,5708) + PsiTypeQLElement(predicate) - Location: (5708,5741)(5708,5741) + PsiTypeQLElement(value) - Location: (5708,5741)(5708,5741) + PsiElement(QUOTED_STRING)('"Beta Cyber Intelligence Company"')(5708,5741) + PsiElement(',')(',')(5741,5742) + PsiWhiteSpace('\n ')(5742,5747) + PsiTypeQLElement(attribute) - Location: (5747,5769)(5747,5769) + PsiElement('has')('has')(5747,5750) + PsiWhiteSpace(' ')(5750,5751) + PsiTypeQLElement(label) - Location: (5751,5763)(5751,5763) + PsiElement(LABEL_)('spec-version')(5751,5763) + PsiWhiteSpace(' ')(5763,5764) + PsiTypeQLElement(predicate) - Location: (5764,5769)(5764,5769) + PsiTypeQLElement(value) - Location: (5764,5769)(5764,5769) + PsiElement(QUOTED_STRING)('"2.1"')(5764,5769) + PsiElement(',')(',')(5769,5770) + PsiWhiteSpace('\n ')(5770,5775) + PsiTypeQLElement(attribute) - Location: (5775,5835)(5775,5835) + PsiElement('has')('has')(5775,5778) + PsiWhiteSpace(' ')(5778,5779) + PsiTypeQLElement(label) - Location: (5779,5786)(5779,5786) + PsiElement(LABEL_)('stix-id')(5779,5786) + PsiWhiteSpace(' ')(5786,5787) + PsiTypeQLElement(predicate) - Location: (5787,5835)(5787,5835) + PsiTypeQLElement(value) - Location: (5787,5835)(5787,5835) + PsiElement(QUOTED_STRING)('"identity--5206ba14-478f-4b0b-9a48-395f690c20a2"')(5787,5835) + PsiElement(',')(',')(5835,5836) + PsiWhiteSpace('\n ')(5836,5841) + PsiTypeQLElement(attribute) - Location: (5841,5876)(5841,5876) + PsiElement('has')('has')(5841,5844) + PsiWhiteSpace(' ')(5844,5845) + PsiTypeQLElement(label) - Location: (5845,5852)(5845,5852) + PsiElement(LABEL_)('created')(5845,5852) + PsiWhiteSpace(' ')(5852,5853) + PsiTypeQLElement(predicate) - Location: (5853,5876)(5853,5876) + PsiTypeQLElement(value) - Location: (5853,5876)(5853,5876) + PsiElement(DATETIME_)('2017-02-26T17:55:10.442')(5853,5876) + PsiElement(',')(',')(5876,5877) + PsiWhiteSpace('\n ')(5877,5882) + PsiTypeQLElement(attribute) - Location: (5882,5918)(5882,5918) + PsiElement('has')('has')(5882,5885) + PsiWhiteSpace(' ')(5885,5886) + PsiTypeQLElement(label) - Location: (5886,5894)(5886,5894) + PsiElement(LABEL_)('modified')(5886,5894) + PsiWhiteSpace(' ')(5894,5895) + PsiTypeQLElement(predicate) - Location: (5895,5918)(5895,5918) + PsiTypeQLElement(value) - Location: (5895,5918)(5895,5918) + PsiElement(DATETIME_)('2017-02-26T17:55:10.442')(5895,5918) + PsiElement(',')(',')(5918,5919) + PsiWhiteSpace('\n ')(5919,5924) + PsiTypeQLElement(attribute) - Location: (5924,5954)(5924,5954) + PsiElement('has')('has')(5924,5927) + PsiWhiteSpace(' ')(5927,5928) + PsiTypeQLElement(label) - Location: (5928,5937)(5928,5937) + PsiElement(LABEL_)('stix-role')(5928,5937) + PsiWhiteSpace(' ')(5937,5938) + PsiTypeQLElement(predicate) - Location: (5938,5954)(5938,5954) + PsiTypeQLElement(value) - Location: (5938,5954)(5938,5954) + PsiElement(QUOTED_STRING)('"Cyber Security"')(5938,5954) + PsiElement(',')(',')(5954,5955) + PsiWhiteSpace('\n ')(5955,5960) + PsiTypeQLElement(attribute) - Location: (5960,5983)(5960,5983) + PsiElement('has')('has')(5960,5963) + PsiWhiteSpace(' ')(5963,5964) + PsiTypeQLElement(label) - Location: (5964,5970)(5964,5970) + PsiElement(LABEL_)('sector')(5964,5970) + PsiWhiteSpace(' ')(5970,5971) + PsiTypeQLElement(predicate) - Location: (5971,5983)(5971,5983) + PsiTypeQLElement(value) - Location: (5971,5983)(5971,5983) + PsiElement(QUOTED_STRING)('"technology"')(5971,5983) + PsiElement(',')(',')(5983,5984) + PsiWhiteSpace('\n ')(5984,5989) + PsiTypeQLElement(attribute) - Location: (5989,6028)(5989,6028) + PsiElement('has')('has')(5989,5992) + PsiWhiteSpace(' ')(5992,5993) + PsiTypeQLElement(label) - Location: (5993,6012)(5993,6012) + PsiElement(LABEL_)('contact-information')(5993,6012) + PsiWhiteSpace(' ')(6012,6013) + PsiTypeQLElement(predicate) - Location: (6013,6028)(6013,6028) + PsiTypeQLElement(value) - Location: (6013,6028)(6013,6028) + PsiElement(QUOTED_STRING)('"info@beta.com"')(6013,6028) + PsiElement(';')(';')(6028,6029) + PsiWhiteSpace('\n')(6029,6030) + PsiTypeQLElement(statement_thing_any) - Location: (6030,6146)(6030,6146) + PsiTypeQLElement(statement_relation) - Location: (6030,6146)(6030,6146) + PsiTypeQLElement(relation) - Location: (6030,6081)(6030,6081) + PsiElement('(')('(')(6030,6031) + PsiTypeQLElement(role_player) - Location: (6031,6051)(6031,6051) + PsiTypeQLElement(type) - Location: (6031,6044)(6031,6044) + PsiTypeQLElement(label) - Location: (6031,6044)(6031,6044) + PsiElement(LABEL_)('observed-data')(6031,6044) + PsiElement(':')(':')(6044,6045) + PsiWhiteSpace(' ')(6045,6046) + PsiTypeQLElement(player) - Location: (6046,6051)(6046,6051) + PsiElement(VAR_CONCEPT_)('$beta')(6046,6051) + PsiElement(',')(',')(6051,6052) + PsiWhiteSpace(' ')(6052,6053) + PsiTypeQLElement(role_player) - Location: (6053,6080)(6053,6080) + PsiTypeQLElement(type) - Location: (6053,6064)(6053,6064) + PsiTypeQLElement(label) - Location: (6053,6064)(6053,6064) + PsiElement(LABEL_)('sighting-of')(6053,6064) + PsiElement(':')(':')(6064,6065) + PsiWhiteSpace(' ')(6065,6066) + PsiTypeQLElement(player) - Location: (6066,6080)(6066,6080) + PsiElement(VAR_CONCEPT_)('$malicious-url')(6066,6080) + PsiElement(')')(')')(6080,6081) + PsiWhiteSpace(' ')(6081,6082) + PsiElement(ISA_)('isa')(6082,6085) + PsiWhiteSpace(' ')(6085,6086) + PsiTypeQLElement(type) - Location: (6086,6094)(6086,6094) + PsiTypeQLElement(label) - Location: (6086,6094)(6086,6094) + PsiElement(LABEL_)('sighting')(6086,6094) + PsiElement(',')(',')(6094,6095) + PsiWhiteSpace(' ')(6095,6096) + PsiTypeQLElement(attributes) - Location: (6096,6146)(6096,6146) + PsiTypeQLElement(attribute) - Location: (6096,6146)(6096,6146) + PsiElement('has')('has')(6096,6099) + PsiWhiteSpace(' ')(6099,6100) + PsiTypeQLElement(label) - Location: (6100,6107)(6100,6107) + PsiElement(LABEL_)('stix-id')(6100,6107) + PsiWhiteSpace(' ')(6107,6108) + PsiTypeQLElement(predicate) - Location: (6108,6146)(6108,6146) + PsiTypeQLElement(value) - Location: (6108,6146)(6108,6146) + PsiElement(QUOTED_STRING)('"5206ba14-478f-4b0b-9a48-395f690c20a2"')(6108,6146) + PsiElement(';')(';')(6146,6147) + PsiWhiteSpace('\n')(6147,6148) + PsiTypeQLElement(statement_thing_any) - Location: (6148,6205)(6148,6205) + PsiTypeQLElement(statement_relation) - Location: (6148,6205)(6148,6205) + PsiTypeQLElement(relation) - Location: (6148,6190)(6148,6190) + PsiElement('(')('(')(6148,6149) + PsiTypeQLElement(role_player) - Location: (6149,6164)(6149,6164) + PsiTypeQLElement(type) - Location: (6149,6156)(6149,6156) + PsiTypeQLElement(label) - Location: (6149,6156)(6149,6156) + PsiElement(LABEL_)('creator')(6149,6156) + PsiElement(':')(':')(6156,6157) + PsiWhiteSpace(' ')(6157,6158) + PsiTypeQLElement(player) - Location: (6158,6164)(6158,6164) + PsiElement(VAR_CONCEPT_)('$alpha')(6158,6164) + PsiElement(',')(',')(6164,6165) + PsiWhiteSpace(' ')(6165,6166) + PsiTypeQLElement(role_player) - Location: (6166,6189)(6166,6189) + PsiTypeQLElement(type) - Location: (6166,6173)(6166,6173) + PsiTypeQLElement(label) - Location: (6166,6173)(6166,6173) + PsiElement(LABEL_)('created')(6166,6173) + PsiElement(':')(':')(6173,6174) + PsiWhiteSpace(' ')(6174,6175) + PsiTypeQLElement(player) - Location: (6175,6189)(6175,6189) + PsiElement(VAR_CONCEPT_)('$malicious-url')(6175,6189) + PsiElement(')')(')')(6189,6190) + PsiWhiteSpace(' ')(6190,6191) + PsiElement(ISA_)('isa')(6191,6194) + PsiWhiteSpace(' ')(6194,6195) + PsiTypeQLElement(type) - Location: (6195,6205)(6195,6205) + PsiTypeQLElement(label) - Location: (6195,6205)(6195,6205) + PsiElement(LABEL_)('created-by')(6195,6205) + PsiElement(';')(';')(6205,6206) + PsiWhiteSpace('\n\n')(6206,6208) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/sighting-of-observed-data\n')(6208,6306) + PsiComment(COMMENT)('# Sighting of Observed Data\n')(6306,6334) + PsiTypeQLElement(modifiers) - Location: (6334,6334)(6334,6334) + + PsiTypeQLElement(query) - Location: (6334,9529)(6334,9529) + PsiTypeQLElement(query_insert) - Location: (6334,9529)(6334,9529) + PsiTypeQLElement(clause_insert) - Location: (6334,9349)(6334,9349) + PsiElement('insert')('insert')(6334,6340) + PsiWhiteSpace('\n')(6340,6341) + PsiTypeQLElement(statement_things) - Location: (6341,9349)(6341,9349) + PsiTypeQLElement(statement_thing_any) - Location: (6341,6645)(6341,6645) + PsiTypeQLElement(statement_thing) - Location: (6341,6645)(6341,6645) + PsiElement(VAR_CONCEPT_)('$pym')(6341,6345) + PsiWhiteSpace(' ')(6345,6346) + PsiElement(ISA_)('isa')(6346,6349) + PsiWhiteSpace(' ')(6349,6350) + PsiTypeQLElement(type) - Location: (6350,6362)(6350,6362) + PsiTypeQLElement(label) - Location: (6350,6362)(6350,6362) + PsiElement(LABEL_)('organization')(6350,6362) + PsiElement(',')(',')(6362,6363) + PsiWhiteSpace(' ')(6363,6364) + PsiTypeQLElement(attributes) - Location: (6364,6645)(6364,6645) + PsiTypeQLElement(attribute) - Location: (6364,6391)(6364,6391) + PsiElement('has')('has')(6364,6367) + PsiWhiteSpace(' ')(6367,6368) + PsiTypeQLElement(label) - Location: (6368,6372)(6368,6372) + PsiElement(LABEL_)('name')(6368,6372) + PsiWhiteSpace(' ')(6372,6373) + PsiTypeQLElement(predicate) - Location: (6373,6391)(6373,6391) + PsiTypeQLElement(value) - Location: (6373,6391)(6373,6391) + PsiElement(QUOTED_STRING)('"Pym Technologies"')(6373,6391) + PsiElement(',')(',')(6391,6392) + PsiWhiteSpace('\n ')(6392,6397) + PsiTypeQLElement(attribute) - Location: (6397,6419)(6397,6419) + PsiElement('has')('has')(6397,6400) + PsiWhiteSpace(' ')(6400,6401) + PsiTypeQLElement(label) - Location: (6401,6413)(6401,6413) + PsiElement(LABEL_)('spec-version')(6401,6413) + PsiWhiteSpace(' ')(6413,6414) + PsiTypeQLElement(predicate) - Location: (6414,6419)(6414,6419) + PsiTypeQLElement(value) - Location: (6414,6419)(6414,6419) + PsiElement(QUOTED_STRING)('"2.1"')(6414,6419) + PsiElement(',')(',')(6419,6420) + PsiWhiteSpace('\n ')(6420,6425) + PsiTypeQLElement(attribute) - Location: (6425,6485)(6425,6485) + PsiElement('has')('has')(6425,6428) + PsiWhiteSpace(' ')(6428,6429) + PsiTypeQLElement(label) - Location: (6429,6436)(6429,6436) + PsiElement(LABEL_)('stix-id')(6429,6436) + PsiWhiteSpace(' ')(6436,6437) + PsiTypeQLElement(predicate) - Location: (6437,6485)(6437,6485) + PsiTypeQLElement(value) - Location: (6437,6485)(6437,6485) + PsiElement(QUOTED_STRING)('"identity--7865b6d2-a4af-45c5-b582-afe5ec376c33"')(6437,6485) + PsiElement(',')(',')(6485,6486) + PsiWhiteSpace('\n ')(6486,6491) + PsiTypeQLElement(attribute) - Location: (6491,6526)(6491,6526) + PsiElement('has')('has')(6491,6494) + PsiWhiteSpace(' ')(6494,6495) + PsiTypeQLElement(label) - Location: (6495,6502)(6495,6502) + PsiElement(LABEL_)('created')(6495,6502) + PsiWhiteSpace(' ')(6502,6503) + PsiTypeQLElement(predicate) - Location: (6503,6526)(6503,6526) + PsiTypeQLElement(value) - Location: (6503,6526)(6503,6526) + PsiElement(DATETIME_)('2013-04-14T13:07:49.812')(6503,6526) + PsiElement(',')(',')(6526,6527) + PsiWhiteSpace('\n ')(6527,6532) + PsiTypeQLElement(attribute) - Location: (6532,6568)(6532,6568) + PsiElement('has')('has')(6532,6535) + PsiWhiteSpace(' ')(6535,6536) + PsiTypeQLElement(label) - Location: (6536,6544)(6536,6544) + PsiElement(LABEL_)('modified')(6536,6544) + PsiWhiteSpace(' ')(6544,6545) + PsiTypeQLElement(predicate) - Location: (6545,6568)(6545,6568) + PsiTypeQLElement(value) - Location: (6545,6568)(6545,6568) + PsiElement(DATETIME_)('2013-04-14T13:07:49.812')(6545,6568) + PsiElement(',')(',')(6568,6569) + PsiWhiteSpace('\n ')(6569,6574) + PsiTypeQLElement(attribute) - Location: (6574,6597)(6574,6597) + PsiElement('has')('has')(6574,6577) + PsiWhiteSpace(' ')(6577,6578) + PsiTypeQLElement(label) - Location: (6578,6584)(6578,6584) + PsiElement(LABEL_)('sector')(6578,6584) + PsiWhiteSpace(' ')(6584,6585) + PsiTypeQLElement(predicate) - Location: (6585,6597)(6585,6597) + PsiTypeQLElement(value) - Location: (6585,6597)(6585,6597) + PsiElement(QUOTED_STRING)('"technology"')(6585,6597) + PsiElement(',')(',')(6597,6598) + PsiWhiteSpace('\n ')(6598,6603) + PsiTypeQLElement(attribute) - Location: (6603,6645)(6603,6645) + PsiElement('has')('has')(6603,6606) + PsiWhiteSpace(' ')(6606,6607) + PsiTypeQLElement(label) - Location: (6607,6626)(6607,6626) + PsiElement(LABEL_)('contact-information')(6607,6626) + PsiWhiteSpace(' ')(6626,6627) + PsiTypeQLElement(predicate) - Location: (6627,6645)(6627,6645) + PsiTypeQLElement(value) - Location: (6627,6645)(6627,6645) + PsiElement(QUOTED_STRING)('"hank@pymtech.com"')(6627,6645) + PsiElement(';')(';')(6645,6646) + PsiWhiteSpace('\n')(6646,6647) + PsiTypeQLElement(statement_thing_any) - Location: (6647,6957)(6647,6957) + PsiTypeQLElement(statement_thing) - Location: (6647,6957)(6647,6957) + PsiElement(VAR_CONCEPT_)('$oscorp')(6647,6654) + PsiWhiteSpace(' ')(6654,6655) + PsiElement(ISA_)('isa')(6655,6658) + PsiWhiteSpace(' ')(6658,6659) + PsiTypeQLElement(type) - Location: (6659,6671)(6659,6671) + PsiTypeQLElement(label) - Location: (6659,6671)(6659,6671) + PsiElement(LABEL_)('organization')(6659,6671) + PsiElement(',')(',')(6671,6672) + PsiWhiteSpace(' ')(6672,6673) + PsiTypeQLElement(attributes) - Location: (6673,6957)(6673,6957) + PsiTypeQLElement(attribute) - Location: (6673,6701)(6673,6701) + PsiElement('has')('has')(6673,6676) + PsiWhiteSpace(' ')(6676,6677) + PsiTypeQLElement(label) - Location: (6677,6681)(6677,6681) + PsiElement(LABEL_)('name')(6677,6681) + PsiWhiteSpace(' ')(6681,6682) + PsiTypeQLElement(predicate) - Location: (6682,6701)(6682,6701) + PsiTypeQLElement(value) - Location: (6682,6701)(6682,6701) + PsiElement(QUOTED_STRING)('"Oscorp Industries"')(6682,6701) + PsiElement(',')(',')(6701,6702) + PsiWhiteSpace('\n ')(6702,6707) + PsiTypeQLElement(attribute) - Location: (6707,6729)(6707,6729) + PsiElement('has')('has')(6707,6710) + PsiWhiteSpace(' ')(6710,6711) + PsiTypeQLElement(label) - Location: (6711,6723)(6711,6723) + PsiElement(LABEL_)('spec-version')(6711,6723) + PsiWhiteSpace(' ')(6723,6724) + PsiTypeQLElement(predicate) - Location: (6724,6729)(6724,6729) + PsiTypeQLElement(value) - Location: (6724,6729)(6724,6729) + PsiElement(QUOTED_STRING)('"2.1"')(6724,6729) + PsiWhiteSpace(' ')(6729,6730) + PsiElement(',')(',')(6730,6731) + PsiWhiteSpace('\n ')(6731,6736) + PsiTypeQLElement(attribute) - Location: (6736,6796)(6736,6796) + PsiElement('has')('has')(6736,6739) + PsiWhiteSpace(' ')(6739,6740) + PsiTypeQLElement(label) - Location: (6740,6747)(6740,6747) + PsiElement(LABEL_)('stix-id')(6740,6747) + PsiWhiteSpace(' ')(6747,6748) + PsiTypeQLElement(predicate) - Location: (6748,6796)(6748,6796) + PsiTypeQLElement(value) - Location: (6748,6796)(6748,6796) + PsiElement(QUOTED_STRING)('"identity--987eeee1-413a-44ac-96cc-0a8acdcc2f2c"')(6748,6796) + PsiElement(',')(',')(6796,6797) + PsiWhiteSpace('\n ')(6797,6802) + PsiTypeQLElement(attribute) - Location: (6802,6837)(6802,6837) + PsiElement('has')('has')(6802,6805) + PsiWhiteSpace(' ')(6805,6806) + PsiTypeQLElement(label) - Location: (6806,6813)(6806,6813) + PsiElement(LABEL_)('created')(6806,6813) + PsiWhiteSpace(' ')(6813,6814) + PsiTypeQLElement(predicate) - Location: (6814,6837)(6814,6837) + PsiTypeQLElement(value) - Location: (6814,6837)(6814,6837) + PsiElement(DATETIME_)('2017-01-14T13:07:49.812')(6814,6837) + PsiElement(',')(',')(6837,6838) + PsiWhiteSpace('\n ')(6838,6843) + PsiTypeQLElement(attribute) - Location: (6843,6879)(6843,6879) + PsiElement('has')('has')(6843,6846) + PsiWhiteSpace(' ')(6846,6847) + PsiTypeQLElement(label) - Location: (6847,6855)(6847,6855) + PsiElement(LABEL_)('modified')(6847,6855) + PsiWhiteSpace(' ')(6855,6856) + PsiTypeQLElement(predicate) - Location: (6856,6879)(6856,6879) + PsiTypeQLElement(value) - Location: (6856,6879)(6856,6879) + PsiElement(DATETIME_)('2017-01-14T13:07:49.812')(6856,6879) + PsiElement(',')(',')(6879,6880) + PsiWhiteSpace('\n ')(6880,6885) + PsiTypeQLElement(attribute) - Location: (6885,6908)(6885,6908) + PsiElement('has')('has')(6885,6888) + PsiWhiteSpace(' ')(6888,6889) + PsiTypeQLElement(label) - Location: (6889,6895)(6889,6895) + PsiElement(LABEL_)('sector')(6889,6895) + PsiWhiteSpace(' ')(6895,6896) + PsiTypeQLElement(predicate) - Location: (6896,6908)(6896,6908) + PsiTypeQLElement(value) - Location: (6896,6908)(6896,6908) + PsiElement(QUOTED_STRING)('"technology"')(6896,6908) + PsiElement(',')(',')(6908,6909) + PsiWhiteSpace('\n ')(6909,6914) + PsiTypeQLElement(attribute) - Location: (6914,6957)(6914,6957) + PsiElement('has')('has')(6914,6917) + PsiWhiteSpace(' ')(6917,6918) + PsiTypeQLElement(label) - Location: (6918,6937)(6918,6937) + PsiElement(LABEL_)('contact-information')(6918,6937) + PsiWhiteSpace(' ')(6937,6938) + PsiTypeQLElement(predicate) - Location: (6938,6957)(6938,6957) + PsiTypeQLElement(value) - Location: (6938,6957)(6938,6957) + PsiElement(QUOTED_STRING)('"norman@oscorp.com"')(6938,6957) + PsiElement(';')(';')(6957,6958) + PsiWhiteSpace('\n')(6958,6959) + PsiTypeQLElement(statement_thing_any) - Location: (6959,7377)(6959,7377) + PsiTypeQLElement(statement_thing) - Location: (6959,7377)(6959,7377) + PsiElement(VAR_CONCEPT_)('$malware')(6959,6967) + PsiWhiteSpace(' ')(6967,6968) + PsiElement(ISA_)('isa')(6968,6971) + PsiWhiteSpace(' ')(6971,6972) + PsiTypeQLElement(type) - Location: (6972,6979)(6972,6979) + PsiTypeQLElement(label) - Location: (6972,6979)(6972,6979) + PsiElement(LABEL_)('malware')(6972,6979) + PsiElement(',')(',')(6979,6980) + PsiWhiteSpace(' ')(6980,6981) + PsiTypeQLElement(attributes) - Location: (6981,7377)(6981,7377) + PsiTypeQLElement(attribute) - Location: (6981,7014)(6981,7014) + PsiElement('has')('has')(6981,6984) + PsiWhiteSpace(' ')(6984,6985) + PsiTypeQLElement(label) - Location: (6985,6989)(6985,6989) + PsiElement(LABEL_)('name')(6985,6989) + PsiWhiteSpace(' ')(6989,6990) + PsiTypeQLElement(predicate) - Location: (6990,7014)(6990,7014) + PsiTypeQLElement(value) - Location: (6990,7014)(6990,7014) + PsiElement(QUOTED_STRING)('"Online Job Site Trojan"')(6990,7014) + PsiElement(',')(',')(7014,7015) + PsiWhiteSpace('\n ')(7015,7020) + PsiTypeQLElement(attribute) - Location: (7020,7042)(7020,7042) + PsiElement('has')('has')(7020,7023) + PsiWhiteSpace(' ')(7023,7024) + PsiTypeQLElement(label) - Location: (7024,7036)(7024,7036) + PsiElement(LABEL_)('spec-version')(7024,7036) + PsiWhiteSpace(' ')(7036,7037) + PsiTypeQLElement(predicate) - Location: (7037,7042)(7037,7042) + PsiTypeQLElement(value) - Location: (7037,7042)(7037,7042) + PsiElement(QUOTED_STRING)('"2.1"')(7037,7042) + PsiElement(',')(',')(7042,7043) + PsiWhiteSpace('\n ')(7043,7048) + PsiTypeQLElement(attribute) - Location: (7048,7107)(7048,7107) + PsiElement('has')('has')(7048,7051) + PsiWhiteSpace(' ')(7051,7052) + PsiTypeQLElement(label) - Location: (7052,7059)(7052,7059) + PsiElement(LABEL_)('stix-id')(7052,7059) + PsiWhiteSpace(' ')(7059,7060) + PsiTypeQLElement(predicate) - Location: (7060,7107)(7060,7107) + PsiTypeQLElement(value) - Location: (7060,7107)(7060,7107) + PsiElement(QUOTED_STRING)('"malware--ae560258-a5cb-4be8-8f05-013d6712295f"')(7060,7107) + PsiElement(',')(',')(7107,7108) + PsiWhiteSpace('\n ')(7108,7113) + PsiTypeQLElement(attribute) - Location: (7113,7148)(7113,7148) + PsiElement('has')('has')(7113,7116) + PsiWhiteSpace(' ')(7116,7117) + PsiTypeQLElement(label) - Location: (7117,7124)(7117,7124) + PsiElement(LABEL_)('created')(7117,7124) + PsiWhiteSpace(' ')(7124,7125) + PsiTypeQLElement(predicate) - Location: (7125,7148)(7125,7148) + PsiTypeQLElement(value) - Location: (7125,7148)(7125,7148) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(7125,7148) + PsiElement(',')(',')(7148,7149) + PsiWhiteSpace('\n ')(7149,7154) + PsiTypeQLElement(attribute) - Location: (7154,7190)(7154,7190) + PsiElement('has')('has')(7154,7157) + PsiWhiteSpace(' ')(7157,7158) + PsiTypeQLElement(label) - Location: (7158,7166)(7158,7166) + PsiElement(LABEL_)('modified')(7158,7166) + PsiWhiteSpace(' ')(7166,7167) + PsiTypeQLElement(predicate) - Location: (7167,7190)(7167,7190) + PsiTypeQLElement(value) - Location: (7167,7190)(7167,7190) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(7167,7190) + PsiElement(',')(',')(7190,7191) + PsiWhiteSpace('\n ')(7191,7196) + PsiTypeQLElement(attribute) - Location: (7196,7306)(7196,7306) + PsiElement('has')('has')(7196,7199) + PsiWhiteSpace(' ')(7199,7200) + PsiTypeQLElement(label) - Location: (7200,7211)(7200,7211) + PsiElement(LABEL_)('description')(7200,7211) + PsiWhiteSpace(' ')(7211,7212) + PsiTypeQLElement(predicate) - Location: (7212,7306)(7212,7306) + PsiTypeQLElement(value) - Location: (7212,7306)(7212,7306) + PsiElement(QUOTED_STRING)('"Trojan that is disguised as the executable file resume.pdf., it also creates a registry key."')(7212,7306) + PsiElement(',')(',')(7306,7307) + PsiWhiteSpace('\n ')(7307,7312) + PsiTypeQLElement(attribute) - Location: (7312,7352)(7312,7352) + PsiElement('has')('has')(7312,7315) + PsiWhiteSpace(' ')(7315,7316) + PsiTypeQLElement(label) - Location: (7316,7329)(7316,7329) + PsiElement(LABEL_)('malware-types')(7316,7329) + PsiWhiteSpace(' ')(7329,7330) + PsiTypeQLElement(predicate) - Location: (7330,7352)(7330,7352) + PsiTypeQLElement(value) - Location: (7330,7352)(7330,7352) + PsiElement(QUOTED_STRING)('"remote-access-trojan"')(7330,7352) + PsiElement(',')(',')(7352,7353) + PsiWhiteSpace('\n ')(7353,7358) + PsiTypeQLElement(attribute) - Location: (7358,7377)(7358,7377) + PsiElement('has')('has')(7358,7361) + PsiWhiteSpace(' ')(7361,7362) + PsiTypeQLElement(label) - Location: (7362,7371)(7362,7371) + PsiElement(LABEL_)('is-family')(7362,7371) + PsiWhiteSpace(' ')(7371,7372) + PsiTypeQLElement(predicate) - Location: (7372,7377)(7372,7377) + PsiTypeQLElement(value) - Location: (7372,7377)(7372,7377) + PsiElement(BOOLEAN_)('false')(7372,7377) + PsiElement(';')(';')(7377,7378) + PsiWhiteSpace('\n')(7378,7379) + PsiTypeQLElement(statement_thing_any) - Location: (7379,7530)(7379,7530) + PsiTypeQLElement(statement_thing) - Location: (7379,7530)(7379,7530) + PsiElement(VAR_CONCEPT_)('$file')(7379,7384) + PsiWhiteSpace(' ')(7384,7385) + PsiElement(ISA_)('isa')(7385,7388) + PsiWhiteSpace(' ')(7388,7389) + PsiTypeQLElement(type) - Location: (7389,7393)(7389,7393) + PsiTypeQLElement(label) - Location: (7389,7393)(7389,7393) + PsiElement(LABEL_)('file')(7389,7393) + PsiElement(',')(',')(7393,7394) + PsiWhiteSpace('\n ')(7394,7399) + PsiTypeQLElement(attributes) - Location: (7399,7530)(7399,7530) + PsiTypeQLElement(attribute) - Location: (7399,7455)(7399,7455) + PsiElement('has')('has')(7399,7402) + PsiWhiteSpace(' ')(7402,7403) + PsiTypeQLElement(label) - Location: (7403,7410)(7403,7410) + PsiElement(LABEL_)('stix-id')(7403,7410) + PsiWhiteSpace(' ')(7410,7411) + PsiTypeQLElement(predicate) - Location: (7411,7455)(7411,7455) + PsiTypeQLElement(value) - Location: (7411,7455)(7411,7455) + PsiElement(QUOTED_STRING)('"file--364fe3e5-b1f4-5ba3-b951-ee5983b3538d"')(7411,7455) + PsiElement(',')(',')(7455,7456) + PsiWhiteSpace('\n ')(7456,7461) + PsiTypeQLElement(attribute) - Location: (7461,7483)(7461,7483) + PsiElement('has')('has')(7461,7464) + PsiWhiteSpace(' ')(7464,7465) + PsiTypeQLElement(label) - Location: (7465,7477)(7465,7477) + PsiElement(LABEL_)('spec-version')(7465,7477) + PsiWhiteSpace(' ')(7477,7478) + PsiTypeQLElement(predicate) - Location: (7478,7483)(7478,7483) + PsiTypeQLElement(value) - Location: (7478,7483)(7478,7483) + PsiElement(QUOTED_STRING)('"2.1"')(7478,7483) + PsiElement(',')(',')(7483,7484) + PsiWhiteSpace('\n ')(7484,7489) + PsiTypeQLElement(attribute) - Location: (7489,7503)(7489,7503) + PsiElement('has')('has')(7489,7492) + PsiWhiteSpace(' ')(7492,7493) + PsiTypeQLElement(label) - Location: (7493,7497)(7493,7497) + PsiElement(LABEL_)('size')(7493,7497) + PsiWhiteSpace(' ')(7497,7498) + PsiTypeQLElement(predicate) - Location: (7498,7503)(7498,7503) + PsiTypeQLElement(value) - Location: (7498,7503)(7498,7503) + PsiTypeQLElement(signed_long) - Location: (7498,7503)(7498,7503) + PsiElement(LONG_)('83968')(7498,7503) + PsiElement(',')(',')(7503,7504) + PsiWhiteSpace('\n ')(7504,7509) + PsiTypeQLElement(attribute) - Location: (7509,7530)(7509,7530) + PsiElement('has')('has')(7509,7512) + PsiWhiteSpace(' ')(7512,7513) + PsiTypeQLElement(label) - Location: (7513,7517)(7513,7517) + PsiElement(LABEL_)('name')(7513,7517) + PsiWhiteSpace(' ')(7517,7518) + PsiTypeQLElement(predicate) - Location: (7518,7530)(7518,7530) + PsiTypeQLElement(value) - Location: (7518,7530)(7518,7530) + PsiElement(QUOTED_STRING)('"resume.pdf"')(7518,7530) + PsiElement(';')(';')(7530,7531) + PsiWhiteSpace('\n')(7531,7532) + PsiTypeQLElement(statement_thing_any) - Location: (7532,7553)(7532,7553) + PsiTypeQLElement(statement_thing) - Location: (7532,7553)(7532,7553) + PsiElement(VAR_CONCEPT_)('$ploup')(7532,7538) + PsiWhiteSpace(' ')(7538,7539) + PsiElement(ISA_)('isa')(7539,7542) + PsiWhiteSpace(' ')(7542,7543) + PsiTypeQLElement(type) - Location: (7543,7553)(7543,7553) + PsiTypeQLElement(label) - Location: (7543,7553)(7543,7553) + PsiElement(LABEL_)('hash-value')(7543,7553) + PsiElement(';')(';')(7553,7554) + PsiWhiteSpace('\n')(7554,7555) + PsiTypeQLElement(statement_thing_any) - Location: (7555,7596)(7555,7596) + PsiTypeQLElement(statement_attribute) - Location: (7555,7596)(7555,7596) + PsiElement(VAR_CONCEPT_)('$ploup')(7555,7561) + PsiWhiteSpace(' ')(7561,7562) + PsiTypeQLElement(predicate) - Location: (7562,7596)(7562,7596) + PsiTypeQLElement(value) - Location: (7562,7596)(7562,7596) + PsiElement(QUOTED_STRING)('"1717b7fff97d37a1e1a0029d83492de1"')(7562,7596) + PsiElement(';')(';')(7596,7597) + PsiWhiteSpace('\n')(7597,7598) + PsiTypeQLElement(statement_thing_any) - Location: (7598,7618)(7598,7618) + PsiTypeQLElement(statement_thing) - Location: (7598,7618)(7598,7618) + PsiElement(VAR_CONCEPT_)('$plip')(7598,7603) + PsiWhiteSpace(' ')(7603,7604) + PsiElement(ISA_)('isa')(7604,7607) + PsiWhiteSpace(' ')(7607,7608) + PsiTypeQLElement(type) - Location: (7608,7618)(7608,7618) + PsiTypeQLElement(label) - Location: (7608,7618)(7608,7618) + PsiElement(LABEL_)('hash-value')(7608,7618) + PsiElement(';')(';')(7618,7619) + PsiWhiteSpace('\n')(7619,7620) + PsiTypeQLElement(statement_thing_any) - Location: (7620,7661)(7620,7661) + PsiTypeQLElement(statement_attribute) - Location: (7620,7661)(7620,7661) + PsiElement(VAR_CONCEPT_)('$plip')(7620,7625) + PsiWhiteSpace(' ')(7625,7626) + PsiTypeQLElement(predicate) - Location: (7626,7661)(7626,7661) + PsiTypeQLElement(value) - Location: (7626,7661)(7626,7661) + PsiElement(QUOTED_STRING)('"1717b7fff97d37a1e1a0aa29d83492de1"')(7626,7661) + PsiElement(';')(';')(7661,7662) + PsiWhiteSpace('\n')(7662,7663) + PsiTypeQLElement(statement_thing_any) - Location: (7663,7741)(7663,7741) + PsiTypeQLElement(statement_relation) - Location: (7663,7741)(7663,7741) + PsiTypeQLElement(relation) - Location: (7663,7704)(7663,7704) + PsiElement('(')('(')(7663,7664) + PsiTypeQLElement(role_player) - Location: (7664,7682)(7664,7682) + PsiTypeQLElement(type) - Location: (7664,7674)(7664,7674) + PsiTypeQLElement(label) - Location: (7664,7674)(7664,7674) + PsiElement(LABEL_)('hash-value')(7664,7674) + PsiElement(':')(':')(7674,7675) + PsiWhiteSpace(' ')(7675,7676) + PsiTypeQLElement(player) - Location: (7676,7682)(7676,7682) + PsiElement(VAR_CONCEPT_)('$ploup')(7676,7682) + PsiElement(',')(',')(7682,7683) + PsiWhiteSpace(' ')(7683,7684) + PsiTypeQLElement(role_player) - Location: (7684,7703)(7684,7703) + PsiTypeQLElement(type) - Location: (7684,7696)(7684,7696) + PsiTypeQLElement(label) - Location: (7684,7696)(7684,7696) + PsiElement(LABEL_)('hashes-owner')(7684,7696) + PsiElement(':')(':')(7696,7697) + PsiWhiteSpace(' ')(7697,7698) + PsiTypeQLElement(player) - Location: (7698,7703)(7698,7703) + PsiElement(VAR_CONCEPT_)('$file')(7698,7703) + PsiElement(')')(')')(7703,7704) + PsiWhiteSpace(' ')(7704,7705) + PsiElement(ISA_)('isa')(7705,7708) + PsiWhiteSpace(' ')(7708,7709) + PsiTypeQLElement(type) - Location: (7709,7715)(7709,7715) + PsiTypeQLElement(label) - Location: (7709,7715)(7709,7715) + PsiElement(LABEL_)('hashes')(7709,7715) + PsiElement(',')(',')(7715,7716) + PsiWhiteSpace(' ')(7716,7717) + PsiTypeQLElement(attributes) - Location: (7717,7741)(7717,7741) + PsiTypeQLElement(attribute) - Location: (7717,7741)(7717,7741) + PsiElement('has')('has')(7717,7720) + PsiWhiteSpace(' ')(7720,7721) + PsiTypeQLElement(label) - Location: (7721,7735)(7721,7735) + PsiElement(LABEL_)('hash-algorithm')(7721,7735) + PsiWhiteSpace(' ')(7735,7736) + PsiTypeQLElement(predicate) - Location: (7736,7741)(7736,7741) + PsiTypeQLElement(value) - Location: (7736,7741)(7736,7741) + PsiElement(QUOTED_STRING)('"MD5"')(7736,7741) + PsiElement(';')(';')(7741,7742) + PsiWhiteSpace('\n')(7742,7743) + PsiTypeQLElement(statement_thing_any) - Location: (7743,7822)(7743,7822) + PsiTypeQLElement(statement_relation) - Location: (7743,7822)(7743,7822) + PsiTypeQLElement(relation) - Location: (7743,7783)(7743,7783) + PsiElement('(')('(')(7743,7744) + PsiTypeQLElement(role_player) - Location: (7744,7761)(7744,7761) + PsiTypeQLElement(type) - Location: (7744,7754)(7744,7754) + PsiTypeQLElement(label) - Location: (7744,7754)(7744,7754) + PsiElement(LABEL_)('hash-value')(7744,7754) + PsiElement(':')(':')(7754,7755) + PsiWhiteSpace(' ')(7755,7756) + PsiTypeQLElement(player) - Location: (7756,7761)(7756,7761) + PsiElement(VAR_CONCEPT_)('$plip')(7756,7761) + PsiElement(',')(',')(7761,7762) + PsiWhiteSpace(' ')(7762,7763) + PsiTypeQLElement(role_player) - Location: (7763,7782)(7763,7782) + PsiTypeQLElement(type) - Location: (7763,7775)(7763,7775) + PsiTypeQLElement(label) - Location: (7763,7775)(7763,7775) + PsiElement(LABEL_)('hashes-owner')(7763,7775) + PsiElement(':')(':')(7775,7776) + PsiWhiteSpace(' ')(7776,7777) + PsiTypeQLElement(player) - Location: (7777,7782)(7777,7782) + PsiElement(VAR_CONCEPT_)('$file')(7777,7782) + PsiElement(')')(')')(7782,7783) + PsiWhiteSpace(' ')(7783,7784) + PsiElement(ISA_)('isa')(7784,7787) + PsiWhiteSpace(' ')(7787,7788) + PsiTypeQLElement(type) - Location: (7788,7794)(7788,7794) + PsiTypeQLElement(label) - Location: (7788,7794)(7788,7794) + PsiElement(LABEL_)('hashes')(7788,7794) + PsiElement(',')(',')(7794,7795) + PsiWhiteSpace(' ')(7795,7796) + PsiTypeQLElement(attributes) - Location: (7796,7822)(7796,7822) + PsiTypeQLElement(attribute) - Location: (7796,7822)(7796,7822) + PsiElement('has')('has')(7796,7799) + PsiWhiteSpace(' ')(7799,7800) + PsiTypeQLElement(label) - Location: (7800,7814)(7800,7814) + PsiElement(LABEL_)('hash-algorithm')(7800,7814) + PsiWhiteSpace(' ')(7814,7815) + PsiTypeQLElement(predicate) - Location: (7815,7822)(7815,7822) + PsiTypeQLElement(value) - Location: (7815,7822)(7815,7822) + PsiElement(QUOTED_STRING)('"SHA-1"')(7815,7822) + PsiElement(';')(';')(7822,7823) + PsiWhiteSpace('\n')(7823,7824) + PsiTypeQLElement(statement_thing_any) - Location: (7824,8152)(7824,8152) + PsiTypeQLElement(statement_thing) - Location: (7824,8152)(7824,8152) + PsiElement(VAR_CONCEPT_)('$data1')(7824,7830) + PsiWhiteSpace(' ')(7830,7831) + PsiElement(ISA_)('isa')(7831,7834) + PsiWhiteSpace(' ')(7834,7835) + PsiTypeQLElement(type) - Location: (7835,7848)(7835,7848) + PsiTypeQLElement(label) - Location: (7835,7848)(7835,7848) + PsiElement(LABEL_)('observed-data')(7835,7848) + PsiElement(',')(',')(7848,7849) + PsiWhiteSpace('\n ')(7849,7854) + PsiTypeQLElement(attributes) - Location: (7854,8152)(7854,8152) + PsiTypeQLElement(attribute) - Location: (7854,7876)(7854,7876) + PsiElement('has')('has')(7854,7857) + PsiWhiteSpace(' ')(7857,7858) + PsiTypeQLElement(label) - Location: (7858,7870)(7858,7870) + PsiElement(LABEL_)('spec-version')(7858,7870) + PsiWhiteSpace(' ')(7870,7871) + PsiTypeQLElement(predicate) - Location: (7871,7876)(7871,7876) + PsiTypeQLElement(value) - Location: (7871,7876)(7871,7876) + PsiElement(QUOTED_STRING)('"2.1"')(7871,7876) + PsiElement(',')(',')(7876,7877) + PsiWhiteSpace('\n ')(7877,7882) + PsiTypeQLElement(attribute) - Location: (7882,7947)(7882,7947) + PsiElement('has')('has')(7882,7885) + PsiWhiteSpace(' ')(7885,7886) + PsiTypeQLElement(label) - Location: (7886,7893)(7886,7893) + PsiElement(LABEL_)('stix-id')(7886,7893) + PsiWhiteSpace(' ')(7893,7894) + PsiTypeQLElement(predicate) - Location: (7894,7947)(7894,7947) + PsiTypeQLElement(value) - Location: (7894,7947)(7894,7947) + PsiElement(QUOTED_STRING)('"observed-data--cf8eaa41-6f4c-482e-89b9-9cd2d6a83cb1"')(7894,7947) + PsiElement(',')(',')(7947,7948) + PsiWhiteSpace('\n ')(7948,7953) + PsiTypeQLElement(attribute) - Location: (7953,7988)(7953,7988) + PsiElement('has')('has')(7953,7956) + PsiWhiteSpace(' ')(7956,7957) + PsiTypeQLElement(label) - Location: (7957,7964)(7957,7964) + PsiElement(LABEL_)('created')(7957,7964) + PsiWhiteSpace(' ')(7964,7965) + PsiTypeQLElement(predicate) - Location: (7965,7988)(7965,7988) + PsiTypeQLElement(value) - Location: (7965,7988)(7965,7988) + PsiElement(DATETIME_)('2017-02-28T19:37:11.213')(7965,7988) + PsiElement(',')(',')(7988,7989) + PsiWhiteSpace('\n ')(7989,7994) + PsiTypeQLElement(attribute) - Location: (7994,8030)(7994,8030) + PsiElement('has')('has')(7994,7997) + PsiWhiteSpace(' ')(7997,7998) + PsiTypeQLElement(label) - Location: (7998,8006)(7998,8006) + PsiElement(LABEL_)('modified')(7998,8006) + PsiWhiteSpace(' ')(8006,8007) + PsiTypeQLElement(predicate) - Location: (8007,8030)(8007,8030) + PsiTypeQLElement(value) - Location: (8007,8030)(8007,8030) + PsiElement(DATETIME_)('2017-02-28T19:37:11.213')(8007,8030) + PsiElement(',')(',')(8030,8031) + PsiWhiteSpace('\n ')(8031,8036) + PsiTypeQLElement(attribute) - Location: (8036,8078)(8036,8078) + PsiElement('has')('has')(8036,8039) + PsiWhiteSpace(' ')(8039,8040) + PsiTypeQLElement(label) - Location: (8040,8054)(8040,8054) + PsiElement(LABEL_)('first-observed')(8040,8054) + PsiWhiteSpace(' ')(8054,8055) + PsiTypeQLElement(predicate) - Location: (8055,8078)(8055,8078) + PsiTypeQLElement(value) - Location: (8055,8078)(8055,8078) + PsiElement(DATETIME_)('2017-02-27T21:37:11.213')(8055,8078) + PsiElement(',')(',')(8078,8079) + PsiWhiteSpace('\n ')(8079,8084) + PsiTypeQLElement(attribute) - Location: (8084,8125)(8084,8125) + PsiElement('has')('has')(8084,8087) + PsiWhiteSpace(' ')(8087,8088) + PsiTypeQLElement(label) - Location: (8088,8101)(8088,8101) + PsiElement(LABEL_)('last-observed')(8088,8101) + PsiWhiteSpace(' ')(8101,8102) + PsiTypeQLElement(predicate) - Location: (8102,8125)(8102,8125) + PsiTypeQLElement(value) - Location: (8102,8125)(8102,8125) + PsiElement(DATETIME_)('2017-02-27T21:37:11.213')(8102,8125) + PsiElement(',')(',')(8125,8126) + PsiWhiteSpace('\n ')(8126,8131) + PsiTypeQLElement(attribute) - Location: (8131,8152)(8131,8152) + PsiElement('has')('has')(8131,8134) + PsiWhiteSpace(' ')(8134,8135) + PsiTypeQLElement(label) - Location: (8135,8150)(8135,8150) + PsiElement(LABEL_)('number-observed')(8135,8150) + PsiWhiteSpace(' ')(8150,8151) + PsiTypeQLElement(predicate) - Location: (8151,8152)(8151,8152) + PsiTypeQLElement(value) - Location: (8151,8152)(8151,8152) + PsiTypeQLElement(signed_long) - Location: (8151,8152)(8151,8152) + PsiElement(LONG_)('1')(8151,8152) + PsiElement(';')(';')(8152,8153) + PsiWhiteSpace('\n')(8153,8154) + PsiTypeQLElement(statement_thing_any) - Location: (8154,8374)(8154,8374) + PsiTypeQLElement(statement_thing) - Location: (8154,8374)(8154,8374) + PsiElement(VAR_CONCEPT_)('$key')(8154,8158) + PsiWhiteSpace(' ')(8158,8159) + PsiElement(ISA_)('isa')(8159,8162) + PsiWhiteSpace(' ')(8162,8163) + PsiTypeQLElement(type) - Location: (8163,8183)(8163,8183) + PsiTypeQLElement(label) - Location: (8163,8183)(8163,8183) + PsiElement(LABEL_)('windows-registry-key')(8163,8183) + PsiElement(',')(',')(8183,8184) + PsiWhiteSpace('\n ')(8184,8189) + PsiTypeQLElement(attributes) - Location: (8189,8374)(8189,8374) + PsiTypeQLElement(attribute) - Location: (8189,8261)(8189,8261) + PsiElement('has')('has')(8189,8192) + PsiWhiteSpace(' ')(8192,8193) + PsiTypeQLElement(label) - Location: (8193,8200)(8193,8200) + PsiElement(LABEL_)('stix-id')(8193,8200) + PsiWhiteSpace(' ')(8200,8201) + PsiTypeQLElement(predicate) - Location: (8201,8261)(8201,8261) + PsiTypeQLElement(value) - Location: (8201,8261)(8201,8261) + PsiElement(QUOTED_STRING)('"windows-registry-key--16b80d14-d574-5620-abad-10ff304b1c26"')(8201,8261) + PsiElement(',')(',')(8261,8262) + PsiWhiteSpace('\n ')(8262,8267) + PsiTypeQLElement(attribute) - Location: (8267,8289)(8267,8289) + PsiElement('has')('has')(8267,8270) + PsiWhiteSpace(' ')(8270,8271) + PsiTypeQLElement(label) - Location: (8271,8283)(8271,8283) + PsiElement(LABEL_)('spec-version')(8271,8283) + PsiWhiteSpace(' ')(8283,8284) + PsiTypeQLElement(predicate) - Location: (8284,8289)(8284,8289) + PsiTypeQLElement(value) - Location: (8284,8289)(8284,8289) + PsiElement(QUOTED_STRING)('"2.1"')(8284,8289) + PsiElement(',')(',')(8289,8290) + PsiWhiteSpace('\n ')(8290,8295) + PsiTypeQLElement(attribute) - Location: (8295,8374)(8295,8374) + PsiElement('has')('has')(8295,8298) + PsiWhiteSpace(' ')(8298,8299) + PsiTypeQLElement(label) - Location: (8299,8312)(8299,8312) + PsiElement(LABEL_)('attribute-key')(8299,8312) + PsiWhiteSpace(' ')(8312,8313) + PsiTypeQLElement(predicate) - Location: (8313,8374)(8313,8374) + PsiTypeQLElement(value) - Location: (8313,8374)(8313,8374) + PsiElement(QUOTED_STRING)('"HKEY-LOCAL-MACHINE\\SYSTEM\\ControlSet001\\Services\\WSALG2"')(8313,8374) + PsiElement(';')(';')(8374,8375) + PsiWhiteSpace('\n')(8375,8376) + PsiTypeQLElement(statement_thing_any) - Location: (8376,8704)(8376,8704) + PsiTypeQLElement(statement_thing) - Location: (8376,8704)(8376,8704) + PsiElement(VAR_CONCEPT_)('$data2')(8376,8382) + PsiWhiteSpace(' ')(8382,8383) + PsiElement(ISA_)('isa')(8383,8386) + PsiWhiteSpace(' ')(8386,8387) + PsiTypeQLElement(type) - Location: (8387,8400)(8387,8400) + PsiTypeQLElement(label) - Location: (8387,8400)(8387,8400) + PsiElement(LABEL_)('observed-data')(8387,8400) + PsiElement(',')(',')(8400,8401) + PsiWhiteSpace('\n ')(8401,8406) + PsiTypeQLElement(attributes) - Location: (8406,8704)(8406,8704) + PsiTypeQLElement(attribute) - Location: (8406,8428)(8406,8428) + PsiElement('has')('has')(8406,8409) + PsiWhiteSpace(' ')(8409,8410) + PsiTypeQLElement(label) - Location: (8410,8422)(8410,8422) + PsiElement(LABEL_)('spec-version')(8410,8422) + PsiWhiteSpace(' ')(8422,8423) + PsiTypeQLElement(predicate) - Location: (8423,8428)(8423,8428) + PsiTypeQLElement(value) - Location: (8423,8428)(8423,8428) + PsiElement(QUOTED_STRING)('"2.1"')(8423,8428) + PsiElement(',')(',')(8428,8429) + PsiWhiteSpace('\n ')(8429,8434) + PsiTypeQLElement(attribute) - Location: (8434,8499)(8434,8499) + PsiElement('has')('has')(8434,8437) + PsiWhiteSpace(' ')(8437,8438) + PsiTypeQLElement(label) - Location: (8438,8445)(8438,8445) + PsiElement(LABEL_)('stix-id')(8438,8445) + PsiWhiteSpace(' ')(8445,8446) + PsiTypeQLElement(predicate) - Location: (8446,8499)(8446,8499) + PsiTypeQLElement(value) - Location: (8446,8499)(8446,8499) + PsiElement(QUOTED_STRING)('"observed-data--a0d34360-66ad-4977-b255-d9e1080421c4"')(8446,8499) + PsiElement(',')(',')(8499,8500) + PsiWhiteSpace('\n ')(8500,8505) + PsiTypeQLElement(attribute) - Location: (8505,8540)(8505,8540) + PsiElement('has')('has')(8505,8508) + PsiWhiteSpace(' ')(8508,8509) + PsiTypeQLElement(label) - Location: (8509,8516)(8509,8516) + PsiElement(LABEL_)('created')(8509,8516) + PsiWhiteSpace(' ')(8516,8517) + PsiTypeQLElement(predicate) - Location: (8517,8540)(8517,8540) + PsiTypeQLElement(value) - Location: (8517,8540)(8517,8540) + PsiElement(DATETIME_)('2017-02-28T19:37:11.213')(8517,8540) + PsiElement(',')(',')(8540,8541) + PsiWhiteSpace('\n ')(8541,8546) + PsiTypeQLElement(attribute) - Location: (8546,8582)(8546,8582) + PsiElement('has')('has')(8546,8549) + PsiWhiteSpace(' ')(8549,8550) + PsiTypeQLElement(label) - Location: (8550,8558)(8550,8558) + PsiElement(LABEL_)('modified')(8550,8558) + PsiWhiteSpace(' ')(8558,8559) + PsiTypeQLElement(predicate) - Location: (8559,8582)(8559,8582) + PsiTypeQLElement(value) - Location: (8559,8582)(8559,8582) + PsiElement(DATETIME_)('2017-02-28T19:37:11.213')(8559,8582) + PsiElement(',')(',')(8582,8583) + PsiWhiteSpace('\n ')(8583,8588) + PsiTypeQLElement(attribute) - Location: (8588,8630)(8588,8630) + PsiElement('has')('has')(8588,8591) + PsiWhiteSpace(' ')(8591,8592) + PsiTypeQLElement(label) - Location: (8592,8606)(8592,8606) + PsiElement(LABEL_)('first-observed')(8592,8606) + PsiWhiteSpace(' ')(8606,8607) + PsiTypeQLElement(predicate) - Location: (8607,8630)(8607,8630) + PsiTypeQLElement(value) - Location: (8607,8630)(8607,8630) + PsiElement(DATETIME_)('2017-02-27T21:37:11.213')(8607,8630) + PsiElement(',')(',')(8630,8631) + PsiWhiteSpace('\n ')(8631,8636) + PsiTypeQLElement(attribute) - Location: (8636,8677)(8636,8677) + PsiElement('has')('has')(8636,8639) + PsiWhiteSpace(' ')(8639,8640) + PsiTypeQLElement(label) - Location: (8640,8653)(8640,8653) + PsiElement(LABEL_)('last-observed')(8640,8653) + PsiWhiteSpace(' ')(8653,8654) + PsiTypeQLElement(predicate) - Location: (8654,8677)(8654,8677) + PsiTypeQLElement(value) - Location: (8654,8677)(8654,8677) + PsiElement(DATETIME_)('2017-02-27T21:37:11.213')(8654,8677) + PsiElement(',')(',')(8677,8678) + PsiWhiteSpace('\n ')(8678,8683) + PsiTypeQLElement(attribute) - Location: (8683,8704)(8683,8704) + PsiElement('has')('has')(8683,8686) + PsiWhiteSpace(' ')(8686,8687) + PsiTypeQLElement(label) - Location: (8687,8702)(8687,8702) + PsiElement(LABEL_)('number-observed')(8687,8702) + PsiWhiteSpace(' ')(8702,8703) + PsiTypeQLElement(predicate) - Location: (8703,8704)(8703,8704) + PsiTypeQLElement(value) - Location: (8703,8704)(8703,8704) + PsiTypeQLElement(signed_long) - Location: (8703,8704)(8703,8704) + PsiElement(LONG_)('1')(8703,8704) + PsiElement(';')(';')(8704,8705) + PsiWhiteSpace('\n')(8705,8706) + PsiTypeQLElement(statement_thing_any) - Location: (8706,8756)(8706,8756) + PsiTypeQLElement(statement_relation) - Location: (8706,8756)(8706,8756) + PsiTypeQLElement(relation) - Location: (8706,8741)(8706,8741) + PsiElement('(')('(')(8706,8707) + PsiTypeQLElement(role_player) - Location: (8707,8723)(8707,8723) + PsiTypeQLElement(type) - Location: (8707,8714)(8707,8714) + PsiTypeQLElement(label) - Location: (8707,8714)(8707,8714) + PsiElement(LABEL_)('creator')(8707,8714) + PsiElement(':')(':')(8714,8715) + PsiWhiteSpace(' ')(8715,8716) + PsiTypeQLElement(player) - Location: (8716,8723)(8716,8723) + PsiElement(VAR_CONCEPT_)('$oscorp')(8716,8723) + PsiElement(',')(',')(8723,8724) + PsiWhiteSpace(' ')(8724,8725) + PsiTypeQLElement(role_player) - Location: (8725,8740)(8725,8740) + PsiTypeQLElement(type) - Location: (8725,8732)(8725,8732) + PsiTypeQLElement(label) - Location: (8725,8732)(8725,8732) + PsiElement(LABEL_)('created')(8725,8732) + PsiElement(':')(':')(8732,8733) + PsiWhiteSpace(' ')(8733,8734) + PsiTypeQLElement(player) - Location: (8734,8740)(8734,8740) + PsiElement(VAR_CONCEPT_)('$data2')(8734,8740) + PsiElement(')')(')')(8740,8741) + PsiWhiteSpace(' ')(8741,8742) + PsiElement(ISA_)('isa')(8742,8745) + PsiWhiteSpace(' ')(8745,8746) + PsiTypeQLElement(type) - Location: (8746,8756)(8746,8756) + PsiTypeQLElement(label) - Location: (8746,8756)(8746,8756) + PsiElement(LABEL_)('created-by')(8746,8756) + PsiElement(';')(';')(8756,8757) + PsiWhiteSpace('\n')(8757,8758) + PsiTypeQLElement(statement_thing_any) - Location: (8758,8808)(8758,8808) + PsiTypeQLElement(statement_relation) - Location: (8758,8808)(8758,8808) + PsiTypeQLElement(relation) - Location: (8758,8793)(8758,8793) + PsiElement('(')('(')(8758,8759) + PsiTypeQLElement(role_player) - Location: (8759,8775)(8759,8775) + PsiTypeQLElement(type) - Location: (8759,8766)(8759,8766) + PsiTypeQLElement(label) - Location: (8759,8766)(8759,8766) + PsiElement(LABEL_)('creator')(8759,8766) + PsiElement(':')(':')(8766,8767) + PsiWhiteSpace(' ')(8767,8768) + PsiTypeQLElement(player) - Location: (8768,8775)(8768,8775) + PsiElement(VAR_CONCEPT_)('$oscorp')(8768,8775) + PsiElement(',')(',')(8775,8776) + PsiWhiteSpace(' ')(8776,8777) + PsiTypeQLElement(role_player) - Location: (8777,8792)(8777,8792) + PsiTypeQLElement(type) - Location: (8777,8784)(8777,8784) + PsiTypeQLElement(label) - Location: (8777,8784)(8777,8784) + PsiElement(LABEL_)('created')(8777,8784) + PsiElement(':')(':')(8784,8785) + PsiWhiteSpace(' ')(8785,8786) + PsiTypeQLElement(player) - Location: (8786,8792)(8786,8792) + PsiElement(VAR_CONCEPT_)('$data1')(8786,8792) + PsiElement(')')(')')(8792,8793) + PsiWhiteSpace(' ')(8793,8794) + PsiElement(ISA_)('isa')(8794,8797) + PsiWhiteSpace(' ')(8797,8798) + PsiTypeQLElement(type) - Location: (8798,8808)(8798,8808) + PsiTypeQLElement(label) - Location: (8798,8808)(8798,8808) + PsiElement(LABEL_)('created-by')(8798,8808) + PsiElement(';')(';')(8808,8809) + PsiWhiteSpace('\n')(8809,8810) + PsiTypeQLElement(statement_thing_any) - Location: (8810,8859)(8810,8859) + PsiTypeQLElement(statement_relation) - Location: (8810,8859)(8810,8859) + PsiTypeQLElement(relation) - Location: (8810,8844)(8810,8844) + PsiElement('(')('(')(8810,8811) + PsiTypeQLElement(role_player) - Location: (8811,8824)(8811,8824) + PsiTypeQLElement(type) - Location: (8811,8818)(8811,8818) + PsiTypeQLElement(label) - Location: (8811,8818)(8811,8818) + PsiElement(LABEL_)('creator')(8811,8818) + PsiElement(':')(':')(8818,8819) + PsiWhiteSpace(' ')(8819,8820) + PsiTypeQLElement(player) - Location: (8820,8824)(8820,8824) + PsiElement(VAR_CONCEPT_)('$pym')(8820,8824) + PsiElement(',')(',')(8824,8825) + PsiWhiteSpace(' ')(8825,8826) + PsiTypeQLElement(role_player) - Location: (8826,8843)(8826,8843) + PsiTypeQLElement(type) - Location: (8826,8833)(8826,8833) + PsiTypeQLElement(label) - Location: (8826,8833)(8826,8833) + PsiElement(LABEL_)('created')(8826,8833) + PsiElement(':')(':')(8833,8834) + PsiWhiteSpace(' ')(8834,8835) + PsiTypeQLElement(player) - Location: (8835,8843)(8835,8843) + PsiElement(VAR_CONCEPT_)('$malware')(8835,8843) + PsiElement(')')(')')(8843,8844) + PsiWhiteSpace(' ')(8844,8845) + PsiElement(ISA_)('isa')(8845,8848) + PsiWhiteSpace(' ')(8848,8849) + PsiTypeQLElement(type) - Location: (8849,8859)(8849,8859) + PsiTypeQLElement(label) - Location: (8849,8859)(8849,8859) + PsiElement(LABEL_)('created-by')(8849,8859) + PsiElement(';')(';')(8859,8860) + PsiWhiteSpace('\n')(8860,8861) + PsiTypeQLElement(statement_thing_any) - Location: (8861,9217)(8861,9217) + PsiTypeQLElement(statement_relation) - Location: (8861,9217)(8861,9217) + PsiTypeQLElement(relation) - Location: (8861,8930)(8861,8930) + PsiElement('(')('(')(8861,8862) + PsiTypeQLElement(role_player) - Location: (8862,8883)(8862,8883) + PsiTypeQLElement(type) - Location: (8862,8873)(8862,8873) + PsiTypeQLElement(label) - Location: (8862,8873)(8862,8873) + PsiElement(LABEL_)('sighting-of')(8862,8873) + PsiElement(':')(':')(8873,8874) + PsiWhiteSpace(' ')(8874,8875) + PsiTypeQLElement(player) - Location: (8875,8883)(8875,8883) + PsiElement(VAR_CONCEPT_)('$malware')(8875,8883) + PsiElement(',')(',')(8883,8884) + PsiWhiteSpace(' ')(8884,8885) + PsiTypeQLElement(role_player) - Location: (8885,8906)(8885,8906) + PsiTypeQLElement(type) - Location: (8885,8898)(8885,8898) + PsiTypeQLElement(label) - Location: (8885,8898)(8885,8898) + PsiElement(LABEL_)('observed-data')(8885,8898) + PsiElement(':')(':')(8898,8899) + PsiWhiteSpace(' ')(8899,8900) + PsiTypeQLElement(player) - Location: (8900,8906)(8900,8906) + PsiElement(VAR_CONCEPT_)('$data1')(8900,8906) + PsiElement(',')(',')(8906,8907) + PsiWhiteSpace(' ')(8907,8908) + PsiTypeQLElement(role_player) - Location: (8908,8929)(8908,8929) + PsiTypeQLElement(type) - Location: (8908,8921)(8908,8921) + PsiTypeQLElement(label) - Location: (8908,8921)(8908,8921) + PsiElement(LABEL_)('observed-data')(8908,8921) + PsiElement(':')(':')(8921,8922) + PsiWhiteSpace(' ')(8922,8923) + PsiTypeQLElement(player) - Location: (8923,8929)(8923,8929) + PsiElement(VAR_CONCEPT_)('$data2')(8923,8929) + PsiElement(')')(')')(8929,8930) + PsiWhiteSpace(' ')(8930,8931) + PsiElement(ISA_)('isa')(8931,8934) + PsiWhiteSpace(' ')(8934,8935) + PsiTypeQLElement(type) - Location: (8935,8943)(8935,8943) + PsiTypeQLElement(label) - Location: (8935,8943)(8935,8943) + PsiElement(LABEL_)('sighting')(8935,8943) + PsiElement(',')(',')(8943,8944) + PsiWhiteSpace('\n ')(8944,8948) + PsiTypeQLElement(attributes) - Location: (8948,9217)(8948,9217) + PsiTypeQLElement(attribute) - Location: (8948,8970)(8948,8970) + PsiElement('has')('has')(8948,8951) + PsiWhiteSpace(' ')(8951,8952) + PsiTypeQLElement(label) - Location: (8952,8964)(8952,8964) + PsiElement(LABEL_)('spec-version')(8952,8964) + PsiWhiteSpace(' ')(8964,8965) + PsiTypeQLElement(predicate) - Location: (8965,8970)(8965,8970) + PsiTypeQLElement(value) - Location: (8965,8970)(8965,8970) + PsiElement(QUOTED_STRING)('"2.1"')(8965,8970) + PsiElement(',')(',')(8970,8971) + PsiWhiteSpace('\n ')(8971,8975) + PsiTypeQLElement(attribute) - Location: (8975,9035)(8975,9035) + PsiElement('has')('has')(8975,8978) + PsiWhiteSpace(' ')(8978,8979) + PsiTypeQLElement(label) - Location: (8979,8986)(8979,8986) + PsiElement(LABEL_)('stix-id')(8979,8986) + PsiWhiteSpace(' ')(8986,8987) + PsiTypeQLElement(predicate) - Location: (8987,9035)(8987,9035) + PsiTypeQLElement(value) - Location: (8987,9035)(8987,9035) + PsiElement(QUOTED_STRING)('"sighting--779c4ae8-e134-4180-baa4-03141095d971"')(8987,9035) + PsiElement(',')(',')(9035,9036) + PsiWhiteSpace('\n ')(9036,9040) + PsiTypeQLElement(attribute) - Location: (9040,9075)(9040,9075) + PsiElement('has')('has')(9040,9043) + PsiWhiteSpace(' ')(9043,9044) + PsiTypeQLElement(label) - Location: (9044,9051)(9044,9051) + PsiElement(LABEL_)('created')(9044,9051) + PsiWhiteSpace(' ')(9051,9052) + PsiTypeQLElement(predicate) - Location: (9052,9075)(9052,9075) + PsiTypeQLElement(value) - Location: (9052,9075)(9052,9075) + PsiElement(DATETIME_)('2017-02-28T19:37:11.213')(9052,9075) + PsiElement(',')(',')(9075,9076) + PsiWhiteSpace('\n ')(9076,9080) + PsiTypeQLElement(attribute) - Location: (9080,9116)(9080,9116) + PsiElement('has')('has')(9080,9083) + PsiWhiteSpace(' ')(9083,9084) + PsiTypeQLElement(label) - Location: (9084,9092)(9084,9092) + PsiElement(LABEL_)('modified')(9084,9092) + PsiWhiteSpace(' ')(9092,9093) + PsiTypeQLElement(predicate) - Location: (9093,9116)(9093,9116) + PsiTypeQLElement(value) - Location: (9093,9116)(9093,9116) + PsiElement(DATETIME_)('2017-02-28T19:37:11.213')(9093,9116) + PsiElement(',')(',')(9116,9117) + PsiWhiteSpace('\n ')(9117,9121) + PsiTypeQLElement(attribute) - Location: (9121,9159)(9121,9159) + PsiElement('has')('has')(9121,9124) + PsiWhiteSpace(' ')(9124,9125) + PsiTypeQLElement(label) - Location: (9125,9135)(9125,9135) + PsiElement(LABEL_)('first-seen')(9125,9135) + PsiWhiteSpace(' ')(9135,9136) + PsiTypeQLElement(predicate) - Location: (9136,9159)(9136,9159) + PsiTypeQLElement(value) - Location: (9136,9159)(9136,9159) + PsiElement(DATETIME_)('2017-02-28T19:07:24.856')(9136,9159) + PsiElement(',')(',')(9159,9160) + PsiWhiteSpace('\n ')(9160,9164) + PsiTypeQLElement(attribute) - Location: (9164,9201)(9164,9201) + PsiElement('has')('has')(9164,9167) + PsiWhiteSpace(' ')(9167,9168) + PsiTypeQLElement(label) - Location: (9168,9177)(9168,9177) + PsiElement(LABEL_)('last-seen')(9168,9177) + PsiWhiteSpace(' ')(9177,9178) + PsiTypeQLElement(predicate) - Location: (9178,9201)(9178,9201) + PsiTypeQLElement(value) - Location: (9178,9201)(9178,9201) + PsiElement(DATETIME_)('2017-02-28T19:07:24.857')(9178,9201) + PsiElement(',')(',')(9201,9202) + PsiWhiteSpace('\n ')(9202,9206) + PsiTypeQLElement(attribute) - Location: (9206,9217)(9206,9217) + PsiElement('has')('has')(9206,9209) + PsiWhiteSpace(' ')(9209,9210) + PsiTypeQLElement(label) - Location: (9210,9215)(9210,9215) + PsiTypeQLElement(unreserved) - Location: (9210,9215)(9210,9215) + PsiElement('count')('count')(9210,9215) + PsiWhiteSpace(' ')(9215,9216) + PsiTypeQLElement(predicate) - Location: (9216,9217)(9216,9217) + PsiTypeQLElement(value) - Location: (9216,9217)(9216,9217) + PsiTypeQLElement(signed_long) - Location: (9216,9217)(9216,9217) + PsiElement(LONG_)('1')(9216,9217) + PsiElement(';')(';')(9217,9218) + PsiWhiteSpace('\n')(9218,9219) + PsiTypeQLElement(statement_thing_any) - Location: (9219,9283)(9219,9283) + PsiTypeQLElement(statement_relation) - Location: (9219,9283)(9219,9283) + PsiTypeQLElement(relation) - Location: (9219,9259)(9219,9259) + PsiElement('(')('(')(9219,9220) + PsiTypeQLElement(role_player) - Location: (9220,9239)(9220,9239) + PsiTypeQLElement(type) - Location: (9220,9231)(9220,9231) + PsiTypeQLElement(label) - Location: (9220,9231)(9220,9231) + PsiElement(LABEL_)('referencing')(9220,9231) + PsiElement(':')(':')(9231,9232) + PsiWhiteSpace(' ')(9232,9233) + PsiTypeQLElement(player) - Location: (9233,9239)(9233,9239) + PsiElement(VAR_CONCEPT_)('$data1')(9233,9239) + PsiElement(',')(',')(9239,9240) + PsiWhiteSpace(' ')(9240,9241) + PsiTypeQLElement(role_player) - Location: (9241,9258)(9241,9258) + PsiTypeQLElement(type) - Location: (9241,9251)(9241,9251) + PsiTypeQLElement(label) - Location: (9241,9251)(9241,9251) + PsiElement(LABEL_)('referenced')(9241,9251) + PsiElement(':')(':')(9251,9252) + PsiWhiteSpace(' ')(9252,9253) + PsiTypeQLElement(player) - Location: (9253,9258)(9253,9258) + PsiElement(VAR_CONCEPT_)('$file')(9253,9258) + PsiElement(')')(')')(9258,9259) + PsiWhiteSpace(' ')(9259,9260) + PsiElement(ISA_)('isa')(9260,9263) + PsiWhiteSpace(' ')(9263,9264) + PsiTypeQLElement(type) - Location: (9264,9283)(9264,9283) + PsiTypeQLElement(label) - Location: (9264,9283)(9264,9283) + PsiElement(LABEL_)('external-references')(9264,9283) + PsiElement(';')(';')(9283,9284) + PsiWhiteSpace('\n')(9284,9285) + PsiTypeQLElement(statement_thing_any) - Location: (9285,9348)(9285,9348) + PsiTypeQLElement(statement_relation) - Location: (9285,9348)(9285,9348) + PsiTypeQLElement(relation) - Location: (9285,9324)(9285,9324) + PsiElement('(')('(')(9285,9286) + PsiTypeQLElement(role_player) - Location: (9286,9305)(9286,9305) + PsiTypeQLElement(type) - Location: (9286,9297)(9286,9297) + PsiTypeQLElement(label) - Location: (9286,9297)(9286,9297) + PsiElement(LABEL_)('referencing')(9286,9297) + PsiElement(':')(':')(9297,9298) + PsiWhiteSpace(' ')(9298,9299) + PsiTypeQLElement(player) - Location: (9299,9305)(9299,9305) + PsiElement(VAR_CONCEPT_)('$data2')(9299,9305) + PsiElement(',')(',')(9305,9306) + PsiWhiteSpace(' ')(9306,9307) + PsiTypeQLElement(role_player) - Location: (9307,9323)(9307,9323) + PsiTypeQLElement(type) - Location: (9307,9317)(9307,9317) + PsiTypeQLElement(label) - Location: (9307,9317)(9307,9317) + PsiElement(LABEL_)('referenced')(9307,9317) + PsiElement(':')(':')(9317,9318) + PsiWhiteSpace(' ')(9318,9319) + PsiTypeQLElement(player) - Location: (9319,9323)(9319,9323) + PsiElement(VAR_CONCEPT_)('$key')(9319,9323) + PsiElement(')')(')')(9323,9324) + PsiWhiteSpace(' ')(9324,9325) + PsiElement(ISA_)('isa')(9325,9328) + PsiWhiteSpace(' ')(9328,9329) + PsiTypeQLElement(type) - Location: (9329,9348)(9329,9348) + PsiTypeQLElement(label) - Location: (9329,9348)(9329,9348) + PsiElement(LABEL_)('external-references')(9329,9348) + PsiElement(';')(';')(9348,9349) + PsiWhiteSpace('\n\n')(9349,9351) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/threat-actor-leveraging-attack-patterns-and-malware\n')(9351,9475) + PsiComment(COMMENT)('# Threat Actor Leveraging Attack Patterns and Malware\n')(9475,9529) + PsiTypeQLElement(modifiers) - Location: (9529,9529)(9529,9529) + + PsiTypeQLElement(query) - Location: (9529,12024)(9529,12024) + PsiTypeQLElement(query_insert) - Location: (9529,12024)(9529,12024) + PsiTypeQLElement(clause_insert) - Location: (9529,11150)(9529,11150) + PsiElement('insert')('insert')(9529,9535) + PsiWhiteSpace('\n')(9535,9536) + PsiTypeQLElement(statement_things) - Location: (9536,11150)(9536,11150) + PsiTypeQLElement(statement_thing_any) - Location: (9536,9937)(9536,9937) + PsiTypeQLElement(statement_thing) - Location: (9536,9937)(9536,9937) + PsiElement(VAR_CONCEPT_)('$bravo-ta')(9536,9545) + PsiWhiteSpace(' ')(9545,9546) + PsiElement(ISA_)('isa')(9546,9549) + PsiWhiteSpace(' ')(9549,9550) + PsiTypeQLElement(type) - Location: (9550,9562)(9550,9562) + PsiTypeQLElement(label) - Location: (9550,9562)(9550,9562) + PsiElement(LABEL_)('threat-actor')(9550,9562) + PsiElement(',')(',')(9562,9563) + PsiWhiteSpace('\n ')(9563,9568) + PsiTypeQLElement(attributes) - Location: (9568,9937)(9568,9937) + PsiTypeQLElement(attribute) - Location: (9568,9590)(9568,9590) + PsiElement('has')('has')(9568,9571) + PsiWhiteSpace(' ')(9571,9572) + PsiTypeQLElement(label) - Location: (9572,9584)(9572,9584) + PsiElement(LABEL_)('spec-version')(9572,9584) + PsiWhiteSpace(' ')(9584,9585) + PsiTypeQLElement(predicate) - Location: (9585,9590)(9585,9590) + PsiTypeQLElement(value) - Location: (9585,9590)(9585,9590) + PsiElement(QUOTED_STRING)('"2.1"')(9585,9590) + PsiElement(',')(',')(9590,9591) + PsiWhiteSpace('\n ')(9591,9596) + PsiTypeQLElement(attribute) - Location: (9596,9628)(9596,9628) + PsiElement('has')('has')(9596,9599) + PsiWhiteSpace(' ')(9599,9600) + PsiTypeQLElement(label) - Location: (9600,9607)(9600,9607) + PsiElement(LABEL_)('stix-id')(9600,9607) + PsiWhiteSpace(' ')(9607,9608) + PsiTypeQLElement(predicate) - Location: (9608,9628)(9608,9628) + PsiTypeQLElement(value) - Location: (9608,9628)(9608,9628) + PsiElement(QUOTED_STRING)('"threat-actor-bravo"')(9608,9628) + PsiElement(',')(',')(9628,9629) + PsiWhiteSpace('\n ')(9629,9634) + PsiTypeQLElement(attribute) - Location: (9634,9669)(9634,9669) + PsiElement('has')('has')(9634,9637) + PsiWhiteSpace(' ')(9637,9638) + PsiTypeQLElement(label) - Location: (9638,9645)(9638,9645) + PsiElement(LABEL_)('created')(9638,9645) + PsiWhiteSpace(' ')(9645,9646) + PsiTypeQLElement(predicate) - Location: (9646,9669)(9646,9669) + PsiTypeQLElement(value) - Location: (9646,9669)(9646,9669) + PsiElement(DATETIME_)('2015-05-07T14:22:14.760')(9646,9669) + PsiElement(',')(',')(9669,9670) + PsiWhiteSpace('\n ')(9670,9675) + PsiTypeQLElement(attribute) - Location: (9675,9711)(9675,9711) + PsiElement('has')('has')(9675,9678) + PsiWhiteSpace(' ')(9678,9679) + PsiTypeQLElement(label) - Location: (9679,9687)(9679,9687) + PsiElement(LABEL_)('modified')(9679,9687) + PsiWhiteSpace(' ')(9687,9688) + PsiTypeQLElement(predicate) - Location: (9688,9711)(9688,9711) + PsiTypeQLElement(value) - Location: (9688,9711)(9688,9711) + PsiElement(DATETIME_)('2015-05-07T14:22:14.760')(9688,9711) + PsiElement(',')(',')(9711,9712) + PsiWhiteSpace('\n ')(9712,9717) + PsiTypeQLElement(attribute) - Location: (9717,9743)(9717,9743) + PsiElement('has')('has')(9717,9720) + PsiWhiteSpace(' ')(9720,9721) + PsiTypeQLElement(label) - Location: (9721,9725)(9721,9725) + PsiElement(LABEL_)('name')(9721,9725) + PsiWhiteSpace(' ')(9725,9726) + PsiTypeQLElement(predicate) - Location: (9726,9743)(9726,9743) + PsiTypeQLElement(value) - Location: (9726,9743)(9726,9743) + PsiElement(QUOTED_STRING)('"Adversary Bravo"')(9726,9743) + PsiElement(',')(',')(9743,9744) + PsiWhiteSpace('\n ')(9744,9749) + PsiTypeQLElement(attribute) - Location: (9749,9864)(9749,9864) + PsiElement('has')('has')(9749,9752) + PsiWhiteSpace(' ')(9752,9753) + PsiTypeQLElement(label) - Location: (9753,9764)(9753,9764) + PsiElement(LABEL_)('description')(9753,9764) + PsiWhiteSpace(' ')(9764,9765) + PsiTypeQLElement(predicate) - Location: (9765,9864)(9765,9864) + PsiTypeQLElement(value) - Location: (9765,9864)(9765,9864) + PsiElement(QUOTED_STRING)('"Adversary Bravo is known to use phishing attacks to deliver remote access malware to the targets."')(9765,9864) + PsiElement(',')(',')(9864,9865) + PsiWhiteSpace('\n ')(9865,9870) + PsiTypeQLElement(attribute) - Location: (9870,9898)(9870,9898) + PsiElement('has')('has')(9870,9873) + PsiWhiteSpace(' ')(9873,9874) + PsiTypeQLElement(label) - Location: (9874,9892)(9874,9892) + PsiElement(LABEL_)('threat-actor-types')(9874,9892) + PsiWhiteSpace(' ')(9892,9893) + PsiTypeQLElement(predicate) - Location: (9893,9898)(9893,9898) + PsiTypeQLElement(value) - Location: (9893,9898)(9893,9898) + PsiElement(QUOTED_STRING)('"spy"')(9893,9898) + PsiElement(',')(',')(9898,9899) + PsiWhiteSpace('\n ')(9899,9904) + PsiTypeQLElement(attribute) - Location: (9904,9937)(9904,9937) + PsiElement('has')('has')(9904,9907) + PsiWhiteSpace(' ')(9907,9908) + PsiTypeQLElement(label) - Location: (9908,9926)(9908,9926) + PsiElement(LABEL_)('threat-actor-types')(9908,9926) + PsiWhiteSpace(' ')(9926,9927) + PsiTypeQLElement(predicate) - Location: (9927,9937)(9927,9937) + PsiTypeQLElement(value) - Location: (9927,9937)(9927,9937) + PsiElement(QUOTED_STRING)('"criminal"')(9927,9937) + PsiElement(';')(';')(9937,9938) + PsiWhiteSpace('\n')(9938,9939) + PsiTypeQLElement(statement_thing_any) - Location: (9939,10249)(9939,10249) + PsiTypeQLElement(statement_thing) - Location: (9939,10249)(9939,10249) + PsiElement(VAR_CONCEPT_)('$poison-ivy')(9939,9950) + PsiWhiteSpace(' ')(9950,9951) + PsiElement(ISA_)('isa')(9951,9954) + PsiWhiteSpace(' ')(9954,9955) + PsiTypeQLElement(type) - Location: (9955,9962)(9955,9962) + PsiTypeQLElement(label) - Location: (9955,9962)(9955,9962) + PsiElement(LABEL_)('malware')(9955,9962) + PsiElement(',')(',')(9962,9963) + PsiWhiteSpace('\n ')(9963,9968) + PsiTypeQLElement(attributes) - Location: (9968,10249)(9968,10249) + PsiTypeQLElement(attribute) - Location: (9968,9990)(9968,9990) + PsiElement('has')('has')(9968,9971) + PsiWhiteSpace(' ')(9971,9972) + PsiTypeQLElement(label) - Location: (9972,9984)(9972,9984) + PsiElement(LABEL_)('spec-version')(9972,9984) + PsiWhiteSpace(' ')(9984,9985) + PsiTypeQLElement(predicate) - Location: (9985,9990)(9985,9990) + PsiTypeQLElement(value) - Location: (9985,9990)(9985,9990) + PsiElement(QUOTED_STRING)('"2.1"')(9985,9990) + PsiElement(',')(',')(9990,9991) + PsiWhiteSpace('\n ')(9991,9996) + PsiTypeQLElement(attribute) - Location: (9996,10055)(9996,10055) + PsiElement('has')('has')(9996,9999) + PsiWhiteSpace(' ')(9999,10000) + PsiTypeQLElement(label) - Location: (10000,10007)(10000,10007) + PsiElement(LABEL_)('stix-id')(10000,10007) + PsiWhiteSpace(' ')(10007,10008) + PsiTypeQLElement(predicate) - Location: (10008,10055)(10008,10055) + PsiTypeQLElement(value) - Location: (10008,10055)(10008,10055) + PsiElement(QUOTED_STRING)('"malware--d1c612bc-146f-4b65-b7b0-9a54a14150a4"')(10008,10055) + PsiElement(',')(',')(10055,10056) + PsiWhiteSpace('\n ')(10056,10061) + PsiTypeQLElement(attribute) - Location: (10061,10096)(10061,10096) + PsiElement('has')('has')(10061,10064) + PsiWhiteSpace(' ')(10064,10065) + PsiTypeQLElement(label) - Location: (10065,10072)(10065,10072) + PsiElement(LABEL_)('created')(10065,10072) + PsiWhiteSpace(' ')(10072,10073) + PsiTypeQLElement(predicate) - Location: (10073,10096)(10073,10096) + PsiTypeQLElement(value) - Location: (10073,10096)(10073,10096) + PsiElement(DATETIME_)('2015-04-23T11:12:34.760')(10073,10096) + PsiElement(',')(',')(10096,10097) + PsiWhiteSpace('\n ')(10097,10102) + PsiTypeQLElement(attribute) - Location: (10102,10138)(10102,10138) + PsiElement('has')('has')(10102,10105) + PsiWhiteSpace(' ')(10105,10106) + PsiTypeQLElement(label) - Location: (10106,10114)(10106,10114) + PsiElement(LABEL_)('modified')(10106,10114) + PsiWhiteSpace(' ')(10114,10115) + PsiTypeQLElement(predicate) - Location: (10115,10138)(10115,10138) + PsiTypeQLElement(value) - Location: (10115,10138)(10115,10138) + PsiElement(DATETIME_)('2015-04-23T11:12:34.760')(10115,10138) + PsiElement(',')(',')(10138,10139) + PsiWhiteSpace('\n ')(10139,10144) + PsiTypeQLElement(attribute) - Location: (10144,10178)(10144,10178) + PsiElement('has')('has')(10144,10147) + PsiWhiteSpace(' ')(10147,10148) + PsiTypeQLElement(label) - Location: (10148,10152)(10148,10152) + PsiElement(LABEL_)('name')(10148,10152) + PsiWhiteSpace(' ')(10152,10153) + PsiTypeQLElement(predicate) - Location: (10153,10178)(10153,10178) + PsiTypeQLElement(value) - Location: (10153,10178)(10153,10178) + PsiElement(QUOTED_STRING)('"Poison Ivy Variant d1c6"')(10153,10178) + PsiElement(',')(',')(10178,10179) + PsiWhiteSpace('\n ')(10179,10184) + PsiTypeQLElement(attribute) - Location: (10184,10203)(10184,10203) + PsiElement('has')('has')(10184,10187) + PsiWhiteSpace(' ')(10187,10188) + PsiTypeQLElement(label) - Location: (10188,10197)(10188,10197) + PsiElement(LABEL_)('is-family')(10188,10197) + PsiWhiteSpace(' ')(10197,10198) + PsiTypeQLElement(predicate) - Location: (10198,10203)(10198,10203) + PsiTypeQLElement(value) - Location: (10198,10203)(10198,10203) + PsiElement(BOOLEAN_)('false')(10198,10203) + PsiElement(',')(',')(10203,10204) + PsiWhiteSpace('\n ')(10204,10209) + PsiTypeQLElement(attribute) - Location: (10209,10249)(10209,10249) + PsiElement('has')('has')(10209,10212) + PsiWhiteSpace(' ')(10212,10213) + PsiTypeQLElement(label) - Location: (10213,10226)(10213,10226) + PsiElement(LABEL_)('malware-types')(10213,10226) + PsiWhiteSpace(' ')(10226,10227) + PsiTypeQLElement(predicate) - Location: (10227,10249)(10227,10249) + PsiTypeQLElement(value) - Location: (10227,10249)(10227,10249) + PsiElement(QUOTED_STRING)('"remote-access-trojan"')(10227,10249) + PsiElement(';')(';')(10249,10250) + PsiWhiteSpace('\n')(10250,10251) + PsiTypeQLElement(statement_thing_any) - Location: (10251,10400)(10251,10400) + PsiTypeQLElement(statement_thing) - Location: (10251,10400)(10251,10400) + PsiElement(VAR_CONCEPT_)('$kill-chain-phase')(10251,10268) + PsiWhiteSpace(' ')(10268,10269) + PsiElement(ISA_)('isa')(10269,10272) + PsiWhiteSpace(' ')(10272,10273) + PsiTypeQLElement(type) - Location: (10273,10289)(10273,10289) + PsiTypeQLElement(label) - Location: (10273,10289)(10273,10289) + PsiElement(LABEL_)('kill-chain-phase')(10273,10289) + PsiElement(',')(',')(10289,10290) + PsiWhiteSpace('\n ')(10290,10295) + PsiTypeQLElement(attributes) - Location: (10295,10400)(10295,10400) + PsiTypeQLElement(attribute) - Location: (10295,10348)(10295,10348) + PsiElement('has')('has')(10295,10298) + PsiWhiteSpace(' ')(10298,10299) + PsiTypeQLElement(label) - Location: (10299,10314)(10299,10314) + PsiElement(LABEL_)('kill-chain-name')(10299,10314) + PsiWhiteSpace(' ')(10314,10315) + PsiTypeQLElement(predicate) - Location: (10315,10348)(10315,10348) + PsiTypeQLElement(value) - Location: (10315,10348)(10315,10348) + PsiElement(QUOTED_STRING)('"mandiant-attack-lifecycle-model"')(10315,10348) + PsiElement(',')(',')(10348,10349) + PsiWhiteSpace('\n ')(10349,10354) + PsiTypeQLElement(attribute) - Location: (10354,10400)(10354,10400) + PsiElement('has')('has')(10354,10357) + PsiWhiteSpace(' ')(10357,10358) + PsiTypeQLElement(label) - Location: (10358,10379)(10358,10379) + PsiElement(LABEL_)('kill-chain-phase-name')(10358,10379) + PsiWhiteSpace(' ')(10379,10380) + PsiTypeQLElement(predicate) - Location: (10380,10400)(10380,10400) + PsiTypeQLElement(value) - Location: (10380,10400)(10380,10400) + PsiElement(QUOTED_STRING)('"initial-compromise"')(10380,10400) + PsiElement(';')(';')(10400,10401) + PsiWhiteSpace('\n')(10401,10402) + PsiTypeQLElement(statement_thing_any) - Location: (10402,10469)(10402,10469) + PsiTypeQLElement(statement_relation) - Location: (10402,10469)(10402,10469) + PsiTypeQLElement(relation) - Location: (10402,10447)(10402,10447) + PsiElement('(')('(')(10402,10403) + PsiTypeQLElement(role_player) - Location: (10403,10420)(10403,10420) + PsiTypeQLElement(type) - Location: (10403,10407)(10403,10407) + PsiTypeQLElement(label) - Location: (10403,10407)(10403,10407) + PsiElement(LABEL_)('used')(10403,10407) + PsiElement(':')(':')(10407,10408) + PsiWhiteSpace(' ')(10408,10409) + PsiTypeQLElement(player) - Location: (10409,10420)(10409,10420) + PsiElement(VAR_CONCEPT_)('$poison-ivy')(10409,10420) + PsiElement(',')(',')(10420,10421) + PsiWhiteSpace(' ')(10421,10422) + PsiTypeQLElement(role_player) - Location: (10422,10446)(10422,10446) + PsiTypeQLElement(type) - Location: (10422,10427)(10422,10427) + PsiTypeQLElement(label) - Location: (10422,10427)(10422,10427) + PsiElement(LABEL_)('using')(10422,10427) + PsiElement(':')(':')(10427,10428) + PsiWhiteSpace(' ')(10428,10429) + PsiTypeQLElement(player) - Location: (10429,10446)(10429,10446) + PsiElement(VAR_CONCEPT_)('$kill-chain-phase')(10429,10446) + PsiElement(')')(')')(10446,10447) + PsiWhiteSpace(' ')(10447,10448) + PsiElement(ISA_)('isa')(10448,10451) + PsiWhiteSpace(' ')(10451,10452) + PsiTypeQLElement(type) - Location: (10452,10469)(10452,10469) + PsiTypeQLElement(label) - Location: (10452,10469)(10452,10469) + PsiElement(LABEL_)('kill-chain-phases')(10452,10469) + PsiElement(';')(';')(10469,10470) + PsiWhiteSpace('\n')(10470,10471) + PsiTypeQLElement(statement_thing_any) - Location: (10471,10787)(10471,10787) + PsiTypeQLElement(statement_thing) - Location: (10471,10787)(10471,10787) + PsiElement(VAR_CONCEPT_)('$phishing')(10471,10480) + PsiWhiteSpace(' ')(10480,10481) + PsiElement(ISA_)('isa')(10481,10484) + PsiWhiteSpace(' ')(10484,10485) + PsiTypeQLElement(type) - Location: (10485,10499)(10485,10499) + PsiTypeQLElement(label) - Location: (10485,10499)(10485,10499) + PsiElement(LABEL_)('attack-pattern')(10485,10499) + PsiElement(',')(',')(10499,10500) + PsiWhiteSpace('\n ')(10500,10505) + PsiTypeQLElement(attributes) - Location: (10505,10787)(10505,10787) + PsiTypeQLElement(attribute) - Location: (10505,10527)(10505,10527) + PsiElement('has')('has')(10505,10508) + PsiWhiteSpace(' ')(10508,10509) + PsiTypeQLElement(label) - Location: (10509,10521)(10509,10521) + PsiElement(LABEL_)('spec-version')(10509,10521) + PsiWhiteSpace(' ')(10521,10522) + PsiTypeQLElement(predicate) - Location: (10522,10527)(10522,10527) + PsiTypeQLElement(value) - Location: (10522,10527)(10522,10527) + PsiElement(QUOTED_STRING)('"2.1"')(10522,10527) + PsiElement(',')(',')(10527,10528) + PsiWhiteSpace('\n ')(10528,10533) + PsiTypeQLElement(attribute) - Location: (10533,10599)(10533,10599) + PsiElement('has')('has')(10533,10536) + PsiWhiteSpace(' ')(10536,10537) + PsiTypeQLElement(label) - Location: (10537,10544)(10537,10544) + PsiElement(LABEL_)('stix-id')(10537,10544) + PsiWhiteSpace(' ')(10544,10545) + PsiTypeQLElement(predicate) - Location: (10545,10599)(10545,10599) + PsiTypeQLElement(value) - Location: (10545,10599)(10545,10599) + PsiElement(QUOTED_STRING)('"attack-pattern--8ac90ff3-ecf8-4835-95b8-6aea6a623df5"')(10545,10599) + PsiElement(',')(',')(10599,10600) + PsiWhiteSpace('\n ')(10600,10605) + PsiTypeQLElement(attribute) - Location: (10605,10640)(10605,10640) + PsiElement('has')('has')(10605,10608) + PsiWhiteSpace(' ')(10608,10609) + PsiTypeQLElement(label) - Location: (10609,10616)(10609,10616) + PsiElement(LABEL_)('created')(10609,10616) + PsiWhiteSpace(' ')(10616,10617) + PsiTypeQLElement(predicate) - Location: (10617,10640)(10617,10640) + PsiTypeQLElement(value) - Location: (10617,10640)(10617,10640) + PsiElement(DATETIME_)('2015-05-07T14:22:14.760')(10617,10640) + PsiElement(',')(',')(10640,10641) + PsiWhiteSpace('\n ')(10641,10646) + PsiTypeQLElement(attribute) - Location: (10646,10682)(10646,10682) + PsiElement('has')('has')(10646,10649) + PsiWhiteSpace(' ')(10649,10650) + PsiTypeQLElement(label) - Location: (10650,10658)(10650,10658) + PsiElement(LABEL_)('modified')(10650,10658) + PsiWhiteSpace(' ')(10658,10659) + PsiTypeQLElement(predicate) - Location: (10659,10682)(10659,10682) + PsiTypeQLElement(value) - Location: (10659,10682)(10659,10682) + PsiElement(DATETIME_)('2015-05-07T14:22:14.760')(10659,10682) + PsiElement(',')(',')(10682,10683) + PsiWhiteSpace('\n ')(10683,10688) + PsiTypeQLElement(attribute) - Location: (10688,10707)(10688,10707) + PsiElement('has')('has')(10688,10691) + PsiWhiteSpace(' ')(10691,10692) + PsiTypeQLElement(label) - Location: (10692,10696)(10692,10696) + PsiElement(LABEL_)('name')(10692,10696) + PsiWhiteSpace(' ')(10696,10697) + PsiTypeQLElement(predicate) - Location: (10697,10707)(10697,10707) + PsiTypeQLElement(value) - Location: (10697,10707)(10697,10707) + PsiElement(QUOTED_STRING)('"Phishing"')(10697,10707) + PsiElement(',')(',')(10707,10708) + PsiWhiteSpace('\n ')(10708,10713) + PsiTypeQLElement(attribute) - Location: (10713,10787)(10713,10787) + PsiElement('has')('has')(10713,10716) + PsiWhiteSpace(' ')(10716,10717) + PsiTypeQLElement(label) - Location: (10717,10728)(10717,10728) + PsiElement(LABEL_)('description')(10717,10728) + PsiWhiteSpace(' ')(10728,10729) + PsiTypeQLElement(predicate) - Location: (10729,10787)(10729,10787) + PsiTypeQLElement(value) - Location: (10729,10787)(10729,10787) + PsiElement(QUOTED_STRING)('"Spear phishing used as a delivery mechanism for malware."')(10729,10787) + PsiElement(';')(';')(10787,10788) + PsiWhiteSpace('\n')(10788,10789) + PsiTypeQLElement(statement_thing_any) - Location: (10789,10854)(10789,10854) + PsiTypeQLElement(statement_relation) - Location: (10789,10854)(10789,10854) + PsiTypeQLElement(relation) - Location: (10789,10832)(10789,10832) + PsiElement('(')('(')(10789,10790) + PsiTypeQLElement(role_player) - Location: (10790,10805)(10790,10805) + PsiTypeQLElement(type) - Location: (10790,10794)(10790,10794) + PsiTypeQLElement(label) - Location: (10790,10794)(10790,10794) + PsiElement(LABEL_)('used')(10790,10794) + PsiElement(':')(':')(10794,10795) + PsiWhiteSpace(' ')(10795,10796) + PsiTypeQLElement(player) - Location: (10796,10805)(10796,10805) + PsiElement(VAR_CONCEPT_)('$phishing')(10796,10805) + PsiElement(',')(',')(10805,10806) + PsiWhiteSpace(' ')(10806,10807) + PsiTypeQLElement(role_player) - Location: (10807,10831)(10807,10831) + PsiTypeQLElement(type) - Location: (10807,10812)(10807,10812) + PsiTypeQLElement(label) - Location: (10807,10812)(10807,10812) + PsiElement(LABEL_)('using')(10807,10812) + PsiElement(':')(':')(10812,10813) + PsiWhiteSpace(' ')(10813,10814) + PsiTypeQLElement(player) - Location: (10814,10831)(10814,10831) + PsiElement(VAR_CONCEPT_)('$kill-chain-phase')(10814,10831) + PsiElement(')')(')')(10831,10832) + PsiWhiteSpace(' ')(10832,10833) + PsiElement(ISA_)('isa')(10833,10836) + PsiWhiteSpace(' ')(10836,10837) + PsiTypeQLElement(type) - Location: (10837,10854)(10837,10854) + PsiTypeQLElement(label) - Location: (10837,10854)(10837,10854) + PsiElement(LABEL_)('kill-chain-phases')(10837,10854) + PsiElement(';')(';')(10854,10855) + PsiWhiteSpace('\n\n')(10855,10857) + PsiTypeQLElement(statement_thing_any) - Location: (10857,11149)(10857,11149) + PsiTypeQLElement(statement_thing) - Location: (10857,11149)(10857,11149) + PsiElement(VAR_CONCEPT_)('$bravo-id')(10857,10866) + PsiWhiteSpace(' ')(10866,10867) + PsiElement(ISA_)('isa')(10867,10870) + PsiWhiteSpace(' ')(10870,10871) + PsiTypeQLElement(type) - Location: (10871,10881)(10871,10881) + PsiTypeQLElement(label) - Location: (10871,10881)(10871,10881) + PsiElement(LABEL_)('id-unknown')(10871,10881) + PsiElement(',')(',')(10881,10882) + PsiWhiteSpace('\n ')(10882,10887) + PsiTypeQLElement(attributes) - Location: (10887,11149)(10887,11149) + PsiTypeQLElement(attribute) - Location: (10887,10909)(10887,10909) + PsiElement('has')('has')(10887,10890) + PsiWhiteSpace(' ')(10890,10891) + PsiTypeQLElement(label) - Location: (10891,10903)(10891,10903) + PsiElement(LABEL_)('spec-version')(10891,10903) + PsiWhiteSpace(' ')(10903,10904) + PsiTypeQLElement(predicate) - Location: (10904,10909)(10904,10909) + PsiTypeQLElement(value) - Location: (10904,10909)(10904,10909) + PsiElement(QUOTED_STRING)('"2.1"')(10904,10909) + PsiElement(',')(',')(10909,10910) + PsiWhiteSpace('\n ')(10910,10915) + PsiTypeQLElement(attribute) - Location: (10915,10945)(10915,10945) + PsiElement('has')('has')(10915,10918) + PsiWhiteSpace(' ')(10918,10919) + PsiTypeQLElement(label) - Location: (10919,10926)(10919,10926) + PsiElement(LABEL_)('stix-id')(10919,10926) + PsiWhiteSpace(' ')(10926,10927) + PsiTypeQLElement(predicate) - Location: (10927,10945)(10927,10945) + PsiTypeQLElement(value) - Location: (10927,10945)(10927,10945) + PsiElement(QUOTED_STRING)('"bravo-id-unknown"')(10927,10945) + PsiElement(',')(',')(10945,10946) + PsiWhiteSpace('\n ')(10946,10951) + PsiTypeQLElement(attribute) - Location: (10951,10986)(10951,10986) + PsiElement('has')('has')(10951,10954) + PsiWhiteSpace(' ')(10954,10955) + PsiTypeQLElement(label) - Location: (10955,10962)(10955,10962) + PsiElement(LABEL_)('created')(10955,10962) + PsiWhiteSpace(' ')(10962,10963) + PsiTypeQLElement(predicate) - Location: (10963,10986)(10963,10986) + PsiTypeQLElement(value) - Location: (10963,10986)(10963,10986) + PsiElement(DATETIME_)('2015-05-10T16:27:17.760')(10963,10986) + PsiElement(',')(',')(10986,10987) + PsiWhiteSpace('\n ')(10987,10992) + PsiTypeQLElement(attribute) - Location: (10992,11028)(10992,11028) + PsiElement('has')('has')(10992,10995) + PsiWhiteSpace(' ')(10995,10996) + PsiTypeQLElement(label) - Location: (10996,11004)(10996,11004) + PsiElement(LABEL_)('modified')(10996,11004) + PsiWhiteSpace(' ')(11004,11005) + PsiTypeQLElement(predicate) - Location: (11005,11028)(11005,11028) + PsiTypeQLElement(value) - Location: (11005,11028)(11005,11028) + PsiElement(DATETIME_)('2015-05-10T16:27:17.760')(11005,11028) + PsiElement(',')(',')(11028,11029) + PsiWhiteSpace('\n ')(11029,11034) + PsiTypeQLElement(attribute) - Location: (11034,11060)(11034,11060) + PsiElement('has')('has')(11034,11037) + PsiWhiteSpace(' ')(11037,11038) + PsiTypeQLElement(label) - Location: (11038,11042)(11038,11042) + PsiElement(LABEL_)('name')(11038,11042) + PsiWhiteSpace(' ')(11042,11043) + PsiTypeQLElement(predicate) - Location: (11043,11060)(11043,11060) + PsiTypeQLElement(value) - Location: (11043,11060)(11043,11060) + PsiElement(QUOTED_STRING)('"Adversary Bravo"')(11043,11060) + PsiElement(',')(',')(11060,11061) + PsiWhiteSpace('\n ')(11061,11066) + PsiTypeQLElement(attribute) - Location: (11066,11149)(11066,11149) + PsiElement('has')('has')(11066,11069) + PsiWhiteSpace(' ')(11069,11070) + PsiTypeQLElement(label) - Location: (11070,11081)(11070,11081) + PsiElement(LABEL_)('description')(11070,11081) + PsiWhiteSpace(' ')(11081,11082) + PsiTypeQLElement(predicate) - Location: (11082,11149)(11082,11149) + PsiTypeQLElement(value) - Location: (11082,11149)(11082,11149) + PsiElement(QUOTED_STRING)('"Adversary Bravo is a threat actor that utilizes phishing attacks."')(11082,11149) + PsiElement(';')(';')(11149,11150) + PsiWhiteSpace('\n')(11150,11151) + PsiComment(COMMENT)('# (using: $bravo-ta, used: $poison-ivy) isa uses,\n')(11151,11201) + PsiComment(COMMENT)('# has spec-version "2.1",\n')(11201,11231) + PsiComment(COMMENT)('# has stix-id "relationship--d44019b6-b8f7-4cb3-837e-7fd3c5724b87",\n')(11231,11303) + PsiComment(COMMENT)('# has created 2020-02-29T18:18:08.661,\n')(11303,11346) + PsiComment(COMMENT)('# has modified 2020-02-29T18:18:08.661;\n')(11346,11390) + PsiComment(COMMENT)('# (using: $bravo-ta, used: $phishing) isa uses,\n')(11390,11438) + PsiComment(COMMENT)('# has spec-version "2.1",\n')(11438,11468) + PsiComment(COMMENT)('# has stix-id "relationship--3cd2d6f9-0ded-486b-8dca-606283a8997f",\n')(11468,11540) + PsiComment(COMMENT)('# has created 2020-02-29T18:18:08.661,\n')(11540,11583) + PsiComment(COMMENT)('# has modified 2020-02-29T18:18:08.661;\n')(11583,11627) + PsiComment(COMMENT)('# (attributing: $bravo-ta, attributed: $bravo-id) isa attributed-to,\n')(11627,11696) + PsiComment(COMMENT)('# has spec-version "2.1",\n')(11696,11726) + PsiComment(COMMENT)('# has stix-id "relationship--56e5f1c8-08f3-4e24-9e8e-f87d844672ec",\n')(11726,11798) + PsiComment(COMMENT)('# has created 2020-02-29T18:18:08.661,\n')(11798,11841) + PsiComment(COMMENT)('# has modified 2020-02-29T18:18:08.661;\n')(11841,11885) + PsiWhiteSpace('\n')(11885,11886) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/malware-indicator-for-file-hash\n')(11886,11990) + PsiComment(COMMENT)('# Malware Indicator for File Hash\n')(11990,12024) + PsiTypeQLElement(modifiers) - Location: (12024,12024)(12024,12024) + + PsiTypeQLElement(query) - Location: (12024,13273)(12024,13273) + PsiTypeQLElement(query_insert) - Location: (12024,13273)(12024,13273) + PsiTypeQLElement(clause_insert) - Location: (12024,13117)(12024,13117) + PsiElement('insert')('insert')(12024,12030) + PsiWhiteSpace('\n')(12030,12031) + PsiTypeQLElement(statement_things) - Location: (12031,13117)(12031,13117) + PsiTypeQLElement(statement_thing_any) - Location: (12031,12554)(12031,12554) + PsiTypeQLElement(statement_thing) - Location: (12031,12554)(12031,12554) + PsiElement(VAR_CONCEPT_)('$in')(12031,12034) + PsiWhiteSpace(' ')(12034,12035) + PsiElement(ISA_)('isa')(12035,12038) + PsiWhiteSpace(' ')(12038,12039) + PsiTypeQLElement(type) - Location: (12039,12048)(12039,12048) + PsiTypeQLElement(label) - Location: (12039,12048)(12039,12048) + PsiElement(LABEL_)('indicator')(12039,12048) + PsiElement(',')(',')(12048,12049) + PsiWhiteSpace(' ')(12049,12050) + PsiTypeQLElement(attributes) - Location: (12050,12554)(12050,12554) + PsiTypeQLElement(attribute) - Location: (12050,12094)(12050,12094) + PsiElement('has')('has')(12050,12053) + PsiWhiteSpace(' ')(12053,12054) + PsiTypeQLElement(label) - Location: (12054,12058)(12054,12058) + PsiElement(LABEL_)('name')(12054,12058) + PsiWhiteSpace(' ')(12058,12059) + PsiTypeQLElement(predicate) - Location: (12059,12094)(12059,12094) + PsiTypeQLElement(value) - Location: (12059,12094)(12059,12094) + PsiElement(QUOTED_STRING)('"Malicious site hosting downloader"')(12059,12094) + PsiElement(',')(',')(12094,12095) + PsiWhiteSpace('\n ')(12095,12100) + PsiTypeQLElement(attribute) - Location: (12100,12122)(12100,12122) + PsiElement('has')('has')(12100,12103) + PsiWhiteSpace(' ')(12103,12104) + PsiTypeQLElement(label) - Location: (12104,12116)(12104,12116) + PsiElement(LABEL_)('spec-version')(12104,12116) + PsiWhiteSpace(' ')(12116,12117) + PsiTypeQLElement(predicate) - Location: (12117,12122)(12117,12122) + PsiTypeQLElement(value) - Location: (12117,12122)(12117,12122) + PsiElement(QUOTED_STRING)('"2.1"')(12117,12122) + PsiElement(',')(',')(12122,12123) + PsiWhiteSpace('\n ')(12123,12128) + PsiTypeQLElement(attribute) - Location: (12128,12178)(12128,12178) + PsiElement('has')('has')(12128,12131) + PsiWhiteSpace(' ')(12131,12132) + PsiTypeQLElement(label) - Location: (12132,12143)(12132,12143) + PsiElement(LABEL_)('description')(12132,12143) + PsiWhiteSpace(' ')(12143,12144) + PsiTypeQLElement(predicate) - Location: (12144,12178)(12144,12178) + PsiTypeQLElement(value) - Location: (12144,12178)(12144,12178) + PsiElement(QUOTED_STRING)('"File hash for Poison Ivy variant"')(12144,12178) + PsiElement(',')(',')(12178,12179) + PsiWhiteSpace('\n ')(12179,12184) + PsiTypeQLElement(attribute) - Location: (12184,12219)(12184,12219) + PsiElement('has')('has')(12184,12187) + PsiWhiteSpace(' ')(12187,12188) + PsiTypeQLElement(label) - Location: (12188,12195)(12188,12195) + PsiElement(LABEL_)('created')(12188,12195) + PsiWhiteSpace(' ')(12195,12196) + PsiTypeQLElement(predicate) - Location: (12196,12219)(12196,12219) + PsiTypeQLElement(value) - Location: (12196,12219)(12196,12219) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(12196,12219) + PsiElement(',')(',')(12219,12220) + PsiWhiteSpace('\n ')(12220,12225) + PsiTypeQLElement(attribute) - Location: (12225,12261)(12225,12261) + PsiElement('has')('has')(12225,12228) + PsiWhiteSpace(' ')(12228,12229) + PsiTypeQLElement(label) - Location: (12229,12237)(12229,12237) + PsiElement(LABEL_)('modified')(12229,12237) + PsiWhiteSpace(' ')(12237,12238) + PsiTypeQLElement(predicate) - Location: (12238,12261)(12238,12261) + PsiTypeQLElement(value) - Location: (12238,12261)(12238,12261) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(12238,12261) + PsiElement(',')(',')(12261,12262) + PsiWhiteSpace('\n ')(12262,12267) + PsiTypeQLElement(attribute) - Location: (12267,12328)(12267,12328) + PsiElement('has')('has')(12267,12270) + PsiWhiteSpace(' ')(12270,12271) + PsiTypeQLElement(label) - Location: (12271,12278)(12271,12278) + PsiElement(LABEL_)('stix-id')(12271,12278) + PsiWhiteSpace(' ')(12278,12279) + PsiTypeQLElement(predicate) - Location: (12279,12328)(12279,12328) + PsiTypeQLElement(value) - Location: (12279,12328)(12279,12328) + PsiElement(QUOTED_STRING)('"indicator--a932fcc6-e032-476c-826f-cb970a5a1ade"')(12279,12328) + PsiElement(',')(',')(12328,12329) + PsiWhiteSpace('\n ')(12329,12334) + PsiTypeQLElement(attribute) - Location: (12334,12440)(12334,12440) + PsiElement('has')('has')(12334,12337) + PsiWhiteSpace(' ')(12337,12338) + PsiTypeQLElement(label) - Location: (12338,12345)(12338,12345) + PsiElement(LABEL_)('pattern')(12338,12345) + PsiWhiteSpace(' ')(12345,12346) + PsiTypeQLElement(predicate) - Location: (12346,12440)(12346,12440) + PsiTypeQLElement(value) - Location: (12346,12440)(12346,12440) + PsiElement(QUOTED_STRING)('"[file:hashes.'SHA-256' = 'ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c']"')(12346,12440) + PsiElement(',')(',')(12440,12441) + PsiWhiteSpace('\n ')(12441,12446) + PsiTypeQLElement(attribute) - Location: (12446,12469)(12446,12469) + PsiElement('has')('has')(12446,12449) + PsiWhiteSpace(' ')(12449,12450) + PsiTypeQLElement(label) - Location: (12450,12462)(12450,12462) + PsiElement(LABEL_)('pattern-type')(12450,12462) + PsiWhiteSpace(' ')(12462,12463) + PsiTypeQLElement(predicate) - Location: (12463,12469)(12463,12469) + PsiTypeQLElement(value) - Location: (12463,12469)(12463,12469) + PsiElement(QUOTED_STRING)('"stix"')(12463,12469) + PsiElement(',')(',')(12469,12470) + PsiWhiteSpace('\n ')(12470,12475) + PsiTypeQLElement(attribute) - Location: (12475,12509)(12475,12509) + PsiElement('has')('has')(12475,12478) + PsiWhiteSpace(' ')(12478,12479) + PsiTypeQLElement(label) - Location: (12479,12489)(12479,12489) + PsiElement(LABEL_)('valid-from')(12479,12489) + PsiWhiteSpace(' ')(12489,12490) + PsiTypeQLElement(predicate) - Location: (12490,12509)(12490,12509) + PsiTypeQLElement(value) - Location: (12490,12509)(12490,12509) + PsiElement(DATETIME_)('2014-02-20T09:00:00')(12490,12509) + PsiElement(',')(',')(12509,12510) + PsiWhiteSpace('\n ')(12510,12515) + PsiTypeQLElement(attribute) - Location: (12515,12554)(12515,12554) + PsiElement('has')('has')(12515,12518) + PsiWhiteSpace(' ')(12518,12519) + PsiTypeQLElement(label) - Location: (12519,12533)(12519,12533) + PsiElement(LABEL_)('indicator-type')(12519,12533) + PsiWhiteSpace(' ')(12533,12534) + PsiTypeQLElement(predicate) - Location: (12534,12554)(12534,12554) + PsiTypeQLElement(value) - Location: (12534,12554)(12534,12554) + PsiElement(QUOTED_STRING)('"malicious-activity"')(12534,12554) + PsiElement(';')(';')(12554,12555) + PsiWhiteSpace('\n')(12555,12556) + PsiTypeQLElement(statement_thing_any) - Location: (12556,12878)(12556,12878) + PsiTypeQLElement(statement_thing) - Location: (12556,12878)(12556,12878) + PsiElement(VAR_CONCEPT_)('$ma')(12556,12559) + PsiWhiteSpace(' ')(12559,12560) + PsiElement(ISA_)('isa')(12560,12563) + PsiWhiteSpace(' ')(12563,12564) + PsiTypeQLElement(type) - Location: (12564,12571)(12564,12571) + PsiTypeQLElement(label) - Location: (12564,12571)(12564,12571) + PsiElement(LABEL_)('malware')(12564,12571) + PsiElement(',')(',')(12571,12572) + PsiWhiteSpace(' ')(12572,12573) + PsiTypeQLElement(attributes) - Location: (12573,12878)(12573,12878) + PsiTypeQLElement(attribute) - Location: (12573,12594)(12573,12594) + PsiElement('has')('has')(12573,12576) + PsiWhiteSpace(' ')(12576,12577) + PsiTypeQLElement(label) - Location: (12577,12581)(12577,12581) + PsiElement(LABEL_)('name')(12577,12581) + PsiWhiteSpace(' ')(12581,12582) + PsiTypeQLElement(predicate) - Location: (12582,12594)(12582,12594) + PsiTypeQLElement(value) - Location: (12582,12594)(12582,12594) + PsiElement(QUOTED_STRING)('"Poison Ivy"')(12582,12594) + PsiElement(',')(',')(12594,12595) + PsiWhiteSpace('\n ')(12595,12600) + PsiTypeQLElement(attribute) - Location: (12600,12622)(12600,12622) + PsiElement('has')('has')(12600,12603) + PsiWhiteSpace(' ')(12603,12604) + PsiTypeQLElement(label) - Location: (12604,12616)(12604,12616) + PsiElement(LABEL_)('spec-version')(12604,12616) + PsiWhiteSpace(' ')(12616,12617) + PsiTypeQLElement(predicate) - Location: (12617,12622)(12617,12622) + PsiTypeQLElement(value) - Location: (12617,12622)(12617,12622) + PsiElement(QUOTED_STRING)('"2.1"')(12617,12622) + PsiElement(',')(',')(12622,12623) + PsiWhiteSpace('\n ')(12623,12628) + PsiTypeQLElement(attribute) - Location: (12628,12690)(12628,12690) + PsiElement('has')('has')(12628,12631) + PsiWhiteSpace(' ')(12631,12632) + PsiTypeQLElement(label) - Location: (12632,12639)(12632,12639) + PsiElement(LABEL_)('stix-id')(12632,12639) + PsiWhiteSpace(' ')(12639,12640) + PsiTypeQLElement(predicate) - Location: (12640,12690)(12640,12690) + PsiTypeQLElement(value) - Location: (12640,12690)(12640,12690) + PsiElement(QUOTED_STRING)('"malware--fdd60b30-b67c-41aoeuaoeub9-f01faf20d111"')(12640,12690) + PsiElement(',')(',')(12690,12691) + PsiWhiteSpace('\n ')(12691,12696) + PsiTypeQLElement(attribute) - Location: (12696,12731)(12696,12731) + PsiElement('has')('has')(12696,12699) + PsiWhiteSpace(' ')(12699,12700) + PsiTypeQLElement(label) - Location: (12700,12707)(12700,12707) + PsiElement(LABEL_)('created')(12700,12707) + PsiWhiteSpace(' ')(12707,12708) + PsiTypeQLElement(predicate) - Location: (12708,12731)(12708,12731) + PsiTypeQLElement(value) - Location: (12708,12731)(12708,12731) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(12708,12731) + PsiElement(',')(',')(12731,12732) + PsiWhiteSpace('\n ')(12732,12737) + PsiTypeQLElement(attribute) - Location: (12737,12773)(12737,12773) + PsiElement('has')('has')(12737,12740) + PsiWhiteSpace(' ')(12740,12741) + PsiTypeQLElement(label) - Location: (12741,12749)(12741,12749) + PsiElement(LABEL_)('modified')(12741,12749) + PsiWhiteSpace(' ')(12749,12750) + PsiTypeQLElement(predicate) - Location: (12750,12773)(12750,12773) + PsiTypeQLElement(value) - Location: (12750,12773)(12750,12773) + PsiElement(DATETIME_)('2014-02-20T09:16:08.989')(12750,12773) + PsiElement(',')(',')(12773,12774) + PsiWhiteSpace('\n ')(12774,12779) + PsiTypeQLElement(attribute) - Location: (12779,12807)(12779,12807) + PsiElement('has')('has')(12779,12782) + PsiWhiteSpace(' ')(12782,12783) + PsiTypeQLElement(label) - Location: (12783,12796)(12783,12796) + PsiElement(LABEL_)('malware-types')(12783,12796) + PsiWhiteSpace(' ')(12796,12797) + PsiTypeQLElement(predicate) - Location: (12797,12807)(12797,12807) + PsiTypeQLElement(value) - Location: (12797,12807)(12797,12807) + PsiElement(QUOTED_STRING)('"backdoor"')(12797,12807) + PsiElement(',')(',')(12807,12808) + PsiWhiteSpace('\n ')(12808,12813) + PsiTypeQLElement(attribute) - Location: (12813,12853)(12813,12853) + PsiElement('has')('has')(12813,12816) + PsiWhiteSpace(' ')(12816,12817) + PsiTypeQLElement(label) - Location: (12817,12830)(12817,12830) + PsiElement(LABEL_)('malware-types')(12817,12830) + PsiWhiteSpace(' ')(12830,12831) + PsiTypeQLElement(predicate) - Location: (12831,12853)(12831,12853) + PsiTypeQLElement(value) - Location: (12831,12853)(12831,12853) + PsiElement(QUOTED_STRING)('"remote-access-trojan"')(12831,12853) + PsiElement(',')(',')(12853,12854) + PsiWhiteSpace('\n ')(12854,12859) + PsiTypeQLElement(attribute) - Location: (12859,12878)(12859,12878) + PsiElement('has')('has')(12859,12862) + PsiWhiteSpace(' ')(12862,12863) + PsiTypeQLElement(label) - Location: (12863,12872)(12863,12872) + PsiElement(LABEL_)('is-family')(12863,12872) + PsiWhiteSpace(' ')(12872,12873) + PsiTypeQLElement(predicate) - Location: (12873,12878)(12873,12878) + PsiTypeQLElement(value) - Location: (12873,12878)(12873,12878) + PsiElement(BOOLEAN_)('false')(12873,12878) + PsiElement(';')(';')(12878,12879) + PsiWhiteSpace('\n\n')(12879,12881) + PsiTypeQLElement(statement_thing_any) - Location: (12881,13116)(12881,13116) + PsiTypeQLElement(statement_relation) - Location: (12881,13116)(12881,13116) + PsiTypeQLElement(relation) - Location: (12881,12914)(12881,12914) + PsiElement('(')('(')(12881,12882) + PsiTypeQLElement(role_player) - Location: (12882,12897)(12882,12897) + PsiTypeQLElement(type) - Location: (12882,12892)(12882,12892) + PsiTypeQLElement(label) - Location: (12882,12892)(12882,12892) + PsiElement(LABEL_)('indicating')(12882,12892) + PsiElement(':')(':')(12892,12893) + PsiWhiteSpace(' ')(12893,12894) + PsiTypeQLElement(player) - Location: (12894,12897)(12894,12897) + PsiElement(VAR_CONCEPT_)('$in')(12894,12897) + PsiElement(',')(',')(12897,12898) + PsiWhiteSpace(' ')(12898,12899) + PsiTypeQLElement(role_player) - Location: (12899,12913)(12899,12913) + PsiTypeQLElement(type) - Location: (12899,12908)(12899,12908) + PsiTypeQLElement(label) - Location: (12899,12908)(12899,12908) + PsiElement(LABEL_)('indicated')(12899,12908) + PsiElement(':')(':')(12908,12909) + PsiWhiteSpace(' ')(12909,12910) + PsiTypeQLElement(player) - Location: (12910,12913)(12910,12913) + PsiElement(VAR_CONCEPT_)('$ma')(12910,12913) + PsiElement(')')(')')(12913,12914) + PsiWhiteSpace(' ')(12914,12915) + PsiElement(ISA_)('isa')(12915,12918) + PsiWhiteSpace(' ')(12918,12919) + PsiTypeQLElement(type) - Location: (12919,12928)(12919,12928) + PsiTypeQLElement(label) - Location: (12919,12928)(12919,12928) + PsiElement(LABEL_)('indicates')(12919,12928) + PsiElement(',')(',')(12928,12929) + PsiWhiteSpace('\n ')(12929,12934) + PsiTypeQLElement(attributes) - Location: (12934,13116)(12934,13116) + PsiTypeQLElement(attribute) - Location: (12934,12956)(12934,12956) + PsiElement('has')('has')(12934,12937) + PsiWhiteSpace(' ')(12937,12938) + PsiTypeQLElement(label) - Location: (12938,12950)(12938,12950) + PsiElement(LABEL_)('spec-version')(12938,12950) + PsiWhiteSpace(' ')(12950,12951) + PsiTypeQLElement(predicate) - Location: (12951,12956)(12951,12956) + PsiTypeQLElement(value) - Location: (12951,12956)(12951,12956) + PsiElement(QUOTED_STRING)('"2.1"')(12951,12956) + PsiElement(',')(',')(12956,12957) + PsiWhiteSpace('\n ')(12957,12962) + PsiTypeQLElement(attribute) - Location: (12962,13033)(12962,13033) + PsiElement('has')('has')(12962,12965) + PsiWhiteSpace(' ')(12965,12966) + PsiTypeQLElement(label) - Location: (12966,12973)(12966,12973) + PsiElement(LABEL_)('stix-id')(12966,12973) + PsiWhiteSpace(' ')(12973,12974) + PsiTypeQLElement(predicate) - Location: (12974,13033)(12974,13033) + PsiTypeQLElement(value) - Location: (12974,13033)(12974,13033) + PsiElement(QUOTED_STRING)('"relationship--29dcdf68-1b0c-4e16-94ed-bcconkh-347a9572f69"')(12974,13033) + PsiElement(',')(',')(13033,13034) + PsiWhiteSpace('\n ')(13034,13039) + PsiTypeQLElement(attribute) - Location: (13039,13074)(13039,13074) + PsiElement('has')('has')(13039,13042) + PsiWhiteSpace(' ')(13042,13043) + PsiTypeQLElement(label) - Location: (13043,13050)(13043,13050) + PsiElement(LABEL_)('created')(13043,13050) + PsiWhiteSpace(' ')(13050,13051) + PsiTypeQLElement(predicate) - Location: (13051,13074)(13051,13074) + PsiTypeQLElement(value) - Location: (13051,13074)(13051,13074) + PsiElement(DATETIME_)('2020-02-29T18:09:12.808')(13051,13074) + PsiElement(',')(',')(13074,13075) + PsiWhiteSpace('\n ')(13075,13080) + PsiTypeQLElement(attribute) - Location: (13080,13116)(13080,13116) + PsiElement('has')('has')(13080,13083) + PsiWhiteSpace(' ')(13083,13084) + PsiTypeQLElement(label) - Location: (13084,13092)(13084,13092) + PsiElement(LABEL_)('modified')(13084,13092) + PsiWhiteSpace(' ')(13092,13093) + PsiTypeQLElement(predicate) - Location: (13093,13116)(13093,13116) + PsiTypeQLElement(value) - Location: (13093,13116)(13093,13116) + PsiElement(DATETIME_)('2020-02-29T18:09:12.808')(13093,13116) + PsiElement(';')(';')(13116,13117) + PsiWhiteSpace('\n\n')(13117,13119) + PsiComment(COMMENT)('# Example from: https://oasis-open.github.io/cti-documentation/examples/defining-campaign-ta-is\n')(13119,13215) + PsiComment(COMMENT)('# Defining Campaigns vs. Threat Actors vs. Intrusion Sets\n')(13215,13273) + PsiTypeQLElement(modifiers) - Location: (13273,13273)(13273,13273) + + PsiTypeQLElement(query) - Location: (13273,21496)(13273,21496) + PsiTypeQLElement(query_insert) - Location: (13273,21496)(13273,21496) + PsiTypeQLElement(clause_insert) - Location: (13273,21496)(13273,21496) + PsiElement('insert')('insert')(13273,13279) + PsiWhiteSpace('\n\n')(13279,13281) + PsiTypeQLElement(statement_things) - Location: (13281,21496)(13281,21496) + PsiTypeQLElement(statement_thing_any) - Location: (13281,13497)(13281,13497) + PsiTypeQLElement(statement_thing) - Location: (13281,13497)(13281,13497) + PsiElement(VAR_CONCEPT_)('$bravo-at')(13281,13290) + PsiWhiteSpace(' ')(13290,13291) + PsiElement(ISA_)('isa')(13291,13294) + PsiWhiteSpace(' ')(13294,13295) + PsiTypeQLElement(type) - Location: (13295,13309)(13295,13309) + PsiTypeQLElement(label) - Location: (13295,13309)(13295,13309) + PsiElement(LABEL_)('attack-pattern')(13295,13309) + PsiElement(',')(',')(13309,13310) + PsiWhiteSpace('\n ')(13310,13315) + PsiTypeQLElement(attributes) - Location: (13315,13497)(13315,13497) + PsiTypeQLElement(attribute) - Location: (13315,13337)(13315,13337) + PsiElement('has')('has')(13315,13318) + PsiWhiteSpace(' ')(13318,13319) + PsiTypeQLElement(label) - Location: (13319,13331)(13319,13331) + PsiElement(LABEL_)('spec-version')(13319,13331) + PsiWhiteSpace(' ')(13331,13332) + PsiTypeQLElement(predicate) - Location: (13332,13337)(13332,13337) + PsiTypeQLElement(value) - Location: (13332,13337)(13332,13337) + PsiElement(QUOTED_STRING)('"2.1"')(13332,13337) + PsiElement(',')(',')(13337,13338) + PsiWhiteSpace('\n ')(13338,13343) + PsiTypeQLElement(attribute) - Location: (13343,13377)(13343,13377) + PsiElement('has')('has')(13343,13346) + PsiWhiteSpace(' ')(13346,13347) + PsiTypeQLElement(label) - Location: (13347,13354)(13347,13354) + PsiElement(LABEL_)('stix-id')(13347,13354) + PsiWhiteSpace(' ')(13354,13355) + PsiTypeQLElement(predicate) - Location: (13355,13377)(13355,13377) + PsiTypeQLElement(value) - Location: (13355,13377)(13355,13377) + PsiElement(QUOTED_STRING)('"attack-pattern-bravo"')(13355,13377) + PsiElement(',')(',')(13377,13378) + PsiWhiteSpace('\n ')(13378,13383) + PsiTypeQLElement(attribute) - Location: (13383,13418)(13383,13418) + PsiElement('has')('has')(13383,13386) + PsiWhiteSpace(' ')(13386,13387) + PsiTypeQLElement(label) - Location: (13387,13394)(13387,13394) + PsiElement(LABEL_)('created')(13387,13394) + PsiWhiteSpace(' ')(13394,13395) + PsiTypeQLElement(predicate) - Location: (13395,13418)(13395,13418) + PsiTypeQLElement(value) - Location: (13395,13418)(13395,13418) + PsiElement(DATETIME_)('2015-05-10T16:27:16.760')(13395,13418) + PsiElement(',')(',')(13418,13419) + PsiWhiteSpace('\n ')(13419,13424) + PsiTypeQLElement(attribute) - Location: (13424,13460)(13424,13460) + PsiElement('has')('has')(13424,13427) + PsiWhiteSpace(' ')(13427,13428) + PsiTypeQLElement(label) - Location: (13428,13436)(13428,13436) + PsiElement(LABEL_)('modified')(13428,13436) + PsiWhiteSpace(' ')(13436,13437) + PsiTypeQLElement(predicate) - Location: (13437,13460)(13437,13460) + PsiTypeQLElement(value) - Location: (13437,13460)(13437,13460) + PsiElement(DATETIME_)('2015-05-10T16:27:16.760')(13437,13460) + PsiElement(',')(',')(13460,13461) + PsiWhiteSpace('\n ')(13461,13466) + PsiTypeQLElement(attribute) - Location: (13466,13497)(13466,13497) + PsiElement('has')('has')(13466,13469) + PsiWhiteSpace(' ')(13469,13470) + PsiTypeQLElement(label) - Location: (13470,13474)(13470,13474) + PsiElement(LABEL_)('name')(13470,13474) + PsiWhiteSpace(' ')(13474,13475) + PsiTypeQLElement(predicate) - Location: (13475,13497)(13475,13497) + PsiTypeQLElement(value) - Location: (13475,13497)(13475,13497) + PsiElement(QUOTED_STRING)('"Attack Pattern Bravo"')(13475,13497) + PsiElement(';')(';')(13497,13498) + PsiWhiteSpace('\n\n')(13498,13500) + PsiTypeQLElement(statement_thing_any) - Location: (13500,14033)(13500,14033) + PsiTypeQLElement(statement_thing) - Location: (13500,14033)(13500,14033) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(13500,13507) + PsiWhiteSpace(' ')(13507,13508) + PsiElement(ISA_)('isa')(13508,13511) + PsiWhiteSpace(' ')(13511,13512) + PsiTypeQLElement(type) - Location: (13512,13524)(13512,13524) + PsiTypeQLElement(label) - Location: (13512,13524)(13512,13524) + PsiElement(LABEL_)('threat-actor')(13512,13524) + PsiElement(',')(',')(13524,13525) + PsiWhiteSpace('\n ')(13525,13530) + PsiTypeQLElement(attributes) - Location: (13530,14033)(13530,14033) + PsiTypeQLElement(attribute) - Location: (13530,13552)(13530,13552) + PsiElement('has')('has')(13530,13533) + PsiWhiteSpace(' ')(13533,13534) + PsiTypeQLElement(label) - Location: (13534,13546)(13534,13546) + PsiElement(LABEL_)('spec-version')(13534,13546) + PsiWhiteSpace(' ')(13546,13547) + PsiTypeQLElement(predicate) - Location: (13547,13552)(13547,13552) + PsiTypeQLElement(value) - Location: (13547,13552)(13547,13552) + PsiElement(QUOTED_STRING)('"2.1"')(13547,13552) + PsiElement(',')(',')(13552,13553) + PsiWhiteSpace('\n ')(13553,13558) + PsiTypeQLElement(attribute) - Location: (13558,13622)(13558,13622) + PsiElement('has')('has')(13558,13561) + PsiWhiteSpace(' ')(13561,13562) + PsiTypeQLElement(label) - Location: (13562,13569)(13562,13569) + PsiElement(LABEL_)('stix-id')(13562,13569) + PsiWhiteSpace(' ')(13569,13570) + PsiTypeQLElement(predicate) - Location: (13570,13622)(13570,13622) + PsiTypeQLElement(value) - Location: (13570,13622)(13570,13622) + PsiElement(QUOTED_STRING)('"threat-actor--56f3f0db-b5d5-431c-ae56-c18f02caf500"')(13570,13622) + PsiElement(',')(',')(13622,13623) + PsiWhiteSpace('\n ')(13623,13628) + PsiTypeQLElement(attribute) - Location: (13628,13663)(13628,13663) + PsiElement('has')('has')(13628,13631) + PsiWhiteSpace(' ')(13631,13632) + PsiTypeQLElement(label) - Location: (13632,13639)(13632,13639) + PsiElement(LABEL_)('created')(13632,13639) + PsiWhiteSpace(' ')(13639,13640) + PsiTypeQLElement(predicate) - Location: (13640,13663)(13640,13663) + PsiTypeQLElement(value) - Location: (13640,13663)(13640,13663) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(13640,13663) + PsiElement(',')(',')(13663,13664) + PsiWhiteSpace('\n ')(13664,13669) + PsiTypeQLElement(attribute) - Location: (13669,13705)(13669,13705) + PsiElement('has')('has')(13669,13672) + PsiWhiteSpace(' ')(13672,13673) + PsiTypeQLElement(label) - Location: (13673,13681)(13673,13681) + PsiElement(LABEL_)('modified')(13673,13681) + PsiWhiteSpace(' ')(13681,13682) + PsiTypeQLElement(predicate) - Location: (13682,13705)(13682,13705) + PsiTypeQLElement(value) - Location: (13682,13705)(13682,13705) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(13682,13705) + PsiElement(',')(',')(13705,13706) + PsiWhiteSpace('\n ')(13706,13711) + PsiTypeQLElement(attribute) - Location: (13711,13756)(13711,13756) + PsiElement('has')('has')(13711,13714) + PsiWhiteSpace(' ')(13714,13715) + PsiTypeQLElement(label) - Location: (13715,13719)(13715,13719) + PsiElement(LABEL_)('name')(13715,13719) + PsiWhiteSpace(' ')(13719,13720) + PsiTypeQLElement(predicate) - Location: (13720,13756)(13720,13756) + PsiTypeQLElement(value) - Location: (13720,13756)(13720,13756) + PsiElement(QUOTED_STRING)('"Fake BPP (Branistan Peoples Party)"')(13720,13756) + PsiElement(',')(',')(13756,13757) + PsiWhiteSpace('\n ')(13757,13762) + PsiTypeQLElement(attribute) - Location: (13762,13799)(13762,13799) + PsiElement('has')('has')(13762,13765) + PsiWhiteSpace(' ')(13765,13766) + PsiTypeQLElement(label) - Location: (13766,13784)(13766,13784) + PsiElement(LABEL_)('threat-actor-types')(13766,13784) + PsiWhiteSpace(' ')(13784,13785) + PsiTypeQLElement(predicate) - Location: (13785,13799)(13785,13799) + PsiTypeQLElement(value) - Location: (13785,13799)(13785,13799) + PsiElement(QUOTED_STRING)('"nation-state"')(13785,13799) + PsiElement(',')(',')(13799,13800) + PsiWhiteSpace('\n ')(13800,13805) + PsiTypeQLElement(attribute) - Location: (13805,13825)(13805,13825) + PsiElement('has')('has')(13805,13808) + PsiWhiteSpace(' ')(13808,13809) + PsiTypeQLElement(label) - Location: (13809,13814)(13809,13814) + PsiElement(LABEL_)('roles')(13809,13814) + PsiWhiteSpace(' ')(13814,13815) + PsiTypeQLElement(predicate) - Location: (13815,13825)(13815,13825) + PsiTypeQLElement(value) - Location: (13815,13825)(13815,13825) + PsiElement(QUOTED_STRING)('"director"')(13815,13825) + PsiElement(',')(',')(13825,13826) + PsiWhiteSpace('\n ')(13826,13831) + PsiTypeQLElement(attribute) - Location: (13831,13878)(13831,13878) + PsiElement('has')('has')(13831,13834) + PsiWhiteSpace(' ')(13834,13835) + PsiTypeQLElement(label) - Location: (13835,13840)(13835,13840) + PsiElement(LABEL_)('goals')(13835,13840) + PsiWhiteSpace(' ')(13840,13841) + PsiTypeQLElement(predicate) - Location: (13841,13878)(13841,13878) + PsiTypeQLElement(value) - Location: (13841,13878)(13841,13878) + PsiElement(QUOTED_STRING)('"Influence the election in Branistan"')(13841,13878) + PsiElement(',')(',')(13878,13879) + PsiWhiteSpace('\n ')(13879,13884) + PsiTypeQLElement(attribute) - Location: (13884,13914)(13884,13914) + PsiElement('has')('has')(13884,13887) + PsiWhiteSpace(' ')(13887,13888) + PsiTypeQLElement(label) - Location: (13888,13902)(13888,13902) + PsiElement(LABEL_)('sophistication')(13888,13902) + PsiWhiteSpace(' ')(13902,13903) + PsiTypeQLElement(predicate) - Location: (13903,13914)(13903,13914) + PsiTypeQLElement(value) - Location: (13903,13914)(13903,13914) + PsiElement(QUOTED_STRING)('"strategic"')(13903,13914) + PsiElement(',')(',')(13914,13915) + PsiWhiteSpace('\n ')(13915,13920) + PsiTypeQLElement(attribute) - Location: (13920,13951)(13920,13951) + PsiElement('has')('has')(13920,13923) + PsiWhiteSpace(' ')(13923,13924) + PsiTypeQLElement(label) - Location: (13924,13938)(13924,13938) + PsiElement(LABEL_)('resource-level')(13924,13938) + PsiWhiteSpace(' ')(13938,13939) + PsiTypeQLElement(predicate) - Location: (13939,13951)(13939,13951) + PsiTypeQLElement(value) - Location: (13939,13951)(13939,13951) + PsiElement(QUOTED_STRING)('"government"')(13939,13951) + PsiElement(',')(',')(13951,13952) + PsiWhiteSpace('\n ')(13952,13957) + PsiTypeQLElement(attribute) - Location: (13957,13990)(13957,13990) + PsiElement('has')('has')(13957,13960) + PsiWhiteSpace(' ')(13960,13961) + PsiTypeQLElement(label) - Location: (13961,13979)(13961,13979) + PsiElement(LABEL_)('primary-motivation')(13961,13979) + PsiWhiteSpace(' ')(13979,13980) + PsiTypeQLElement(predicate) - Location: (13980,13990)(13980,13990) + PsiTypeQLElement(value) - Location: (13980,13990)(13980,13990) + PsiElement(QUOTED_STRING)('"ideology"')(13980,13990) + PsiElement(',')(',')(13990,13991) + PsiWhiteSpace('\n ')(13991,13996) + PsiTypeQLElement(attribute) - Location: (13996,14033)(13996,14033) + PsiElement('has')('has')(13996,13999) + PsiWhiteSpace(' ')(13999,14000) + PsiTypeQLElement(label) - Location: (14000,14021)(14000,14021) + PsiElement(LABEL_)('secondary-motivations')(14000,14021) + PsiWhiteSpace(' ')(14021,14022) + PsiTypeQLElement(predicate) - Location: (14022,14033)(14022,14033) + PsiTypeQLElement(value) - Location: (14022,14033)(14022,14033) + PsiElement(QUOTED_STRING)('"dominance"')(14022,14033) + PsiElement(';')(';')(14033,14034) + PsiWhiteSpace('\n\n')(14034,14036) + PsiTypeQLElement(statement_thing_any) - Location: (14036,14308)(14036,14308) + PsiTypeQLElement(statement_thing) - Location: (14036,14308)(14036,14308) + PsiElement(VAR_CONCEPT_)('$id1')(14036,14040) + PsiWhiteSpace(' ')(14040,14041) + PsiElement(ISA_)('isa')(14041,14044) + PsiWhiteSpace(' ')(14044,14045) + PsiTypeQLElement(type) - Location: (14045,14053)(14045,14053) + PsiTypeQLElement(label) - Location: (14045,14053)(14045,14053) + PsiElement(LABEL_)('identity')(14045,14053) + PsiElement(',')(',')(14053,14054) + PsiWhiteSpace('\n ')(14054,14059) + PsiTypeQLElement(attributes) - Location: (14059,14308)(14059,14308) + PsiTypeQLElement(attribute) - Location: (14059,14081)(14059,14081) + PsiElement('has')('has')(14059,14062) + PsiWhiteSpace(' ')(14062,14063) + PsiTypeQLElement(label) - Location: (14063,14075)(14063,14075) + PsiElement(LABEL_)('spec-version')(14063,14075) + PsiWhiteSpace(' ')(14075,14076) + PsiTypeQLElement(predicate) - Location: (14076,14081)(14076,14081) + PsiTypeQLElement(value) - Location: (14076,14081)(14076,14081) + PsiElement(QUOTED_STRING)('"2.1"')(14076,14081) + PsiElement(',')(',')(14081,14082) + PsiWhiteSpace('\n ')(14082,14087) + PsiTypeQLElement(attribute) - Location: (14087,14147)(14087,14147) + PsiElement('has')('has')(14087,14090) + PsiWhiteSpace(' ')(14090,14091) + PsiTypeQLElement(label) - Location: (14091,14098)(14091,14098) + PsiElement(LABEL_)('stix-id')(14091,14098) + PsiWhiteSpace(' ')(14098,14099) + PsiTypeQLElement(predicate) - Location: (14099,14147)(14099,14147) + PsiTypeQLElement(value) - Location: (14099,14147)(14099,14147) + PsiElement(QUOTED_STRING)('"identity--8c6af861-7b20-41ef-9b59-6344fd872a8f"')(14099,14147) + PsiElement(',')(',')(14147,14148) + PsiWhiteSpace('\n ')(14148,14153) + PsiTypeQLElement(attribute) - Location: (14153,14188)(14153,14188) + PsiElement('has')('has')(14153,14156) + PsiWhiteSpace(' ')(14156,14157) + PsiTypeQLElement(label) - Location: (14157,14164)(14157,14164) + PsiElement(LABEL_)('created')(14157,14164) + PsiWhiteSpace(' ')(14164,14165) + PsiTypeQLElement(predicate) - Location: (14165,14188)(14165,14188) + PsiTypeQLElement(value) - Location: (14165,14188)(14165,14188) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(14165,14188) + PsiElement(',')(',')(14188,14189) + PsiWhiteSpace('\n ')(14189,14194) + PsiTypeQLElement(attribute) - Location: (14194,14230)(14194,14230) + PsiElement('has')('has')(14194,14197) + PsiWhiteSpace(' ')(14197,14198) + PsiTypeQLElement(label) - Location: (14198,14206)(14198,14206) + PsiElement(LABEL_)('modified')(14198,14206) + PsiWhiteSpace(' ')(14206,14207) + PsiTypeQLElement(predicate) - Location: (14207,14230)(14207,14230) + PsiTypeQLElement(value) - Location: (14207,14230)(14207,14230) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(14207,14230) + PsiElement(',')(',')(14230,14231) + PsiWhiteSpace('\n ')(14231,14236) + PsiTypeQLElement(attribute) - Location: (14236,14269)(14236,14269) + PsiElement('has')('has')(14236,14239) + PsiWhiteSpace(' ')(14239,14240) + PsiTypeQLElement(label) - Location: (14240,14244)(14240,14244) + PsiElement(LABEL_)('name')(14240,14244) + PsiWhiteSpace(' ')(14244,14245) + PsiTypeQLElement(predicate) - Location: (14245,14269)(14245,14269) + PsiTypeQLElement(value) - Location: (14245,14269)(14245,14269) + PsiElement(QUOTED_STRING)('"Franistan Intelligence"')(14245,14269) + PsiElement(',')(',')(14269,14270) + PsiWhiteSpace('\n ')(14270,14275) + PsiTypeQLElement(attribute) - Location: (14275,14308)(14275,14308) + PsiElement('has')('has')(14275,14278) + PsiWhiteSpace(' ')(14278,14279) + PsiTypeQLElement(label) - Location: (14279,14293)(14279,14293) + PsiElement(LABEL_)('identity-class')(14279,14293) + PsiWhiteSpace(' ')(14293,14294) + PsiTypeQLElement(predicate) - Location: (14294,14308)(14294,14308) + PsiTypeQLElement(value) - Location: (14294,14308)(14294,14308) + PsiElement(QUOTED_STRING)('"organization"')(14294,14308) + PsiElement(';')(';')(14308,14309) + PsiWhiteSpace('\n\n')(14309,14311) + PsiTypeQLElement(statement_thing_any) - Location: (14311,14584)(14311,14584) + PsiTypeQLElement(statement_thing) - Location: (14311,14584)(14311,14584) + PsiElement(VAR_CONCEPT_)('$id2')(14311,14315) + PsiWhiteSpace(' ')(14315,14316) + PsiElement(ISA_)('isa')(14316,14319) + PsiWhiteSpace(' ')(14319,14320) + PsiTypeQLElement(type) - Location: (14320,14328)(14320,14328) + PsiTypeQLElement(label) - Location: (14320,14328)(14320,14328) + PsiElement(LABEL_)('identity')(14320,14328) + PsiElement(',')(',')(14328,14329) + PsiWhiteSpace('\n ')(14329,14334) + PsiTypeQLElement(attributes) - Location: (14334,14584)(14334,14584) + PsiTypeQLElement(attribute) - Location: (14334,14356)(14334,14356) + PsiElement('has')('has')(14334,14337) + PsiWhiteSpace(' ')(14337,14338) + PsiTypeQLElement(label) - Location: (14338,14350)(14338,14350) + PsiElement(LABEL_)('spec-version')(14338,14350) + PsiWhiteSpace(' ')(14350,14351) + PsiTypeQLElement(predicate) - Location: (14351,14356)(14351,14356) + PsiTypeQLElement(value) - Location: (14351,14356)(14351,14356) + PsiElement(QUOTED_STRING)('"2.1"')(14351,14356) + PsiElement(',')(',')(14356,14357) + PsiWhiteSpace('\n ')(14357,14362) + PsiTypeQLElement(attribute) - Location: (14362,14422)(14362,14422) + PsiElement('has')('has')(14362,14365) + PsiWhiteSpace(' ')(14365,14366) + PsiTypeQLElement(label) - Location: (14366,14373)(14366,14373) + PsiElement(LABEL_)('stix-id')(14366,14373) + PsiWhiteSpace(' ')(14373,14374) + PsiTypeQLElement(predicate) - Location: (14374,14422)(14374,14422) + PsiTypeQLElement(value) - Location: (14374,14422)(14374,14422) + PsiElement(QUOTED_STRING)('"identity--ddfe7140-2ba4-48e4-b19a-df069432103b"')(14374,14422) + PsiElement(',')(',')(14422,14423) + PsiWhiteSpace('\n ')(14423,14428) + PsiTypeQLElement(attribute) - Location: (14428,14463)(14428,14463) + PsiElement('has')('has')(14428,14431) + PsiWhiteSpace(' ')(14431,14432) + PsiTypeQLElement(label) - Location: (14432,14439)(14432,14439) + PsiElement(LABEL_)('created')(14432,14439) + PsiWhiteSpace(' ')(14439,14440) + PsiTypeQLElement(predicate) - Location: (14440,14463)(14440,14463) + PsiTypeQLElement(value) - Location: (14440,14463)(14440,14463) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(14440,14463) + PsiElement(',')(',')(14463,14464) + PsiWhiteSpace('\n ')(14464,14469) + PsiTypeQLElement(attribute) - Location: (14469,14505)(14469,14505) + PsiElement('has')('has')(14469,14472) + PsiWhiteSpace(' ')(14472,14473) + PsiTypeQLElement(label) - Location: (14473,14481)(14473,14481) + PsiElement(LABEL_)('modified')(14473,14481) + PsiWhiteSpace(' ')(14481,14482) + PsiTypeQLElement(predicate) - Location: (14482,14505)(14482,14505) + PsiTypeQLElement(value) - Location: (14482,14505)(14482,14505) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(14482,14505) + PsiElement(',')(',')(14505,14506) + PsiWhiteSpace('\n ')(14506,14511) + PsiTypeQLElement(attribute) - Location: (14511,14545)(14511,14545) + PsiElement('has')('has')(14511,14514) + PsiWhiteSpace(' ')(14514,14515) + PsiTypeQLElement(label) - Location: (14515,14519)(14515,14519) + PsiElement(LABEL_)('name')(14515,14519) + PsiWhiteSpace(' ')(14519,14520) + PsiTypeQLElement(predicate) - Location: (14520,14545)(14520,14545) + PsiTypeQLElement(value) - Location: (14520,14545)(14520,14545) + PsiElement(QUOTED_STRING)('"Branistan Peoples Party"')(14520,14545) + PsiElement(',')(',')(14545,14546) + PsiWhiteSpace('\n ')(14546,14551) + PsiTypeQLElement(attribute) - Location: (14551,14584)(14551,14584) + PsiElement('has')('has')(14551,14554) + PsiWhiteSpace(' ')(14554,14555) + PsiTypeQLElement(label) - Location: (14555,14569)(14555,14569) + PsiElement(LABEL_)('identity-class')(14555,14569) + PsiWhiteSpace(' ')(14569,14570) + PsiTypeQLElement(predicate) - Location: (14570,14584)(14570,14584) + PsiTypeQLElement(value) - Location: (14570,14584)(14570,14584) + PsiElement(QUOTED_STRING)('"organization"')(14570,14584) + PsiElement(';')(';')(14584,14585) + PsiWhiteSpace('\n\n')(14585,14587) + PsiTypeQLElement(statement_thing_any) - Location: (14587,14683)(14587,14683) + PsiTypeQLElement(statement_thing) - Location: (14587,14683)(14587,14683) + PsiElement(VAR_CONCEPT_)('$er1')(14587,14591) + PsiWhiteSpace(' ')(14591,14592) + PsiElement(ISA_)('isa')(14592,14595) + PsiWhiteSpace(' ')(14595,14596) + PsiTypeQLElement(type) - Location: (14596,14614)(14596,14614) + PsiTypeQLElement(label) - Location: (14596,14614)(14596,14614) + PsiElement(LABEL_)('external-reference')(14596,14614) + PsiElement(',')(',')(14614,14615) + PsiWhiteSpace('\n ')(14615,14620) + PsiTypeQLElement(attributes) - Location: (14620,14683)(14620,14683) + PsiTypeQLElement(attribute) - Location: (14620,14645)(14620,14645) + PsiElement('has')('has')(14620,14623) + PsiWhiteSpace(' ')(14623,14624) + PsiTypeQLElement(label) - Location: (14624,14635)(14624,14635) + PsiElement(LABEL_)('source-name')(14624,14635) + PsiWhiteSpace(' ')(14635,14636) + PsiTypeQLElement(predicate) - Location: (14636,14645)(14636,14645) + PsiTypeQLElement(value) - Location: (14636,14645)(14636,14645) + PsiElement(QUOTED_STRING)('"website"')(14636,14645) + PsiElement(',')(',')(14645,14646) + PsiWhiteSpace('\n ')(14646,14651) + PsiTypeQLElement(attribute) - Location: (14651,14683)(14651,14683) + PsiElement('has')('has')(14651,14654) + PsiWhiteSpace(' ')(14654,14655) + PsiTypeQLElement(label) - Location: (14655,14663)(14655,14663) + PsiElement(LABEL_)('url-link')(14655,14663) + PsiWhiteSpace(' ')(14663,14664) + PsiTypeQLElement(predicate) - Location: (14664,14683)(14664,14683) + PsiTypeQLElement(value) - Location: (14664,14683)(14664,14683) + PsiElement(QUOTED_STRING)('"http://www.bpp.bn"')(14664,14683) + PsiElement(';')(';')(14683,14684) + PsiWhiteSpace('\n\n')(14684,14686) + PsiTypeQLElement(statement_thing_any) - Location: (14686,14747)(14686,14747) + PsiTypeQLElement(statement_relation) - Location: (14686,14747)(14686,14747) + PsiTypeQLElement(relation) - Location: (14686,14723)(14686,14723) + PsiElement('(')('(')(14686,14687) + PsiTypeQLElement(role_player) - Location: (14687,14704)(14687,14704) + PsiTypeQLElement(type) - Location: (14687,14698)(14687,14698) + PsiTypeQLElement(label) - Location: (14687,14698)(14687,14698) + PsiElement(LABEL_)('referencing')(14687,14698) + PsiElement(':')(':')(14698,14699) + PsiWhiteSpace(' ')(14699,14700) + PsiTypeQLElement(player) - Location: (14700,14704)(14700,14704) + PsiElement(VAR_CONCEPT_)('$id2')(14700,14704) + PsiElement(',')(',')(14704,14705) + PsiWhiteSpace(' ')(14705,14706) + PsiTypeQLElement(role_player) - Location: (14706,14722)(14706,14722) + PsiTypeQLElement(type) - Location: (14706,14716)(14706,14716) + PsiTypeQLElement(label) - Location: (14706,14716)(14706,14716) + PsiElement(LABEL_)('referenced')(14706,14716) + PsiElement(':')(':')(14716,14717) + PsiWhiteSpace(' ')(14717,14718) + PsiTypeQLElement(player) - Location: (14718,14722)(14718,14722) + PsiElement(VAR_CONCEPT_)('$er1')(14718,14722) + PsiElement(')')(')')(14722,14723) + PsiWhiteSpace(' ')(14723,14724) + PsiElement(ISA_)('isa')(14724,14727) + PsiWhiteSpace(' ')(14727,14728) + PsiTypeQLElement(type) - Location: (14728,14747)(14728,14747) + PsiTypeQLElement(label) - Location: (14728,14747)(14728,14747) + PsiElement(LABEL_)('external-references')(14728,14747) + PsiElement(';')(';')(14747,14748) + PsiWhiteSpace('\n\n')(14748,14750) + PsiTypeQLElement(statement_thing_any) - Location: (14750,14989)(14750,14989) + PsiTypeQLElement(statement_thing) - Location: (14750,14989)(14750,14989) + PsiElement(VAR_CONCEPT_)('$at1')(14750,14754) + PsiWhiteSpace(' ')(14754,14755) + PsiElement(ISA_)('isa')(14755,14758) + PsiWhiteSpace(' ')(14758,14759) + PsiTypeQLElement(type) - Location: (14759,14773)(14759,14773) + PsiTypeQLElement(label) - Location: (14759,14773)(14759,14773) + PsiElement(LABEL_)('attack-pattern')(14759,14773) + PsiElement(',')(',')(14773,14774) + PsiWhiteSpace('\n ')(14774,14779) + PsiTypeQLElement(attributes) - Location: (14779,14989)(14779,14989) + PsiTypeQLElement(attribute) - Location: (14779,14801)(14779,14801) + PsiElement('has')('has')(14779,14782) + PsiWhiteSpace(' ')(14782,14783) + PsiTypeQLElement(label) - Location: (14783,14795)(14783,14795) + PsiElement(LABEL_)('spec-version')(14783,14795) + PsiWhiteSpace(' ')(14795,14796) + PsiTypeQLElement(predicate) - Location: (14796,14801)(14796,14801) + PsiTypeQLElement(value) - Location: (14796,14801)(14796,14801) + PsiElement(QUOTED_STRING)('"2.1"')(14796,14801) + PsiElement(',')(',')(14801,14802) + PsiWhiteSpace('\n ')(14802,14807) + PsiTypeQLElement(attribute) - Location: (14807,14873)(14807,14873) + PsiElement('has')('has')(14807,14810) + PsiWhiteSpace(' ')(14810,14811) + PsiTypeQLElement(label) - Location: (14811,14818)(14811,14818) + PsiElement(LABEL_)('stix-id')(14811,14818) + PsiWhiteSpace(' ')(14818,14819) + PsiTypeQLElement(predicate) - Location: (14819,14873)(14819,14873) + PsiTypeQLElement(value) - Location: (14819,14873)(14819,14873) + PsiElement(QUOTED_STRING)('"attack-pattern--19da6e1c-71ab-4c2f-886d-d620d09d3b5a"')(14819,14873) + PsiElement(',')(',')(14873,14874) + PsiWhiteSpace('\n ')(14874,14879) + PsiTypeQLElement(attribute) - Location: (14879,14914)(14879,14914) + PsiElement('has')('has')(14879,14882) + PsiWhiteSpace(' ')(14882,14883) + PsiTypeQLElement(label) - Location: (14883,14890)(14883,14890) + PsiElement(LABEL_)('created')(14883,14890) + PsiWhiteSpace(' ')(14890,14891) + PsiTypeQLElement(predicate) - Location: (14891,14914)(14891,14914) + PsiTypeQLElement(value) - Location: (14891,14914)(14891,14914) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(14891,14914) + PsiElement(',')(',')(14914,14915) + PsiWhiteSpace('\n ')(14915,14920) + PsiTypeQLElement(attribute) - Location: (14920,14956)(14920,14956) + PsiElement('has')('has')(14920,14923) + PsiWhiteSpace(' ')(14923,14924) + PsiTypeQLElement(label) - Location: (14924,14932)(14924,14932) + PsiElement(LABEL_)('modified')(14924,14932) + PsiWhiteSpace(' ')(14932,14933) + PsiTypeQLElement(predicate) - Location: (14933,14956)(14933,14956) + PsiTypeQLElement(value) - Location: (14933,14956)(14933,14956) + PsiElement(DATETIME_)('2017-01-30T21:15:04.127')(14933,14956) + PsiElement(',')(',')(14956,14957) + PsiWhiteSpace('\n ')(14957,14962) + PsiTypeQLElement(attribute) - Location: (14962,14989)(14962,14989) + PsiElement('has')('has')(14962,14965) + PsiWhiteSpace(' ')(14965,14966) + PsiTypeQLElement(label) - Location: (14966,14970)(14966,14970) + PsiElement(LABEL_)('name')(14966,14970) + PsiWhiteSpace(' ')(14970,14971) + PsiTypeQLElement(predicate) - Location: (14971,14989)(14971,14989) + PsiTypeQLElement(value) - Location: (14971,14989)(14971,14989) + PsiElement(QUOTED_STRING)('"Content Spoofing"')(14971,14989) + PsiElement(';')(';')(14989,14990) + PsiWhiteSpace('\n\n')(14990,14992) + PsiTypeQLElement(statement_thing_any) - Location: (14992,15151)(14992,15151) + PsiTypeQLElement(statement_thing) - Location: (14992,15151)(14992,15151) + PsiElement(VAR_CONCEPT_)('$er2')(14992,14996) + PsiWhiteSpace(' ')(14996,14997) + PsiElement(ISA_)('isa')(14997,15000) + PsiWhiteSpace(' ')(15000,15001) + PsiTypeQLElement(type) - Location: (15001,15019)(15001,15019) + PsiTypeQLElement(label) - Location: (15001,15019)(15001,15019) + PsiElement(LABEL_)('external-reference')(15001,15019) + PsiElement(',')(',')(15019,15020) + PsiWhiteSpace('\n ')(15020,15025) + PsiTypeQLElement(attributes) - Location: (15025,15151)(15025,15151) + PsiTypeQLElement(attribute) - Location: (15025,15048)(15025,15048) + PsiElement('has')('has')(15025,15028) + PsiWhiteSpace(' ')(15028,15029) + PsiTypeQLElement(label) - Location: (15029,15040)(15029,15040) + PsiElement(LABEL_)('source-name')(15029,15040) + PsiWhiteSpace(' ')(15040,15041) + PsiTypeQLElement(predicate) - Location: (15041,15048)(15041,15048) + PsiTypeQLElement(value) - Location: (15041,15048)(15041,15048) + PsiElement(QUOTED_STRING)('"capec"')(15041,15048) + PsiElement(',')(',')(15048,15049) + PsiWhiteSpace('\n ')(15049,15054) + PsiTypeQLElement(attribute) - Location: (15054,15118)(15054,15118) + PsiElement('has')('has')(15054,15057) + PsiWhiteSpace(' ')(15057,15058) + PsiTypeQLElement(label) - Location: (15058,15066)(15058,15066) + PsiElement(LABEL_)('url-link')(15058,15066) + PsiWhiteSpace(' ')(15066,15067) + PsiTypeQLElement(predicate) - Location: (15067,15118)(15067,15118) + PsiTypeQLElement(value) - Location: (15067,15118)(15067,15118) + PsiElement(QUOTED_STRING)('"https://capec.mitre.org/data/definitions/148.html"')(15067,15118) + PsiElement(',')(',')(15118,15119) + PsiWhiteSpace('\n ')(15119,15124) + PsiTypeQLElement(attribute) - Location: (15124,15151)(15124,15151) + PsiElement('has')('has')(15124,15127) + PsiWhiteSpace(' ')(15127,15128) + PsiTypeQLElement(label) - Location: (15128,15139)(15128,15139) + PsiElement(LABEL_)('external-id')(15128,15139) + PsiWhiteSpace(' ')(15139,15140) + PsiTypeQLElement(predicate) - Location: (15140,15151)(15140,15151) + PsiTypeQLElement(value) - Location: (15140,15151)(15140,15151) + PsiElement(QUOTED_STRING)('"CAPEC-148"')(15140,15151) + PsiElement(';')(';')(15151,15152) + PsiWhiteSpace('\n\n')(15152,15154) + PsiTypeQLElement(statement_thing_any) - Location: (15154,15215)(15154,15215) + PsiTypeQLElement(statement_relation) - Location: (15154,15215)(15154,15215) + PsiTypeQLElement(relation) - Location: (15154,15191)(15154,15191) + PsiElement('(')('(')(15154,15155) + PsiTypeQLElement(role_player) - Location: (15155,15172)(15155,15172) + PsiTypeQLElement(type) - Location: (15155,15166)(15155,15166) + PsiTypeQLElement(label) - Location: (15155,15166)(15155,15166) + PsiElement(LABEL_)('referencing')(15155,15166) + PsiElement(':')(':')(15166,15167) + PsiWhiteSpace(' ')(15167,15168) + PsiTypeQLElement(player) - Location: (15168,15172)(15168,15172) + PsiElement(VAR_CONCEPT_)('$at1')(15168,15172) + PsiElement(',')(',')(15172,15173) + PsiWhiteSpace(' ')(15173,15174) + PsiTypeQLElement(role_player) - Location: (15174,15190)(15174,15190) + PsiTypeQLElement(type) - Location: (15174,15184)(15174,15184) + PsiTypeQLElement(label) - Location: (15174,15184)(15174,15184) + PsiElement(LABEL_)('referenced')(15174,15184) + PsiElement(':')(':')(15184,15185) + PsiWhiteSpace(' ')(15185,15186) + PsiTypeQLElement(player) - Location: (15186,15190)(15186,15190) + PsiElement(VAR_CONCEPT_)('$er2')(15186,15190) + PsiElement(')')(')')(15190,15191) + PsiWhiteSpace(' ')(15191,15192) + PsiElement(ISA_)('isa')(15192,15195) + PsiWhiteSpace(' ')(15195,15196) + PsiTypeQLElement(type) - Location: (15196,15215)(15196,15215) + PsiTypeQLElement(label) - Location: (15196,15215)(15196,15215) + PsiElement(LABEL_)('external-references')(15196,15215) + PsiElement(';')(';')(15215,15216) + PsiWhiteSpace('\n\n')(15216,15218) + PsiTypeQLElement(statement_thing_any) - Location: (15218,15451)(15218,15451) + PsiTypeQLElement(statement_thing) - Location: (15218,15451)(15218,15451) + PsiElement(VAR_CONCEPT_)('$at2')(15218,15222) + PsiWhiteSpace(' ')(15222,15223) + PsiElement(ISA_)('isa')(15223,15226) + PsiWhiteSpace(' ')(15226,15227) + PsiTypeQLElement(type) - Location: (15227,15241)(15227,15241) + PsiTypeQLElement(label) - Location: (15227,15241)(15227,15241) + PsiElement(LABEL_)('attack-pattern')(15227,15241) + PsiElement(',')(',')(15241,15242) + PsiWhiteSpace('\n ')(15242,15247) + PsiTypeQLElement(attributes) - Location: (15247,15451)(15247,15451) + PsiTypeQLElement(attribute) - Location: (15247,15269)(15247,15269) + PsiElement('has')('has')(15247,15250) + PsiWhiteSpace(' ')(15250,15251) + PsiTypeQLElement(label) - Location: (15251,15263)(15251,15263) + PsiElement(LABEL_)('spec-version')(15251,15263) + PsiWhiteSpace(' ')(15263,15264) + PsiTypeQLElement(predicate) - Location: (15264,15269)(15264,15269) + PsiTypeQLElement(value) - Location: (15264,15269)(15264,15269) + PsiElement(QUOTED_STRING)('"2.1"')(15264,15269) + PsiElement(',')(',')(15269,15270) + PsiWhiteSpace('\n ')(15270,15275) + PsiTypeQLElement(attribute) - Location: (15275,15341)(15275,15341) + PsiElement('has')('has')(15275,15278) + PsiWhiteSpace(' ')(15278,15279) + PsiTypeQLElement(label) - Location: (15279,15286)(15279,15286) + PsiElement(LABEL_)('stix-id')(15279,15286) + PsiWhiteSpace(' ')(15286,15287) + PsiTypeQLElement(predicate) - Location: (15287,15341)(15287,15341) + PsiTypeQLElement(value) - Location: (15287,15341)(15287,15341) + PsiElement(QUOTED_STRING)('"attack-pattern--f6050ea6-a9a3-4524-93ed-c27858d6cb3c"')(15287,15341) + PsiElement(',')(',')(15341,15342) + PsiWhiteSpace('\n ')(15342,15347) + PsiTypeQLElement(attribute) - Location: (15347,15382)(15347,15382) + PsiElement('has')('has')(15347,15350) + PsiWhiteSpace(' ')(15350,15351) + PsiTypeQLElement(label) - Location: (15351,15358)(15351,15358) + PsiElement(LABEL_)('created')(15351,15358) + PsiWhiteSpace(' ')(15358,15359) + PsiTypeQLElement(predicate) - Location: (15359,15382)(15359,15382) + PsiTypeQLElement(value) - Location: (15359,15382)(15359,15382) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(15359,15382) + PsiElement(',')(',')(15382,15383) + PsiWhiteSpace('\n ')(15383,15388) + PsiTypeQLElement(attribute) - Location: (15388,15424)(15388,15424) + PsiElement('has')('has')(15388,15391) + PsiWhiteSpace(' ')(15391,15392) + PsiTypeQLElement(label) - Location: (15392,15400)(15392,15400) + PsiElement(LABEL_)('modified')(15392,15400) + PsiWhiteSpace(' ')(15400,15401) + PsiTypeQLElement(predicate) - Location: (15401,15424)(15401,15424) + PsiTypeQLElement(value) - Location: (15401,15424)(15401,15424) + PsiElement(DATETIME_)('2017-01-30T21:15:04.127')(15401,15424) + PsiElement(',')(',')(15424,15425) + PsiWhiteSpace('\n ')(15425,15430) + PsiTypeQLElement(attribute) - Location: (15430,15451)(15430,15451) + PsiElement('has')('has')(15430,15433) + PsiWhiteSpace(' ')(15433,15434) + PsiTypeQLElement(label) - Location: (15434,15438)(15434,15438) + PsiElement(LABEL_)('name')(15434,15438) + PsiWhiteSpace(' ')(15438,15439) + PsiTypeQLElement(predicate) - Location: (15439,15451)(15439,15451) + PsiTypeQLElement(value) - Location: (15439,15451)(15439,15451) + PsiElement(QUOTED_STRING)('"HTTP Flood"')(15439,15451) + PsiElement(';')(';')(15451,15452) + PsiWhiteSpace('\n\n')(15452,15454) + PsiTypeQLElement(statement_thing_any) - Location: (15454,15613)(15454,15613) + PsiTypeQLElement(statement_thing) - Location: (15454,15613)(15454,15613) + PsiElement(VAR_CONCEPT_)('$er3')(15454,15458) + PsiWhiteSpace(' ')(15458,15459) + PsiElement(ISA_)('isa')(15459,15462) + PsiWhiteSpace(' ')(15462,15463) + PsiTypeQLElement(type) - Location: (15463,15481)(15463,15481) + PsiTypeQLElement(label) - Location: (15463,15481)(15463,15481) + PsiElement(LABEL_)('external-reference')(15463,15481) + PsiElement(',')(',')(15481,15482) + PsiWhiteSpace('\n ')(15482,15487) + PsiTypeQLElement(attributes) - Location: (15487,15613)(15487,15613) + PsiTypeQLElement(attribute) - Location: (15487,15510)(15487,15510) + PsiElement('has')('has')(15487,15490) + PsiWhiteSpace(' ')(15490,15491) + PsiTypeQLElement(label) - Location: (15491,15502)(15491,15502) + PsiElement(LABEL_)('source-name')(15491,15502) + PsiWhiteSpace(' ')(15502,15503) + PsiTypeQLElement(predicate) - Location: (15503,15510)(15503,15510) + PsiTypeQLElement(value) - Location: (15503,15510)(15503,15510) + PsiElement(QUOTED_STRING)('"capec"')(15503,15510) + PsiElement(',')(',')(15510,15511) + PsiWhiteSpace('\n ')(15511,15516) + PsiTypeQLElement(attribute) - Location: (15516,15580)(15516,15580) + PsiElement('has')('has')(15516,15519) + PsiWhiteSpace(' ')(15519,15520) + PsiTypeQLElement(label) - Location: (15520,15528)(15520,15528) + PsiElement(LABEL_)('url-link')(15520,15528) + PsiWhiteSpace(' ')(15528,15529) + PsiTypeQLElement(predicate) - Location: (15529,15580)(15529,15580) + PsiTypeQLElement(value) - Location: (15529,15580)(15529,15580) + PsiElement(QUOTED_STRING)('"https://capec.mitre.org/data/definitions/488.html"')(15529,15580) + PsiElement(',')(',')(15580,15581) + PsiWhiteSpace('\n ')(15581,15586) + PsiTypeQLElement(attribute) - Location: (15586,15613)(15586,15613) + PsiElement('has')('has')(15586,15589) + PsiWhiteSpace(' ')(15589,15590) + PsiTypeQLElement(label) - Location: (15590,15601)(15590,15601) + PsiElement(LABEL_)('external-id')(15590,15601) + PsiWhiteSpace(' ')(15601,15602) + PsiTypeQLElement(predicate) - Location: (15602,15613)(15602,15613) + PsiTypeQLElement(value) - Location: (15602,15613)(15602,15613) + PsiElement(QUOTED_STRING)('"CAPEC-488"')(15602,15613) + PsiElement(';')(';')(15613,15614) + PsiWhiteSpace('\n\n')(15614,15616) + PsiTypeQLElement(statement_thing_any) - Location: (15616,15677)(15616,15677) + PsiTypeQLElement(statement_relation) - Location: (15616,15677)(15616,15677) + PsiTypeQLElement(relation) - Location: (15616,15653)(15616,15653) + PsiElement('(')('(')(15616,15617) + PsiTypeQLElement(role_player) - Location: (15617,15634)(15617,15634) + PsiTypeQLElement(type) - Location: (15617,15628)(15617,15628) + PsiTypeQLElement(label) - Location: (15617,15628)(15617,15628) + PsiElement(LABEL_)('referencing')(15617,15628) + PsiElement(':')(':')(15628,15629) + PsiWhiteSpace(' ')(15629,15630) + PsiTypeQLElement(player) - Location: (15630,15634)(15630,15634) + PsiElement(VAR_CONCEPT_)('$at2')(15630,15634) + PsiElement(',')(',')(15634,15635) + PsiWhiteSpace(' ')(15635,15636) + PsiTypeQLElement(role_player) - Location: (15636,15652)(15636,15652) + PsiTypeQLElement(type) - Location: (15636,15646)(15636,15646) + PsiTypeQLElement(label) - Location: (15636,15646)(15636,15646) + PsiElement(LABEL_)('referenced')(15636,15646) + PsiElement(':')(':')(15646,15647) + PsiWhiteSpace(' ')(15647,15648) + PsiTypeQLElement(player) - Location: (15648,15652)(15648,15652) + PsiElement(VAR_CONCEPT_)('$er3')(15648,15652) + PsiElement(')')(')')(15652,15653) + PsiWhiteSpace(' ')(15653,15654) + PsiElement(ISA_)('isa')(15654,15657) + PsiWhiteSpace(' ')(15657,15658) + PsiTypeQLElement(type) - Location: (15658,15677)(15658,15677) + PsiTypeQLElement(label) - Location: (15658,15677)(15658,15677) + PsiElement(LABEL_)('external-references')(15658,15677) + PsiElement(';')(';')(15677,15678) + PsiWhiteSpace('\n\n')(15678,15680) + PsiTypeQLElement(statement_thing_any) - Location: (15680,16112)(15680,16112) + PsiTypeQLElement(statement_thing) - Location: (15680,16112)(15680,16112) + PsiElement(VAR_CONCEPT_)('$ca1')(15680,15684) + PsiWhiteSpace(' ')(15684,15685) + PsiElement(ISA_)('isa')(15685,15688) + PsiWhiteSpace(' ')(15688,15689) + PsiTypeQLElement(type) - Location: (15689,15697)(15689,15697) + PsiTypeQLElement(label) - Location: (15689,15697)(15689,15697) + PsiElement(LABEL_)('campaign')(15689,15697) + PsiElement(',')(',')(15697,15698) + PsiWhiteSpace('\n ')(15698,15703) + PsiTypeQLElement(attributes) - Location: (15703,16112)(15703,16112) + PsiTypeQLElement(attribute) - Location: (15703,15725)(15703,15725) + PsiElement('has')('has')(15703,15706) + PsiWhiteSpace(' ')(15706,15707) + PsiTypeQLElement(label) - Location: (15707,15719)(15707,15719) + PsiElement(LABEL_)('spec-version')(15707,15719) + PsiWhiteSpace(' ')(15719,15720) + PsiTypeQLElement(predicate) - Location: (15720,15725)(15720,15725) + PsiTypeQLElement(value) - Location: (15720,15725)(15720,15725) + PsiElement(QUOTED_STRING)('"2.1"')(15720,15725) + PsiElement(',')(',')(15725,15726) + PsiWhiteSpace('\n ')(15726,15731) + PsiTypeQLElement(attribute) - Location: (15731,15791)(15731,15791) + PsiElement('has')('has')(15731,15734) + PsiWhiteSpace(' ')(15734,15735) + PsiTypeQLElement(label) - Location: (15735,15742)(15735,15742) + PsiElement(LABEL_)('stix-id')(15735,15742) + PsiWhiteSpace(' ')(15742,15743) + PsiTypeQLElement(predicate) - Location: (15743,15791)(15743,15791) + PsiTypeQLElement(value) - Location: (15743,15791)(15743,15791) + PsiElement(QUOTED_STRING)('"campaign--e5268b6e-4931-42f1-b379-87f48eb41b1e"')(15743,15791) + PsiElement(',')(',')(15791,15792) + PsiWhiteSpace('\n ')(15792,15797) + PsiTypeQLElement(attribute) - Location: (15797,15832)(15797,15832) + PsiElement('has')('has')(15797,15800) + PsiWhiteSpace(' ')(15800,15801) + PsiTypeQLElement(label) - Location: (15801,15808)(15801,15808) + PsiElement(LABEL_)('created')(15801,15808) + PsiWhiteSpace(' ')(15808,15809) + PsiTypeQLElement(predicate) - Location: (15809,15832)(15809,15832) + PsiTypeQLElement(value) - Location: (15809,15832)(15809,15832) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(15809,15832) + PsiElement(',')(',')(15832,15833) + PsiWhiteSpace('\n ')(15833,15838) + PsiTypeQLElement(attribute) - Location: (15838,15874)(15838,15874) + PsiElement('has')('has')(15838,15841) + PsiWhiteSpace(' ')(15841,15842) + PsiTypeQLElement(label) - Location: (15842,15850)(15842,15850) + PsiElement(LABEL_)('modified')(15842,15850) + PsiWhiteSpace(' ')(15850,15851) + PsiTypeQLElement(predicate) - Location: (15851,15874)(15851,15874) + PsiTypeQLElement(value) - Location: (15851,15874)(15851,15874) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(15851,15874) + PsiElement(',')(',')(15874,15875) + PsiWhiteSpace('\n ')(15875,15880) + PsiTypeQLElement(attribute) - Location: (15880,15912)(15880,15912) + PsiElement('has')('has')(15880,15883) + PsiWhiteSpace(' ')(15883,15884) + PsiTypeQLElement(label) - Location: (15884,15888)(15884,15888) + PsiElement(LABEL_)('name')(15884,15888) + PsiWhiteSpace(' ')(15888,15889) + PsiTypeQLElement(predicate) - Location: (15889,15912)(15889,15912) + PsiTypeQLElement(value) - Location: (15889,15912)(15889,15912) + PsiElement(QUOTED_STRING)('"Operation Bran Flakes"')(15889,15912) + PsiElement(',')(',')(15912,15913) + PsiWhiteSpace('\n ')(15913,15918) + PsiTypeQLElement(attribute) - Location: (15918,16008)(15918,16008) + PsiElement('has')('has')(15918,15921) + PsiWhiteSpace(' ')(15921,15922) + PsiTypeQLElement(label) - Location: (15922,15933)(15922,15933) + PsiElement(LABEL_)('description')(15922,15933) + PsiWhiteSpace(' ')(15933,15934) + PsiTypeQLElement(predicate) - Location: (15934,16008)(15934,16008) + PsiTypeQLElement(value) - Location: (15934,16008)(15934,16008) + PsiElement(QUOTED_STRING)('"A concerted effort to insert false information into the BPP's web pages."')(15934,16008) + PsiElement(',')(',')(16008,16009) + PsiWhiteSpace('\n ')(16009,16014) + PsiTypeQLElement(attribute) - Location: (16014,16031)(16014,16031) + PsiElement('has')('has')(16014,16017) + PsiWhiteSpace(' ')(16017,16018) + PsiTypeQLElement(label) - Location: (16018,16025)(16018,16025) + PsiElement(LABEL_)('aliases')(16018,16025) + PsiWhiteSpace(' ')(16025,16026) + PsiTypeQLElement(predicate) - Location: (16026,16031)(16026,16031) + PsiTypeQLElement(value) - Location: (16026,16031)(16026,16031) + PsiElement(QUOTED_STRING)('"OBF"')(16026,16031) + PsiElement(',')(',')(16031,16032) + PsiWhiteSpace('\n ')(16032,16037) + PsiTypeQLElement(attribute) - Location: (16037,16075)(16037,16075) + PsiElement('has')('has')(16037,16040) + PsiWhiteSpace(' ')(16040,16041) + PsiTypeQLElement(label) - Location: (16041,16051)(16041,16051) + PsiElement(LABEL_)('first-seen')(16041,16051) + PsiWhiteSpace(' ')(16051,16052) + PsiTypeQLElement(predicate) - Location: (16052,16075)(16052,16075) + PsiTypeQLElement(value) - Location: (16052,16075)(16052,16075) + PsiElement(DATETIME_)('2016-01-08T12:50:40.123')(16052,16075) + PsiElement(',')(',')(16075,16076) + PsiWhiteSpace('\n ')(16076,16081) + PsiTypeQLElement(attribute) - Location: (16081,16112)(16081,16112) + PsiElement('has')('has')(16081,16084) + PsiWhiteSpace(' ')(16084,16085) + PsiTypeQLElement(label) - Location: (16085,16094)(16085,16094) + PsiElement(LABEL_)('objective')(16085,16094) + PsiWhiteSpace(' ')(16094,16095) + PsiTypeQLElement(predicate) - Location: (16095,16112)(16095,16112) + PsiTypeQLElement(value) - Location: (16095,16112)(16095,16112) + PsiElement(QUOTED_STRING)('"Hack www.bpp.bn"')(16095,16112) + PsiElement(';')(';')(16112,16113) + PsiWhiteSpace('\n\n')(16113,16115) + PsiTypeQLElement(statement_thing_any) - Location: (16115,16517)(16115,16517) + PsiTypeQLElement(statement_thing) - Location: (16115,16517)(16115,16517) + PsiElement(VAR_CONCEPT_)('$ca2')(16115,16119) + PsiWhiteSpace(' ')(16119,16120) + PsiElement(ISA_)('isa')(16120,16123) + PsiWhiteSpace(' ')(16123,16124) + PsiTypeQLElement(type) - Location: (16124,16132)(16124,16132) + PsiTypeQLElement(label) - Location: (16124,16132)(16124,16132) + PsiElement(LABEL_)('campaign')(16124,16132) + PsiElement(',')(',')(16132,16133) + PsiWhiteSpace('\n ')(16133,16138) + PsiTypeQLElement(attributes) - Location: (16138,16517)(16138,16517) + PsiTypeQLElement(attribute) - Location: (16138,16160)(16138,16160) + PsiElement('has')('has')(16138,16141) + PsiWhiteSpace(' ')(16141,16142) + PsiTypeQLElement(label) - Location: (16142,16154)(16142,16154) + PsiElement(LABEL_)('spec-version')(16142,16154) + PsiWhiteSpace(' ')(16154,16155) + PsiTypeQLElement(predicate) - Location: (16155,16160)(16155,16160) + PsiTypeQLElement(value) - Location: (16155,16160)(16155,16160) + PsiElement(QUOTED_STRING)('"2.1"')(16155,16160) + PsiElement(',')(',')(16160,16161) + PsiWhiteSpace('\n ')(16161,16166) + PsiTypeQLElement(attribute) - Location: (16166,16226)(16166,16226) + PsiElement('has')('has')(16166,16169) + PsiWhiteSpace(' ')(16169,16170) + PsiTypeQLElement(label) - Location: (16170,16177)(16170,16177) + PsiElement(LABEL_)('stix-id')(16170,16177) + PsiWhiteSpace(' ')(16177,16178) + PsiTypeQLElement(predicate) - Location: (16178,16226)(16178,16226) + PsiTypeQLElement(value) - Location: (16178,16226)(16178,16226) + PsiElement(QUOTED_STRING)('"campaign--1d8897a7-fdc2-4e59-afc9-becbe04df727"')(16178,16226) + PsiElement(',')(',')(16226,16227) + PsiWhiteSpace('\n ')(16227,16232) + PsiTypeQLElement(attribute) - Location: (16232,16267)(16232,16267) + PsiElement('has')('has')(16232,16235) + PsiWhiteSpace(' ')(16235,16236) + PsiTypeQLElement(label) - Location: (16236,16243)(16236,16243) + PsiElement(LABEL_)('created')(16236,16243) + PsiWhiteSpace(' ')(16243,16244) + PsiTypeQLElement(predicate) - Location: (16244,16267)(16244,16267) + PsiTypeQLElement(value) - Location: (16244,16267)(16244,16267) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(16244,16267) + PsiElement(',')(',')(16267,16268) + PsiWhiteSpace('\n ')(16268,16273) + PsiTypeQLElement(attribute) - Location: (16273,16309)(16273,16309) + PsiElement('has')('has')(16273,16276) + PsiWhiteSpace(' ')(16276,16277) + PsiTypeQLElement(label) - Location: (16277,16285)(16277,16285) + PsiElement(LABEL_)('modified')(16277,16285) + PsiWhiteSpace(' ')(16285,16286) + PsiTypeQLElement(predicate) - Location: (16286,16309)(16286,16309) + PsiTypeQLElement(value) - Location: (16286,16309)(16286,16309) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(16286,16309) + PsiElement(',')(',')(16309,16310) + PsiWhiteSpace('\n ')(16310,16315) + PsiTypeQLElement(attribute) - Location: (16315,16347)(16315,16347) + PsiElement('has')('has')(16315,16318) + PsiWhiteSpace(' ')(16318,16319) + PsiTypeQLElement(label) - Location: (16319,16323)(16319,16323) + PsiElement(LABEL_)('name')(16319,16323) + PsiWhiteSpace(' ')(16323,16324) + PsiTypeQLElement(predicate) - Location: (16324,16347)(16324,16347) + PsiTypeQLElement(value) - Location: (16324,16347)(16324,16347) + PsiElement(QUOTED_STRING)('"Operation Raisin Bran"')(16324,16347) + PsiElement(',')(',')(16347,16348) + PsiWhiteSpace('\n ')(16348,16353) + PsiTypeQLElement(attribute) - Location: (16353,16412)(16353,16412) + PsiElement('has')('has')(16353,16356) + PsiWhiteSpace(' ')(16356,16357) + PsiTypeQLElement(label) - Location: (16357,16368)(16357,16368) + PsiElement(LABEL_)('description')(16357,16368) + PsiWhiteSpace(' ')(16368,16369) + PsiTypeQLElement(predicate) - Location: (16369,16412)(16369,16412) + PsiTypeQLElement(value) - Location: (16369,16412)(16369,16412) + PsiElement(QUOTED_STRING)('"A DDOS campaign to flood BPP web servers."')(16369,16412) + PsiElement(',')(',')(16412,16413) + PsiWhiteSpace('\n ')(16413,16418) + PsiTypeQLElement(attribute) - Location: (16418,16435)(16418,16435) + PsiElement('has')('has')(16418,16421) + PsiWhiteSpace(' ')(16421,16422) + PsiTypeQLElement(label) - Location: (16422,16429)(16422,16429) + PsiElement(LABEL_)('aliases')(16422,16429) + PsiWhiteSpace(' ')(16429,16430) + PsiTypeQLElement(predicate) - Location: (16430,16435)(16430,16435) + PsiTypeQLElement(value) - Location: (16430,16435)(16430,16435) + PsiElement(QUOTED_STRING)('"ORB"')(16430,16435) + PsiElement(',')(',')(16435,16436) + PsiWhiteSpace('\n ')(16436,16441) + PsiTypeQLElement(attribute) - Location: (16441,16479)(16441,16479) + PsiElement('has')('has')(16441,16444) + PsiWhiteSpace(' ')(16444,16445) + PsiTypeQLElement(label) - Location: (16445,16455)(16445,16455) + PsiElement(LABEL_)('first-seen')(16445,16455) + PsiWhiteSpace(' ')(16455,16456) + PsiTypeQLElement(predicate) - Location: (16456,16479)(16456,16479) + PsiTypeQLElement(value) - Location: (16456,16479)(16456,16479) + PsiElement(DATETIME_)('2016-02-07T19:45:32.126')(16456,16479) + PsiElement(',')(',')(16479,16480) + PsiWhiteSpace('\n ')(16480,16485) + PsiTypeQLElement(attribute) - Location: (16485,16517)(16485,16517) + PsiElement('has')('has')(16485,16488) + PsiWhiteSpace(' ')(16488,16489) + PsiTypeQLElement(label) - Location: (16489,16498)(16489,16498) + PsiElement(LABEL_)('objective')(16489,16498) + PsiWhiteSpace(' ')(16498,16499) + PsiTypeQLElement(predicate) - Location: (16499,16517)(16499,16517) + PsiTypeQLElement(value) - Location: (16499,16517)(16499,16517) + PsiElement(QUOTED_STRING)('"Flood www.bpp.bn"')(16499,16517) + PsiElement(';')(';')(16517,16518) + PsiWhiteSpace('\n\n')(16518,16520) + PsiTypeQLElement(statement_thing_any) - Location: (16520,17180)(16520,17180) + PsiTypeQLElement(statement_thing) - Location: (16520,17180)(16520,17180) + PsiElement(VAR_CONCEPT_)('$is1')(16520,16524) + PsiWhiteSpace(' ')(16524,16525) + PsiElement(ISA_)('isa')(16525,16528) + PsiWhiteSpace(' ')(16528,16529) + PsiTypeQLElement(type) - Location: (16529,16542)(16529,16542) + PsiTypeQLElement(label) - Location: (16529,16542)(16529,16542) + PsiElement(LABEL_)('intrusion-set')(16529,16542) + PsiElement(',')(',')(16542,16543) + PsiWhiteSpace('\n ')(16543,16548) + PsiTypeQLElement(attributes) - Location: (16548,17180)(16548,17180) + PsiTypeQLElement(attribute) - Location: (16548,16570)(16548,16570) + PsiElement('has')('has')(16548,16551) + PsiWhiteSpace(' ')(16551,16552) + PsiTypeQLElement(label) - Location: (16552,16564)(16552,16564) + PsiElement(LABEL_)('spec-version')(16552,16564) + PsiWhiteSpace(' ')(16564,16565) + PsiTypeQLElement(predicate) - Location: (16565,16570)(16565,16570) + PsiTypeQLElement(value) - Location: (16565,16570)(16565,16570) + PsiElement(QUOTED_STRING)('"2.1"')(16565,16570) + PsiElement(',')(',')(16570,16571) + PsiWhiteSpace('\n ')(16571,16576) + PsiTypeQLElement(attribute) - Location: (16576,16641)(16576,16641) + PsiElement('has')('has')(16576,16579) + PsiWhiteSpace(' ')(16579,16580) + PsiTypeQLElement(label) - Location: (16580,16587)(16580,16587) + PsiElement(LABEL_)('stix-id')(16580,16587) + PsiWhiteSpace(' ')(16587,16588) + PsiTypeQLElement(predicate) - Location: (16588,16641)(16588,16641) + PsiTypeQLElement(value) - Location: (16588,16641)(16588,16641) + PsiElement(QUOTED_STRING)('"intrusion-set--ed69450a-f067-4b51-9ba2-c4616b9a6713"')(16588,16641) + PsiElement(',')(',')(16641,16642) + PsiWhiteSpace('\n ')(16642,16647) + PsiTypeQLElement(attribute) - Location: (16647,16682)(16647,16682) + PsiElement('has')('has')(16647,16650) + PsiWhiteSpace(' ')(16650,16651) + PsiTypeQLElement(label) - Location: (16651,16658)(16651,16658) + PsiElement(LABEL_)('created')(16651,16658) + PsiWhiteSpace(' ')(16658,16659) + PsiTypeQLElement(predicate) - Location: (16659,16682)(16659,16682) + PsiTypeQLElement(value) - Location: (16659,16682)(16659,16682) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(16659,16682) + PsiElement(',')(',')(16682,16683) + PsiWhiteSpace('\n ')(16683,16688) + PsiTypeQLElement(attribute) - Location: (16688,16724)(16688,16724) + PsiElement('has')('has')(16688,16691) + PsiWhiteSpace(' ')(16691,16692) + PsiTypeQLElement(label) - Location: (16692,16700)(16692,16700) + PsiElement(LABEL_)('modified')(16692,16700) + PsiWhiteSpace(' ')(16700,16701) + PsiTypeQLElement(predicate) - Location: (16701,16724)(16701,16724) + PsiTypeQLElement(value) - Location: (16701,16724)(16701,16724) + PsiElement(DATETIME_)('2016-08-08T15:50:10.983')(16701,16724) + PsiElement(',')(',')(16724,16725) + PsiWhiteSpace('\n ')(16725,16730) + PsiTypeQLElement(attribute) - Location: (16730,16748)(16730,16748) + PsiElement('has')('has')(16730,16733) + PsiWhiteSpace(' ')(16733,16734) + PsiTypeQLElement(label) - Location: (16734,16738)(16734,16738) + PsiElement(LABEL_)('name')(16734,16738) + PsiWhiteSpace(' ')(16738,16739) + PsiTypeQLElement(predicate) - Location: (16739,16748)(16739,16748) + PsiTypeQLElement(value) - Location: (16739,16748)(16739,16748) + PsiElement(QUOTED_STRING)('"APT BPP"')(16739,16748) + PsiElement(',')(',')(16748,16749) + PsiWhiteSpace('\n ')(16749,16754) + PsiTypeQLElement(attribute) - Location: (16754,16867)(16754,16867) + PsiElement('has')('has')(16754,16757) + PsiWhiteSpace(' ')(16757,16758) + PsiTypeQLElement(label) - Location: (16758,16769)(16758,16769) + PsiElement(LABEL_)('description')(16758,16769) + PsiWhiteSpace(' ')(16769,16770) + PsiTypeQLElement(predicate) - Location: (16770,16867)(16770,16867) + PsiTypeQLElement(value) - Location: (16770,16867)(16770,16867) + PsiElement(QUOTED_STRING)('"An advanced persistent threat that seeks to disrupt Branistan's election with multiple attacks."')(16770,16867) + PsiElement(',')(',')(16867,16868) + PsiWhiteSpace('\n ')(16868,16873) + PsiTypeQLElement(attribute) - Location: (16873,16898)(16873,16898) + PsiElement('has')('has')(16873,16876) + PsiWhiteSpace(' ')(16876,16877) + PsiTypeQLElement(label) - Location: (16877,16884)(16877,16884) + PsiElement(LABEL_)('aliases')(16877,16884) + PsiWhiteSpace(' ')(16884,16885) + PsiTypeQLElement(predicate) - Location: (16885,16898)(16885,16898) + PsiTypeQLElement(value) - Location: (16885,16898)(16885,16898) + PsiElement(QUOTED_STRING)('"Bran-teaser"')(16885,16898) + PsiElement(',')(',')(16898,16899) + PsiWhiteSpace('\n ')(16899,16904) + PsiTypeQLElement(attribute) - Location: (16904,16942)(16904,16942) + PsiElement('has')('has')(16904,16907) + PsiWhiteSpace(' ')(16907,16908) + PsiTypeQLElement(label) - Location: (16908,16918)(16908,16918) + PsiElement(LABEL_)('first-seen')(16908,16918) + PsiWhiteSpace(' ')(16918,16919) + PsiTypeQLElement(predicate) - Location: (16919,16942)(16919,16942) + PsiTypeQLElement(value) - Location: (16919,16942)(16919,16942) + PsiElement(DATETIME_)('2016-01-08T12:50:40.123')(16919,16942) + PsiElement(',')(',')(16942,16943) + PsiWhiteSpace('\n ')(16943,16948) + PsiTypeQLElement(attribute) - Location: (16948,16992)(16948,16992) + PsiElement('has')('has')(16948,16951) + PsiWhiteSpace(' ')(16951,16952) + PsiTypeQLElement(label) - Location: (16952,16957)(16952,16957) + PsiElement(LABEL_)('goals')(16952,16957) + PsiWhiteSpace(' ')(16957,16958) + PsiTypeQLElement(predicate) - Location: (16958,16992)(16958,16992) + PsiTypeQLElement(value) - Location: (16958,16992)(16958,16992) + PsiElement(QUOTED_STRING)('"Influence the Branistan election"')(16958,16992) + PsiElement(',')(',')(16992,16993) + PsiWhiteSpace('\n ')(16993,16998) + PsiTypeQLElement(attribute) - Location: (16998,17025)(16998,17025) + PsiElement('has')('has')(16998,17001) + PsiWhiteSpace(' ')(17001,17002) + PsiTypeQLElement(label) - Location: (17002,17007)(17002,17007) + PsiElement(LABEL_)('goals')(17002,17007) + PsiWhiteSpace(' ')(17007,17008) + PsiTypeQLElement(predicate) - Location: (17008,17025)(17008,17025) + PsiTypeQLElement(value) - Location: (17008,17025)(17008,17025) + PsiElement(QUOTED_STRING)('"Disrupt the BPP"')(17008,17025) + PsiElement(',')(',')(17025,17026) + PsiWhiteSpace('\n ')(17026,17031) + PsiTypeQLElement(attribute) - Location: (17031,17061)(17031,17061) + PsiElement('has')('has')(17031,17034) + PsiWhiteSpace(' ')(17034,17035) + PsiTypeQLElement(label) - Location: (17035,17049)(17035,17049) + PsiElement(LABEL_)('sophistication')(17035,17049) + PsiWhiteSpace(' ')(17049,17050) + PsiTypeQLElement(predicate) - Location: (17050,17061)(17050,17061) + PsiTypeQLElement(value) - Location: (17050,17061)(17050,17061) + PsiElement(QUOTED_STRING)('"strategic"')(17050,17061) + PsiElement(',')(',')(17061,17062) + PsiWhiteSpace('\n ')(17062,17067) + PsiTypeQLElement(attribute) - Location: (17067,17098)(17067,17098) + PsiElement('has')('has')(17067,17070) + PsiWhiteSpace(' ')(17070,17071) + PsiTypeQLElement(label) - Location: (17071,17085)(17071,17085) + PsiElement(LABEL_)('resource-level')(17071,17085) + PsiWhiteSpace(' ')(17085,17086) + PsiTypeQLElement(predicate) - Location: (17086,17098)(17086,17098) + PsiTypeQLElement(value) - Location: (17086,17098)(17086,17098) + PsiElement(QUOTED_STRING)('"government"')(17086,17098) + PsiElement(',')(',')(17098,17099) + PsiWhiteSpace('\n ')(17099,17104) + PsiTypeQLElement(attribute) - Location: (17104,17137)(17104,17137) + PsiElement('has')('has')(17104,17107) + PsiWhiteSpace(' ')(17107,17108) + PsiTypeQLElement(label) - Location: (17108,17126)(17108,17126) + PsiElement(LABEL_)('primary-motivation')(17108,17126) + PsiWhiteSpace(' ')(17126,17127) + PsiTypeQLElement(predicate) - Location: (17127,17137)(17127,17137) + PsiTypeQLElement(value) - Location: (17127,17137)(17127,17137) + PsiElement(QUOTED_STRING)('"ideology"')(17127,17137) + PsiElement(',')(',')(17137,17138) + PsiWhiteSpace('\n ')(17138,17143) + PsiTypeQLElement(attribute) - Location: (17143,17180)(17143,17180) + PsiElement('has')('has')(17143,17146) + PsiWhiteSpace(' ')(17146,17147) + PsiTypeQLElement(label) - Location: (17147,17168)(17147,17168) + PsiElement(LABEL_)('secondary-motivations')(17147,17168) + PsiWhiteSpace(' ')(17168,17169) + PsiTypeQLElement(predicate) - Location: (17169,17180)(17169,17180) + PsiTypeQLElement(value) - Location: (17169,17180)(17169,17180) + PsiElement(QUOTED_STRING)('"dominance"')(17169,17180) + PsiElement(';')(';')(17180,17181) + PsiWhiteSpace('\n\n')(17181,17183) + PsiTypeQLElement(statement_thing_any) - Location: (17183,17247)(17183,17247) + PsiTypeQLElement(statement_relation) - Location: (17183,17247)(17183,17247) + PsiElement(VAR_CONCEPT_)('$ato1')(17183,17188) + PsiWhiteSpace(' ')(17188,17189) + PsiTypeQLElement(relation) - Location: (17189,17229)(17189,17229) + PsiElement('(')('(')(17189,17190) + PsiTypeQLElement(role_player) - Location: (17190,17207)(17190,17207) + PsiTypeQLElement(type) - Location: (17190,17201)(17190,17201) + PsiTypeQLElement(label) - Location: (17190,17201)(17190,17201) + PsiElement(LABEL_)('attributing')(17190,17201) + PsiElement(':')(':')(17201,17202) + PsiWhiteSpace(' ')(17202,17203) + PsiTypeQLElement(player) - Location: (17203,17207)(17203,17207) + PsiElement(VAR_CONCEPT_)('$ca1')(17203,17207) + PsiElement(',')(',')(17207,17208) + PsiWhiteSpace(' ')(17208,17209) + PsiTypeQLElement(role_player) - Location: (17209,17228)(17209,17228) + PsiTypeQLElement(type) - Location: (17209,17219)(17209,17219) + PsiTypeQLElement(label) - Location: (17209,17219)(17209,17219) + PsiElement(LABEL_)('attributed')(17209,17219) + PsiElement(':')(':')(17219,17220) + PsiWhiteSpace(' ')(17220,17221) + PsiTypeQLElement(player) - Location: (17221,17228)(17221,17228) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(17221,17228) + PsiElement(')')(')')(17228,17229) + PsiWhiteSpace(' ')(17229,17230) + PsiElement(ISA_)('isa')(17230,17233) + PsiWhiteSpace(' ')(17233,17234) + PsiTypeQLElement(type) - Location: (17234,17247)(17234,17247) + PsiTypeQLElement(label) - Location: (17234,17247)(17234,17247) + PsiElement(LABEL_)('attributed-to')(17234,17247) + PsiElement(';')(';')(17247,17248) + PsiWhiteSpace('\n')(17248,17249) + PsiTypeQLElement(statement_thing_any) - Location: (17249,17430)(17249,17430) + PsiTypeQLElement(statement_thing) - Location: (17249,17430)(17249,17430) + PsiElement(VAR_CONCEPT_)('$ato1')(17249,17254) + PsiWhiteSpace(' ')(17254,17255) + PsiTypeQLElement(attributes) - Location: (17255,17430)(17255,17430) + PsiTypeQLElement(attribute) - Location: (17255,17277)(17255,17277) + PsiElement('has')('has')(17255,17258) + PsiWhiteSpace(' ')(17258,17259) + PsiTypeQLElement(label) - Location: (17259,17271)(17259,17271) + PsiElement(LABEL_)('spec-version')(17259,17271) + PsiWhiteSpace(' ')(17271,17272) + PsiTypeQLElement(predicate) - Location: (17272,17277)(17272,17277) + PsiTypeQLElement(value) - Location: (17272,17277)(17272,17277) + PsiElement(QUOTED_STRING)('"2.1"')(17272,17277) + PsiElement(',')(',')(17277,17278) + PsiWhiteSpace('\n ')(17278,17283) + PsiTypeQLElement(attribute) - Location: (17283,17347)(17283,17347) + PsiElement('has')('has')(17283,17286) + PsiWhiteSpace(' ')(17286,17287) + PsiTypeQLElement(label) - Location: (17287,17294)(17287,17294) + PsiElement(LABEL_)('stix-id')(17287,17294) + PsiWhiteSpace(' ')(17294,17295) + PsiTypeQLElement(predicate) - Location: (17295,17347)(17295,17347) + PsiTypeQLElement(value) - Location: (17295,17347)(17295,17347) + PsiElement(QUOTED_STRING)('"relationship--98765000-efdf-4a86-8681-36481ceae57f"')(17295,17347) + PsiElement(',')(',')(17347,17348) + PsiWhiteSpace('\n ')(17348,17353) + PsiTypeQLElement(attribute) - Location: (17353,17388)(17353,17388) + PsiElement('has')('has')(17353,17356) + PsiWhiteSpace(' ')(17356,17357) + PsiTypeQLElement(label) - Location: (17357,17364)(17357,17364) + PsiElement(LABEL_)('created')(17357,17364) + PsiWhiteSpace(' ')(17364,17365) + PsiTypeQLElement(predicate) - Location: (17365,17388)(17365,17388) + PsiTypeQLElement(value) - Location: (17365,17388)(17365,17388) + PsiElement(DATETIME_)('2020-02-29T17:41:44.938')(17365,17388) + PsiElement(',')(',')(17388,17389) + PsiWhiteSpace('\n ')(17389,17394) + PsiTypeQLElement(attribute) - Location: (17394,17430)(17394,17430) + PsiElement('has')('has')(17394,17397) + PsiWhiteSpace(' ')(17397,17398) + PsiTypeQLElement(label) - Location: (17398,17406)(17398,17406) + PsiElement(LABEL_)('modified')(17398,17406) + PsiWhiteSpace(' ')(17406,17407) + PsiTypeQLElement(predicate) - Location: (17407,17430)(17407,17430) + PsiTypeQLElement(value) - Location: (17407,17430)(17407,17430) + PsiElement(DATETIME_)('2020-02-29T17:41:44.938')(17407,17430) + PsiElement(';')(';')(17430,17431) + PsiWhiteSpace('\n\n')(17431,17433) + PsiTypeQLElement(statement_thing_any) - Location: (17433,17497)(17433,17497) + PsiTypeQLElement(statement_relation) - Location: (17433,17497)(17433,17497) + PsiElement(VAR_CONCEPT_)('$ato2')(17433,17438) + PsiWhiteSpace(' ')(17438,17439) + PsiTypeQLElement(relation) - Location: (17439,17479)(17439,17479) + PsiElement('(')('(')(17439,17440) + PsiTypeQLElement(role_player) - Location: (17440,17457)(17440,17457) + PsiTypeQLElement(type) - Location: (17440,17451)(17440,17451) + PsiTypeQLElement(label) - Location: (17440,17451)(17440,17451) + PsiElement(LABEL_)('attributing')(17440,17451) + PsiElement(':')(':')(17451,17452) + PsiWhiteSpace(' ')(17452,17453) + PsiTypeQLElement(player) - Location: (17453,17457)(17453,17457) + PsiElement(VAR_CONCEPT_)('$ca2')(17453,17457) + PsiElement(',')(',')(17457,17458) + PsiWhiteSpace(' ')(17458,17459) + PsiTypeQLElement(role_player) - Location: (17459,17478)(17459,17478) + PsiTypeQLElement(type) - Location: (17459,17469)(17459,17469) + PsiTypeQLElement(label) - Location: (17459,17469)(17459,17469) + PsiElement(LABEL_)('attributed')(17459,17469) + PsiElement(':')(':')(17469,17470) + PsiWhiteSpace(' ')(17470,17471) + PsiTypeQLElement(player) - Location: (17471,17478)(17471,17478) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(17471,17478) + PsiElement(')')(')')(17478,17479) + PsiWhiteSpace(' ')(17479,17480) + PsiElement(ISA_)('isa')(17480,17483) + PsiWhiteSpace(' ')(17483,17484) + PsiTypeQLElement(type) - Location: (17484,17497)(17484,17497) + PsiTypeQLElement(label) - Location: (17484,17497)(17484,17497) + PsiElement(LABEL_)('attributed-to')(17484,17497) + PsiElement(';')(';')(17497,17498) + PsiWhiteSpace('\n')(17498,17499) + PsiTypeQLElement(statement_thing_any) - Location: (17499,17680)(17499,17680) + PsiTypeQLElement(statement_thing) - Location: (17499,17680)(17499,17680) + PsiElement(VAR_CONCEPT_)('$ato2')(17499,17504) + PsiWhiteSpace(' ')(17504,17505) + PsiTypeQLElement(attributes) - Location: (17505,17680)(17505,17680) + PsiTypeQLElement(attribute) - Location: (17505,17527)(17505,17527) + PsiElement('has')('has')(17505,17508) + PsiWhiteSpace(' ')(17508,17509) + PsiTypeQLElement(label) - Location: (17509,17521)(17509,17521) + PsiElement(LABEL_)('spec-version')(17509,17521) + PsiWhiteSpace(' ')(17521,17522) + PsiTypeQLElement(predicate) - Location: (17522,17527)(17522,17527) + PsiTypeQLElement(value) - Location: (17522,17527)(17522,17527) + PsiElement(QUOTED_STRING)('"2.1"')(17522,17527) + PsiElement(',')(',')(17527,17528) + PsiWhiteSpace('\n ')(17528,17533) + PsiTypeQLElement(attribute) - Location: (17533,17597)(17533,17597) + PsiElement('has')('has')(17533,17536) + PsiWhiteSpace(' ')(17536,17537) + PsiTypeQLElement(label) - Location: (17537,17544)(17537,17544) + PsiElement(LABEL_)('stix-id')(17537,17544) + PsiWhiteSpace(' ')(17544,17545) + PsiTypeQLElement(predicate) - Location: (17545,17597)(17545,17597) + PsiTypeQLElement(value) - Location: (17545,17597)(17545,17597) + PsiElement(QUOTED_STRING)('"relationship--53a55c73-f2c8-47b9-8e50-ae34d8c5da4d"')(17545,17597) + PsiElement(',')(',')(17597,17598) + PsiWhiteSpace('\n ')(17598,17603) + PsiTypeQLElement(attribute) - Location: (17603,17638)(17603,17638) + PsiElement('has')('has')(17603,17606) + PsiWhiteSpace(' ')(17606,17607) + PsiTypeQLElement(label) - Location: (17607,17614)(17607,17614) + PsiElement(LABEL_)('created')(17607,17614) + PsiWhiteSpace(' ')(17614,17615) + PsiTypeQLElement(predicate) - Location: (17615,17638)(17615,17638) + PsiTypeQLElement(value) - Location: (17615,17638)(17615,17638) + PsiElement(DATETIME_)('2020-02-29T17:41:44.938')(17615,17638) + PsiElement(',')(',')(17638,17639) + PsiWhiteSpace('\n ')(17639,17644) + PsiTypeQLElement(attribute) - Location: (17644,17680)(17644,17680) + PsiElement('has')('has')(17644,17647) + PsiWhiteSpace(' ')(17647,17648) + PsiTypeQLElement(label) - Location: (17648,17656)(17648,17656) + PsiElement(LABEL_)('modified')(17648,17656) + PsiWhiteSpace(' ')(17656,17657) + PsiTypeQLElement(predicate) - Location: (17657,17680)(17657,17680) + PsiTypeQLElement(value) - Location: (17657,17680)(17657,17680) + PsiElement(DATETIME_)('2020-02-29T17:41:44.938')(17657,17680) + PsiElement(';')(';')(17680,17681) + PsiWhiteSpace('\n\n')(17681,17683) + PsiTypeQLElement(statement_thing_any) - Location: (17683,17744)(17683,17744) + PsiTypeQLElement(statement_relation) - Location: (17683,17744)(17683,17744) + PsiElement(VAR_CONCEPT_)('$ato3')(17683,17688) + PsiWhiteSpace(' ')(17688,17689) + PsiTypeQLElement(relation) - Location: (17689,17726)(17689,17726) + PsiElement('(')('(')(17689,17690) + PsiTypeQLElement(role_player) - Location: (17690,17707)(17690,17707) + PsiTypeQLElement(type) - Location: (17690,17701)(17690,17701) + PsiTypeQLElement(label) - Location: (17690,17701)(17690,17701) + PsiElement(LABEL_)('attributing')(17690,17701) + PsiElement(':')(':')(17701,17702) + PsiWhiteSpace(' ')(17702,17703) + PsiTypeQLElement(player) - Location: (17703,17707)(17703,17707) + PsiElement(VAR_CONCEPT_)('$ca1')(17703,17707) + PsiElement(',')(',')(17707,17708) + PsiWhiteSpace(' ')(17708,17709) + PsiTypeQLElement(role_player) - Location: (17709,17725)(17709,17725) + PsiTypeQLElement(type) - Location: (17709,17719)(17709,17719) + PsiTypeQLElement(label) - Location: (17709,17719)(17709,17719) + PsiElement(LABEL_)('attributed')(17709,17719) + PsiElement(':')(':')(17719,17720) + PsiWhiteSpace(' ')(17720,17721) + PsiTypeQLElement(player) - Location: (17721,17725)(17721,17725) + PsiElement(VAR_CONCEPT_)('$is1')(17721,17725) + PsiElement(')')(')')(17725,17726) + PsiWhiteSpace(' ')(17726,17727) + PsiElement(ISA_)('isa')(17727,17730) + PsiWhiteSpace(' ')(17730,17731) + PsiTypeQLElement(type) - Location: (17731,17744)(17731,17744) + PsiTypeQLElement(label) - Location: (17731,17744)(17731,17744) + PsiElement(LABEL_)('attributed-to')(17731,17744) + PsiElement(';')(';')(17744,17745) + PsiWhiteSpace('\n')(17745,17746) + PsiTypeQLElement(statement_thing_any) - Location: (17746,17927)(17746,17927) + PsiTypeQLElement(statement_thing) - Location: (17746,17927)(17746,17927) + PsiElement(VAR_CONCEPT_)('$ato3')(17746,17751) + PsiWhiteSpace(' ')(17751,17752) + PsiTypeQLElement(attributes) - Location: (17752,17927)(17752,17927) + PsiTypeQLElement(attribute) - Location: (17752,17774)(17752,17774) + PsiElement('has')('has')(17752,17755) + PsiWhiteSpace(' ')(17755,17756) + PsiTypeQLElement(label) - Location: (17756,17768)(17756,17768) + PsiElement(LABEL_)('spec-version')(17756,17768) + PsiWhiteSpace(' ')(17768,17769) + PsiTypeQLElement(predicate) - Location: (17769,17774)(17769,17774) + PsiTypeQLElement(value) - Location: (17769,17774)(17769,17774) + PsiElement(QUOTED_STRING)('"2.1"')(17769,17774) + PsiElement(',')(',')(17774,17775) + PsiWhiteSpace('\n ')(17775,17780) + PsiTypeQLElement(attribute) - Location: (17780,17844)(17780,17844) + PsiElement('has')('has')(17780,17783) + PsiWhiteSpace(' ')(17783,17784) + PsiTypeQLElement(label) - Location: (17784,17791)(17784,17791) + PsiElement(LABEL_)('stix-id')(17784,17791) + PsiWhiteSpace(' ')(17791,17792) + PsiTypeQLElement(predicate) - Location: (17792,17844)(17792,17844) + PsiTypeQLElement(value) - Location: (17792,17844)(17792,17844) + PsiElement(QUOTED_STRING)('"relationship--5047c2c0-524b-4afd-9cd6-e197efe59495"')(17792,17844) + PsiElement(',')(',')(17844,17845) + PsiWhiteSpace('\n ')(17845,17850) + PsiTypeQLElement(attribute) - Location: (17850,17885)(17850,17885) + PsiElement('has')('has')(17850,17853) + PsiWhiteSpace(' ')(17853,17854) + PsiTypeQLElement(label) - Location: (17854,17861)(17854,17861) + PsiElement(LABEL_)('created')(17854,17861) + PsiWhiteSpace(' ')(17861,17862) + PsiTypeQLElement(predicate) - Location: (17862,17885)(17862,17885) + PsiTypeQLElement(value) - Location: (17862,17885)(17862,17885) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(17862,17885) + PsiElement(',')(',')(17885,17886) + PsiWhiteSpace('\n ')(17886,17891) + PsiTypeQLElement(attribute) - Location: (17891,17927)(17891,17927) + PsiElement('has')('has')(17891,17894) + PsiWhiteSpace(' ')(17894,17895) + PsiTypeQLElement(label) - Location: (17895,17903)(17895,17903) + PsiElement(LABEL_)('modified')(17895,17903) + PsiWhiteSpace(' ')(17903,17904) + PsiTypeQLElement(predicate) - Location: (17904,17927)(17904,17927) + PsiTypeQLElement(value) - Location: (17904,17927)(17904,17927) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(17904,17927) + PsiElement(';')(';')(17927,17928) + PsiWhiteSpace('\n\n')(17928,17930) + PsiTypeQLElement(statement_thing_any) - Location: (17930,17991)(17930,17991) + PsiTypeQLElement(statement_relation) - Location: (17930,17991)(17930,17991) + PsiElement(VAR_CONCEPT_)('$ato4')(17930,17935) + PsiWhiteSpace(' ')(17935,17936) + PsiTypeQLElement(relation) - Location: (17936,17973)(17936,17973) + PsiElement('(')('(')(17936,17937) + PsiTypeQLElement(role_player) - Location: (17937,17954)(17937,17954) + PsiTypeQLElement(type) - Location: (17937,17948)(17937,17948) + PsiTypeQLElement(label) - Location: (17937,17948)(17937,17948) + PsiElement(LABEL_)('attributing')(17937,17948) + PsiElement(':')(':')(17948,17949) + PsiWhiteSpace(' ')(17949,17950) + PsiTypeQLElement(player) - Location: (17950,17954)(17950,17954) + PsiElement(VAR_CONCEPT_)('$ca2')(17950,17954) + PsiElement(',')(',')(17954,17955) + PsiWhiteSpace(' ')(17955,17956) + PsiTypeQLElement(role_player) - Location: (17956,17972)(17956,17972) + PsiTypeQLElement(type) - Location: (17956,17966)(17956,17966) + PsiTypeQLElement(label) - Location: (17956,17966)(17956,17966) + PsiElement(LABEL_)('attributed')(17956,17966) + PsiElement(':')(':')(17966,17967) + PsiWhiteSpace(' ')(17967,17968) + PsiTypeQLElement(player) - Location: (17968,17972)(17968,17972) + PsiElement(VAR_CONCEPT_)('$is1')(17968,17972) + PsiElement(')')(')')(17972,17973) + PsiWhiteSpace(' ')(17973,17974) + PsiElement(ISA_)('isa')(17974,17977) + PsiWhiteSpace(' ')(17977,17978) + PsiTypeQLElement(type) - Location: (17978,17991)(17978,17991) + PsiTypeQLElement(label) - Location: (17978,17991)(17978,17991) + PsiElement(LABEL_)('attributed-to')(17978,17991) + PsiElement(';')(';')(17991,17992) + PsiWhiteSpace('\n')(17992,17993) + PsiTypeQLElement(statement_thing_any) - Location: (17993,18174)(17993,18174) + PsiTypeQLElement(statement_thing) - Location: (17993,18174)(17993,18174) + PsiElement(VAR_CONCEPT_)('$ato4')(17993,17998) + PsiWhiteSpace(' ')(17998,17999) + PsiTypeQLElement(attributes) - Location: (17999,18174)(17999,18174) + PsiTypeQLElement(attribute) - Location: (17999,18021)(17999,18021) + PsiElement('has')('has')(17999,18002) + PsiWhiteSpace(' ')(18002,18003) + PsiTypeQLElement(label) - Location: (18003,18015)(18003,18015) + PsiElement(LABEL_)('spec-version')(18003,18015) + PsiWhiteSpace(' ')(18015,18016) + PsiTypeQLElement(predicate) - Location: (18016,18021)(18016,18021) + PsiTypeQLElement(value) - Location: (18016,18021)(18016,18021) + PsiElement(QUOTED_STRING)('"2.1"')(18016,18021) + PsiElement(',')(',')(18021,18022) + PsiWhiteSpace('\n ')(18022,18027) + PsiTypeQLElement(attribute) - Location: (18027,18091)(18027,18091) + PsiElement('has')('has')(18027,18030) + PsiWhiteSpace(' ')(18030,18031) + PsiTypeQLElement(label) - Location: (18031,18038)(18031,18038) + PsiElement(LABEL_)('stix-id')(18031,18038) + PsiWhiteSpace(' ')(18038,18039) + PsiTypeQLElement(predicate) - Location: (18039,18091)(18039,18091) + PsiTypeQLElement(value) - Location: (18039,18091)(18039,18091) + PsiElement(QUOTED_STRING)('"relationship--9cc131ca-b64d-4ab1-a300-5e4a0073280a"')(18039,18091) + PsiElement(',')(',')(18091,18092) + PsiWhiteSpace('\n ')(18092,18097) + PsiTypeQLElement(attribute) - Location: (18097,18132)(18097,18132) + PsiElement('has')('has')(18097,18100) + PsiWhiteSpace(' ')(18100,18101) + PsiTypeQLElement(label) - Location: (18101,18108)(18101,18108) + PsiElement(LABEL_)('created')(18101,18108) + PsiWhiteSpace(' ')(18108,18109) + PsiTypeQLElement(predicate) - Location: (18109,18132)(18109,18132) + PsiTypeQLElement(value) - Location: (18109,18132)(18109,18132) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(18109,18132) + PsiElement(',')(',')(18132,18133) + PsiWhiteSpace('\n ')(18133,18138) + PsiTypeQLElement(attribute) - Location: (18138,18174)(18138,18174) + PsiElement('has')('has')(18138,18141) + PsiWhiteSpace(' ')(18141,18142) + PsiTypeQLElement(label) - Location: (18142,18150)(18142,18150) + PsiElement(LABEL_)('modified')(18142,18150) + PsiWhiteSpace(' ')(18150,18151) + PsiTypeQLElement(predicate) - Location: (18151,18174)(18151,18174) + PsiTypeQLElement(value) - Location: (18151,18174)(18151,18174) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(18151,18174) + PsiElement(';')(';')(18174,18175) + PsiWhiteSpace('\n\n')(18175,18177) + PsiTypeQLElement(statement_thing_any) - Location: (18177,18241)(18177,18241) + PsiTypeQLElement(statement_relation) - Location: (18177,18241)(18177,18241) + PsiElement(VAR_CONCEPT_)('$ato5')(18177,18182) + PsiWhiteSpace(' ')(18182,18183) + PsiTypeQLElement(relation) - Location: (18183,18223)(18183,18223) + PsiElement('(')('(')(18183,18184) + PsiTypeQLElement(role_player) - Location: (18184,18201)(18184,18201) + PsiTypeQLElement(type) - Location: (18184,18195)(18184,18195) + PsiTypeQLElement(label) - Location: (18184,18195)(18184,18195) + PsiElement(LABEL_)('attributing')(18184,18195) + PsiElement(':')(':')(18195,18196) + PsiWhiteSpace(' ')(18196,18197) + PsiTypeQLElement(player) - Location: (18197,18201)(18197,18201) + PsiElement(VAR_CONCEPT_)('$is1')(18197,18201) + PsiElement(',')(',')(18201,18202) + PsiWhiteSpace(' ')(18202,18203) + PsiTypeQLElement(role_player) - Location: (18203,18222)(18203,18222) + PsiTypeQLElement(type) - Location: (18203,18213)(18203,18213) + PsiTypeQLElement(label) - Location: (18203,18213)(18203,18213) + PsiElement(LABEL_)('attributed')(18203,18213) + PsiElement(':')(':')(18213,18214) + PsiWhiteSpace(' ')(18214,18215) + PsiTypeQLElement(player) - Location: (18215,18222)(18215,18222) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(18215,18222) + PsiElement(')')(')')(18222,18223) + PsiWhiteSpace(' ')(18223,18224) + PsiElement(ISA_)('isa')(18224,18227) + PsiWhiteSpace(' ')(18227,18228) + PsiTypeQLElement(type) - Location: (18228,18241)(18228,18241) + PsiTypeQLElement(label) - Location: (18228,18241)(18228,18241) + PsiElement(LABEL_)('attributed-to')(18228,18241) + PsiElement(';')(';')(18241,18242) + PsiWhiteSpace('\n')(18242,18243) + PsiTypeQLElement(statement_thing_any) - Location: (18243,18424)(18243,18424) + PsiTypeQLElement(statement_thing) - Location: (18243,18424)(18243,18424) + PsiElement(VAR_CONCEPT_)('$ato5')(18243,18248) + PsiWhiteSpace(' ')(18248,18249) + PsiTypeQLElement(attributes) - Location: (18249,18424)(18249,18424) + PsiTypeQLElement(attribute) - Location: (18249,18271)(18249,18271) + PsiElement('has')('has')(18249,18252) + PsiWhiteSpace(' ')(18252,18253) + PsiTypeQLElement(label) - Location: (18253,18265)(18253,18265) + PsiElement(LABEL_)('spec-version')(18253,18265) + PsiWhiteSpace(' ')(18265,18266) + PsiTypeQLElement(predicate) - Location: (18266,18271)(18266,18271) + PsiTypeQLElement(value) - Location: (18266,18271)(18266,18271) + PsiElement(QUOTED_STRING)('"2.1"')(18266,18271) + PsiElement(',')(',')(18271,18272) + PsiWhiteSpace('\n ')(18272,18277) + PsiTypeQLElement(attribute) - Location: (18277,18341)(18277,18341) + PsiElement('has')('has')(18277,18280) + PsiWhiteSpace(' ')(18280,18281) + PsiTypeQLElement(label) - Location: (18281,18288)(18281,18288) + PsiElement(LABEL_)('stix-id')(18281,18288) + PsiWhiteSpace(' ')(18288,18289) + PsiTypeQLElement(predicate) - Location: (18289,18341)(18289,18341) + PsiTypeQLElement(value) - Location: (18289,18341)(18289,18341) + PsiElement(QUOTED_STRING)('"relationship--c171fd27-2a8a-42b7-8293-34016b70c1c8"')(18289,18341) + PsiElement(',')(',')(18341,18342) + PsiWhiteSpace('\n ')(18342,18347) + PsiTypeQLElement(attribute) - Location: (18347,18382)(18347,18382) + PsiElement('has')('has')(18347,18350) + PsiWhiteSpace(' ')(18350,18351) + PsiTypeQLElement(label) - Location: (18351,18358)(18351,18358) + PsiElement(LABEL_)('created')(18351,18358) + PsiWhiteSpace(' ')(18358,18359) + PsiTypeQLElement(predicate) - Location: (18359,18382)(18359,18382) + PsiTypeQLElement(value) - Location: (18359,18382)(18359,18382) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(18359,18382) + PsiElement(',')(',')(18382,18383) + PsiWhiteSpace('\n ')(18383,18388) + PsiTypeQLElement(attribute) - Location: (18388,18424)(18388,18424) + PsiElement('has')('has')(18388,18391) + PsiWhiteSpace(' ')(18391,18392) + PsiTypeQLElement(label) - Location: (18392,18400)(18392,18400) + PsiElement(LABEL_)('modified')(18392,18400) + PsiWhiteSpace(' ')(18400,18401) + PsiTypeQLElement(predicate) - Location: (18401,18424)(18401,18424) + PsiTypeQLElement(value) - Location: (18401,18424)(18401,18424) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(18401,18424) + PsiElement(';')(';')(18424,18425) + PsiWhiteSpace('\n\n')(18425,18427) + PsiTypeQLElement(statement_thing_any) - Location: (18427,18478)(18427,18478) + PsiTypeQLElement(statement_relation) - Location: (18427,18478)(18427,18478) + PsiElement(VAR_CONCEPT_)('$ato6')(18427,18432) + PsiWhiteSpace(' ')(18432,18433) + PsiTypeQLElement(relation) - Location: (18433,18466)(18433,18466) + PsiElement('(')('(')(18433,18434) + PsiTypeQLElement(role_player) - Location: (18434,18449)(18434,18449) + PsiTypeQLElement(type) - Location: (18434,18443)(18434,18443) + PsiTypeQLElement(label) - Location: (18434,18443)(18434,18443) + PsiElement(LABEL_)('targeting')(18434,18443) + PsiElement(':')(':')(18443,18444) + PsiWhiteSpace(' ')(18444,18445) + PsiTypeQLElement(player) - Location: (18445,18449)(18445,18449) + PsiElement(VAR_CONCEPT_)('$is1')(18445,18449) + PsiElement(',')(',')(18449,18450) + PsiWhiteSpace(' ')(18450,18451) + PsiTypeQLElement(role_player) - Location: (18451,18465)(18451,18465) + PsiTypeQLElement(type) - Location: (18451,18459)(18451,18459) + PsiTypeQLElement(label) - Location: (18451,18459)(18451,18459) + PsiElement(LABEL_)('targeted')(18451,18459) + PsiElement(':')(':')(18459,18460) + PsiWhiteSpace(' ')(18460,18461) + PsiTypeQLElement(player) - Location: (18461,18465)(18461,18465) + PsiElement(VAR_CONCEPT_)('$id2')(18461,18465) + PsiElement(')')(')')(18465,18466) + PsiWhiteSpace(' ')(18466,18467) + PsiElement(ISA_)('isa')(18467,18470) + PsiWhiteSpace(' ')(18470,18471) + PsiTypeQLElement(type) - Location: (18471,18478)(18471,18478) + PsiTypeQLElement(label) - Location: (18471,18478)(18471,18478) + PsiElement(LABEL_)('targets')(18471,18478) + PsiElement(';')(';')(18478,18479) + PsiWhiteSpace('\n')(18479,18480) + PsiTypeQLElement(statement_thing_any) - Location: (18480,18661)(18480,18661) + PsiTypeQLElement(statement_thing) - Location: (18480,18661)(18480,18661) + PsiElement(VAR_CONCEPT_)('$ato6')(18480,18485) + PsiWhiteSpace(' ')(18485,18486) + PsiTypeQLElement(attributes) - Location: (18486,18661)(18486,18661) + PsiTypeQLElement(attribute) - Location: (18486,18508)(18486,18508) + PsiElement('has')('has')(18486,18489) + PsiWhiteSpace(' ')(18489,18490) + PsiTypeQLElement(label) - Location: (18490,18502)(18490,18502) + PsiElement(LABEL_)('spec-version')(18490,18502) + PsiWhiteSpace(' ')(18502,18503) + PsiTypeQLElement(predicate) - Location: (18503,18508)(18503,18508) + PsiTypeQLElement(value) - Location: (18503,18508)(18503,18508) + PsiElement(QUOTED_STRING)('"2.1"')(18503,18508) + PsiElement(',')(',')(18508,18509) + PsiWhiteSpace('\n ')(18509,18514) + PsiTypeQLElement(attribute) - Location: (18514,18578)(18514,18578) + PsiElement('has')('has')(18514,18517) + PsiWhiteSpace(' ')(18517,18518) + PsiTypeQLElement(label) - Location: (18518,18525)(18518,18525) + PsiElement(LABEL_)('stix-id')(18518,18525) + PsiWhiteSpace(' ')(18525,18526) + PsiTypeQLElement(predicate) - Location: (18526,18578)(18526,18578) + PsiTypeQLElement(value) - Location: (18526,18578)(18526,18578) + PsiElement(QUOTED_STRING)('"relationship--554e3341-d7b1-4b3c-a522-28ef52fbb49b"')(18526,18578) + PsiElement(',')(',')(18578,18579) + PsiWhiteSpace('\n ')(18579,18584) + PsiTypeQLElement(attribute) - Location: (18584,18619)(18584,18619) + PsiElement('has')('has')(18584,18587) + PsiWhiteSpace(' ')(18587,18588) + PsiTypeQLElement(label) - Location: (18588,18595)(18588,18595) + PsiElement(LABEL_)('created')(18588,18595) + PsiWhiteSpace(' ')(18595,18596) + PsiTypeQLElement(predicate) - Location: (18596,18619)(18596,18619) + PsiTypeQLElement(value) - Location: (18596,18619)(18596,18619) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(18596,18619) + PsiElement(',')(',')(18619,18620) + PsiWhiteSpace('\n ')(18620,18625) + PsiTypeQLElement(attribute) - Location: (18625,18661)(18625,18661) + PsiElement('has')('has')(18625,18628) + PsiWhiteSpace(' ')(18628,18629) + PsiTypeQLElement(label) - Location: (18629,18637)(18629,18637) + PsiElement(LABEL_)('modified')(18629,18637) + PsiWhiteSpace(' ')(18637,18638) + PsiTypeQLElement(predicate) - Location: (18638,18661)(18638,18661) + PsiTypeQLElement(value) - Location: (18638,18661)(18638,18661) + PsiElement(DATETIME_)('2020-02-29T17:41:44.939')(18638,18661) + PsiElement(';')(';')(18661,18662) + PsiWhiteSpace('\n\n')(18662,18664) + PsiTypeQLElement(statement_thing_any) - Location: (18664,18704)(18664,18704) + PsiTypeQLElement(statement_relation) - Location: (18664,18704)(18664,18704) + PsiElement(VAR_CONCEPT_)('$ato7')(18664,18669) + PsiWhiteSpace(' ')(18669,18670) + PsiTypeQLElement(relation) - Location: (18670,18695)(18670,18695) + PsiElement('(')('(')(18670,18671) + PsiTypeQLElement(role_player) - Location: (18671,18682)(18671,18682) + PsiTypeQLElement(type) - Location: (18671,18676)(18671,18676) + PsiTypeQLElement(label) - Location: (18671,18676)(18671,18676) + PsiElement(LABEL_)('using')(18671,18676) + PsiElement(':')(':')(18676,18677) + PsiWhiteSpace(' ')(18677,18678) + PsiTypeQLElement(player) - Location: (18678,18682)(18678,18682) + PsiElement(VAR_CONCEPT_)('$is1')(18678,18682) + PsiElement(',')(',')(18682,18683) + PsiWhiteSpace(' ')(18683,18684) + PsiTypeQLElement(role_player) - Location: (18684,18694)(18684,18694) + PsiTypeQLElement(type) - Location: (18684,18688)(18684,18688) + PsiTypeQLElement(label) - Location: (18684,18688)(18684,18688) + PsiElement(LABEL_)('used')(18684,18688) + PsiElement(':')(':')(18688,18689) + PsiWhiteSpace(' ')(18689,18690) + PsiTypeQLElement(player) - Location: (18690,18694)(18690,18694) + PsiElement(VAR_CONCEPT_)('$at1')(18690,18694) + PsiElement(')')(')')(18694,18695) + PsiWhiteSpace(' ')(18695,18696) + PsiElement(ISA_)('isa')(18696,18699) + PsiWhiteSpace(' ')(18699,18700) + PsiTypeQLElement(type) - Location: (18700,18704)(18700,18704) + PsiTypeQLElement(label) - Location: (18700,18704)(18700,18704) + PsiElement(LABEL_)('uses')(18700,18704) + PsiElement(';')(';')(18704,18705) + PsiWhiteSpace('\n')(18705,18706) + PsiTypeQLElement(statement_thing_any) - Location: (18706,18887)(18706,18887) + PsiTypeQLElement(statement_thing) - Location: (18706,18887)(18706,18887) + PsiElement(VAR_CONCEPT_)('$ato7')(18706,18711) + PsiWhiteSpace(' ')(18711,18712) + PsiTypeQLElement(attributes) - Location: (18712,18887)(18712,18887) + PsiTypeQLElement(attribute) - Location: (18712,18734)(18712,18734) + PsiElement('has')('has')(18712,18715) + PsiWhiteSpace(' ')(18715,18716) + PsiTypeQLElement(label) - Location: (18716,18728)(18716,18728) + PsiElement(LABEL_)('spec-version')(18716,18728) + PsiWhiteSpace(' ')(18728,18729) + PsiTypeQLElement(predicate) - Location: (18729,18734)(18729,18734) + PsiTypeQLElement(value) - Location: (18729,18734)(18729,18734) + PsiElement(QUOTED_STRING)('"2.1"')(18729,18734) + PsiElement(',')(',')(18734,18735) + PsiWhiteSpace('\n ')(18735,18740) + PsiTypeQLElement(attribute) - Location: (18740,18804)(18740,18804) + PsiElement('has')('has')(18740,18743) + PsiWhiteSpace(' ')(18743,18744) + PsiTypeQLElement(label) - Location: (18744,18751)(18744,18751) + PsiElement(LABEL_)('stix-id')(18744,18751) + PsiWhiteSpace(' ')(18751,18752) + PsiTypeQLElement(predicate) - Location: (18752,18804)(18752,18804) + PsiTypeQLElement(value) - Location: (18752,18804)(18752,18804) + PsiElement(QUOTED_STRING)('"relationship--06964095-5750-41fe-a9af-6c6a9d995489"')(18752,18804) + PsiElement(',')(',')(18804,18805) + PsiWhiteSpace('\n ')(18805,18810) + PsiTypeQLElement(attribute) - Location: (18810,18845)(18810,18845) + PsiElement('has')('has')(18810,18813) + PsiWhiteSpace(' ')(18813,18814) + PsiTypeQLElement(label) - Location: (18814,18821)(18814,18821) + PsiElement(LABEL_)('created')(18814,18821) + PsiWhiteSpace(' ')(18821,18822) + PsiTypeQLElement(predicate) - Location: (18822,18845)(18822,18845) + PsiTypeQLElement(value) - Location: (18822,18845)(18822,18845) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(18822,18845) + PsiElement(',')(',')(18845,18846) + PsiWhiteSpace('\n ')(18846,18851) + PsiTypeQLElement(attribute) - Location: (18851,18887)(18851,18887) + PsiElement('has')('has')(18851,18854) + PsiWhiteSpace(' ')(18854,18855) + PsiTypeQLElement(label) - Location: (18855,18863)(18855,18863) + PsiElement(LABEL_)('modified')(18855,18863) + PsiWhiteSpace(' ')(18863,18864) + PsiTypeQLElement(predicate) - Location: (18864,18887)(18864,18887) + PsiTypeQLElement(value) - Location: (18864,18887)(18864,18887) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(18864,18887) + PsiElement(';')(';')(18887,18888) + PsiWhiteSpace('\n\n')(18888,18890) + PsiTypeQLElement(statement_thing_any) - Location: (18890,18930)(18890,18930) + PsiTypeQLElement(statement_relation) - Location: (18890,18930)(18890,18930) + PsiElement(VAR_CONCEPT_)('$ato8')(18890,18895) + PsiWhiteSpace(' ')(18895,18896) + PsiTypeQLElement(relation) - Location: (18896,18921)(18896,18921) + PsiElement('(')('(')(18896,18897) + PsiTypeQLElement(role_player) - Location: (18897,18908)(18897,18908) + PsiTypeQLElement(type) - Location: (18897,18902)(18897,18902) + PsiTypeQLElement(label) - Location: (18897,18902)(18897,18902) + PsiElement(LABEL_)('using')(18897,18902) + PsiElement(':')(':')(18902,18903) + PsiWhiteSpace(' ')(18903,18904) + PsiTypeQLElement(player) - Location: (18904,18908)(18904,18908) + PsiElement(VAR_CONCEPT_)('$is1')(18904,18908) + PsiElement(',')(',')(18908,18909) + PsiWhiteSpace(' ')(18909,18910) + PsiTypeQLElement(role_player) - Location: (18910,18920)(18910,18920) + PsiTypeQLElement(type) - Location: (18910,18914)(18910,18914) + PsiTypeQLElement(label) - Location: (18910,18914)(18910,18914) + PsiElement(LABEL_)('used')(18910,18914) + PsiElement(':')(':')(18914,18915) + PsiWhiteSpace(' ')(18915,18916) + PsiTypeQLElement(player) - Location: (18916,18920)(18916,18920) + PsiElement(VAR_CONCEPT_)('$at2')(18916,18920) + PsiElement(')')(')')(18920,18921) + PsiWhiteSpace(' ')(18921,18922) + PsiElement(ISA_)('isa')(18922,18925) + PsiWhiteSpace(' ')(18925,18926) + PsiTypeQLElement(type) - Location: (18926,18930)(18926,18930) + PsiTypeQLElement(label) - Location: (18926,18930)(18926,18930) + PsiElement(LABEL_)('uses')(18926,18930) + PsiElement(';')(';')(18930,18931) + PsiWhiteSpace('\n')(18931,18932) + PsiTypeQLElement(statement_thing_any) - Location: (18932,19113)(18932,19113) + PsiTypeQLElement(statement_thing) - Location: (18932,19113)(18932,19113) + PsiElement(VAR_CONCEPT_)('$ato8')(18932,18937) + PsiWhiteSpace(' ')(18937,18938) + PsiTypeQLElement(attributes) - Location: (18938,19113)(18938,19113) + PsiTypeQLElement(attribute) - Location: (18938,18960)(18938,18960) + PsiElement('has')('has')(18938,18941) + PsiWhiteSpace(' ')(18941,18942) + PsiTypeQLElement(label) - Location: (18942,18954)(18942,18954) + PsiElement(LABEL_)('spec-version')(18942,18954) + PsiWhiteSpace(' ')(18954,18955) + PsiTypeQLElement(predicate) - Location: (18955,18960)(18955,18960) + PsiTypeQLElement(value) - Location: (18955,18960)(18955,18960) + PsiElement(QUOTED_STRING)('"2.1"')(18955,18960) + PsiElement(',')(',')(18960,18961) + PsiWhiteSpace('\n ')(18961,18966) + PsiTypeQLElement(attribute) - Location: (18966,19030)(18966,19030) + PsiElement('has')('has')(18966,18969) + PsiWhiteSpace(' ')(18969,18970) + PsiTypeQLElement(label) - Location: (18970,18977)(18970,18977) + PsiElement(LABEL_)('stix-id')(18970,18977) + PsiWhiteSpace(' ')(18977,18978) + PsiTypeQLElement(predicate) - Location: (18978,19030)(18978,19030) + PsiTypeQLElement(value) - Location: (18978,19030)(18978,19030) + PsiElement(QUOTED_STRING)('"relationship--4fe5dab1-fd6d-41aa-b8b1-d3118a708284"')(18978,19030) + PsiElement(',')(',')(19030,19031) + PsiWhiteSpace('\n ')(19031,19036) + PsiTypeQLElement(attribute) - Location: (19036,19071)(19036,19071) + PsiElement('has')('has')(19036,19039) + PsiWhiteSpace(' ')(19039,19040) + PsiTypeQLElement(label) - Location: (19040,19047)(19040,19047) + PsiElement(LABEL_)('created')(19040,19047) + PsiWhiteSpace(' ')(19047,19048) + PsiTypeQLElement(predicate) - Location: (19048,19071)(19048,19071) + PsiTypeQLElement(value) - Location: (19048,19071)(19048,19071) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19048,19071) + PsiElement(',')(',')(19071,19072) + PsiWhiteSpace('\n ')(19072,19077) + PsiTypeQLElement(attribute) - Location: (19077,19113)(19077,19113) + PsiElement('has')('has')(19077,19080) + PsiWhiteSpace(' ')(19080,19081) + PsiTypeQLElement(label) - Location: (19081,19089)(19081,19089) + PsiElement(LABEL_)('modified')(19081,19089) + PsiWhiteSpace(' ')(19089,19090) + PsiTypeQLElement(predicate) - Location: (19090,19113)(19090,19113) + PsiTypeQLElement(value) - Location: (19090,19113)(19090,19113) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19090,19113) + PsiElement(';')(';')(19113,19114) + PsiWhiteSpace('\n\n')(19114,19116) + PsiTypeQLElement(statement_thing_any) - Location: (19116,19167)(19116,19167) + PsiTypeQLElement(statement_relation) - Location: (19116,19167)(19116,19167) + PsiElement(VAR_CONCEPT_)('$ato9')(19116,19121) + PsiWhiteSpace(' ')(19121,19122) + PsiTypeQLElement(relation) - Location: (19122,19155)(19122,19155) + PsiElement('(')('(')(19122,19123) + PsiTypeQLElement(role_player) - Location: (19123,19138)(19123,19138) + PsiTypeQLElement(type) - Location: (19123,19132)(19123,19132) + PsiTypeQLElement(label) - Location: (19123,19132)(19123,19132) + PsiElement(LABEL_)('targeting')(19123,19132) + PsiElement(':')(':')(19132,19133) + PsiWhiteSpace(' ')(19133,19134) + PsiTypeQLElement(player) - Location: (19134,19138)(19134,19138) + PsiElement(VAR_CONCEPT_)('$ca1')(19134,19138) + PsiElement(',')(',')(19138,19139) + PsiWhiteSpace(' ')(19139,19140) + PsiTypeQLElement(role_player) - Location: (19140,19154)(19140,19154) + PsiTypeQLElement(type) - Location: (19140,19148)(19140,19148) + PsiTypeQLElement(label) - Location: (19140,19148)(19140,19148) + PsiElement(LABEL_)('targeted')(19140,19148) + PsiElement(':')(':')(19148,19149) + PsiWhiteSpace(' ')(19149,19150) + PsiTypeQLElement(player) - Location: (19150,19154)(19150,19154) + PsiElement(VAR_CONCEPT_)('$id2')(19150,19154) + PsiElement(')')(')')(19154,19155) + PsiWhiteSpace(' ')(19155,19156) + PsiElement(ISA_)('isa')(19156,19159) + PsiWhiteSpace(' ')(19159,19160) + PsiTypeQLElement(type) - Location: (19160,19167)(19160,19167) + PsiTypeQLElement(label) - Location: (19160,19167)(19160,19167) + PsiElement(LABEL_)('targets')(19160,19167) + PsiElement(';')(';')(19167,19168) + PsiWhiteSpace('\n')(19168,19169) + PsiTypeQLElement(statement_thing_any) - Location: (19169,19350)(19169,19350) + PsiTypeQLElement(statement_thing) - Location: (19169,19350)(19169,19350) + PsiElement(VAR_CONCEPT_)('$ato9')(19169,19174) + PsiWhiteSpace(' ')(19174,19175) + PsiTypeQLElement(attributes) - Location: (19175,19350)(19175,19350) + PsiTypeQLElement(attribute) - Location: (19175,19197)(19175,19197) + PsiElement('has')('has')(19175,19178) + PsiWhiteSpace(' ')(19178,19179) + PsiTypeQLElement(label) - Location: (19179,19191)(19179,19191) + PsiElement(LABEL_)('spec-version')(19179,19191) + PsiWhiteSpace(' ')(19191,19192) + PsiTypeQLElement(predicate) - Location: (19192,19197)(19192,19197) + PsiTypeQLElement(value) - Location: (19192,19197)(19192,19197) + PsiElement(QUOTED_STRING)('"2.1"')(19192,19197) + PsiElement(',')(',')(19197,19198) + PsiWhiteSpace('\n ')(19198,19203) + PsiTypeQLElement(attribute) - Location: (19203,19267)(19203,19267) + PsiElement('has')('has')(19203,19206) + PsiWhiteSpace(' ')(19206,19207) + PsiTypeQLElement(label) - Location: (19207,19214)(19207,19214) + PsiElement(LABEL_)('stix-id')(19207,19214) + PsiWhiteSpace(' ')(19214,19215) + PsiTypeQLElement(predicate) - Location: (19215,19267)(19215,19267) + PsiTypeQLElement(value) - Location: (19215,19267)(19215,19267) + PsiElement(QUOTED_STRING)('"relationship--d8b7932d-0ecb-4891-b021-c78ff2b63747"')(19215,19267) + PsiElement(',')(',')(19267,19268) + PsiWhiteSpace('\n ')(19268,19273) + PsiTypeQLElement(attribute) - Location: (19273,19308)(19273,19308) + PsiElement('has')('has')(19273,19276) + PsiWhiteSpace(' ')(19276,19277) + PsiTypeQLElement(label) - Location: (19277,19284)(19277,19284) + PsiElement(LABEL_)('created')(19277,19284) + PsiWhiteSpace(' ')(19284,19285) + PsiTypeQLElement(predicate) - Location: (19285,19308)(19285,19308) + PsiTypeQLElement(value) - Location: (19285,19308)(19285,19308) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19285,19308) + PsiElement(',')(',')(19308,19309) + PsiWhiteSpace('\n ')(19309,19314) + PsiTypeQLElement(attribute) - Location: (19314,19350)(19314,19350) + PsiElement('has')('has')(19314,19317) + PsiWhiteSpace(' ')(19317,19318) + PsiTypeQLElement(label) - Location: (19318,19326)(19318,19326) + PsiElement(LABEL_)('modified')(19318,19326) + PsiWhiteSpace(' ')(19326,19327) + PsiTypeQLElement(predicate) - Location: (19327,19350)(19327,19350) + PsiTypeQLElement(value) - Location: (19327,19350)(19327,19350) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19327,19350) + PsiElement(';')(';')(19350,19351) + PsiWhiteSpace('\n\n')(19351,19353) + PsiTypeQLElement(statement_thing_any) - Location: (19353,19405)(19353,19405) + PsiTypeQLElement(statement_relation) - Location: (19353,19405)(19353,19405) + PsiElement(VAR_CONCEPT_)('$ato10')(19353,19359) + PsiWhiteSpace(' ')(19359,19360) + PsiTypeQLElement(relation) - Location: (19360,19393)(19360,19393) + PsiElement('(')('(')(19360,19361) + PsiTypeQLElement(role_player) - Location: (19361,19376)(19361,19376) + PsiTypeQLElement(type) - Location: (19361,19370)(19361,19370) + PsiTypeQLElement(label) - Location: (19361,19370)(19361,19370) + PsiElement(LABEL_)('targeting')(19361,19370) + PsiElement(':')(':')(19370,19371) + PsiWhiteSpace(' ')(19371,19372) + PsiTypeQLElement(player) - Location: (19372,19376)(19372,19376) + PsiElement(VAR_CONCEPT_)('$ca2')(19372,19376) + PsiElement(',')(',')(19376,19377) + PsiWhiteSpace(' ')(19377,19378) + PsiTypeQLElement(role_player) - Location: (19378,19392)(19378,19392) + PsiTypeQLElement(type) - Location: (19378,19386)(19378,19386) + PsiTypeQLElement(label) - Location: (19378,19386)(19378,19386) + PsiElement(LABEL_)('targeted')(19378,19386) + PsiElement(':')(':')(19386,19387) + PsiWhiteSpace(' ')(19387,19388) + PsiTypeQLElement(player) - Location: (19388,19392)(19388,19392) + PsiElement(VAR_CONCEPT_)('$id2')(19388,19392) + PsiElement(')')(')')(19392,19393) + PsiWhiteSpace(' ')(19393,19394) + PsiElement(ISA_)('isa')(19394,19397) + PsiWhiteSpace(' ')(19397,19398) + PsiTypeQLElement(type) - Location: (19398,19405)(19398,19405) + PsiTypeQLElement(label) - Location: (19398,19405)(19398,19405) + PsiElement(LABEL_)('targets')(19398,19405) + PsiElement(';')(';')(19405,19406) + PsiWhiteSpace('\n')(19406,19407) + PsiTypeQLElement(statement_thing_any) - Location: (19407,19589)(19407,19589) + PsiTypeQLElement(statement_thing) - Location: (19407,19589)(19407,19589) + PsiElement(VAR_CONCEPT_)('$ato10')(19407,19413) + PsiWhiteSpace(' ')(19413,19414) + PsiTypeQLElement(attributes) - Location: (19414,19589)(19414,19589) + PsiTypeQLElement(attribute) - Location: (19414,19436)(19414,19436) + PsiElement('has')('has')(19414,19417) + PsiWhiteSpace(' ')(19417,19418) + PsiTypeQLElement(label) - Location: (19418,19430)(19418,19430) + PsiElement(LABEL_)('spec-version')(19418,19430) + PsiWhiteSpace(' ')(19430,19431) + PsiTypeQLElement(predicate) - Location: (19431,19436)(19431,19436) + PsiTypeQLElement(value) - Location: (19431,19436)(19431,19436) + PsiElement(QUOTED_STRING)('"2.1"')(19431,19436) + PsiElement(',')(',')(19436,19437) + PsiWhiteSpace('\n ')(19437,19442) + PsiTypeQLElement(attribute) - Location: (19442,19506)(19442,19506) + PsiElement('has')('has')(19442,19445) + PsiWhiteSpace(' ')(19445,19446) + PsiTypeQLElement(label) - Location: (19446,19453)(19446,19453) + PsiElement(LABEL_)('stix-id')(19446,19453) + PsiWhiteSpace(' ')(19453,19454) + PsiTypeQLElement(predicate) - Location: (19454,19506)(19454,19506) + PsiTypeQLElement(value) - Location: (19454,19506)(19454,19506) + PsiElement(QUOTED_STRING)('"relationship--96cfbc6f-5c08-4372-b811-b90fbb2ec180"')(19454,19506) + PsiElement(',')(',')(19506,19507) + PsiWhiteSpace('\n ')(19507,19512) + PsiTypeQLElement(attribute) - Location: (19512,19547)(19512,19547) + PsiElement('has')('has')(19512,19515) + PsiWhiteSpace(' ')(19515,19516) + PsiTypeQLElement(label) - Location: (19516,19523)(19516,19523) + PsiElement(LABEL_)('created')(19516,19523) + PsiWhiteSpace(' ')(19523,19524) + PsiTypeQLElement(predicate) - Location: (19524,19547)(19524,19547) + PsiTypeQLElement(value) - Location: (19524,19547)(19524,19547) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19524,19547) + PsiElement(',')(',')(19547,19548) + PsiWhiteSpace('\n ')(19548,19553) + PsiTypeQLElement(attribute) - Location: (19553,19589)(19553,19589) + PsiElement('has')('has')(19553,19556) + PsiWhiteSpace(' ')(19556,19557) + PsiTypeQLElement(label) - Location: (19557,19565)(19557,19565) + PsiElement(LABEL_)('modified')(19557,19565) + PsiWhiteSpace(' ')(19565,19566) + PsiTypeQLElement(predicate) - Location: (19566,19589)(19566,19589) + PsiTypeQLElement(value) - Location: (19566,19589)(19566,19589) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19566,19589) + PsiElement(';')(';')(19589,19590) + PsiWhiteSpace('\n\n')(19590,19592) + PsiTypeQLElement(statement_thing_any) - Location: (19592,19633)(19592,19633) + PsiTypeQLElement(statement_relation) - Location: (19592,19633)(19592,19633) + PsiElement(VAR_CONCEPT_)('$ato11')(19592,19598) + PsiWhiteSpace(' ')(19598,19599) + PsiTypeQLElement(relation) - Location: (19599,19624)(19599,19624) + PsiElement('(')('(')(19599,19600) + PsiTypeQLElement(role_player) - Location: (19600,19611)(19600,19611) + PsiTypeQLElement(type) - Location: (19600,19605)(19600,19605) + PsiTypeQLElement(label) - Location: (19600,19605)(19600,19605) + PsiElement(LABEL_)('using')(19600,19605) + PsiElement(':')(':')(19605,19606) + PsiWhiteSpace(' ')(19606,19607) + PsiTypeQLElement(player) - Location: (19607,19611)(19607,19611) + PsiElement(VAR_CONCEPT_)('$ca1')(19607,19611) + PsiElement(',')(',')(19611,19612) + PsiWhiteSpace(' ')(19612,19613) + PsiTypeQLElement(role_player) - Location: (19613,19623)(19613,19623) + PsiTypeQLElement(type) - Location: (19613,19617)(19613,19617) + PsiTypeQLElement(label) - Location: (19613,19617)(19613,19617) + PsiElement(LABEL_)('used')(19613,19617) + PsiElement(':')(':')(19617,19618) + PsiWhiteSpace(' ')(19618,19619) + PsiTypeQLElement(player) - Location: (19619,19623)(19619,19623) + PsiElement(VAR_CONCEPT_)('$at1')(19619,19623) + PsiElement(')')(')')(19623,19624) + PsiWhiteSpace(' ')(19624,19625) + PsiElement(ISA_)('isa')(19625,19628) + PsiWhiteSpace(' ')(19628,19629) + PsiTypeQLElement(type) - Location: (19629,19633)(19629,19633) + PsiTypeQLElement(label) - Location: (19629,19633)(19629,19633) + PsiElement(LABEL_)('uses')(19629,19633) + PsiElement(';')(';')(19633,19634) + PsiWhiteSpace('\n')(19634,19635) + PsiTypeQLElement(statement_thing_any) - Location: (19635,19817)(19635,19817) + PsiTypeQLElement(statement_thing) - Location: (19635,19817)(19635,19817) + PsiElement(VAR_CONCEPT_)('$ato11')(19635,19641) + PsiWhiteSpace(' ')(19641,19642) + PsiTypeQLElement(attributes) - Location: (19642,19817)(19642,19817) + PsiTypeQLElement(attribute) - Location: (19642,19664)(19642,19664) + PsiElement('has')('has')(19642,19645) + PsiWhiteSpace(' ')(19645,19646) + PsiTypeQLElement(label) - Location: (19646,19658)(19646,19658) + PsiElement(LABEL_)('spec-version')(19646,19658) + PsiWhiteSpace(' ')(19658,19659) + PsiTypeQLElement(predicate) - Location: (19659,19664)(19659,19664) + PsiTypeQLElement(value) - Location: (19659,19664)(19659,19664) + PsiElement(QUOTED_STRING)('"2.1"')(19659,19664) + PsiElement(',')(',')(19664,19665) + PsiWhiteSpace('\n ')(19665,19670) + PsiTypeQLElement(attribute) - Location: (19670,19734)(19670,19734) + PsiElement('has')('has')(19670,19673) + PsiWhiteSpace(' ')(19673,19674) + PsiTypeQLElement(label) - Location: (19674,19681)(19674,19681) + PsiElement(LABEL_)('stix-id')(19674,19681) + PsiWhiteSpace(' ')(19681,19682) + PsiTypeQLElement(predicate) - Location: (19682,19734)(19682,19734) + PsiTypeQLElement(value) - Location: (19682,19734)(19682,19734) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0a"')(19682,19734) + PsiElement(',')(',')(19734,19735) + PsiWhiteSpace('\n ')(19735,19740) + PsiTypeQLElement(attribute) - Location: (19740,19775)(19740,19775) + PsiElement('has')('has')(19740,19743) + PsiWhiteSpace(' ')(19743,19744) + PsiTypeQLElement(label) - Location: (19744,19751)(19744,19751) + PsiElement(LABEL_)('created')(19744,19751) + PsiWhiteSpace(' ')(19751,19752) + PsiTypeQLElement(predicate) - Location: (19752,19775)(19752,19775) + PsiTypeQLElement(value) - Location: (19752,19775)(19752,19775) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19752,19775) + PsiElement(',')(',')(19775,19776) + PsiWhiteSpace('\n ')(19776,19781) + PsiTypeQLElement(attribute) - Location: (19781,19817)(19781,19817) + PsiElement('has')('has')(19781,19784) + PsiWhiteSpace(' ')(19784,19785) + PsiTypeQLElement(label) - Location: (19785,19793)(19785,19793) + PsiElement(LABEL_)('modified')(19785,19793) + PsiWhiteSpace(' ')(19793,19794) + PsiTypeQLElement(predicate) - Location: (19794,19817)(19794,19817) + PsiTypeQLElement(value) - Location: (19794,19817)(19794,19817) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19794,19817) + PsiElement(';')(';')(19817,19818) + PsiWhiteSpace('\n\n')(19818,19820) + PsiTypeQLElement(statement_thing_any) - Location: (19820,19861)(19820,19861) + PsiTypeQLElement(statement_relation) - Location: (19820,19861)(19820,19861) + PsiElement(VAR_CONCEPT_)('$ato12')(19820,19826) + PsiWhiteSpace(' ')(19826,19827) + PsiTypeQLElement(relation) - Location: (19827,19852)(19827,19852) + PsiElement('(')('(')(19827,19828) + PsiTypeQLElement(role_player) - Location: (19828,19839)(19828,19839) + PsiTypeQLElement(type) - Location: (19828,19833)(19828,19833) + PsiTypeQLElement(label) - Location: (19828,19833)(19828,19833) + PsiElement(LABEL_)('using')(19828,19833) + PsiElement(':')(':')(19833,19834) + PsiWhiteSpace(' ')(19834,19835) + PsiTypeQLElement(player) - Location: (19835,19839)(19835,19839) + PsiElement(VAR_CONCEPT_)('$ca2')(19835,19839) + PsiElement(',')(',')(19839,19840) + PsiWhiteSpace(' ')(19840,19841) + PsiTypeQLElement(role_player) - Location: (19841,19851)(19841,19851) + PsiTypeQLElement(type) - Location: (19841,19845)(19841,19845) + PsiTypeQLElement(label) - Location: (19841,19845)(19841,19845) + PsiElement(LABEL_)('used')(19841,19845) + PsiElement(':')(':')(19845,19846) + PsiWhiteSpace(' ')(19846,19847) + PsiTypeQLElement(player) - Location: (19847,19851)(19847,19851) + PsiElement(VAR_CONCEPT_)('$at2')(19847,19851) + PsiElement(')')(')')(19851,19852) + PsiWhiteSpace(' ')(19852,19853) + PsiElement(ISA_)('isa')(19853,19856) + PsiWhiteSpace(' ')(19856,19857) + PsiTypeQLElement(type) - Location: (19857,19861)(19857,19861) + PsiTypeQLElement(label) - Location: (19857,19861)(19857,19861) + PsiElement(LABEL_)('uses')(19857,19861) + PsiElement(';')(';')(19861,19862) + PsiWhiteSpace('\n')(19862,19863) + PsiTypeQLElement(statement_thing_any) - Location: (19863,20045)(19863,20045) + PsiTypeQLElement(statement_thing) - Location: (19863,20045)(19863,20045) + PsiElement(VAR_CONCEPT_)('$ato12')(19863,19869) + PsiWhiteSpace(' ')(19869,19870) + PsiTypeQLElement(attributes) - Location: (19870,20045)(19870,20045) + PsiTypeQLElement(attribute) - Location: (19870,19892)(19870,19892) + PsiElement('has')('has')(19870,19873) + PsiWhiteSpace(' ')(19873,19874) + PsiTypeQLElement(label) - Location: (19874,19886)(19874,19886) + PsiElement(LABEL_)('spec-version')(19874,19886) + PsiWhiteSpace(' ')(19886,19887) + PsiTypeQLElement(predicate) - Location: (19887,19892)(19887,19892) + PsiTypeQLElement(value) - Location: (19887,19892)(19887,19892) + PsiElement(QUOTED_STRING)('"2.1"')(19887,19892) + PsiElement(',')(',')(19892,19893) + PsiWhiteSpace('\n ')(19893,19898) + PsiTypeQLElement(attribute) - Location: (19898,19962)(19898,19962) + PsiElement('has')('has')(19898,19901) + PsiWhiteSpace(' ')(19901,19902) + PsiTypeQLElement(label) - Location: (19902,19909)(19902,19909) + PsiElement(LABEL_)('stix-id')(19902,19909) + PsiWhiteSpace(' ')(19909,19910) + PsiTypeQLElement(predicate) - Location: (19910,19962)(19910,19962) + PsiTypeQLElement(value) - Location: (19910,19962)(19910,19962) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0b"')(19910,19962) + PsiElement(',')(',')(19962,19963) + PsiWhiteSpace('\n ')(19963,19968) + PsiTypeQLElement(attribute) - Location: (19968,20003)(19968,20003) + PsiElement('has')('has')(19968,19971) + PsiWhiteSpace(' ')(19971,19972) + PsiTypeQLElement(label) - Location: (19972,19979)(19972,19979) + PsiElement(LABEL_)('created')(19972,19979) + PsiWhiteSpace(' ')(19979,19980) + PsiTypeQLElement(predicate) - Location: (19980,20003)(19980,20003) + PsiTypeQLElement(value) - Location: (19980,20003)(19980,20003) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(19980,20003) + PsiElement(',')(',')(20003,20004) + PsiWhiteSpace('\n ')(20004,20009) + PsiTypeQLElement(attribute) - Location: (20009,20045)(20009,20045) + PsiElement('has')('has')(20009,20012) + PsiWhiteSpace(' ')(20012,20013) + PsiTypeQLElement(label) - Location: (20013,20021)(20013,20021) + PsiElement(LABEL_)('modified')(20013,20021) + PsiWhiteSpace(' ')(20021,20022) + PsiTypeQLElement(predicate) - Location: (20022,20045)(20022,20045) + PsiTypeQLElement(value) - Location: (20022,20045)(20022,20045) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20022,20045) + PsiElement(';')(';')(20045,20046) + PsiWhiteSpace('\n\n')(20046,20048) + PsiTypeQLElement(statement_thing_any) - Location: (20048,20116)(20048,20116) + PsiTypeQLElement(statement_relation) - Location: (20048,20116)(20048,20116) + PsiElement(VAR_CONCEPT_)('$ato13')(20048,20054) + PsiWhiteSpace(' ')(20054,20055) + PsiTypeQLElement(relation) - Location: (20055,20099)(20055,20099) + PsiElement('(')('(')(20055,20056) + PsiTypeQLElement(role_player) - Location: (20056,20078)(20056,20078) + PsiTypeQLElement(type) - Location: (20056,20069)(20056,20069) + PsiTypeQLElement(label) - Location: (20056,20069)(20056,20069) + PsiElement(LABEL_)('impersonating')(20056,20069) + PsiElement(':')(':')(20069,20070) + PsiWhiteSpace(' ')(20070,20071) + PsiTypeQLElement(player) - Location: (20071,20078)(20071,20078) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(20071,20078) + PsiElement(',')(',')(20078,20079) + PsiWhiteSpace(' ')(20079,20080) + PsiTypeQLElement(role_player) - Location: (20080,20098)(20080,20098) + PsiTypeQLElement(type) - Location: (20080,20092)(20080,20092) + PsiTypeQLElement(label) - Location: (20080,20092)(20080,20092) + PsiElement(LABEL_)('impersonated')(20080,20092) + PsiElement(':')(':')(20092,20093) + PsiWhiteSpace(' ')(20093,20094) + PsiTypeQLElement(player) - Location: (20094,20098)(20094,20098) + PsiElement(VAR_CONCEPT_)('$id2')(20094,20098) + PsiElement(')')(')')(20098,20099) + PsiWhiteSpace(' ')(20099,20100) + PsiElement(ISA_)('isa')(20100,20103) + PsiWhiteSpace(' ')(20103,20104) + PsiTypeQLElement(type) - Location: (20104,20116)(20104,20116) + PsiTypeQLElement(label) - Location: (20104,20116)(20104,20116) + PsiElement(LABEL_)('impersonates')(20104,20116) + PsiElement(';')(';')(20116,20117) + PsiWhiteSpace('\n')(20117,20118) + PsiTypeQLElement(statement_thing_any) - Location: (20118,20300)(20118,20300) + PsiTypeQLElement(statement_thing) - Location: (20118,20300)(20118,20300) + PsiElement(VAR_CONCEPT_)('$ato13')(20118,20124) + PsiWhiteSpace(' ')(20124,20125) + PsiTypeQLElement(attributes) - Location: (20125,20300)(20125,20300) + PsiTypeQLElement(attribute) - Location: (20125,20147)(20125,20147) + PsiElement('has')('has')(20125,20128) + PsiWhiteSpace(' ')(20128,20129) + PsiTypeQLElement(label) - Location: (20129,20141)(20129,20141) + PsiElement(LABEL_)('spec-version')(20129,20141) + PsiWhiteSpace(' ')(20141,20142) + PsiTypeQLElement(predicate) - Location: (20142,20147)(20142,20147) + PsiTypeQLElement(value) - Location: (20142,20147)(20142,20147) + PsiElement(QUOTED_STRING)('"2.1"')(20142,20147) + PsiElement(',')(',')(20147,20148) + PsiWhiteSpace('\n ')(20148,20153) + PsiTypeQLElement(attribute) - Location: (20153,20217)(20153,20217) + PsiElement('has')('has')(20153,20156) + PsiWhiteSpace(' ')(20156,20157) + PsiTypeQLElement(label) - Location: (20157,20164)(20157,20164) + PsiElement(LABEL_)('stix-id')(20157,20164) + PsiWhiteSpace(' ')(20164,20165) + PsiTypeQLElement(predicate) - Location: (20165,20217)(20165,20217) + PsiTypeQLElement(value) - Location: (20165,20217)(20165,20217) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0c"')(20165,20217) + PsiElement(',')(',')(20217,20218) + PsiWhiteSpace('\n ')(20218,20223) + PsiTypeQLElement(attribute) - Location: (20223,20258)(20223,20258) + PsiElement('has')('has')(20223,20226) + PsiWhiteSpace(' ')(20226,20227) + PsiTypeQLElement(label) - Location: (20227,20234)(20227,20234) + PsiElement(LABEL_)('created')(20227,20234) + PsiWhiteSpace(' ')(20234,20235) + PsiTypeQLElement(predicate) - Location: (20235,20258)(20235,20258) + PsiTypeQLElement(value) - Location: (20235,20258)(20235,20258) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20235,20258) + PsiElement(',')(',')(20258,20259) + PsiWhiteSpace('\n ')(20259,20264) + PsiTypeQLElement(attribute) - Location: (20264,20300)(20264,20300) + PsiElement('has')('has')(20264,20267) + PsiWhiteSpace(' ')(20267,20268) + PsiTypeQLElement(label) - Location: (20268,20276)(20268,20276) + PsiElement(LABEL_)('modified')(20268,20276) + PsiWhiteSpace(' ')(20276,20277) + PsiTypeQLElement(predicate) - Location: (20277,20300)(20277,20300) + PsiTypeQLElement(value) - Location: (20277,20300)(20277,20300) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20277,20300) + PsiElement(';')(';')(20300,20301) + PsiWhiteSpace('\n\n')(20301,20303) + PsiTypeQLElement(statement_thing_any) - Location: (20303,20358)(20303,20358) + PsiTypeQLElement(statement_relation) - Location: (20303,20358)(20303,20358) + PsiElement(VAR_CONCEPT_)('$ato14')(20303,20309) + PsiWhiteSpace(' ')(20309,20310) + PsiTypeQLElement(relation) - Location: (20310,20346)(20310,20346) + PsiElement('(')('(')(20310,20311) + PsiTypeQLElement(role_player) - Location: (20311,20329)(20311,20329) + PsiTypeQLElement(type) - Location: (20311,20320)(20311,20320) + PsiTypeQLElement(label) - Location: (20311,20320)(20311,20320) + PsiElement(LABEL_)('targeting')(20311,20320) + PsiElement(':')(':')(20320,20321) + PsiWhiteSpace(' ')(20321,20322) + PsiTypeQLElement(player) - Location: (20322,20329)(20322,20329) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(20322,20329) + PsiElement(',')(',')(20329,20330) + PsiWhiteSpace(' ')(20330,20331) + PsiTypeQLElement(role_player) - Location: (20331,20345)(20331,20345) + PsiTypeQLElement(type) - Location: (20331,20339)(20331,20339) + PsiTypeQLElement(label) - Location: (20331,20339)(20331,20339) + PsiElement(LABEL_)('targeted')(20331,20339) + PsiElement(':')(':')(20339,20340) + PsiWhiteSpace(' ')(20340,20341) + PsiTypeQLElement(player) - Location: (20341,20345)(20341,20345) + PsiElement(VAR_CONCEPT_)('$id2')(20341,20345) + PsiElement(')')(')')(20345,20346) + PsiWhiteSpace(' ')(20346,20347) + PsiElement(ISA_)('isa')(20347,20350) + PsiWhiteSpace(' ')(20350,20351) + PsiTypeQLElement(type) - Location: (20351,20358)(20351,20358) + PsiTypeQLElement(label) - Location: (20351,20358)(20351,20358) + PsiElement(LABEL_)('targets')(20351,20358) + PsiElement(';')(';')(20358,20359) + PsiWhiteSpace('\n')(20359,20360) + PsiTypeQLElement(statement_thing_any) - Location: (20360,20542)(20360,20542) + PsiTypeQLElement(statement_thing) - Location: (20360,20542)(20360,20542) + PsiElement(VAR_CONCEPT_)('$ato14')(20360,20366) + PsiWhiteSpace(' ')(20366,20367) + PsiTypeQLElement(attributes) - Location: (20367,20542)(20367,20542) + PsiTypeQLElement(attribute) - Location: (20367,20389)(20367,20389) + PsiElement('has')('has')(20367,20370) + PsiWhiteSpace(' ')(20370,20371) + PsiTypeQLElement(label) - Location: (20371,20383)(20371,20383) + PsiElement(LABEL_)('spec-version')(20371,20383) + PsiWhiteSpace(' ')(20383,20384) + PsiTypeQLElement(predicate) - Location: (20384,20389)(20384,20389) + PsiTypeQLElement(value) - Location: (20384,20389)(20384,20389) + PsiElement(QUOTED_STRING)('"2.1"')(20384,20389) + PsiElement(',')(',')(20389,20390) + PsiWhiteSpace('\n ')(20390,20395) + PsiTypeQLElement(attribute) - Location: (20395,20459)(20395,20459) + PsiElement('has')('has')(20395,20398) + PsiWhiteSpace(' ')(20398,20399) + PsiTypeQLElement(label) - Location: (20399,20406)(20399,20406) + PsiElement(LABEL_)('stix-id')(20399,20406) + PsiWhiteSpace(' ')(20406,20407) + PsiTypeQLElement(predicate) - Location: (20407,20459)(20407,20459) + PsiTypeQLElement(value) - Location: (20407,20459)(20407,20459) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0d"')(20407,20459) + PsiElement(',')(',')(20459,20460) + PsiWhiteSpace('\n ')(20460,20465) + PsiTypeQLElement(attribute) - Location: (20465,20500)(20465,20500) + PsiElement('has')('has')(20465,20468) + PsiWhiteSpace(' ')(20468,20469) + PsiTypeQLElement(label) - Location: (20469,20476)(20469,20476) + PsiElement(LABEL_)('created')(20469,20476) + PsiWhiteSpace(' ')(20476,20477) + PsiTypeQLElement(predicate) - Location: (20477,20500)(20477,20500) + PsiTypeQLElement(value) - Location: (20477,20500)(20477,20500) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20477,20500) + PsiElement(',')(',')(20500,20501) + PsiWhiteSpace('\n ')(20501,20506) + PsiTypeQLElement(attribute) - Location: (20506,20542)(20506,20542) + PsiElement('has')('has')(20506,20509) + PsiWhiteSpace(' ')(20509,20510) + PsiTypeQLElement(label) - Location: (20510,20518)(20510,20518) + PsiElement(LABEL_)('modified')(20510,20518) + PsiWhiteSpace(' ')(20518,20519) + PsiTypeQLElement(predicate) - Location: (20519,20542)(20519,20542) + PsiTypeQLElement(value) - Location: (20519,20542)(20519,20542) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20519,20542) + PsiElement(';')(';')(20542,20543) + PsiWhiteSpace('\n\n')(20543,20545) + PsiTypeQLElement(statement_thing_any) - Location: (20545,20610)(20545,20610) + PsiTypeQLElement(statement_relation) - Location: (20545,20610)(20545,20610) + PsiElement(VAR_CONCEPT_)('$ato15')(20545,20551) + PsiWhiteSpace(' ')(20551,20552) + PsiTypeQLElement(relation) - Location: (20552,20592)(20552,20592) + PsiElement('(')('(')(20552,20553) + PsiTypeQLElement(role_player) - Location: (20553,20573)(20553,20573) + PsiTypeQLElement(type) - Location: (20553,20564)(20553,20564) + PsiTypeQLElement(label) - Location: (20553,20564)(20553,20564) + PsiElement(LABEL_)('attributing')(20553,20564) + PsiElement(':')(':')(20564,20565) + PsiWhiteSpace(' ')(20565,20566) + PsiTypeQLElement(player) - Location: (20566,20573)(20566,20573) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(20566,20573) + PsiElement(',')(',')(20573,20574) + PsiWhiteSpace(' ')(20574,20575) + PsiTypeQLElement(role_player) - Location: (20575,20591)(20575,20591) + PsiTypeQLElement(type) - Location: (20575,20585)(20575,20585) + PsiTypeQLElement(label) - Location: (20575,20585)(20575,20585) + PsiElement(LABEL_)('attributed')(20575,20585) + PsiElement(':')(':')(20585,20586) + PsiWhiteSpace(' ')(20586,20587) + PsiTypeQLElement(player) - Location: (20587,20591)(20587,20591) + PsiElement(VAR_CONCEPT_)('$id1')(20587,20591) + PsiElement(')')(')')(20591,20592) + PsiWhiteSpace(' ')(20592,20593) + PsiElement(ISA_)('isa')(20593,20596) + PsiWhiteSpace(' ')(20596,20597) + PsiTypeQLElement(type) - Location: (20597,20610)(20597,20610) + PsiTypeQLElement(label) - Location: (20597,20610)(20597,20610) + PsiElement(LABEL_)('attributed-to')(20597,20610) + PsiElement(';')(';')(20610,20611) + PsiWhiteSpace('\n')(20611,20612) + PsiTypeQLElement(statement_thing_any) - Location: (20612,20794)(20612,20794) + PsiTypeQLElement(statement_thing) - Location: (20612,20794)(20612,20794) + PsiElement(VAR_CONCEPT_)('$ato15')(20612,20618) + PsiWhiteSpace(' ')(20618,20619) + PsiTypeQLElement(attributes) - Location: (20619,20794)(20619,20794) + PsiTypeQLElement(attribute) - Location: (20619,20641)(20619,20641) + PsiElement('has')('has')(20619,20622) + PsiWhiteSpace(' ')(20622,20623) + PsiTypeQLElement(label) - Location: (20623,20635)(20623,20635) + PsiElement(LABEL_)('spec-version')(20623,20635) + PsiWhiteSpace(' ')(20635,20636) + PsiTypeQLElement(predicate) - Location: (20636,20641)(20636,20641) + PsiTypeQLElement(value) - Location: (20636,20641)(20636,20641) + PsiElement(QUOTED_STRING)('"2.1"')(20636,20641) + PsiElement(',')(',')(20641,20642) + PsiWhiteSpace('\n ')(20642,20647) + PsiTypeQLElement(attribute) - Location: (20647,20711)(20647,20711) + PsiElement('has')('has')(20647,20650) + PsiWhiteSpace(' ')(20650,20651) + PsiTypeQLElement(label) - Location: (20651,20658)(20651,20658) + PsiElement(LABEL_)('stix-id')(20651,20658) + PsiWhiteSpace(' ')(20658,20659) + PsiTypeQLElement(predicate) - Location: (20659,20711)(20659,20711) + PsiTypeQLElement(value) - Location: (20659,20711)(20659,20711) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0e"')(20659,20711) + PsiElement(',')(',')(20711,20712) + PsiWhiteSpace('\n ')(20712,20717) + PsiTypeQLElement(attribute) - Location: (20717,20752)(20717,20752) + PsiElement('has')('has')(20717,20720) + PsiWhiteSpace(' ')(20720,20721) + PsiTypeQLElement(label) - Location: (20721,20728)(20721,20728) + PsiElement(LABEL_)('created')(20721,20728) + PsiWhiteSpace(' ')(20728,20729) + PsiTypeQLElement(predicate) - Location: (20729,20752)(20729,20752) + PsiTypeQLElement(value) - Location: (20729,20752)(20729,20752) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20729,20752) + PsiElement(',')(',')(20752,20753) + PsiWhiteSpace('\n ')(20753,20758) + PsiTypeQLElement(attribute) - Location: (20758,20794)(20758,20794) + PsiElement('has')('has')(20758,20761) + PsiWhiteSpace(' ')(20761,20762) + PsiTypeQLElement(label) - Location: (20762,20770)(20762,20770) + PsiElement(LABEL_)('modified')(20762,20770) + PsiWhiteSpace(' ')(20770,20771) + PsiTypeQLElement(predicate) - Location: (20771,20794)(20771,20794) + PsiTypeQLElement(value) - Location: (20771,20794)(20771,20794) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20771,20794) + PsiElement(';')(';')(20794,20795) + PsiWhiteSpace('\n\n')(20795,20797) + PsiTypeQLElement(statement_thing_any) - Location: (20797,20849)(20797,20849) + PsiTypeQLElement(statement_relation) - Location: (20797,20849)(20797,20849) + PsiElement(VAR_CONCEPT_)('$ato16')(20797,20803) + PsiWhiteSpace(' ')(20803,20804) + PsiTypeQLElement(relation) - Location: (20804,20837)(20804,20837) + PsiElement('(')('(')(20804,20805) + PsiTypeQLElement(role_player) - Location: (20805,20820)(20805,20820) + PsiTypeQLElement(type) - Location: (20805,20814)(20805,20814) + PsiTypeQLElement(label) - Location: (20805,20814)(20805,20814) + PsiElement(LABEL_)('targeting')(20805,20814) + PsiElement(':')(':')(20814,20815) + PsiWhiteSpace(' ')(20815,20816) + PsiTypeQLElement(player) - Location: (20816,20820)(20816,20820) + PsiElement(VAR_CONCEPT_)('$ca2')(20816,20820) + PsiElement(',')(',')(20820,20821) + PsiWhiteSpace(' ')(20821,20822) + PsiTypeQLElement(role_player) - Location: (20822,20836)(20822,20836) + PsiTypeQLElement(type) - Location: (20822,20830)(20822,20830) + PsiTypeQLElement(label) - Location: (20822,20830)(20822,20830) + PsiElement(LABEL_)('targeted')(20822,20830) + PsiElement(':')(':')(20830,20831) + PsiWhiteSpace(' ')(20831,20832) + PsiTypeQLElement(player) - Location: (20832,20836)(20832,20836) + PsiElement(VAR_CONCEPT_)('$id1')(20832,20836) + PsiElement(')')(')')(20836,20837) + PsiWhiteSpace(' ')(20837,20838) + PsiElement(ISA_)('isa')(20838,20841) + PsiWhiteSpace(' ')(20841,20842) + PsiTypeQLElement(type) - Location: (20842,20849)(20842,20849) + PsiTypeQLElement(label) - Location: (20842,20849)(20842,20849) + PsiElement(LABEL_)('targets')(20842,20849) + PsiElement(';')(';')(20849,20850) + PsiWhiteSpace('\n')(20850,20851) + PsiTypeQLElement(statement_thing_any) - Location: (20851,21033)(20851,21033) + PsiTypeQLElement(statement_thing) - Location: (20851,21033)(20851,21033) + PsiElement(VAR_CONCEPT_)('$ato16')(20851,20857) + PsiWhiteSpace(' ')(20857,20858) + PsiTypeQLElement(attributes) - Location: (20858,21033)(20858,21033) + PsiTypeQLElement(attribute) - Location: (20858,20880)(20858,20880) + PsiElement('has')('has')(20858,20861) + PsiWhiteSpace(' ')(20861,20862) + PsiTypeQLElement(label) - Location: (20862,20874)(20862,20874) + PsiElement(LABEL_)('spec-version')(20862,20874) + PsiWhiteSpace(' ')(20874,20875) + PsiTypeQLElement(predicate) - Location: (20875,20880)(20875,20880) + PsiTypeQLElement(value) - Location: (20875,20880)(20875,20880) + PsiElement(QUOTED_STRING)('"2.1"')(20875,20880) + PsiElement(',')(',')(20880,20881) + PsiWhiteSpace('\n ')(20881,20886) + PsiTypeQLElement(attribute) - Location: (20886,20950)(20886,20950) + PsiElement('has')('has')(20886,20889) + PsiWhiteSpace(' ')(20889,20890) + PsiTypeQLElement(label) - Location: (20890,20897)(20890,20897) + PsiElement(LABEL_)('stix-id')(20890,20897) + PsiWhiteSpace(' ')(20897,20898) + PsiTypeQLElement(predicate) - Location: (20898,20950)(20898,20950) + PsiTypeQLElement(value) - Location: (20898,20950)(20898,20950) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b0f"')(20898,20950) + PsiElement(',')(',')(20950,20951) + PsiWhiteSpace('\n ')(20951,20956) + PsiTypeQLElement(attribute) - Location: (20956,20991)(20956,20991) + PsiElement('has')('has')(20956,20959) + PsiWhiteSpace(' ')(20959,20960) + PsiTypeQLElement(label) - Location: (20960,20967)(20960,20967) + PsiElement(LABEL_)('created')(20960,20967) + PsiWhiteSpace(' ')(20967,20968) + PsiTypeQLElement(predicate) - Location: (20968,20991)(20968,20991) + PsiTypeQLElement(value) - Location: (20968,20991)(20968,20991) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(20968,20991) + PsiElement(',')(',')(20991,20992) + PsiWhiteSpace('\n ')(20992,20997) + PsiTypeQLElement(attribute) - Location: (20997,21033)(20997,21033) + PsiElement('has')('has')(20997,21000) + PsiWhiteSpace(' ')(21000,21001) + PsiTypeQLElement(label) - Location: (21001,21009)(21001,21009) + PsiElement(LABEL_)('modified')(21001,21009) + PsiWhiteSpace(' ')(21009,21010) + PsiTypeQLElement(predicate) - Location: (21010,21033)(21010,21033) + PsiTypeQLElement(value) - Location: (21010,21033)(21010,21033) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(21010,21033) + PsiElement(';')(';')(21033,21034) + PsiWhiteSpace('\n\n')(21034,21036) + PsiTypeQLElement(statement_thing_any) - Location: (21036,21080)(21036,21080) + PsiTypeQLElement(statement_relation) - Location: (21036,21080)(21036,21080) + PsiElement(VAR_CONCEPT_)('$ato17')(21036,21042) + PsiWhiteSpace(' ')(21042,21043) + PsiTypeQLElement(relation) - Location: (21043,21071)(21043,21071) + PsiElement('(')('(')(21043,21044) + PsiTypeQLElement(role_player) - Location: (21044,21058)(21044,21058) + PsiTypeQLElement(type) - Location: (21044,21049)(21044,21049) + PsiTypeQLElement(label) - Location: (21044,21049)(21044,21049) + PsiElement(LABEL_)('using')(21044,21049) + PsiElement(':')(':')(21049,21050) + PsiWhiteSpace(' ')(21050,21051) + PsiTypeQLElement(player) - Location: (21051,21058)(21051,21058) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(21051,21058) + PsiElement(',')(',')(21058,21059) + PsiWhiteSpace(' ')(21059,21060) + PsiTypeQLElement(role_player) - Location: (21060,21070)(21060,21070) + PsiTypeQLElement(type) - Location: (21060,21064)(21060,21064) + PsiTypeQLElement(label) - Location: (21060,21064)(21060,21064) + PsiElement(LABEL_)('used')(21060,21064) + PsiElement(':')(':')(21064,21065) + PsiWhiteSpace(' ')(21065,21066) + PsiTypeQLElement(player) - Location: (21066,21070)(21066,21070) + PsiElement(VAR_CONCEPT_)('$at1')(21066,21070) + PsiElement(')')(')')(21070,21071) + PsiWhiteSpace(' ')(21071,21072) + PsiElement(ISA_)('isa')(21072,21075) + PsiWhiteSpace(' ')(21075,21076) + PsiTypeQLElement(type) - Location: (21076,21080)(21076,21080) + PsiTypeQLElement(label) - Location: (21076,21080)(21076,21080) + PsiElement(LABEL_)('uses')(21076,21080) + PsiElement(';')(';')(21080,21081) + PsiWhiteSpace('\n')(21081,21082) + PsiTypeQLElement(statement_thing_any) - Location: (21082,21264)(21082,21264) + PsiTypeQLElement(statement_thing) - Location: (21082,21264)(21082,21264) + PsiElement(VAR_CONCEPT_)('$ato17')(21082,21088) + PsiWhiteSpace(' ')(21088,21089) + PsiTypeQLElement(attributes) - Location: (21089,21264)(21089,21264) + PsiTypeQLElement(attribute) - Location: (21089,21111)(21089,21111) + PsiElement('has')('has')(21089,21092) + PsiWhiteSpace(' ')(21092,21093) + PsiTypeQLElement(label) - Location: (21093,21105)(21093,21105) + PsiElement(LABEL_)('spec-version')(21093,21105) + PsiWhiteSpace(' ')(21105,21106) + PsiTypeQLElement(predicate) - Location: (21106,21111)(21106,21111) + PsiTypeQLElement(value) - Location: (21106,21111)(21106,21111) + PsiElement(QUOTED_STRING)('"2.1"')(21106,21111) + PsiElement(',')(',')(21111,21112) + PsiWhiteSpace('\n ')(21112,21117) + PsiTypeQLElement(attribute) - Location: (21117,21181)(21117,21181) + PsiElement('has')('has')(21117,21120) + PsiWhiteSpace(' ')(21120,21121) + PsiTypeQLElement(label) - Location: (21121,21128)(21121,21128) + PsiElement(LABEL_)('stix-id')(21121,21128) + PsiWhiteSpace(' ')(21128,21129) + PsiTypeQLElement(predicate) - Location: (21129,21181)(21129,21181) + PsiTypeQLElement(value) - Location: (21129,21181)(21129,21181) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b10"')(21129,21181) + PsiElement(',')(',')(21181,21182) + PsiWhiteSpace('\n ')(21182,21187) + PsiTypeQLElement(attribute) - Location: (21187,21222)(21187,21222) + PsiElement('has')('has')(21187,21190) + PsiWhiteSpace(' ')(21190,21191) + PsiTypeQLElement(label) - Location: (21191,21198)(21191,21198) + PsiElement(LABEL_)('created')(21191,21198) + PsiWhiteSpace(' ')(21198,21199) + PsiTypeQLElement(predicate) - Location: (21199,21222)(21199,21222) + PsiTypeQLElement(value) - Location: (21199,21222)(21199,21222) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(21199,21222) + PsiElement(',')(',')(21222,21223) + PsiWhiteSpace('\n ')(21223,21228) + PsiTypeQLElement(attribute) - Location: (21228,21264)(21228,21264) + PsiElement('has')('has')(21228,21231) + PsiWhiteSpace(' ')(21231,21232) + PsiTypeQLElement(label) - Location: (21232,21240)(21232,21240) + PsiElement(LABEL_)('modified')(21232,21240) + PsiWhiteSpace(' ')(21240,21241) + PsiTypeQLElement(predicate) - Location: (21241,21264)(21241,21264) + PsiTypeQLElement(value) - Location: (21241,21264)(21241,21264) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(21241,21264) + PsiElement(';')(';')(21264,21265) + PsiWhiteSpace('\n\n')(21265,21267) + PsiTypeQLElement(statement_thing_any) - Location: (21267,21311)(21267,21311) + PsiTypeQLElement(statement_relation) - Location: (21267,21311)(21267,21311) + PsiElement(VAR_CONCEPT_)('$ato18')(21267,21273) + PsiWhiteSpace(' ')(21273,21274) + PsiTypeQLElement(relation) - Location: (21274,21302)(21274,21302) + PsiElement('(')('(')(21274,21275) + PsiTypeQLElement(role_player) - Location: (21275,21289)(21275,21289) + PsiTypeQLElement(type) - Location: (21275,21280)(21275,21280) + PsiTypeQLElement(label) - Location: (21275,21280)(21275,21280) + PsiElement(LABEL_)('using')(21275,21280) + PsiElement(':')(':')(21280,21281) + PsiWhiteSpace(' ')(21281,21282) + PsiTypeQLElement(player) - Location: (21282,21289)(21282,21289) + PsiElement(VAR_CONCEPT_)('$bpp-ta')(21282,21289) + PsiElement(',')(',')(21289,21290) + PsiWhiteSpace(' ')(21290,21291) + PsiTypeQLElement(role_player) - Location: (21291,21301)(21291,21301) + PsiTypeQLElement(type) - Location: (21291,21295)(21291,21295) + PsiTypeQLElement(label) - Location: (21291,21295)(21291,21295) + PsiElement(LABEL_)('used')(21291,21295) + PsiElement(':')(':')(21295,21296) + PsiWhiteSpace(' ')(21296,21297) + PsiTypeQLElement(player) - Location: (21297,21301)(21297,21301) + PsiElement(VAR_CONCEPT_)('$at2')(21297,21301) + PsiElement(')')(')')(21301,21302) + PsiWhiteSpace(' ')(21302,21303) + PsiElement(ISA_)('isa')(21303,21306) + PsiWhiteSpace(' ')(21306,21307) + PsiTypeQLElement(type) - Location: (21307,21311)(21307,21311) + PsiTypeQLElement(label) - Location: (21307,21311)(21307,21311) + PsiElement(LABEL_)('uses')(21307,21311) + PsiElement(';')(';')(21311,21312) + PsiWhiteSpace('\n')(21312,21313) + PsiTypeQLElement(statement_thing_any) - Location: (21313,21495)(21313,21495) + PsiTypeQLElement(statement_thing) - Location: (21313,21495)(21313,21495) + PsiElement(VAR_CONCEPT_)('$ato18')(21313,21319) + PsiWhiteSpace(' ')(21319,21320) + PsiTypeQLElement(attributes) - Location: (21320,21495)(21320,21495) + PsiTypeQLElement(attribute) - Location: (21320,21342)(21320,21342) + PsiElement('has')('has')(21320,21323) + PsiWhiteSpace(' ')(21323,21324) + PsiTypeQLElement(label) - Location: (21324,21336)(21324,21336) + PsiElement(LABEL_)('spec-version')(21324,21336) + PsiWhiteSpace(' ')(21336,21337) + PsiTypeQLElement(predicate) - Location: (21337,21342)(21337,21342) + PsiTypeQLElement(value) - Location: (21337,21342)(21337,21342) + PsiElement(QUOTED_STRING)('"2.1"')(21337,21342) + PsiElement(',')(',')(21342,21343) + PsiWhiteSpace('\n ')(21343,21348) + PsiTypeQLElement(attribute) - Location: (21348,21412)(21348,21412) + PsiElement('has')('has')(21348,21351) + PsiWhiteSpace(' ')(21351,21352) + PsiTypeQLElement(label) - Location: (21352,21359)(21352,21359) + PsiElement(LABEL_)('stix-id')(21352,21359) + PsiWhiteSpace(' ')(21359,21360) + PsiTypeQLElement(predicate) - Location: (21360,21412)(21360,21412) + PsiTypeQLElement(value) - Location: (21360,21412)(21360,21412) + PsiElement(QUOTED_STRING)('"relationship--e0b0b1a9-0b0a-4b0a-9b0a-0b0a0b0a0b11"')(21360,21412) + PsiElement(',')(',')(21412,21413) + PsiWhiteSpace('\n ')(21413,21418) + PsiTypeQLElement(attribute) - Location: (21418,21453)(21418,21453) + PsiElement('has')('has')(21418,21421) + PsiWhiteSpace(' ')(21421,21422) + PsiTypeQLElement(label) - Location: (21422,21429)(21422,21429) + PsiElement(LABEL_)('created')(21422,21429) + PsiWhiteSpace(' ')(21429,21430) + PsiTypeQLElement(predicate) - Location: (21430,21453)(21430,21453) + PsiTypeQLElement(value) - Location: (21430,21453)(21430,21453) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(21430,21453) + PsiElement(',')(',')(21453,21454) + PsiWhiteSpace('\n ')(21454,21459) + PsiTypeQLElement(attribute) - Location: (21459,21495)(21459,21495) + PsiElement('has')('has')(21459,21462) + PsiWhiteSpace(' ')(21462,21463) + PsiTypeQLElement(label) - Location: (21463,21471)(21463,21471) + PsiElement(LABEL_)('modified')(21463,21471) + PsiWhiteSpace(' ')(21471,21472) + PsiTypeQLElement(predicate) - Location: (21472,21495)(21472,21495) + PsiTypeQLElement(value) - Location: (21472,21495)(21472,21495) + PsiElement(DATETIME_)('2020-02-29T17:41:44.940')(21472,21495) + PsiElement(';')(';')(21495,21496) + PsiTypeQLElement(modifiers) - Location: (21496,21496)(21496,21496) + diff --git a/src/test/resources/parsing/correct_match/ParsingTestData.tql b/src/test/resources/parsing/correct_match/ParsingTestData.tql new file mode 100644 index 0000000..de7d8ed --- /dev/null +++ b/src/test/resources/parsing/correct_match/ParsingTestData.tql @@ -0,0 +1,29 @@ +match +$p isa person, has name $n; +fetch $n; + + +match +$u isa user; +fetch +$u as user: attribute as all-attributes; +permited-files:{ + match + $o isa object; + $va isa action, has name "view_file"; + $pa($o, $va) isa access; + $p($u, $pa) isa permission; + fetch + $o as object: attribute as all-attributes; + convert-size: { + match + $o has size-kb $sk; + ?sm = round( $sk / 1024 ); + fetch + ?sm as size-mb; }; }; + + +match +$f isa file, has size-kb $s; +get $f, $s; +mean $s; \ No newline at end of file diff --git a/src/test/resources/parsing/correct_match/ParsingTestData.txt b/src/test/resources/parsing/correct_match/ParsingTestData.txt new file mode 100644 index 0000000..59d2ab2 --- /dev/null +++ b/src/test/resources/parsing/correct_match/ParsingTestData.txt @@ -0,0 +1,356 @@ +TypeQL file(0,516) + PsiTypeQLElement(eof_queries) - Location: (0,516)(0,516) + PsiTypeQLElement(query) - Location: (0,46)(0,46) + PsiTypeQLElement(query_fetch) - Location: (0,46)(0,46) + PsiTypeQLElement(clause_match) - Location: (0,33)(0,33) + PsiElement('match')('match')(0,5) + PsiWhiteSpace('\n')(5,6) + PsiTypeQLElement(patterns) - Location: (6,33)(6,33) + PsiTypeQLElement(pattern) - Location: (6,32)(6,32) + PsiTypeQLElement(statement) - Location: (6,32)(6,32) + PsiTypeQLElement(statement_thing_any) - Location: (6,32)(6,32) + PsiTypeQLElement(statement_thing) - Location: (6,32)(6,32) + PsiElement(VAR_CONCEPT_)('$p')(6,8) + PsiWhiteSpace(' ')(8,9) + PsiElement(ISA_)('isa')(9,12) + PsiWhiteSpace(' ')(12,13) + PsiTypeQLElement(type) - Location: (13,19)(13,19) + PsiTypeQLElement(label) - Location: (13,19)(13,19) + PsiElement(LABEL_)('person')(13,19) + PsiElement(',')(',')(19,20) + PsiWhiteSpace(' ')(20,21) + PsiTypeQLElement(attributes) - Location: (21,32)(21,32) + PsiTypeQLElement(attribute) - Location: (21,32)(21,32) + PsiElement('has')('has')(21,24) + PsiWhiteSpace(' ')(24,25) + PsiTypeQLElement(label) - Location: (25,29)(25,29) + PsiElement(LABEL_)('name')(25,29) + PsiWhiteSpace(' ')(29,30) + PsiElement(VAR_CONCEPT_)('$n')(30,32) + PsiElement(';')(';')(32,33) + PsiWhiteSpace('\n')(33,34) + PsiTypeQLElement(clause_fetch) - Location: (34,43)(34,43) + PsiElement('fetch')('fetch')(34,39) + PsiWhiteSpace(' ')(39,40) + PsiTypeQLElement(projections) - Location: (40,43)(40,43) + PsiTypeQLElement(projection) - Location: (40,42)(40,42) + PsiTypeQLElement(projection_key_var) - Location: (40,42)(40,42) + PsiElement(VAR_CONCEPT_)('$n')(40,42) + PsiElement(';')(';')(42,43) + PsiWhiteSpace('\n\n\n')(43,46) + PsiTypeQLElement(modifiers) - Location: (46,46)(46,46) + + PsiTypeQLElement(query) - Location: (46,461)(46,461) + PsiTypeQLElement(query_fetch) - Location: (46,461)(46,461) + PsiTypeQLElement(clause_match) - Location: (46,64)(46,64) + PsiElement('match')('match')(46,51) + PsiWhiteSpace('\n')(51,52) + PsiTypeQLElement(patterns) - Location: (52,64)(52,64) + PsiTypeQLElement(pattern) - Location: (52,63)(52,63) + PsiTypeQLElement(statement) - Location: (52,63)(52,63) + PsiTypeQLElement(statement_thing_any) - Location: (52,63)(52,63) + PsiTypeQLElement(statement_thing) - Location: (52,63)(52,63) + PsiElement(VAR_CONCEPT_)('$u')(52,54) + PsiWhiteSpace(' ')(54,55) + PsiElement(ISA_)('isa')(55,58) + PsiWhiteSpace(' ')(58,59) + PsiTypeQLElement(type) - Location: (59,63)(59,63) + PsiTypeQLElement(label) - Location: (59,63)(59,63) + PsiElement(LABEL_)('user')(59,63) + PsiElement(';')(';')(63,64) + PsiWhiteSpace('\n')(64,65) + PsiTypeQLElement(clause_fetch) - Location: (65,458)(65,458) + PsiElement('fetch')('fetch')(65,70) + PsiWhiteSpace('\n')(70,71) + PsiTypeQLElement(projections) - Location: (71,458)(71,458) + PsiTypeQLElement(projection) - Location: (71,110)(71,110) + PsiTypeQLElement(projection_key_var) - Location: (71,81)(71,81) + PsiElement(VAR_CONCEPT_)('$u')(71,73) + PsiWhiteSpace(' ')(73,74) + PsiTypeQLElement(projection_key_as_label) - Location: (74,81)(74,81) + PsiElement('as')('as')(74,76) + PsiWhiteSpace(' ')(76,77) + PsiTypeQLElement(projection_key_label) - Location: (77,81)(77,81) + PsiTypeQLElement(label) - Location: (77,81)(77,81) + PsiElement(LABEL_)('user')(77,81) + PsiElement(':')(':')(81,82) + PsiWhiteSpace(' ')(82,83) + PsiTypeQLElement(projection_attributes) - Location: (83,110)(83,110) + PsiTypeQLElement(projection_attribute) - Location: (83,110)(83,110) + PsiTypeQLElement(label) - Location: (83,92)(83,92) + PsiTypeQLElement(type_native) - Location: (83,92)(83,92) + PsiElement('attribute')('attribute')(83,92) + PsiWhiteSpace(' ')(92,93) + PsiTypeQLElement(projection_key_as_label) - Location: (93,110)(93,110) + PsiElement('as')('as')(93,95) + PsiWhiteSpace(' ')(95,96) + PsiTypeQLElement(projection_key_label) - Location: (96,110)(96,110) + PsiTypeQLElement(label) - Location: (96,110)(96,110) + PsiElement(LABEL_)('all-attributes')(96,110) + PsiElement(';')(';')(110,111) + PsiWhiteSpace('\n')(111,112) + PsiTypeQLElement(projection) - Location: (112,457)(112,457) + PsiTypeQLElement(projection_key_label) - Location: (112,126)(112,126) + PsiTypeQLElement(label) - Location: (112,126)(112,126) + PsiElement(LABEL_)('permited-files')(112,126) + PsiElement(':')(':')(126,127) + PsiElement('{')('{')(127,128) + PsiWhiteSpace('\n ')(128,133) + PsiTypeQLElement(projection_subquery) - Location: (133,456)(133,456) + PsiTypeQLElement(query_fetch) - Location: (133,456)(133,456) + PsiTypeQLElement(clause_match) - Location: (133,260)(133,260) + PsiElement('match')('match')(133,138) + PsiWhiteSpace('\n ')(138,143) + PsiTypeQLElement(patterns) - Location: (143,260)(143,260) + PsiTypeQLElement(pattern) - Location: (143,156)(143,156) + PsiTypeQLElement(statement) - Location: (143,156)(143,156) + PsiTypeQLElement(statement_thing_any) - Location: (143,156)(143,156) + PsiTypeQLElement(statement_thing) - Location: (143,156)(143,156) + PsiElement(VAR_CONCEPT_)('$o')(143,145) + PsiWhiteSpace(' ')(145,146) + PsiElement(ISA_)('isa')(146,149) + PsiWhiteSpace(' ')(149,150) + PsiTypeQLElement(type) - Location: (150,156)(150,156) + PsiTypeQLElement(label) - Location: (150,156)(150,156) + PsiElement(LABEL_)('object')(150,156) + PsiElement(';')(';')(156,157) + PsiWhiteSpace('\n ')(157,162) + PsiTypeQLElement(pattern) - Location: (162,198)(162,198) + PsiTypeQLElement(statement) - Location: (162,198)(162,198) + PsiTypeQLElement(statement_thing_any) - Location: (162,198)(162,198) + PsiTypeQLElement(statement_thing) - Location: (162,198)(162,198) + PsiElement(VAR_CONCEPT_)('$va')(162,165) + PsiWhiteSpace(' ')(165,166) + PsiElement(ISA_)('isa')(166,169) + PsiWhiteSpace(' ')(169,170) + PsiTypeQLElement(type) - Location: (170,176)(170,176) + PsiTypeQLElement(label) - Location: (170,176)(170,176) + PsiElement(LABEL_)('action')(170,176) + PsiElement(',')(',')(176,177) + PsiWhiteSpace(' ')(177,178) + PsiTypeQLElement(attributes) - Location: (178,198)(178,198) + PsiTypeQLElement(attribute) - Location: (178,198)(178,198) + PsiElement('has')('has')(178,181) + PsiWhiteSpace(' ')(181,182) + PsiTypeQLElement(label) - Location: (182,186)(182,186) + PsiElement(LABEL_)('name')(182,186) + PsiWhiteSpace(' ')(186,187) + PsiTypeQLElement(predicate) - Location: (187,198)(187,198) + PsiTypeQLElement(value) - Location: (187,198)(187,198) + PsiElement(QUOTED_STRING)('"view_file"')(187,198) + PsiElement(';')(';')(198,199) + PsiWhiteSpace('\n ')(199,204) + PsiTypeQLElement(pattern) - Location: (204,227)(204,227) + PsiTypeQLElement(statement) - Location: (204,227)(204,227) + PsiTypeQLElement(statement_thing_any) - Location: (204,227)(204,227) + PsiTypeQLElement(statement_relation) - Location: (204,227)(204,227) + PsiElement(VAR_CONCEPT_)('$pa')(204,207) + PsiTypeQLElement(relation) - Location: (207,216)(207,216) + PsiElement('(')('(')(207,208) + PsiTypeQLElement(role_player) - Location: (208,210)(208,210) + PsiTypeQLElement(player) - Location: (208,210)(208,210) + PsiElement(VAR_CONCEPT_)('$o')(208,210) + PsiElement(',')(',')(210,211) + PsiWhiteSpace(' ')(211,212) + PsiTypeQLElement(role_player) - Location: (212,215)(212,215) + PsiTypeQLElement(player) - Location: (212,215)(212,215) + PsiElement(VAR_CONCEPT_)('$va')(212,215) + PsiElement(')')(')')(215,216) + PsiWhiteSpace(' ')(216,217) + PsiElement(ISA_)('isa')(217,220) + PsiWhiteSpace(' ')(220,221) + PsiTypeQLElement(type) - Location: (221,227)(221,227) + PsiTypeQLElement(label) - Location: (221,227)(221,227) + PsiElement(LABEL_)('access')(221,227) + PsiElement(';')(';')(227,228) + PsiWhiteSpace('\n ')(228,233) + PsiTypeQLElement(pattern) - Location: (233,259)(233,259) + PsiTypeQLElement(statement) - Location: (233,259)(233,259) + PsiTypeQLElement(statement_thing_any) - Location: (233,259)(233,259) + PsiTypeQLElement(statement_relation) - Location: (233,259)(233,259) + PsiElement(VAR_CONCEPT_)('$p')(233,235) + PsiTypeQLElement(relation) - Location: (235,244)(235,244) + PsiElement('(')('(')(235,236) + PsiTypeQLElement(role_player) - Location: (236,238)(236,238) + PsiTypeQLElement(player) - Location: (236,238)(236,238) + PsiElement(VAR_CONCEPT_)('$u')(236,238) + PsiElement(',')(',')(238,239) + PsiWhiteSpace(' ')(239,240) + PsiTypeQLElement(role_player) - Location: (240,243)(240,243) + PsiTypeQLElement(player) - Location: (240,243)(240,243) + PsiElement(VAR_CONCEPT_)('$pa')(240,243) + PsiElement(')')(')')(243,244) + PsiWhiteSpace(' ')(244,245) + PsiElement(ISA_)('isa')(245,248) + PsiWhiteSpace(' ')(248,249) + PsiTypeQLElement(type) - Location: (249,259)(249,259) + PsiTypeQLElement(label) - Location: (249,259)(249,259) + PsiElement(LABEL_)('permission')(249,259) + PsiElement(';')(';')(259,260) + PsiWhiteSpace('\n ')(260,265) + PsiTypeQLElement(clause_fetch) - Location: (265,455)(265,455) + PsiElement('fetch')('fetch')(265,270) + PsiWhiteSpace('\n ')(270,275) + PsiTypeQLElement(projections) - Location: (275,455)(275,455) + PsiTypeQLElement(projection) - Location: (275,316)(275,316) + PsiTypeQLElement(projection_key_var) - Location: (275,287)(275,287) + PsiElement(VAR_CONCEPT_)('$o')(275,277) + PsiWhiteSpace(' ')(277,278) + PsiTypeQLElement(projection_key_as_label) - Location: (278,287)(278,287) + PsiElement('as')('as')(278,280) + PsiWhiteSpace(' ')(280,281) + PsiTypeQLElement(projection_key_label) - Location: (281,287)(281,287) + PsiTypeQLElement(label) - Location: (281,287)(281,287) + PsiElement(LABEL_)('object')(281,287) + PsiElement(':')(':')(287,288) + PsiWhiteSpace(' ')(288,289) + PsiTypeQLElement(projection_attributes) - Location: (289,316)(289,316) + PsiTypeQLElement(projection_attribute) - Location: (289,316)(289,316) + PsiTypeQLElement(label) - Location: (289,298)(289,298) + PsiTypeQLElement(type_native) - Location: (289,298)(289,298) + PsiElement('attribute')('attribute')(289,298) + PsiWhiteSpace(' ')(298,299) + PsiTypeQLElement(projection_key_as_label) - Location: (299,316)(299,316) + PsiElement('as')('as')(299,301) + PsiWhiteSpace(' ')(301,302) + PsiTypeQLElement(projection_key_label) - Location: (302,316)(302,316) + PsiTypeQLElement(label) - Location: (302,316)(302,316) + PsiElement(LABEL_)('all-attributes')(302,316) + PsiElement(';')(';')(316,317) + PsiWhiteSpace('\n ')(317,322) + PsiTypeQLElement(projection) - Location: (322,454)(322,454) + PsiTypeQLElement(projection_key_label) - Location: (322,334)(322,334) + PsiTypeQLElement(label) - Location: (322,334)(322,334) + PsiElement(LABEL_)('convert-size')(322,334) + PsiElement(':')(':')(334,335) + PsiWhiteSpace(' ')(335,336) + PsiElement('{')('{')(336,337) + PsiWhiteSpace('\n ')(337,346) + PsiTypeQLElement(projection_subquery) - Location: (346,453)(346,453) + PsiTypeQLElement(query_fetch) - Location: (346,453)(346,453) + PsiTypeQLElement(clause_match) - Location: (346,414)(346,414) + PsiElement('match')('match')(346,351) + PsiWhiteSpace('\n ')(351,360) + PsiTypeQLElement(patterns) - Location: (360,414)(360,414) + PsiTypeQLElement(pattern) - Location: (360,378)(360,378) + PsiTypeQLElement(statement) - Location: (360,378)(360,378) + PsiTypeQLElement(statement_thing_any) - Location: (360,378)(360,378) + PsiTypeQLElement(statement_thing) - Location: (360,378)(360,378) + PsiElement(VAR_CONCEPT_)('$o')(360,362) + PsiWhiteSpace(' ')(362,363) + PsiTypeQLElement(attributes) - Location: (363,378)(363,378) + PsiTypeQLElement(attribute) - Location: (363,378)(363,378) + PsiElement('has')('has')(363,366) + PsiWhiteSpace(' ')(366,367) + PsiTypeQLElement(label) - Location: (367,374)(367,374) + PsiElement(LABEL_)('size-kb')(367,374) + PsiWhiteSpace(' ')(374,375) + PsiElement(VAR_CONCEPT_)('$sk')(375,378) + PsiElement(';')(';')(378,379) + PsiWhiteSpace('\n ')(379,388) + PsiTypeQLElement(pattern) - Location: (388,413)(388,413) + PsiTypeQLElement(statement) - Location: (388,413)(388,413) + PsiTypeQLElement(statement_value) - Location: (388,413)(388,413) + PsiElement(VAR_VALUE_)('?sm')(388,391) + PsiWhiteSpace(' ')(391,392) + PsiElement('=')('=')(392,393) + PsiWhiteSpace(' ')(393,394) + PsiTypeQLElement(expression) - Location: (394,413)(394,413) + PsiTypeQLElement(expression_base) - Location: (394,413)(394,413) + PsiTypeQLElement(expression_function) - Location: (394,413)(394,413) + PsiTypeQLElement(expression_function_name) - Location: (394,399)(394,399) + PsiElement(EXPR_FUNC_NAME)('round')(394,399) + PsiElement('(')('(')(399,400) + PsiWhiteSpace(' ')(400,401) + PsiTypeQLElement(expression_arguments) - Location: (401,411)(401,411) + PsiTypeQLElement(expression) - Location: (401,411)(401,411) + PsiTypeQLElement(expression) - Location: (401,404)(401,404) + PsiTypeQLElement(expression_base) - Location: (401,404)(401,404) + PsiElement(VAR_CONCEPT_)('$sk')(401,404) + PsiWhiteSpace(' ')(404,405) + PsiElement('/')('/')(405,406) + PsiWhiteSpace(' ')(406,407) + PsiTypeQLElement(expression) - Location: (407,411)(407,411) + PsiTypeQLElement(expression_base) - Location: (407,411)(407,411) + PsiTypeQLElement(value) - Location: (407,411)(407,411) + PsiTypeQLElement(signed_long) - Location: (407,411)(407,411) + PsiElement(LONG_)('1024')(407,411) + PsiWhiteSpace(' ')(411,412) + PsiElement(')')(')')(412,413) + PsiElement(';')(';')(413,414) + PsiWhiteSpace('\n ')(414,423) + PsiTypeQLElement(clause_fetch) - Location: (423,452)(423,452) + PsiElement('fetch')('fetch')(423,428) + PsiWhiteSpace('\n ')(428,437) + PsiTypeQLElement(projections) - Location: (437,452)(437,452) + PsiTypeQLElement(projection) - Location: (437,451)(437,451) + PsiTypeQLElement(projection_key_var) - Location: (437,451)(437,451) + PsiElement(VAR_VALUE_)('?sm')(437,440) + PsiWhiteSpace(' ')(440,441) + PsiTypeQLElement(projection_key_as_label) - Location: (441,451)(441,451) + PsiElement('as')('as')(441,443) + PsiWhiteSpace(' ')(443,444) + PsiTypeQLElement(projection_key_label) - Location: (444,451)(444,451) + PsiTypeQLElement(label) - Location: (444,451)(444,451) + PsiElement(LABEL_)('size-mb')(444,451) + PsiElement(';')(';')(451,452) + PsiWhiteSpace(' ')(452,453) + PsiTypeQLElement(modifiers) - Location: (453,453)(453,453) + + PsiElement('}')('}')(453,454) + PsiElement(';')(';')(454,455) + PsiWhiteSpace(' ')(455,456) + PsiTypeQLElement(modifiers) - Location: (456,456)(456,456) + + PsiElement('}')('}')(456,457) + PsiElement(';')(';')(457,458) + PsiWhiteSpace('\n\n\n')(458,461) + PsiTypeQLElement(modifiers) - Location: (461,461)(461,461) + + PsiTypeQLElement(query) - Location: (461,516)(461,516) + PsiTypeQLElement(query_get_aggregate) - Location: (461,516)(461,516) + PsiTypeQLElement(query_get) - Location: (461,508)(461,508) + PsiTypeQLElement(clause_match) - Location: (461,495)(461,495) + PsiElement('match')('match')(461,466) + PsiWhiteSpace('\n')(466,467) + PsiTypeQLElement(patterns) - Location: (467,495)(467,495) + PsiTypeQLElement(pattern) - Location: (467,494)(467,494) + PsiTypeQLElement(statement) - Location: (467,494)(467,494) + PsiTypeQLElement(statement_thing_any) - Location: (467,494)(467,494) + PsiTypeQLElement(statement_thing) - Location: (467,494)(467,494) + PsiElement(VAR_CONCEPT_)('$f')(467,469) + PsiWhiteSpace(' ')(469,470) + PsiElement(ISA_)('isa')(470,473) + PsiWhiteSpace(' ')(473,474) + PsiTypeQLElement(type) - Location: (474,478)(474,478) + PsiTypeQLElement(label) - Location: (474,478)(474,478) + PsiElement(LABEL_)('file')(474,478) + PsiElement(',')(',')(478,479) + PsiWhiteSpace(' ')(479,480) + PsiTypeQLElement(attributes) - Location: (480,494)(480,494) + PsiTypeQLElement(attribute) - Location: (480,494)(480,494) + PsiElement('has')('has')(480,483) + PsiWhiteSpace(' ')(483,484) + PsiTypeQLElement(label) - Location: (484,491)(484,491) + PsiElement(LABEL_)('size-kb')(484,491) + PsiWhiteSpace(' ')(491,492) + PsiElement(VAR_CONCEPT_)('$s')(492,494) + PsiElement(';')(';')(494,495) + PsiWhiteSpace('\n')(495,496) + PsiTypeQLElement(clause_get) - Location: (496,507)(496,507) + PsiElement('get')('get')(496,499) + PsiWhiteSpace(' ')(499,500) + PsiElement(VAR_CONCEPT_)('$f')(500,502) + PsiElement(',')(',')(502,503) + PsiWhiteSpace(' ')(503,504) + PsiElement(VAR_CONCEPT_)('$s')(504,506) + PsiElement(';')(';')(506,507) + PsiWhiteSpace('\n')(507,508) + PsiTypeQLElement(modifiers) - Location: (508,508)(508,508) + + PsiTypeQLElement(clause_aggregate) - Location: (508,516)(508,516) + PsiTypeQLElement(aggregate_method) - Location: (508,512)(508,512) + PsiElement('mean')('mean')(508,512) + PsiWhiteSpace(' ')(512,513) + PsiElement(VAR_CONCEPT_)('$s')(513,515) + PsiElement(';')(';')(515,516) diff --git a/src/test/resources/parsing/incorrect_match/ParsingTestData.tql b/src/test/resources/parsing/incorrect_match/ParsingTestData.tql new file mode 100644 index 0000000..ab270a5 --- /dev/null +++ b/src/test/resources/parsing/incorrect_match/ParsingTestData.tql @@ -0,0 +1,3 @@ +match +p isa person, has name $n; # Not a variable +fetch n; \ No newline at end of file diff --git a/src/test/resources/parsing/incorrect_match/ParsingTestData.txt b/src/test/resources/parsing/incorrect_match/ParsingTestData.txt new file mode 100644 index 0000000..19633d6 --- /dev/null +++ b/src/test/resources/parsing/incorrect_match/ParsingTestData.txt @@ -0,0 +1,28 @@ +TypeQL file(0,58) + PsiTypeQLElement(eof_queries) - Location: (0,58)(0,58) + PsiTypeQLElement(query) - Location: (0,0)(0,0) + + PsiTypeQLElement(query) - Location: (0,58)(0,58) + PsiErrorElement:no viable alternative at input 'matchpisa' +(0,5) + PsiElement('match')('match')(0,5) + PsiWhiteSpace('\n')(5,6) + PsiElement(LABEL_)('p')(6,7) + PsiWhiteSpace(' ')(7,8) + PsiElement(ISA_)('isa')(8,11) + PsiWhiteSpace(' ')(11,12) + PsiElement(LABEL_)('person')(12,18) + PsiElement(',')(',')(18,19) + PsiWhiteSpace(' ')(19,20) + PsiElement('has')('has')(20,23) + PsiWhiteSpace(' ')(23,24) + PsiElement(LABEL_)('name')(24,28) + PsiWhiteSpace(' ')(28,29) + PsiElement(VAR_CONCEPT_)('$n')(29,31) + PsiElement(';')(';')(31,32) + PsiWhiteSpace(' ')(32,33) + PsiComment(COMMENT)('# Not a variable\n')(33,50) + PsiElement('fetch')('fetch')(50,55) + PsiWhiteSpace(' ')(55,56) + PsiElement(LABEL_)('n')(56,57) + PsiElement(';')(';')(57,58) diff --git a/src/test/resources/parsing/incorrect_no_define/ParsingTestData.tql b/src/test/resources/parsing/incorrect_no_define/ParsingTestData.tql new file mode 100644 index 0000000..13ddde9 --- /dev/null +++ b/src/test/resources/parsing/incorrect_no_define/ParsingTestData.tql @@ -0,0 +1,20 @@ +# no defines or matches, straight declarations +stix-entity sub entity, + abstract; + +stix-object sab stix-entity, + owns stix-type, + owns stix-id @notkey, + own custom-attribute, + + plays marking:granular-marking, + plays granular-marking:marking, + plays nothing, + plays something, + plays granular-marking:marking; + + +useless line without any meaning "but with a quoted string" # but with a comment +/define +stix-entity sub entity, + abstract; \ No newline at end of file diff --git a/src/test/resources/parsing/incorrect_no_define/ParsingTestData.txt b/src/test/resources/parsing/incorrect_no_define/ParsingTestData.txt new file mode 100644 index 0000000..e2aed9d --- /dev/null +++ b/src/test/resources/parsing/incorrect_no_define/ParsingTestData.txt @@ -0,0 +1,90 @@ +TypeQL file(0,464) + PsiComment(COMMENT)('# no defines or matches, straight declarations\n')(0,47) + PsiTypeQLElement(eof_queries) - Location: (47,464)(47,464) + PsiErrorElement:mismatched input 'stix-entity' expecting {'match', 'define', 'undefine', 'insert'} +(47,58) + PsiElement(LABEL_)('stix-entity')(47,58) + PsiWhiteSpace(' ')(58,59) + PsiElement(SUB_)('sub')(59,62) + PsiWhiteSpace(' ')(62,63) + PsiElement('entity')('entity')(63,69) + PsiElement(',')(',')(69,70) + PsiWhiteSpace('\n ')(70,75) + PsiElement('abstract')('abstract')(75,83) + PsiElement(';')(';')(83,84) + PsiWhiteSpace('\n\n')(84,86) + PsiElement(LABEL_)('stix-object')(86,97) + PsiWhiteSpace(' ')(97,98) + PsiElement(LABEL_)('sab')(98,101) + PsiWhiteSpace(' ')(101,102) + PsiElement(LABEL_)('stix-entity')(102,113) + PsiElement(',')(',')(113,114) + PsiWhiteSpace('\n ')(114,119) + PsiElement('owns')('owns')(119,123) + PsiWhiteSpace(' ')(123,124) + PsiElement(LABEL_)('stix-type')(124,133) + PsiElement(',')(',')(133,134) + PsiWhiteSpace('\n ')(134,139) + PsiElement('owns')('owns')(139,143) + PsiWhiteSpace(' ')(143,144) + PsiElement(LABEL_)('stix-id')(144,151) + PsiWhiteSpace(' ')(151,152) + PsiElement(UNRECOGNISED)('@')(152,153) + PsiElement(LABEL_)('notkey')(153,159) + PsiElement(',')(',')(159,160) + PsiWhiteSpace('\n ')(160,165) + PsiElement(LABEL_)('own')(165,168) + PsiWhiteSpace(' ')(168,169) + PsiElement(LABEL_)('custom-attribute')(169,185) + PsiElement(',')(',')(185,186) + PsiWhiteSpace('\n\n ')(186,192) + PsiElement('plays')('plays')(192,197) + PsiWhiteSpace(' ')(197,198) + PsiElement(LABEL_SCOPED_)('marking:granular-marking')(198,222) + PsiElement(',')(',')(222,223) + PsiWhiteSpace('\n ')(223,228) + PsiElement('plays')('plays')(228,233) + PsiWhiteSpace(' ')(233,234) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(234,258) + PsiElement(',')(',')(258,259) + PsiWhiteSpace('\n ')(259,264) + PsiElement('plays')('plays')(264,269) + PsiWhiteSpace(' ')(269,270) + PsiElement(LABEL_)('nothing')(270,277) + PsiElement(',')(',')(277,278) + PsiWhiteSpace('\n ')(278,283) + PsiElement('plays')('plays')(283,288) + PsiWhiteSpace(' ')(288,289) + PsiElement(LABEL_)('something')(289,298) + PsiElement(',')(',')(298,299) + PsiWhiteSpace('\n ')(299,304) + PsiElement('plays')('plays')(304,309) + PsiWhiteSpace(' ')(309,310) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(310,334) + PsiElement(';')(';')(334,335) + PsiWhiteSpace('\n\n\n')(335,338) + PsiElement(LABEL_)('useless')(338,345) + PsiWhiteSpace(' ')(345,346) + PsiElement(LABEL_)('line')(346,350) + PsiWhiteSpace(' ')(350,351) + PsiElement(LABEL_)('without')(351,358) + PsiWhiteSpace(' ')(358,359) + PsiElement(LABEL_)('any')(359,362) + PsiWhiteSpace(' ')(362,363) + PsiElement(LABEL_)('meaning')(363,370) + PsiWhiteSpace(' ')(370,371) + PsiElement(QUOTED_STRING)('"but with a quoted string"')(371,397) + PsiWhiteSpace(' ')(397,398) + PsiComment(COMMENT)('# but with a comment\n')(398,419) + PsiElement('/')('/')(419,420) + PsiElement('define')('define')(420,426) + PsiWhiteSpace('\n')(426,427) + PsiElement(LABEL_)('stix-entity')(427,438) + PsiWhiteSpace(' ')(438,439) + PsiElement(SUB_)('sub')(439,442) + PsiWhiteSpace(' ')(442,443) + PsiElement('entity')('entity')(443,449) + PsiElement(',')(',')(449,450) + PsiWhiteSpace('\n ')(450,455) + PsiElement('abstract')('abstract')(455,463) + PsiElement(';')(';')(463,464) diff --git a/src/test/resources/parsing/incorrect_with_define/ParsingTestData.tql b/src/test/resources/parsing/incorrect_with_define/ParsingTestData.tql new file mode 100644 index 0000000..c9e8809 --- /dev/null +++ b/src/test/resources/parsing/incorrect_with_define/ParsingTestData.tql @@ -0,0 +1,20 @@ +define +stix-entity sub entity, + abstract; + +stix-object sab stix-entity, + owns stix-type, + owns stix-id @notkey, + own custom-attribute, + + plays marking:granular-marking, + plays granular-marking:marking, + plays nothing, + plays something, + plays granular-marking:marking; + + +useless line without any meaning "but with a quoted string" # but with a comment +/define +stix-entity sub entity, + abstract; \ No newline at end of file diff --git a/src/test/resources/parsing/incorrect_with_define/ParsingTestData.txt b/src/test/resources/parsing/incorrect_with_define/ParsingTestData.txt new file mode 100644 index 0000000..f7e3a03 --- /dev/null +++ b/src/test/resources/parsing/incorrect_with_define/ParsingTestData.txt @@ -0,0 +1,139 @@ +TypeQL file(0,424) + PsiTypeQLElement(eof_queries) - Location: (0,424)(0,424) + PsiTypeQLElement(query) - Location: (0,380)(0,380) + PsiTypeQLElement(query_define) - Location: (0,380)(0,380) + PsiTypeQLElement(clause_define) - Location: (0,380)(0,380) + PsiElement('define')('define')(0,6) + PsiWhiteSpace('\n')(6,7) + PsiTypeQLElement(definables) - Location: (7,380)(7,380) + PsiTypeQLElement(definable) - Location: (7,43)(7,43) + PsiTypeQLStatementType(statement_type) - Location: (7,43)(7,43) + PsiTypeQLElement(type_any) - Location: (7,18)(7,18) + PsiTypeQLType(type) - Name: stix-entity - Location: (7,18)(7,18) + PsiTypeQLElement(label) - Location: (7,18)(7,18) + PsiElement(LABEL_)('stix-entity')(7,18) + PsiWhiteSpace(' ')(18,19) + PsiTypeQLElement(type_constraint) - Location: (19,29)(19,29) + PsiElement(SUB_)('sub')(19,22) + PsiWhiteSpace(' ')(22,23) + PsiTypeQLElement(type_any) - Location: (23,29)(23,29) + PsiTypeQLElement(type) - Location: (23,29)(23,29) + PsiTypeQLElement(label) - Location: (23,29)(23,29) + PsiTypeQLElement(type_native) - Location: (23,29)(23,29) + PsiElement('entity')('entity')(23,29) + PsiElement(',')(',')(29,30) + PsiWhiteSpace('\n ')(30,35) + PsiTypeQLElement(type_constraint) - Location: (35,43)(35,43) + PsiElement('abstract')('abstract')(35,43) + PsiElement(';')(';')(43,44) + PsiWhiteSpace('\n\n')(44,46) + PsiTypeQLElement(definable) - Location: (46,112)(46,112) + PsiTypeQLStatementType(statement_type) - Location: (46,112)(46,112) + PsiTypeQLElement(type_any) - Location: (46,57)(46,57) + PsiTypeQLElement(type) - Location: (46,57)(46,57) + PsiTypeQLElement(label) - Location: (46,57)(46,57) + PsiElement(LABEL_)('stix-object')(46,57) + PsiWhiteSpace(' ')(57,58) + PsiTypeQLElement(type_constraint) - Location: (58,73)(58,73) + PsiErrorElement:mismatched input 'sab' expecting {'type', 'abstract', SUB_, 'owns', 'regex', 'plays', 'relates', 'value'} +(58,61) + PsiElement(LABEL_)('sab')(58,61) + PsiWhiteSpace(' ')(61,62) + PsiElement(LABEL_)('stix-entity')(62,73) + PsiElement(',')(',')(73,74) + PsiWhiteSpace('\n ')(74,79) + PsiTypeQLOwnsType(type_constraint) - Location: (79,93)(79,93) + PsiElement('owns')('owns')(79,83) + PsiWhiteSpace(' ')(83,84) + PsiTypeQLElement(type) - Location: (84,93)(84,93) + PsiTypeQLElement(label) - Location: (84,93)(84,93) + PsiElement(LABEL_)('stix-type')(84,93) + PsiTypeQLElement(annotations_owns) - Location: (93,93)(93,93) + + PsiElement(',')(',')(93,94) + PsiWhiteSpace('\n ')(94,99) + PsiTypeQLOwnsType(type_constraint) - Location: (99,112)(99,112) + PsiElement('owns')('owns')(99,103) + PsiWhiteSpace(' ')(103,104) + PsiTypeQLElement(type) - Location: (104,111)(104,111) + PsiTypeQLElement(label) - Location: (104,111)(104,111) + PsiElement(LABEL_)('stix-id')(104,111) + PsiWhiteSpace(' ')(111,112) + PsiTypeQLElement(annotations_owns) - Location: (112,112)(112,112) + + PsiErrorElement:mismatched input '@' expecting {',', ';', 'as', '@key', '@unique'} +(112,113) + PsiElement(UNRECOGNISED)('@')(112,113) + PsiElement(LABEL_)('notkey')(113,119) + PsiElement(',')(',')(119,120) + PsiWhiteSpace('\n ')(120,125) + PsiElement(LABEL_)('own')(125,128) + PsiWhiteSpace(' ')(128,129) + PsiElement(LABEL_)('custom-attribute')(129,145) + PsiElement(',')(',')(145,146) + PsiWhiteSpace('\n\n ')(146,152) + PsiElement('plays')('plays')(152,157) + PsiWhiteSpace(' ')(157,158) + PsiElement(LABEL_SCOPED_)('marking:granular-marking')(158,182) + PsiElement(',')(',')(182,183) + PsiWhiteSpace('\n ')(183,188) + PsiElement('plays')('plays')(188,193) + PsiWhiteSpace(' ')(193,194) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(194,218) + PsiElement(',')(',')(218,219) + PsiWhiteSpace('\n ')(219,224) + PsiElement('plays')('plays')(224,229) + PsiWhiteSpace(' ')(229,230) + PsiElement(LABEL_)('nothing')(230,237) + PsiElement(',')(',')(237,238) + PsiWhiteSpace('\n ')(238,243) + PsiElement('plays')('plays')(243,248) + PsiWhiteSpace(' ')(248,249) + PsiElement(LABEL_)('something')(249,258) + PsiElement(',')(',')(258,259) + PsiWhiteSpace('\n ')(259,264) + PsiElement('plays')('plays')(264,269) + PsiWhiteSpace(' ')(269,270) + PsiElement(LABEL_SCOPED_)('granular-marking:marking')(270,294) + PsiElement(';')(';')(294,295) + PsiWhiteSpace('\n\n\n')(295,298) + PsiElement(LABEL_)('useless')(298,305) + PsiWhiteSpace(' ')(305,306) + PsiElement(LABEL_)('line')(306,310) + PsiWhiteSpace(' ')(310,311) + PsiElement(LABEL_)('without')(311,318) + PsiWhiteSpace(' ')(318,319) + PsiElement(LABEL_)('any')(319,322) + PsiWhiteSpace(' ')(322,323) + PsiElement(LABEL_)('meaning')(323,330) + PsiWhiteSpace(' ')(330,331) + PsiElement(QUOTED_STRING)('"but with a quoted string"')(331,357) + PsiWhiteSpace(' ')(357,358) + PsiComment(COMMENT)('# but with a comment\n')(358,379) + PsiElement('/')('/')(379,380) + PsiTypeQLElement(query) - Location: (380,424)(380,424) + PsiTypeQLElement(query_define) - Location: (380,424)(380,424) + PsiTypeQLElement(clause_define) - Location: (380,424)(380,424) + PsiElement('define')('define')(380,386) + PsiWhiteSpace('\n')(386,387) + PsiTypeQLElement(definables) - Location: (387,424)(387,424) + PsiTypeQLElement(definable) - Location: (387,423)(387,423) + PsiTypeQLStatementType(statement_type) - Location: (387,423)(387,423) + PsiTypeQLElement(type_any) - Location: (387,398)(387,398) + PsiTypeQLType(type) - Name: stix-entity - Location: (387,398)(387,398) + PsiTypeQLElement(label) - Location: (387,398)(387,398) + PsiElement(LABEL_)('stix-entity')(387,398) + PsiWhiteSpace(' ')(398,399) + PsiTypeQLElement(type_constraint) - Location: (399,409)(399,409) + PsiElement(SUB_)('sub')(399,402) + PsiWhiteSpace(' ')(402,403) + PsiTypeQLElement(type_any) - Location: (403,409)(403,409) + PsiTypeQLElement(type) - Location: (403,409)(403,409) + PsiTypeQLElement(label) - Location: (403,409)(403,409) + PsiTypeQLElement(type_native) - Location: (403,409)(403,409) + PsiElement('entity')('entity')(403,409) + PsiElement(',')(',')(409,410) + PsiWhiteSpace('\n ')(410,415) + PsiTypeQLElement(type_constraint) - Location: (415,423)(415,423) + PsiElement('abstract')('abstract')(415,423) + PsiElement(';')(';')(423,424)