https://git.drupal.org/project/ldap.git

Review of the 8.x-3.x branch (commit 97163b3):

  • Coder Sniffer has found some issues with your code (please check the Drupal coding standards). See attachment.
  • DrupalPractice has found some issues with your code, but could be false positives.

    FILE: ...repos/pareviewsh/pareview_temp/ldap_query/src/Form/QueryTestForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 3 WARNINGS AFFECTING 3 LINES
    --------------------------------------------------------------------------
    40 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    54 | WARNING | Unused variable $i.
    56 | WARNING | Unused variable $j.
    --------------------------------------------------------------------------

    FILE: ...pos/pareviewsh/pareview_temp/ldap_query/src/Form/QueryEntityForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    41 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    --------------------------------------------------------------------------

    FILE: ...viewsh/pareview_temp/ldap_query/src/Plugin/views/query/LdapQuery.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
    --------------------------------------------------------------------------
    243 | WARNING | Unused variable $group.
    246 | WARNING | Unused variable $key.
    --------------------------------------------------------------------------

    FILE: ...emp/ldap_query/src/Plugin/views/field/LdapVariableImageAttribute.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    22 | WARNING | Unused variable $output.
    --------------------------------------------------------------------------

    FILE: /root/repos/pareviewsh/pareview_temp/ldap_query/ldap_query.info.yml
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    8 | WARNING | All dependencies must be prefixed with the project name,
    | | for example "drupal:"
    --------------------------------------------------------------------------

    FILE: ...review_temp/ldap_authentication/src/Routing/EmailTemplateService.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    25 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    --------------------------------------------------------------------------

    FILE: ...ldap_authentication/src/Form/LdapAuthenticationProfileUpdateForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 10 WARNINGS AFFECTING 10 LINES
    --------------------------------------------------------------------------
    34 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    38 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    43 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    54 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    58 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    60 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    63 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    71 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    72 | WARNING | User::load calls should be avoided in classes, use
    | | dependency injection instead
    75 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    --------------------------------------------------------------------------

    FILE: ...ew_temp/ldap_authentication/src/Form/LdapAuthenticationAdminForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 3 LINES
    --------------------------------------------------------------------------
    35 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    48 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    48 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    172 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    --------------------------------------------------------------------------

    FILE: ...areview_temp/ldap_authentication/src/Controller/LdapHelpRedirect.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    22 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    --------------------------------------------------------------------------

    FILE: .../pareview_temp/ldap_authentication/src/Controller/LoginValidator.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 5 WARNINGS AFFECTING 5 LINES
    --------------------------------------------------------------------------
    396 | WARNING | Unused variable $ldap_server.
    461 | WARNING | There must be no blank line following an inline comment
    623 | WARNING | Unused variable $notifications_i.
    641 | WARNING | Variable $name is undefined.
    644 | WARNING | Variable $name is undefined.
    --------------------------------------------------------------------------

    FILE: ...os/pareviewsh/pareview_temp/ldap_help/src/Form/LdapDebugSettings.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 3 WARNINGS AFFECTING 3 LINES
    --------------------------------------------------------------------------
    35 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    36 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    37 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    --------------------------------------------------------------------------

    FILE: .../pareviewsh/pareview_temp/ldap_help/src/Form/DebuggingReviewForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 10 WARNINGS AFFECTING 10 LINES
    --------------------------------------------------------------------------
    35 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    45 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    64 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    72 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    77 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    85 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    93 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    109 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    110 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    124 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    --------------------------------------------------------------------------

    FILE: .../pareview_temp/ldap_user/tests/src/Unit/DrupalUserProcessorTests.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 5 WARNINGS AFFECTING 5 LINES
    --------------------------------------------------------------------------
    80 | WARNING | There must be no blank line following an inline comment
    89 | WARNING | There must be no blank line following an inline comment
    91 | WARNING | There must be no blank line following an inline comment
    93 | WARNING | There must be no blank line following an inline comment
    95 | WARNING | There must be no blank line following an inline comment
    --------------------------------------------------------------------------

    FILE: /root/repos/pareviewsh/pareview_temp/ldap_user/ldap_user.info.yml
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    8 | WARNING | All dependencies must be prefixed with the project name,
    | | for example "drupal:"
    --------------------------------------------------------------------------

    FILE: .../pareviewsh/pareview_temp/ldap_user/src/Helper/SyncMappingHelper.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    109 | WARNING | Unused variable $attribute.
    --------------------------------------------------------------------------

    FILE: ...viewsh/pareview_temp/ldap_user/src/Processor/DrupalUserProcessor.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 4 LINES
    --------------------------------------------------------------------------
    265 | WARNING | Unused variable $value_instance.
    495 | WARNING | Unused variable $i.
    883 | WARNING | Unused variable $target_token.
    932 | WARNING | Unused variable $tokens.
    --------------------------------------------------------------------------

    FILE: ...reviewsh/pareview_temp/ldap_user/src/Processor/LdapUserProcessor.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 4 LINES
    --------------------------------------------------------------------------
    74 | WARNING | Unused variable $existing_ldap_entry.
    189 | WARNING | Unused variable $conversion.
    359 | WARNING | Unused variable $i.
    434 | WARNING | Unused variable $i.
    --------------------------------------------------------------------------

    FILE: ...pos/pareviewsh/pareview_temp/ldap_user/src/Form/LdapUserTestForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 5 WARNINGS AFFECTING 5 LINES
    --------------------------------------------------------------------------
    38 | WARNING | Unused variable $syncTriggerOptions.
    104 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    108 | WARNING | Unused variable $test_servers.
    110 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    163 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    --------------------------------------------------------------------------

    FILE: ...os/pareviewsh/pareview_temp/ldap_user/src/Form/LdapUserAdminForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 9 WARNINGS AFFECTING 9 LINES
    --------------------------------------------------------------------------
    33 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    69 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    177 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    563 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    618 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    661 | WARNING | Unused variable $col_id.
    776 | WARNING | Unused variable $target_attr_token.
    1077 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    1078 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    --------------------------------------------------------------------------

    FILE: /root/repos/pareviewsh/pareview_temp/ldap_user/ldap_user.install
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    82 | WARNING | Messages are user facing text and must run through t()
    | | for translation
    --------------------------------------------------------------------------

    FILE: ...root/repos/pareviewsh/pareview_temp/ldap_servers/ldap_servers.module
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    50 | WARNING | Unused variable $cache.
    --------------------------------------------------------------------------

    FILE: ...pareviewsh/pareview_temp/ldap_servers/tests/src/Unit/ServerTests.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 3 WARNINGS AFFECTING 3 LINES
    --------------------------------------------------------------------------
    39 | WARNING | Unused bound variable $validResult.
    252 | WARNING | Unused variable $nested_display.
    254 | WARNING | Unused variable $ldap_module_user_entry.
    --------------------------------------------------------------------------

    FILE: ...ot/repos/pareviewsh/pareview_temp/ldap_servers/src/ServerFactory.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 14 WARNINGS AFFECTING 14 LINES
    --------------------------------------------------------------------------
    62 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    74 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    93 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    101 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    111 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    155 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    179 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    270 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    288 | WARNING | Unused variable $i.
    296 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    299 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    309 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    324 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    343 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    --------------------------------------------------------------------------

    FILE: ...reviewsh/pareview_temp/ldap_servers/src/Processor/TokenProcessor.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    167 | WARNING | Unused variable $source_data_type.
    --------------------------------------------------------------------------

    FILE: ...os/pareviewsh/pareview_temp/ldap_servers/src/Form/ServerTestForm.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 29 WARNINGS AFFECTING 25 LINES
    --------------------------------------------------------------------------
    46 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    61 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    147 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    164 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    322 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    330 | WARNING | Unused variable $group_results.
    338 | WARNING | Unused variable $count.
    344 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    363 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    383 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    390 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    411 | WARNING | drupal_render() calls should be avoided in classes, use
    | | dependency injection and the "renderer" service instead
    470 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    480 | WARNING | \Drupal calls should be avoided in classes, use
    | | dependency injection instead
    613 | WARNING | Variable $current_group_entries is undefined.
    613 | WARNING | Variable $all_group_dns is undefined.
    613 | WARNING | Variable $tested_group_ids is undefined.
    613 | WARNING | Variable $max_levels is undefined.
    613 | WARNING | Variable $object_classes is undefined.
    615 | WARNING | Variable $all_group_dns is undefined.
    635 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    769 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    779 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    785 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    791 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    807 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    818 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    824 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    830 | WARNING | t() calls should be avoided in classes, use dependency
    | | injection and $this->t() instead
    --------------------------------------------------------------------------

    FILE: .../repos/pareviewsh/pareview_temp/ldap_servers/src/OrphanProcessor.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 4 LINES
    --------------------------------------------------------------------------
    177 | WARNING | Unused variable $i.
    247 | WARNING | Unused variable $serverId.
    248 | WARNING | Unused variable $attribute.
    249 | WARNING | Unused variable $persistentUid.
    --------------------------------------------------------------------------

    FILE: ...ot/repos/pareviewsh/pareview_temp/ldap_servers/src/Entity/Server.php
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 4 LINES
    --------------------------------------------------------------------------
    710 | WARNING | Unused variable $paged_entries.
    765 | WARNING | Unused variable $discarded_entries.
    1178 | WARNING | Unused variable $i.
    1203 | WARNING | Unused variable $key.
    --------------------------------------------------------------------------

    FILE: ...eviewsh/pareview_temp/ldap_authorization/ldap_authorization.info.yml
    --------------------------------------------------------------------------
    FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
    --------------------------------------------------------------------------
    9 | WARNING | All dependencies must be prefixed with the project name,
    | | for example "drupal:"
    --------------------------------------------------------------------------

    Time: 1.21 secs; Memory: 30Mb

  • Codespell has found some spelling errors in your code.

    ./ldap_authentication/src/Controller/LoginValidator.php:502: ommitted ==> omitted
    ./docs/hogwarts/hogwarts.people.ldif:457: teH ==> the

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.

FILE: ...eviewsh/pareview_temp/ldap_authentication/ldap_authentication.module
--------------------------------------------------------------------------
FOUND 0 ERRORS AND 2 WARNINGS AFFECTING 2 LINES
--------------------------------------------------------------------------
109 | WARNING | Only string literals should be passed to t() where
| | possible
158 | WARNING | Only string literals should be passed to t() where
| | possible
--------------------------------------------------------------------------

FILE: ...pos/pareviewsh/pareview_temp/ldap_user/src/Form/LdapUserTestForm.php
--------------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
--------------------------------------------------------------------------
160 | WARNING | The use of function dpm() is discouraged
--------------------------------------------------------------------------

FILE: ...h/pareview_temp/docs/legacy_reference/test_data.activedirectory1.php
--------------------------------------------------------------------------
FOUND 4 ERRORS AFFECTING 3 LINES
--------------------------------------------------------------------------
3 | ERROR | [ ] Missing short description in doc comment
7 | ERROR | [x] Space found before square bracket; expected "<?php
| | [" but found "<?php
| |
| | /**
| | * @file
| | */
| |
| | ["
7 | ERROR | [x] Space found after square bracket; expected
| | "['properties'" but found "[
| | 'properties'"
4928 | ERROR | [x] Space found before square bracket; expected ",]" but
| | found ",
| | ]"
--------------------------------------------------------------------------
PHPCBF CAN FIX THE 3 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------

FILE: ...pareview_temp/docs/legacy_reference/hogwarts_x_openldap1.entries.php
--------------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
--------------------------------------------------------------------------
6 | ERROR | Doc comment short description must be on a single line,
| | further text should be a separate paragraph
--------------------------------------------------------------------------

FILE: ...reviewsh/pareview_temp/docs/legacy_reference/test_data.openldap1.php
--------------------------------------------------------------------------
FOUND 4 ERRORS AFFECTING 3 LINES
--------------------------------------------------------------------------
3 | ERROR | [ ] Missing short description in doc comment
7 | ERROR | [x] Space found before square bracket; expected "<?php
| | [" but found "<?php
| |
| | /**
| | * @file
| | */
| |
| | ["
7 | ERROR | [x] Space found after square bracket; expected
| | "['properties'" but found "[
| | 'properties'"
3307 | ERROR | [x] Space found before square bracket; expected ",]" but
| | found ",
| | ]"
--------------------------------------------------------------------------
PHPCBF CAN FIX THE 3 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------

FILE: /root/repos/pareviewsh/pareview_temp/INSTALL.md
----------------------------------------------------------------------
FOUND 0 ERRORS AND 6 WARNINGS AFFECTING 6 LINES
----------------------------------------------------------------------
13 | WARNING | Line exceeds 80 characters; contains 119 characters
55 | WARNING | Line exceeds 80 characters; contains 112 characters
56 | WARNING | Line exceeds 80 characters; contains 120 characters
57 | WARNING | Line exceeds 80 characters; contains 116 characters
58 | WARNING | Line exceeds 80 characters; contains 120 characters
59 | WARNING | Line exceeds 80 characters; contains 84 characters
----------------------------------------------------------------------

FILE: /root/repos/pareviewsh/pareview_temp/README.md
----------------------------------------------------------------------
FOUND 0 ERRORS AND 15 WARNINGS AFFECTING 15 LINES
----------------------------------------------------------------------
18 | WARNING | Line exceeds 80 characters; contains 169 characters
19 | WARNING | Line exceeds 80 characters; contains 123 characters
21 | WARNING | Line exceeds 80 characters; contains 105 characters
22 | WARNING | Line exceeds 80 characters; contains 124 characters
24 | WARNING | Line exceeds 80 characters; contains 159 characters
25 | WARNING | Line exceeds 80 characters; contains 104 characters
27 | WARNING | Line exceeds 80 characters; contains 114 characters
41 | WARNING | Line exceeds 80 characters; contains 152 characters
43 | WARNING | Line exceeds 80 characters; contains 99 characters
44 | WARNING | Line exceeds 80 characters; contains 132 characters
45 | WARNING | Line exceeds 80 characters; contains 106 characters
46 | WARNING | Line exceeds 80 characters; contains 97 characters
50 | WARNING | Line exceeds 80 characters; contains 113 characters
51 | WARNING | Line exceeds 80 characters; contains 91 characters
53 | WARNING | Line exceeds 80 characters; contains 112 characters
----------------------------------------------------------------------

FILE: /root/repos/pareviewsh/pareview_temp/README.developers.md
----------------------------------------------------------------------
FOUND 0 ERRORS AND 1 WARNING AFFECTING 1 LINE
----------------------------------------------------------------------
78 | WARNING | Line exceeds 80 characters; contains 81 characters
----------------------------------------------------------------------

FILE: ...pareviewsh/pareview_temp/ldap_servers/tests/src/Unit/ServerTests.php
--------------------------------------------------------------------------
FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 4 LINES
--------------------------------------------------------------------------
250 | WARNING | Line exceeds 80 characters; contains 81 characters
260 | WARNING | Line exceeds 80 characters; contains 93 characters
271 | WARNING | Line exceeds 80 characters; contains 101 characters
277 | WARNING | Line exceeds 80 characters; contains 98 characters
--------------------------------------------------------------------------

Time: 2.04 secs; Memory: 34Mb