From f62856b5305ce3b85592d16c6316527ac7918d7d Mon Sep 17 00:00:00 2001 From: Netkas Date: Thu, 21 Sep 2023 17:24:12 -0400 Subject: [PATCH] - Cleaned up imports - Various bug fixes and improved performance on package reading/writing - Corrected CHANGELOG.md - Updated dependency `Symfony/polyfill-mbstring` to 1.28.0 - Updated dependency `Symfony/polyfill-uuid` to 1.28.0 - Updated dependency `Symfony/Process` to 6.3.4 - Updated dependency `Symfony/Uid` to 6.3.0 - Updated dependency `Symfony/Yaml` to 6.3.3 - Added support for Gitea repositories - Added support for Packagist repositories - Added a new default Gitea repository nocturn9x at git.nocturn9x.space - Added a new default Gitea repository martinvlba at git.martinvlba.eu - Added a new default Gitea repository kuny at git.it-kuny.ch - Added dependency composer/semver version 3.4.0 for composer version comparison compatibility - Added a new class \ncc\Classes\ArchiveExtractor to extract multiple archive types - Refactored \ncc\Objects\RemoteRepository - Refactored the repository system - Refactored Github's repository interface - Refactored Gitlab's repository interface - Refactored SourcesMenu in the CLI to use the new repository system - Updated dependency nikic/php-parser to version 4.17.1 - Added a simple security measure in \ncc\Objects\Value\Entry to delay returns randomly when the password is incorrect - Refactored the CLI menu system to use a return exit code system - Updated the installer to remove unused components and installation steps - Updated dependency Symfony/Filesystem to 6.3.1 - Updated dependency Symfony/polyfill-ctype to 1.28.0 - Enforced credential storage security by applying 600 permissions to the storage file so that only the owner can read/write to the file; this will require root access to perform any operations on the credential file. A password will still be needed to decrypt entries in the file if any entries are encrypted. - Removed \ncc\Classes\NccExtension\Runner in favor of the new Execution Unit system - Removed \ncc\Managers\ExecutionPointerManager in favor of the new Execution Unit system --- .gitignore | 7 +- .idea/scopes/Symfony_polyfill_ctype.xml | 2 +- .idea/scopes/Symfony_polyfill_mbstring.xml | 2 +- .idea/scopes/Symfony_polyfill_uuid.xml | 2 +- CHANGELOG.md | 33 +- Makefile | 11 +- src/autoload/autoload.php | 13 +- src/config/default_repositories.json | 50 + src/config/ncc.yaml | 73 +- .../custom_repositories.json | 6 - src/default_repositories/gitgud.json | 6 - src/default_repositories/github.json | 6 - src/default_repositories/gitlab.json | 6 - src/default_repositories/n64.json | 6 - src/installer/extension | 4 +- src/installer/generate_build_files.php | 24 +- src/installer/installer | 640 +- src/ncc/CLI/Commands/BuildCommand.php | 39 +- src/ncc/CLI/Commands/ExecCommand.php | 23 +- src/ncc/CLI/HelpMenu.php | 10 +- src/ncc/CLI/Main.php | 268 +- src/ncc/CLI/Management/ConfigMenu.php | 38 +- src/ncc/CLI/Management/CredentialMenu.php | 178 +- src/ncc/CLI/Management/PackageManagerMenu.php | 897 +- src/ncc/CLI/Management/ProjectMenu.php | 46 +- src/ncc/CLI/Management/RepositoryMenu.php | 297 + src/ncc/CLI/Management/SourcesMenu.php | 240 - src/ncc/Classes/ArchiveExtractor.php | 125 + src/ncc/Classes/BashExtension/BashRunner.php | 4 - .../ComposerSourceBuiltin.php | 818 - .../Classes/ComposerExtension/composer.jtpl | 5 - src/ncc/Classes/ExecutionUnitRunner.php | 2 +- src/ncc/Classes/GitClient.php | 163 - .../GiteaExtension/GiteaRepository.php | 451 + .../GithubExtension/GithubRepository.php | 452 + .../Classes/GithubExtension/GithubService.php | 281 - .../GitlabExtension/GitlabRepository.php | 471 + .../Classes/GitlabExtension/GitlabService.php | 251 - src/ncc/Classes/HttpClient.php | 241 - src/ncc/Classes/LuaExtension/LuaRunner.php | 24 +- .../Classes/NccExtension/ConstantCompiler.php | 1 - src/ncc/Classes/NccExtension/NccCompiler.php | 18 +- src/ncc/Classes/NccExtension/Runner.php | 62 - src/ncc/Classes/PackageReader.php | 186 +- src/ncc/Classes/PackageWriter.php | 24 +- .../PackagistRepository.php | 240 + src/ncc/Classes/PerlExtension/PerlRunner.php | 4 - .../PhpExtension/ExecutableCompiler.php | 15 +- src/ncc/Classes/PhpExtension/NccCompiler.php | 6 +- src/ncc/Classes/PhpExtension/PhpRunner.php | 1 - src/ncc/Classes/Runtime.php | 39 +- src/ncc/Classes/ShutdownHandler.php | 110 + src/ncc/Enums/AuthenticationType.php | 36 - src/ncc/Enums/BuiltinRemoteSourceType.php | 37 - .../CompilerExtensionDefaultVersions.php | 40 +- .../CompilerExtensionSupportedVersions.php | 42 +- src/ncc/Enums/CompilerExtensions.php | 40 +- src/ncc/Enums/ComponentDataType.php | 46 - src/ncc/Enums/ComponentFileExtensions.php | 40 +- src/ncc/Enums/ComposerPackageTypes.php | 55 - src/ncc/Enums/ComposerStabilityTypes.php | 36 - src/ncc/Enums/ConsoleColors.php | 40 +- src/ncc/Enums/ConstantReferences.php | 42 +- src/ncc/Enums/DefinedRemoteSourceType.php | 53 - src/ncc/Enums/DependencySourceType.php | 49 - src/ncc/Enums/EncoderType.php | 28 - src/ncc/Enums/FileDescriptor.php | 4 + src/ncc/Enums/Flags/NccBuildFlags.php | 32 + src/ncc/Enums/HttpRequestType.php | 31 - src/ncc/Enums/HttpStatusCodes.php | 42 +- src/ncc/Enums/LogLevel.php | 42 +- src/ncc/Enums/NccBuildFlags.php | 32 - .../Options/BuildConfigurationOptions.php | 4 + .../Options/BuildConfigurationValues.php | 40 +- .../Options/InitializeProjectOptions.php | 50 +- .../Enums/Options/InstallPackageOptions.php | 40 +- .../Enums/Options/RuntimeImportOptions.php | 40 +- src/ncc/Enums/PackageStandardVersions.php | 42 +- src/ncc/Enums/ProjectType.php | 32 - src/ncc/Enums/RegexPatterns.php | 44 +- src/ncc/Enums/RemoteSourceType.php | 56 - src/ncc/Enums/Runners.php | 42 +- src/ncc/Enums/Scopes.php | 44 +- .../SpecialConstants/AssemblyConstants.php | 40 +- .../Enums/SpecialConstants/BuildConstants.php | 40 +- .../SpecialConstants/DateTimeConstants.php | 40 +- .../SpecialConstants/InstallConstants.php | 42 +- .../SpecialConstants/RuntimeConstants.php | 40 +- src/ncc/Enums/Types/AuthenticationType.php | 36 + src/ncc/Enums/{ => Types}/BuildOutputType.php | 2 +- .../Enums/Types/BuiltinRemoteSourceType.php | 19 +- src/ncc/Enums/Types/ComponentDataType.php | 46 + src/ncc/Enums/Types/ComposerPackageTypes.php | 55 + .../Enums/Types/ComposerStabilityTypes.php | 36 + src/ncc/Enums/Types/DependencySourceType.php | 49 + src/ncc/Enums/Types/EncoderType.php | 28 + src/ncc/Enums/Types/HttpRequestType.php | 31 + src/ncc/Enums/Types/ProjectType.php | 35 + src/ncc/Enums/Types/RemoteSourceType.php | 56 + src/ncc/Enums/Types/RepositoryResultType.php | 30 + src/ncc/Enums/Types/RepositoryType.php | 41 + src/ncc/Extensions/ZiProto/ZiProto.php | 2 +- ...erface.php => AuthenticationInterface.php} | 2 +- src/ncc/Interfaces/CompilerInterface.php | 5 - src/ncc/Interfaces/RepositoryInterface.php | 63 + .../Interfaces/RepositorySourceInterface.php | 61 - src/ncc/Interfaces/RunnerInterface.php | 2 - src/ncc/Managers/CredentialManager.php | 126 +- src/ncc/Managers/ExecutionPointerManager.php | 614 - src/ncc/Managers/PackageLockManager.php | 179 +- src/ncc/Managers/PackageManager.php | 664 +- src/ncc/Managers/PackageManagerOld.php | 1030 - src/ncc/Managers/ProjectManager.php | 318 +- src/ncc/Managers/RemoteSourcesManager.php | 172 - src/ncc/Managers/RepositoryManager.php | 247 + src/ncc/Managers/SymlinkManager.php | 375 - src/ncc/Objects/ComposerJson.php | 258 +- .../Objects/ComposerJson/NamespacePointer.php | 50 +- src/ncc/Objects/ComposerJson/PackageLink.php | 8 +- src/ncc/Objects/ComposerLock.php | 363 - src/ncc/Objects/DefinedRemoteSource.php | 160 - src/ncc/Objects/HttpRequest.php | 247 - src/ncc/Objects/HttpResponse.php | 137 - src/ncc/Objects/Package.php | 6 +- src/ncc/Objects/Package/Component.php | 2 +- src/ncc/Objects/Package/MagicBytes.php | 2 +- src/ncc/Objects/PackageLock.php | 23 +- .../Objects/PackageLock/DependencyEntry.php | 114 - src/ncc/Objects/PackageLock/PackageEntry.php | 79 +- src/ncc/Objects/PackageLock/VersionEntry.php | 41 +- src/ncc/Objects/ProjectConfiguration.php | 1 - .../Objects/ProjectConfiguration/Assembly.php | 29 +- .../Objects/ProjectConfiguration/Build.php | 2 +- .../Build/BuildConfiguration.php | 14 +- .../ProjectConfiguration/Dependency.php | 41 +- .../ProjectConfiguration/UpdateSource.php | 10 +- .../UpdateSource/Repository.php | 1 - src/ncc/Objects/ProjectDetectionResults.php | 92 +- src/ncc/Objects/RemotePackageInput.php | 210 +- src/ncc/Objects/RepositoryConfiguration.php | 252 + ...ResponseCache.php => RepositoryResult.php} | 72 +- src/ncc/Objects/Vault.php | 9 +- src/ncc/Objects/Vault/Entry.php | 27 +- .../Objects/Vault/Password/AccessToken.php | 52 +- .../Vault/Password/UsernamePassword.php | 70 +- src/ncc/Runtime/Constants.php | 18 +- .../Symfony/Filesystem/Filesystem.php | 48 +- src/ncc/ThirdParty/Symfony/Filesystem/LICENSE | 2 +- src/ncc/ThirdParty/Symfony/Filesystem/VERSION | 2 +- .../Exception/ProcessFailedException.php | 3 + .../Exception/ProcessTimedOutException.php | 11 +- .../Symfony/Process/ExecutableFinder.php | 4 + .../Symfony/Process/InputStream.php | 10 +- src/ncc/ThirdParty/Symfony/Process/LICENSE | 2 +- .../Symfony/Process/PhpExecutableFinder.php | 2 +- .../ThirdParty/Symfony/Process/PhpProcess.php | 3 + .../Symfony/Process/Pipes/AbstractPipes.php | 6 +- .../Symfony/Process/Pipes/PipesInterface.php | 2 +- .../Symfony/Process/Pipes/WindowsPipes.php | 2 +- .../ThirdParty/Symfony/Process/Process.php | 42 +- src/ncc/ThirdParty/Symfony/Process/README.md | 15 - src/ncc/ThirdParty/Symfony/Process/VERSION | 2 +- .../Uid/Command/GenerateUlidCommand.php | 23 +- .../Uid/Command/GenerateUuidCommand.php | 8 +- src/ncc/ThirdParty/Symfony/Uid/LICENSE | 2 +- src/ncc/ThirdParty/Symfony/Uid/VERSION | 2 +- src/ncc/ThirdParty/Symfony/Yaml/CHANGELOG.md | 5 + .../Symfony/Yaml/Command/LintCommand.php | 34 +- src/ncc/ThirdParty/Symfony/Yaml/Dumper.php | 34 +- .../Symfony/Yaml/Exception/ParseException.php | 8 +- src/ncc/ThirdParty/Symfony/Yaml/Inline.php | 16 +- src/ncc/ThirdParty/Symfony/Yaml/LICENSE | 2 +- src/ncc/ThirdParty/Symfony/Yaml/Parser.php | 8 +- .../Symfony/Yaml/Tag/TaggedValue.php | 2 +- src/ncc/ThirdParty/Symfony/Yaml/Unescaper.php | 4 +- src/ncc/ThirdParty/Symfony/Yaml/VERSION | 2 +- src/ncc/ThirdParty/Symfony/Yaml/Yaml.php | 1 + .../ThirdParty/Symfony/polyfill-ctype/VERSION | 1 - .../Symfony/polyfill-mbstring/VERSION | 1 - .../ThirdParty/Symfony/polyfill-uuid/VERSION | 1 - .../Ctype.php | 2 +- .../LICENSE | 2 +- .../README.md | 0 .../ThirdParty/Symfony/polyfill_ctype/VERSION | 1 + .../bootstrap.php | 2 +- .../bootstrap80.php | 2 +- .../LICENSE | 2 +- .../Mbstring.php | 89 +- .../README.md | 0 .../Resources/unidata/caseFolding.php | 119 + .../Resources/unidata/lowerCase.php | 0 .../Resources/unidata/titleCaseRegexp.php | 0 .../Resources/unidata/upperCase.php | 0 .../Symfony/polyfill_mbstring/VERSION | 1 + .../bootstrap.php | 6 +- .../bootstrap80.php | 6 +- .../{polyfill-uuid => polyfill_uuid}/LICENSE | 2 +- .../README.md | 0 .../{polyfill-uuid => polyfill_uuid}/Uuid.php | 2 +- .../ThirdParty/Symfony/polyfill_uuid/VERSION | 1 + .../bootstrap.php | 2 +- .../bootstrap80.php | 2 +- .../ThirdParty/composer/semver/Comparator.php | 113 + .../composer/semver/CompilingMatcher.php | 94 + .../composer/semver/Constraint/Bound.php | 122 + .../composer/semver/Constraint/Constraint.php | 435 + .../semver/Constraint/ConstraintInterface.php | 75 + .../semver/Constraint/MatchAllConstraint.php | 85 + .../semver/Constraint/MatchNoneConstraint.php | 83 + .../semver/Constraint/MultiConstraint.php | 325 + .../ThirdParty/composer/semver/Interval.php | 98 + .../ThirdParty/composer/semver/Intervals.php | 478 + src/ncc/ThirdParty/composer/semver/LICENSE | 19 + src/ncc/ThirdParty/composer/semver/README.md | 99 + src/ncc/ThirdParty/composer/semver/Semver.php | 129 + src/ncc/ThirdParty/composer/semver/VERSION | 1 + .../composer/semver/VersionParser.php | 586 + .../nikic/PhpParser/Builder/ClassConst.php | 28 +- .../nikic/PhpParser/Builder/Class_.php | 8 +- .../nikic/PhpParser/Builder/Declaration.php | 2 +- .../nikic/PhpParser/Builder/EnumCase.php | 12 +- .../nikic/PhpParser/Builder/Enum_.php | 10 +- .../nikic/PhpParser/Builder/Function_.php | 6 +- .../nikic/PhpParser/Builder/Interface_.php | 8 +- .../nikic/PhpParser/Builder/Method.php | 6 +- .../nikic/PhpParser/Builder/Namespace_.php | 6 +- .../nikic/PhpParser/Builder/Param.php | 52 +- .../nikic/PhpParser/Builder/Property.php | 12 +- .../PhpParser/Builder/TraitUseAdaptation.php | 4 +- .../nikic/PhpParser/Builder/Trait_.php | 6 +- .../nikic/PhpParser/BuilderFactory.php | 6 +- .../Internal/PrintableNewAnonClassNode.php | 9 +- .../nikic/PhpParser/Internal/TokenStream.php | 5 + .../nikic/PhpParser/Lexer/Emulative.php | 5 +- .../ReadonlyFunctionTokenEmulator.php | 31 + .../PhpParser/Node/Expr/ClassConstFetch.php | 10 +- .../ThirdParty/nikic/PhpParser/Node/Name.php | 14 +- .../nikic/PhpParser/Node/Scalar/DNumber.php | 18 +- .../nikic/PhpParser/Node/Stmt/ClassConst.php | 19 +- .../nikic/PhpParser/Node/UnionType.php | 2 +- .../PhpParser/NodeVisitor/NameResolver.php | 4 +- .../nikic/PhpParser/Parser/Php5.php | 2762 +- .../nikic/PhpParser/Parser/Php7.php | 2582 +- .../nikic/PhpParser/ParserAbstract.php | 21 + .../PhpParser/PrettyPrinter/Standard.php | 31 +- .../nikic/PhpParser/PrettyPrinterAbstract.php | 75 +- src/ncc/ThirdParty/nikic/PhpParser/VERSION | 2 +- src/ncc/Utilities/Console.php | 29 +- src/ncc/Utilities/Functions.php | 596 +- src/ncc/Utilities/PathFinder.php | 144 +- src/ncc/Utilities/Resolver.php | 286 +- src/ncc/ncc | 2 +- src/ncc/version.json | 10 +- tests/functions/autoload_builder.php | 14 - tests/functions/package_reader.php | 7 - tests/old_tests/composer/json_example.json | 103 - tests/old_tests/composer/lock_example.json | 2416 - tests/old_tests/composer/parse_json.php | 6 - tests/old_tests/example_project/README.md | 39 - tests/old_tests/example_project/project.json | 154 - .../example_project/scripts/unit.bash | 3 - .../example_project/scripts/unit.lua | 4 - .../example_project/scripts/unit.php | 5 - .../old_tests/example_project/scripts/unit.pl | 6 - .../example_project/scripts/unit.py2 | 3 - .../example_project/scripts/unit.py3 | 3 - .../src/ExampleLibrary/Data/first_names.txt | 4945 - .../src/ExampleLibrary/Data/last_names.txt | 88799 ---------------- .../src/ExampleLibrary/ExampleLibrary.php | 65 - .../Exceptions/FileNotFoundException.php | 29 - .../Exceptions/InvalidNameException.php | 26 - .../src/ExampleLibrary/Objects/Person.php | 123 - .../package_lock/load_package_lock.php | 9 - .../load_configuration.php | 7 - .../project_configuration/project.json | 65 - .../php-encryption/create_random_key.php | 9 - .../php-encryption/encryption_decryption.php | 28 - .../third_party/theseer/directory_scanner.php | 13 - tests/old_tests/utils/pathfinder.php | 75 - tests/old_tests/utils/runtime_extensions.php | 5 - tests/old_tests/utils/scope_resolver.php | 5 - 281 files changed, 12577 insertions(+), 109543 deletions(-) create mode 100644 src/config/default_repositories.json delete mode 100644 src/default_repositories/custom_repositories.json delete mode 100644 src/default_repositories/gitgud.json delete mode 100644 src/default_repositories/github.json delete mode 100644 src/default_repositories/gitlab.json delete mode 100644 src/default_repositories/n64.json create mode 100644 src/ncc/CLI/Management/RepositoryMenu.php delete mode 100644 src/ncc/CLI/Management/SourcesMenu.php create mode 100644 src/ncc/Classes/ArchiveExtractor.php delete mode 100644 src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php delete mode 100644 src/ncc/Classes/ComposerExtension/composer.jtpl delete mode 100644 src/ncc/Classes/GitClient.php create mode 100644 src/ncc/Classes/GiteaExtension/GiteaRepository.php create mode 100644 src/ncc/Classes/GithubExtension/GithubRepository.php delete mode 100644 src/ncc/Classes/GithubExtension/GithubService.php create mode 100644 src/ncc/Classes/GitlabExtension/GitlabRepository.php delete mode 100644 src/ncc/Classes/GitlabExtension/GitlabService.php delete mode 100644 src/ncc/Classes/HttpClient.php delete mode 100644 src/ncc/Classes/NccExtension/Runner.php create mode 100644 src/ncc/Classes/PackagistExtension/PackagistRepository.php create mode 100644 src/ncc/Classes/ShutdownHandler.php delete mode 100644 src/ncc/Enums/AuthenticationType.php delete mode 100644 src/ncc/Enums/BuiltinRemoteSourceType.php delete mode 100644 src/ncc/Enums/ComponentDataType.php delete mode 100644 src/ncc/Enums/ComposerPackageTypes.php delete mode 100644 src/ncc/Enums/ComposerStabilityTypes.php delete mode 100644 src/ncc/Enums/DefinedRemoteSourceType.php delete mode 100644 src/ncc/Enums/DependencySourceType.php delete mode 100644 src/ncc/Enums/EncoderType.php create mode 100644 src/ncc/Enums/Flags/NccBuildFlags.php delete mode 100644 src/ncc/Enums/HttpRequestType.php delete mode 100644 src/ncc/Enums/NccBuildFlags.php delete mode 100644 src/ncc/Enums/ProjectType.php delete mode 100644 src/ncc/Enums/RemoteSourceType.php create mode 100644 src/ncc/Enums/Types/AuthenticationType.php rename src/ncc/Enums/{ => Types}/BuildOutputType.php (97%) rename tests/old_tests/autoload.php => src/ncc/Enums/Types/BuiltinRemoteSourceType.php (67%) create mode 100644 src/ncc/Enums/Types/ComponentDataType.php create mode 100644 src/ncc/Enums/Types/ComposerPackageTypes.php create mode 100644 src/ncc/Enums/Types/ComposerStabilityTypes.php create mode 100644 src/ncc/Enums/Types/DependencySourceType.php create mode 100644 src/ncc/Enums/Types/EncoderType.php create mode 100644 src/ncc/Enums/Types/HttpRequestType.php create mode 100644 src/ncc/Enums/Types/ProjectType.php create mode 100644 src/ncc/Enums/Types/RemoteSourceType.php create mode 100644 src/ncc/Enums/Types/RepositoryResultType.php create mode 100644 src/ncc/Enums/Types/RepositoryType.php rename src/ncc/Interfaces/{PasswordInterface.php => AuthenticationInterface.php} (95%) create mode 100644 src/ncc/Interfaces/RepositoryInterface.php delete mode 100644 src/ncc/Interfaces/RepositorySourceInterface.php delete mode 100644 src/ncc/Managers/ExecutionPointerManager.php delete mode 100644 src/ncc/Managers/PackageManagerOld.php delete mode 100644 src/ncc/Managers/RemoteSourcesManager.php create mode 100644 src/ncc/Managers/RepositoryManager.php delete mode 100644 src/ncc/Managers/SymlinkManager.php delete mode 100644 src/ncc/Objects/ComposerLock.php delete mode 100644 src/ncc/Objects/DefinedRemoteSource.php delete mode 100644 src/ncc/Objects/HttpRequest.php delete mode 100644 src/ncc/Objects/HttpResponse.php delete mode 100644 src/ncc/Objects/PackageLock/DependencyEntry.php create mode 100644 src/ncc/Objects/RepositoryConfiguration.php rename src/ncc/Objects/{HttpResponseCache.php => RepositoryResult.php} (60%) delete mode 100644 src/ncc/ThirdParty/Symfony/polyfill-ctype/VERSION delete mode 100644 src/ncc/ThirdParty/Symfony/polyfill-mbstring/VERSION delete mode 100644 src/ncc/ThirdParty/Symfony/polyfill-uuid/VERSION rename src/ncc/ThirdParty/Symfony/{polyfill-ctype => polyfill_ctype}/Ctype.php (99%) rename src/ncc/ThirdParty/Symfony/{polyfill-ctype => polyfill_ctype}/LICENSE (95%) rename src/ncc/ThirdParty/Symfony/{polyfill-ctype => polyfill_ctype}/README.md (100%) create mode 100644 src/ncc/ThirdParty/Symfony/polyfill_ctype/VERSION rename src/ncc/ThirdParty/Symfony/{polyfill-ctype => polyfill_ctype}/bootstrap.php (97%) rename src/ncc/ThirdParty/Symfony/{polyfill-ctype => polyfill_ctype}/bootstrap80.php (97%) rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/LICENSE (95%) rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/Mbstring.php (88%) rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/README.md (100%) create mode 100644 src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/caseFolding.php rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/Resources/unidata/lowerCase.php (100%) rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/Resources/unidata/titleCaseRegexp.php (100%) rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/Resources/unidata/upperCase.php (100%) create mode 100644 src/ncc/ThirdParty/Symfony/polyfill_mbstring/VERSION rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/bootstrap.php (95%) rename src/ncc/ThirdParty/Symfony/{polyfill-mbstring => polyfill_mbstring}/bootstrap80.php (96%) rename src/ncc/ThirdParty/Symfony/{polyfill-uuid => polyfill_uuid}/LICENSE (95%) rename src/ncc/ThirdParty/Symfony/{polyfill-uuid => polyfill_uuid}/README.md (100%) rename src/ncc/ThirdParty/Symfony/{polyfill-uuid => polyfill_uuid}/Uuid.php (99%) create mode 100644 src/ncc/ThirdParty/Symfony/polyfill_uuid/VERSION rename src/ncc/ThirdParty/Symfony/{polyfill-uuid => polyfill_uuid}/bootstrap.php (98%) rename src/ncc/ThirdParty/Symfony/{polyfill-uuid => polyfill_uuid}/bootstrap80.php (98%) create mode 100644 src/ncc/ThirdParty/composer/semver/Comparator.php create mode 100644 src/ncc/ThirdParty/composer/semver/CompilingMatcher.php create mode 100644 src/ncc/ThirdParty/composer/semver/Constraint/Bound.php create mode 100644 src/ncc/ThirdParty/composer/semver/Constraint/Constraint.php create mode 100644 src/ncc/ThirdParty/composer/semver/Constraint/ConstraintInterface.php create mode 100644 src/ncc/ThirdParty/composer/semver/Constraint/MatchAllConstraint.php create mode 100644 src/ncc/ThirdParty/composer/semver/Constraint/MatchNoneConstraint.php create mode 100644 src/ncc/ThirdParty/composer/semver/Constraint/MultiConstraint.php create mode 100644 src/ncc/ThirdParty/composer/semver/Interval.php create mode 100644 src/ncc/ThirdParty/composer/semver/Intervals.php create mode 100644 src/ncc/ThirdParty/composer/semver/LICENSE create mode 100644 src/ncc/ThirdParty/composer/semver/README.md create mode 100644 src/ncc/ThirdParty/composer/semver/Semver.php create mode 100644 src/ncc/ThirdParty/composer/semver/VERSION create mode 100644 src/ncc/ThirdParty/composer/semver/VersionParser.php create mode 100644 src/ncc/ThirdParty/nikic/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php delete mode 100644 tests/functions/autoload_builder.php delete mode 100644 tests/functions/package_reader.php delete mode 100644 tests/old_tests/composer/json_example.json delete mode 100644 tests/old_tests/composer/lock_example.json delete mode 100644 tests/old_tests/composer/parse_json.php delete mode 100644 tests/old_tests/example_project/README.md delete mode 100755 tests/old_tests/example_project/project.json delete mode 100644 tests/old_tests/example_project/scripts/unit.bash delete mode 100644 tests/old_tests/example_project/scripts/unit.lua delete mode 100644 tests/old_tests/example_project/scripts/unit.php delete mode 100644 tests/old_tests/example_project/scripts/unit.pl delete mode 100644 tests/old_tests/example_project/scripts/unit.py2 delete mode 100644 tests/old_tests/example_project/scripts/unit.py3 delete mode 100644 tests/old_tests/example_project/src/ExampleLibrary/Data/first_names.txt delete mode 100644 tests/old_tests/example_project/src/ExampleLibrary/Data/last_names.txt delete mode 100644 tests/old_tests/example_project/src/ExampleLibrary/ExampleLibrary.php delete mode 100644 tests/old_tests/example_project/src/ExampleLibrary/Exceptions/FileNotFoundException.php delete mode 100644 tests/old_tests/example_project/src/ExampleLibrary/Exceptions/InvalidNameException.php delete mode 100644 tests/old_tests/example_project/src/ExampleLibrary/Objects/Person.php delete mode 100644 tests/old_tests/package_lock/load_package_lock.php delete mode 100644 tests/old_tests/project_configuration/load_configuration.php delete mode 100644 tests/old_tests/project_configuration/project.json delete mode 100644 tests/old_tests/third_party/php-encryption/create_random_key.php delete mode 100644 tests/old_tests/third_party/php-encryption/encryption_decryption.php delete mode 100644 tests/old_tests/third_party/theseer/directory_scanner.php delete mode 100644 tests/old_tests/utils/pathfinder.php delete mode 100644 tests/old_tests/utils/runtime_extensions.php delete mode 100644 tests/old_tests/utils/scope_resolver.php diff --git a/.gitignore b/.gitignore index 4e93986..9d48f68 100644 --- a/.gitignore +++ b/.gitignore @@ -8,13 +8,14 @@ build # Autoload files +src/ncc/ThirdParty/composer/semver/autoload_spl.php src/ncc/ThirdParty/defuse/php-encryption/autoload_spl.php src/ncc/ThirdParty/jelix/version/autoload_spl.php src/ncc/ThirdParty/nikic/PhpParser/autoload_spl.php src/ncc/ThirdParty/php_parallel_lint/php_console_color/autoload_spl.php -src/ncc/ThirdParty/Symfony/polyfill-ctype/autoload_spl.php -src/ncc/ThirdParty/Symfony/polyfill-mbstring/autoload_spl.php -src/ncc/ThirdParty/Symfony/polyfill-uuid/autoload_spl.php +src/ncc/ThirdParty/Symfony/polyfill_ctype/autoload_spl.php +src/ncc/ThirdParty/Symfony/polyfill_mbstring/autoload_spl.php +src/ncc/ThirdParty/Symfony/polyfill_uuid/autoload_spl.php src/ncc/ThirdParty/Symfony/Process/autoload_spl.php src/ncc/ThirdParty/Symfony/Uid/autoload_spl.php src/ncc/ThirdParty/Symfony/Filesystem/autoload_spl.php diff --git a/.idea/scopes/Symfony_polyfill_ctype.xml b/.idea/scopes/Symfony_polyfill_ctype.xml index 93bc242..d7267c1 100644 --- a/.idea/scopes/Symfony_polyfill_ctype.xml +++ b/.idea/scopes/Symfony_polyfill_ctype.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/.idea/scopes/Symfony_polyfill_mbstring.xml b/.idea/scopes/Symfony_polyfill_mbstring.xml index 9125e7b..b417958 100644 --- a/.idea/scopes/Symfony_polyfill_mbstring.xml +++ b/.idea/scopes/Symfony_polyfill_mbstring.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/.idea/scopes/Symfony_polyfill_uuid.xml b/.idea/scopes/Symfony_polyfill_uuid.xml index fc04e03..bc2bb65 100644 --- a/.idea/scopes/Symfony_polyfill_uuid.xml +++ b/.idea/scopes/Symfony_polyfill_uuid.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b23720..179f2bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [2.0.0] - Unreleased This update introduces major changes in the codebase, including the removal of Win32 support, and the addition of new -features and reduced the number of exceptions down to 15 exceptions. +features. This is the Mk II of ncc, and it is a major update, so please read the changelog carefully. ### Added @@ -29,6 +29,13 @@ features and reduced the number of exceptions down to 15 exceptions. - Added new template PhpLibraryTemplate `phplib` - Added the ability to clean arrays in `\ncc\Utilities > Functions > cleanArray()` - Added the ability to compile executable binaries for php using `gcc` + - Added support for Gitea repositories + - Added support for Packagist repositories + - Added a new default gitea repository `nocturn9x` git.nocturn9x.space + - Added a new default gitea repository `martinvlba` git.martinvlba.eu + - Added a new default gitea repository `kuny` git.it-kuny.ch + - Added dependency `composer/semver` version 3.4.0 for composer version comparison compatibility + - Added new class `\ncc\Classes > ArchiveExtractor` to extract multiple archive types ### Fixed - Fixed MITM attack vector in `\ncc\Classes > HttpClient > prepareCurl()` @@ -234,6 +241,27 @@ features and reduced the number of exceptions down to 15 exceptions. - Refactored `LuaRunner` to use the new execution pointer system - Refactored `PerlRunner` to use the new execution pointer system - Refactored `PythonRunner` to use the new execution pointer system + - Refactored `\ncc\Objects > RemoteRepository` + - Refactored the repository system + - Refactored Github's repository interface + - Refactored Gitlab's repository interface + - Refactored SourcesMenu in the CLI to use the new repository system + - Updated dependency `nikic/php-parser` to version 4.17.1 + - Added a simple security measure in `\ncc\Objects\Value > Entry > unlock()` to delay returns randomly when the password + is incorrect + - Refactored the CLI menu system to use a return exit code system + - Updated the installer to remove unused components and installation steps + - Updated dependency `Symfony/Filesystem` to 6.3.1 + - Updated dependency `Symfony/polyfill-ctype` to 1.28.0 + - Enforced credential storage security by applying `600` permissions to the storage file so that only the owner can + read/write to the file, this will require root to do anything with the credential file. A password will still be + needed to decrypt entries in the file if any entries are encrypted. + - Updated dependency `Symfony/polyfill-mbstring` to 1.28.0 + - Updated dependency `Symfony/polyfill-uuid` to 1.28.0 + - Updated dependency `Symfony/Process` to 6.3.4 + - Updated dependency `Symfony/Uid` to 6.3.0 + - Updated dependency `Symfony/Yaml` to 6.3.3 + - Refactored ZiProto ### Removed @@ -298,8 +326,9 @@ features and reduced the number of exceptions down to 15 exceptions. - Removed unused `\ncc\Objects > PhpConfiguration` - Removed parameter `$throw_exception` from `\ncc\Objects\ProjectConfiguration > Project > validate()` - Removed dependency `theseer\Autoload` in favor of ncc's own autoloader (screw you Arne Blankerts) - - Refactored ZiProto - Removed runners `Python2` & `Python3` in favor of `Python` + - Removed `\ncc\Classes\NccExtension > Runner` in favor of the new Execution Unit system + - Removed `\ncc\Managers > ExecutionPointerManager` in favor of the new Execution Unit system diff --git a/Makefile b/Makefile index c9fe195..163a8fa 100644 --- a/Makefile +++ b/Makefile @@ -9,12 +9,13 @@ TIMESTAMP := $(shell date +%Y%m%d%H%M%S) # List of paths for autoloading AUTOLOAD_PATHS := $(addprefix $(SRC_PATH)/ncc/ThirdParty/, \ + composer/semver \ defuse/php-encryption \ jelix/version \ nikic/PhpParser \ - Symfony/polyfill-ctype \ - Symfony/polyfill-mbstring \ - Symfony/polyfill-uuid \ + Symfony/polyfill_ctype \ + Symfony/polyfill_mbstring \ + Symfony/polyfill_uuid \ Symfony/Process \ Symfony/Uid \ Symfony/Filesystem \ @@ -63,6 +64,8 @@ redist: autoload cp -f $(INSTALLER_PATH)/ncc.sh $(BUILD_PATH)/src/ncc.sh cp -f $(CONFIG_PATH)/ncc.yaml $(BUILD_PATH)/src/default_config.yaml cp -f $(CONFIG_PATH)/ncc.yaml $(BUILD_PATH)/src/CLI/template_config.yaml + cp -f $(CONFIG_PATH)/default_repositories.json $(BUILD_PATH)/src/default_repositories.json + cp -f $(CONFIG_PATH)/ncc-package.xml $(BUILD_PATH)/src/ncc-package.xml cp -f $(INSTALLER_PATH)/extension $(BUILD_PATH)/src/extension chmod +x $(BUILD_PATH)/src/INSTALL cp -f LICENSE $(BUILD_PATH)/src/LICENSE @@ -73,8 +76,6 @@ redist: autoload cp -f $(INSTALLER_PATH)/generate_build_files.php $(BUILD_PATH)/src/generate_build_files.php $(PHPCC) $(BUILD_PATH)/src/generate_build_files.php rm $(BUILD_PATH)/src/generate_build_files.php - mkdir -p $(BUILD_PATH)/src/repositories - cp -rf $(SRC_PATH)/default_repositories/*.json $(BUILD_PATH)/src/repositories $(BUILD_PATH)/build_$(TIMESTAMP).tar.gz: redist cd $(BUILD_PATH)/src; tar -czvf ../build_$(TIMESTAMP).tar.gz * diff --git a/src/autoload/autoload.php b/src/autoload/autoload.php index 3bdc01c..5ba02c1 100644 --- a/src/autoload/autoload.php +++ b/src/autoload/autoload.php @@ -13,15 +13,16 @@ $third_party_path = __DIR__ . DIRECTORY_SEPARATOR . 'ThirdParty' . DIRECTORY_SEPARATOR; $target_files = [ __DIR__ . DIRECTORY_SEPARATOR . 'autoload_spl.php', + $third_party_path . 'composer' . DIRECTORY_SEPARATOR . 'semver' . DIRECTORY_SEPARATOR . 'autoload_spl.php', $third_party_path . 'defuse' . DIRECTORY_SEPARATOR . 'php-encryption' . DIRECTORY_SEPARATOR . 'autoload_spl.php', $third_party_path . 'jelix' . DIRECTORY_SEPARATOR . 'version' . DIRECTORY_SEPARATOR . 'autoload_spl.php', $third_party_path . 'nikic' . DIRECTORY_SEPARATOR . 'PhpParser' . DIRECTORY_SEPARATOR . 'autoload_spl.php', - $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill-ctype' . DIRECTORY_SEPARATOR . 'autoload_spl.php', - $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill-ctype' . DIRECTORY_SEPARATOR . 'bootstrap.php', - $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill-mbstring' . DIRECTORY_SEPARATOR . 'autoload_spl.php', - $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill-mbstring' . DIRECTORY_SEPARATOR . 'bootstrap.php', - $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill-uuid' . DIRECTORY_SEPARATOR . 'autoload_spl.php', - $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill-uuid' . DIRECTORY_SEPARATOR . 'bootstrap.php', + $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill_ctype' . DIRECTORY_SEPARATOR . 'autoload_spl.php', + $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill_ctype' . DIRECTORY_SEPARATOR . 'bootstrap.php', + $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill_mbstring' . DIRECTORY_SEPARATOR . 'autoload_spl.php', + $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill_mbstring' . DIRECTORY_SEPARATOR . 'bootstrap.php', + $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill_uuid' . DIRECTORY_SEPARATOR . 'autoload_spl.php', + $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'polyfill_uuid' . DIRECTORY_SEPARATOR . 'bootstrap.php', $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'Process' . DIRECTORY_SEPARATOR . 'autoload_spl.php', $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'Uid' . DIRECTORY_SEPARATOR . 'autoload_spl.php', $third_party_path . 'Symfony' . DIRECTORY_SEPARATOR . 'Filesystem' . DIRECTORY_SEPARATOR . 'autoload_spl.php', diff --git a/src/config/default_repositories.json b/src/config/default_repositories.json new file mode 100644 index 0000000..7a4d263 --- /dev/null +++ b/src/config/default_repositories.json @@ -0,0 +1,50 @@ +[ + { + "name": "n64", + "type": "gitlab", + "host": "git.n64.cc", + "ssl": true + }, + { + "name": "packagist", + "type": "packagist", + "host": "packagist.org", + "ssl": true + }, + { + "name": "github", + "type": "github", + "host": "api.github.com", + "ssl": true + }, + { + "name": "gitlab", + "type": "gitlab", + "host": "gitlab.com", + "ssl": true + }, + { + "name": "gitgud", + "type": "gitlab", + "host": "gitgud.io", + "ssl": true + }, + { + "name": "nocturn9x", + "type": "gitea", + "host": "git.nocturn9x.space", + "ssl": true + }, + { + "name": "martinvlba", + "type": "gitea", + "host": "git.martinvlba.eu", + "ssl": true + }, + { + "name": "kuny", + "type": "gitea", + "host": "git.it-kuny.ch", + "ssl": true + } +] \ No newline at end of file diff --git a/src/config/ncc.yaml b/src/config/ncc.yaml index 36c6488..33cb91f 100644 --- a/src/config/ncc.yaml +++ b/src/config/ncc.yaml @@ -13,75 +13,4 @@ ncc: # The default logging level to use in the CLI # Values can be (silent, verbose, debug, info, warn, error or fatal) - logging: "info" - -# Configuration section for the PHP configuration that NCC will use to run -php: - # The main executable path for PHP that NCC should use - executable_path: "/usr/bin/php" - -git: - # if git is enabled or not - enabled: true - - # The executable path of git - executable_path: "/usr/bin/git" - -# When enabled, NCC will use it's builtin version of composer -# to execute composer tasks, if disabled it will fall back to -# the `executable_path` option and attempt to use that specified -# location of composer -composer: - - # if composer is enabled or not - enabled: true - - # If internal composer is enabled (install must be executed with --install-composer) - enable_internal_composer: true - - # The executable path to the system's installed composer executable - executable_path: "/home/user/composer.phar" - - # Composer options - options: - - # Do not output any message - quiet: false - - # Disable ANSI output - no_ansi: true - - # Do not ask any interactive question - no_interaction: true - - # Display timing and memory usage information - profile: false - - # Skips the execution of all scripts defined in composer.json file. - no_scripts: true - - # Prevent use of the cache - no_cache: false - - # 1 normal output, 2 for more verbose output and 3 for debug output, 4 to match NCC's logging level - logging: 1 - - # NCC Composer Extension options - extension: - # If licenses should be displayed in the conversion process of a composer package - display_licenses: true - - # If authors should be displayed in the conversion process of a composer package - display_authors: true - - # If NCC should try to install suggested packages - try_install_suggested: true - -# Supported runners executable paths -runners: - php: "/usr/bin/php" - bash: "/usr/bin/bash" - sh: "/usr/bin/sh" - python: "/usr/bin/python" - python3: "/usr/bin/python3" - python2: "/usr/bin/python2" \ No newline at end of file + logging: "info" \ No newline at end of file diff --git a/src/default_repositories/custom_repositories.json b/src/default_repositories/custom_repositories.json deleted file mode 100644 index aa1a562..0000000 --- a/src/default_repositories/custom_repositories.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "gitgud.json", - "github.json", - "gitlab.json", - "n64.json" -] \ No newline at end of file diff --git a/src/default_repositories/gitgud.json b/src/default_repositories/gitgud.json deleted file mode 100644 index 83f904e..0000000 --- a/src/default_repositories/gitgud.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "gitgud", - "type": "gitlab", - "host": "gitgud.io", - "ssl": true -} \ No newline at end of file diff --git a/src/default_repositories/github.json b/src/default_repositories/github.json deleted file mode 100644 index f05cc8c..0000000 --- a/src/default_repositories/github.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "github", - "type": "github", - "host": "api.github.com", - "ssl": true -} \ No newline at end of file diff --git a/src/default_repositories/gitlab.json b/src/default_repositories/gitlab.json deleted file mode 100644 index 2694fbd..0000000 --- a/src/default_repositories/gitlab.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "gitlab", - "type": "gitlab", - "host": "gitlab.com", - "ssl": true -} \ No newline at end of file diff --git a/src/default_repositories/n64.json b/src/default_repositories/n64.json deleted file mode 100644 index ac57ee8..0000000 --- a/src/default_repositories/n64.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "n64", - "type": "gitlab", - "host": "git.n64.cc", - "ssl": true -} \ No newline at end of file diff --git a/src/installer/extension b/src/installer/extension index c182e5c..fb81684 100644 --- a/src/installer/extension +++ b/src/installer/extension @@ -2,9 +2,7 @@ use ncc\Classes\Runtime; use ncc\Enums\Versions; -use ncc\Exceptions\ConfigurationException; -use ncc\Exceptions\ImportException; - use ncc\Exceptions\IOException; + use ncc\Exceptions\ConfigurationException; use ncc\ncc; if(!defined('NCC_INIT')) diff --git a/src/installer/generate_build_files.php b/src/installer/generate_build_files.php index 6840c81..4a64575 100644 --- a/src/installer/generate_build_files.php +++ b/src/installer/generate_build_files.php @@ -6,30 +6,34 @@ print('Could not find \'autoload.php\', this script is intended to be executed during the redistribution process'); exit(1); } + + /** @noinspection PhpIncludeInspection */ require(__DIR__ . DIRECTORY_SEPARATOR . 'autoload.php'); // Start script - function scanContents($dir, &$results = array()) + function scanContents($dir) { - $files = scandir($dir); + $results = []; - foreach ($files as $key => $value) + foreach (scandir($dir, SCANDIR_SORT_NONE) as $key => $value) { $path = realpath($dir . DIRECTORY_SEPARATOR . $value); + if (!is_dir($path)) { - $results[] = str_ireplace(__DIR__ . DIRECTORY_SEPARATOR, (string)null, $path); + $results[] = str_ireplace(__DIR__ . DIRECTORY_SEPARATOR, '', $path); } - else if ($value != '.' && $value != '..') + elseif ($value !== '.' && $value !== '..') { - $results[] = str_ireplace(__DIR__ . DIRECTORY_SEPARATOR, (string)null, $path); - scanContents($path, $results); + /** @noinspection SlowArrayOperationsInLoopInspection */ + $results = array_merge($results, scanContents($path)); } } return $results; } + $excluded_files = [ 'hash_check.php', 'generate_build_files.php', @@ -56,8 +60,10 @@ $build_files_content[] = $path; } } - $build_files = fopen(__DIR__ . DIRECTORY_SEPARATOR . 'build_files', 'a+'); + + $build_files = fopen(__DIR__ . DIRECTORY_SEPARATOR . 'build_files', 'ab+'); + fwrite($build_files, implode("\n", $build_files_content)); fclose($build_files); - ncc\Utilities\Console::out('Created build_files'); + exit(0); \ No newline at end of file diff --git a/src/installer/installer b/src/installer/installer index 459a4cf..c40f271 100644 --- a/src/installer/installer +++ b/src/installer/installer @@ -3,8 +3,8 @@ # ------------------------------------------------------------------ # Nosial Code Compiler (NCC) Installation Script # -# Nosial Code Compiler is a program written in PHP designed -# to be a multipurpose compiler, package manager and toolkit. +# Nosial Code Compiler is a program written in PHP designed +# to be a multipurpose compiler, package manager and toolkit. # # Dependency: # PHP 8.0+ @@ -13,17 +13,11 @@ getMessage() . ' (Error Code: ' . $e->getCode() . ')'); - exit(1); + Console::outException('Cannot initialize NCC, ' . $e->getMessage() . ' (Error Code: ' . $e->getCode() . ')', $e, 1); + return; } $NCC_ARGS = null; @@ -100,17 +65,14 @@ } $NCC_AUTO_MODE = ($NCC_ARGS !== null && isset($NCC_ARGS['auto'])); - $NCC_BYPASS_CLI_CHECK = ($NCC_ARGS !== null && isset($NCC_ARGS['bypass-cli-check'])); + $NCC_BYPASS_OS_CHECK = ($NCC_ARGS !== null && isset($NCC_ARGS['bypass-os-check'])); $NCC_BYPASS_CHECKSUM = ($NCC_ARGS !== null && isset($NCC_ARGS['bypass-checksum'])); if(isset($NCC_ARGS['help'])) { $options = [ new CliHelpSection(['--help'], 'Displays this help menu about the installer'), - new CliHelpSection(['--auto'], 'Automates the installation process'), - new CliHelpSection(['--install-composer'], 'Require composer to be installed alongside NCC'), - new CliHelpSection(['--install-dir'], 'Specifies the installation directory for NCC'), - new CliHelpSection(['--bypass-cli-check'], 'Bypasses the check for a CLI environment'), + new CliHelpSection(['--bypass-os-check'], 'Bypasses the check for the current operating system'), new CliHelpSection(['--bypass-checksum'], 'Bypasses the checksum for the installation files'), ]; @@ -126,55 +88,31 @@ } // Detect if running in Windows - if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') + if(!$NCC_BYPASS_OS_CHECK && strtolower(PHP_OS_FAMILY) === 'windows') { - print('This installer can only run on Linux based machines' . PHP_EOL); + Console::outError(sprintf('This installer is not compatible with Windows, detected OS: %s (This check can be bypassed with --bypass-os-check)', PHP_OS), true, 1); + return; } - // Detect the server API - if(!$NCC_BYPASS_CLI_CHECK) - { - if(defined('PHP_SAPI')) - { - if(strtolower(PHP_SAPI) !== 'cli') - { - print('This installation script is meant to be running in your terminal' . PHP_EOL); - } - } - elseif(function_exists('php_sapi_name') && strtolower(php_sapi_name()) !== 'cli') - { - print('This installation script is meant to be running in your terminal' . PHP_EOL); - } - else - { - Console::outWarning( - 'The installer cannot determine the Server API (SAPI), the installer will continue but it is ' . - 'recommended to be running this installer in a terminal' - ); - } - } - - // Check if running as root if(!function_exists('posix_getuid')) { - Console::outError('The function posix_getuid() is not available on your system, please make sure the extension `php-common` is installed'); - exit(1); + Console::outError('The function posix_getuid() is not available on your system, please make sure the extension `php-common` is installed', true, 1); + return; } if (posix_getuid() !== 0) { - Console::outError('You must be running as root'); - exit(1); + Console::outError('You must be running as root', true, 1); + return; } // Find the PHP executable - $executable_finder = new PhpExecutableFinder(); - $NCC_PHP_EXECUTABLE = $executable_finder->find(); - $NCC_EXECUTABLE_FINDER = new ExecutableFinder(); + $NCC_PHP_EXECUTABLE = (new PhpExecutableFinder())->find(); + if(!$NCC_PHP_EXECUTABLE) { - Console::outError('Cannot find PHP executable path'); - exit(1); + Console::outError('Cannot find PHP executable path', true ,1); + return; } // Check for the required files @@ -198,47 +136,41 @@ { if(!$NCC_FILESYSTEM->exists($NCC_CHECKSUM)) { - Console::outWarning('The file \'checksum.bin\' was not found, the contents of the program cannot be verified to be safe'); + Console::outError(sprintf('The checksum file \'%s\' was not found, the checksum cannot be validated', $NCC_CHECKSUM), 1, true); + return; } - else + + try { - Console::out('Running checksum'); + Console::out('Testing checksum...'); + $checksum = ZiProto::decode(IO::fread($NCC_CHECKSUM)); + } + catch(Exception $e) + { + Console::outError($e->getMessage(), true, 1); + return; + } - try - { - $checksum = ZiProto::decode(IO::fread(__DIR__ . DIRECTORY_SEPARATOR . 'checksum.bin')); - } - catch(Exception $e) - { - Console::outError($e->getMessage(), true, 1); - return; - } + $checksum_failed = false; - $checksum_failed = false; + foreach($checksum as $path => $hash) + { + if(!file_exists(__DIR__ . DIRECTORY_SEPARATOR . $path)) + { + Console::outError('Cannot check file, \'' . $path . '\' not found.'); + $checksum_failed = true; + } + elseif(hash_file('sha256', __DIR__ . DIRECTORY_SEPARATOR . $path) !== $hash) + { + Console::outWarning('The file \'' . $path . '\' does not match the original checksum'); + $checksum_failed = true; + } + } - foreach($checksum as $path => $hash) - { - if(!file_exists(__DIR__ . DIRECTORY_SEPARATOR . $path)) - { - Console::outError('Cannot check file, \'' . $path . '\' not found.'); - $checksum_failed = true; - } - elseif(hash_file('sha256', __DIR__ . DIRECTORY_SEPARATOR . $path) !== $hash) - { - Console::outWarning('The file \'' . $path . '\' does not match the original checksum'); - $checksum_failed = true; - } - } - - if($checksum_failed) - { - Console::outError('Checksum failed, the contents of the program cannot be verified to be safe'); - exit(1); - } - else - { - Console::out('Checksum passed'); - } + if($checksum_failed) + { + Console::outError('Checksum failed, the contents of the program cannot be verified to be safe', true, 1); + return; } } @@ -257,39 +189,22 @@ } } - // Check for curl if the installer requires it - $curl_available = true; - if(!$extensions['curl']) - { - if(getParameter($NCC_ARGS, 'install-composer') !== null) - { - Console::outError('This installer requires the \'curl\' extension to install composer', true, 1); - return; - } - - $curl_available = false; - Console::outWarning('The extension \'curl\' is not installed, the installer will not be able to install composer'); - } - - // Attempt to load version information try { - $VersionInformation = ncc::getVersionInformation(); + // Attempt to load version information + $version_information = ncc::getVersionInformation(); } - catch (FileNotFoundException|\ncc\Exceptions\RuntimeException $e) + catch (Exception $e) { - Console::outError('Cannot get version information, ' . $e->getMessage() . ' (Error Code: ' . $e->getCode() . ')'); - exit(1); + Console::outException('Cannot get version information, ' . $e->getMessage() . ' (Error Code: ' . $e->getCode() . ')', $e, 1); + return; } - // Start of installer - Console::out('Started NCC installer'); - // Display version information Console::out('NCC Version: ' . NCC_VERSION_NUMBER . ' (' . NCC_VERSION_BRANCH . ')'); Console::out('Build Flags: ' . implode(',', NCC_VERSION_FLAGS)); - foreach($VersionInformation->getComponents() as $component) + foreach($version_information->getComponents() as $component) { $full_name = $component->getVendor() . '/' . $component->getPackageName(); @@ -303,153 +218,14 @@ } } + if(!$NCC_AUTO_MODE && !Console::getBooleanInput('Do you want install NCC?')) + { + Console::outError('Installation cancelled by user', true, 1); + return; + } + Console::out('Starting installation'); - - // Determine the installation path - $skip_prompt = false; - $install_dir_arg = getParameter($NCC_ARGS, 'install-dir'); - - // Check the arguments - if($install_dir_arg !== null) - { - if(!Validate::unixFilepath($install_dir_arg)) - { - Console::outError('The given file path is not valid'); - exit(1); - } - - if($NCC_FILESYSTEM->exists($install_dir_arg . DIRECTORY_SEPARATOR . 'ncc')) - { - Console::out('NCC Seems to already be installed, the installer will repair/upgrade your current install'); - $NCC_INSTALL_PATH = $install_dir_arg; - $skip_prompt = true; - } - else - { - Console::outError('The given directory already exists, it must be deleted before proceeding'); - exit(1); - } - } - - if(!$NCC_AUTO_MODE && !$skip_prompt) - { - while(true) - { - $user_input = null; - $user_input = Console::getInput("Installation Path (Default: $NCC_INSTALL_PATH): "); - if(strlen($user_input) > 0 && $NCC_FILESYSTEM->exists($user_input) && Validate::unixFilepath($user_input)) - { - if($NCC_FILESYSTEM->exists($user_input . DIRECTORY_SEPARATOR . 'ncc')) - { - $NCC_INSTALL_PATH = $user_input; - break; - } - else - { - Console::outError('The given directory already exists, it must be deleted before proceeding'); - } - } - elseif(strlen($user_input) > 0) - { - Console::outError('The given file path is not valid'); - } - else - { - break; - } - } - } - - // Determine the data path - $skip_prompt = false; - $data_dir_arg = getParameter($NCC_ARGS, 'data-dir'); - - // Check the arguments - if($data_dir_arg !== null) - { - if(!Validate::unixFilepath($data_dir_arg)) - { - Console::outError('The given file path \''. $data_dir_arg . '\' is not valid'); - exit(1); - } - - if($NCC_FILESYSTEM->exists($data_dir_arg . DIRECTORY_SEPARATOR . 'package.lck')) - { - $NCC_DATA_PATH = $data_dir_arg; - $skip_prompt = true; - } - else - { - Console::outError('The given directory \'' . $data_dir_arg . '\' already exists, it must be deleted before proceeding'); - exit(1); - } - } - - // Proceed with prompt if not in auto mode and argument was met - if(!$NCC_AUTO_MODE && !$skip_prompt) - { - while(true) - { - $user_input = null; - $user_input = Console::getInput("Data Path (Default: $NCC_DATA_PATH): "); - if(strlen($user_input) > 0 && $NCC_FILESYSTEM->exists($user_input) && Validate::unixFilepath($user_input)) - { - if($NCC_FILESYSTEM->exists($user_input . DIRECTORY_SEPARATOR . 'package.lck')) - { - $NCC_DATA_PATH = $user_input; - break; - } - else - { - Console::outError('The given directory already exists, it must be deleted before proceeding'); - } - } - elseif(strlen($user_input) > 0) - { - Console::outError('The given file path is not valid'); - } - else - { - break; - } - } - } - - // Ask to install composer if curl is available - if($curl_available) - { - if(getParameter($NCC_ARGS, 'install-composer') !== null) - { - $update_composer = true; - } - else - { - if(!$NCC_AUTO_MODE) - { - Console::out("Note: This doesn't affect your current install of composer (if you have composer installed)"); - $update_composer = Console::getBooleanInput('Do you want to install composer for NCC? (Recommended)'); - } - else - { - $update_composer = false; - } - } - } - else - { - $update_composer = false; - } - - - if(!$NCC_AUTO_MODE) - { - if(!Console::getBooleanInput('Do you want install NCC?')) - { - Console::outError('Installation cancelled by user'); - exit(1); - } - } - + // Prepare installation if($NCC_FILESYSTEM->exists($NCC_INSTALL_PATH)) { @@ -459,8 +235,8 @@ } catch(IOException $e) { - Console::outError('Cannot delete directory \'' . $NCC_INSTALL_PATH . '\', ' . $e->getMessage()); - exit(1); + Console::outException('Cannot delete directory \'' . $NCC_INSTALL_PATH . '\', ' . $e->getMessage(), $e, 1); + return; } } @@ -468,88 +244,25 @@ try { - Functions::initializeFiles(); + if(is_file(__DIR__ . DIRECTORY_SEPARATOR . 'default_repositories.json')) + { + Functions::initializeFiles(Functions::loadJsonFile(__DIR__ . DIRECTORY_SEPARATOR . 'default_repositories.json', Functions::FORCE_ARRAY)); + } + else + { + Functions::initializeFiles(); + } } catch(Exception $e) { - Console::outError('Cannot initialize NCC files, ' . $e->getMessage()); - exit(1); + Console::outException('Cannot initialize NCC files, ' . $e->getMessage(), $e, 1); + return; } - // Install composer - if($update_composer) - { - Console::out('Installing composer for NCC'); - - $fp = fopen($NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'composer-setup.php', 'w+'); - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $NCC_COMPOSER_UPDATE_SOURCE); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - curl_setopt($ch, CURLOPT_TIMEOUT, 600); - curl_setopt($ch, CURLOPT_FILE, $fp); - curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); - curl_setopt($ch, CURLOPT_HEADER, 0); - curl_setopt($ch, CURLOPT_USERAGENT, 'ncc/' . NCC_VERSION_NUMBER . ' (' . NCC_VERSION_BRANCH . ')'); - curl_exec($ch); - curl_close($ch); - fclose($fp); - - Console::out('Running composer installer'); - $Process = Process::fromShellCommandline(implode(' ', [ - $NCC_PHP_EXECUTABLE, - escapeshellcmd($NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'composer-setup.php'), - '--install-dir=' . escapeshellcmd($NCC_INSTALL_PATH), - '--filename=composer.phar' - ])); - $Process->setWorkingDirectory($NCC_INSTALL_PATH); - $Process->setTty(Functions::isTtyMode()); - - try - { - if($Process->isTty()) - { - $Process->run(); - } - else - { - Console::outWarning('Composer is running in non-interactive mode, this may cause issues'); - - $Process->run(function ($type, $buffer) - { - if (Process::ERR === $type) - { - Console::outError($buffer); - } - else - { - Console::out($buffer); - } - }); - } - } - catch(ProcessFailedException $e) - { - Console::outError('Cannot install composer, ' . $e->getMessage()); - exit(1); - } - - // Verify install - if(!$NCC_FILESYSTEM->exists([$NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'composer.phar'])) - { - Console::outError("Installation failed, the installation exited without any issues but composer doesn't seem to be installed correctly"); - exit(1); - } - - $NCC_FILESYSTEM->remove([$NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'composer-setup.php']); - $NCC_FILESYSTEM->chmod([$NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'composer.phar'], 0755); - - Console::out('Installed composer successfully'); - } - - // Install NCC - Console::out('Copying files to \'' . $NCC_INSTALL_PATH . '\''); + // Copy files to the installation path try { + Console::out('Copying files to \'' . $NCC_INSTALL_PATH . '\''); $build_files = explode("\n", IO::fread(__DIR__ . DIRECTORY_SEPARATOR . 'build_files')); } catch(Exception $e) @@ -557,100 +270,95 @@ Console::outError($e->getMessage(), true, 1); return; } + $total_items = count($build_files); $processed_items = 1; - // Create all the directories first - foreach($build_files as $path) + foreach ($build_files as $item) { - if(is_dir(__DIR__ . DIRECTORY_SEPARATOR . $path)) + $source = __DIR__ . DIRECTORY_SEPARATOR . $item; + $destination = $NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $item; + + if (is_file($source)) { - $NCC_FILESYSTEM->mkdir([$NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $path]); - $NCC_FILESYSTEM->chmod([$NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $path], 0755); - $processed_items += 1; - } + $parent_directory = dirname($destination); - Console::inlineProgressBar($processed_items, $total_items); - } - - // Copy over all the files - foreach($build_files as $file) - { - if(is_file(__DIR__ . DIRECTORY_SEPARATOR . $file)) - { - $NCC_FILESYSTEM->copy(__DIR__ . DIRECTORY_SEPARATOR . $file, $NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $file); - $NCC_FILESYSTEM->chmod([$NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $file], 0755); - - if(!$NCC_FILESYSTEM->exists($NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $file)) + if(!is_dir($parent_directory)) { - Console::outError('Cannot create file \'' . $NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . $file . '\', installation failed.'); - exit(1); + $NCC_FILESYSTEM->mkdir($parent_directory, 0755); } - $processed_items += 1; + $NCC_FILESYSTEM->copy($source, $destination); + $NCC_FILESYSTEM->chmod([$destination], 0755); + + if (!$NCC_FILESYSTEM->exists($destination)) + { + Console::outError(sprintf('Failed to copy file \'%s\' to \'%s\'', $source, $destination), true, 1); + return; + } } + ++$processed_items; Console::inlineProgressBar($processed_items, $total_items); } - // Generate executable shortcut - Console::out('Creating shortcut'); + // Generate executable shortcut try { $executable_shortcut = IO::fread(__DIR__ . DIRECTORY_SEPARATOR . 'ncc.sh'); } catch(Exception $e) { - Console::outError($e->getMessage(), true, 1); + Console::outException(sprintf('Failed to read file \'%s\', %s', __DIR__ . DIRECTORY_SEPARATOR . 'ncc.sh', $e->getMessage()), $e, 1); return; } - $executable_shortcut = str_ireplace('%php_exec', $NCC_PHP_EXECUTABLE, $executable_shortcut); - $executable_shortcut = str_ireplace('%ncc_exec', $NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'ncc', $executable_shortcut); + $executable_shortcut = str_ireplace(['%php_exec', '%ncc_exec'], [$NCC_PHP_EXECUTABLE, $NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'ncc'], + $executable_shortcut + ); $bin_paths = [ + DIRECTORY_SEPARATOR . 'usr' . DIRECTORY_SEPARATOR . 'local' . DIRECTORY_SEPARATOR . 'bin', DIRECTORY_SEPARATOR . 'usr' . DIRECTORY_SEPARATOR . 'bin', - DIRECTORY_SEPARATOR . 'bin' ]; foreach($bin_paths as $path) { - // Delete old versions of the executable shortcuts. - if($NCC_FILESYSTEM->exists($path . DIRECTORY_SEPARATOR . 'ncc')) - { - $NCC_FILESYSTEM->remove($path . DIRECTORY_SEPARATOR . 'ncc'); - } + $path .= DIRECTORY_SEPARATOR . 'ncc'; + // Delete old versions of the executable shortcuts. if($NCC_FILESYSTEM->exists($path)) { - try - { - IO::fwrite($path . DIRECTORY_SEPARATOR . 'ncc', $executable_shortcut); - $NCC_FILESYSTEM->chmod([$path . DIRECTORY_SEPARATOR . 'ncc'], 0755); - } - catch (Exception $e) - { - Console::outException($e->getMessage(), $e, 1); - return; - } + $NCC_FILESYSTEM->remove($path); + } + + try + { + IO::fwrite($path, $executable_shortcut); + $NCC_FILESYSTEM->chmod([$path], 0755); + } + catch (Exception $e) + { + Console::outException(sprintf('Failed to write file \'%s\', %s', $path, $e->getMessage()), $e, 1); + return; } } // Register the ncc extension - Console::out('Registering extension'); try { - $extension_shortcut = IO::fread(__DIR__ . DIRECTORY_SEPARATOR . 'extension'); + Console::out('Registering extension'); + $extension_shortcut = str_ireplace('%ncc_install', $NCC_INSTALL_PATH, IO::fread(__DIR__ . DIRECTORY_SEPARATOR . 'extension')); } catch(Exception $e) { - Console::outError($e->getMessage(), true, 1); + Console::outException(sprintf('Failed to read file \'%s\', %s', __DIR__ . DIRECTORY_SEPARATOR . 'extension', $e->getMessage()), $e, 1); return; } - $extension_shortcut = str_ireplace('%ncc_install', $NCC_INSTALL_PATH, $extension_shortcut); // Remove all the old extensions first. + /** * @param string $path * @param Filesystem $filesystem @@ -674,12 +382,7 @@ return false; } - if ($filesystem->exists($path . DIRECTORY_SEPARATOR . 'ncc')) - { - return true; - } - - return false; + return $filesystem->exists($path . DIRECTORY_SEPARATOR . 'ncc'); } if(function_exists('get_include_path')) @@ -693,7 +396,9 @@ foreach($include_paths as $path) { if($extension_registered) + { break; + } switch($path) { @@ -717,27 +422,6 @@ } } - // Overwrite automatic values created by the installer - $config_obj['ncc']['data_directory'] = $NCC_DATA_PATH; - $config_obj['php']['executable_path'] = $NCC_PHP_EXECUTABLE; - $config_obj['git']['executable_path'] = $NCC_EXECUTABLE_FINDER->find('git'); - $config_obj['composer']['executable_path'] = $NCC_EXECUTABLE_FINDER->find('composer'); - - if($config_obj['git']['executable_path'] == null) - { - Console::outWarning('Cannot locate the executable path for \'git\', run \'ncc config -p git.executable_path -v "GIT_PATH_HERE"\' as root to update the path'); - } - - if(!$update_composer) - { - Console::outWarning('Since composer is not installed alongside NCC, the installer will attempt to locate a install of composer on your system and configure NCC to use that'); - $config_obj['composer']['enable_internal_composer'] = false; - if($config_obj['composer']['executable_path'] == null) - { - Console::outWarning('Cannot locate the executable path for \'composer\', run \'ncc config --composer.executable_path="composer.phar"\' as root to update the path'); - } - } - // Backup the configuration file $config_backup = null; @@ -770,18 +454,20 @@ { // handle the arguments, merge one by one $args = func_get_args(); - $array = $args[0]; - if (!is_array($array)) + + if (!is_array($args[0])) { - return $array; + return $args[0]; } - for ($i = 1; $i < count($args); $i++) + + for ($i = 1, $i_max = count($args); $i < $i_max; $i++) { if (is_array($args[$i])) { $array = recurse($array, $args[$i]); } } + return $array; } } @@ -799,7 +485,7 @@ { foreach ($array1 as $key => $value) { - // create new key in $array, if it is empty or not an array + // create new key in $array if it is empty or not an array /** @noinspection PhpConditionAlreadyCheckedInspection */ if (!isset($array[$key]) || (isset($array[$key]) && !is_array($array[$key]))) { @@ -811,6 +497,7 @@ { $value = recurse($array[$key], $value); } + $array[$key] = $value; } return $array; @@ -819,9 +506,11 @@ if($config_backup !== null) + { $config_obj = array_replace_recursive($config_obj, $config_backup); + } - if($config_backup == null) + if($config_backup === null) { Console::out('Generating ncc.yaml'); } @@ -840,57 +529,6 @@ return; } - if($NCC_FILESYSTEM->exists(__DIR__ . DIRECTORY_SEPARATOR . 'repositories')) - { - if(!$NCC_FILESYSTEM->exists(__DIR__ . DIRECTORY_SEPARATOR . 'repositories' . DIRECTORY_SEPARATOR . 'custom_repositories.json')) - return; - - try - { - $custom_repositories = Functions::loadJsonFile(__DIR__ . DIRECTORY_SEPARATOR . 'repositories' . DIRECTORY_SEPARATOR . 'custom_repositories.json', Functions::FORCE_ARRAY); - } - catch(Exception $e) - { - $custom_repositories = null; - Console::outWarning(sprintf('Failed to load custom repositories: %s', $e->getMessage())); - } - - if($custom_repositories !== null) - { - $source_manager = new RemoteSourcesManager(); - foreach($custom_repositories as $repository) - { - $repo_path = __DIR__ . DIRECTORY_SEPARATOR . 'repositories' . DIRECTORY_SEPARATOR . $repository; - if($NCC_FILESYSTEM->exists($repo_path)) - { - try - { - $definedEntry = DefinedRemoteSource::fromArray(Functions::loadJsonFile($repo_path, Functions::FORCE_ARRAY)); - if(!$source_manager->getRemoteSource($definedEntry->getName())) - $source_manager->addRemoteSource($definedEntry); - } - catch(Exception $e) - { - Console::outWarning(sprintf('Failed to load custom repository %s: %s', $repository, $e->getMessage())); - } - } - else - { - Console::outWarning(sprintf('Failed to load custom repository %s, file does not exist', $repository)); - } - } - - try - { - $source_manager->save(); - } - catch (\ncc\Exceptions\IOException $e) - { - Console::outWarning(sprintf('Failed to save sources: %s', $e->getMessage())); - } - } - } - Console::out('NCC version: ' . NCC_VERSION_NUMBER . ' has been successfully installed'); Console::out('For licensing information see \'' . $NCC_INSTALL_PATH . DIRECTORY_SEPARATOR . 'LICENSE\' or run \'ncc help --license\''); diff --git a/src/ncc/CLI/Commands/BuildCommand.php b/src/ncc/CLI/Commands/BuildCommand.php index 5e8dbfe..5dcfb16 100644 --- a/src/ncc/CLI/Commands/BuildCommand.php +++ b/src/ncc/CLI/Commands/BuildCommand.php @@ -34,29 +34,26 @@ /** * Displays the main help menu * - * @param $args - * @return void - * @noinspection PhpNoReturnAttributeCanBeAddedInspection + * @param array $args + * @return int */ - public static function start($args): void + public static function start(array $args): int { if(isset($args['help'])) { - self::displayOptions(); - exit(0); + return self::displayOptions(); } - self::build($args); - exit(0); + return self::build($args); } /** * Builds the current project * - * @param $args - * @return void + * @param array $args + * @return int */ - private static function build($args): void + private static function build(array $args): int { if(isset($args['path']) || isset($args['p'])) { @@ -69,7 +66,7 @@ else { Console::outError('Missing option: --path|-p, please specify the path to the project', true, 1); - return; + return 1; } // Load the project @@ -80,35 +77,31 @@ catch (Exception $e) { Console::outException('There was an error loading the project', $e, 1); - return; + return 1; } // Build the project try { - $build_configuration = BuildConfigurationValues::DEFAULT; - if(isset($args['config'])) - { - $build_configuration = $args['config']; - } - + $build_configuration = $args['config'] ?? BuildConfigurationValues::DEFAULT; $output = $project_manager->build($build_configuration); } catch (Exception $e) { Console::outException('Failed to build project', $e, 1); - return; + return 1; } Console::out($output); + return 0; } /** * Displays the main options section * - * @return void + * @return int */ - private static function displayOptions(): void + private static function displayOptions(): int { $options = [ new CliHelpSection(['help'], 'Displays this help menu about the value command'), @@ -125,5 +118,7 @@ { Console::out(' ' . $option->toString($options_padding)); } + + return 0; } } \ No newline at end of file diff --git a/src/ncc/CLI/Commands/ExecCommand.php b/src/ncc/CLI/Commands/ExecCommand.php index f4a109c..4c4dfcd 100644 --- a/src/ncc/CLI/Commands/ExecCommand.php +++ b/src/ncc/CLI/Commands/ExecCommand.php @@ -33,18 +33,17 @@ /** * Displays the main help menu * - * @param $args - * @return void + * @param array $args + * @return int */ - public static function start($args): void + public static function start(array $args): int { $package = $args['package'] ?? null; $version = $args['exec-version'] ?? 'latest'; - if($package == null) + if($package === null) { - self::displayOptions(); - exit(0); + return self::displayOptions(); } try @@ -54,26 +53,26 @@ catch(Exception $e) { Console::outException('Cannot import package ' . $package, $e, 1); - return; + return 1; } try { - exit(Runtime::execute($package_name)); + return Runtime::execute($package_name); } catch(Exception $e) { Console::outException($e->getMessage(), $e, 1); - return; + return 1; } } /** * Displays the main options section * - * @return void + * @return int */ - private static function displayOptions(): void + private static function displayOptions(): int { $options = [ new CliHelpSection(['help'], 'Displays this help menu about the value command'), @@ -97,5 +96,7 @@ Console::out(' ncc exec --package com.example.program'); Console::out(' ncc exec --package com.example.program --exec-version 1.0.0'); Console::out(' ncc exec --package com.example.program --exec-args --foo --bar --extra=test'); + + return 0; } } \ No newline at end of file diff --git a/src/ncc/CLI/HelpMenu.php b/src/ncc/CLI/HelpMenu.php index a192b8f..0144814 100644 --- a/src/ncc/CLI/HelpMenu.php +++ b/src/ncc/CLI/HelpMenu.php @@ -34,11 +34,11 @@ * Displays the main help menu * * @param $args - * @return void + * @return int * @throws IOException * @throws PathNotFoundException */ - public static function start($args): void + public static function start($args): int { $basic_ascii = false; @@ -59,6 +59,8 @@ self::displayMainOptions(); self::displayManagementCommands(); self::displayMainCommands(); + + return 0; } /** @@ -89,10 +91,10 @@ Console::out('Management Commands:'); Console::outHelpSections([ new CliHelpSection(['project'], 'Manages the current project'), - new CliHelpSection(['package'], 'Manages the package system'), + new CliHelpSection(['package', 'pkg'], 'Manages the package system'), new CliHelpSection(['cred'], 'Manages credentials'), new CliHelpSection(['config'], 'Changes ncc configuration values'), - new CliHelpSection(['source'], 'Manages remote sources'), + new CliHelpSection(['repo'], 'Manages/Configure repositories'), ]); } diff --git a/src/ncc/CLI/Main.php b/src/ncc/CLI/Main.php index 8d2d4f1..d45227e 100644 --- a/src/ncc/CLI/Main.php +++ b/src/ncc/CLI/Main.php @@ -25,21 +25,20 @@ namespace ncc\CLI; use Exception; - use ncc\Enums\LogLevel; - use ncc\Enums\NccBuildFlags; + use ncc\Classes\ShutdownHandler; use ncc\CLI\Commands\BuildCommand; use ncc\CLI\Commands\ExecCommand; use ncc\CLI\Management\ConfigMenu; use ncc\CLI\Management\CredentialMenu; use ncc\CLI\Management\PackageManagerMenu; use ncc\CLI\Management\ProjectMenu; - use ncc\CLI\Management\SourcesMenu; + use ncc\CLI\Management\RepositoryMenu; + use ncc\Enums\Flags\NccBuildFlags; + use ncc\Enums\LogLevel; use ncc\Exceptions\PathNotFoundException; use ncc\ncc; use ncc\Utilities\Console; - use ncc\Utilities\Functions; use ncc\Utilities\Resolver; - use ncc\Utilities\RuntimeCache; class Main { @@ -56,141 +55,141 @@ /** * Executes the main CLI process * - * @param $argv - * @return void + * @param array $argv + * @return int */ - public static function start($argv): void + public static function start(array $argv): int { self::$args = Resolver::parseArguments(implode(' ', $argv)); - if(isset(self::$args['ncc-cli'])) + if(!isset(self::$args['ncc-cli'])) { - // Initialize ncc - try - { - ncc::initialize(); - } - catch (PathNotFoundException $e) - { - Console::outException('Cannot initialize ncc, one or more files were not found.', $e, 1); - } - catch (Exception $e) - { - Console::outException('Cannot initialize ncc due to an unexpected error.', $e, 1); - } - - define('NCC_CLI_MODE', 1); - register_shutdown_function('ncc\CLI\Main::shutdown'); - - if(isset(self::$args['l']) || isset(self::$args['log-level'])) - { - switch(strtolower(self::$args['l'] ?? self::$args['log-level'])) - { - case LogLevel::SILENT: - case LogLevel::FATAL: - case LogLevel::ERROR: - case LogLevel::WARNING: - case LogLevel::INFO: - case LogLevel::DEBUG: - case LogLevel::VERBOSE: - self::$log_level = strtolower(self::$args['l'] ?? self::$args['log-level']); - break; - - default: - Console::outWarning('Unknown log level: ' . (self::$args['l'] ?? self::$args['log-level']) . ', using \'info\''); - self::$log_level = LogLevel::INFO; - break; - } - } - else - { - self::$log_level = LogLevel::INFO; - } - - if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG)) - { - Console::outDebug('Debug logging enabled'); - /** @noinspection JsonEncodingApiUsageInspection */ - Console::outDebug(sprintf('const: %s', json_encode(ncc::getConstants(), JSON_UNESCAPED_SLASHES))); - /** @noinspection JsonEncodingApiUsageInspection */ - Console::outDebug(sprintf('args: %s', json_encode(self::$args, JSON_UNESCAPED_SLASHES))); - } - - if(in_array(NccBuildFlags::UNSTABLE, NCC_VERSION_FLAGS, true)) - { - Console::outWarning('This is an unstable build of ncc, expect some features to not work as expected'); - } - - if(isset(self::$args['version'])) - { - self::displayVersion(); - exit(0); - } - - try - { - switch(strtolower(self::$args['ncc-cli'])) - { - default: - Console::out('Unknown command ' . strtolower(self::$args['ncc-cli'])); - break; - - case 'project': - ProjectMenu::start(self::$args); - break; - - case 'build': - BuildCommand::start(self::$args); - break; - - case 'exec': - ExecCommand::start(self::$args); - break; - - case 'cred': - CredentialMenu::start(self::$args); - break; - - case 'package': - PackageManagerMenu::start(self::$args); - break; - - case 'config': - ConfigMenu::start(self::$args); - break; - - case 'source': - SourcesMenu::start(self::$args); - break; - - case 'version': - self::displayVersion(); - break; - - case '1': - case 'help': - HelpMenu::start(self::$args); - break; - } - } - catch(Exception $e) - { - Console::outException($e->getMessage(), $e, 1); - exit(1); - } - - exit(0); + Console::outError('No command specified, please verify your command and try again.', true, 1); + return 1; } + + // Initialize ncc + try + { + ncc::initialize(); + } + catch (PathNotFoundException $e) + { + Console::outException('Cannot initialize ncc, one or more files were not found.', $e, 1); + return 1; + } + catch (Exception $e) + { + Console::outException('Cannot initialize ncc due to an unexpected error.', $e, 1); + return 1; + } + + define('NCC_CLI_MODE', 1); + register_shutdown_function([ShutdownHandler::class, 'shutdown']); + + if(isset(self::$args['l']) || isset(self::$args['log-level'])) + { + switch(strtolower(self::$args['l'] ?? self::$args['log-level'])) + { + case LogLevel::SILENT: + case LogLevel::FATAL: + case LogLevel::ERROR: + case LogLevel::WARNING: + case LogLevel::INFO: + case LogLevel::DEBUG: + case LogLevel::VERBOSE: + self::$log_level = strtolower(self::$args['l'] ?? self::$args['log-level']); + break; + + default: + Console::outWarning('Unknown log level: ' . (self::$args['l'] ?? self::$args['log-level']) . ', using \'info\''); + self::$log_level = LogLevel::INFO; + break; + } + } + else + { + self::$log_level = LogLevel::INFO; + } + + if(Resolver::checkLogLevel(self::$log_level, LogLevel::DEBUG)) + { + Console::outDebug('Debug logging enabled'); + + /** @noinspection JsonEncodingApiUsageInspection */ + Console::outDebug(sprintf('const: %s', json_encode(ncc::getConstants(), JSON_UNESCAPED_SLASHES))); + + /** @noinspection JsonEncodingApiUsageInspection */ + Console::outDebug(sprintf('args: %s', json_encode(self::$args, JSON_UNESCAPED_SLASHES))); + } + + if(in_array(NccBuildFlags::UNSTABLE, NCC_VERSION_FLAGS, true)) + { + Console::outWarning('This is an unstable build of ncc, expect some features to not work as expected'); + } + + if(isset(self::$args['version'])) + { + self::displayVersion(); + return 0; + } + + try + { + switch(strtolower(self::$args['ncc-cli'])) + { + default: + Console::out('Unknown command ' . strtolower(self::$args['ncc-cli'])); + break; + + case 'project': + return ProjectMenu::start(self::$args); + + case 'build': + return BuildCommand::start(self::$args); + + case 'exec': + return ExecCommand::start(self::$args); + + case 'cred': + return CredentialMenu::start(self::$args); + + case 'pkg': + case 'package': + return PackageManagerMenu::start(self::$args); + + case 'config': + return ConfigMenu::start(self::$args); + + case 'repo': + return RepositoryMenu::start(self::$args); + + case 'version': + return self::displayVersion(); + + case '1': + case 'help': + return HelpMenu::start(self::$args); + } + } + catch(Exception $e) + { + Console::outException($e->getMessage(), $e, 1); + return 1; + } + + return 0; } /** * Displays the current version of ncc * - * @return void + * @return int */ - private static function displayVersion(): void + private static function displayVersion(): int { Console::out(sprintf('ncc version %s (%s)', NCC_VERSION_NUMBER, NCC_VERSION_BRANCH)); + return 0; } /** @@ -228,21 +227,4 @@ return self::$log_level; } - - /** - * @return void - */ - public static function shutdown(): void - { - try - { - RuntimeCache::clearCache(); - Functions::finalizePermissions(); - } - catch (Exception $e) - { - Console::outWarning('An error occurred while shutting down ncc, ' . $e->getMessage()); - } - } - } \ No newline at end of file diff --git a/src/ncc/CLI/Management/ConfigMenu.php b/src/ncc/CLI/Management/ConfigMenu.php index 7167afe..e28ab88 100644 --- a/src/ncc/CLI/Management/ConfigMenu.php +++ b/src/ncc/CLI/Management/ConfigMenu.php @@ -39,19 +39,19 @@ * Displays the main help menu * * @param $args - * @return void + * @return int * @throws IOException * @throws AuthenticationException */ - public static function start($args): void + public static function start($args): int { if(isset($args['sample'])) { $sample_file = __DIR__ . DIRECTORY_SEPARATOR . 'template_config.yaml'; - if(!file_exists($sample_file)) + if(!is_file($sample_file)) { Console::outError('Cannot display sample, file template_config.yaml was not found', true, 1); - return; + return 1; } $handle = fopen($sample_file, 'rb'); @@ -59,7 +59,7 @@ if (!$handle) { Console::outError('Cannot display sample, error reading template_config.yaml', true, 1); - return; + return 1; } while (($line = fgets($handle)) !== false) @@ -68,22 +68,22 @@ } fclose($handle); - exit(0); + return 0; } if(isset($args['read'])) { - if(!file_exists(PathFinder::getConfigurationFile())) + if(!is_file(PathFinder::getConfigurationFile())) { Console::outError('Cannot read configuration file, path not found', true, 1); - return; + return 1; } $handle = fopen(PathFinder::getConfigurationFile(), 'rb'); if (!$handle) { Console::outError('Cannot display configuration file, error reading file', true, 1); - return; + return 1; } while (($line = fgets($handle)) !== false) @@ -92,7 +92,7 @@ } fclose($handle); - exit(0); + return 0; } if(isset($args['p'])) @@ -104,7 +104,7 @@ if(Resolver::resolveScope() !== Scopes::SYSTEM) { Console::outError('Insufficient permissions, cannot modify configuration values', true, 1); - return; + return 1; } if(strtolower($args['v']) === 'null') @@ -115,11 +115,11 @@ if($configuration_manager->updateProperty($args['p'], $args['v'])) { $configuration_manager->save(); - exit(0); + return 0; } Console::outError(sprintf('Unknown property %s', $args['p']), true, 1); - return; + return 1; } $value = $configuration_manager->getProperty($args['p']); @@ -144,20 +144,19 @@ Console::out((string)$value); } - exit(0); + + return 0; } - self::displayOptions(); - exit(0); - + return self::displayOptions(); } /** * Displays the main options section * - * @return void + * @return int */ - private static function displayOptions(): void + private static function displayOptions(): int { $options = [ new CliHelpSection(['sample'], 'Displays a sample configuration file with documentation'), @@ -178,5 +177,6 @@ Console::out('If `v` is not specified the property will be displayed'); Console::out('If `v` is specified but `null` is set, the default value or null will be used'); Console::out('For documentation run `ncc config sample`'); + return 0; } } \ No newline at end of file diff --git a/src/ncc/CLI/Management/CredentialMenu.php b/src/ncc/CLI/Management/CredentialMenu.php index 58bd4ed..712294d 100644 --- a/src/ncc/CLI/Management/CredentialMenu.php +++ b/src/ncc/CLI/Management/CredentialMenu.php @@ -1,30 +1,29 @@ getMessage()), $e, 1); + return 1; } - - return; } if(isset($args['remove'])) { try { - self::removeEntry($args); + return self::removeEntry($args); } catch(Exception $e) { - Console::outException('Cannot remove entry.', $e, 1); + Console::outException(sprintf('Cannot remove entry: %s', $e->getMessage()), $e, 1); + return 1; } - - return; } if(isset($args['list'])) { try { - self::listEntries(); + return self::listEntries(); } catch(Exception $e) { - Console::outException('Cannot list entries.', $e, 1); + Console::outException(sprintf('Cannot list entries: %s', $e->getMessage()), $e, 1); + return 1; } - - return; } if(isset($args['test'])) { try { - self::testEntry($args); + return self::testEntry($args); } catch(Exception $e) { - Console::outException('Cannot test entry.', $e, 1); + Console::outException(sprintf('Cannot test entry: %s', $e->getMessage()), $e, 1); + return 1; } - - return; } - self::displayOptions(); + return self::displayOptions(); } /** * Tests an entry authentication * * @param $args - * @return void + * @return int */ - public static function testEntry($args): void + public static function testEntry($args): int { $name = $args['name'] ?? $args['alias'] ?? null; if($name === null) { Console::outError('Please specify a name or alias for the entry.', true, 1); - return; + return 1; } - $credential_manager = new CredentialManager(); - $entry = $credential_manager->getVault()->getEntry($name); + $entry = (new CredentialManager())->getVault()?->getEntry($name); if($entry === null) { Console::out('Entry not found.', true, 1); - return; + return 1; } if($entry->isEncrypted()) @@ -141,7 +135,7 @@ namespace ncc\CLI\Management; if ($tries >= 3) { Console::outError('Too many failed attempts.', true, 1); - return; + return 1; } Console::outError('Invalid password.', true, 1); @@ -149,31 +143,31 @@ namespace ncc\CLI\Management; else { Console::out('Authentication successful.'); - return; + return 1; } } } - else { Console::out('Authentication always successful, entry is not encrypted.'); } + + return 0; } /** * Prints the list of entries in the vault * - * @return void + * @return int */ - public static function listEntries(): void + public static function listEntries(): int { - $credential_manager = new CredentialManager(); - $entries = $credential_manager->getVault()->getEntries(); + $entries = (new CredentialManager())->getVault()?->getEntries(); if(count($entries) === 0) { Console::out('No entries found.'); - return; + return 0; } Console::out('Entries:'); @@ -183,18 +177,21 @@ namespace ncc\CLI\Management; } Console::out('Total: ' . count($entries)); + return 0; } /** * @param $args - * @return void + * @return int */ - public static function addEntry($args): void + public static function addEntry($args): int { $ResolvedScope = Resolver::resolveScope(); if($ResolvedScope !== Scopes::SYSTEM) + { Console::outError('Insufficient permissions to add entries'); + } // Really dumb-proofing this $name = $args['alias'] ?? $args['name'] ?? null; @@ -205,39 +202,50 @@ namespace ncc\CLI\Management; $encrypt = !isset($args['no-encryption']); if($name === null) + { $name = Console::getInput('Enter a name for the entry: '); + } if($auth_type === null) + { $auth_type = Console::getInput('Enter the authentication type (login or pat): '); + } if($auth_type === 'login') { if($username === null) + { $username = Console::getInput('Username: '); + } if($password === null) + { $password = Console::passwordInput('Password: '); + } } elseif($auth_type === 'pat') { if($token === null) + { $token = Console::passwordInput('Token: '); + } } else { Console::outError('Invalid authentication type'); + return 1; } if($name === null) { Console::outError('You must specify a name for the entry (alias, name)', true, 1); - return; + return 1; } if($auth_type === null) { Console::outError('You must specify an authentication type for the entry (auth-type, auth)', true, 1); - return; + return 1; } $encrypt = Functions::cbool($encrypt); @@ -245,106 +253,106 @@ namespace ncc\CLI\Management; switch($auth_type) { case 'login': - if($username === null) { Console::outError('You must specify a username for the entry (username, usr)', true, 1); - return; + return 1; } + if($password === null) { Console::outError('You must specify a password for the entry (password, pwd)', true, 1); - return; + return 1; } - $pass_object = new UsernamePassword(); - $pass_object->setUsername($username); - $pass_object->setPassword($password); - + $pass_object = new UsernamePassword($username, $password); break; case 'pat': - if($token === null) { Console::outError('You must specify a token for the entry (token, pat, private-token)', true, 1); - return; + return 1; } - $pass_object = new AccessToken(); - $pass_object->setAccessToken($token); - + $pass_object = new AccessToken($token); break; default: Console::outError('Invalid authentication type specified', true, 1); - return; + return 1; } $credential_manager = new CredentialManager(); - if(!$credential_manager->getVault()->addEntry($name, $pass_object, $encrypt)) + if(!$credential_manager->getVault()?->addEntry($name, $pass_object, $encrypt)) { Console::outError('Failed to add entry, entry already exists.', true, 1); - return; + return 1; } try { - $credential_manager->saveVault(); + $credential_manager->save(); } catch(Exception $e) { Console::outException('Failed to save vault', $e, 1); - return; + return 1; } Console::out('Successfully added entry', true, 0); + return 0; } /** * Removes an existing entry from the vault. * * @param $args - * @return void + * @return int */ - private static function removeEntry($args): void + private static function removeEntry($args): int { $ResolvedScope = Resolver::resolveScope(); if($ResolvedScope !== Scopes::SYSTEM) + { Console::outError('Insufficient permissions to remove entries'); + } $name = $args['alias'] ?? $args['name'] ?? null; if($name === null) + { $name = Console::getInput('Enter the name of the entry to remove: '); + } $credential_manager = new CredentialManager(); - if(!$credential_manager->getVault()->deleteEntry($name)) + if(!$credential_manager->getVault()?->deleteEntry($name)) { Console::outError('Failed to remove entry, entry does not exist.', true, 1); - return; + return 1; } try { - $credential_manager->saveVault(); + $credential_manager->save(); } catch(Exception $e) { Console::outException('Failed to save vault', $e, 1); - return; + return 1; } Console::out('Successfully removed entry', true, 0); + return 0; } /** * Displays the main options section * - * @return void + * @return int */ - private static function displayOptions(): void + private static function displayOptions(): int { Console::out('Usage: ncc cred {command} [options]'); Console::out('Options:'); @@ -385,5 +393,7 @@ namespace ncc\CLI\Management; Console::out(' ncc cred add --alias "My Alias" --auth-type login --username "myusername" --password "mypassword"'); Console::out(' ncc cred add --alias "My Alias" --auth-type pat --token "mytoken" --no-encryption'); Console::out(' ncc cred remove --alias "My Alias"'); + + return 0; } } \ No newline at end of file diff --git a/src/ncc/CLI/Management/PackageManagerMenu.php b/src/ncc/CLI/Management/PackageManagerMenu.php index f46006b..f075ea1 100644 --- a/src/ncc/CLI/Management/PackageManagerMenu.php +++ b/src/ncc/CLI/Management/PackageManagerMenu.php @@ -23,20 +23,19 @@ namespace ncc\CLI\Management; use Exception; - use JsonException; + use ncc\Classes\PackageReader; use ncc\Enums\ConsoleColors; - use ncc\Enums\Options\InstallPackageOptions; - use ncc\Enums\Scopes; + use ncc\Enums\RegexPatterns; + use ncc\Exceptions\ConfigurationException; use ncc\Exceptions\IOException; - use ncc\Managers\CredentialManager; - use ncc\Managers\PackageManagerOld; + use ncc\Exceptions\OperationException; + use ncc\Exceptions\PathNotFoundException; + use ncc\Managers\PackageManager; + use ncc\Managers\RepositoryManager; use ncc\Objects\CliHelpSection; - use ncc\Objects\Package; use ncc\Objects\RemotePackageInput; use ncc\Utilities\Console; use ncc\Utilities\Functions; - use ncc\Utilities\Resolver; - use ncc\Utilities\Validate; class PackageManagerMenu { @@ -44,49 +43,20 @@ * Displays the main help menu * * @param $args - * @return void + * @return int */ - public static function start($args): void + public static function start($args): int { if(isset($args['install'])) { try { - self::installPackage($args); - return; + return self::installPackage($args); } catch (Exception $e) { - Console::outException('Installation Failed', $e, 1); - return; - } - } - - if(isset($args['uninstall'])) - { - try - { - self::uninstallPackage($args); - return; - } - catch (Exception $e) - { - Console::outException('Uninstallation Failed', $e, 1); - return; - } - } - - if(isset($args['uninstall-all'])) - { - try - { - self::uninstallAllPackages($args); - return; - } - catch (Exception $e) - { - Console::outException('Uninstallation Failed', $e, 1); - return; + Console::outException(sprintf('Unable to install package: %s', $e->getMessage()), $e, 1); + return 1; } } @@ -94,32 +64,196 @@ { try { - self::getInstallPackages($args); - return; + return self::listPackages(); } catch(Exception $e) { - Console::outException('List Failed', $e, 1); - return; + Console::outException(sprintf('Unable to list packages: %s', $e->getMessage()), $e, 1); + return 1; } } - if(isset($args['sdc'])) + if(isset($args['uninstall'])) { try { - self::semiDecompile($args); - return; + return self::uninstallPackage($args); } catch(Exception $e) { - Console::outException('List Failed', $e, 1); - return; + Console::outException(sprintf('Unable to uninstall package: %s', $e->getMessage()), $e, 1); + return 1; } } - self::displayOptions(); - exit(0); + if(isset($args['uninstall-all'])) + { + try + { + return self::uninstallAllPackages(); + } + catch(Exception $e) + { + Console::outException(sprintf('Unable to uninstall packages: %s', $e->getMessage()), $e, 1); + return 1; + } + } + + if(isset($args['fix-broken'])) + { + try + { + return self::fixBrokenPackages($args); + } + catch(Exception $e) + { + Console::outException(sprintf('Unable to fix missing packages: %s', $e->getMessage()), $e, 1); + return 1; + } + } + + return self::displayOptions(); + } + + /** + * @param array $args + * @return int + * @throws ConfigurationException + * @throws IOException + * @throws OperationException + * @throws PathNotFoundException + */ + private static function installPackage(array $args): int + { + $package = $args['package'] ?? $args['p'] ?? null; + $auto_yes = isset($args['y']); + $repository_manager = new RepositoryManager(); + $package_manager = new PackageManager(); + + + if(preg_match(RegexPatterns::REMOTE_PACKAGE, $package) === 1) + { + $package_input = RemotePackageInput::fromString($package); + + if(!$repository_manager->repositoryExists($package_input->getRepository())) + { + Console::outError(sprintf("Unable to find repository '%s'", $package_input->getRepository()), true, 1); + return 1; + } + + Console::out(sprintf('You are about to install a remote package from %s, this will require ncc to fetch and or build the package', $package_input->getRepository())); + if(!Console::getBooleanInput('Do you want to continue?')) + { + return 0; + } + + $results = $package_manager->install($package_input); + Console::out(sprintf('Installed %d packages', count($results))); + return 0; + } + + if(!is_file($package)) + { + Console::outError(sprintf("Unable to find package '%s'", $package), true, 1); + return 1; + } + + try + { + $package_reader = new PackageReader($package); + } + catch(Exception $e) + { + Console::outException(sprintf("Unable to read package '%s'", $package), $e, 1); + return 1; + } + + if($package_manager->getPackageLock()->entryExists($package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion())) + { + Console::outError(sprintf("Package '%s=%s' is already installed", + $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion()), true, 1 + ); + return 1; + } + + $required_dependencies = $package_manager->checkRequiredDependencies($package_reader); + + foreach($required_dependencies as $dependency) + { + if($dependency->getSource() === null) + { + Console::outError(sprintf('The package %s=%s requires the package %s=%s to be installed, but it is not installed and no source was specified', + $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion(), + $dependency->getName(), $dependency->getVersion() + ), true, 1); + return 1; + } + + if(!$repository_manager->repositoryExists(RemotePackageInput::fromString($dependency->getSource())->getRepository())) + { + Console::outError(sprintf('The package %s=%s requires the package %s=%s to be installed, but it is not installed and the repository %s does not exist on your system', + $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion(), + $dependency->getName(), $dependency->getVersion(), + $dependency->getSource() + ), true, 1); + return 1; + } + } + + Console::out('Package installation information:'); + Console::out(' UUID: ' . $package_reader->getAssembly()->getUuid()); + Console::out(' Name: ' . $package_reader->getAssembly()->getName()); + Console::out(' Package: ' . $package_reader->getAssembly()->getPackage()); + Console::out(' Version: ' . $package_reader->getAssembly()->getVersion()); + + if($package_reader->getAssembly()->getCompany() !== null) + { + Console::out(' Company: ' . $package_reader->getAssembly()->getCompany()); + } + + if($package_reader->getAssembly()->getProduct() !== null) + { + Console::out(' Product: ' . $package_reader->getAssembly()->getProduct()); + } + + if($package_reader->getAssembly()->getCopyright() !== null) + { + Console::out(' Company: ' . $package_reader->getAssembly()->getCompany()); + } + + if($package_reader->getAssembly()->getTrademark() !== null) + { + Console::out(' Trademark: ' . $package_reader->getAssembly()->getTrademark()); + } + + if($package_reader->getAssembly()->getDescription() !== null) + { + Console::out(' Description: ' . $package_reader->getAssembly()->getDescription()); + } + + if(count($required_dependencies) > 0) + { + Console::out(PHP_EOL . 'This will also install the following dependencies:'); + Console::out('Note: some dependencies may require additional dependencies which will be installed automatically'); + + foreach($required_dependencies as $dependency) + { + Console::out(sprintf(' %s=%s from %s', + $dependency->getName(), + $dependency->getVersion(), + RemotePackageInput::fromString($dependency->getSource())->getRepository() + )); + } + } + + Console::out((string)null); + if(!$auto_yes && !Console::getBooleanInput('Do you want to continue?')) + { + return 0; + } + + $package_manager->install($package_reader); + return 0; } /** @@ -151,599 +285,160 @@ } /** - * Semi-Decompiles a package and prints it to the console + * Prints a list of all installed packages * - * @param $args - * @return void + * @return int */ - private static function semiDecompile($args): void + private static function listPackages(): int { - $path = ($args['package'] ?? $args['p']); + $packages = (new PackageManager())->getInstalledPackages(); - if(!file_exists($path) || !is_file($path) || !is_readable($path)) + foreach($packages as $package) { - Console::outError('The specified file does not exist or is not readable', true, 1); + Console::out(sprintf(' %s', $package)); } - try - { - $package = Package::load($path); - } - catch(Exception $e) - { - Console::outException('Error while loading package', $e, 1); - return; - } - - try - { - Console::out('magic_bytes: ' . json_encode(($package->getMagicBytes()?->toArray() ?? []), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - Console::out('header: ' . json_encode(($package->getMetadata()?->toArray() ?? []), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - Console::out('assembly: ' . json_encode(($package->getAssembly()?->toArray() ?? []), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - Console::out('installer: ' . json_encode(($package->getInstaller()?->toArray() ?? []), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); - } - catch(JsonException $e) - { - Console::outException('Error while printing package header', $e, 1); - return; - } - - Console::out('main: ' . ($package->getMainExecutionPolicy() ?? 'N/A')); - - if(count($package->getDependencies()) > 0) - { - Console::out('dependencies:'); - foreach($package->getDependencies() as $dependency) - { - try - { - Console::out(' - ' . json_encode($dependency->toArray(), JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES)); - } - catch(JsonException $e) - { - Console::outException('Error while printing dependency', $e, 1); - return; - } - } - } - else - { - Console::out('dependencies: N/A'); - } - - if(count($package->getExecutionUnits()) > 0) - { - Console::out('execution_units:'); - foreach($package->getExecutionUnits() as $unit) - { - try - { - Console::out(' - ' . json_encode($unit->toArray(), JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES)); - } - catch(JsonException $e) - { - Console::outException('Error while printing execution unit', $e, 1); - return; - } - } - } - else - { - Console::out('execution_units: N/A'); - } - - if(count($package->getResources()) > 0) - { - Console::out('resources:'); - foreach($package->getResources() as $resource) - { - Console::out(' - ' . sprintf('%s - (%s)', $resource->getName(), Functions::b2u(strlen($resource->getData())))); - } - } - else - { - Console::out('resources: N/A'); - } - - if(count($package->getComponents()) > 0) - { - Console::out('components:'); - foreach($package->getComponents() as $component) - { - try - { - Console::out(' - ' . sprintf('#%s %s - %s', $component->getDataType(), $component->getName(), json_encode(($component->getFlags() ?? []), JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES))); - } - catch(JsonException $e) - { - Console::outException('Error while printing component', $e, 1); - return; - } - } - } - else - { - Console::out('components: N/A'); - } - - exit(0); + Console::out(sprintf('Total: %d packages', count($packages))); + return 0; } /** - * Displays all installed packages + * Uninstalls a package from the system * * @param $args - * @return void + * @return int + * @throws IOException + * @throws OperationException */ - private static function getInstallPackages($args): void + private static function uninstallPackage($args): int { - $package_manager = new PackageManagerOld(); + $package = $args['package'] ?? $args['p'] ?? null; + $version = $args['version'] ?? $args['v'] ?? null; - try + if($package === null) { - $installed_packages = $package_manager->getInstalledPackages(); - } - catch (Exception $e) - { - Console::outException('Failed to get installed packages', $e, 1); - return; + Console::outError('No package specified', true, 1); + return 1; } - if(isset($args['tree'])) + $results = (new PackageManager())->uninstall($package, $version); + Console::out(sprintf('Uninstalled %d packages', count($results))); + + return 0; + } + + /** + * Uninstall all packages from the system + * + * @return int + * @throws IOException + * @throws OperationException + */ + private static function uninstallAllPackages(): int + { + if(!Console::getBooleanInput('Are you sure you want to uninstall all packages?')) { - self::printTree($package_manager->getPackageTree()); + Console::out('Uninstallation aborted'); + return 0; } - else + + $results = (new PackageManager())->uninstallAll(); + + foreach($results as $package) { - foreach($installed_packages as $package => $versions) + Console::out(sprintf(' %s', $package)); + } + + Console::out(sprintf('Uninstalled %d packages', count($results))); + return 0; + } + + /** + * Attempts to fix broken packages by installing missing dependencies + * + * @param array $args + * @return int + * @throws ConfigurationException + * @throws IOException + * @throws OperationException + * @throws PathNotFoundException + */ + private static function fixBrokenPackages(array $args): int + { + $package_manager = new PackageManager(); + $results = $package_manager->getMissingPackages(); + $auto_yes = isset($args['y']); + + if(count($results) === 0) + { + Console::out('No missing packages found'); + return 0; + } + + Console::out('The following packages that are required by other packages are missing:'); + $unfixable_count = 0; + foreach($results as $package => $source) + { + if($source === null) { - if(count($versions) === 0) + ++$unfixable_count; + continue; + } + + Console::out(sprintf(' %s', $package)); + } + + if($unfixable_count > 0) + { + Console::out('The following packages packages cannot be fixed because they are missing and no source was specified:'); + foreach($results as $package => $source) + { + if($source !== null) { continue; } - foreach($versions as $version) - { - try - { - $package_version = $package_manager->getPackageVersion($package, $version); - if($package_version === null) - { - continue; - } - - Console::out(sprintf('%s=%s (%s)', - Console::formatColor($package, ConsoleColors::LIGHT_GREEN), - Console::formatColor($version, ConsoleColors::LIGHT_MAGENTA), - $package_manager->getPackageVersion($package, $version)->getCompiler()->getExtension() - )); - } - catch(Exception $e) - { - unset($e); - Console::out(sprintf('%s=%s (%s)', - Console::formatColor($package, ConsoleColors::LIGHT_GREEN), - Console::formatColor($version, ConsoleColors::LIGHT_MAGENTA), - Console::formatColor('N/A', ConsoleColors::LIGHT_RED) - )); - } - } + Console::out(sprintf(' %s', $package)); } } - } - /** - * @param $args - * @return void - */ - private static function installPackage($args): void - { - $package = ($args['package'] ?? $args['p']); - $package_manager = new PackageManagerOld(); - - if(Resolver::resolveScope() !== Scopes::SYSTEM) + if(!$auto_yes && !Console::getBooleanInput('Do you want attempt to fix these missing packages?')) { - Console::outError('Insufficient permissions to install packages', true, 1); - return; + return 0; } - // check if authentication is provided - $entry_arg = ($args['auth'] ?? null); - $credential_manager = new CredentialManager(); - - if($entry_arg !== null) + foreach($results as $package => $source) { - $credential = $credential_manager->getVault()?->getEntry($entry_arg); - - if($credential === null) + if($source === null) { - Console::outError(sprintf('Unknown credential entry \'%s\'', $entry_arg), true, 1); - return; - } - } - else - { - $credential = null; - } - - if($credential !== null && !$credential->isCurrentlyDecrypted()) - { - // Try three times - for($i = 0; $i < 3; $i++) - { - try - { - $credential->unlock(Console::passwordInput(sprintf('Enter Password for %s: ', $credential->getName()))); - } - catch (Exception $e) - { - Console::outException(sprintf('Failed to unlock credential %s', $credential->getName()), $e, 1); - return; - } - - if($credential->isCurrentlyDecrypted()) - { - break; - } - - Console::outWarning(sprintf('Invalid password, %d attempts remaining', 2 - $i)); + continue; } - if(!$credential->isCurrentlyDecrypted()) - { - Console::outError('Failed to unlock credential', true, 1); - return; - } + Console::out(sprintf('Fixing missing dependency %s', $package)); + $package_manager->install($source); } - - if(Validate::remotePackageInput($package)) - { - try - { - $parsed_source = new RemotePackageInput($package); - if($parsed_source->getVendor() !== null && $parsed_source->getPackage() !== null && $parsed_source->getSource() !== null) - { - $package_path = realpath($package_manager->fetchFromSource($parsed_source->toString(), $credential)); - } - else - { - Console::outError(sprintf('Invalid remote package input: %s', $package), true, 1); - return; - } - } - catch (Exception $e) - { - Console::outException('Failed to fetch package from source', $e, 1); - return; - } - } - else - { - $package_path = realpath($package); - } - - if($package_path === false) - { - Console::outError(sprintf('The specified file \'%s\' does not exist or is not readable', $package), true, 1); - } - - $user_confirmation = false; - if(isset($args['y']) || isset($args['Y'])) - { - $user_confirmation = (bool)($args['y'] ?? $args['Y']); - } - - $installer_options = []; - - if((Functions::cbool($args['skip-dependencies'] ?? false))) - { - $installer_options[] = InstallPackageOptions::SKIP_DEPENDENCIES; - } - - if(Functions::cbool($args['reinstall'] ?? false)) - { - $installer_options[] = InstallPackageOptions::REINSTALL; - } - - try - { - $package = Package::load($package_path); - } - catch(Exception $e) - { - Console::outException('Error while loading package', $e, 1); - return; - } - - Console::out('Package installation details' . PHP_EOL); - - if(!is_null($package->getAssembly()->getUuid())) - { - Console::out(' UUID: ' . Console::formatColor($package->getAssembly()->getUuid(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getPackage())) - { - Console::out(' Package: ' . Console::formatColor($package->getAssembly()->getPackage(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getName())) - { - Console::out(' Name: ' . Console::formatColor($package->getAssembly()->getName(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getVersion())) - { - Console::out(' Version: ' . Console::formatColor($package->getAssembly()->getVersion(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getDescription())) - { - Console::out(' Description: ' . Console::formatColor($package->getAssembly()->getDescription(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getProduct())) - { - Console::out(' Product: ' . Console::formatColor($package->getAssembly()->getProduct(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getCompany())) - { - Console::out(' Company: ' . Console::formatColor($package->getAssembly()->getCompany(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getCopyright())) - { - Console::out(' Copyright: ' . Console::formatColor($package->getAssembly()->getCopyright(), ConsoleColors::LIGHT_GREEN)); - } - - if(!is_null($package->getAssembly()->getTrademark())) - { - Console::out(' Trademark: ' . Console::formatColor($package->getAssembly()->getTrademark(), ConsoleColors::LIGHT_GREEN)); - } - Console::out((string)null); - - if(count($package->getDependencies()) > 0) - { - $dependencies = []; - foreach($package->getDependencies() as $dependency) - { - $require_dependency = false; - - if(!in_array(InstallPackageOptions::SKIP_DEPENDENCIES, $installer_options, true)) - { - try - { - $dependency_package = $package_manager->getPackage($dependency->getName()); - } - catch (IOException $e) - { - unset($e); - $dependency_package = null; - } - - if($dependency_package !== null) - { - try - { - $dependency_version = $dependency_package->getVersion($dependency->getVersion()); - } - catch (IOException $e) - { - unset($e); - $dependency_version = null; - } - - if($dependency_version === null) - { - $require_dependency = true; - } - } - } - - if($require_dependency) - { - $dependencies[] = sprintf(' %s %s', - Console::formatColor($dependency->getName(), ConsoleColors::GREEN), - Console::formatColor($dependency->getVersion(), ConsoleColors::LIGHT_MAGENTA) - ); - } - } - - if($dependencies !== null && count($dependencies) > 0) - { - Console::out('The package requires the following dependencies:'); - Console::out(sprintf('%s', implode(PHP_EOL, $dependencies))); - } - } - - Console::out(sprintf('Extension: %s', - Console::formatColor($package->getMetadata()->getCompilerExtension()->getExtension(), ConsoleColors::GREEN) - )); - - Console::out(sprintf('Maximum Version: %s', - Console::formatColor($package->getMetadata()->getCompilerExtension()->getMinimumVersion(), ConsoleColors::LIGHT_MAGENTA) - )); - - Console::out(sprintf('Minimum Version: %s', - Console::formatColor($package->getMetadata()->getCompilerExtension()->getMinimumVersion(), ConsoleColors::LIGHT_MAGENTA) - )); - - if(!$user_confirmation) - { - $user_confirmation = Console::getBooleanInput(sprintf('Do you want to install %s', $package->getAssembly()->getPackage())); - } - - if($user_confirmation) - { - try - { - $package_manager->install($package_path, $credential, $installer_options); - Console::out(sprintf('Package %s installed successfully', $package->getAssembly()->getPackage())); - } - catch(Exception $e) - { - Console::outException('Installation Failed', $e, 1); - } - - return; - } - - Console::outError('User cancelled installation', true, 1); - } - - /** - * Uninstalls a version of a package or all versions of a package - * - * @param $args - * @return void - * @throws IOException - */ - private static function uninstallPackage($args): void - { - $selected_package = ($args['package'] ?? $args['p']); - $selected_version = $args['version'] ?? $args['v'] ?? null; - - $user_confirmation = null; - - // For undefined array key warnings - if(isset($args['y']) || isset($args['Y'])) - { - $user_confirmation = (bool)($args['y'] ?? $args['Y']); - } - - if($selected_package === null) - { - Console::outError('Missing argument \'package\'', true, 1); - } - - $package_manager = new PackageManagerOld(); - - try - { - $package_entry = $package_manager->getPackage($selected_package); - } - catch (IOException $e) - { - Console::outException('PackageLock error', $e, 1); - return; - } - - $version_entry = null; - if($version_entry !== null && $package_entry !== null) - { - /** @noinspection PhpRedundantOptionalArgumentInspection */ - $version_entry = $package_entry->getVersion($version_entry, false); - } - - if($package_entry === null) - { - Console::outError(sprintf('Package "%s" is not installed', $selected_package), true, 1); - return; - } - - if($version_entry === null && $selected_version !== null) - { - Console::outError(sprintf('Package "%s=%s" is not installed', $selected_package, $selected_version), true, 1); - return; - } - - if($user_confirmation === null) - { - if($selected_version !== null) - { - if(!Console::getBooleanInput(sprintf('Do you want to uninstall %s=%s', $selected_package, $selected_version))) - { - Console::outError('User cancelled operation', true, 1); - return; - } - } - else - if(!Console::getBooleanInput(sprintf('Do you want to uninstall all versions of %s', $selected_package))) - { - Console::outError('User cancelled operation', true, 1); - return; - } - } - - try - { - if($selected_version !== null) - { - $package_manager->uninstallPackageVersion($selected_package, $selected_version); - } - else - { - $package_manager->uninstallPackage($selected_package); - } - } - catch(Exception $e) - { - Console::outException('Uninstallation failed', $e, 1); - return; - } - } - - /** - * Uninstalls all packages - * - * @param $args - * @return void - * @throws IOException - */ - private static function uninstallAllPackages($args): void - { - $user_confirmation = null; - // For undefined array key warnings - if(isset($args['y']) || isset($args['Y'])) - { - $user_confirmation = (bool)($args['y'] ?? $args['Y']); - } - - if(($user_confirmation === null) && !Console::getBooleanInput('Do you want to uninstall all packages')) - { - Console::outError('User cancelled operation', true, 1); - return; - } - - $package_manager = new PackageManagerOld(); - - foreach($package_manager->getInstalledPackages() as $package => $versions) - { - foreach($versions as $version) - { - try - { - $package_manager->uninstallPackageVersion($package, $version); - } - catch(Exception $e) - { - Console::outException('Uninstallation failed', $e, 1); - return; - } - } - } + return 0; } /** * Displays the main options section * - * @return void + * @return int */ - private static function displayOptions(): void + private static function displayOptions(): int { $options = [ new CliHelpSection(['help'], 'Displays this help menu about the value command'), new CliHelpSection(['list'], 'Lists all installed packages on the system'), - new CliHelpSection(['install', '--package', '-p'], 'Installs a specified NCC package'), - new CliHelpSection(['install', '--package', '-p', '--version', '-v'], 'Installs a specified NCC package version'), - new CliHelpSection(['install', '-p', '--skip-dependencies'], 'Installs a specified NCC package but skips the installation of dependencies'), - new CliHelpSection(['install', '-p', '--reinstall'], 'Installs a specified NCC package, reinstall if already installed'), - new CliHelpSection(['uninstall', '--package', '-p'], 'Uninstalls a specified NCC package'), - new CliHelpSection(['uninstall', '--package', '-p', '--version', '-v'], 'Uninstalls a specified NCC package version'), + new CliHelpSection(['install', '--package', '-p'], 'Installs a specified ncc package'), + new CliHelpSection(['install', '--package', '-p', '--version', '-v'], 'Installs a specified ncc package version'), + new CliHelpSection(['install', '-p', '--skip-dependencies'], 'Installs a specified ncc package but skips the installation of dependencies'), + new CliHelpSection(['install', '-p', '--reinstall'], 'Installs a specified ncc package, reinstall if already installed'), + new CliHelpSection(['uninstall', '--package', '-p'], 'Uninstalls a specified ncc package'), + new CliHelpSection(['uninstall', '--package', '-p', '--version', '-v'], 'Uninstalls a specified ncc package version'), new CliHelpSection(['uninstall-all'], 'Uninstalls all packages'), - new CliHelpSection(['sdc', '--package', '-p'], '(Debug) Semi-decompiles a specified NCC package and prints the result to the console'), + new CliHelpSection(['fix-broken'], 'Attempts to fix broken packages by installing missing dependencies'), ]; $options_padding = Functions::detectParametersPadding($options) + 4; @@ -759,9 +454,9 @@ Console::out('Note that installing from some repositories may require ncc to build the package'); Console::out('Examples of usage:'); Console::out(' ncc install --package=build/release/com.example.library.ncc'); - Console::out(' ncc install --package=symfony/console=5.2.0@composer'); - Console::out(' ncc install --package=symfony/console@composer -v=5.2.0'); - Console::out(' ncc install --package=foo/bar:master@gitlab'); - Console::out(' ncc install --package=foo/bar:dev@custom'); + Console::out(' ncc install --package=symfony/console=5.2.0@packagist'); + Console::out(' ncc install --package=symfony/console@packagist -v=5.2.0'); + + return 0; } } \ No newline at end of file diff --git a/src/ncc/CLI/Management/ProjectMenu.php b/src/ncc/CLI/Management/ProjectMenu.php index ac187dd..1b7ab65 100644 --- a/src/ncc/CLI/Management/ProjectMenu.php +++ b/src/ncc/CLI/Management/ProjectMenu.php @@ -35,32 +35,30 @@ * Displays the main help menu * * @param array $args - * @return void + * @return int */ - public static function start(array $args): void + public static function start(array $args): int { if(isset($args['create'])) { - self::initializeProject($args); - return; + return self::initializeProject($args); } if(isset($args['template'])) { - self::applyTemplate($args); - return; + return self::applyTemplate($args); } - self::displayOptions(); + return self::displayOptions(); } /** * Initializes a new project * * @param array $args - * @return void + * @return int */ - private static function initializeProject(array $args): void + private static function initializeProject(array $args): int { if(isset($args['path']) || isset($args['p'])) { @@ -69,7 +67,7 @@ else { Console::outError('Missing required option: --path|-p, please specify the path to the project', true, 1); - return; + return 1; } if(isset($args['name']) || isset($args['n'])) @@ -79,7 +77,7 @@ else { Console::outError('Missing required option: --name|-n, please specify the name of the project', true, 1); - return; + return 1; } if(isset($args['package']) || isset($args['pkg'])) @@ -89,7 +87,7 @@ else { Console::outError('Missing required option: --package|--pkg, please specify the package name of the project', true, 1); - return; + return 1; } if(isset($args['ext'])) @@ -99,7 +97,7 @@ else { Console::outError('Missing required option: --ext, please specify the compiler extension of the project', true, 1); - return; + return 1; } try @@ -109,20 +107,21 @@ catch(Exception $e) { Console::outException('There was an error while trying to initialize the project', $e, 1); - return; + return 1; } Console::out(sprintf('Project successfully created in \'%s\'', $project_manager->getProjectPath())); Console::out(sprintf('Modify the project configuration in \'%s\'', $project_manager->getProjectPath() . DIRECTORY_SEPARATOR . 'project.json')); + return 0; } /** * Applies a template to the project * * @param array $args - * @return void + * @return int */ - private static function applyTemplate(array $args): void + private static function applyTemplate(array $args): int { if(isset($args['path']) || isset($args['p'])) { @@ -135,7 +134,7 @@ else { Console::outError('Missing option: --path|-p, please specify the path to the project', true, 1); - return; + return 1; } if(isset($args['name']) || isset($args['n'])) @@ -145,7 +144,7 @@ else { Console::outError('Missing required option: --name|-n, please specify the name of the template', true, 1); - return; + return 1; } try @@ -155,7 +154,7 @@ catch(Exception $e) { Console::outException('There was an error while trying to load the project', $e, 1); - return; + return 1; } try @@ -165,18 +164,19 @@ catch(Exception $e) { Console::outException('There was an error while trying to apply the template', $e, 1); - return; + return 1; } Console::out(sprintf('Template successfully applied to project in \'%s\'', $project_manager->getProjectPath())); + return 0; } /** * Displays the main options section * - * @return void + * @return int */ - private static function displayOptions(): void + private static function displayOptions(): int { $options = [ new CliHelpSection(['help'], 'Displays this help menu about the value command'), @@ -198,5 +198,7 @@ { Console::out(' ' . $template); } + + return 0; } } \ No newline at end of file diff --git a/src/ncc/CLI/Management/RepositoryMenu.php b/src/ncc/CLI/Management/RepositoryMenu.php new file mode 100644 index 0000000..2ce5411 --- /dev/null +++ b/src/ncc/CLI/Management/RepositoryMenu.php @@ -0,0 +1,297 @@ +getRepositories(); + + if(count($sources) === 0) + { + Console::out('No remote sources defined.'); + return 0; + } + + foreach($sources as $source) + { + $output = sprintf('%s (%s) [%s]', + $source->getName(), + Console::formatColor($source->getHost(), ConsoleColors::GREEN), + Console::formatColor($source->getType(), ConsoleColors::YELLOW) + ); + + if(!$source->isSsl()) + { + $output .= Console::formatColor('*', ConsoleColors::RED); + } + + Console::out(' - ' . $output); + } + + Console::out(sprintf('Total: %d', count($sources))); + return 0; + } + + /** + * Adds a new repository to the system. + * + * @param array $args + * @return int + */ + private static function addEntry(array $args): int + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + Console::outError('You must be running as root to add a new repository', true, 1); + return 1; + } + + $name = $args['name'] ?? $args['n'] ?? null; + $type = $args['type'] ?? $args['t'] ?? null; + $host = $args['host'] ?? $args['h'] ?? null; + $ssl = Functions::cbool($args['ssl'] ?? $args['s'] ?? true); + + if($name === null) + { + Console::outError(sprintf('Missing required argument \'%s\'.', 'name'), true, 1); + return 1; + } + + if($type === null) + { + Console::outError(sprintf('Missing required argument \'%s\'.', 'type'), true, 1); + return 1; + } + + if($host === null) + { + Console::outError(sprintf('Missing required argument \'%s\'.', 'host'), true, 1); + return 1; + } + + try + { + (new RepositoryManager())->addRepository(new RepositoryConfiguration($name, $host, $type, $ssl)); + } + catch(Exception $e) + { + Console::outException(sprintf('Cannot add repository \'%s\'.', $name), $e, 1); + return 1; + } + + Console::out(sprintf('Repository \'%s\' added successfully.', $name)); + return 0; + } + + /** + * Exports the repository configuration to the console + * + * @param array $args + * @return int + */ + private static function exportEntry(array $args): int + { + $name = $args['name'] ?? $args['n'] ?? null; + + if($name === null) + { + Console::outError(sprintf('Missing required argument \'%s\'.', 'name'), true, 1); + return 1; + } + + $repository_manager = new RepositoryManager(); + + if(!$repository_manager->repositoryExists($name)) + { + Console::outError(sprintf('Repository \'%s\' does not exist.', $name), true, 1); + return 1; + } + + try + { + $repository = $repository_manager->getRepository($name); + Console::out(json_encode($repository->toArray(), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES)); + } + catch(Exception $e) + { + Console::outException(sprintf('Cannot export repository \'%s\'.', $name), $e, 1); + return 1; + } + + return 0; + } + + /** + * Removes an existing repository from the system. + * + * @param array $args + * @return int + */ + private static function removeEntry(array $args): int + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + Console::outError('You must be running as root to remove a repository', true, 1); + return 1; + } + + $name = $args['name'] ?? $args['n'] ?? null; + + if($name === null) + { + Console::outError(sprintf('Missing required argument \'%s\'.', 'name'), true, 1); + return 1; + } + + $repository_manager = new RepositoryManager(); + + if(!$repository_manager->repositoryExists($name)) + { + Console::outError(sprintf('Repository \'%s\' does not exist.', $name), true, 1); + return 1; + } + + try + { + $repository_manager->removeRepository($name); + } + catch(Exception $e) + { + Console::outException(sprintf('Cannot remove repository \'%s\'.', $name), $e, 1); + return 1; + } + + Console::out(sprintf('Repository \'%s\' removed successfully.', $name)); + return 0; + } + + /** + * Displays the main options section + * + * @return int + */ + private static function displayOptions(): int + { + Console::out('Usage: ncc repo {command} [options]'); + + Console::out('Options:'); + Console::outHelpSections([ + new CliHelpSection(['help'], 'Displays this help menu about the repository command'), + new CliHelpSection(['add', '--name|-n', '--type|-t', '--host|-h', '--ssl|-s'], 'Adds a new repository to the system'), + new CliHelpSection(['export', '--name|-n'], 'Prints out the repository configuration to the console (JSON)'), + new CliHelpSection(['remove', '--name|-n'], 'Removes an repository from the system'), + new CliHelpSection(['list'], 'Lists all configured repositories on your system'), + ]); + + Console::out('Examples:'); + Console::out(' - ncc repo add --name github --type github --host api.github.com'); + Console::out(' - ncc repo add --name gitlab --type gitlab --host gitlab.com'); + Console::out(' - ncc repo add --name gitea --type gitea --host git.example.com --ssl false'); + Console::out(' - ncc repo remove --name github'); + Console::out(' - ncc repo list'); + Console::out('Note: You must have root privileges to add or remove repositories from the system.'); + + return 0; + } + } \ No newline at end of file diff --git a/src/ncc/CLI/Management/SourcesMenu.php b/src/ncc/CLI/Management/SourcesMenu.php deleted file mode 100644 index 0b20142..0000000 --- a/src/ncc/CLI/Management/SourcesMenu.php +++ /dev/null @@ -1,240 +0,0 @@ -getSources(); - - if(count($sources) == 0) - { - Console::out('No remote sources defined.', 1); - return; - } - - Console::out('Remote sources:', 1); - foreach($sources as $source) - { - Console::out(' - ' . $source->getName() . ' (' . $source->getHost() . ')', 1); - } - - Console::out('Total: ' . count($sources), 1); - } - - /** - * @param $args - * @return void - */ - public static function addEntry($args): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - Console::outError('Insufficient permissions to add entry.', true, 1); - return; - } - - $name = $args['name'] ?? null; - $type = $args['type'] ?? null; - $host = $args['host'] ?? null; - $ssl = $args['ssl'] ?? null; - - if($name == null) - { - Console::outError(sprintf('Missing required argument \'%s\'.', 'name'), true, 1); - return; - } - - if($type == null) - { - Console::outError(sprintf('Missing required argument \'%s\'.', 'type'), true, 1); - return; - } - - if($host == null) - { - Console::outError(sprintf('Missing required argument \'%s\'.', 'host'), true, 1); - return; - } - - if($ssl !== null) - { - $ssl = Functions::cbool($ssl); - } - - $source_manager = new RemoteSourcesManager(); - $source = new DefinedRemoteSource(); - $source->setName($name); - $source->setType($type); - $source->setHost($host); - $source->setSsl($ssl); - - if(!$source_manager->addRemoteSource($source)) - { - Console::outError(sprintf('Cannot add entry \'%s\', it already exists', $name), true, 1); - return; - } - - try - { - $source_manager->save(); - } - catch (IOException $e) - { - Console::outException('Cannot save remote sources file.', $e, 1); - return; - } - - Console::out(sprintf('Entry \'%s\' added successfully.', $name)); - } - - /** - * Removes an existing entry from the vault. - * - * @param $args - * @return void - */ - private static function removeEntry($args): void - { - $ResolvedScope = Resolver::resolveScope(); - - if($ResolvedScope !== Scopes::SYSTEM) - Console::outError('Insufficient permissions to remove entries'); - - $name = $args['name'] ?? null; - - if($name == null) - { - Console::outError(sprintf('Missing required argument \'%s\'.', 'name'), true, 1); - return; - } - - $source_manager = new RemoteSourcesManager(); - - if(!$source_manager->deleteRemoteSource($name)) - { - Console::outError(sprintf('Cannot remove entry \'%s\', it does not exist', $name), true, 1); - return; - } - - try - { - $source_manager->save(); - } - catch (IOException $e) - { - Console::outException('Cannot save remote sources file.', $e, 1); - return; - - } - Console::out(sprintf('Entry \'%s\' removed successfully.', $name)); - } - - /** - * Displays the main options section - * - * @return void - */ - private static function displayOptions(): void - { - Console::out('Usage: ncc sources {command} [options]'); - Console::out('Options:'); - Console::outHelpSections([ - new CliHelpSection(['help'], 'Displays this help menu about the sources command'), - new CliHelpSection(['add'], 'Adds a new entry to the list of remote sources (See below)'), - new CliHelpSection(['remove', '--name'], 'Removes an entry from the list'), - new CliHelpSection(['list'], 'Lists all entries defined as remote sources'), - ]); - Console::out((string)null); - - } - } \ No newline at end of file diff --git a/src/ncc/Classes/ArchiveExtractor.php b/src/ncc/Classes/ArchiveExtractor.php new file mode 100644 index 0000000..8144307 --- /dev/null +++ b/src/ncc/Classes/ArchiveExtractor.php @@ -0,0 +1,125 @@ +file($archive_path)); + if(($pos = strpos($mime, ';')) !== false) + { + $mime = substr($mime, 0, $pos); + } + + switch($mime) + { + case 'application/zip': + self::extractZip($archive_path, $directory_path); + break; + + case 'application/x-tar': + case 'application/x-gzip': + $phar = new PharData($archive_path); + $phar->extractTo($directory_path); + break; + + default: + throw new NotSupportedException(sprintf('Unable to extract archive "%s" of type "%s"', $archive_path, $file_info->file($archive_path))); + } + } + + /** + * Extracts a zip archive to a directory + * + * @param string $archive_path + * @param string $directory_path + * @return void + * @throws IOException + */ + private static function extractZip(string $archive_path, string $directory_path): void + { + $zip_archive = new ZipArchive(); + + if(!$zip_archive->open($archive_path)) + { + throw new IOException(sprintf('Unable to open zip archive "%s"', $archive_path)); + } + + if(!is_dir($directory_path) && !mkdir($directory_path, 0777, true) && !is_dir($directory_path)) + { + throw new IOException(sprintf('Unable to create directory "%s"', $directory_path)); + } + + for($i=0; $i < $zip_archive->numFiles; $i++) + { + $entry_name = $zip_archive->statIndex($i)['name']; + + if(str_ends_with($entry_name, '/')) + { + $concurrent_directory = $directory_path . DIRECTORY_SEPARATOR . $entry_name; + if(!is_dir($concurrent_directory) && !mkdir($concurrent_directory, 0777, true) && !is_dir($concurrent_directory)) + { + throw new RuntimeException(sprintf('Directory "%s" was not created', $concurrent_directory)); + } + + continue; + } + + try + { + $zip_archive->extractTo($directory_path, $entry_name); + } + catch(Exception $e) + { + throw new IOException(sprintf('Unable to extract file "%s" from archive "%s"', $entry_name, $archive_path), $e); + } + } + + $zip_archive->close(); + } + } \ No newline at end of file diff --git a/src/ncc/Classes/BashExtension/BashRunner.php b/src/ncc/Classes/BashExtension/BashRunner.php index 5ebe324..2e2cebd 100644 --- a/src/ncc/Classes/BashExtension/BashRunner.php +++ b/src/ncc/Classes/BashExtension/BashRunner.php @@ -23,15 +23,11 @@ namespace ncc\Classes\BashExtension; use Exception; - use InvalidArgumentException; use ncc\Classes\ExecutionUnitRunner; - use ncc\Enums\Runners; use ncc\Exceptions\IOException; - use ncc\Exceptions\NotSupportedException; use ncc\Exceptions\OperationException; use ncc\Interfaces\RunnerInterface; use ncc\Objects\Package\ExecutionUnit; - use ncc\ThirdParty\Symfony\Process\ExecutableFinder; use ncc\Utilities\IO; use ncc\Utilities\PathFinder; diff --git a/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php b/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php deleted file mode 100644 index 0c581c5..0000000 --- a/src/ncc/Classes/ComposerExtension/ComposerSourceBuiltin.php +++ /dev/null @@ -1,818 +0,0 @@ -getVendor(), $packageInput->getPackage(), $packageInput->getVersion()); - $packages = self::compilePackages($package_path . DIRECTORY_SEPARATOR . 'composer.lock'); - $real_package_name = explode('=', $packageInput->toStandard(false))[0]; - - RuntimeCache::setFileAsTemporary($package_path); - foreach($packages as $package => $path) - { - if(explode('=', $package)[0] === $real_package_name) - { - return $path; - } - } - - throw new RuntimeException(sprintf('Could not find package %s in the compiled packages', $packageInput->toStandard())); - } - - /** - * Works with a local composer.json file and attempts to compile the required packages - * and their dependencies, returns the path to the compiled package. - * - * @param string $path - * @return string - * @throws BuildException - * @throws ComposerException - * @throws ConfigurationException - * @throws IOException - * @throws NotSupportedException - * @throws OperationException - * @throws PackageException - * @throws PathNotFoundException - */ - public static function fromLocal(string $path): string - { - // Check if the file composer.json exists - if (!file_exists($path . DIRECTORY_SEPARATOR . 'composer.json')) - { - throw new PathNotFoundException(sprintf('File "%s" not found', $path . DIRECTORY_SEPARATOR . 'composer.json')); - } - - // Execute composer with options - $options = self::getOptions(); - $composer_exec = self::getComposerPath(); - $process = new Process([$composer_exec, 'install']); - self::prepareProcess($process, $path, $options); - - Console::outDebug(sprintf('executing %s', $process->getCommandLine())); - $process->run(function ($type, $buffer) - { - if($type === Process::ERR) - { - Console::outWarning($buffer, false); - } - else - { - Console::out($buffer, false); - } - }); - - if(!$process->isSuccessful()) - { - throw new ComposerException($process->getErrorOutput()); - } - - $filesystem = new Filesystem(); - - if($filesystem->exists($path . DIRECTORY_SEPARATOR . 'build')) - { - $filesystem->remove($path . DIRECTORY_SEPARATOR . 'build'); - } - - $filesystem->mkdir($path . DIRECTORY_SEPARATOR . 'build'); - - // Compile dependencies - self::compilePackages($path . DIRECTORY_SEPARATOR . 'composer.lock'); - - $composer_lock = Functions::loadJson(IO::fread($path . DIRECTORY_SEPARATOR . 'composer.lock'), Functions::FORCE_ARRAY); - $version_map = self::getVersionMap(ComposerLock::fromArray($composer_lock)); - - // Finally, convert the main package's composer.json to package.json and compile it - self::convertProject($path, $version_map); - $project_manager = new ProjectManager($path); - $project_manager->load(); - $built_package = $project_manager->build(); - - RuntimeCache::setFileAsTemporary($built_package); - return $built_package; - } - - /** - * @param string $composer_lock_path - * @return array - * @throws BuildException - * @throws ConfigurationException - * @throws IOException - * @throws NotSupportedException - * @throws PackageException - * @throws PathNotFoundException - */ - private static function compilePackages(string $composer_lock_path): array - { - if (!file_exists($composer_lock_path)) - { - throw new PathNotFoundException($composer_lock_path); - } - - $base_dir = dirname($composer_lock_path); - - try - { - $composer_lock = ComposerLock::fromArray(json_decode(IO::fread($composer_lock_path), true, 512, JSON_THROW_ON_ERROR)); - } - catch(JsonException $e) - { - throw new IOException($composer_lock_path, $e); - } - - $filesystem = new Filesystem(); - $built_packages = []; - - if ($filesystem->exists($base_dir . DIRECTORY_SEPARATOR . 'build')) - { - $filesystem->remove($base_dir . DIRECTORY_SEPARATOR . 'build'); - } - - $filesystem->mkdir($base_dir . DIRECTORY_SEPARATOR . 'build'); - $version_map = self::getVersionMap($composer_lock); - - foreach ($composer_lock->getPackages() as $package) - { - $package_path = $base_dir . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . $package->getName(); - - // Load the composer lock file - $composer_package = $composer_lock->getPackage($package->getName()); - if ($composer_package === null) - { - throw new PackageException(sprintf('Package "%s" not found in composer lock file', $package->getName())); - } - - // Convert it to an NCC project configuration - $project_configuration = self::convertProject($package_path, $version_map, $composer_package); - - // Load the project - $project_manager = new ProjectManager($package_path); - $project_manager->load(); - $built_package = $project_manager->build(); - - // Copy the project to the build directory - $out_path = $base_dir . DIRECTORY_SEPARATOR . 'build' . DIRECTORY_SEPARATOR . sprintf('%s.ncc', $project_configuration->getAssembly()->getPackage()); - $filesystem->copy($built_package, $out_path); - $filesystem->remove($built_package); - $built_packages[$project_configuration->getAssembly()->getPackage()] = $out_path; - } - - return $built_packages; - } - - /** - * Returns array of versions from the ComposerLock file - * - * @param ComposerLock $composerLock - * @return array - */ - private static function getVersionMap(ComposerLock $composerLock): array - { - $version_map = []; - foreach($composerLock->getPackges() as $package) - { - $version_map[$package->getName()] = $package->getVersion(); - } - return $version_map; - } - - /** - * Converts a composer package name to a valid package name - * - * @param string $input - * @return string|null - */ - private static function toPackageName(string $input): ?string - { - if (strpos($input, ':')) - { - $input = explode(':', $input)[0]; - } - - $parsed_input = explode("/", $input); - if (count($parsed_input) === 2) - { - return str_ireplace( - "-", "_", 'com.' . $parsed_input[0] . "." . $parsed_input[1] - ); - } - - return null; - } - - /** - * Returns a valid version from a version map - * - * @param string $package_name - * @param array $version_map - * @return string - */ - private static function versionMap(string $package_name, array $version_map): string - { - if (array_key_exists($package_name, $version_map)) - { - return Functions::convertToSemVer($version_map[$package_name]); - } - - return '1.0.0'; - } - - /** - * Generates a project configuration from a package selection - * from the composer.lock file - * - * @param ComposerJson $composer_package - * @param array $version_map - * @return ProjectConfiguration - */ - private static function generateProjectConfiguration(ComposerJson $composer_package, array $version_map): ProjectConfiguration - { - // Generate a new project configuration object - $project_configuration = new ProjectConfiguration(); - $project_configuration->getAssembly()->setName($composer_package->getName()); - $project_configuration->getAssembly()->setDescription($composer_package->getDescription()); - - if(isset($version_map[$composer_package->getName()])) - { - $project_configuration->getAssembly()->setVersion(self::versionMap($composer_package->getName(), $version_map)); - } - - if($project_configuration->getAssembly()->getVersion() === '') - { - $project_configuration->getAssembly()->setVersion('1.0.0'); - } - - - $project_configuration->getAssembly()->setUuid(Uuid::v1()->toRfc4122()); - $project_configuration->getAssembly()->setPackage(self::toPackageName($composer_package->getName())); - - // Add the update source - $project_configuration->getProject()->setUpdateSource(new ProjectConfiguration\UpdateSource()); - $project_configuration->getProject()->getUpdateSource()?->setSource(sprintf('%s@composer', str_ireplace('\\', '/', $composer_package->getName()))); - $project_configuration->getProject()->getUpdateSource()?->setRepository(null); - - // Process the dependencies - if($composer_package->getRequire() !== null && count($composer_package->getRequire()) > 0) - { - foreach ($composer_package->getRequire() as $item) - { - // Check if the dependency is already in the project configuration - $package_name = self::toPackageName($item->getPackageName()); - - if($package_name === null) - { - continue; - } - - $dependency = new ProjectConfiguration\Dependency(); - $dependency->setName($package_name); - $dependency->setSourceType(DependencySourceType::LOCAL); - $dependency->setVersion(self::versionMap($item->getPackageName(), $version_map)); - $dependency->setSource($package_name . '.ncc'); - $project_configuration->getBuild()->addDependency($dependency); - } - } - - // Create a build configuration - $build_configuration = new ProjectConfiguration\Build\BuildConfiguration(); - $build_configuration->setName('default'); - $build_configuration->setOutputPath('build'); - - // Apply the final properties - $project_configuration->getBuild()->addBuildConfiguration($build_configuration); - $project_configuration->getBuild()->setDefaultConfiguration('default'); - $project_configuration->getBuild()->setSourcePath('.src'); - - // Apply a compiler extension - $project_configuration->getProject()->getCompiler()->setExtension(CompilerExtensions::PHP); - $project_configuration->getProject()->getCompiler()->setMaximumVersion(CompilerExtensionSupportedVersions::PHP[0]); - $project_configuration->getProject()->getCompiler()->setMinimumVersion(CompilerExtensionSupportedVersions::PHP[(count(CompilerExtensionSupportedVersions::PHP) - 1)]); - - return $project_configuration; - } - - /** - * Gets the applicable options configured for composer - * - * @return array - */ - private static function getOptions(): array - { - $results = []; - $arguments = Main::getArgs(); - - // Anything beginning with --composer- is a composer option - foreach ($arguments as $argument => $value) - { - if (str_starts_with($argument, 'composer-') && !in_array($argument, $results, true)) - { - if (is_bool($value) && $value) - { - $results[] = '--' . str_ireplace('composer-', '', $argument); - - } - else - { - $results[] = '--' . str_ireplace('composer-', '', $argument) . '=' . $value; - } - } - } - - - $options = Functions::getConfigurationProperty('composer.options'); - - if (!is_array($options)) - { - return $results; - } - - if (isset($options['quiet']) && $options['quiet']) - { - $results[] = '--quiet'; - } - - if (isset($options['no_asni']) && $options['no_asni']) - { - $results[] = '--no-asni'; - } - - if (isset($options['no_interaction']) && $options['no_interaction']) - { - $results[] = '--no-interaction'; - } - - if(isset($options['profile']) && $options['profile']) - { - $results[] = '--profile'; - } - - if (isset($options['no_scripts']) && $options['no_scripts']) - { - $results[] = '--no-scripts'; - $results[] = '--no-plugins'; // Also include this for safe measures - } - - if (isset($options['no_cache']) && $options['no_cache']) - { - $results[] = '--no-cache'; - } - - // Determine the logging option - if (isset($options['logging'])) - { - if ((int)$options['logging'] === 3) - { - $results[] = '-vvv'; - } - elseif ((int)$options['logging'] === 2) - { - $results[] = '-vv'; - } - elseif ((int)$options['logging'] === 1) - { - $results[] = '-v'; - } - else - { - switch (Main::getLogLevel()) - { - default: - case LogLevel::FATAL: - case LogLevel::WARNING: - case LogLevel::ERROR: - case LogLevel::INFO: - $results[] = '-v'; - break; - - case LogLevel::VERBOSE: - $results[] = '-vv'; - break; - - case LogLevel::DEBUG: - $results[] = '-vvv'; - break; - - case LogLevel::SILENT: - if (!in_array('--quiet', $results, true)) - { - $results[] = '--quiet'; - } - break; - } - } - } - - return $results; - } - - /** - * Uses composers require command to temporarily create a - * composer.json file and install the specified package - * - * @param string $vendor - * @param string $package - * @param string|null $version - * @return string - * @throws ComposerException - * @throws IOException - * @throws OperationException - * @throws PathNotFoundException - */ - private static function require(string $vendor, string $package, ?string $version = null): string - { - if (Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new \RuntimeException('Cannot require a package with insufficient permissions'); - } - - if ($version === null) - { - $version = '*'; - } - - if($version === 'latest') - { - $version = '*'; - } - - $tpl_file = __DIR__ . DIRECTORY_SEPARATOR . 'composer.jtpl'; - - if (!file_exists($tpl_file)) - { - throw new PathNotFoundException($tpl_file); - } - - $composer_exec = self::getComposerPath(); - - $template = IO::fread($tpl_file); - $template = str_ireplace('%VENDOR%', $vendor, $template); - $template = str_ireplace('%PACKAGE%', $package, $template); - $template = str_ireplace('%VERSION%', $version, $template); - - $filesystem = new Filesystem(); - $tmp_dir = PathFinder::getCachePath(Scopes::SYSTEM) . DIRECTORY_SEPARATOR . hash('haval128,3', $template); - $composer_json_path = $tmp_dir . DIRECTORY_SEPARATOR . 'composer.json'; - if ($filesystem->exists($tmp_dir)) { - Console::outVerbose(sprintf('Deleting already existing %s', $tmp_dir)); - $filesystem->remove($tmp_dir); - } - - $filesystem->mkdir($tmp_dir); - IO::fwrite($composer_json_path, $template, 0777); - - // Execute composer with options - $options = self::getOptions(); - $process = new Process(array_merge([$composer_exec, 'require'], $options)); - self::prepareProcess($process, $tmp_dir, $options); - - Console::outDebug(sprintf('executing %s', $process->getCommandLine())); - $process->run(function ($type, $buffer) - { - Console::out($buffer, false); - }); - - if (!$process->isSuccessful()) - { - throw new ComposerException($process->getErrorOutput()); - } - - return $tmp_dir; - } - - /** - * Attempts to find the composer path to use that is currently configured - * - * @return string - * @throws ComposerException - */ - private static function getComposerPath(): string - { - Console::outVerbose(sprintf('Getting composer path for %s', Functions::getConfigurationProperty('composer.path'))); - - $composer_enabled = Functions::getConfigurationProperty('composer.enabled'); - $internal_composer_enabled = Functions::getConfigurationProperty('composer.enable_internal_composer'); - if ($composer_enabled !== null && $composer_enabled === false) - { - throw new ComposerException('Composer is disabled by the configuration `composer.enabled`'); - } - - $config_property = Functions::getConfigurationProperty('composer.executable_path'); - - Console::outDebug(sprintf('composer.enabled = %s', ($composer_enabled ?? 'n/a'))); - Console::outDebug(sprintf('composer.enable_internal_composer = %s', ($internal_composer_enabled ?? 'n/a'))); - Console::outDebug(sprintf('composer.executable_path = %s', ($config_property ?? 'n/a'))); - - if ($internal_composer_enabled && defined('NCC_EXEC_LOCATION')) - { - if (!file_exists(NCC_EXEC_LOCATION . DIRECTORY_SEPARATOR . 'composer.phar')) - { - throw new ComposerException(NCC_EXEC_LOCATION . DIRECTORY_SEPARATOR . 'composer.phar'); - } - - Console::outDebug(sprintf('using composer path from NCC_EXEC_LOCATION: %s', NCC_EXEC_LOCATION . DIRECTORY_SEPARATOR . 'composer.phar')); - return NCC_EXEC_LOCATION . DIRECTORY_SEPARATOR . 'composer.phar'; - } - - if ($config_property !== null && $config_property !== '') - { - if (!file_exists($config_property)) - { - Console::outWarning('Cannot find composer executable path from configuration `composer.executable_path`'); - } - else - { - Console::outDebug(sprintf('using composer path from configuration: %s', $config_property)); - return $config_property; - } - } - - throw new ComposerException('No composer executable path is configured'); - } - - /** - * @param Process $process - * @param string $path - * @param array $options - * @return void - * @throws OperationException - */ - private static function prepareProcess(Process $process, string $path, array $options): void - { - $process->setWorkingDirectory($path); - - // Check if scripts are enabled while running as root - if (!in_array('--no-scripts', $options, true) && Resolver::resolveScope() === Scopes::SYSTEM) - { - Console::outWarning('composer scripts are enabled while running as root, this can allow malicious scripts to run as root'); - - if (!isset($options['--no-interaction'])) - { - if(!Console::getBooleanInput('Do you want to continue?')) - { - throw new OperationException('The operation was aborted by the user'); - } - - // The user understands the risks and wants to continue - $process->setEnv(['COMPOSER_ALLOW_SUPERUSER' => 1]); - } - } - else - { - // Composer is running "safely". We can disable the superuser check - $process->setEnv(['COMPOSER_ALLOW_SUPERUSER' => 1]); - } - } - - /** - * Converts a composer project to a NCC project - * - * @param string $package_path - * @param array $version_map - * @param mixed $composer_package - * @return ProjectConfiguration - * @throws IOException - * @throws PackageException - * @throws PathNotFoundException - */ - private static function convertProject(string $package_path, array $version_map, ?ComposerJson $composer_package=null): ProjectConfiguration - { - if($composer_package === null) - { - $composer_package = Functions::loadComposerJson($package_path . DIRECTORY_SEPARATOR . 'composer.json'); - } - - $project_configuration = self::generateProjectConfiguration($composer_package, $version_map); - $filesystem = new Filesystem(); - - // Process the source files - if ($composer_package->getAutoload() !== null) - { - $source_directory = $package_path . DIRECTORY_SEPARATOR . '.src'; - - if($filesystem->exists($source_directory)) - { - $filesystem->remove($source_directory); - } - - $filesystem->mkdir($source_directory); - $source_directories = []; - $static_files = []; - - // Extract all the source directories - if ($composer_package->getAutoloadDev()->getPsr4() !== null && count($composer_package->getAutoload()->getPsr4()) > 0) - { - Console::outVerbose('Extracting PSR-4 source directories'); - foreach ($composer_package->getAutoload()->getPsr4() as $namespace_pointer) - { - if ($namespace_pointer->getPath() !== null && !in_array($namespace_pointer->getPath(), $source_directories, true)) - { - $source_directories[] = $package_path . DIRECTORY_SEPARATOR . $namespace_pointer->getPath(); - } - } - } - - if ($composer_package->getAutoload()->getPsr0() !== null && count($composer_package->getAutoload()->getPsr0()) > 0) - { - Console::outVerbose('Extracting PSR-0 source directories'); - foreach ($composer_package->getAutoload()->getPsr0() as $namespace_pointer) - { - if ($namespace_pointer->getPath() !== null && !in_array($namespace_pointer->getPath(), $source_directories, true)) - { - $source_directories[] = $package_path . DIRECTORY_SEPARATOR . $namespace_pointer->getPath(); - } - } - } - - if ($composer_package->getAutoload()->getFiles() !== null && count($composer_package->getAutoload()->getFiles()) > 0) - { - Console::outVerbose('Extracting static files'); - foreach ($composer_package->getAutoload()->getFiles() as $file) - { - $static_files[] = $package_path . DIRECTORY_SEPARATOR . $file; - } - } - - Console::outDebug(sprintf('source directories: %s', implode(', ', $source_directories))); - - // First scan the project files and create a file struct. - $DirectoryScanner = new DirectoryScanner(); - - // TODO: Implement exclude-class handling - try - { - $DirectoryScanner->unsetFlag(FilesystemIterator::FOLLOW_SYMLINKS); - } - catch (Exception $e) - { - throw new PackageException('Cannot unset flag \'FOLLOW_SYMLINKS\' in DirectoryScanner, ' . $e->getMessage(), $e); - } - - // Include file components that can be compiled - $DirectoryScanner->setIncludes(ComponentFileExtensions::PHP); - - foreach ($source_directories as $directory) - { - /** @var SplFileInfo $item */ - foreach ($DirectoryScanner($directory) as $item) - { - if(is_dir($item->getPathName())) - { - continue; - } - - $parsed_path = str_ireplace($package_path . DIRECTORY_SEPARATOR, '', $item->getPathName()); - - Console::outDebug(sprintf('copying file %s for package %s', $parsed_path, $composer_package->getName())); - $filesystem->copy($item->getPathName(), $source_directory . DIRECTORY_SEPARATOR . $parsed_path); - } - } - - if (count($static_files) > 0) - { - $project_configuration->getProject()->addOption('static_files', $static_files); - - foreach ($static_files as $file) - { - $parsed_path = str_ireplace($package_path . DIRECTORY_SEPARATOR, '', $file); - Console::outDebug(sprintf('copying file %s for package %s', $parsed_path, $composer_package->getName())); - $filesystem->copy($file, $source_directory . DIRECTORY_SEPARATOR . $parsed_path); - unset($file); - } - } - } - - $project_configuration->toFile($package_path . DIRECTORY_SEPARATOR . 'project.json'); - - // This part simply displays the package information to the command-line interface - if(ncc::cliMode()) - { - $license_files = [ - 'LICENSE', - 'license', - 'LICENSE.txt', - 'license.txt', - 'LICENSE.md', - 'license.md', - ]; - - foreach($license_files as $license_file) - { - // Check configuration if composer.extension.display_licenses is set - if($filesystem->exists($package_path . DIRECTORY_SEPARATOR . $license_file) && Functions::cbool(Functions::getConfigurationProperty('composer.extension.display_licenses'))) - { - Console::out(sprintf('License for package %s:', $composer_package->getName())); - Console::out(IO::fread($package_path . DIRECTORY_SEPARATOR . $license_file)); - break; - } - } - - if(Functions::cbool(!is_null($composer_package->getAuthors()) && count($composer_package->getAuthors()) > 0 && Functions::getConfigurationProperty('composer.extension.display_authors'))) - { - Console::out(sprintf('Authors for package %s:', $composer_package->getName())); - foreach($composer_package->getAuthors() as $author) - { - Console::out(sprintf(' - %s', $author->getName())); - - if($author->getEmail() !== null) - { - Console::out(sprintf(' %s', $author->getEmail())); - } - - if($author->getHomepage() !== null) - { - Console::out(sprintf(' %s', $author->getHomepage())); - } - - if($author->getRole() !== null) - { - Console::out(sprintf(' %s', $author->getRole())); - } - - } - } - } - - return $project_configuration; - } - } \ No newline at end of file diff --git a/src/ncc/Classes/ComposerExtension/composer.jtpl b/src/ncc/Classes/ComposerExtension/composer.jtpl deleted file mode 100644 index fbe4e04..0000000 --- a/src/ncc/Classes/ComposerExtension/composer.jtpl +++ /dev/null @@ -1,5 +0,0 @@ -{ - "require": { - "%VENDOR%/%PACKAGE%": "%VERSION%" - } -} \ No newline at end of file diff --git a/src/ncc/Classes/ExecutionUnitRunner.php b/src/ncc/Classes/ExecutionUnitRunner.php index 0fe96f0..c82ce5e 100644 --- a/src/ncc/Classes/ExecutionUnitRunner.php +++ b/src/ncc/Classes/ExecutionUnitRunner.php @@ -121,7 +121,7 @@ } /** - * Executes the execution policy directly from a package (if supported) + * Executes the execution policy directly from a package (if supported) and returns the exit code * * @param PackageReader $package_reader * @param string $policy_name diff --git a/src/ncc/Classes/GitClient.php b/src/ncc/Classes/GitClient.php deleted file mode 100644 index 778fc68..0000000 --- a/src/ncc/Classes/GitClient.php +++ /dev/null @@ -1,163 +0,0 @@ -setTimeout(3600); // 1 hour - $process->run(function ($type, $buffer) - { - if(Process::ERR === $type) - { - Console::outWarning($buffer); - } - { - Console::outVerbose($buffer); - } - }); - - if (!$process->isSuccessful()) - { - throw new GitException(sprintf('Failed to clone repository %s: %s', $url, $process->getErrorOutput())); - } - - Console::outVerbose('Repository cloned to: ' . $path); - - return $path; - } - - /** - * Checks out a specific branch or tag. - * - * @param string $path - * @param string $branch - * @throws GitException - */ - public static function checkout(string $path, string $branch): void - { - Console::outVerbose('Checking out branch' . $branch); - $process = new Process(["git", "checkout", $branch], $path); - $process->setTimeout(3600); // 1 hour - $process->run(function ($type, $buffer) - { - if (Process::ERR === $type) - { - Console::outWarning($buffer); - } - else - { - Console::outVerbose($buffer); - } - }); - - if (!$process->isSuccessful()) - { - throw new GitException(sprintf('Failed to checkout branch %s in repository %s: %s', $branch, $path, $process->getErrorOutput())); - } - - Console::outVerbose('Checked out branch: ' . $branch); - - Console::outVerbose('Updating submodules'); - $process = new Process(["git", "submodule", "update", "--init", "--recursive"], $path); - $process->setTimeout(3600); // 1 hour - $process->run(function ($type, $buffer) - { - if (Process::ERR === $type) - { - Console::outWarning($buffer); - } - else - { - Console::outVerbose($buffer); - } - }); - - if (!$process->isSuccessful()) - { - throw new GitException(sprintf('Failed to update submodules in repository %s: %s', $path, $process->getErrorOutput())); - } - - Console::outVerbose('Submodules updated'); - } - - /** - * Returns an array of tags that are available in the repository. - * - * @param string $path - * @return array - * @throws GitException - */ - public static function getTags(string $path): array - { - Console::outVerbose('Getting tags for repository: ' . $path); - $process = new Process(["git", "fetch", '--all', '--tags'] , $path); - $process->setTimeout(3600); // 1 hour - $process->run(function ($type, $buffer) - { - Console::outVerbose($buffer); - }); - - if (!$process->isSuccessful()) - { - throw new GitException(sprintf('Failed to fetch tags in repository %s: %s', $path, $process->getErrorOutput())); - } - - $process = new Process(['git', '--no-pager', 'tag', '-l'] , $path); - $process->run(function ($type, $buffer) - { - Console::outVerbose($buffer); - }); - - if (!$process->isSuccessful()) - { - throw new GitException(sprintf('Failed to get tags in repository %s: %s', $path, $process->getErrorOutput())); - } - - $tags = explode(PHP_EOL, $process->getOutput()); - $tags = array_filter($tags, static function ($tag) - { - return !empty($tag); - }); - - Console::outDebug('found ' . count($tags) . ' tags'); - return array_filter($tags); - } - - } \ No newline at end of file diff --git a/src/ncc/Classes/GiteaExtension/GiteaRepository.php b/src/ncc/Classes/GiteaExtension/GiteaRepository.php new file mode 100644 index 0000000..f9bbed9 --- /dev/null +++ b/src/ncc/Classes/GiteaExtension/GiteaRepository.php @@ -0,0 +1,451 @@ +isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($group), rawurlencode($project)); + $headers = [ + 'Accept: application/json', + 'Content-Type: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $results = []; + foreach(self::processHttpResponse($curl, $group, $project) as $tag) + { + if(isset($tag['name'])) + { + $results[] = $tag['name']; + } + } + + return $results; + } + + /** + * Returns the latest tag for the specified group and project. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the tag for (eg; "Nosial") + * @param string $project The project to get the tag for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return string The latest tag for the specified group and project + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getLatestTag(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): string + { + $results = self::getTags($repository, $group, $project, $authentication); + + if(count($results) === 0) + { + throw new NetworkException(sprintf('No tags found for %s/%s', $group, $project)); + } + + return $results[0]; + } + + /** + * Returns a downloadable archive of the specified tag for the specified group and project. + * The function will try to find a .zip archive first, and if it can't find one, it will + * try to find a .tar.gz archive. If it can't find either, it will throw an exception. + * + * @param RepositoryConfiguration $repository + * @param string $group The group to get the tag for (eg; "Nosial") + * @param string $project The project to get the tag for (eg; "ncc" or "libs/config") + * @param string $tag The tag to get the tag for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getTagArchive(RepositoryConfiguration $repository, string $group, string $project, string $tag, ?AuthenticationInterface $authentication=null): RepositoryResult + { + if($tag === Versions::LATEST) + { + $tag = self::getLatestTag($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v1/repos/%s/%s/tags/%s', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($group), rawurlencode($project), rawurlencode($tag)); + $headers = [ + 'Accept: application/json', + 'Content-Type: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + if(isset($response['zipball_url'])) + { + return $response['zipball_url']; + } + + if(isset($response['tarball_url'])) + { + return $response['tarball_url']; + } + + throw new NetworkException(sprintf('Failed to get tag archive %s url for %s/%s', $tag, $group, $project)); + } + + /** + * Returns an array of tags for the specified group and project, + * usually sorted by the most recent tag first if the server supports it. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the tags for (eg; "Nosial") + * @param string $project The project to get the tags for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return array An array of tag names for releases + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleases(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): array + { + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v1/repos/%s/%s/releases', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($group), rawurlencode($project)); + $headers = [ + 'Accept: application/json', + 'Content-Type: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $results = []; + foreach(self::processHttpResponse($curl, $group, $project) as $release) + { + if(isset($release['tag_name'])) + { + $results[] = $release['tag_name']; + } + } + + return $results; + } + + /** + * Returns the latest release for the specified group and project. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return string The latest release for the specified group and project + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getLatestRelease(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): string + { + $results = self::getReleases($repository, $group, $project, $authentication); + + if(count($results) === 0) + { + throw new NetworkException(sprintf('No releases found for %s/%s', $group, $project)); + } + + return $results[0]; + } + + /** + * Returns a downloadable ncc package of the specified release for the specified group and project. + * If the function can't find a .ncc package, it will throw an exception. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param string $release The release to get the release for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleasePackage(RepositoryConfiguration $repository, string $group, string $project, string $release, ?AuthenticationInterface $authentication=null): RepositoryResult + { + /** @noinspection DuplicatedCode */ + if($release === Versions::LATEST) + { + $release = self::getLatestRelease($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v1/repos/%s/%s/releases/tags/%s', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($group), rawurlencode($project), rawurlencode($release)); + $headers = [ + 'Accept: application/json', + 'Content-Type: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + if(!isset($response['assets'])) + { + throw new NetworkException(sprintf('Failed to get release %s package url for %s/%s', $release, $group, $project)); + } + + foreach($response['assets'] as $asset) + { + if(isset($asset['name'], $asset['browser_download_url']) && preg_match('/\.ncc$/', $asset['name'])) + { + return new RepositoryResult($asset['browser_download_url'], RepositoryResultType::PACKAGE, $release); + } + } + + throw new NetworkException(sprintf('No ncc package found for %s/%s/%s', $group, $project, $release)); + } + + /** + * Returns a downloadable archive of the specified release for the specified group and project. + * The function will try to find a .zip archive first, and if it can't find one, it will + * try to find a .tar.gz archive. If it can't find either, it will throw an exception. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param string $release The release to get the release for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleaseArchive(RepositoryConfiguration $repository, string $group, string $project, string $release, ?AuthenticationInterface $authentication=null): RepositoryResult + { + /** @noinspection DuplicatedCode */ + if ($release === Versions::LATEST) + { + $release = self::getLatestRelease($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v1/repos/%s/%s/releases/tags/%s', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($group), rawurlencode($project), rawurlencode($release)); + $headers = [ + 'Accept: application/json', + 'Content-Type: application/json', + 'User-Agent: ncc' + ]; + + if ($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + if(isset($response['zipball_url'])) + { + return new RepositoryResult($response['zipball_url'], RepositoryResultType::SOURCE, $release); + } + + if(isset($response['tarball_url'])) + { + return new RepositoryResult($response['tarball_url'], RepositoryResultType::SOURCE, $release); + } + + throw new NetworkException(sprintf('Failed to get release %s archive url for %s/%s', $release, $group, $project)); + } + + /** + * Injects the authentication into the curl request + * + * @param AuthenticationInterface $authentication + * @param CurlHandle $curl + * @param array $headers + * @return array + * @throws AuthenticationException + */ + private static function injectAuthentication(AuthenticationInterface $authentication, CurlHandle $curl, array $headers): array + { + switch($authentication->getAuthenticationType()) + { + case AuthenticationType::ACCESS_TOKEN: + if($authentication instanceof AccessToken) + { + $headers[] = 'Authorization: token ' . $authentication->getAccessToken(); + break; + } + + throw new AuthenticationException(sprintf('Invalid authentication type for Access Token, got %s instead', $authentication->getAuthenticationType())); + + case AuthenticationType::USERNAME_PASSWORD: + if($authentication instanceof UsernamePassword) + { + curl_setopt($curl, CURLOPT_USERPWD, $authentication->getUsername() . ':' . $authentication->getPassword()); + break; + } + + throw new AuthenticationException(sprintf('Invalid authentication type for Username/Password, got %s instead', $authentication->getAuthenticationType())); + } + + return $headers; + } + + /** + * Executes the HTTP request and processes the response + * Throws an exception if the request failed + * + * @param CurlHandle $curl + * @param string $group + * @param string $project + * @return array + * @throws AuthenticationException + * @throws NetworkException + */ + private static function processHttpResponse(CurlHandle $curl, string $group, string $project): array + { + $response = curl_exec($curl); + + if($response === false) + { + throw new NetworkException(sprintf('HTTP request failed for %s/%s: %s', $group, $project, curl_error($curl))); + } + + switch(curl_getinfo($curl, CURLINFO_HTTP_CODE)) + { + case 200: + break; + + case 401: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 401 Unauthorized, invalid/expired access token', $group, $project)); + + case 403: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 403 Forbidden, insufficient scope', $group, $project)); + + case 404: + throw new NetworkException(sprintf('HTTP request failed for %s/%s, 404 Not Found', $group, $project)); + + default: + throw new NetworkException(sprintf('Server responded with HTTP code %s for %s/%s: %s', curl_getinfo($curl, CURLINFO_HTTP_CODE), $group, $project, $response)); + } + + try + { + return json_decode($response, true, 512, JSON_THROW_ON_ERROR); + } + catch(JsonException $e) + { + throw new RuntimeException(sprintf('Failed to parse response from %s/%s: %s', $group, $project, $e->getMessage()), $e); + } + } + } \ No newline at end of file diff --git a/src/ncc/Classes/GithubExtension/GithubRepository.php b/src/ncc/Classes/GithubExtension/GithubRepository.php new file mode 100644 index 0000000..a9b9c0e --- /dev/null +++ b/src/ncc/Classes/GithubExtension/GithubRepository.php @@ -0,0 +1,452 @@ +isSsl() ? 'https' : 'http'), $repository->getHost(), $group, $project); + $headers = [ + 'Accept: application/vnd.github+json', + 'X-GitHub-Api-Version: 2022-11-28', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $results = []; + foreach(self::processHttpResponse($curl, $group, $project) as $tag) + { + if(isset($tag['name'])) + { + $results[] = $tag['name']; + } + } + + return $results; + } + + /** + * Returns the latest tag for the specified group and project. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the tag for (eg; "Nosial") + * @param string $project The project to get the tag for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return string The latest tag for the specified group and project + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getLatestTag(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication = null): string + { + $results = self::getTags($repository, $group, $project, $authentication); + + if(count($results) === 0) + { + throw new NetworkException(sprintf('No tags found for %s/%s', $group, $project)); + } + + return $results[0]; + } + + /** + * Returns a downloadable archive of the specified tag for the specified group and project. + * The function will try to find a .zip archive first, and if it can't find one, it will + * try to find a .tar.gz archive. If it can't find either, it will throw an exception. + * + * @param RepositoryConfiguration $repository + * @param string $group The group to get the tag for (eg; "Nosial") + * @param string $project The project to get the tag for (eg; "ncc" or "libs/config") + * @param string $tag The tag to get the tag for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getTagArchive(RepositoryConfiguration $repository, string $group, string $project, string $tag, ?AuthenticationInterface $authentication = null): RepositoryResult + { + if($tag === Versions::LATEST) + { + $tag = self::getLatestTag($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/repos/%s/%s/zipball/refs/tags/%s', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), $group, $project, $tag); + $headers = [ + 'User-Agent: ncc' + ]; + + if ($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_NOBODY, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + + $response = curl_exec($curl); + + if ($response === false) + { + throw new NetworkException(sprintf('Failed to get tag archive for %s/%s/%s: %s', $group, $project, $tag, curl_error($curl))); + } + + $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + if ($http_code !== 200) + { + throw new NetworkException(sprintf('Server responded with HTTP code %s when getting tag archive for %s/%s/%s', $http_code, $group, $project, $tag)); + } + + return new RepositoryResult(curl_getinfo($curl, CURLINFO_EFFECTIVE_URL), RepositoryResultType::SOURCE, $tag); + } + + /** + * Returns an array of tags for the specified group and project, + * usually sorted by the most recent tag first if the server supports it. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the tags for (eg; "Nosial") + * @param string $project The project to get the tags for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return array An array of tag names for releases + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleases(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): array + { + $curl = curl_init(); + $endpoint = sprintf('%s://%s/repos/%s/%s/releases', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), $group, $project); + $headers = [ + 'Accept: application/vnd.github+json', + 'X-GitHub-Api-Version: 2022-11-28', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $results = []; + foreach(self::processHttpResponse($curl, $group, $project) as $release) + { + if(isset($release['tag_name'])) + { + $results[] = $release['tag_name']; + } + } + + return $results; + } + + /** + * Returns the latest release for the specified group and project. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return string The latest release for the specified group and project + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getLatestRelease(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): string + { + $results = self::getReleases($repository, $group, $project, $authentication); + + if(count($results) === 0) + { + throw new NetworkException(sprintf('No releases found for %s/%s', $group, $project)); + } + + return $results[0]; + } + + /** + * Returns a downloadable ncc package of the specified release for the specified group and project. + * If the function can't find a .ncc package, it will throw an exception. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param string $release The release to get the release for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleasePackage(RepositoryConfiguration $repository, string $group, string $project, string $release, ?AuthenticationInterface $authentication=null): RepositoryResult + { + /** @noinspection DuplicatedCode */ + if($release === Versions::LATEST) + { + $release = self::getLatestRelease($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/repos/%s/%s/releases/tags/%s', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), $group, $project, $release); + $headers = [ + 'Accept: application/vnd.github+json', + 'X-GitHub-Api-Version: 2022-11-28', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + if(!isset($response['assets'])) + { + throw new NetworkException(sprintf('Failed to get release package for %s/%s/%s: No assets found', $group, $project, $release)); + } + + foreach($response['assets'] as $asset) + { + if(preg_match('/\.ncc$/', $asset['name']) === 1) + { + return new RepositoryResult($asset['browser_download_url'], RepositoryResultType::PACKAGE, $release); + } + } + + throw new NetworkException(sprintf('Failed to get release package for %s/%s/%s: No assets found', $group, $project, $release)); + } + + /** + * Returns a downloadable archive of the specified release for the specified group and project. + * The function will try to find a .zip archive first, and if it can't find one, it will + * try to find a .tar.gz archive. If it can't find either, it will throw an exception. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param string $release The release to get the release for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleaseArchive(RepositoryConfiguration $repository, string $group, string $project, string $release, ?AuthenticationInterface $authentication = null): RepositoryResult + { + /** @noinspection DuplicatedCode */ + if($release === Versions::LATEST) + { + $release = self::getLatestRelease($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/repos/%s/%s/releases/tags/%s', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), $group, $project, $release); + $headers = [ + 'Accept: application/vnd.github+json', + 'X-GitHub-Api-Version: 2022-11-28', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + if(isset($response['zipball_url'])) + { + return new RepositoryResult($response['zipball_url'], RepositoryResultType::SOURCE, $release); + } + + if(isset($response['tarball_url'])) + { + return new RepositoryResult($response['tarball_url'], RepositoryResultType::SOURCE, $release); + } + + throw new NetworkException(sprintf('Failed to get release archive for %s/%s/%s: No archive found', $group, $project, $release)); + } + + /** + * Injects the authentication into the curl request + * + * @param AuthenticationInterface $authentication + * @param CurlHandle $curl + * @param array $headers + * @return array + * @throws AuthenticationException + */ + private static function injectAuthentication(AuthenticationInterface $authentication, CurlHandle $curl, array $headers): array + { + switch($authentication->getAuthenticationType()) + { + case AuthenticationType::ACCESS_TOKEN: + if($authentication instanceof AccessToken) + { + $headers[] = 'Authorization: Bearer ' . $authentication->getAccessToken(); + break; + } + throw new AuthenticationException(sprintf('Invalid authentication type for Access Token, got %s instead', $authentication->getAuthenticationType())); + + case AuthenticationType::USERNAME_PASSWORD: + if($authentication instanceof UsernamePassword) + { + curl_setopt($curl, CURLOPT_USERPWD, $authentication->getUsername() . ':' . $authentication->getPassword()); + break; + } + + throw new AuthenticationException(sprintf('Invalid authentication type for Username/Password, got %s instead', $authentication->getAuthenticationType())); + } + + return $headers; + } + + /** + * Executes the HTTP request and processes the response + * Throws an exception if the request failed + * + * @param CurlHandle $curl + * @param string $group + * @param string $project + * @return array + * @throws AuthenticationException + * @throws NetworkException + */ + private static function processHttpResponse(CurlHandle $curl, string $group, string $project): array + { + $response = curl_exec($curl); + + if($response === false) + { + throw new NetworkException(sprintf('HTTP request failed for %s/%s: %s', $group, $project, curl_error($curl))); + } + + switch (curl_getinfo($curl, CURLINFO_HTTP_CODE)) + { + case 200: + break; + + case 401: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 401 Unauthorized, invalid/expired access token', $group, $project)); + + case 403: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 403 Forbidden, insufficient scope', $group, $project)); + + case 404: + throw new NetworkException(sprintf('Resource not found for %s/%s, server returned 404 Not Found', $group, $project)); + + default: + throw new NetworkException(sprintf('Server responded with HTTP code %s for %s/%s: %s', curl_getinfo($curl, CURLINFO_HTTP_CODE), $group, $project, $response)); + } + + try + { + return json_decode($response, true, 512, JSON_THROW_ON_ERROR); + } + catch(JsonException $e) + { + throw new RuntimeException(sprintf('Failed to parse response from %s/%s: %s', $group, $project, $e->getMessage()), $e); + } + } + } \ No newline at end of file diff --git a/src/ncc/Classes/GithubExtension/GithubService.php b/src/ncc/Classes/GithubExtension/GithubService.php deleted file mode 100644 index 8aee726..0000000 --- a/src/ncc/Classes/GithubExtension/GithubService.php +++ /dev/null @@ -1,281 +0,0 @@ -isSsl() ? "https" : "http"); - $owner_f = str_ireplace(array("/", "."), "%2F", $packageInput->getVendor()); - $repository = urlencode($packageInput->getPackage()); - $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/repos/$owner_f/$repository"); - $response_decoded = self::getJsonResponse($httpRequest, $entry); - - $query = new RepositoryQueryResults(); - $query->getFiles()->GitSshUrl = ($response_decoded['ssh_url'] ?? null); - $query->getFiles()->GitHttpUrl = ($response_decoded['clone_url'] ?? null); - $query->setVersion(Functions::convertToSemVer($response_decoded['default_branch'] ?? null)); - $query->setReleaseDescription($response_decoded['description'] ?? null); - $query->setReleaseName($response_decoded['name'] ?? null); - - return $query; - } - - /** - * Returns the download URL of the requested version of the package. - * - * @param RemotePackageInput $package_input - * @param DefinedRemoteSource $defined_remote_source - * @param Entry|null $entry - * @return RepositoryQueryResults - * @throws AuthenticationException - * @throws GitException - * @throws NetworkException - * @throws IOException - */ - public static function getRelease(RemotePackageInput $package_input, DefinedRemoteSource $defined_remote_source, ?Entry $entry = null): RepositoryQueryResults - { - return self::processReleases($package_input, $defined_remote_source, $entry); - } - - /** - * @param RemotePackageInput $packageInput - * @param DefinedRemoteSource $definedRemoteSource - * @param Entry|null $entry - * @return RepositoryQueryResults - * @throws AuthenticationException - * @throws GitException - * @throws NetworkException - * @throws IOException - */ - public static function getNccPackage(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry = null): RepositoryQueryResults - { - return self::processReleases($packageInput, $definedRemoteSource, $entry); - } - - /** - * Returns a list of all releases of the given repository with their download URL. - * - * @param RemotePackageInput $packageInput - * @param DefinedRemoteSource $definedRemoteSource - * @param Entry|null $entry - * @return array - * @throws AuthenticationException - * @throws GitException - * @throws NetworkException - * @throws IOException - */ - private static function getReleases(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry = null): array - { - $httpRequest = new HttpRequest(); - $protocol = ($definedRemoteSource->isSsl() ? "https" : "http"); - $owner_f = str_ireplace(array("/", "."), "%2F", $packageInput->getVersion()); - $repository = urlencode($packageInput->getPackage()); - $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/repos/$owner_f/$repository/releases"); - $response_decoded = self::getJsonResponse($httpRequest, $entry); - - if(count($response_decoded) === 0) - { - return []; - } - - $return = []; - foreach($response_decoded as $release) - { - $query_results = new RepositoryQueryResults(); - $query_results->setVersion(Functions::convertToSemVer($release['tag_name'])); - $query_results->setReleaseName($release['name']); - $query_results->getReleaseDescription($release['body']); - $query_results->getFiles()->ZipballUrl = ($release['zipball_url'] ?? null); - $query_results->getFiles()->TarballUrl = ($release['tarball_url'] ?? null); - - if(isset($release['assets'])) - { - foreach($release['assets'] as $asset) - { - $parsed_asset = self::parseAsset($asset); - if($parsed_asset !== null) - { - $query_results->getFiles()->PackageUrl = $parsed_asset; - } - } - } - - $return[$query_results->getVersion()] = $query_results; - } - - return $return; - } - - /** - * Returns the asset download URL if it points to a .ncc package. - * - * @param array $asset - * @return string|null' - */ - private static function parseAsset(array $asset): ?string - { - if(isset($asset['browser_download_url'])) - { - $file_extension = pathinfo($asset['browser_download_url'], PATHINFO_EXTENSION); - if($file_extension === 'ncc') - { - return $asset['browser_download_url']; - } - } - - return null; - } - - /** - * @param HttpRequest $httpRequest - * @param Entry|null $entry - * @return array - * @throws AuthenticationException - * @throws GitException - * @throws IOException - * @throws NetworkException - */ - private static function getJsonResponse(HttpRequest $httpRequest, ?Entry $entry): array - { - $httpRequest->setType(HttpRequestType::GET); - $httpRequest = Functions::prepareGitServiceRequest($httpRequest, $entry, false); - $httpRequest->addHeader('X-GitHub-Api-Version: 2022-11-28'); - $httpRequest->addHeader('Accept: application/vnd.github+json'); - - $response = HttpClient::request($httpRequest, true); - - if ($response->getStatusCode() !== 200) - { - throw new GitException(sprintf('Github returned an error (%s): %s', $response->getStatusCode(), $response->getBody())); - } - - return Functions::loadJson($response->getBody(), Functions::FORCE_ARRAY); - } - - /** - * @param RemotePackageInput $packageInput - * @param DefinedRemoteSource $definedRemoteSource - * @param Entry|null $entry - * @return mixed - * @throws AuthenticationException - * @throws GitException - * @throws NetworkException - * @throws IOException - */ - private static function processReleases(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry): mixed - { - $releases = self::getReleases($packageInput, $definedRemoteSource, $entry); - - if (count($releases) === 0) - { - throw new GitException(sprintf('No releases found for %s/%s on %s.', $packageInput->getVendor(), $packageInput->getPackage(), $definedRemoteSource->getHost())); - } - - if ($packageInput->getVersion() === Versions::LATEST) - { - $latest_version = null; - foreach ($releases as $release) - { - if ($latest_version === null) - { - $latest_version = $release->Version; - continue; - } - - if (VersionComparator::compareVersion($release->Version, $latest_version) === 1) - { - $latest_version = $release->Version; - } - } - - return $releases[$latest_version]; - } - - // Query a specific version - if (!isset($releases[$packageInput->getVersion()])) - { - // Find the closest thing to the requested version - $selected_version = null; - foreach ($releases as $version => $url) - { - if ($selected_version === null) - { - $selected_version = $version; - continue; - } - - if (VersionComparator::compareVersion($version, $packageInput->getVersion()) === 1) - { - $selected_version = $version; - } - } - - if ($selected_version === null) - { - throw new GitException(sprintf('Version %s not found for %s/%s on %s.', $packageInput->getVersion(), $packageInput->getVendor(), $packageInput->getPackage(), $definedRemoteSource->getHost())); - } - } - else - { - $selected_version = $packageInput->getVersion(); - } - - if (!isset($releases[$selected_version])) - { - throw new GitException(sprintf('Version %s not found for %s/%s on %s.', $packageInput->getVersion(), $packageInput->getVendor(), $packageInput->getPackage(), $definedRemoteSource->getHost())); - } - - return $releases[$selected_version]; - } - } \ No newline at end of file diff --git a/src/ncc/Classes/GitlabExtension/GitlabRepository.php b/src/ncc/Classes/GitlabExtension/GitlabRepository.php new file mode 100644 index 0000000..bae83f7 --- /dev/null +++ b/src/ncc/Classes/GitlabExtension/GitlabRepository.php @@ -0,0 +1,471 @@ +isSsl() ? 'https' : 'http', $repository->getHost(), $group, rawurlencode($project)); + $headers = [ + 'Content-Type: application/json', + 'Accept: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $results = []; + foreach(self::processHttpResponse($curl, $group, $project) as $tag) + { + if(isset($tag['release']['tag_name'])) + { + $results[] = $tag['release']['tag_name']; + } + } + + return $results; + } + + /** + * Returns the latest tag for the specified group and project. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the tag for (eg; "Nosial") + * @param string $project The project to get the tag for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return string The latest tag for the specified group and project + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getLatestTag(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): string + { + $results = self::getTags($repository, $group, $project, $authentication); + + if(count($results) === 0) + { + throw new NetworkException(sprintf('No tags found for %s/%s', $group, $project)); + } + + return $results[0]; + } + + /** + * Returns a downloadable archive of the specified tag for the specified group and project. + * The function will try to find a .zip archive first, and if it can't find one, it will + * try to find a .tar.gz archive. If it can't find either, it will throw an exception. + * + * @param RepositoryConfiguration $repository + * @param string $group The group to get the tag for (eg; "Nosial") + * @param string $project The project to get the tag for (eg; "ncc" or "libs/config") + * @param string $tag The tag to get the tag for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getTagArchive(RepositoryConfiguration $repository, string $group, string $project, string $tag, ?AuthenticationInterface $authentication=null): RepositoryResult + { + if($tag === Versions::LATEST) + { + $tag = self::getLatestTag($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v4/projects/%s%%2F%s/repository/archive.zip?sha=%s', $repository->isSsl() ? 'https' : 'http', $repository->getHost(), $group, rawurlencode($project), rawurlencode($tag)); + $headers = [ + 'User-Agent: ncc' + ]; + + if ($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_NOBODY, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + + $response = curl_exec($curl); + + if ($response === false) + { + throw new NetworkException(sprintf('Failed to get tag archive for %s/%s/%s: %s', $group, $project, $tag, curl_error($curl))); + } + + $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); + + if ($http_code !== 200) + { + throw new NetworkException(sprintf('Server responded with HTTP code %s when getting tag archive for %s/%s/%s', $http_code, $group, $project, $tag)); + } + + return new RepositoryResult(curl_getinfo($curl, CURLINFO_EFFECTIVE_URL), RepositoryResultType::SOURCE, $tag); + } + + /** + * Returns an array of tags for the specified group and project, + * usually sorted by the most recent tag first if the server supports it. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the tags for (eg; "Nosial") + * @param string $project The project to get the tags for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return array An array of tag names for releases + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleases(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): array + { + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v4/projects/%s%%2F%s/releases?order_by=released_at&sort=desc', $repository->isSsl() ? 'https' : 'http', $repository->getHost(), $group, rawurlencode($project)); + $headers = [ + 'Content-Type: application/json', + 'Accept: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $results = []; + foreach(self::processHttpResponse($curl, $group, $project) as $item) + { + if(isset($item['tag_name'])) + { + $results[] = $item['tag_name']; + } + } + + return $results; + } + + /** + * Returns the latest release for the specified group and project. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return string The latest release for the specified group and project + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getLatestRelease(RepositoryConfiguration $repository, string $group, string $project, ?AuthenticationInterface $authentication=null): string + { + $results = self::getReleases($repository, $group, $project, $authentication); + + if(count($results) === 0) + { + throw new NetworkException(sprintf('No releases found for %s/%s', $group, $project)); + } + + return $results[0]; + } + + /** + * Returns a downloadable ncc package of the specified release for the specified group and project. + * If the function can't find a .ncc package, it will throw an exception. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param string $release The release to get the release for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleasePackage(RepositoryConfiguration $repository, string $group, string $project, string $release, ?AuthenticationInterface $authentication=null): RepositoryResult + { + /** @noinspection DuplicatedCode */ + if($release === Versions::LATEST) + { + $release = self::getLatestRelease($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v4/projects/%s%%2F%s/releases/%s', $repository->isSsl() ? 'https' : 'http', $repository->getHost(), $group, rawurlencode($project), rawurlencode($release)); + $headers = [ + 'Content-Type: application/json', + 'Accept: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + foreach($response['assets']['links'] as $asset) + { + if(preg_match('/\.ncc$/', $asset['name']) === 1) + { + if(isset($asset['direct_asset_url'])) + { + return new RepositoryResult($asset['direct_asset_url'], RepositoryResultType::PACKAGE, $release); + } + + if(isset($asset['url'])) + { + return new RepositoryResult($asset['url'], RepositoryResultType::PACKAGE, $release); + } + + throw new NetworkException(sprintf('No direct asset URL found for %s/%s/%s', $group, $project, $release)); + } + } + + throw new NetworkException(sprintf('No ncc package found for %s/%s/%s', $group, $project, $release)); + } + + /** + * Returns a downloadable archive of the specified release for the specified group and project. + * The function will try to find a .zip archive first, and if it can't find one, it will + * try to find a .tar.gz archive. If it can't find either, it will throw an exception. + * + * @param RepositoryConfiguration $repository The remote repository to make the request to + * @param string $group The group to get the release for (eg; "Nosial") + * @param string $project The project to get the release for (eg; "ncc" or "libs/config") + * @param string $release The release to get the release for (eg; "v1.0.0") + * @param AuthenticationInterface|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The URL to the archive + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getReleaseArchive(RepositoryConfiguration $repository, string $group, string $project, string $release, ?AuthenticationInterface $authentication=null): RepositoryResult + { + /** @noinspection DuplicatedCode */ + if($release === Versions::LATEST) + { + $release = self::getLatestRelease($repository, $group, $project, $authentication); + } + + $curl = curl_init(); + $endpoint = sprintf('%s://%s/api/v4/projects/%s%%2F%s/releases/%s', $repository->isSsl() ? 'https' : 'http', $repository->getHost(), $group, rawurlencode($project), rawurlencode($release)); + $headers = [ + 'Content-Type: application/json', + 'Accept: application/json', + 'User-Agent: ncc' + ]; + + if($authentication !== null) + { + $headers = self::injectAuthentication($authentication, $curl, $headers); + } + + curl_setopt($curl, CURLOPT_URL, $endpoint); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $group, $project); + + if(!isset($response['assets']['sources'])) + { + throw new NetworkException(sprintf('No source assets found for %s/%s/%s', $group, $project, $release)); + } + + foreach($response['assets']['sources'] as $asset) + { + if(!isset($asset['format'], $asset['url'])) + { + continue; + } + + if($asset['format'] === 'zip') + { + return new RepositoryResult($asset['url'], RepositoryResultType::SOURCE, $release); + } + + if($asset['format'] === 'tar') + { + return new RepositoryResult($asset['url'], RepositoryResultType::SOURCE, $release); + } + } + + throw new NetworkException(sprintf('No archive found for %s/%s/%s', $group, $project, $release)); + } + + /** + * Injects the authentication into the curl request + * + * @param AuthenticationInterface $authentication + * @param CurlHandle $curl + * @param array $headers + * @return array + * @throws AuthenticationException + */ + private static function injectAuthentication(AuthenticationInterface $authentication, CurlHandle $curl, array $headers): array + { + switch($authentication->getAuthenticationType()) + { + case AuthenticationType::ACCESS_TOKEN: + if($authentication instanceof AccessToken) + { + $headers[] = 'Private-Token: ' . $authentication->getAccessToken(); + break; + } + + throw new AuthenticationException(sprintf('Invalid authentication type for Access Token, got %s instead', $authentication->getAuthenticationType())); + + case AuthenticationType::USERNAME_PASSWORD: + if($authentication instanceof UsernamePassword) + { + curl_setopt($curl, CURLOPT_USERPWD, $authentication->getUsername() . ':' . $authentication->getPassword()); + break; + } + + throw new AuthenticationException(sprintf('Invalid authentication type for Username/Password, got %s instead', $authentication->getAuthenticationType())); + } + + return $headers; + } + + /** + * Executes the HTTP request and processes the response + * Throws an exception if the request failed + * + * @param CurlHandle $curl + * @param string $group + * @param string $project + * @return array + * @throws AuthenticationException + * @throws NetworkException + */ + private static function processHttpResponse(CurlHandle $curl, string $group, string $project): array + { + $response = curl_exec($curl); + + if($response === false) + { + throw new NetworkException(sprintf('HTTP request failed for %s/%s: %s', $group, $project, curl_error($curl))); + } + + switch (curl_getinfo($curl, CURLINFO_HTTP_CODE)) + { + case 200: + break; + + case 401: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 401 Unauthorized, invalid/expired access token', $group, $project)); + + case 403: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 403 Forbidden, insufficient scope', $group, $project)); + + case 404: + throw new NetworkException(sprintf('Resource not found for %s/%s, server returned 404 Not Found', $group, $project)); + + default: + throw new NetworkException(sprintf('Server responded with HTTP code %s for %s/%s: %s', curl_getinfo($curl, CURLINFO_HTTP_CODE), $group, $project, $response)); + } + + try + { + return json_decode($response, true, 512, JSON_THROW_ON_ERROR); + } + catch(JsonException $e) + { + throw new RuntimeException(sprintf('Failed to parse response from %s/%s: %s', $group, $project, $e->getMessage()), $e); + } + } + } \ No newline at end of file diff --git a/src/ncc/Classes/GitlabExtension/GitlabService.php b/src/ncc/Classes/GitlabExtension/GitlabService.php deleted file mode 100644 index 1fd0107..0000000 --- a/src/ncc/Classes/GitlabExtension/GitlabService.php +++ /dev/null @@ -1,251 +0,0 @@ -isSsl() ? "https" : "http"); - $owner_f = str_ireplace(array("/", "."), "%2F", $packageInput->getVendor()); - $project_f = str_ireplace(array("/", "."), "%2F", $packageInput->getPackage()); - $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/api/v4/projects/$owner_f%2F$project_f"); - $httpRequest = Functions::prepareGitServiceRequest($httpRequest, $entry); - - $response = HttpClient::request($httpRequest, true); - - if($response->getStatusCode() !== 200) - { - throw new GitException(sprintf('Failed to fetch releases for the given repository. Status code: %s', $response->getStatusCode())); - } - - $response_decoded = Functions::loadJson($response->getBody(), Functions::FORCE_ARRAY); - - $query = new RepositoryQueryResults(); - $query->getFiles()->GitSshUrl = ($response_decoded['ssh_url_to_repo'] ?? null); - $query->getFiles()->GitHttpUrl = ($response_decoded['http_url_to_repo'] ?? null); - $query->setVersion(Functions::convertToSemVer($response_decoded['default_branch'])); - $query->setReleaseDescription($response_decoded['description'] ?? null); - $query->setReleaseName($response_decoded['name'] ?? null); - - return $query; - } - - /** - * Returns the download URL of the requested version of the package. - * - * @param RemotePackageInput $package_input - * @param DefinedRemoteSource $defined_remote_source - * @param Entry|null $entry - * @return RepositoryQueryResults - * @throws AuthenticationException - * @throws GitException - * @throws NetworkException - * @throws IOException - */ - public static function getRelease(RemotePackageInput $package_input, DefinedRemoteSource $defined_remote_source, ?Entry $entry = null): RepositoryQueryResults - { - $releases = self::getReleases($package_input->getVendor(), $package_input->getPackage(), $defined_remote_source, $entry); - - if(count($releases) === 0) - { - throw new GitException(sprintf('No releases found for the repository %s/%s (selected version: %s)', $package_input->getVendor(), $package_input->getPackage(), $package_input->getVersion())); - } - - // Query the latest package only - if($package_input->getVersion() === Versions::LATEST) - { - $latest_version = null; - foreach($releases as $release) - { - if($latest_version === null) - { - $latest_version = $release->Version; - continue; - } - - if(VersionComparator::compareVersion($release->Version, $latest_version) === 1) - { - $latest_version = $release->Version; - } - } - - return $releases[$latest_version]; - } - - // Query a specific version - if(!isset($releases[$package_input->getVersion()])) - { - // Find the closest thing to the requested version - $selected_version = null; - foreach($releases as $version => $url) - { - if($selected_version === null) - { - $selected_version = $version; - continue; - } - - if(VersionComparator::compareVersion($version, $package_input->getVersion()) === 1) - { - $selected_version = $version; - } - } - - if($selected_version === null) - { - throw new GitException(sprintf('Could not find a release for %s/%s with the version %s', $package_input->getVendor(), $package_input->getPackage(), $package_input->getVersion())); - } - } - else - { - $selected_version = $package_input->getVersion(); - } - - if(!isset($releases[$selected_version])) - { - throw new GitException(sprintf('Could not find a release for %s/%s with the version %s', $package_input->getVendor(), $package_input->getPackage(), $package_input->getVersion())); - } - - return $releases[$selected_version]; - } - - /** - * @param RemotePackageInput $packageInput - * @param DefinedRemoteSource $definedRemoteSource - * @param Entry|null $entry - * @return RepositoryQueryResults - * @throws NotSupportedException - */ - public static function getNccPackage(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry = null): RepositoryQueryResults - { - throw new NotSupportedException(sprintf('The given repository source "%s" does not support ncc packages.', $definedRemoteSource->getHost())); - } - - /** - * Returns an array of all the tags for the given owner and repository name. - * - * @param string $owner - * @param string $repository - * @param DefinedRemoteSource $definedRemoteSource - * @param Entry|null $entry - * @return array - * @throws AuthenticationException - * @throws GitException - * @throws IOException - * @throws NetworkException - */ - private static function getReleases(string $owner, string $repository, DefinedRemoteSource $definedRemoteSource, ?Entry $entry): array - { - $httpRequest = new HttpRequest(); - $protocol = ($definedRemoteSource->isSsl() ? "https" : "http"); - $owner_f = str_ireplace("/", "%2F", $owner); - $owner_f = str_ireplace(".", "%2F", $owner_f); - $repository_f = str_ireplace("/", "%2F", $repository); - $repository_f = str_ireplace(".", "%2F", $repository_f); - - $httpRequest->setUrl($protocol . '://' . $definedRemoteSource->getHost() . "/api/v4/projects/$owner_f%2F$repository_f/releases"); - $httpRequest = Functions::prepareGitServiceRequest($httpRequest, $entry); - - $response = HttpClient::request($httpRequest, true); - - if($response->getStatusCode() !== 200) - { - throw new GitException(sprintf('Failed to fetch releases for repository %s/%s. Status code: %s', $owner, $repository, $response->getStatusCode())); - } - - $response_decoded = Functions::loadJson($response->getBody(), Functions::FORCE_ARRAY); - - if(count($response_decoded) === 0) - { - return []; - } - - $return = []; - foreach($response_decoded as $release) - { - $query_results = new RepositoryQueryResults(); - $query_results->setReleaseName($release['name'] ?? null); - $query_results->setReleaseDescription($release['description'] ?? null); - $query_results->setVersion(Functions::convertToSemVer($release['tag_name'])); - - if(isset($release['assets']['sources']) && count($release['assets']['sources']) > 0) - { - foreach($release['assets']['sources'] as $source) - { - if($source['format'] === 'zip') - { - $query_results->getFiles()->ZipballUrl = $source['url']; - break; - } - - if($source['format'] === 'tar.gz') - { - $query_results->getFiles()->ZipballUrl = $source['url']; - break; - } - - if($source['format'] === 'ncc') - { - $query_results->getFiles()->PackageUrl = $source['url']; - break; - } - } - } - - $return[$query_results->getVersion()] = $query_results; - } - - return $return; - } - } \ No newline at end of file diff --git a/src/ncc/Classes/HttpClient.php b/src/ncc/Classes/HttpClient.php deleted file mode 100644 index faf146e..0000000 --- a/src/ncc/Classes/HttpClient.php +++ /dev/null @@ -1,241 +0,0 @@ -geturl()); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl, CURLOPT_HEADER, true); - curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); - curl_setopt($curl, CURLOPT_MAXREDIRS, 5); - curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); - curl_setopt($curl, CURLOPT_TIMEOUT, 10); - curl_setopt($curl, CURLOPT_HTTPHEADER, $request->getHeaders()); - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $request->getType()); - curl_setopt($curl, CURLOPT_NOPROGRESS, false); - - curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, static function($curl, $downloadSize, $downloaded) - { - if($downloadSize > 0 && ($downloaded !== $downloadSize) && Main::getLogLevel() !== null) - { - switch(Main::getLogLevel()) - { - case LogLevel::VERBOSE: - case LogLevel::DEBUG: - case LogLevel::SILENT: - Console::outVerbose(sprintf(' <= %s of %s bytes downloaded', $downloaded, $downloadSize)); - break; - - default: - Console::inlineProgressBar($downloaded, $downloadSize + 1); - break; - } - } - }); - - switch($request->getType()) - { - case HttpRequestType::GET: - curl_setopt($curl, CURLOPT_HTTPGET, true); - break; - - case HttpRequestType::POST: - curl_setopt($curl, CURLOPT_POST, true); - if($request->getBody() !== null) - { - curl_setopt($curl, CURLOPT_POSTFIELDS, $request->getBody()); - } - break; - - case HttpRequestType::PUT: - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT'); - if($request->getBody() !== null) - { - curl_setopt($curl, CURLOPT_POSTFIELDS, $request->getBody()); - } - break; - - case HttpRequestType::DELETE: - curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE'); - break; - } - - if (is_array($request->getAuthentication())) - { - curl_setopt($curl, CURLOPT_USERPWD, $request->getAuthentication()[0] . ':' . $request->getAuthentication()[1]); - } - else if (is_string($request->getAuthentication())) - { - curl_setopt($curl, CURLOPT_USERPWD, $request->getAuthentication()); - } - - foreach ($request->getOptions() as $option => $value) - { - curl_setopt($curl, $option, $value); - } - - return $curl; - } - - /** - * Creates a new HTTP request and returns the response. - * - * @param HttpRequest $httpRequest - * @param bool $cache - * @return HttpResponse - * @throws NetworkException - */ - public static function request(HttpRequest $httpRequest, bool $cache=false): HttpResponse - { - if($cache) - { - /** @var HttpResponseCache $cache */ - $cache_value = RuntimeCache::get(sprintf('http_cache_%s', $httpRequest->requestHash())); - if($cache_value !== null && $cache_value->getTtl() > time()) - { - Console::outDebug(sprintf('using cached response for %s', $httpRequest->requestHash())); - return $cache_value->getHttpResponse(); - } - } - - $curl = self::prepareCurl($httpRequest); - - Console::outDebug(sprintf(' => %s request %s', $httpRequest->getType(), $httpRequest->getUrl())); - - if(count($httpRequest->getHeaders()) > 0) - { - Console::outDebug(sprintf(' => headers: %s', implode(', ', $httpRequest->getHeaders()))); - } - - if($httpRequest->getBody() !== null) - { - Console::outDebug(sprintf(' => body: %s', $httpRequest->getBody())); - } - - $response = curl_exec($curl); - - if ($response === false) - { - $error = curl_error($curl); - curl_close($curl); - throw new NetworkException($error); - } - - $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE); - $headers = substr($response, 0, $headerSize); - $body = substr($response, $headerSize); - - $httpResponse = new HttpResponse(); - $httpResponse->setStatusCode(curl_getinfo($curl, CURLINFO_HTTP_CODE)); - $httpResponse->setHeaders(self::parseHeaders($headers)); - $httpResponse->setBody($body); - - Console::outDebug(sprintf(' <= %s response', $httpResponse->getStatusCode())); - Console::outDebug(sprintf(' <= headers: %s', (implode(', ', $httpResponse->getHeaders())))); - Console::outDebug(sprintf(' <= body: %s', $httpResponse->getBody())); - - curl_close($curl); - - if($cache) - { - $httpCacheObject = new HttpResponseCache($httpResponse, time() + 60); - RuntimeCache::set(sprintf('http_cache_%s', $httpRequest->requestHash()), $httpCacheObject); - - Console::outDebug(sprintf('cached response for %s', $httpRequest->requestHash())); - } - - return $httpResponse; - } - - /** - * Downloads a file from the given url and saves it to the given path. - * - * @param HttpRequest $httpRequest - * @param string $path - * @return void - * @throws NetworkException - */ - public static function download(HttpRequest $httpRequest, string $path): void - { - $curl = self::prepareCurl($httpRequest); - - $fp = fopen($path, 'wb'); - curl_setopt($curl, CURLOPT_FILE, $fp); - curl_setopt($curl, CURLOPT_HEADER, 0); - $response = curl_exec($curl); - - if ($response === false) - { - $error = curl_error($curl); - curl_close($curl); - throw new NetworkException($error); - } - - curl_close($curl); - fclose($fp); - } - - /** - * Takes the return headers of a cURL request and parses them into an array. - * - * @param string $input - * @return array - */ - private static function parseHeaders(string $input): array - { - $headers = array(); - $lines = explode("\n", $input); - $headers['HTTP'] = array_shift($lines); - - foreach ($lines as $line) - { - $header = explode(':', $line, 2); - if (count($header) === 2) - { - $headers[trim($header[0])] = trim($header[1]); - } - } - - return $headers; - } - } \ No newline at end of file diff --git a/src/ncc/Classes/LuaExtension/LuaRunner.php b/src/ncc/Classes/LuaExtension/LuaRunner.php index 0915c9e..f16a71d 100644 --- a/src/ncc/Classes/LuaExtension/LuaRunner.php +++ b/src/ncc/Classes/LuaExtension/LuaRunner.php @@ -23,17 +23,11 @@ namespace ncc\Classes\LuaExtension; use Exception; - use InvalidArgumentException; use ncc\Classes\ExecutionUnitRunner; - use ncc\Enums\Runners; use ncc\Exceptions\IOException; - use ncc\Exceptions\NotSupportedException; use ncc\Exceptions\OperationException; - use ncc\Exceptions\PathNotFoundException; use ncc\Interfaces\RunnerInterface; use ncc\Objects\Package\ExecutionUnit; - use ncc\Objects\ProjectConfiguration\ExecutionPolicy; - use ncc\ThirdParty\Symfony\Process\ExecutableFinder; use ncc\Utilities\IO; use ncc\Utilities\PathFinder; @@ -52,13 +46,21 @@ try { $process = ExecutionUnitRunner::constructProcess($unit, array_merge([$tmp], $args)); - $process->run(static function($type, $buffer) use ($unit) + + if($unit->getExecutionPolicy()->getExecute()->isTty()) { - if(!$unit->getExecutionPolicy()->getExecute()->isSilent()) + $process->run(); + } + else + { + $process->run(static function($type, $buffer) use ($unit) { - print($buffer); - } - }); + if(!$unit->getExecutionPolicy()->getExecute()->isSilent()) + { + print($buffer); + } + }); + } } catch(Exception $e) { diff --git a/src/ncc/Classes/NccExtension/ConstantCompiler.php b/src/ncc/Classes/NccExtension/ConstantCompiler.php index 6307c2f..775ff75 100644 --- a/src/ncc/Classes/NccExtension/ConstantCompiler.php +++ b/src/ncc/Classes/NccExtension/ConstantCompiler.php @@ -27,7 +27,6 @@ use ncc\Enums\SpecialConstants\InstallConstants; use ncc\Enums\SpecialConstants\AssemblyConstants; use ncc\Enums\SpecialConstants\RuntimeConstants; - use ncc\Managers\ProjectManager; use ncc\Objects\InstallationPaths; use ncc\Objects\ProjectConfiguration; use ncc\Objects\ProjectConfiguration\Assembly; diff --git a/src/ncc/Classes/NccExtension/NccCompiler.php b/src/ncc/Classes/NccExtension/NccCompiler.php index 8ec7adb..d21e5ec 100644 --- a/src/ncc/Classes/NccExtension/NccCompiler.php +++ b/src/ncc/Classes/NccExtension/NccCompiler.php @@ -27,11 +27,11 @@ use ncc\Classes\PackageWriter; use ncc\CLI\Main; - use ncc\Enums\ComponentDataType; use ncc\Enums\Flags\PackageFlags; use ncc\Enums\LogLevel; use ncc\Enums\Options\BuildConfigurationOptions; use ncc\Enums\Options\BuildConfigurationValues; + use ncc\Enums\Types\ComponentDataType; use ncc\Exceptions\ConfigurationException; use ncc\Exceptions\IOException; use ncc\Exceptions\NotSupportedException; @@ -162,6 +162,18 @@ $this->processResource($package_writer, $resource); } + // Add the project dependencies + foreach($this->project_manager->getProjectConfiguration()->getBuild()->getDependencies() as $dependency) + { + $package_writer->addDependencyConfiguration($dependency); + } + + // Add the build dependencies + foreach($configuration->getDependencies() as $dependency) + { + $package_writer->addDependencyConfiguration($dependency); + } + $package_writer->close(); return $package_path; } @@ -216,7 +228,7 @@ public function processComponent(PackageWriter $package_writer, string $file_path): void { $package_writer->addComponent(new Package\Component( - Functions::removeBasename($file_path), + Functions::removeBasename($file_path, $this->project_manager->getProjectPath()), Base64::encode(IO::fread($file_path)), ComponentDataType::BASE64_ENCODED )); } @@ -234,7 +246,7 @@ public function processResource(PackageWriter $package_writer, string $file_path): void { $package_writer->addResource(new Package\Resource( - Functions::removeBasename($file_path), IO::fread($file_path) + Functions::removeBasename($file_path, $this->project_manager->getProjectPath()), IO::fread($file_path) )); } diff --git a/src/ncc/Classes/NccExtension/Runner.php b/src/ncc/Classes/NccExtension/Runner.php deleted file mode 100644 index e2a363a..0000000 --- a/src/ncc/Classes/NccExtension/Runner.php +++ /dev/null @@ -1,62 +0,0 @@ -addUnit($package, $version, $unit, true); - $ExecutionPointerManager->executeUnit($package, $version, $unit->getExecutionPolicy()->getName()); - $ExecutionPointerManager->cleanTemporaryUnits(); - } - } \ No newline at end of file diff --git a/src/ncc/Classes/PackageReader.php b/src/ncc/Classes/PackageReader.php index 3c48ddf..6b003a2 100644 --- a/src/ncc/Classes/PackageReader.php +++ b/src/ncc/Classes/PackageReader.php @@ -25,6 +25,7 @@ namespace ncc\Classes; + use Exception; use ncc\Enums\Flags\PackageFlags; use ncc\Enums\PackageDirectory; use ncc\Exceptions\ConfigurationException; @@ -43,15 +44,40 @@ class PackageReader { /** - * @var array + * @var int */ - private $headers; + private $package_offset; + + /** + * @var int + */ + private $package_length; + + /** + * @var int + */ + private $header_offset; /** * @var int */ private $header_length; + /** + * @var int + */ + private $data_offset; + + /** + * @var int + */ + private $data_length; + + /** + * @var array + */ + private $headers; + /** * @var resource */ @@ -81,51 +107,91 @@ throw new IOException(sprintf('Failed to open file \'%s\'', $file_path)); } - $pre_header = ''; - $diameter_hit = false; + // Package begin: ncc_pkg + // Start of header: after ncc_pkg + // End of header: \x1F\x1F + // Start of data: after \x1F\x1F + // End of data: \xFF\xAA\x55\xF0 - // Dynamically calculate header length until "ncc_pkg" is found - while (!feof($this->package_file)) + // First find the offset of the package by searching for the magic bytes "ncc_pkg" + $this->package_offset = 0; + while(!feof($this->package_file)) { - $char = fread($this->package_file, 1); - $pre_header .= $char; + $buffer = fread($this->package_file, 1024); + $buffer_length = strlen($buffer); + $this->package_offset += $buffer_length; - if (str_ends_with($pre_header, 'ncc_pkg')) + if (($position = strpos($buffer, "ncc_pkg")) !== false) { + $this->package_offset -= $buffer_length - $position; + $this->package_length = 7; // ncc_pkg + $this->header_offset = $this->package_offset + 7; break; } } - // Calculate header length including "ncc_pkg" - $this->header_length = strlen($pre_header); - - // Read everything after "ncc_pkg" up until the delimiter (0x1F 0x1F) - $header = ''; - while(!feof($this->package_file)) + // Check for sanity reasons + if($this->package_offset === null || $this->package_length === null) { - $this->header_length++; - $header .= fread($this->package_file, 1); + throw new IOException(sprintf('File \'%s\' is not a valid package file (missing magic bytes)', $file_path)); + } - if(str_ends_with($header, "\x1F\x1F")) + // Seek the header until the end of headers byte sequence (1F 1F 1F 1F) + fseek($this->package_file, $this->header_offset); + while (!feof($this->package_file)) + { + $this->headers .= fread($this->package_file, 1024); + + // Search for the position of "1F 1F 1F 1F" within the buffer + if (($position = strpos($this->headers, "\x1F\x1F\x1F\x1F")) !== false) { - $diameter_hit = true; - $header = substr($header, 0, -2); + $this->headers = substr($this->headers, 0, $position); + $this->header_length = strlen($this->headers); + $this->package_length += $this->header_length + 4; + $this->data_offset = $this->header_offset + $this->header_length + 4; break; } - // Stop at 100MB - if($this->header_length >= 100000000) + if (strlen($this->headers) >= 100000000) { throw new IOException(sprintf('File \'%s\' is not a valid package file (header is too large)', $file_path)); } } - if(!$diameter_hit) + try + { + $this->headers = ZiProto::decode($this->headers); + } + catch(Exception $e) + { + throw new IOException(sprintf('File \'%s\' is not a valid package file (corrupted header)', $file_path), $e); + } + + if(!isset($this->headers[PackageStructure::FILE_VERSION])) { throw new IOException(sprintf('File \'%s\' is not a valid package file (invalid header)', $file_path)); } - $this->headers = ZiProto::decode($header); + // Seek the data until the end of the package (FF AA 55 F0) + fseek($this->package_file, $this->data_offset); + while(!feof($this->package_file)) + { + $buffer = fread($this->package_file, 1024); + $this->data_length += strlen($buffer); + + if (($position = strpos($buffer, "\xFF\xAA\x55\xF0")) !== false) + { + $this->data_length -= strlen($buffer) - $position; + $this->package_length += $this->data_length + 4; + break; + } + } + + if($this->data_length === null) + { + throw new IOException(sprintf('File \'%s\' is not a valid package file (missing end of package)', $file_path)); + } + $this->cache = []; } @@ -194,7 +260,7 @@ } $location = explode(':', $this->headers[PackageStructure::DIRECTORY][$name]); - fseek($this->package_file, ($this->header_length + (int)$location[0])); + fseek($this->package_file, ($this->data_offset + (int)$location[0])); if(in_array(PackageFlags::COMPRESSION, $this->headers[PackageStructure::FLAGS], true)) { @@ -533,6 +599,76 @@ return Resource::fromArray(ZiProto::decode($this->getByPointer($pointer, $length))); } + /** + * Returns the offset of the package + * + * @return int + */ + public function getPackageOffset(): int + { + return $this->package_offset; + } + + /** + * @return int + */ + public function getPackageLength(): int + { + return $this->package_length; + } + + /** + * @return int + */ + public function getHeaderOffset(): int + { + return $this->header_offset; + } + + /** + * @return false|int + */ + public function getHeaderLength(): false|int + { + return $this->header_length; + } + + /** + * @return int + */ + public function getDataOffset(): int + { + return $this->data_offset; + } + + /** + * @return int + */ + public function getDataLength(): int + { + return $this->data_length; + } + + /** + * @param string $path + * @return void + * @throws IOException + */ + public function saveCopy(string $path): void + { + $destination = fopen($path, 'wb'); + if($destination === false) + { + throw new IOException(sprintf('Failed to open file \'%s\'', $path)); + } + + // Copy the package file to the destination + stream_copy_to_stream($this->package_file, $destination, $this->package_length, $this->package_offset); + + // Done! + fclose($destination); + } + /** * PackageReader destructor. */ diff --git a/src/ncc/Classes/PackageWriter.php b/src/ncc/Classes/PackageWriter.php index 2fdc3cc..6660b87 100644 --- a/src/ncc/Classes/PackageWriter.php +++ b/src/ncc/Classes/PackageWriter.php @@ -69,7 +69,6 @@ /** * PackageWriter constructor. * - * @param string $file_path * @throws IOException */ public function __construct(string $file_path, bool $overwrite=true) @@ -153,6 +152,7 @@ * * @param array $flags * @return void + * @throws IOException */ public function setFlags(array $flags): void { @@ -189,6 +189,7 @@ * * @param string $flag * @return void + * @throws IOException */ public function removeFlag(string $flag): void { @@ -206,13 +207,12 @@ * @param string $name * @param string $data * @return array - * @throws IOException */ public function add(string $name, string $data): array { if(isset($this->headers[PackageStructure::DIRECTORY][$name])) { - throw new IOException(sprintf('Resource \'%s\' already exists in package', $name)); + return explode(':', $this->headers[PackageStructure::DIRECTORY][$name]); } if(in_array(PackageFlags::COMPRESSION, $this->headers[PackageStructure::FLAGS], true)) @@ -250,13 +250,12 @@ * @param int $offset * @param int $length * @return void - * @throws IOException */ public function addPointer(string $name, int $offset, int $length): void { if(isset($this->headers[PackageStructure::DIRECTORY][$name])) { - throw new IOException(sprintf('Resource \'%s\' already exists in package', $name)); + return; } $this->headers[PackageStructure::DIRECTORY][$name] = sprintf("%d:%d", $offset, $length); @@ -267,7 +266,6 @@ * * @param Assembly $assembly * @return array - * @throws IOException */ public function setAssembly(Assembly $assembly): array { @@ -279,7 +277,6 @@ * * @param Metadata $metadata * @return array - * @throws IOException */ public function setMetadata(Metadata $metadata): array { @@ -291,7 +288,6 @@ * * @param Installer $installer * @return array - * @throws IOException */ public function setInstaller(Installer $installer): array { @@ -303,7 +299,6 @@ * * @param Dependency $dependency * @return array - * @throws IOException */ public function addDependencyConfiguration(Dependency $dependency): array { @@ -315,7 +310,6 @@ * * @param ExecutionUnit $unit * @return array - * @throws IOException */ public function addExecutionUnit(ExecutionUnit $unit): array { @@ -327,7 +321,6 @@ * * @param Component $component * @return array - * @throws IOException */ public function addComponent(Component $component): array { @@ -339,11 +332,10 @@ * * @param Resource $resource * @return array - * @throws IOException */ public function addResource(Resource $resource): array { - return $this->add(sprintf('@%s:%s', PackageDirectory::RESOURCES, $resource->getName()), $resource->getData()); + return $this->add(sprintf('@%s:%s', PackageDirectory::RESOURCES, $resource->getName()), ZiProto::encode($resource->toArray(true))); } /** @@ -353,7 +345,6 @@ * @param int $offset * @param int $length * @return void - * @throws IOException */ public function mapClass(string $class, int $offset, int $length): void { @@ -379,12 +370,15 @@ // Write the magic bytes "ncc_pkg" to the package and the header fwrite($this->package_file, 'ncc_pkg'); fwrite($this->package_file, ZiProto::encode($this->headers)); - fwrite($this->package_file, chr(0x1F) . chr(0x1F)); + fwrite($this->package_file, "\x1F\x1F\x1F\x1F"); // Copy the temporary data file to the package $temp_file = fopen($this->temporary_path, 'rb'); stream_copy_to_stream($temp_file, $this->package_file); + // End the package by writing the end-of-package delimiter (0xFFAA55F0) + fwrite($this->package_file, "\xFF\xAA\x55\xF0"); + // Close the file handles fclose($this->package_file); fclose($temp_file); diff --git a/src/ncc/Classes/PackagistExtension/PackagistRepository.php b/src/ncc/Classes/PackagistExtension/PackagistRepository.php new file mode 100644 index 0000000..e90344e --- /dev/null +++ b/src/ncc/Classes/PackagistExtension/PackagistRepository.php @@ -0,0 +1,240 @@ +isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($vendor), rawurlencode($project)); + Console::outDebug(sprintf('Fetching archive %s/%s version %s from %s', $vendor, $project, $version, $endpoint)); + + $curl = curl_init($endpoint); + $headers = [ + 'Accept: application/json', + 'User-Agent: ncc' + ]; + + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $vendor, $project); + + if(!isset($response['package']['versions'][$version])) + { + throw new NetworkException(sprintf('Invalid response from %s/%s, version %s does not exist', $vendor, $project, $version)); + } + + if(!isset($response['package']['versions'][$version]['dist']['url'])) + { + throw new NetworkException(sprintf('Invalid response from %s/%s, version %s does not have a dist URL', $vendor, $project, $version)); + } + + return new RepositoryResult($response['package']['versions'][$version]['dist']['url'], RepositoryResultType::SOURCE, $version); + } + + /** + * @inheritDoc + * @throws NotSupportedException + */ + public static function fetchPackage(RepositoryConfiguration $repository, string $vendor, string $project, string $version = Versions::LATEST, ?AuthenticationType $authentication = null): RepositoryResult + { + throw new NotSupportedException('Fetching ncc packages from Packagist is not supported'); + } + + + /** + * Returns an array of all versions for the specified vendor and project + * + * @param RepositoryConfiguration $repository + * @param string $vendor + * @param string $project + * @return array + * @throws AuthenticationException + * @throws NetworkException + */ + private static function getVersions(RepositoryConfiguration $repository, string $vendor, string $project): array + { + $endpoint = sprintf('%s://%s/packages/%s/%s.json', ($repository->isSsl() ? 'https' : 'http'), $repository->getHost(), rawurlencode($vendor), rawurlencode($project)); + $curl = curl_init($endpoint); + $headers = [ + 'Accept: application/json', + 'User-Agent: ncc' + ]; + + Console::outDebug(sprintf('Fetching %s/%s versions from %s', $vendor, $project, $endpoint)); + + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_CUSTOMREQUEST, HttpRequestType::GET); + curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); + + $response = self::processHttpResponse($curl, $vendor, $project); + + if(!isset($response['package']['versions'])) + { + throw new NetworkException(sprintf('Invalid response from %s/%s, missing "package.versions" key', $vendor, $project)); + } + + return array_keys($response['package']['versions']); + } + + /** + * Resolves the latest version for the specified vendor and project + * + * @param RepositoryConfiguration $repository + * @param string $vendor + * @param string $project + * @return string + * @throws AuthenticationException + * @throws NetworkException + */ + public static function getLatestVersion(RepositoryConfiguration $repository, string $vendor, string $project): string + { + $versions = self::getVersions($repository, $vendor, $project); + + /** @noinspection KeysFragmentationWithArrayFunctionsInspection */ + $versions = array_filter($versions, static function($version) + { + return !preg_match('/-alpha|-beta|-rc|dev/i', $version); + }); + + usort($versions, static function($a, $b) + { + return Comparator::lessThanOrEqualTo($a, $b) ? 1 : -1; + }); + + return $versions[0]; + } + + /** + * Resolves the requested version from a constraint for the specified vendor and project + * + * @param RepositoryConfiguration $repository + * @param string $vendor + * @param string $project + * @param string $version + * @return string + * @throws AuthenticationException + * @throws NetworkException + */ + public static function resolveVersion(RepositoryConfiguration $repository, string $vendor, string $project, string $version): string + { + $versions = self::getVersions($repository, $vendor, $project); + + usort($versions, static function($a, $b) + { + return Comparator::lessThanOrEqualTo($a, $b) ? 1 : -1; + }); + + foreach($versions as $working_version) + { + // Avoid using dev versions if the requested version is not a dev version + if(false === stripos($version, "-dev") && false !== stripos($working_version, "-dev")) + { + continue; + } + + if(Semver::satisfies($working_version, $version)) + { + return $working_version; + } + } + + throw new InvalidArgumentException(sprintf('Version %s for %s/%s does not exist', $version, $vendor, $project)); + } + + /** + * Processes the HTTP response from the server and returns the decoded JSON response + * + * @param CurlHandle $curl + * @param string $vendor + * @param string $project + * @return array + * @throws AuthenticationException + * @throws NetworkException + */ + private static function processHttpResponse(CurlHandle $curl, string $vendor, string $project): array + { + $response = curl_exec($curl); + + if($response === false) + { + throw new NetworkException(sprintf('HTTP request failed for %s/%s: %s', $vendor, $project, curl_error($curl))); + } + + switch (curl_getinfo($curl, CURLINFO_HTTP_CODE)) + { + case 200: + break; + + case 401: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 401 Unauthorized, invalid/expired access token', $vendor, $project)); + + case 403: + throw new AuthenticationException(sprintf('Authentication failed for %s/%s, 403 Forbidden, insufficient scope', $vendor, $project)); + + case 404: + throw new NetworkException(sprintf('Resource not found for %s/%s, server returned 404 Not Found', $vendor, $project)); + + default: + throw new NetworkException(sprintf('Server responded with HTTP code %s for %s/%s: %s', curl_getinfo($curl, CURLINFO_HTTP_CODE), $vendor, $project, $response)); + } + + try + { + return json_decode($response, true, 512, JSON_THROW_ON_ERROR); + } + catch(JsonException $e) + { + throw new RuntimeException(sprintf('Failed to parse response from %s/%s: %s', $vendor, $project, $e->getMessage()), $e); + } + } + } \ No newline at end of file diff --git a/src/ncc/Classes/PerlExtension/PerlRunner.php b/src/ncc/Classes/PerlExtension/PerlRunner.php index 57bc6b7..caf8b04 100644 --- a/src/ncc/Classes/PerlExtension/PerlRunner.php +++ b/src/ncc/Classes/PerlExtension/PerlRunner.php @@ -25,13 +25,9 @@ use Exception; use ncc\Classes\ExecutionUnitRunner; use ncc\Exceptions\IOException; - use ncc\Exceptions\NotSupportedException; use ncc\Exceptions\OperationException; - use ncc\Exceptions\PathNotFoundException; use ncc\Interfaces\RunnerInterface; use ncc\Objects\Package\ExecutionUnit; - use ncc\Objects\ProjectConfiguration\ExecutionPolicy; - use ncc\ThirdParty\Symfony\Process\ExecutableFinder; use ncc\Utilities\IO; use ncc\Utilities\PathFinder; diff --git a/src/ncc/Classes/PhpExtension/ExecutableCompiler.php b/src/ncc/Classes/PhpExtension/ExecutableCompiler.php index f98f045..2db5b5c 100644 --- a/src/ncc/Classes/PhpExtension/ExecutableCompiler.php +++ b/src/ncc/Classes/PhpExtension/ExecutableCompiler.php @@ -24,6 +24,7 @@ use ncc\CLI\Main; use ncc\Enums\LogLevel; + use ncc\Enums\Options\BuildConfigurationOptions; use ncc\Enums\Options\BuildConfigurationValues; use ncc\Exceptions\BuildException; use ncc\ThirdParty\Symfony\Process\ExecutableFinder; @@ -42,14 +43,14 @@ { $configuration = $this->getProjectManager()->getProjectConfiguration()->getBuild()->getBuildConfiguration($build_configuration); - if(!isset($configuration->getOptions()['ncc_configuration'])) + if(!isset($configuration->getOptions()[BuildConfigurationOptions::NCC_CONFIGURATION])) { throw new BuildException(sprintf("Unable to compile the binary, the build configuration '%s' does not have a ncc_configuration.", $build_configuration)); } // Build the ncc package first Console::outVerbose('Building ncc package.'); - $ncc_package = parent::build($configuration->getOptions()['ncc_configuration']); + $ncc_package = parent::build($configuration->getOptions()[BuildConfigurationOptions::NCC_CONFIGURATION]); // Prepare the ncc package for compilation $hex_dump_file = PathFinder::getCachePath() . DIRECTORY_SEPARATOR . parent::getProjectManager()->getProjectConfiguration()->getAssembly()->getName() . '.c'; @@ -134,19 +135,23 @@ */ private function hexDump(string $input_path, string $output_path, string $variable_name): void { + Console::out(sprintf('Processing %s to hex dump', $input_path)); + $input = fopen($input_path, 'rb'); $output = fopen($output_path, 'wb'); - - fwrite($output, sprintf("unsigned char %s[] = {\n", Functions::toSnakeCase($variable_name))); $byte_count = 0; + $total_bytes = filesize($input_path); + fwrite($output, sprintf("unsigned char %s[] = {\n", Functions::toSnakeCase($variable_name))); // Convert the binary data to hex and write it to the output file while (!feof($input)) { + Console::inlineProgressBar(ftell($input), $total_bytes); + $byte = fread($input, 1); if (strlen($byte) === 1) { - fwrite($output, sprintf(" 0x%02x,", ord($byte))); + fwrite($output, sprintf(" 0x%02x,", ord($byte))); $byte_count++; } diff --git a/src/ncc/Classes/PhpExtension/NccCompiler.php b/src/ncc/Classes/PhpExtension/NccCompiler.php index 4c03822..0cdf5e3 100644 --- a/src/ncc/Classes/PhpExtension/NccCompiler.php +++ b/src/ncc/Classes/PhpExtension/NccCompiler.php @@ -24,17 +24,17 @@ use Exception; use ncc\Classes\PackageWriter; - use ncc\Enums\ComponentDataType; use ncc\Enums\Flags\ComponentFlags; + use ncc\Enums\Types\ComponentDataType; use ncc\Exceptions\IOException; use ncc\Exceptions\PathNotFoundException; + use ncc\Extensions\ZiProto\ZiProto; use ncc\Objects\Package\Component; use ncc\ThirdParty\nikic\PhpParser\ParserFactory; use ncc\Utilities\Base64; use ncc\Utilities\Console; use ncc\Utilities\Functions; use ncc\Utilities\IO; - use ncc\Extensions\ZiProto\ZiProto; class NccCompiler extends \ncc\Classes\NccExtension\NccCompiler { @@ -48,7 +48,7 @@ */ public function processComponent(PackageWriter $package_writer, string $file_path): void { - $component_name = Functions::removeBasename($file_path); + $component_name = Functions::removeBasename($file_path, $this->getProjectManager()->getProjectPath()); try { diff --git a/src/ncc/Classes/PhpExtension/PhpRunner.php b/src/ncc/Classes/PhpExtension/PhpRunner.php index 0ddad75..a818dd0 100644 --- a/src/ncc/Classes/PhpExtension/PhpRunner.php +++ b/src/ncc/Classes/PhpExtension/PhpRunner.php @@ -31,7 +31,6 @@ use ncc\Exceptions\OperationException; use ncc\Interfaces\RunnerInterface; use ncc\Objects\Package\ExecutionUnit; - use ncc\ThirdParty\Symfony\Process\ExecutableFinder; use ncc\Utilities\IO; use ncc\Utilities\PathFinder; diff --git a/src/ncc/Classes/Runtime.php b/src/ncc/Classes/Runtime.php index b22fe71..0f92c88 100644 --- a/src/ncc/Classes/Runtime.php +++ b/src/ncc/Classes/Runtime.php @@ -1,24 +1,24 @@ 0) + { + $filesystem = new Filesystem(); + + foreach(self::$cleanup_paths as $path) + { + try + { + //$filesystem->remove($path); + } + catch(Exception $e) + { + // ignore + } + } + } + + try + { + RuntimeCache::clearCache(); + Functions::finalizePermissions(); + } + catch (Exception $e) + { + Console::outWarning('An error occurred while shutting down ncc, ' . $e->getMessage()); + } + } + + /** + * Declares a path to be cleaned up on shutdown + * + * @param string $path + * @return void + */ + public static function declareTemporaryPath(string $path): void + { + if(!in_array($path, self::$cleanup_paths, true)) + { + self::$cleanup_paths[] = $path; + } + } + } \ No newline at end of file diff --git a/src/ncc/Enums/AuthenticationType.php b/src/ncc/Enums/AuthenticationType.php deleted file mode 100644 index 332e43b..0000000 --- a/src/ncc/Enums/AuthenticationType.php +++ /dev/null @@ -1,36 +0,0 @@ -""|]*[%])|([a-zA-Z][:])|(\\\\))((\\\\{1})|((\\\\{1})[^\\\\]([^\/:*?<>""|]*))+)$/m'; - public const CONSTANT_NAME = '/^([^\x00-\x7F]|[\w_\ \.\+\-]){2,64}$/'; public const EXECUTION_POLICY_NAME = '/^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/m'; diff --git a/src/ncc/Enums/RemoteSourceType.php b/src/ncc/Enums/RemoteSourceType.php deleted file mode 100644 index f12f280..0000000 --- a/src/ncc/Enums/RemoteSourceType.php +++ /dev/null @@ -1,56 +0,0 @@ -store_path = PathFinder::getDataPath(Scopes::SYSTEM) . DIRECTORY_SEPARATOR . 'credentials.store'; - - try - { - $this->loadVault(); - } - catch(Exception $e) - { - unset($e); - } - - if($this->vault === null) - { - $this->vault = new Vault(); - } - } - - /** - * Constructs the store file if it doesn't exist on the system (First initialization) - * - * @return void - * @throws AuthenticationException - * @throws IOException - */ - public function constructStore(): void - { - Console::outDebug(sprintf('constructing credentials store at %s', $this->store_path)); - - // Do not continue the function if the file already exists, if the file is damaged a separate function - // is to be executed to fix the damaged file. - if(file_exists($this->store_path)) - { - return; - } - if(Resolver::resolveScope() !== Scopes::SYSTEM) { - throw new AuthenticationException('Cannot construct credentials store without system permissions'); + throw new OperationException('You must have root privileges to access the credentials storage file'); } - $VaultObject = new Vault(); - $VaultObject->setVersion(Versions::CREDENTIALS_STORE_VERSION); - - IO::fwrite($this->store_path, ZiProto::encode($VaultObject->toArray()), 0744); - } - - /** - * Loads the vault from the disk - * - * @return void - * @throws IOException - * @throws PathNotFoundException - * @throws RuntimeException - */ - private function loadVault(): void - { - Console::outDebug(sprintf('loading credentials store from %s', $this->store_path)); - - if($this->vault !== null) - { - return; - } - - if(!file_exists($this->store_path)) + if(!is_file(PathFinder::getCredentialStorage())) { $this->vault = new Vault(); return; } - $vault_object = Vault::fromArray(ZiProto::decode(IO::fread($this->store_path))); + $this->vault = Vault::fromArray(ZiProto::decode(IO::fread(PathFinder::getCredentialStorage()))); + } - if($vault_object->getVersion() !== Versions::CREDENTIALS_STORE_VERSION) - { - throw new RuntimeException('Credentials store version mismatch'); - } - - $this->vault = $vault_object; + /** + * Returns the Vault object + * + * @return Vault + */ + public function getVault(): Vault + { + return $this->vault; } /** * Saves the vault to the disk * * @return void - * @throws AuthenticationException * @throws IOException + * @throws OperationException */ - public function saveVault(): void + public function save(): void { - Console::outDebug(sprintf('saving credentials store to %s', $this->store_path)); + Console::outVerbose(sprintf('Saving credentials store to %s', PathFinder::getCredentialStorage())); if(Resolver::resolveScope() !== Scopes::SYSTEM) { - throw new AuthenticationException('Cannot save credentials store without system permissions'); + throw new OperationException('You must have root privileges to modify the credentials storage file'); } - IO::fwrite($this->store_path, ZiProto::encode($this->vault->toArray()), 0744); + IO::fwrite(PathFinder::getCredentialStorage(), ZiProto::encode($this->vault->toArray(true)), 0600); } /** - * @return Vault|null + * Initializes the credential storage file if it doesn't exist + * + * @return void + * @throws IOException + * @throws OperationException */ - public function getVault(): ?Vault + public static function initializeCredentialStorage(): void { - return $this->vault; + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + throw new OperationException('You must have root privileges to initialize the credentials storage file'); + } + + if(is_file(PathFinder::getCredentialStorage())) + { + Console::outVerbose('Skipping credentials store initialization, store already exists'); + return; + } + + Console::outVerbose(sprintf('Initializing credentials store at %s', PathFinder::getCredentialStorage())); + IO::fwrite(PathFinder::getCredentialStorage(), ZiProto::encode((new Vault())->toArray(true)), 0600); } } \ No newline at end of file diff --git a/src/ncc/Managers/ExecutionPointerManager.php b/src/ncc/Managers/ExecutionPointerManager.php deleted file mode 100644 index 6812de7..0000000 --- a/src/ncc/Managers/ExecutionPointerManager.php +++ /dev/null @@ -1,614 +0,0 @@ -cleanTemporaryUnits(); - } - catch(Exception $e) - { - unset($e); - } - } - - /** - * ExecutionPointerManager constructor. - */ - public function __construct() - { - $this->runner_path = PathFinder::getRunnerPath(Scopes::SYSTEM); - $this->temporary_units = []; - } - - /** - * Deletes all temporary files and directories - * - * @return void - */ - public function cleanTemporaryUnits(): void - { - if(count($this->temporary_units) === 0) - { - return; - } - - Console::outVerbose('Cleaning temporary units...'); - - try - { - foreach($this->temporary_units as $datum) - { - Console::outDebug(sprintf('deleting unit %s=%s.%s', $datum['package'], $datum['version'], $datum['name'])); - $this->removeUnit($datum['package'], $datum['version'], $datum['name']); - } - } - catch(Exception $e) - { - unset($e); - } - } - - /** - * Calculates the Package ID for the execution pointers - * - * @param string $package - * @param string $version - * @return string - */ - private function getPackageId(string $package, string $version): string - { - Console::outDebug(sprintf('calculating package id for %s=%s', $package, $version)); - return hash('haval128,4', $package . $version); - } - - /** - * Returns the path to the execution pointer file - * - * @param string $package - * @param string $version - * @param string $name - * @return string - */ - public function getEntryPointPath(string $package, string $version, string $name): string - { - $package_id = $this->getPackageId($package, $version); - $package_bin_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id; - $entry_point_path = $package_bin_path . DIRECTORY_SEPARATOR . hash('haval128,4', $name) . '.entrypoint'; - - if(!file_exists($entry_point_path)) - { - throw new RuntimeException('Cannot find entry point for ' . $package . '=' . $version . '.' . $name); - } - - return $entry_point_path; - } - - /** - * Adds a new Execution Unit to the - * - * @param string $package - * @param string $version - * @param ExecutionUnit $unit - * @param bool $temporary - * @return void - * @throws AuthenticationException - * @throws IOException - * @throws NotSupportedException - * @throws PathNotFoundException - */ - public function addUnit(string $package, string $version, ExecutionUnit $unit, bool $temporary=false): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Cannot add new ExecutionUnit \'' . $unit->getExecutionPolicy()->getName() .'\' for ' . $package . ', insufficient permissions'); - } - - Console::outVerbose(sprintf('Adding new ExecutionUnit \'%s\' for %s', $unit->getExecutionPolicy()->getName(), $package)); - - $package_id = $this->getPackageId($package, $version); - $package_config_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id . '.inx'; - $package_bin_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id; - $entry_point_path = $package_bin_path . DIRECTORY_SEPARATOR . hash('haval128,4', $unit->getExecutionPolicy()->getName()) . '.entrypoint'; - - Console::outDebug(sprintf('package_id=%s', $package_id)); - Console::outDebug(sprintf('package_config_path=%s', $package_config_path)); - Console::outDebug(sprintf('package_bin_path=%s', $package_bin_path)); - Console::outDebug(sprintf('entry_point_path=%s', $entry_point_path)); - - $filesystem = new Filesystem(); - - // Either load or create the pointers file - if(!$filesystem->exists($package_config_path)) - { - $execution_pointers = new ExecutionPointers($package, $version); - } - else - { - $execution_pointers = ExecutionPointers::fromArray(ZiProto::decode(IO::fread($package_config_path))); - } - - $bin_file = $package_bin_path . DIRECTORY_SEPARATOR . hash('haval128,4', $unit->getExecutionPolicy()->getName()); - $bin_file .= match ($unit->getExecutionPolicy()->getRunner()) - { - Runners::BASH => BashRunner::getFileExtension(), - Runners::PHP => PhpRunner::getFileExtension(), - Runners::PERL => PerlRunner::getFileExtension(), - Runners::PYTHON => PythonRunner::getFileExtension(), - Runners::PYTHON_2 => Python2Runner::getFileExtension(), - Runners::PYTHON_3 => Python3Runner::getFileExtension(), - Runners::LUA => LuaRunner::getFileExtension(), - default => throw new NotSupportedException('The runner \'' . $unit->getExecutionPolicy()->getRunner() . '\' is not supported'), - }; - - Console::outDebug(sprintf('bin_file=%s', $bin_file)); - - if($temporary && $filesystem->exists($bin_file)) - { - return; - } - - if(!$filesystem->exists($package_bin_path)) - { - $filesystem->mkdir($package_bin_path); - } - - if($filesystem->exists($bin_file)) - { - $filesystem->remove($bin_file); - } - - IO::fwrite($bin_file, $unit->getData()); - $execution_pointers->addUnit($unit, $bin_file); - IO::fwrite($package_config_path, ZiProto::encode($execution_pointers->toArray(true))); - - $entry_point = sprintf("#!%s\nncc exec --package=\"%s\" --exec-version=\"%s\" --exec-unit=\"%s\" --exec-args \"$@\"", - '/bin/bash', - $package, $version, $unit->getExecutionPolicy()->getName() - ); - - if(file_exists($entry_point_path)) - { - $filesystem->remove($entry_point_path); - } - - IO::fwrite($entry_point_path, $entry_point); - chmod($entry_point_path, 0755); - - if($temporary) - { - Console::outVerbose(sprintf('Adding temporary ExecutionUnit \'%s\' for %s', $unit->getExecutionPolicy()->getName(), $package)); - $this->temporary_units[] = [ - 'package' => $package, - 'version' => $version, - 'unit' => $unit->getExecutionPolicy()->getName() - ]; - } - } - - /** - * Deletes and removes the installed unit - * - * @param string $package - * @param string $version - * @param string $name - * @return bool - * @throws AuthenticationException - * @throws IOException - * @throws PathNotFoundException - */ - public function removeUnit(string $package, string $version, string $name): bool - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Cannot remove ExecutionUnit \'' . $name .'\' for ' . $package . ', insufficient permissions'); - } - - Console::outVerbose(sprintf('Removing ExecutionUnit \'%s\' for %s', $name, $package)); - - $package_id = $this->getPackageId($package, $version); - $package_config_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id . '.inx'; - $package_bin_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id; - - Console::outDebug(sprintf('package_id=%s', $package_id)); - Console::outDebug(sprintf('package_config_path=%s', $package_config_path)); - Console::outDebug(sprintf('package_bin_path=%s', $package_bin_path)); - - $filesystem = new Filesystem(); - - if(!$filesystem->exists($package_config_path)) - { - return false; - } - - $execution_pointers = ExecutionPointers::fromArray(ZiProto::decode(IO::fread($package_config_path))); - $unit = $execution_pointers->getUnit($name); - - if($unit === null) - { - return false; - } - - $results = $execution_pointers->deleteUnit($name); - - // Delete everything if there are no execution pointers configured - if(count($execution_pointers->getPointers()) === 0) - { - $filesystem->remove($package_config_path); - $filesystem->remove($package_bin_path); - - return $results; - } - - // Delete the single execution pointer file - if($filesystem->exists($unit->getFilePointer())) - { - $filesystem->remove($unit->getFilePointer()); - } - - return $results; - } - - /** - * Returns an array of configured units for a package version - * - * @param string $package - * @param string $version - * @return array - * @throws IOException - * @throws PathNotFoundException - */ - public function getUnits(string $package, string $version): array - { - Console::outVerbose(sprintf('getting execution units for %s', $package)); - - $package_id = $this->getPackageId($package, $version); - $package_config_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id . '.inx'; - - Console::outDebug(sprintf('package_id=%s', $package_id)); - Console::outDebug(sprintf('package_config_path=%s', $package_config_path)); - - if(!file_exists($package_config_path)) - { - Console::outWarning(sprintf('Path \'%s\' does not exist', $package_config_path)); - return []; - } - - $execution_pointers = ExecutionPointers::fromArray(ZiProto::decode(IO::fread($package_config_path))); - $results = []; - foreach($execution_pointers->getPointers() as $pointer) - { - Console::outDebug(sprintf('unit %s', $pointer->getExecutionPolicy()->getName())); - $results[] = $pointer->getExecutionPolicy()->getName(); - } - - return $results; - } - - /** - * Executes a unit - * - * @param string $package - * @param string $version - * @param string $name - * @param array $args - * @return int - * @throws IOException - * @throws OperationException - * @throws PathNotFoundException - */ - public function executeUnit(string $package, string $version, string $name, array $args=[]): int - { - Console::outVerbose(sprintf('executing unit %s for %s', $name, $package)); - - $package_id = $this->getPackageId($package, $version); - $package_config_path = $this->runner_path . DIRECTORY_SEPARATOR . $package_id . '.inx'; - - if(!file_exists($package_config_path)) - { - throw new OperationException('There is no available units for \'' . $package . '=' .$version .'\''); - } - - $execution_pointers = ExecutionPointers::fromArray(ZiProto::decode(IO::fread($package_config_path))); - $unit = $execution_pointers->getUnit($name); - - if($unit === null) - { - throw new OperationException('The execution unit \'' . $name . '\' was not found for \'' . $package . '=' .$version .'\''); - } - - Console::outDebug(sprintf('unit=%s', $unit->getExecutionPolicy()->getName())); - Console::outDebug(sprintf('runner=%s', $unit->getExecutionPolicy()->getRunner())); - Console::outDebug(sprintf('file=%s', $unit->getFilePointer())); - Console::outDebug(sprintf('pass_thru_args=%s', implode(' ', $args))); - - // Handle the arguments - if(count($unit->getExecutionPolicy()->getExecute()->getOptions()) > 0) - { - $args = array_merge($args, $unit->getExecutionPolicy()->getExecute()->getOptions()); - - foreach($unit->getExecutionPolicy()->getExecute()->getOptions() as $option) - { - $args[] = ConstantCompiler::compileRuntimeConstants($option); - } - } - - $process = new Process(array_merge( - [PathFinder::findRunner(strtolower($unit->getExecutionPolicy()->getRunner())), $unit->getFilePointer()], $args) - ); - - $process->setWorkingDirectory(ConstantCompiler::compileRuntimeConstants($unit->getExecutionPolicy()->getExecute()->getWorkingDirectory())); - - - if(is_null($unit->getExecutionPolicy()->getExecute()->getTimeout())) - { - $process->setTimeout((float)$unit->getExecutionPolicy()->getExecute()->getTimeout()); - } - else - { - Console::outDebug('timeout is not set, using the default value (forever)'); - $process->setTimeout(null); - } - - try - { - if($unit->getExecutionPolicy()->getExecute()->isSilent()) - { - $process->disableOutput(); - $process->setTty(false); - } - elseif($unit->getExecutionPolicy()->getExecute()->isTty()) - { - $process->enableOutput(); - $process->setTty(true); - } - else - { - $process->enableOutput(); - } - } - catch(Exception $e) - { - unset($e); - $process->enableOutput(); - Console::outWarning('The process is configured to use a TTY, but the current environment does not support it'); - } - finally - { - if($process->isTty() && !Functions::isTtyMode()) - { - Console::outWarning('The process is configured to use a TTY, but the current environment does not support it'); - $process->setTty(false); - } - } - - Console::outDebug(sprintf('working_directory=%s', $process->getWorkingDirectory())); - Console::outDebug(sprintf('timeout=%s', (int)$process->getTimeout())); - Console::outDebug(sprintf('silent=%s', ($unit->getExecutionPolicy()->getExecute()->isSilent() ? 'true' : 'false'))); - Console::outDebug(sprintf('tty=%s', ($unit->getExecutionPolicy()->getExecute()->isTty() ? 'true' : 'false'))); - Console::outDebug(sprintf('options=%s', implode(' ', $args))); - Console::outDebug(sprintf('cmd=%s', $process->getCommandLine())); - - try - { - if($unit->getExecutionPolicy()->getMessage() !== null) - { - Console::out($unit->getExecutionPolicy()->getMessage()); - } - - $process->run(function ($type, $buffer) - { - Console::out($buffer); - }); - - $process->wait(); - } - catch(Exception $e) - { - if($unit->getExecutionPolicy()->getExitHandlers()?->getError() !== null) - { - $this->handleExit($package, $version, $unit->getExecutionPolicy()?->getExitHandlers()?->getError()); - } - - Console::outException(sprintf('An error occurred while executing the unit \'%s\' for \'%s\' (exit code %s)', $unit->getExecutionPolicy()->getName(), $package, $process->getExitCode()), $e); - } - finally - { - Console::outDebug(sprintf('exit_code=%s', $process->getExitCode())); - } - - if($unit->getExecutionPolicy()->getExitHandlers() !== null) - { - if($unit->getExecutionPolicy()->getExitHandlers()->getSuccess() !== null && $process->isSuccessful()) - { - $this->handleExit($package, $version, $unit->getExecutionPolicy()->getExitHandlers()->getSuccess()); - } - elseif($unit->getExecutionPolicy()->getExitHandlers()->getError() !== null && $process->isSuccessful()) - { - $this->handleExit($package, $version, $unit->getExecutionPolicy()->getExitHandlers()->getError()); - } - else - { - $this->handleExit($package, $version, $unit->getExecutionPolicy()->getExitHandlers()?->getSuccess(), $process); - $this->handleExit($package, $version, $unit->getExecutionPolicy()->getExitHandlers()?->getWarning(), $process); - $this->handleExit($package, $version, $unit->getExecutionPolicy()->getExitHandlers()?->getError(), $process); - } - } - - return $process->getExitCode() ?? 0; - } - - /** - * Temporarily executes a - * - * @param Package $package - * @param string $unit_name - * @return void - * @throws AuthenticationException - * @throws IOException - * @throws NotSupportedException - * @throws OperationException - * @throws PathNotFoundException - */ - public function temporaryExecute(Package $package, string $unit_name): void - { - // First, get the execution unit from the package. - $unit = $package->getExecutionUnit($unit_name); - - if($unit === null) - { - throw new OperationException(sprintf('No execution unit named \'%s\' is available for package \'%s\'', $unit_name, $package->getAssembly()->getPackage())); - } - - // Get the required units - $required_units = []; - if($unit->getExecutionPolicy()->getExitHandlers() !== null) - { - $required_unit = $unit->getExecutionPolicy()?->getExitHandlers()?->getSuccess()?->getRun(); - if($required_unit !== null) - { - $required_units[] = $required_unit; - } - - $required_unit = $unit->getExecutionPolicy()?->getExitHandlers()?->getWarning()?->getRun(); - if($required_unit !== null) - { - $required_units[] = $required_unit; - } - - $required_unit = $unit->getExecutionPolicy()?->getExitHandlers()?->getError()?->getRun(); - if($required_unit !== null) - { - $required_units = $required_unit; - } - } - - // Install the units temporarily - $this->addUnit($package->getAssembly()->getPackage(), $package->getAssembly()->getVersion(), $unit, true); - foreach($required_units as $r_unit) - { - $this->addUnit($package->getAssembly()->getPackage(), $package->getAssembly()->getVersion(), $r_unit, true); - } - - $this->executeUnit($package->getAssembly()->getPackage(), $package->getAssembly()->getVersion(), $unit_name); - $this->cleanTemporaryUnits(); - } - - /** - * Handles an exit handler object. - * - * If Process is Null and EndProcess is true, the method will end the process - * if Process is not Null the exit handler will only execute if the process' exit code is the same - * - * @param string $package - * @param string $version - * @param ExitHandle $exit_handler - * @param Process|null $process - * @return bool - * @throws IOException - * @throws OperationException - * @throws PathNotFoundException - */ - public function handleExit(string $package, string $version, ExitHandle $exit_handler, ?Process $process=null): bool - { - if($exit_handler->getMessage() !== null) - { - Console::out($exit_handler->getMessage()); - } - - if($process !== null && !$exit_handler->getEndProcess()) - { - if($exit_handler->getExitCode() !== $process->getExitCode()) - { - return false; - } - } - elseif($exit_handler->getEndProcess()) - { - Console::outDebug(sprintf('exit_code=%s', $process->getExitCode())); - exit($exit_handler->getExitCode()); - } - - if($exit_handler->getRun() !== null) - { - Console::outVerbose('Running unit \'' . $exit_handler->getRun() . '\''); - $this->executeUnit($package, $version, $exit_handler->getRun()); - } - - return true; - } - - } \ No newline at end of file diff --git a/src/ncc/Managers/PackageLockManager.php b/src/ncc/Managers/PackageLockManager.php index 321d7e0..9b6c708 100644 --- a/src/ncc/Managers/PackageLockManager.php +++ b/src/ncc/Managers/PackageLockManager.php @@ -24,173 +24,92 @@ namespace ncc\Managers; - use Exception; use ncc\Enums\Scopes; - use ncc\Exceptions\AuthenticationException; + use ncc\Exceptions\ConfigurationException; use ncc\Exceptions\IOException; + use ncc\Exceptions\OperationException; + use ncc\Exceptions\PathNotFoundException; use ncc\Objects\PackageLock; use ncc\Utilities\Console; use ncc\Utilities\IO; use ncc\Utilities\PathFinder; use ncc\Utilities\Resolver; - use ncc\Utilities\RuntimeCache; use ncc\Extensions\ZiProto\ZiProto; class PackageLockManager { /** - * @var PackageLock|null + * @var PackageLock */ - private $PackageLock; - - /** - * @var string - */ - private $PackageLockPath; + private $package_lock; /** * Public Constructor + * + * @throws ConfigurationException + * @throws IOException + * @throws PathNotFoundException */ public function __construct() { - /** @noinspection PhpUnhandledExceptionInspection */ - $this->PackageLockPath = PathFinder::getPackageLock(Scopes::SYSTEM); - - try + if(!is_file(PathFinder::getPackageLock())) { - $this->load(); - } - catch (IOException $e) - { - unset($e); - } - } - - /** - * Loads the PackageLock from the disk - * - * @return void - * @throws IOException - */ - public function load(): void - { - Console::outDebug(sprintf('loading PackageLock from \'%s\'', $this->PackageLockPath)); - if(RuntimeCache::get($this->PackageLockPath) !== null) - { - Console::outDebug('package lock is cached, loading from cache'); - $this->PackageLock = RuntimeCache::get($this->PackageLockPath); + $this->package_lock = new PackageLock(); return; } - if(file_exists($this->PackageLockPath) && is_file($this->PackageLockPath)) - { - try - { - Console::outDebug('package lock exists, loading from disk'); - $data = IO::fread($this->PackageLockPath); - if($data !== '') - { - $this->PackageLock = PackageLock::fromArray(ZiProto::decode($data)); - } - else - { - $this->PackageLock = new PackageLock(); - } - } - catch(Exception $e) - { - throw new IOException('The PackageLock file cannot be parsed', $e); - } - } - else - { - Console::outDebug('package lock file does not exist, creating new package lock'); - $this->PackageLock = new PackageLock(); - } + $this->package_lock = PackageLock::fromArray(ZiProto::decode(IO::fread(PathFinder::getPackageLock()))); + } - Console::outDebug('caching PackageLock'); - RuntimeCache::set($this->PackageLockPath, $this->PackageLock); + /** + * Returns the PackageLock object + * + * @return PackageLock + */ + public function getPackageLock(): PackageLock + { + return $this->package_lock; } /** * Saves the PackageLock to disk * * @return void - * @throws AuthenticationException * @throws IOException + * @throws OperationException */ public function save(): void { - Console::outDebug(sprintf('saving package lock to \'%s\'', $this->PackageLockPath)); - - // Don't save something that isn't loaded lol - if($this->PackageLock === null) + if(Resolver::resolveScope() !== Scopes::SYSTEM) { - Console::outDebug('warning: PackageLock is null, not saving to disk'); + throw new OperationException('You must be running as root to update the system package lock'); + } + + Console::outDebug(sprintf('Saving package lock to \'%s\'', PathFinder::getPackageLock())); + IO::fwrite(PathFinder::getPackageLock(), ZiProto::encode($this->package_lock->toArray(true)), 0644); + } + + /** + * Initializes the package lock file if it doesn't exist + * + * @return void + * @throws IOException + * @throws OperationException + */ + public static function initializePackageLock(): void + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + throw new OperationException('You must be running as root to update the system package lock'); + } + + if(is_file(PathFinder::getPackageLock())) + { + Console::outVerbose('Skipping package lock initialization, package lock already exists'); return; } - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Cannot write to PackageLock, insufficient permissions'); - } - - try - { - Console::outDebug(sprintf('saving PackageLock to \'%s\' & caching', $this->PackageLockPath)); - IO::fwrite($this->PackageLockPath, ZiProto::encode($this->PackageLock->toArray(true)), 0755); - RuntimeCache::set($this->PackageLockPath, $this->PackageLock); - } - catch(IOException $e) - { - throw new IOException('Cannot save the package lock file to disk', $e); - } - - try - { - Console::outDebug('synchronizing symlinks'); - $symlink_manager = new SymlinkManager(); - $symlink_manager->sync(); - } - catch(Exception $e) - { - throw new IOException('Failed to synchronize symlinks', $e); - } - } - - /** - * Constructs the package lock file if it doesn't exist - * - * @return void - * @throws AuthenticationException - * @throws IOException - */ - public function constructLockFile(): void - { - try - { - $this->load(); - } - catch (IOException $e) - { - unset($e); - $this->PackageLock = new PackageLock(); - } - - $this->save(); - } - - /** - * @return PackageLock|null - * @throws IOException - */ - public function getPackageLock(): ?PackageLock - { - if($this->PackageLock === null) - { - $this->load(); - } - - return $this->PackageLock; + Console::outVerbose(sprintf('Initializing package lock at \'%s\'', PathFinder::getPackageLock())); + IO::fwrite(PathFinder::getPackageLock(), ZiProto::encode((new PackageLock())->toArray(true)), 0644); } } \ No newline at end of file diff --git a/src/ncc/Managers/PackageManager.php b/src/ncc/Managers/PackageManager.php index e2e725f..1bd45a6 100644 --- a/src/ncc/Managers/PackageManager.php +++ b/src/ncc/Managers/PackageManager.php @@ -26,17 +26,33 @@ namespace ncc\Managers; use Exception; + use InvalidArgumentException; + use ncc\Classes\ArchiveExtractor; use ncc\Classes\PackageReader; + use ncc\Classes\ShutdownHandler; + use ncc\CLI\Main; use ncc\Enums\FileDescriptor; + use ncc\Enums\LogLevel; use ncc\Enums\Options\ComponentDecodeOptions; + use ncc\Enums\Options\InitializeProjectOptions; + use ncc\Enums\RegexPatterns; + use ncc\Enums\Types\ProjectType; use ncc\Exceptions\ConfigurationException; use ncc\Exceptions\IOException; + use ncc\Exceptions\NetworkException; + use ncc\Exceptions\NotSupportedException; + use ncc\Exceptions\OperationException; use ncc\Exceptions\PathNotFoundException; use ncc\Extensions\ZiProto\ZiProto; + use ncc\Interfaces\AuthenticationInterface; use ncc\Objects\PackageLock; + use ncc\Objects\ProjectConfiguration\Dependency; + use ncc\Objects\RemotePackageInput; use ncc\ThirdParty\Symfony\Filesystem\Filesystem; + use ncc\Utilities\Console; use ncc\Utilities\IO; use ncc\Utilities\PathFinder; + use ncc\Utilities\Resolver; class PackageManager { @@ -45,6 +61,11 @@ */ private $package_lock; + /** + * @var RepositoryManager + */ + private $repository_manager; + /** * PackageManager constructor. * @@ -62,69 +83,8 @@ { $this->package_lock = new PackageLock(); } - } - /** - * Installs a package from an ncc package file - * - * @param string $file_path - * @return void - * @throws ConfigurationException - * @throws IOException - * @throws PathNotFoundException - */ - public function installPackage(string $file_path): void - { - $package_reader = new PackageReader($file_path); - - if($this->package_lock->entryExists($package_reader->getAssembly()->getPackage())) - { - $package_entry = $this->package_lock->getEntry($package_reader->getAssembly()->getPackage()); - - if($package_entry->versionExists($package_reader->getAssembly()->getVersion())) - { - throw new ConfigurationException(sprintf( - 'Package "%s" version "%s" is already installed', - $package_reader->getAssembly()->getPackage(), - $package_reader->getAssembly()->getVersion() - )); - } - } - - $filesystem = new Filesystem(); - $package_path = PathFinder::getPackagesPath() . DIRECTORY_SEPARATOR . sprintf( - '%s=%s', $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion() - ); - - try - { - if($filesystem->exists($package_path)) - { - $filesystem->remove($package_path); - } - - $this->extractPackageContents($package_reader, $package_path); - } - catch(Exception $e) - { - $filesystem->remove($package_path); - unset($package_reader); - throw new IOException(sprintf('Failed to extract package contents due to an exception: %s', $e->getMessage()), $e); - } - - try - { - $this->package_lock->addPackage($package_reader); - } - catch(Exception $e) - { - $filesystem->remove($package_path); - $this->loadLock(); - unset($package_reader); - throw new IOException(sprintf('Failed to add package to package lock file due to an exception: %s', $e->getMessage()), $e); - } - - $this->saveLock(); + $this->repository_manager = new RepositoryManager(); } /** @@ -137,6 +97,380 @@ return $this->package_lock; } + /** + * Returns an array of dependencies that are required by the given package + * based the system's current package lock file + * + * @param PackageReader $package_reader + * @return Dependency[] + * @throws ConfigurationException + */ + public function checkRequiredDependencies(PackageReader $package_reader): array + { + $missing_dependencies = []; + + foreach($package_reader->getDependencies() as $dependency) + { + $dependency = $package_reader->getDependency($dependency); + + if(!$this->package_lock->entryExists($dependency->getName())) + { + $missing_dependencies[] = $dependency; + continue; + } + + $package_entry = $this->package_lock->getEntry($dependency->getName()); + if(!$package_entry->versionExists($dependency->getVersion())) + { + $missing_dependencies[] = $dependency; + } + } + + return $missing_dependencies; + } + + /** + * Installs a package from the given input + * + * @param string|PackageReader $input + * @param AuthenticationInterface|null $authentication + * @return array + * @throws ConfigurationException + * @throws IOException + * @throws OperationException + * @throws PathNotFoundException + */ + public function install(string|PackageReader $input, ?AuthenticationInterface $authentication=null): array + { + // If the input is a PackageReader, we can install it directly + if($input instanceof PackageReader) + { + return $this->installPackage($input, $authentication); + } + + // If the input is a file, we can assume it's a local package file + if(is_file($input)) + { + return $this->installPackage(new PackageReader($input), $authentication); + } + + // If the input is a remote package, we can assume it's a remote package input + if(preg_match(RegexPatterns::REMOTE_PACKAGE, $input) === 1) + { + return $this->installRemotePackage(RemotePackageInput::fromString($input), $authentication); + } + + throw new InvalidArgumentException(sprintf('Invalid package input, expected a PackageReader stream, a file path, or a remote package input, got %s', gettype($input))); + } + + /** + * Uninstalls a package from the system, returns an array of removed packages + * + * @param string $package_name + * @param string|null $version + * @return void + * @throws IOException + * @throws OperationException + */ + public function uninstall(string $package_name, ?string $version=null): array + { + if(!$this->package_lock->entryExists($package_name, $version)) + { + throw new OperationException(sprintf('Cannot uninstall package %s, it is not installed', $package_name)); + } + + $removed_packages = []; + + if($version === null) + { + foreach($this->package_lock->getEntry($package_name)->getVersions() as $iter_version) + { + Console::out(sprintf('Uninstalling package %s=%s', $package_name, $iter_version)); + $package_path = $this->package_lock->getPath($package_name, $iter_version); + $this->package_lock->getEntry($package_name)->removeVersion($iter_version); + (new Filesystem())->remove($package_path); + + $removed_packages[] = sprintf('%s=%s', $package_name, $iter_version); + } + } + else + { + Console::out(sprintf('Uninstalling package %s=%s', $package_name, $version)); + $package_path = $this->package_lock->getPath($package_name, $version); + $this->package_lock->getEntry($package_name)->removeVersion($version); + (new Filesystem())->remove($package_path); + + $removed_packages[] = sprintf('%s=%s', $package_name, $version); + } + + $this->saveLock(); + return $removed_packages; + } + + /** + * Uninstalls all packages from the system, returns an array of removed packages + * + * @return array + * @throws IOException + * @throws OperationException + */ + public function uninstallAll(): array + { + $results = []; + foreach($this->package_lock->getEntries() as $entry) + { + /** @noinspection SlowArrayOperationsInLoopInspection */ + $results = array_merge($results, $this->uninstall($entry)); + } + + return $results; + } + + /** + * Returns an array of installed packages on the system + * + * @return array + */ + public function getInstalledPackages(): array + { + $results = []; + + foreach($this->package_lock->getEntries() as $entry) + { + foreach($this->package_lock->getEntry($entry)->getVersions() as $version) + { + $results[] = sprintf('%s=%s', $entry, $version); + } + } + + return $results; + } + + /** + * Returns an array of missing package dependencies detected on the system + * + * @return array + */ + public function getMissingPackages(): array + { + $results = []; + + foreach($this->package_lock->getEntries() as $entry) + { + foreach($this->package_lock->getEntry($entry)->getVersions() as $version) + { + foreach($this->package_lock->getEntry($entry)->getVersion($version)->getDependencies() as $dependency) + { + if($this->package_lock->entryExists($dependency->getName(), $dependency->getVersion())) + { + continue; + } + + $dependency_entry = sprintf('%s=%s', $dependency->getName(), $dependency->getVersion()); + + if(isset($results[$dependency_entry])) + { + continue; + } + + if($dependency->getSource() === null) + { + $results[$dependency_entry] = null; + continue; + } + + $results[$dependency_entry] = $dependency->getSource(); + } + } + } + + return $results; + } + + /** + * Installs a package onto the system from a local ncc package file + * + * @param PackageReader $package_reader + * @param AuthenticationInterface|null $authentication + * @return array + * @throws ConfigurationException + * @throws IOException + * @throws OperationException + * @throws PathNotFoundException + */ + private function installPackage(PackageReader $package_reader, ?AuthenticationInterface $authentication=null): array + { + $installed_packages = []; + + Console::out(sprintf('Installing package %s=%s', $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion())); + if($this->package_lock->entryExists($package_reader->getAssembly()->getPackage())) + { + $package_entry = $this->package_lock->getEntry($package_reader->getAssembly()->getPackage()); + if($package_entry->versionExists($package_reader->getAssembly()->getVersion())) + { + Console::outVerbose(sprintf( + 'Package %s=%s is already installed, skipping', + $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion() + )); + + return $installed_packages; + } + } + + $filesystem = new Filesystem(); + $package_path = PathFinder::getPackagesPath() . DIRECTORY_SEPARATOR . sprintf( + '%s=%s', $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion() + ); + + try + { + $this->extractPackageContents($package_reader, $package_path); + } + catch(Exception $e) + { + throw new IOException(sprintf('Failed to extract package contents due to an exception: %s', $e->getMessage()), $e); + } + finally + { + ShutdownHandler::declareTemporaryPath($package_path); + } + + try + { + $this->package_lock->addPackage($package_reader); + $installed_packages[] = $package_reader->getAssembly()->getPackage(); + } + catch(Exception $e) + { + $filesystem->remove($package_path); + $this->loadLock(); + throw new IOException(sprintf('Failed to add package to package lock file due to an exception: %s', $e->getMessage()), $e); + } + + $this->saveLock(); + + foreach($this->checkRequiredDependencies($package_reader) as $dependency) + { + Console::outVerbose(sprintf( + 'Package %s=%s requires %s=%s, installing dependency', + $package_reader->getAssembly()->getPackage(), $package_reader->getAssembly()->getVersion(), + $dependency->getName(), $dependency->getVersion() + )); + + /** @noinspection SlowArrayOperationsInLoopInspection */ + $installed_packages = array_merge($installed_packages, $this->install($dependency->getSource(), $authentication)); + } + + return $installed_packages; + } + + /** + * Installs a package from a remote repository + * + * @param RemotePackageInput $input + * @param AuthenticationInterface|null $authentication + * @return array + * @throws ConfigurationException + * @throws IOException + * @throws OperationException + * @throws PathNotFoundException + */ + private function installRemotePackage(RemotePackageInput $input, ?AuthenticationInterface $authentication=null): array + { + // Check if the repository exists, so we can fetch the package + if(!$this->repository_manager->repositoryExists($input->getRepository())) + { + throw new OperationException(sprintf('Cannot install remote package %s, the repository %s does not exist on this system', $input, $input->getRepository())); + } + + Console::out(sprintf('Fetching package %s=%s from %s', $input->getPackage(), $input->getVersion(), $input->getRepository())); + + try + { + Console::outVerbose(sprintf( + 'Attempting to fetch a pre-built ncc package for %s=%s from %s', + $input->getPackage(), $input->getVersion(), $input->getRepository() + )); + + // First try to fetch a pre-built package from the repository + $results = $this->repository_manager->getRepository($input->getRepository())->fetchPackage( + $input->getVendor(), $input->getPackage(), $input->getVersion(), + ); + + $package_path = $this->downloadFile($results->getUrl(), PathFinder::getCachePath()); + } + catch(Exception $e) + { + Console::outVerbose(sprintf( + 'Failed to fetch a pre-built ncc package for %s=%s from %s: %s', + $input->getPackage(), $input->getVersion(), $input->getRepository(), $e->getMessage() + )); + + // Clean up the package file if it exists + if(isset($package_path) && is_file($package_path)) + { + ShutdownHandler::declareTemporaryPath($package_path); + } + + // This is a warning because we can still attempt to build from source + unset($results, $package_path); + } + + if(!isset($package_path)) + { + // If the $package_path variable is not set, we failed to fetch a pre-built package, + // So we'll try to obtain a source archive and build from source + try + { + Console::outVerbose(sprintf( + 'Attempting to fetch a source archive for %s=%s from %s', + $input->getPackage(), $input->getVersion(), $input->getRepository() + )); + + $results = $this->repository_manager->getRepository($input->getRepository())->fetchSourceArchive( + $input->getVendor(), $input->getPackage(), $input->getVersion(), $authentication + ); + + $archive_path = $this->downloadFile($results->getUrl(), PathFinder::getCachePath()); + $package_path = $this->buildFromSource($archive_path, [ + InitializeProjectOptions::COMPOSER_PACKAGE_VERSION => $results->getVersion(), + InitializeProjectOptions::COMPOSER_REMOTE_SOURCE => $input->toString() + ]); + } + catch(Exception $e) + { + if(isset($package_path) && is_file($package_path)) + { + ShutdownHandler::declareTemporaryPath($package_path); + unset($package_path); + } + + throw new OperationException(sprintf('Failed to fetch a pre-built ncc package for %s, and failed to build from source: %s', $input, $e->getMessage()), $e); + } + finally + { + if(isset($archive_path) && is_file($archive_path)) + { + ShutdownHandler::declareTemporaryPath($archive_path); + unset($archive_path); + } + } + } + + if(isset($package_path)) + { + Console::outVerbose(sprintf( + 'Successfully fetched a package for %s=%s from %s', + $input->getPackage(), $input->getVersion(), $input->getRepository() + )); + + ShutdownHandler::declareTemporaryPath($package_path); + return $this->installPackage(new PackageReader($package_path)); + } + + throw new OperationException(sprintf('Failed to install remote package %s, no package was found', $input)); + } + /** * Extracts the contents of a package to the specified path * @@ -150,12 +484,24 @@ { $bin_path = $package_path . DIRECTORY_SEPARATOR . 'bin'; + $total_steps = + count($package_reader->getComponents()) + + count($package_reader->getResources()) + + count($package_reader->getExecutionUnits()) + + 6; + $current_step = 0; + + Console::inlineProgressBar(++$current_step, $total_steps); foreach($package_reader->getComponents() as $component_name) { IO::fwrite( $bin_path . DIRECTORY_SEPARATOR . $component_name, $package_reader->getComponent($component_name)->getData([ComponentDecodeOptions::AS_FILE]), 0755 ); + + + + Console::inlineProgressBar(++$current_step, $total_steps); } foreach($package_reader->getResources() as $resource_name) @@ -164,6 +510,13 @@ $bin_path . DIRECTORY_SEPARATOR . $resource_name, $package_reader->getResource($resource_name)->getData(), 0755 ); + + if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + { + Console::outVerbose(sprintf('Extracting resource %s to %s', $resource_name, $bin_path . DIRECTORY_SEPARATOR . $resource_name)); + } + + Console::inlineProgressBar(++$current_step, $total_steps); } foreach($package_reader->getExecutionUnits() as $unit) @@ -171,6 +524,8 @@ $execution_unit = $package_reader->getExecutionUnit($unit); $unit_path = $package_path . DIRECTORY_SEPARATOR . 'units' . DIRECTORY_SEPARATOR . $execution_unit->getExecutionPolicy()->getName() . '.unit'; IO::fwrite($unit_path, ZiProto::encode($execution_unit->toArray(true)), 0755); + + Console::inlineProgressBar(++$current_step, $total_steps); } $class_map = []; @@ -178,19 +533,204 @@ { $class_map[$class] = $package_reader->getComponentByClass($class)->getName(); } + Console::inlineProgressBar(++$current_step, $total_steps); if($package_reader->getInstaller() !== null) { IO::fwrite($package_path . DIRECTORY_SEPARATOR . FileDescriptor::INSTALLER, ZiProto::encode($package_reader->getInstaller()?->toArray(true))); } + Console::inlineProgressBar(++$current_step, $total_steps); if(count($class_map) > 0) { IO::fwrite($package_path . DIRECTORY_SEPARATOR . FileDescriptor::CLASS_MAP, ZiProto::encode($class_map)); } + Console::inlineProgressBar(++$current_step, $total_steps); IO::fwrite($package_path . DIRECTORY_SEPARATOR . FileDescriptor::ASSEMBLY, ZiProto::encode($package_reader->getAssembly()->toArray(true))); IO::fwrite($package_path . DIRECTORY_SEPARATOR . FileDescriptor::METADATA, ZiProto::encode($package_reader->getMetadata()->toArray(true))); + + if($package_reader->getMetadata()->getUpdateSource() !== null) + { + IO::fwrite($package_path . DIRECTORY_SEPARATOR . FileDescriptor::UPDATE, ZiProto::encode($package_reader->getMetadata()->getUpdateSource()?->toArray(true))); + } + + Console::inlineProgressBar(++$current_step, $total_steps); + + $package_reader->saveCopy($package_path . DIRECTORY_SEPARATOR . FileDescriptor::SHADOW_PACKAGE); + Console::inlineProgressBar(++$current_step, $total_steps); + } + + /** + * @param string $archive + * @param array $options + * @return string + * @throws NotSupportedException + * @throws OperationException + */ + private function buildFromSource(string $archive, array $options=[]): string + { + $source_directory = PathFinder::getCachePath() . DIRECTORY_SEPARATOR . uniqid('source_', true); + Console::outVerbose(sprintf('Extracting source archive %s to %s', $archive, $source_directory)); + + try + { + ArchiveExtractor::extract($archive, $source_directory); + } + catch(Exception $e) + { + if(is_dir($source_directory)) + { + (new Filesystem())->remove($source_directory); + } + + throw new OperationException(sprintf('Failed to extract source archive %s: %s', $archive, $e->getMessage()), $e); + } + + try + { + $project_detection = Resolver::detectProject($source_directory); + } + catch(Exception $e) + { + if(is_dir($source_directory)) + { + ShutdownHandler::declareTemporaryPath($source_directory); + } + + throw new OperationException(sprintf('Failed to detect project type from source %s: %s', $archive, $e->getMessage()), $e); + } + + switch($project_detection->getProjectType()) + { + case ProjectType::NCC: + try + { + $package_path = (new ProjectManager($project_detection->getProjectFilePath()))->build(); + + copy($package_path, PathFinder::getCachePath() . DIRECTORY_SEPARATOR . basename($package_path)); + unlink($package_path); + + ShutdownHandler::declareTemporaryPath($source_directory); + return PathFinder::getCachePath() . DIRECTORY_SEPARATOR . basename($package_path); + } + catch(Exception $e) + { + if(is_dir($source_directory)) + { + ShutdownHandler::declareTemporaryPath($source_directory); + } + + throw new OperationException(sprintf('Failed to build from source %s: %s', $archive, $e->getMessage()), $e); + } + + case ProjectType::COMPOSER: + try + { + $project_manager = ProjectManager::initializeFromComposer(dirname($project_detection->getProjectFilePath()), $options); + $package_path = $project_manager->build(); + + copy($package_path, PathFinder::getCachePath() . DIRECTORY_SEPARATOR . basename($package_path)); + unlink($package_path); + + ShutdownHandler::declareTemporaryPath($source_directory); + return PathFinder::getCachePath() . DIRECTORY_SEPARATOR . basename($package_path); + } + catch(Exception $e) + { + if(is_dir($source_directory)) + { + ShutdownHandler::declareTemporaryPath($source_directory); + } + + throw new OperationException(sprintf('Failed to build composer package %s: %s', $archive, $e->getMessage()), $e); + } + + default: + throw new NotSupportedException(sprintf('Cannot build from source %s, the project type %s is not supported', $archive, $project_detection->getProjectType())); + } + } + + /** + * Downloads the given URL to the path, returns the full path to the downloaded file on success. + * + * @param string $url + * @param string $path + * @return string + * @throws NetworkException + * @noinspection UnusedFunctionResultInspection + */ + private function downloadFile(string $url, string $path): string + { + $file_path = basename(parse_url($url, PHP_URL_PATH)); + $curl = curl_init($url); + + if(empty($file_path)) + { + $file_path = uniqid('download_', true) . '.bin'; + } + + if(str_ends_with($path, '/')) + { + $path = substr($path, 0, -1); + } + + $file_path = $path . DIRECTORY_SEPARATOR . $file_path; + + if(is_file($file_path)) + { + ShutdownHandler::declareTemporaryPath($file_path); + } + + $file_handle = fopen($file_path, 'wb'); + $end = false; + + curl_setopt($curl, CURLOPT_RETURNTRANSFER, false); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_NOPROGRESS, false); + curl_setopt($curl, CURLOPT_FILE, $file_handle); + curl_setopt($curl, CURLOPT_HTTPHEADER, [ + 'User-Agent: ncc' + ]); + curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, static function ($resource, $downloadSize, $downloaded) use ($url, &$end) + { + if($downloadSize === $downloaded && $end) + { + return; + } + + if($downloadSize === 0) + { + return; + } + + if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + { + $percentage = round(($downloaded / $downloadSize) * 100, 2); + Console::out(sprintf('Download progress %s (%s/%s) for %s', $percentage, $downloaded, $downloadSize, $url)); + } + else + { + Console::inlineProgressBar($downloaded, $downloadSize); + } + + if($downloadSize === $downloaded) + { + $end = true; + } + }); + + curl_exec($curl); + fclose($file_handle); + + if(curl_errno($curl)) + { + ShutdownHandler::declareTemporaryPath($file_handle); + throw new NetworkException(sprintf('Failed to download file from %s: %s', $url, curl_error($curl))); + } + + curl_close($curl); + return $file_path; } /** diff --git a/src/ncc/Managers/PackageManagerOld.php b/src/ncc/Managers/PackageManagerOld.php deleted file mode 100644 index 0bd33b6..0000000 --- a/src/ncc/Managers/PackageManagerOld.php +++ /dev/null @@ -1,1030 +0,0 @@ -packages_path = PathFinder::getPackagesPath(Scopes::SYSTEM); - $this->package_lock_manager = new PackageLockManager(); - $this->package_lock_manager->load(); - } - - /** - * Installs a local package onto the system - * - * @param string $package_path - * @param Entry|null $entry - * @param array $options - * @return string - * @throws AuthenticationException - * @throws IOException - * @throws NotSupportedException - * @throws OperationException - * @throws PackageException - * @throws PathNotFoundException - * @throws ConfigurationException - */ - public function install(string $package_path, ?Entry $entry=null, array $options=[]): string - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient permission to install packages'); - } - - if(!file_exists($package_path) || !is_file($package_path) || !is_readable($package_path)) - { - throw new PathNotFoundException($package_path); - } - - $package = Package::load($package_path); - - if(RuntimeCache::get(sprintf('installed.%s=%s', $package->getAssembly()->getPackage(), $package->getAssembly()->getVersion()))) - { - Console::outDebug(sprintf('skipping installation of %s=%s, already processed', $package->getAssembly()->getPackage(), $package->getAssembly()->getVersion())); - return $package->getAssembly()->getPackage(); - } - - $extension = $package->getMetadata()->getCompilerExtension()->getExtension(); - $installation_paths = new InstallationPaths($this->packages_path . DIRECTORY_SEPARATOR . $package->getAssembly()->getPackage() . '=' . $package->getAssembly()->getVersion()); - - $installer = match ($extension) - { - CompilerExtensions::PHP => new PhpInstaller($package), - default => throw new NotSupportedException(sprintf('Compiler extension %s is not supported with ncc', $extension)) - }; - - if($this->getPackageVersion($package->getAssembly()->getPackage(), $package->getAssembly()->getVersion()) !== null) - { - if(in_array(InstallPackageOptions::REINSTALL, $options, true)) - { - if($this->getPackageLockManager()?->getPackageLock()?->packageExists($package->getAssembly()->getPackage(), $package->getAssembly()->getVersion())) - { - $this->getPackageLockManager()?->getPackageLock()?->removePackageVersion( - $package->getAssembly()->getPackage(), $package->getAssembly()->getVersion() - ); - } - } - else - { - throw new PackageException('The package ' . $package->getAssembly()->getPackage() . '=' . $package->getAssembly()->getVersion() . ' is already installed'); - } - } - - $execution_pointer_manager = new ExecutionPointerManager(); - PackageCompiler::compilePackageConstants($package, [ - ConstantReferences::INSTALL => $installation_paths - ]); - - // Process all the required dependencies before installing the package - if(count($package->getDependencies()) > 0 && !in_array(InstallPackageOptions::SKIP_DEPENDENCIES, $options, true)) - { - foreach($package->getDependencies() as $dependency) - { - // Uninstall the dependency if the option Reinstall is passed on - if(in_array(InstallPackageOptions::REINSTALL, $options, true) && $this->getPackageLockManager()?->getPackageLock()?->packageExists($dependency->getName(), $dependency->getVersion())) - { - if($dependency->getVersion() === 'latest') - { - $this->uninstallPackage($dependency->getName()); - } - else - { - $this->uninstallPackageVersion($dependency->getName(), $dependency->getVersion()); - } - } - - $this->processDependency($dependency, $package, $package_path, $entry, $options); - } - } - - Console::outVerbose(sprintf('Installing %s', $package_path)); - - if(Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) - { - Console::outDebug(sprintf('installer.install_path: %s', $installation_paths->getInstallationpath())); - Console::outDebug(sprintf('installer.data_path: %s', $installation_paths->getDataPath())); - Console::outDebug(sprintf('installer.bin_path: %s', $installation_paths->getBinPath())); - Console::outDebug(sprintf('installer.src_path: %s', $installation_paths->getSourcePath())); - - foreach($package->getAssembly()->toArray() as $prop => $value) - { - Console::outDebug(sprintf('assembly.%s: %s', $prop, ($value ?? 'n/a'))); - } - - foreach($package->getMetadata()->getCompilerExtension()->toArray() as $prop => $value) - { - Console::outDebug(sprintf('header.compiler.%s: %s', $prop, ($value ?? 'n/a'))); - } - } - - Console::out('Installing ' . $package->getAssembly()->getPackage()); - - // Four For Directory Creation, preInstall, postInstall & initData methods - $steps = (4 + count($package->getComponents()) + count ($package->getResources()) + count ($package->getExecutionUnits())); - - // Include the Execution units - if($package->getInstaller()?->getPreInstall() !== null) - { - $steps += count($package->getInstaller()?->getPreInstall()); - } - - if($package->getInstaller()?->getPostInstall()!== null) - { - $steps += count($package->getInstaller()->getPostInstall()); - } - - $current_steps = 0; - $filesystem = new Filesystem(); - - try - { - $filesystem->mkdir($installation_paths->getInstallationpath(), 0755); - $filesystem->mkdir($installation_paths->getBinPath(), 0755); - $filesystem->mkdir($installation_paths->getDataPath(), 0755); - $filesystem->mkdir($installation_paths->getSourcePath(), 0755); - - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - catch(Exception $e) - { - throw new IOException('Error while creating directory, ' . $e->getMessage(), $e); - } - - try - { - Console::outDebug(sprintf('saving shadow package to %s', $installation_paths->getDataPath() . DIRECTORY_SEPARATOR . 'pkg')); - - self::initData($package, $installation_paths); - $package->save($installation_paths->getDataPath() . DIRECTORY_SEPARATOR . 'pkg'); - ++$current_steps; - - Console::inlineProgressBar($current_steps, $steps); - } - catch(Exception $e) - { - throw new OperationException('Cannot initialize package install, ' . $e->getMessage(), $e); - } - - // Execute the pre-installation stage before the installation stage - try - { - $installer->preInstall($installation_paths); - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - catch (Exception $e) - { - throw new OperationException('Pre installation stage failed, ' . $e->getMessage(), $e); - } - - if($package->getInstaller()?->getPreInstall() !== null && count($package->getInstaller()->getPreInstall()) > 0) - { - foreach($package->getInstaller()->getPreInstall() as $unit_name) - { - try - { - $execution_pointer_manager->temporaryExecute($package, $unit_name); - } - catch(Exception $e) - { - Console::outWarning('Cannot execute unit ' . $unit_name . ', ' . $e->getMessage()); - } - - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - } - - // Process & Install the components - foreach($package->getComponents() as $component) - { - Console::outDebug(sprintf('processing component %s (%s)', $component->getName(), $component->getDataType())); - - try - { - $data = $installer->processComponent($component); - if($data !== null) - { - $component_path = $installation_paths->getSourcePath() . DIRECTORY_SEPARATOR . $component->getName(); - $component_dir = dirname($component_path); - - if(!$filesystem->exists($component_dir)) - { - $filesystem->mkdir($component_dir); - } - - IO::fwrite($component_path, $data); - } - } - catch(Exception $e) - { - throw new OperationException('Cannot process one or more components, ' . $e->getMessage(), $e); - } - - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - - // Process & Install the resources - foreach($package->getResources() as $resource) - { - Console::outDebug(sprintf('processing resource %s', $resource->getName())); - - try - { - $data = $installer->processResource($resource); - if($data !== null) - { - $resource_path = $installation_paths->getSourcePath() . DIRECTORY_SEPARATOR . $resource->getName(); - $resource_dir = dirname($resource_path); - - if(!$filesystem->exists($resource_dir)) - { - $filesystem->mkdir($resource_dir); - } - - IO::fwrite($resource_path, $data); - } - } - catch(Exception $e) - { - throw new OperationException('Cannot process one or more resources, ' . $e->getMessage(), $e); - } - - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - - // Install execution units - if($package->getExecutionUnits() !== null && count($package->getExecutionUnits()) > 0) - { - Console::outDebug('package contains execution units, processing'); - - $execution_pointer_manager = new ExecutionPointerManager(); - $unit_paths = []; - - /** @var Package\ExecutionUnit $executionUnit */ - foreach($package->getExecutionUnits() as $executionUnit) - { - Console::outDebug(sprintf('processing execution unit %s', $executionUnit->getExecutionPolicy()->getName())); - $execution_pointer_manager->addUnit($package->getAssembly()->getPackage(), $package->getAssembly()->getVersion(), $executionUnit); - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - - IO::fwrite($installation_paths->getDataPath() . DIRECTORY_SEPARATOR . 'exec', ZiProto::encode($unit_paths)); - } - else - { - Console::outDebug('package does not contain execution units, skipping'); - } - - // After execution units are installed, create a symlink if needed - if(!is_null($package->getMetadata()->getOption('create_symlink')) && $package->getMetadata()->getOption('create_symlink')) - { - if($package->getMainExecutionPolicy() === null) - { - throw new OperationException('Cannot create symlink, no main execution policy is defined'); - } - - Console::outDebug(sprintf('creating symlink to %s', $package->getAssembly()->getPackage())); - - $SymlinkManager = new SymlinkManager(); - $SymlinkManager->add($package->getAssembly()->getPackage(), $package->getMainExecutionPolicy()); - } - - // Execute the post-installation stage after the installation is complete - try - { - Console::outDebug('executing post-installation stage'); - - $installer->postInstall($installation_paths); - ++$current_steps; - - Console::inlineProgressBar($current_steps, $steps); - } - catch (Exception $e) - { - throw new OperationException('Post installation stage failed, ' . $e->getMessage(), $e); - } - - if($package->getInstaller()?->getPostInstall() !== null && count($package->getInstaller()->getPostInstall()) > 0) - { - Console::outDebug('executing post-installation units'); - - foreach($package->getInstaller()->getPostInstall() as $unit_name) - { - try - { - $execution_pointer_manager->temporaryExecute($package, $unit_name); - } - catch(Exception $e) - { - Console::outWarning('Cannot execute unit ' . $unit_name . ', ' . $e->getMessage()); - } - finally - { - ++$current_steps; - Console::inlineProgressBar($current_steps, $steps); - } - } - } - else - { - Console::outDebug('no post-installation units to execute'); - } - - if($package->getMetadata()->getUpdateSource()?->getRepository() !== null) - { - $sources_manager = new RemoteSourcesManager(); - if($sources_manager->getRemoteSource($package->getMetadata()->getUpdateSource()->getRepository()->getName()) === null) - { - Console::outVerbose('Adding remote source ' . $package->getMetadata()->getUpdateSource()->getRepository()->getName()); - - $defined_remote_source = new DefinedRemoteSource(); - $defined_remote_source->setName($package->getMetadata()->getUpdateSource()?->getRepository()?->getName()); - $defined_remote_source->setHost($package->getMetadata()->getUpdateSource()?->getRepository()?->getHost()); - $defined_remote_source->setType($package->getMetadata()->getUpdateSource()?->getRepository()?->getType()); - $defined_remote_source->setSsl($package->getMetadata()->getUpdateSource()?->getRepository()?->isSsl()); - - $sources_manager->addRemoteSource($defined_remote_source); - } - } - - $this->getPackageLockManager()?->getPackageLock()?->addPackage($package, $installation_paths->getInstallationpath()); - $this->getPackageLockManager()?->save(); - - RuntimeCache::set(sprintf('installed.%s=%s', $package->getAssembly()->getPackage(), $package->getAssembly()->getVersion()), true); - - return $package->getAssembly()->getPackage(); - } - - /** - * @param string $source - * @param Entry|null $entry - * @return string - * @throws NotSupportedException - * @throws OperationException - * @throws PackageException - */ - public function fetchFromSource(string $source, ?Entry $entry=null): string - { - $input = new RemotePackageInput($source); - - if($input->getSource() === null) - { - throw new PackageException('No source specified'); - } - - if($input->getVersion() === null) - { - $input->setVersion(Versions::LATEST); - } - - Console::outVerbose('Fetching package ' . $input->getPackage() . ' from ' . $input->getSource() . ' (' . $input->getVersion() . ')'); - - $remote_source_type = Resolver::detectRemoteSourceType($input->getSource()); - if($remote_source_type === RemoteSourceType::BUILTIN) - { - Console::outDebug('using builtin source ' . $input->getSource()); - - if ($input->getSource() === 'composer') - { - try - { - return ComposerSourceBuiltin::fetch($input); - } - catch (Exception $e) - { - throw new PackageException('Cannot fetch package from composer source, ' . $e->getMessage(), $e); - } - } - - throw new NotSupportedException(sprintf('Builtin source %s is not supported', $input->getSource())); - } - - if($remote_source_type === RemoteSourceType::DEFINED) - { - Console::outDebug('using defined source ' . $input->getSource()); - /** @noinspection CallableParameterUseCaseInTypeContextInspection */ - $source = (new RemoteSourcesManager())->getRemoteSource($input->getSource()); - if($source === null) - { - throw new OperationException('Remote source ' . $input->getSource() . ' is not defined'); - } - - $repositoryQueryResults = Functions::getRepositoryQueryResults($input, $source, $entry); - $exceptions = []; - - if($repositoryQueryResults->getFiles()->ZipballUrl !== null) - { - try - { - Console::outDebug(sprintf('fetching package %s from %s', $input->getPackage(), $repositoryQueryResults->getFiles()->ZipballUrl)); - $archive = Functions::downloadGitServiceFile($repositoryQueryResults->getFiles()->ZipballUrl, $entry); - return PackageCompiler::tryCompile(Functions::extractArchive($archive), $repositoryQueryResults->getVersion()); - } - catch(Throwable $e) - { - Console::outDebug('cannot fetch package from zipball url, ' . $e->getMessage()); - $exceptions[] = $e; - } - } - - if($repositoryQueryResults->getFiles()->TarballUrl !== null) - { - try - { - Console::outDebug(sprintf('fetching package %s from %s', $input->getPackage(), $repositoryQueryResults->getFiles()->TarballUrl)); - $archive = Functions::downloadGitServiceFile($repositoryQueryResults->getFiles()->TarballUrl, $entry); - return PackageCompiler::tryCompile(Functions::extractArchive($archive), $repositoryQueryResults->getVersion()); - } - catch(Exception $e) - { - Console::outDebug('cannot fetch package from tarball url, ' . $e->getMessage()); - $exceptions[] = $e; - } - } - - if($repositoryQueryResults->getFiles()->PackageUrl !== null) - { - try - { - Console::outDebug(sprintf('fetching package %s from %s', $input->getPackage(), $repositoryQueryResults->getFiles()->PackageUrl)); - return Functions::downloadGitServiceFile($repositoryQueryResults->getFiles()->PackageUrl, $entry); - } - catch(Exception $e) - { - Console::outDebug('cannot fetch package from package url, ' . $e->getMessage()); - $exceptions[] = $e; - } - } - - if($repositoryQueryResults->getFiles()->GitHttpUrl !== null || $repositoryQueryResults->getFiles()->GitSshUrl !== null) - { - try - { - Console::outDebug(sprintf('fetching package %s from %s', $input->getPackage(), $repositoryQueryResults->getFiles()->GitHttpUrl ?? $repositoryQueryResults->getFiles()->GitSshUrl)); - $git_repository = GitClient::cloneRepository($repositoryQueryResults->getFiles()->GitHttpUrl ?? $repositoryQueryResults->getFiles()->GitSshUrl); - - foreach(GitClient::getTags($git_repository) as $tag) - { - if(VersionComparator::compareVersion($tag, $repositoryQueryResults->getVersion()) === 0) - { - GitClient::checkout($git_repository, $tag); - return PackageCompiler::tryCompile($git_repository, $repositoryQueryResults->getVersion()); - } - } - - Console::outDebug('cannot fetch package from git repository, no matching tag found'); - } - catch(Exception $e) - { - Console::outDebug('cannot fetch package from git repository, ' . $e->getMessage()); - $exceptions[] = $e; - } - } - - // Recursively create an exception with the previous exceptions as the previous exception - $exception = null; - - if(count($exceptions) > 0) - { - foreach($exceptions as $e) - { - if($exception === null) - { - $exception = new PackageException($e->getMessage(), $e); - } - else - { - if($e->getMessage() === $exception->getMessage()) - { - continue; - } - - $exception = new PackageException($e->getMessage(), $exception); - } - } - } - else - { - $exception = new PackageException('Cannot fetch package from remote source, no assets found'); - } - - throw $exception; - } - - throw new PackageException(sprintf('Unknown remote source type %s', $remote_source_type)); - } - - /** - * Installs a package from a source syntax (vendor/package=version@source) - * - * @param string $source - * @param Entry|null $entry - * @param array $options - * @return string - * @throws OperationException - */ - public function installFromSource(string $source, ?Entry $entry, array $options=[]): string - { - try - { - Console::outVerbose(sprintf('Installing package from source %s', $source)); - - $package = $this->fetchFromSource($source, $entry); - return $this->install($package, $entry, $options); - } - catch(Exception $e) - { - throw new OperationException('Cannot install package from source, ' . $e->getMessage(), $e); - } - } - - /** - * @param Dependency $dependency - * @param Package $package - * @param string $package_path - * @param Entry|null $entry - * @param array $options - * @return void - * @throws AuthenticationException - * @throws IOException - * @throws NotSupportedException - * @throws OperationException - * @throws PackageException - * @throws PathNotFoundException - * @throws ConfigurationException - */ - private function processDependency(Dependency $dependency, Package $package, string $package_path, ?Entry $entry=null, array $options=[]): void - { - if(RuntimeCache::get(sprintf('dependency_installed.%s=%s', $dependency->getName(), $dependency->getVersion()))) - { - Console::outDebug(sprintf('dependency %s=%s already processed, skipping', $dependency->getName(), $dependency->getVersion())); - return; - } - - Console::outVerbose('processing dependency ' . $dependency->getVersion() . ' (' . $dependency->getVersion() . ')'); - $dependent_package = $this->getPackage($dependency->getName()); - $dependency_met = false; - - if ($dependent_package !== null && $dependency->getVersion() !== null && Validate::version($dependency->getVersion())) - { - Console::outDebug('dependency has version constraint, checking if package is installed'); - $dependent_version = $this->getPackageVersion($dependency->getName(), $dependency->getVersion()); - if ($dependent_version !== null) - { - $dependency_met = true; - } - } - elseif ($dependent_package !== null && $dependency->getVersion() === null) - { - Console::outDebug(sprintf('dependency %s has no version specified, assuming dependency is met', $dependency->getName())); - $dependency_met = true; - } - - Console::outDebug('dependency met: ' . ($dependency_met ? 'true' : 'false')); - - if ($dependency->getSourceType() !== null && !$dependency_met) - { - Console::outVerbose(sprintf('Installing dependency %s=%s for %s=%s', $dependency->getName(), $dependency->getVersion(), $package->getAssembly()->getPackage(), $package->getAssembly()->getVersion())); - switch ($dependency->getSourceType()) - { - case DependencySourceType::LOCAL: - Console::outDebug('installing from local source ' . $dependency->getSource()); - $basedir = dirname($package_path); - - if (!file_exists($basedir . DIRECTORY_SEPARATOR . $dependency->getSourceType())) - { - throw new PathNotFoundException($basedir . DIRECTORY_SEPARATOR . $dependency->getSource()); - } - - $this->install($basedir . DIRECTORY_SEPARATOR . $dependency->getSource(), null, $options); - RuntimeCache::set(sprintf('dependency_installed.%s=%s', $dependency->getName(), $dependency->getVersion()), true); - break; - - case DependencySourceType::STATIC: - throw new PackageException('Static linking not possible, package ' . $dependency->getName() . ' is not installed'); - - case DependencySourceType::REMOTE: - Console::outDebug('installing from remote source ' . $dependency->getSource()); - $this->installFromSource($dependency->getSource(), $entry, $options); - RuntimeCache::set(sprintf('dependency_installed.%s=%s', $dependency->getName(), $dependency->getVersion()), true); - break; - - default: - throw new NotSupportedException(sprintf('Dependency source type %s is not supported', $dependency->getSourceType())); - } - } - elseif(!$dependency_met) - { - throw new PackageException(sprintf('Required dependency %s=%s is not installed', $dependency->getName(), $dependency->getVersion())); - } - } - - /** - * Returns an existing package entry, returns null if no such entry exists - * - * @param string $package - * @return PackageEntry|null - * @throws IOException - */ - public function getPackage(string $package): ?PackageEntry - { - Console::outDebug('getting package ' . $package); - return $this->getPackageLockManager()?->getPackageLock()?->getPackage($package); - } - - /** - * Returns an existing version entry, returns null if no such entry exists - * - * @param string $package - * @param string $version - * @return VersionEntry|null - * @throws IOException - */ - public function getPackageVersion(string $package, string $version): ?VersionEntry - { - Console::outDebug('getting package version ' . $package . '=' . $version); - return $this->getPackage($package)?->getVersion($version); - } - - /** - * Returns the latest version of the package, or null if there is no entry - * - * @param string $package - * @return VersionEntry|null - * @throws IOException - */ - public function getLatestVersion(string $package): ?VersionEntry - { - Console::outDebug('getting latest version of package ' . $package); - return $this->getPackage($package)?->getVersion($this->getPackage($package)?->getLatestVersion()); - } - - /** - * Returns an array of all packages and their installed versions - * - * @return array - * @throws IOException - */ - public function getInstalledPackages(): array - { - return $this->getPackageLockManager()?->getPackageLock()?->getEntries() ?? []; - } - - /** - * Returns a package tree representation - * - * @param array $tree - * @param string|null $package - * @return array - */ - public function getPackageTree(array $tree=[], ?string $package=null): array - { - // First build the packages to scan first - $packages = []; - if($package !== null) - { - // If it's coming from a selected package, query the package and process its dependencies - $exploded = explode('=', $package); - try - { - /** @noinspection CallableParameterUseCaseInTypeContextInspection */ - $package = $this->getPackage($exploded[0]); - if($package === null) - { - throw new PackageException('Package ' . $exploded[0] . ' not found'); - } - - $version = $package->getVersion($exploded[1]); - if($version === null) - { - throw new OperationException('Version ' . $exploded[1] . ' not found for package ' . $exploded[0]); - } - - foreach ($version->getDependencies() as $dependency) - { - if(!in_array($dependency->getPackageName() . '=' . $dependency->getVersion(), $tree, true)) - { - $packages[] = $dependency->getPackageName() . '=' . $dependency->getVersion(); - } - } - } - catch(Exception $e) - { - unset($e); - } - - } - else - { - // If it's coming from nothing, start with the installed packages on the system - try - { - foreach ($this->getInstalledPackages() as $installed_package => $versions) - { - foreach ($versions as $version) - { - if (!in_array($installed_package . '=' . $version, $packages, true)) - { - $packages[] = $installed_package . '=' . $version; - } - } - } - } - catch (IOException $e) - { - unset($e); - } - } - - // Go through each package - foreach($packages as $package_iter) - { - $package_e = explode('=', $package_iter); - try - { - $version_entry = $this->getPackageVersion($package_e[0], $package_e[1]); - if($version_entry === null) - { - Console::outWarning('Version ' . $package_e[1] . ' of package ' . $package_e[0] . ' not found'); - } - else - { - $tree[$package_iter] = null; - if(count($version_entry->getDependencies()) > 0) - { - $tree[$package_iter] = []; - foreach($version_entry->getDependencies() as $dependency) - { - $dependency_name = sprintf('%s=%s', $dependency->getPackageName(), $dependency->getVersion()); - $tree[$package_iter] = $this->getPackageTree($tree[$package_iter], $dependency_name); - } - } - } - } - catch(Exception $e) - { - unset($e); - } - } - - return $tree; - } - - /** - * Uninstalls a package version - * - * @param string $package - * @param string $version - * @return void - * @throws AuthenticationException - * @throws IOException - * @throws PackageException - * @throws PathNotFoundException - */ - public function uninstallPackageVersion(string $package, string $version): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient permission to uninstall packages'); - } - - $version_entry = $this->getPackageVersion($package, $version); - if($version_entry === null) - { - throw new PackageException(sprintf('The package %s=%s was not found', $package, $version)); - } - - Console::out(sprintf('Uninstalling %s=%s', $package, $version)); - Console::outVerbose(sprintf('Removing package %s=%s from PackageLock', $package, $version)); - - if(!$this->getPackageLockManager()?->getPackageLock()?->removePackageVersion($package, $version)) - { - Console::outDebug('warning: removing package from package lock failed'); - } - - $this->getPackageLockManager()?->save(); - - Console::outVerbose('Removing package files'); - $scanner = new DirectoryScanner(); - $filesystem = new Filesystem(); - - if($filesystem->exists($version_entry->location)) - { - Console::outVerbose(sprintf('Removing package files from %s', $version_entry->location)); - - /** @var SplFileInfo $item */ - /** @noinspection PhpRedundantOptionalArgumentInspection */ - foreach($scanner($version_entry->location, true) as $item) - { - if(is_file($item->getPath())) - { - Console::outDebug('removing file ' . $item->getPath()); - Console::outDebug(sprintf('deleting %s', $item->getPath())); - $filesystem->remove($item->getPath()); - } - } - } - else - { - Console::outWarning(sprintf('warning: package location %s does not exist', $version_entry->location)); - } - - $filesystem->remove($version_entry->location); - - if(count($version_entry->getExecutionUnits()) > 0) - { - Console::outVerbose('Uninstalling execution units'); - - $execution_pointer_manager = new ExecutionPointerManager(); - foreach($version_entry->getExecutionUnits() as $executionUnit) - { - if(!$execution_pointer_manager->removeUnit($package, $version, $executionUnit->getExecutionPolicy()->getName())) - { - Console::outDebug(sprintf('warning: removing execution unit %s failed', $executionUnit->getExecutionPolicy()->getName())); - } - } - } - - $symlink_manager = new SymlinkManager(); - $symlink_manager->sync(); - } - - /** - * Uninstalls all versions of a package - * - * @param string $package - * @return void - * @throws AuthenticationException - * @throws IOException - * @throws PackageException - */ - public function uninstallPackage(string $package): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient permission to uninstall packages'); - } - - $package_entry = $this->getPackage($package); - if($package_entry === null) - { - throw new PackageException(sprintf('The package %s was not found', $package)); - } - - foreach($package_entry->getVersions() as $version) - { - $version_entry = $package_entry->getVersion($version); - - if($version_entry === null) - { - Console::outDebug(sprintf('warning: version %s of package %s not found', $version, $package)); - continue; - } - - try - { - $this->uninstallPackageVersion($package, $version_entry->getVersion()); - } - catch(Exception $e) - { - Console::outDebug(sprintf('warning: unable to uninstall package %s=%s, %s (%s)', $package, $version_entry->getVersion(), $e->getMessage(), $e->getCode())); - } - } - } - - /** - * @param Package $package - * @param InstallationPaths $paths - * @throws OperationException - */ - private static function initData(Package $package, InstallationPaths $paths): void - { - Console::outVerbose(sprintf('Initializing data for %s', $package->getAssembly()->getName())); - - // Create data files - $dependencies = []; - foreach($package->getDependencies() as $dependency) - { - $dependencies[] = $dependency->toArray(true); - } - - $data_files = [ - $paths->getDataPath() . DIRECTORY_SEPARATOR . 'assembly' => ZiProto::encode($package->getAssembly()->toArray(true)), - $paths->getDataPath() . DIRECTORY_SEPARATOR . 'ext' => ZiProto::encode($package->getMetadata()->getCompilerExtension()->toArray()), - $paths->getDataPath() . DIRECTORY_SEPARATOR . 'const' => ZiProto::encode($package->getMetadata()->getRuntimeConstants()), - $paths->getDataPath() . DIRECTORY_SEPARATOR . 'dependencies' => ZiProto::encode($dependencies), - ]; - - foreach($data_files as $file => $data) - { - try - { - Console::outDebug(sprintf('generating data file %s', $file)); - IO::fwrite($file, $data); - } - catch (IOException $e) - { - throw new OperationException('Cannot write to file \'' . $file . '\', ' . $e->getMessage(), $e); - } - } - } - - /** - * @return PackageLockManager|null - */ - private function getPackageLockManager(): ?PackageLockManager - { - if($this->package_lock_manager === null) - { - $this->package_lock_manager = new PackageLockManager(); - } - - return $this->package_lock_manager; - } - - } \ No newline at end of file diff --git a/src/ncc/Managers/ProjectManager.php b/src/ncc/Managers/ProjectManager.php index e66772a..e5d8355 100644 --- a/src/ncc/Managers/ProjectManager.php +++ b/src/ncc/Managers/ProjectManager.php @@ -25,27 +25,32 @@ namespace ncc\Managers; + use JsonException; use ncc\Classes\PhpExtension\ExecutableCompiler; use ncc\Classes\PhpExtension\NccCompiler; use ncc\Classes\PhpExtension\Templates\CliTemplate; use ncc\Classes\PhpExtension\Templates\LibraryTemplate; - use ncc\Enums\BuildOutputType; use ncc\Enums\CompilerExtensions; use ncc\Enums\ComponentFileExtensions; + use ncc\Enums\Options\BuildConfigurationOptions; use ncc\Enums\Options\BuildConfigurationValues; use ncc\Enums\Options\InitializeProjectOptions; use ncc\Enums\ProjectTemplates; + use ncc\Enums\Types\BuildOutputType; use ncc\Exceptions\BuildException; use ncc\Exceptions\ConfigurationException; use ncc\Exceptions\IOException; use ncc\Exceptions\NotSupportedException; + use ncc\Exceptions\OperationException; use ncc\Exceptions\PathNotFoundException; + use ncc\Objects\ComposerJson; use ncc\Objects\Package\ExecutionUnit; use ncc\Objects\ProjectConfiguration; - use ncc\Objects\ProjectConfiguration\Compiler; use ncc\Utilities\Console; use ncc\Utilities\Functions; use ncc\Utilities\IO; + use ncc\Utilities\Resolver; + use RuntimeException; class ProjectManager { @@ -93,22 +98,16 @@ throw new PathNotFoundException($path); } + if(str_ends_with($path, 'project.json')) + { + $path = dirname($path); + } + $this->project_path = $path; $this->project_file_path = $this->project_path . DIRECTORY_SEPARATOR . 'project.json'; $this->project_configuration = ProjectConfiguration::fromFile($this->project_file_path); } - /** - * Saves the project configuration - * - * @return void - * @throws IOException - */ - public function save(): void - { - $this->project_configuration->toFile($this->project_file_path); - } - /** * Returns the ProjectConfiguration object * @@ -140,7 +139,7 @@ } /** - * Compiles the project into a package + * Compiles the project into a package, returns the path to the build * * @param string $build_configuration * @return string @@ -309,6 +308,17 @@ ); } + /** + * Saves the project configuration + * + * @return void + * @throws IOException + */ + public function save(): void + { + $this->project_configuration->toFile($this->project_file_path); + } + /** * Initializes the project structure * @@ -347,11 +357,6 @@ $project_src = substr($project_src, 0, -1); } - if(!mkdir($project_path, 0777, true) && !is_dir($project_path)) - { - throw new IOException(sprintf('Project directory "%s" was not created', $project_path)); - } - if(!mkdir($project_path . DIRECTORY_SEPARATOR . $project_src, 0777, true) && !is_dir($project_path . DIRECTORY_SEPARATOR . $project_src)) { throw new IOException(sprintf('Project source directory "%s" was not created', $project_path . DIRECTORY_SEPARATOR . $project_src)); @@ -380,4 +385,279 @@ $project_configuration->toFile($project_path . DIRECTORY_SEPARATOR . 'project.json'); return new ProjectManager($project_path); } + + /** + * Initializes the project structure from a composer-based project + * + * @param string $project_path + * @param array $options + * @return ProjectManager + * @throws ConfigurationException + * @throws IOException + * @throws NotSupportedException + * @throws OperationException + * @throws PathNotFoundException + */ + public static function initializeFromComposer(string $project_path, array $options=[]): ProjectManager + { + if(str_ends_with($project_path, DIRECTORY_SEPARATOR)) + { + $project_path = substr($project_path, 0, -1); + } + + $project_file = $project_path . DIRECTORY_SEPARATOR . 'project.json'; + $composer_file = $project_path . DIRECTORY_SEPARATOR . 'composer.json'; + + if(!is_file($composer_file)) + { + throw new IOException('Unable to find composer.json in \'' . $project_path . '\''); + } + + if(is_file($project_file)) + { + if(!isset($options[InitializeProjectOptions::OVERWRITE_PROJECT_FILE])) + { + throw new IOException('A project has already been initialized in \'' . $project_file . '\''); + } + + Console::out(sprintf('Overwriting project.json in \'%s\'', $project_path)); + unlink($project_file); + } + + if(!isset($options[InitializeProjectOptions::COMPOSER_PACKAGE_VERSION])) + { + throw new OperationException('Unable to initialize project from composer.json without a version option'); + } + + try + { + $composer_json = ComposerJson::fromArray(json_decode(IO::fread($composer_file), true, 512, JSON_THROW_ON_ERROR)); + } + catch(JsonException $e) + { + throw new OperationException(sprintf('Unable to parse composer.json in \'%s\'', $project_path), $e); + } + + // Create an auto-source directory + $project_src = $project_path . DIRECTORY_SEPARATOR . 'auto_src'; + if(!is_dir($project_src) && !mkdir($project_src, 0777, true) && !is_dir($project_src)) + { + throw new IOException(sprintf('Project source directory "%s" was not created', $project_src)); + } + + $project = new ProjectConfiguration\Project(new ProjectConfiguration\Compiler(CompilerExtensions::PHP)); + $assembly = new ProjectConfiguration\Assembly( + Resolver::composerName($composer_json->getName()), + Resolver::composerNameToPackage($composer_json->getName()), + $options[InitializeProjectOptions::COMPOSER_PACKAGE_VERSION] + ); + $assembly->setDescription($composer_json->getDescription()); + + // Create the build configuration + $build = new ProjectConfiguration\Build('auto_src'); + $build->setDefaultConfiguration('release_ncc'); + + // Process dependencies + if($composer_json->getRequire() !== null) + { + /** @var ComposerJson\PackageLink $package_link */ + foreach($composer_json->getRequire() as $package_link) + { + if(!preg_match('/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/', $package_link->getPackageName())) + { + continue; + } + + $source = sprintf('%s=%s@packagist', $package_link->getPackageName(), $package_link->getVersion()); + $build->addDependency(new ProjectConfiguration\Dependency( + Resolver::composerNameToPackage($package_link->getPackageName()), $source, $package_link->getVersion() + )); + } + } + + // Process developer dependencies + $require_dev = []; + if($composer_json->getRequireDev() !== null) + { + /** @var ComposerJson\PackageLink $package_link */ + foreach($composer_json->getRequireDev() as $package_link) + { + if(!preg_match('/^[a-zA-Z0-9_-]+\/[a-zA-Z0-9_-]+$/', $package_link->getPackageName())) + { + continue; + } + + $source = sprintf('%s=%s@packagist', $package_link->getPackageName(), $package_link->getVersion()); + $build->addDependency(new ProjectConfiguration\Dependency( + Resolver::composerNameToPackage($package_link->getPackageName()), $source, $package_link->getVersion() + )); + $require_dev[] = $package_link->getPackageName(); + } + } + + // Process classmap + if($composer_json->getAutoload()?->getClassMap() !== null) + { + foreach($composer_json->getAutoload()?->getClassMap() as $path) + { + /** @noinspection UnusedFunctionResultInspection */ + self::copyContents($project_path, $project_src, $path); + } + } + + // Process PSR-4 namespaces + if($composer_json->getAutoload()?->getPsr4() !== null) + { + foreach($composer_json->getAutoload()?->getPsr4() as $namespace_pointer) + { + if(is_string($namespace_pointer->getPath())) + { + /** @noinspection UnusedFunctionResultInspection */ + self::copyContents($project_path, $project_src, $namespace_pointer->getPath()); + } + elseif(is_array($namespace_pointer->getPath())) + { + foreach($namespace_pointer->getPath() as $path) + { + /** @noinspection UnusedFunctionResultInspection */ + self::copyContents($project_path, $project_src, $path); + } + } + else + { + throw new RuntimeException('Invalid namespace pointer path'); + } + } + } + + // Process PSR-0 namespaces + if($composer_json->getAutoload()?->getPsr0() !== null) + { + foreach($composer_json->getAutoload()?->getPsr0() as $namespace_pointer) + { + if(is_string($namespace_pointer->getPath())) + { + /** @noinspection UnusedFunctionResultInspection */ + self::copyContents($project_path, $project_src, $namespace_pointer->getPath()); + } + elseif(is_array($namespace_pointer->getPath())) + { + foreach($namespace_pointer->getPath() as $path) + { + /** @noinspection UnusedFunctionResultInspection */ + self::copyContents($project_path, $project_src, $path); + } + } + else + { + throw new RuntimeException('Invalid namespace pointer path'); + } + } + } + + // Process files + if($composer_json->getAutoload()?->getFiles() !== null) + { + $required_files = []; + foreach($composer_json->getAutoload()?->getFiles() as $path) + { + $required_files = array_merge($required_files, self::copyContents($project_path, $project_src, $path)); + } + + foreach($required_files as $index => $file) + { + $required_files[$index] = Functions::removeBasename($file, $project_path); + } + + $build->setOption(BuildConfigurationOptions::REQUIRE_FILES, $required_files); + } + + // Generate debug build configuration + $ncc_debug_configuration = new ProjectConfiguration\Build\BuildConfiguration('debug_ncc', 'build' . DIRECTORY_SEPARATOR . 'debug'); + $ncc_debug_configuration->setBuildType(BuildOutputType::NCC_PACKAGE); + $ncc_debug_configuration->setDependencies($require_dev); + $build->addBuildConfiguration($ncc_debug_configuration); + $executable_debug_configuration = new ProjectConfiguration\Build\BuildConfiguration('debug_executable', 'build' . DIRECTORY_SEPARATOR . 'debug'); + $executable_debug_configuration->setBuildType(BuildOutputType::EXECUTABLE); + $executable_debug_configuration->setOption(BuildConfigurationOptions::NCC_CONFIGURATION, 'debug_ncc'); + $executable_debug_configuration->setDependencies($require_dev); + $build->addBuildConfiguration($executable_debug_configuration); + + // Generate release build configuration + $ncc_release_configuration = new ProjectConfiguration\Build\BuildConfiguration('release_ncc', 'build' . DIRECTORY_SEPARATOR . 'release'); + $ncc_release_configuration->setBuildType(BuildOutputType::NCC_PACKAGE); + $build->addBuildConfiguration($ncc_release_configuration); + $executable_release_configuration = new ProjectConfiguration\Build\BuildConfiguration('release_executable', 'build' . DIRECTORY_SEPARATOR . 'release'); + $executable_release_configuration->setOption(BuildConfigurationOptions::NCC_CONFIGURATION, 'release_ncc'); + $executable_release_configuration->setBuildType(BuildOutputType::EXECUTABLE); + $build->addBuildConfiguration($executable_release_configuration); + + // Create an update source for the project + if(isset($options[InitializeProjectOptions::COMPOSER_REMOTE_SOURCE])) + { + $project->setUpdateSource(new ProjectConfiguration\UpdateSource( + $options[InitializeProjectOptions::COMPOSER_REMOTE_SOURCE], + (new RepositoryManager())->getRepository('packagist')->getProjectRepository() + )); + } + else + { + Console::outWarning(sprintf('No update source was specified (COMPOSER_REMOTE_SOURCE), the project %s=%s will not be able to preform updates', $assembly->getName(), $assembly->getVersion())); + } + + // Finally, create project.json and return a new ProjectManager + $project_configuration = new ProjectConfiguration($project, $assembly, $build); + $project_configuration->toFile($project_file); + + return new ProjectManager($project_path); + } + + /** + * Copies the contents of a directory to a destination recursively + * + * @param string $project_path The path to the project + * @param string $destination_path The path to copy the contents to + * @param string $path The path to copy + * @return array Returns the array of copied files + * @throws IOException + */ + private static function copyContents(string $project_path, string $destination_path, string $path): array + { + $source_path = $project_path . DIRECTORY_SEPARATOR . $path; + if(str_ends_with($path, DIRECTORY_SEPARATOR)) + { + $path = substr($path, 0, -1); + } + + $destination_path .= DIRECTORY_SEPARATOR . hash('crc32', $path); + + if(is_file($source_path)) + { + $parent_directory = dirname($destination_path . DIRECTORY_SEPARATOR . $path); + if(!is_dir($parent_directory) && !mkdir($parent_directory, 0777, true) && !is_dir($parent_directory)) + { + throw new IOException(sprintf('Directory "%s" was not created', $parent_directory)); + } + + copy($source_path, $destination_path . DIRECTORY_SEPARATOR . $path); + return [$destination_path . DIRECTORY_SEPARATOR . $path]; + } + + $results = []; + foreach(Functions::scanDirectory($source_path) as $file) + { + $destination = $destination_path . DIRECTORY_SEPARATOR . Functions::removeBasename($file, $source_path); + $parent_directory = dirname($destination); + + if(!is_dir($parent_directory) && !mkdir($parent_directory, 0777, true) && !is_dir($parent_directory)) + { + throw new IOException(sprintf('Directory "%s" was not created', $parent_directory)); + } + + copy($file, $destination); + $results[] = $destination; + } + + return $results; + } } \ No newline at end of file diff --git a/src/ncc/Managers/RemoteSourcesManager.php b/src/ncc/Managers/RemoteSourcesManager.php deleted file mode 100644 index 81daf0f..0000000 --- a/src/ncc/Managers/RemoteSourcesManager.php +++ /dev/null @@ -1,172 +0,0 @@ -DefinedSourcesPath = PathFinder::getRemoteSources(Scopes::SYSTEM); - $this->load(); - } - - /** - * Loads an existing remote sources file, or creates a new one if it doesn't exist - * - * @return void - */ - public function load(): void - { - $this->Sources = []; - - try - { - - if(file_exists($this->DefinedSourcesPath)) - { - $sources = ZiProto::decode(IO::fread($this->DefinedSourcesPath)); - $this->Sources = []; - foreach($sources as $source) - $this->Sources[] = DefinedRemoteSource::fromArray($source); - } - } - catch(Exception $e) - { - unset($e); - } - } - - /** - * Saves the remote sources file to disk - * - * @return void - * @throws IOException - */ - public function save(): void - { - $sources = []; - foreach($this->Sources as $source) - $sources[] = $source->toArray(true); - - IO::fwrite($this->DefinedSourcesPath, ZiProto::encode($sources)); - } - - /** - * Adds a new remote source to the list - * - * @param DefinedRemoteSource $source - * @return bool - */ - public function addRemoteSource(DefinedRemoteSource $source): bool - { - foreach($this->Sources as $existingSource) - { - if($existingSource->getName() === $source->getName()) - { - return false; - } - } - - $this->Sources[] = $source; - return true; - } - - /** - * Gets a remote source by its name - * - * @param string $name - * @return DefinedRemoteSource|null - */ - public function getRemoteSource(string $name): ?DefinedRemoteSource - { - foreach($this->Sources as $source) - { - if($source->getName() === $name) - { - return $source; - } - } - - return null; - } - - /** - * Deletes an existing remote source - * - * @param string $name - * @return bool - */ - public function deleteRemoteSource(string $name): bool - { - foreach($this->Sources as $index => $source) - { - if($source->getName() === $name) - { - unset($this->Sources[$index]); - return true; - } - } - - return false; - } - - /** - * Returns an array of all the defined remote sources - * - * @return DefinedRemoteSource[] - */ - public function getSources(): array - { - if($this->Sources == null) - $this->load(); - return $this->Sources; - } - } \ No newline at end of file diff --git a/src/ncc/Managers/RepositoryManager.php b/src/ncc/Managers/RepositoryManager.php new file mode 100644 index 0000000..408b95b --- /dev/null +++ b/src/ncc/Managers/RepositoryManager.php @@ -0,0 +1,247 @@ +repositories = []; + + if(is_file(PathFinder::getRepositoryDatabase())) + { + try + { + foreach(ZiProto::decode(IO::fread(PathFinder::getRepositoryDatabase())) as $source) + { + $this->repositories[] = RepositoryConfiguration::fromArray($source); + } + } + catch(Exception $e) + { + throw new RuntimeException(sprintf('Unable to load remote sources from disk \'%s\': %s', PathFinder::getRepositoryDatabase(), $e->getMessage()), $e->getCode(), $e); + } + } + } + + /** + * Returns an array of all the configured repositories + * + * @return RepositoryConfiguration[] + */ + public function getRepositories(): array + { + return $this->repositories; + } + + /** + * Returns True if the repository exists + * + * @param string $input + * @return bool + */ + public function repositoryExists(string $input): bool + { + $input = strtolower($input); + + foreach($this->repositories as $source) + { + if($source->getName() === $input) + { + return true; + } + } + + return false; + } + + /** + * Adds new repository to the system + * + * @param RepositoryConfiguration $source + * @param bool $update + * @return void + * @throws IOException + * @throws OperationException + */ + public function addRepository(RepositoryConfiguration $source, bool $update=true): void + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + throw new OperationException('You must be running as root to add a new repository'); + } + + if($this->repositoryExists($source->getName())) + { + throw new InvalidArgumentException(sprintf('The remote source \'%s\' already exists', $source->getName())); + } + + Console::outVerbose(sprintf('Adding repository \'%s\' as %s (type: %s)', $source->getHost(), $source->getName(), $source->getType())); + $this->repositories[] = $source; + + if($update) + { + $this->updateDatabase(); + } + } + + /** + * Returns a repository configuration by name + * + * @param string $name + * @return RepositoryConfiguration + */ + public function getRepository(string $name): RepositoryConfiguration + { + $name = strtolower($name); + + foreach($this->repositories as $source) + { + if($source->getName() === $name) + { + return $source; + } + } + + throw new InvalidArgumentException(sprintf('The remote source \'%s\' does not exist', $name)); + } + + /** + * Removes an existing repository from the system and updates the database + * + * @param string $name + * @param bool $update + * @return void + * @throws IOException + * @throws OperationException + */ + public function removeRepository(string $name, bool $update=true): void + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + throw new OperationException('You must be running as root to delete a repository'); + } + + Console::outVerbose(sprintf('Removing repository \'%s\'', $name)); + + $name = strtolower($name); + foreach($this->repositories as $index => $source) + { + if($source->getName() === $name) + { + unset($this->repositories[$index]); + + if($update) + { + $this->updateDatabase(); + } + + return; + } + } + + throw new InvalidArgumentException(sprintf('The remote source \'%s\' does not exist', $name)); + } + + /** + * Updates the repository database + * + * @return void + * @throws IOException + * @throws OperationException + */ + public function updateDatabase(): void + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + throw new OperationException('You must be running as root to update the repository database'); + } + + Console::outVerbose(sprintf('Updating repository database with %d repositories', count($this->repositories))); + + $sources = []; + foreach($this->repositories as $source) + { + $sources[] = $source->toArray(true); + } + + IO::fwrite(PathFinder::getRepositoryDatabase(), ZiProto::encode($sources), 0644); + } + + /** + * Initializes the repository database, optionally with default repositories + * + * @param array $default_repositories + * @return void + * @throws IOException + * @throws OperationException + */ + public static function initializeDatabase(array $default_repositories=[]): void + { + if(Resolver::resolveScope() !== Scopes::SYSTEM) + { + throw new OperationException('You must be running as root to initialize the repository database'); + } + + // Skip if the database already exists (or update it if we change the structure) + if(is_file(PathFinder::getRepositoryDatabase())) + { + Console::outVerbose('Skipping repository database initialization, database already exists'); + return; + } + + Console::outVerbose(sprintf('Initializing repository database with %d repositories', count($default_repositories))); + + $repository_manager = new RepositoryManager(); + foreach($default_repositories as $repository) + { + Console::outDebug(sprintf('Adding default repository \'%s\'', $repository['name'])); + $repository_manager->addRepository(RepositoryConfiguration::fromArray($repository), false); + } + + $repository_manager->updateDatabase(); + } + } \ No newline at end of file diff --git a/src/ncc/Managers/SymlinkManager.php b/src/ncc/Managers/SymlinkManager.php deleted file mode 100644 index 8fae672..0000000 --- a/src/ncc/Managers/SymlinkManager.php +++ /dev/null @@ -1,375 +0,0 @@ -SymlinkDictionaryPath = PathFinder::getSymlinkDictionary(Scopes::SYSTEM); - $this->load(); - } - catch(Exception $e) - { - Console::outWarning(sprintf('failed to load symlink dictionary from %s', $this->SymlinkDictionaryPath)); - } - finally - { - if($this->SymlinkDictionary === null) - $this->SymlinkDictionary = []; - - unset($e); - } - } - - /** - * Loads the symlink dictionary from the file - * - * @return void - * @throws AuthenticationException - * @throws IOException - */ - public function load(): void - { - if($this->SymlinkDictionary !== null) - return; - - Console::outDebug(sprintf('loading symlink dictionary from %s', $this->SymlinkDictionaryPath)); - - if(!file_exists($this->SymlinkDictionaryPath)) - { - Console::outDebug('symlink dictionary does not exist, creating new dictionary'); - $this->SymlinkDictionary = []; - $this->save(false); - return; - } - - try - { - $this->SymlinkDictionary = []; - - foreach(ZiProto::decode(IO::fread($this->SymlinkDictionaryPath)) as $entry) - { - $this->SymlinkDictionary[] = SymlinkEntry::fromArray($entry); - } - } - catch(Exception $e) - { - $this->SymlinkDictionary = []; - - Console::outDebug('symlink dictionary is corrupted, creating new dictionary'); - $this->save(false); - } - finally - { - unset($e); - } - } - - /** - * Saves the symlink dictionary to the file - * - * @param bool $throw_exception - * @return void - * @throws AuthenticationException - * @throws IOException - */ - private function save(bool $throw_exception=true): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient Permissions to write to the system symlink dictionary'); - } - - Console::outDebug(sprintf('saving symlink dictionary to %s', $this->SymlinkDictionaryPath)); - - try - { - $dictionary = []; - foreach($this->SymlinkDictionary as $entry) - { - $dictionary[] = $entry->toArray(true); - } - - IO::fwrite($this->SymlinkDictionaryPath, ZiProto::encode($dictionary)); - } - catch(Exception $e) - { - if($throw_exception) - { - throw new IOException(sprintf('failed to save symlink dictionary to %s', $this->SymlinkDictionaryPath), $e); - } - - Console::outWarning(sprintf('failed to save symlink dictionary to %s', $this->SymlinkDictionaryPath)); - } - finally - { - unset($e); - } - } - - /** - * @return string - */ - public function getSymlinkDictionaryPath(): string - { - return $this->SymlinkDictionaryPath; - } - - /** - * @return array - */ - public function getSymlinkDictionary(): array - { - return $this->SymlinkDictionary; - } - - /** - * Checks if a package is defined in the symlink dictionary - * - * @param string $package - * @return bool - */ - public function exists(string $package): bool - { - foreach($this->SymlinkDictionary as $entry) - { - if($entry->getPackage() === $package) - { - return true; - } - } - - return false; - } - - /** - * Adds a new entry to the symlink dictionary - * - * @param string $package - * @param string $unit - * @return void - * @throws AuthenticationException - * @throws IOException - */ - public function add(string $package, string $unit='main'): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient Permissions to add to the system symlink dictionary'); - } - - if($this->exists($package)) - { - $this->remove($package); - } - - $entry = new SymlinkEntry(); - $entry->setPackage($package); - $entry->setExecutionPolicyName($unit); - - $this->SymlinkDictionary[] = $entry; - $this->save(); - } - - /** - * Removes an entry from the symlink dictionary - * - * @param string $package - * @return void - * @throws AuthenticationException - * @throws IOException - */ - public function remove(string $package): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient Permissions to remove from the system symlink dictionary'); - } - - if(!$this->exists($package)) - { - return; - } - - foreach($this->SymlinkDictionary as $key => $entry) - { - if($entry->getPackage() === $package) - { - if($entry->isRegistered()) - { - $filesystem = new Filesystem(); - - $symlink_name = explode('.', $entry->getPackage())[count(explode('.', $entry->getPackage())) - 1]; - $symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name; - - if($filesystem->exists($symlink)) - { - $filesystem->remove($symlink); - } - } - - unset($this->SymlinkDictionary[$key]); - $this->save(); - return; - } - } - - throw new IOException(sprintf('failed to remove package %s from the symlink dictionary', $package)); - } - - /** - * Sets the package as registered - * - * @param string $package - * @return void - * @throws AuthenticationException - * @throws IOException - */ - private function setAsRegistered(string $package): void - { - foreach($this->SymlinkDictionary as $key => $entry) - { - if($entry->getPackage() === $package) - { - $entry->setRegistered(true); - $this->SymlinkDictionary[$key] = $entry; - $this->save(); - return; - } - } - } - - /** - * Syncs the symlink dictionary with the filesystem - * - * @return void - * @throws AuthenticationException - * @throws IOException - */ - public function sync(): void - { - if(Resolver::resolveScope() !== Scopes::SYSTEM) - { - throw new AuthenticationException('Insufficient Permissions to sync the system symlink dictionary'); - } - - $filesystem = new Filesystem(); - $execution_pointer_manager = new ExecutionPointerManager(); - $package_lock_manager = new PackageLockManager(); - - foreach($this->SymlinkDictionary as $entry) - { - if($entry->isRegistered()) - { - continue; - } - - $symlink_name = explode('.', $entry->getPackage())[count(explode('.', $entry->getPackage())) - 1]; - $symlink = self::$BinPath . DIRECTORY_SEPARATOR . $symlink_name; - - if($filesystem->exists($symlink)) - { - Console::outWarning(sprintf('Symlink %s already exists, skipping', $symlink)); - continue; - } - - try - { - $package_entry = $package_lock_manager->getPackageLock()->getPackage($entry->getPackage()); - - if($package_entry === null) - { - Console::outWarning(sprintf('Package %s is not installed, skipping', $entry->getPackage())); - continue; - } - - $latest_version = $package_entry->getLatestVersion(); - - } - catch(Exception $e) - { - $filesystem->remove($symlink); - Console::outWarning(sprintf('Failed to get package %s, skipping', $entry->getPackage())); - continue; - } - - try - { - $entry_point_path = $execution_pointer_manager->getEntryPointPath($entry->getPackage(), $latest_version, $entry->getExecutionPolicyName()); - $filesystem->symlink($entry_point_path, $symlink); - } - catch(Exception $e) - { - $filesystem->remove($symlink); - Console::outWarning(sprintf('Failed to create symlink %s, skipping', $symlink)); - continue; - } - finally - { - unset($e); - } - - $this->setAsRegistered($entry->getPackage()); - - } - } - } \ No newline at end of file diff --git a/src/ncc/Objects/ComposerJson.php b/src/ncc/Objects/ComposerJson.php index 10297f5..0ccd593 100644 --- a/src/ncc/Objects/ComposerJson.php +++ b/src/ncc/Objects/ComposerJson.php @@ -24,8 +24,8 @@ namespace ncc\Objects; - use ncc\Enums\ComposerPackageTypes; - use ncc\Enums\ComposerStabilityTypes; + use ncc\Enums\Types\ComposerPackageTypes; + use ncc\Enums\Types\ComposerStabilityTypes; use ncc\Objects\ComposerJson\Author; use ncc\Objects\ComposerJson\Autoloader; use ncc\Objects\ComposerJson\PackageLink; @@ -46,7 +46,7 @@ * A short description of the package. Usually * this is one line long * - * @var string + * @var string|null */ private $description; @@ -295,6 +295,9 @@ } /** + * Returns the name of the package, it consists of + * the vendor name and project name, seperated by `/` + * * @return string */ public function getName(): string @@ -303,30 +306,19 @@ } /** - * @param string $name + * Returns the description of the package + * + * @return ?string */ - public function setName(string $name): void - { - $this->name = $name; - } - - /** - * @return string - */ - public function getDescription(): string + public function getDescription(): ?string { return $this->description; } /** - * @param string $description - */ - public function setDescription(string $description): void - { - $this->description = $description; - } - - /** + * Optional. Returns the version of the package, in most cases this is not + * required and should be omitted. + * * @return string|null */ public function getVersion(): ?string @@ -334,14 +326,6 @@ return $this->version; } - /** - * @param string|null $version - */ - public function setVersion(?string $version): void - { - $this->version = $version; - } - /** * @return string */ @@ -350,14 +334,6 @@ return $this->type; } - /** - * @param string $type - */ - public function setType(string $type): void - { - $this->type = $type; - } - /** * @return string[] */ @@ -366,14 +342,6 @@ return $this->keywords; } - /** - * @param string[] $keywords - */ - public function setKeywords(array $keywords): void - { - $this->keywords = $keywords; - } - /** * @return string|null */ @@ -382,14 +350,6 @@ return $this->homepage; } - /** - * @param string|null $homepage - */ - public function setHomepage(?string $homepage): void - { - $this->homepage = $homepage; - } - /** * @return string|null */ @@ -398,14 +358,6 @@ return $this->readme; } - /** - * @param string|null $readme - */ - public function setReadme(?string $readme): void - { - $this->readme = $readme; - } - /** * @return string|null */ @@ -414,14 +366,6 @@ return $this->time; } - /** - * @param string|null $time - */ - public function setTime(?string $time): void - { - $this->time = $time; - } - /** * @return string|string[]|null */ @@ -430,14 +374,6 @@ return $this->license; } - /** - * @param string|string[]|null $license - */ - public function setLicense(array|string|null $license): void - { - $this->license = $license; - } - /** * @return Author[]|null */ @@ -446,14 +382,6 @@ return $this->authors; } - /** - * @param Author[]|null $authors - */ - public function setAuthors(?array $authors): void - { - $this->authors = $authors; - } - /** * @return Support|null */ @@ -462,14 +390,6 @@ return $this->support; } - /** - * @param Support|null $support - */ - public function setSupport(?Support $support): void - { - $this->support = $support; - } - /** * @return PackageLink[]|null */ @@ -478,14 +398,6 @@ return $this->require; } - /** - * @param PackageLink[]|null $require - */ - public function setRequire(?array $require): void - { - $this->require = $require; - } - /** * @return PackageLink[]|null */ @@ -494,14 +406,6 @@ return $this->require_dev; } - /** - * @param PackageLink[]|null $require_dev - */ - public function setRequireDev(?array $require_dev): void - { - $this->require_dev = $require_dev; - } - /** * @return PackageLink[]|null */ @@ -510,14 +414,6 @@ return $this->conflict; } - /** - * @param PackageLink[]|null $conflict - */ - public function setConflict(?array $conflict): void - { - $this->conflict = $conflict; - } - /** * @return PackageLink[]|null */ @@ -526,14 +422,6 @@ return $this->replace; } - /** - * @param PackageLink[]|null $replace - */ - public function setReplace(?array $replace): void - { - $this->replace = $replace; - } - /** * @return PackageLink[]|null */ @@ -542,14 +430,6 @@ return $this->provide; } - /** - * @param PackageLink[]|null $provide - */ - public function setProvide(?array $provide): void - { - $this->provide = $provide; - } - /** * @return Suggestion[]|null */ @@ -558,14 +438,6 @@ return $this->suggest; } - /** - * @param Suggestion[]|null $suggest - */ - public function setSuggest(?array $suggest): void - { - $this->suggest = $suggest; - } - /** * @return Autoloader|null */ @@ -574,14 +446,6 @@ return $this->autoload; } - /** - * @param Autoloader|null $autoload - */ - public function setAutoload(?Autoloader $autoload): void - { - $this->autoload = $autoload; - } - /** * @return Autoloader|null */ @@ -590,14 +454,6 @@ return $this->autoload_dev; } - /** - * @param Autoloader|null $autoload_dev - */ - public function setAutoloadDev(?Autoloader $autoload_dev): void - { - $this->autoload_dev = $autoload_dev; - } - /** * @return string[]|null */ @@ -606,14 +462,6 @@ return $this->include_path; } - /** - * @param string[]|null $include_path - */ - public function setIncludePath(?array $include_path): void - { - $this->include_path = $include_path; - } - /** * @return string|null */ @@ -622,14 +470,6 @@ return $this->target_directory; } - /** - * @param string|null $target_directory - */ - public function setTargetDirectory(?string $target_directory): void - { - $this->target_directory = $target_directory; - } - /** * @return ComposerPackageTypes|string|null */ @@ -638,14 +478,6 @@ return $this->minimum_stability; } - /** - * @param ComposerPackageTypes|string|null $minimum_stability - */ - public function setMinimumStability(ComposerPackageTypes|string|null $minimum_stability): void - { - $this->minimum_stability = $minimum_stability; - } - /** * @return array|null */ @@ -654,14 +486,6 @@ return $this->repositories; } - /** - * @param array|null $repositories - */ - public function setRepositories(?array $repositories): void - { - $this->repositories = $repositories; - } - /** * @return array|null */ @@ -670,14 +494,6 @@ return $this->configuration; } - /** - * @param array|null $configuration - */ - public function setConfiguration(?array $configuration): void - { - $this->configuration = $configuration; - } - /** * @return array|null */ @@ -686,14 +502,6 @@ return $this->scripts; } - /** - * @param array|null $scripts - */ - public function setScripts(?array $scripts): void - { - $this->scripts = $scripts; - } - /** * @return array|null */ @@ -702,14 +510,6 @@ return $this->extra; } - /** - * @param array|null $extra - */ - public function setExtra(?array $extra): void - { - $this->extra = $extra; - } - /** * @return array|null */ @@ -718,14 +518,6 @@ return $this->bin; } - /** - * @param array|null $bin - */ - public function setBin(?array $bin): void - { - $this->bin = $bin; - } - /** * @return array|null */ @@ -734,14 +526,6 @@ return $this->archive; } - /** - * @param array|null $archive - */ - public function setArchive(?array $archive): void - { - $this->archive = $archive; - } - /** * @return bool */ @@ -750,14 +534,6 @@ return $this->abandoned; } - /** - * @param bool $abandoned - */ - public function setAbandoned(bool $abandoned): void - { - $this->abandoned = $abandoned; - } - /** * @return array|null */ @@ -766,14 +542,6 @@ return $this->non_feature_branches; } - /** - * @param array|null $non_feature_branches - */ - public function setNonFeatureBranches(?array $non_feature_branches): void - { - $this->non_feature_branches = $non_feature_branches; - } - /** * Returns an array representation of the object * diff --git a/src/ncc/Objects/ComposerJson/NamespacePointer.php b/src/ncc/Objects/ComposerJson/NamespacePointer.php index e89c71b..21d28bd 100644 --- a/src/ncc/Objects/ComposerJson/NamespacePointer.php +++ b/src/ncc/Objects/ComposerJson/NamespacePointer.php @@ -39,26 +39,10 @@ /** * The relative path to the source code to index * - * @var string + * @var string|string[] */ private $path; - /** - * @return string|null - */ - public function getNamespace(): ?string - { - return $this->namespace; - } - - /** - * @return string|null - */ - public function getPath(): ?string - { - return $this->path; - } - /** * Public constructor * @@ -71,6 +55,22 @@ $this->path = $path; } + /** + * @return string|null + */ + public function getNamespace(): ?string + { + return $this->namespace; + } + + /** + * @return string|string[]|null + */ + public function getPath(): string|array|null + { + return $this->path; + } + /** * @inheritDoc */ @@ -85,20 +85,8 @@ /** * @inheritDoc */ - public static function fromArray(array $array): NamespacePointer + public static function fromArray(array $data): NamespacePointer { - $object = new self(); - - if(isset($array['namespace'])) - { - $object->namespace = $array['namespace']; - } - - if(isset($array['path'])) - { - $object->path = $array['path']; - } - - return $object; + return new self($data['namespace'], $data['path']); } } \ No newline at end of file diff --git a/src/ncc/Objects/ComposerJson/PackageLink.php b/src/ncc/Objects/ComposerJson/PackageLink.php index 746012e..792d2ab 100644 --- a/src/ncc/Objects/ComposerJson/PackageLink.php +++ b/src/ncc/Objects/ComposerJson/PackageLink.php @@ -26,6 +26,7 @@ namespace ncc\Objects\ComposerJson; use ncc\Interfaces\SerializableObjectInterface; + use ncc\ThirdParty\composer\Semver\VersionParser; class PackageLink implements SerializableObjectInterface { @@ -64,8 +65,13 @@ /** * @return string|null */ - public function getVersion(): ?string + public function getVersion(bool $normalized=false): ?string { + if($normalized) + { + return (new VersionParser())->parseConstraints($this->version)->getPrettyString(); + } + return $this->version; } diff --git a/src/ncc/Objects/ComposerLock.php b/src/ncc/Objects/ComposerLock.php deleted file mode 100644 index 23ea97b..0000000 --- a/src/ncc/Objects/ComposerLock.php +++ /dev/null @@ -1,363 +0,0 @@ -packages as $package) - { - if($package->getName() === $name) - { - return $package; - } - } - - return null; - } - - /** - * @return string - */ - public function getReadme(): string - { - return $this->readme; - } - - /** - * @param string $readme - */ - public function setReadme(string $readme): void - { - $this->readme = $readme; - } - - /** - * @return string - */ - public function getContentHash(): string - { - return $this->content_hash; - } - - /** - * @param string $content_hash - */ - public function setContentHash(string $content_hash): void - { - $this->content_hash = $content_hash; - } - - /** - * @return ComposerJson[]|null - */ - public function getPackages(): ?array - { - return $this->packages; - } - - /** - * @param ComposerJson[]|null $packages - */ - public function setPackages(?array $packages): void - { - $this->packages = $packages; - } - - /** - * @return array|null - */ - public function getPackagesDev(): ?array - { - return $this->packages_dev; - } - - /** - * @param array|null $packages_dev - */ - public function setPackagesDev(?array $packages_dev): void - { - $this->packages_dev = $packages_dev; - } - - /** - * @return array|null - */ - public function getAliases(): ?array - { - return $this->aliases; - } - - /** - * @param array|null $aliases - */ - public function setAliases(?array $aliases): void - { - $this->aliases = $aliases; - } - - /** - * @return string|null - */ - public function getMinimumStability(): ?string - { - return $this->minimum_stability; - } - - /** - * @param string|null $minimum_stability - */ - public function setMinimumStability(?string $minimum_stability): void - { - $this->minimum_stability = $minimum_stability; - } - - /** - * @return array|null - */ - public function getStabilityFlags(): ?array - { - return $this->stability_flags; - } - - /** - * @param array|null $stability_flags - */ - public function setStabilityFlags(?array $stability_flags): void - { - $this->stability_flags = $stability_flags; - } - - /** - * @return bool - */ - public function isPreferStable(): bool - { - return $this->prefer_stable; - } - - /** - * @param bool $prefer_stable - */ - public function setPreferStable(bool $prefer_stable): void - { - $this->prefer_stable = $prefer_stable; - } - - /** - * @return bool - */ - public function isPreferLowest(): bool - { - return $this->prefer_lowest; - } - - /** - * @param bool $prefer_lowest - */ - public function setPreferLowest(bool $prefer_lowest): void - { - $this->prefer_lowest = $prefer_lowest; - } - - /** - * @return array|null - */ - public function getPlatform(): ?array - { - return $this->platform; - } - - /** - * @param array|null $platform - */ - public function setPlatform(?array $platform): void - { - $this->platform = $platform; - } - - /** - * @return array|null - */ - public function getPlatformDev(): ?array - { - return $this->platform_dev; - } - - /** - * @param array|null $platform_dev - */ - public function setPlatformDev(?array $platform_dev): void - { - $this->platform_dev = $platform_dev; - } - - /** - * @return string|null - */ - public function getPluginApiVersion(): ?string - { - return $this->plugin_api_version; - } - - /** - * @param string|null $plugin_api_version - */ - public function setPluginApiVersion(?string $plugin_api_version): void - { - $this->plugin_api_version = $plugin_api_version; - } - - /** - * Returns an array representation of the object - * - * @return array - */ - public function toArray(): array - { - $_packages = []; - if($this->packages !== null) - { - foreach($this->packages as $package) - { - $_packages[] = $package->toArray(); - } - } - return [ - '_readme' => $this->readme, - 'content-hash' => $this->content_hash, - 'packages' => $_packages, - 'packages-dev' => $this->packages_dev, - 'aliases' => $this->aliases, - 'minimum-stability' => $this->minimum_stability, - 'stability-flags' => $this->stability_flags, - 'prefer-stable' => $this->prefer_stable, - 'prefer-lowest' => $this->prefer_lowest, - 'platform' => $this->platform, - 'platform-dev' => $this->platform_dev, - 'plugin-api-version' => $this->plugin_api_version, - ]; - } - - /** - * Constructs object from an array representation - * - * @param array $data - * @return static - */ - public static function fromArray(array $data): ComposerLock - { - $object = new self(); - - $object->readme = $data['_readme']; - $object->content_hash = $data['content-hash']; - $object->packages = []; - if($data['packages'] !== null) - { - foreach($data['packages'] as $package) - { - $object->packages[] = ComposerJson::fromArray($package); - } - } - $object->packages_dev = $data['packages-dev']; - $object->aliases = $data['aliases']; - $object->minimum_stability = $data['minimum-stability']; - $object->stability_flags = $data['stability-flags']; - $object->prefer_stable = $data['prefer-stable']; - $object->prefer_lowest = $data['prefer-lowest']; - $object->platform = $data['platform']; - $object->platform_dev = $data['platform-dev']; - $object->plugin_api_version = $data['plugin-api-version']; - - return $object; - } - } \ No newline at end of file diff --git a/src/ncc/Objects/DefinedRemoteSource.php b/src/ncc/Objects/DefinedRemoteSource.php deleted file mode 100644 index 946398f..0000000 --- a/src/ncc/Objects/DefinedRemoteSource.php +++ /dev/null @@ -1,160 +0,0 @@ -name; - } - - /** - * @param string $name - */ - public function setName(string $name): void - { - $this->name = $name; - } - - /** - * @return DefinedRemoteSourceType|string - */ - public function getType(): DefinedRemoteSourceType|string - { - return $this->type; - } - - /** - * @param DefinedRemoteSourceType|string $type - */ - public function setType(DefinedRemoteSourceType|string $type): void - { - $this->type = $type; - } - - /** - * @return string - */ - public function getHost(): string - { - return $this->host; - } - - /** - * @param string $host - */ - public function setHost(string $host): void - { - $this->host = $host; - } - - /** - * @return bool - */ - public function isSsl(): bool - { - return $this->ssl; - } - - /** - * @param bool $ssl - */ - public function setSsl(bool $ssl): void - { - $this->ssl = $ssl; - } - - /** - * Returns an array representation of the object - * - * @param bool $bytecode - * @return array - */ - public function toArray(bool $bytecode=false): array - { - return [ - ($bytecode ? Functions::cbc('name') : 'name') => $this->name, - ($bytecode ? Functions::cbc('type') : 'type') => $this->type, - ($bytecode ? Functions::cbc('host') : 'host') => $this->host, - ($bytecode ? Functions::cbc('ssl') : 'ssl') => $this->ssl - ]; - } - - /** - * Constructs object from an array representation. - * - * @param array $data - * @return static - */ - public static function fromArray(array $data): self - { - $definedRemoteSource = new self(); - - $definedRemoteSource->name = Functions::array_bc($data, 'name'); - $definedRemoteSource->type = Functions::array_bc($data, 'type'); - $definedRemoteSource->host = Functions::array_bc($data, 'host'); - $definedRemoteSource->ssl = Functions::array_bc($data, 'ssl'); - - return $definedRemoteSource; - } - } \ No newline at end of file diff --git a/src/ncc/Objects/HttpRequest.php b/src/ncc/Objects/HttpRequest.php deleted file mode 100644 index e283939..0000000 --- a/src/ncc/Objects/HttpRequest.php +++ /dev/null @@ -1,247 +0,0 @@ -type = HttpRequestType::GET; - $this->options = []; - $this->headers = [ - 'User-Agent: ncc/1.0' - ]; - } - - /** - * @return HttpRequestType|string - */ - public function getType(): HttpRequestType|string - { - return $this->type; - } - - /** - * @param HttpRequestType|string $type - */ - public function setType(HttpRequestType|string $type): void - { - $this->type = $type; - } - - /** - * @return string - */ - public function getUrl(): string - { - return $this->url; - } - - /** - * @param string $url - */ - public function setUrl(string $url): void - { - $this->url = $url; - } - - /** - * @return array|string[] - */ - public function getHeaders(): array - { - return $this->headers; - } - - /** - * @param array|string[] $headers - */ - public function setHeaders(array $headers): void - { - $this->headers = $headers; - } - - /** - * @param string $header - * @return void - */ - public function addHeader(string $header): void - { - $this->headers[] = $header; - } - - /** - * @return string|null - */ - public function getBody(): ?string - { - return $this->body; - } - - /** - * @param string|null $body - */ - public function setBody(?string $body): void - { - $this->body = $body; - } - - /** - * @return array|string - */ - public function getAuthentication(): array|string - { - return $this->authentication; - } - - /** - * @param array|string $authentication - */ - public function setAuthentication(array|string $authentication): void - { - $this->authentication = $authentication; - } - - /** - * @return array - */ - public function getOptions(): array - { - return $this->options; - } - - /** - * @param array $options - */ - public function setOptions(array $options): void - { - $this->options = $options; - } - - /** - * Returns the hash of the object. - * (This is used for caching) - * - * @return string - */ - public function requestHash(): string - { - try - { - return hash('sha1', json_encode($this->toArray(), JSON_THROW_ON_ERROR)); - } - catch(JsonException $e) - { - throw new RuntimeException(sprintf('Failed to hash request: %s', $e->getMessage()), $e->getCode(), $e); - } - } - - /** - * Returns an array representation of the object. - * - * @return array - */ - public function toArray(): array - { - return [ - 'type' => $this->type, - 'url' => $this->url, - 'headers' => $this->headers, - 'body' => $this->body, - 'authentication' => $this->authentication, - 'options' => $this->options - ]; - } - - /** - * Constructs a new HttpRequest object from an array representation. - * - * @param array $data - * @return HttpRequest - */ - public static function fromArray(array $data): HttpRequest - { - $request = new self(); - - $request->type = $data['type']; - $request->url = $data['url']; - $request->headers = $data['headers']; - $request->body = $data['body']; - $request->authentication = $data['authentication']; - $request->options = $data['options']; - - return $request; - } - } \ No newline at end of file diff --git a/src/ncc/Objects/HttpResponse.php b/src/ncc/Objects/HttpResponse.php deleted file mode 100644 index ebf956c..0000000 --- a/src/ncc/Objects/HttpResponse.php +++ /dev/null @@ -1,137 +0,0 @@ -status_code = 0; - $this->headers = []; - $this->body = (string)null; - } - - /** - * @return int - */ - public function getStatusCode(): int - { - return $this->status_code; - } - - /** - * @param int $status_code - */ - public function setStatusCode(int $status_code): void - { - $this->status_code = $status_code; - } - - /** - * @return array - */ - public function getHeaders(): array - { - return $this->headers; - } - - /** - * @param array $headers - */ - public function setHeaders(array $headers): void - { - $this->headers = $headers; - } - - /** - * @return string - */ - public function getBody(): string - { - return $this->body; - } - - /** - * @param string $body - */ - public function setBody(string $body): void - { - $this->body = $body; - } - - /** - * Returns an array representation of the object. - * - * @return array - */ - public function toArray(): array - { - return [ - 'status_code' => $this->status_code, - 'headers' => $this->headers, - 'body' => $this->body - ]; - } - - /** - * @inheritDoc - */ - public static function fromArray(array $data): HttpResponse - { - $object = new self(); - - $object->status_code = $data['status_code']; - $object->headers = $data['headers']; - $object->body = $data['body']; - - return $object; - } - } \ No newline at end of file diff --git a/src/ncc/Objects/Package.php b/src/ncc/Objects/Package.php index 785b17a..cfd7c2c 100644 --- a/src/ncc/Objects/Package.php +++ b/src/ncc/Objects/Package.php @@ -25,24 +25,24 @@ namespace ncc\Objects; use Exception; - use ncc\Enums\EncoderType; use ncc\Enums\PackageStructureVersions; + use ncc\Enums\Types\EncoderType; use ncc\Exceptions\ConfigurationException; use ncc\Exceptions\IOException; use ncc\Exceptions\PackageException; use ncc\Exceptions\PathNotFoundException; + use ncc\Extensions\ZiProto\ZiProto; use ncc\Interfaces\BytecodeObjectInterface; use ncc\Objects\Package\Component; use ncc\Objects\Package\ExecutionUnit; - use ncc\Objects\Package\Metadata; use ncc\Objects\Package\MagicBytes; + use ncc\Objects\Package\Metadata; use ncc\Objects\Package\Resource; use ncc\Objects\ProjectConfiguration\Assembly; use ncc\Objects\ProjectConfiguration\Compiler; use ncc\Objects\ProjectConfiguration\Dependency; use ncc\Utilities\Functions; use ncc\Utilities\IO; - use ncc\Extensions\ZiProto\ZiProto; class Package implements BytecodeObjectInterface { diff --git a/src/ncc/Objects/Package/Component.php b/src/ncc/Objects/Package/Component.php index 6638244..68f662b 100644 --- a/src/ncc/Objects/Package/Component.php +++ b/src/ncc/Objects/Package/Component.php @@ -26,9 +26,9 @@ use Exception; use ncc\Classes\PhpExtension\AstWalker; - use ncc\Enums\ComponentDataType; use ncc\Enums\Flags\ComponentFlags; use ncc\Enums\Options\ComponentDecodeOptions; + use ncc\Enums\Types\ComponentDataType; use ncc\Exceptions\ConfigurationException; use ncc\Extensions\ZiProto\ZiProto; use ncc\Interfaces\BytecodeObjectInterface; diff --git a/src/ncc/Objects/Package/MagicBytes.php b/src/ncc/Objects/Package/MagicBytes.php index d58d03c..d593514 100644 --- a/src/ncc/Objects/Package/MagicBytes.php +++ b/src/ncc/Objects/Package/MagicBytes.php @@ -24,7 +24,7 @@ namespace ncc\Objects\Package; - use ncc\Enums\EncoderType; + use ncc\Enums\Types\EncoderType; use ncc\Enums\Versions; use ncc\Interfaces\SerializableObjectInterface; diff --git a/src/ncc/Objects/PackageLock.php b/src/ncc/Objects/PackageLock.php index cef663e..d2f485f 100644 --- a/src/ncc/Objects/PackageLock.php +++ b/src/ncc/Objects/PackageLock.php @@ -30,7 +30,6 @@ use ncc\Exceptions\ConfigurationException; use ncc\Interfaces\BytecodeObjectInterface; use ncc\Objects\PackageLock\PackageEntry; - use ncc\Utilities\Console; use ncc\Utilities\Functions; class PackageLock implements BytecodeObjectInterface @@ -106,8 +105,6 @@ */ public function addPackage(PackageReader $package_reader): void { - Console::outVerbose("Adding package {$package_reader->getAssembly()->getPackage()} to package lock file"); - if(!$this->entryExists($package_reader->getAssembly()->getPackage())) { $package_entry = new PackageEntry($package_reader->getAssembly()->getPackage()); @@ -126,13 +123,27 @@ * Returns True if the package entry exists * * @param string $package_name + * @param string|null $version * @return bool */ - public function entryExists(string $package_name): bool + public function entryExists(string $package_name, ?string $version=null): bool { + if($version === null) + { + foreach($this->entries as $entry) + { + if($entry->getName() === $package_name) + { + return true; + } + } + + return false; + } + foreach($this->entries as $entry) { - if($entry->getName() === $package_name) + if($entry->getName() === $package_name && $entry->versionExists($version)) { return true; } @@ -205,7 +216,7 @@ /** * Returns an array of package entries * - * @return array + * @return string[] */ public function getEntries(): array { diff --git a/src/ncc/Objects/PackageLock/DependencyEntry.php b/src/ncc/Objects/PackageLock/DependencyEntry.php deleted file mode 100644 index f1a6eeb..0000000 --- a/src/ncc/Objects/PackageLock/DependencyEntry.php +++ /dev/null @@ -1,114 +0,0 @@ -package_name = $dependency->getName(); - $this->version = $dependency->getVersion(); - } - } - - /** - * @return string - */ - public function getPackageName(): string - { - return $this->package_name; - } - - /** - * @param string $package_name - */ - public function setPackageName(string $package_name): void - { - $this->package_name = $package_name; - } - - /** - * @return string - */ - public function getVersion(): string - { - return $this->version; - } - - /** - * @param string $version - */ - public function setVersion(string $version): void - { - $this->version = $version; - } - - /** - * @inheritDoc - */ - public function toArray(bool $bytecode=false): array - { - return [ - ($bytecode ? Functions::cbc('package_name') : 'package_name') => $this->package_name, - ($bytecode ? Functions::cbc('version') : 'version') => $this->version, - ]; - } - - /** - * @inheritDoc - */ - public static function fromArray(array $data): DependencyEntry - { - $object = new self(); - - $object->package_name = Functions::array_bc($data, 'package_name'); - $object->version = Functions::array_bc($data, 'version'); - - return $object; - } - } \ No newline at end of file diff --git a/src/ncc/Objects/PackageLock/PackageEntry.php b/src/ncc/Objects/PackageLock/PackageEntry.php index 9ff7462..8c68e15 100644 --- a/src/ncc/Objects/PackageLock/PackageEntry.php +++ b/src/ncc/Objects/PackageLock/PackageEntry.php @@ -38,6 +38,7 @@ use ncc\Objects\ProjectConfiguration\ExecutionPolicy; use ncc\Objects\ProjectConfiguration\Installer; use ncc\Objects\ProjectConfiguration\UpdateSource; + use ncc\ThirdParty\composer\Semver\Semver; use ncc\ThirdParty\jelix\Version\VersionComparator; use ncc\Utilities\Functions; use ncc\Utilities\IO; @@ -130,18 +131,18 @@ $version_entry = new VersionEntry($package_reader->getAssembly()->getVersion()); $version_entry->setMainExecutionPolicy($package_reader->getMetadata()->getMainExecutionPolicy()); - //foreach($package_reader->getDependencies() as $dependency) - //{ - // TODO: Implement this functionality - //} - foreach($package_reader->getExecutionUnits() as $unit) { $version_entry->addExecutionPolicy($package_reader->getExecutionUnit($unit)->getExecutionPolicy()); } + foreach($package_reader->getDependencies() as $dependency) + { + $version_entry->addDependency($package_reader->getDependency($dependency)); + } + $this->versions[] = $version_entry; - $this->update_source =$package_reader->getMetadata()->getUpdateSource(); + $this->update_source = $package_reader->getMetadata()->getUpdateSource(); return true; } @@ -154,9 +155,19 @@ */ public function versionExists(string $version): bool { - foreach($this->versions as $versionEntry) + if($version === Versions::LATEST) { - if($versionEntry->getVersion() === $version) + $version = $this->getLatestVersion(); + } + + foreach($this->versions as $version_entry) + { + if(false === stripos($version, "-dev") && false !== stripos($version_entry->getVersion(), "-dev")) + { + continue; + } + + if(Semver::satisfies($version_entry->getVersion(), $version)) { return true; } @@ -165,6 +176,35 @@ return false; } + /** + * Returns the version that satisfies the given version constraint + * + * @param string $version + * @return string + */ + public function getSatisfyingVersion(string $version): string + { + if($version === Versions::LATEST) + { + $version = $this->getLatestVersion(); + } + + foreach($this->versions as $version_entry) + { + if(false === stripos($version, "-dev") && false !== stripos($version_entry->getVersion(), "-dev")) + { + continue; + } + + if(Semver::satisfies($version_entry->getVersion(), $version)) + { + return $version_entry->getVersion(); + } + } + + throw new InvalidArgumentException(sprintf('Version %s does not exist in package %s', $version, $this->name)); + } + /** * Returns a version entry by version * @@ -178,11 +218,11 @@ $version = $this->getLatestVersion(); } - foreach($this->versions as $versionEntry) + foreach($this->versions as $version_entry) { - if($versionEntry->getVersion() === $version) + if($version_entry->getVersion() === $version) { - return $versionEntry; + return $version_entry; } } @@ -220,12 +260,12 @@ /** * Returns an array of all versions installed * - * @return array + * @return string[] */ public function getVersions(): array { - return array_map(static function(VersionEntry $versionEntry) { - return $versionEntry->getVersion(); + return array_map(static function(VersionEntry $version_entry) { + return $version_entry->getVersion(); }, $this->versions); } @@ -240,9 +280,9 @@ $count = 0; $found_node = false; - foreach($this->versions as $versionEntry) + foreach($this->versions as $version_entry) { - if($versionEntry->getVersion() === $version) + if($version_entry->getVersion() === $version) { $found_node = true; break; @@ -424,7 +464,12 @@ } $object = new self($name, $versions); - $object->update_source = Functions::array_bc($data, 'update_source'); + $update_source = Functions::array_bc($data, 'update_source'); + + if($update_source !== null) + { + $object->update_source = UpdateSource::fromArray($update_source); + } return $object; } diff --git a/src/ncc/Objects/PackageLock/VersionEntry.php b/src/ncc/Objects/PackageLock/VersionEntry.php index 97900c5..d3adeb9 100644 --- a/src/ncc/Objects/PackageLock/VersionEntry.php +++ b/src/ncc/Objects/PackageLock/VersionEntry.php @@ -24,8 +24,10 @@ namespace ncc\Objects\PackageLock; + use InvalidArgumentException; use ncc\Exceptions\ConfigurationException; use ncc\Interfaces\BytecodeObjectInterface; + use ncc\Objects\ProjectConfiguration\Dependency; use ncc\Objects\ProjectConfiguration\ExecutionPolicy; use ncc\Utilities\Functions; use ncc\Utilities\PathFinder; @@ -42,7 +44,7 @@ /** * An array of packages that this package depends on * - * @var DependencyEntry[] + * @var Dependency[] */ private $dependencies; @@ -103,7 +105,7 @@ /** * Returns an array of packages that this package depends on * - * @return DependencyEntry[] + * @return Dependency[] */ public function getDependencies(): array { @@ -114,30 +116,49 @@ * Returns a dependency by name if it exists * * @param string $name - * @return DependencyEntry|null + * @return Dependency */ - public function getDependency(string $name): ?DependencyEntry + public function getDependency(string $name): Dependency { foreach($this->dependencies as $dependency) { - if($dependency->getPackageName() === $name) + if($dependency->getName() === $name) { return $dependency; } } - return null; + throw new InvalidArgumentException(sprintf('Dependency "%s" does not exist in the version entry', $name)); + } + + /** + * Returns True if the dependency exists, false otherwise + * + * @param string $name + * @return bool + */ + public function dependencyExists(string $name): bool + { + foreach($this->dependencies as $dependency) + { + if($dependency->getName() === $name) + { + return true; + } + } + + return false; } /** * Adds a dependency to the version entry * - * @param DependencyEntry $dependency + * @param Dependency $dependency * @return void */ - public function addDependency(DependencyEntry $dependency): void + public function addDependency(Dependency $dependency): void { - if($this->getDependency($dependency->getPackageName()) !== null) + if($this->dependencyExists($dependency->getName())) { return; } @@ -252,7 +273,7 @@ { foreach($dependencies as $_datum) { - $object->dependencies[] = DependencyEntry::fromArray($_datum); + $object->dependencies[] = Dependency::fromArray($_datum); } } diff --git a/src/ncc/Objects/ProjectConfiguration.php b/src/ncc/Objects/ProjectConfiguration.php index bced995..d4121ae 100644 --- a/src/ncc/Objects/ProjectConfiguration.php +++ b/src/ncc/Objects/ProjectConfiguration.php @@ -24,7 +24,6 @@ namespace ncc\Objects; - use Exception; use InvalidArgumentException; use ncc\Enums\Options\BuildConfigurationValues; use ncc\Exceptions\ConfigurationException; diff --git a/src/ncc/Objects/ProjectConfiguration/Assembly.php b/src/ncc/Objects/ProjectConfiguration/Assembly.php index caea8af..4c44801 100644 --- a/src/ncc/Objects/ProjectConfiguration/Assembly.php +++ b/src/ncc/Objects/ProjectConfiguration/Assembly.php @@ -29,7 +29,6 @@ use ncc\Interfaces\BytecodeObjectInterface; use ncc\Interfaces\ValidatableObjectInterface; use ncc\ThirdParty\Symfony\Uid\Uuid; - use ncc\ThirdParty\Symfony\Uid\UuidV4; use ncc\Utilities\Functions; use ncc\Utilities\Validate; @@ -39,6 +38,13 @@ */ class Assembly implements BytecodeObjectInterface, ValidatableObjectInterface { + /** + * Universally Unique Identifier + * + * @var string + */ + private $uuid; + /** * The software name * @@ -53,6 +59,13 @@ */ private $package; + /** + * Software version + * + * @var string + */ + private $version; + /** * The software description * @@ -86,20 +99,6 @@ */ private $trademark; - /** - * Software version - * - * @var string - */ - private $version; - - /** - * Universally Unique Identifier - * - * @var string - */ - private $uuid; - /** * Assembly constructor. */ diff --git a/src/ncc/Objects/ProjectConfiguration/Build.php b/src/ncc/Objects/ProjectConfiguration/Build.php index 32b9f76..43fef34 100644 --- a/src/ncc/Objects/ProjectConfiguration/Build.php +++ b/src/ncc/Objects/ProjectConfiguration/Build.php @@ -216,7 +216,7 @@ * @param string $value * @return void */ - public function setOption(string $name, string $value): void + public function setOption(string $name, mixed $value): void { $this->options[$name] = $value; } diff --git a/src/ncc/Objects/ProjectConfiguration/Build/BuildConfiguration.php b/src/ncc/Objects/ProjectConfiguration/Build/BuildConfiguration.php index 13aaaf9..9dfbfe2 100644 --- a/src/ncc/Objects/ProjectConfiguration/Build/BuildConfiguration.php +++ b/src/ncc/Objects/ProjectConfiguration/Build/BuildConfiguration.php @@ -24,7 +24,7 @@ namespace ncc\Objects\ProjectConfiguration\Build; - use ncc\Enums\BuildOutputType; + use ncc\Enums\Types\BuildOutputType; use ncc\Exceptions\ConfigurationException; use ncc\Interfaces\BytecodeObjectInterface; use ncc\Objects\ProjectConfiguration\Dependency; @@ -216,6 +216,18 @@ $this->options = $options; } + /** + * Sets an option for the build configuration + * + * @param string $name + * @param mixed $value + * @return void + */ + public function setOption(string $name, mixed $value): void + { + $this->options[$name] = $value; + } + /** * @return string */ diff --git a/src/ncc/Objects/ProjectConfiguration/Dependency.php b/src/ncc/Objects/ProjectConfiguration/Dependency.php index 317979f..5b17279 100644 --- a/src/ncc/Objects/ProjectConfiguration/Dependency.php +++ b/src/ncc/Objects/ProjectConfiguration/Dependency.php @@ -24,7 +24,6 @@ namespace ncc\Objects\ProjectConfiguration; - use ncc\Enums\RemoteSourceType; use ncc\Enums\Versions; use ncc\Exceptions\ConfigurationException; use ncc\Interfaces\BytecodeObjectInterface; @@ -43,11 +42,6 @@ */ private $name; - /** - * @var string - */ - private $source_type; - /** * @var string */ @@ -62,16 +56,14 @@ * Dependency constructor. * * @param string $name - * @param string|null $source_type * @param string|null $source * @param string|null $version */ - public function __construct(string $name, ?string $source_type=null, ?string $source=null, ?string $version=null) + public function __construct(string $name, ?string $source=null, ?string $version=null) { $this->name = $name; - $this->source_type = $source_type ?? RemoteSourceType::NONE; - $this->version = $version ?? Versions::LATEST; $this->source = $source; + $this->version = $version ?? Versions::LATEST; } /** @@ -95,28 +87,6 @@ $this->name = $name; } - /** - * Optional. Returns the type of source from where ncc can fetch the dependency from - * - * @return string - */ - public function getSourceType(): string - { - return $this->source_type; - } - - /** - * Sets the type of source from where ncc can fetch the dependency from, - * if the source type is not defined, it will be set to RemoteSourceType::NONE - * - * @param string|null $source_type - * @return void - */ - public function setSourceType(?string $source_type): void - { - $this->source_type = ($source_type ?? RemoteSourceType::NONE); - } - /** * Optional. Returns The actual source where NCC can fetch the dependency from * @@ -184,7 +154,6 @@ $results = []; $results[($bytecode ? Functions::cbc('name') : 'name')] = $this->name; - $results[($bytecode ? Functions::cbc('source_type') : 'source_type')] = $this->source_type; $results[($bytecode ? Functions::cbc('version') : 'version')] = $this->version; if($this->source !== null && $this->source !== '') @@ -208,10 +177,6 @@ throw new ConfigurationException('Dependency name is required'); } - return new self($name, - Functions::array_bc($data, 'source_type'), - Functions::array_bc($data, 'source'), - Functions::array_bc($data, 'version') - ); + return new self($name, Functions::array_bc($data, 'source'), Functions::array_bc($data, 'version')); } } \ No newline at end of file diff --git a/src/ncc/Objects/ProjectConfiguration/UpdateSource.php b/src/ncc/Objects/ProjectConfiguration/UpdateSource.php index 196035e..db8e64d 100644 --- a/src/ncc/Objects/ProjectConfiguration/UpdateSource.php +++ b/src/ncc/Objects/ProjectConfiguration/UpdateSource.php @@ -100,6 +100,7 @@ /** * @inheritDoc + * @throws ConfigurationException */ public static function fromArray(array $data): UpdateSource { @@ -109,6 +110,13 @@ throw new ConfigurationException('The UpdateSource requires the "source" property'); } - return new self($source, Functions::array_bc($data, 'repository')); + $repository = Functions::array_bc($data, 'repository'); + if($repository !== null) + { + $repository = Repository::fromArray($repository); + } + + + return new self($source, $repository); } } \ No newline at end of file diff --git a/src/ncc/Objects/ProjectConfiguration/UpdateSource/Repository.php b/src/ncc/Objects/ProjectConfiguration/UpdateSource/Repository.php index c79eb0f..e7d7ff8 100644 --- a/src/ncc/Objects/ProjectConfiguration/UpdateSource/Repository.php +++ b/src/ncc/Objects/ProjectConfiguration/UpdateSource/Repository.php @@ -24,7 +24,6 @@ namespace ncc\Objects\ProjectConfiguration\UpdateSource; - use ncc\Enums\RemoteSourceType; use ncc\Exceptions\ConfigurationException; use ncc\Interfaces\BytecodeObjectInterface; use ncc\Utilities\Functions; diff --git a/src/ncc/Objects/ProjectDetectionResults.php b/src/ncc/Objects/ProjectDetectionResults.php index 9a28bde..d31e255 100644 --- a/src/ncc/Objects/ProjectDetectionResults.php +++ b/src/ncc/Objects/ProjectDetectionResults.php @@ -1,44 +1,6 @@ project_file_path = $project_file_path; + $this->project_type = $project_type; + } + + /** + * Returns the project file path that was detected + * * @return string */ - public function getProjectPath(): string + public function getProjectFilePath(): string { - return $this->project_path; - } - - /** - * @param string $project_path - */ - public function setProjectPath(string $project_path): void - { - $this->project_path = $project_path; + return $this->project_file_path; } /** + * Returns the detected project type + * * @return string */ public function getProjectType(): string { return $this->project_type; } - - /** - * @param string $project_type - */ - public function setProjectType(string $project_type): void - { - $this->project_type = $project_type; - } - } \ No newline at end of file diff --git a/src/ncc/Objects/RemotePackageInput.php b/src/ncc/Objects/RemotePackageInput.php index 612cf59..b86b875 100644 --- a/src/ncc/Objects/RemotePackageInput.php +++ b/src/ncc/Objects/RemotePackageInput.php @@ -26,13 +26,10 @@ use InvalidArgumentException; use ncc\Enums\RegexPatterns; + use ncc\Enums\Versions; class RemotePackageInput { - /** - * @var string - */ - private $vendor; /** * @var string @@ -40,7 +37,12 @@ private $package; /** - * @var string|null + * @var string + */ + private $vendor; + + /** + * @var string */ private $version; @@ -50,53 +52,26 @@ private $branch; /** - * @var string + * @var string|null */ - private $source; + private $repository; /** * Public Constructor & String Parser * - * @param string|null $input + * @param string $package The package name (eg; "ncc") + * @param string $vendor The vendor name (eg; "Nosial") */ - public function __construct(?string $input = null) - { - if ($input !== null && preg_match(RegexPatterns::REMOTE_PACKAGE, $input, $matches)) - { - if ($matches['source'] === null || $matches['package'] === null || $matches['vendor'] === null) - { - throw new InvalidArgumentException('Package, version, and source are required.'); - } - - $this->vendor = $matches['vendor']; - $this->package = $matches['package']; - $this->source = $matches['source']; - $this->version = empty($matches['version']) ? null : $matches['version']; - $this->branch = empty($matches['branch']) ? null : $matches['branch']; - } - else - { - throw new InvalidArgumentException(sprintf('Invalid remote package input: %s', $input)); - } - } - - /** - * @return string - */ - public function getVendor(): string - { - return $this->vendor; - } - - /** - * @param string $vendor - */ - public function setVendor(string $vendor): void + public function __construct(string $package, string $vendor) { + $this->package = $package; $this->vendor = $vendor; + $this->version = Versions::LATEST; } /** + * Returns the package name to use for the package + * * @return string */ public function getPackage(): string @@ -105,6 +80,8 @@ } /** + * Sets the package name to use for the package + * * @param string $package */ public function setPackage(string $package): void @@ -113,22 +90,48 @@ } /** - * @return string|null + * Returns the vendor to use for the package + * + * @return string */ - public function getVersion(): ?string + public function getVendor(): string + { + return $this->vendor; + } + + /** + * Sets the vendor to use it for the package + * + * @param string $vendor + */ + public function setVendor(string $vendor): void + { + $this->vendor = $vendor; + } + + /** + * Returns the version to use for the package + * + * @return string + */ + public function getVersion(): string { return $this->version; } /** + * Sets the version to use for the package, if null, it will use the latest version + * * @param string|null $version */ public function setVersion(?string $version): void { - $this->version = $version; + $this->version = $version ?? Versions::LATEST; } /** + * Returns the branch to use for the package + * * @return string|null */ public function getBranch(): ?string @@ -137,6 +140,8 @@ } /** + * Sets the branch to use it for the package + * * @param string|null $branch */ public function setBranch(?string $branch): void @@ -145,51 +150,23 @@ } /** - * @return string - */ - public function getSource(): string - { - return $this->source; - } - - /** - * @param string $source - */ - public function setSource(string $source): void - { - $this->source = $source; - } - - /** - * Returns a string representation of the input + * Optional. Returns the repository to use for the package * - * @return string + * @return string|null */ - public function toString(): string + public function getRepository(): ?string { - if($this->vendor === null || $this->package === null) - { - return ''; - } + return $this->repository; + } - $results = $this->vendor . '/' . $this->package; - - if($this->version !== null) - { - $results .= '=' . $this->version; - } - - if($this->branch !== null) - { - $results .= ':' . $this->branch; - } - - if($this->source !== null) - { - $results .= '@' . $this->source; - } - - return $results; + /** + * Sets the repository to use it for the package + * + * @param string|null $repository + */ + public function setRepository(?string $repository): void + { + $this->repository = $repository; } /** @@ -207,4 +184,67 @@ return str_replace('-', '_', sprintf('com.%s.%s', $this->vendor, $this->package)); } + + /** + * Returns a string representation of the input + * + * @return string + */ + public function toString() + { + return $this->__toString(); + } + + /** + * Returns a string representation of the input + * + * @return string + */ + public function __toString(): string + { + $results = $this->vendor . '/' . $this->package; + + if($this->version !== null) + { + $results .= '=' . $this->version; + } + + if($this->branch !== null) + { + $results .= ':' . $this->branch; + } + + if($this->repository !== null) + { + $results .= '@' . $this->repository; + } + + return $results; + } + + /** + * Parses the input string and returns a RemotePackageInput object + * + * @param string $input + * @return RemotePackageInput + */ + public static function fromString(string $input): RemotePackageInput + { + if (preg_match(RegexPatterns::REMOTE_PACKAGE, $input, $matches)) + { + if ($matches['package'] === null || $matches['vendor'] === null) + { + throw new InvalidArgumentException('package and vendor are required'); + } + + $object = new RemotePackageInput($matches['package'], $matches['vendor']); + $object->version = empty($matches['version']) ? Versions::LATEST : $matches['version']; + $object->branch = empty($matches['branch']) ? null : $matches['branch']; + $object->repository = empty($matches['source']) ? null : $matches['source']; + + return $object; + } + + throw new InvalidArgumentException(sprintf('Invalid remote package input: %s', $input)); + } } \ No newline at end of file diff --git a/src/ncc/Objects/RepositoryConfiguration.php b/src/ncc/Objects/RepositoryConfiguration.php new file mode 100644 index 0000000..516e444 --- /dev/null +++ b/src/ncc/Objects/RepositoryConfiguration.php @@ -0,0 +1,252 @@ +setName($name); + $this->setHost($host); + $this->setType($type); + $this->setSsl($ssl); + } + + /** + * Returns the unique name of the remote source. (e.g. 'github') + * + * @return string + */ + public function getName(): string + { + return $this->name; + } + + /** + * Sets the unique name of the remote source. (e.g. 'github') + * + * @param string $name + */ + public function setName(string $name): void + { + $this->name = strtolower($name); + } + + /** + * Returns the type of service ncc should use with this source (gitlab, github, etc...). + * + * @return string + * @see RepositoryType + */ + public function getType(): string + { + return $this->type; + } + + /** + * Sets the type of service ncc should use with this source (gitlab, github, etc...). + * + * @param string $type + * @see RepositoryType + */ + public function setType(string $type): void + { + if(!in_array(strtolower($type), RepositoryType::ALL, true)) + { + throw new InvalidArgumentException(sprintf('Invalid repository type \'%s\'', $type)); + } + + $this->type = $type; + } + + /** + * Returns the host of the service ncc should use with this source (gitlab.com, github.com, git.example.com:8080 etc...). + * + * @return string + */ + public function getHost(): string + { + return $this->host; + } + + /** + * Sets the host of the service ncc should use with this source (gitlab.com, github.com, git.example.com:8080 etc...). + * + * @param string $host + */ + public function setHost(string $host): void + { + $this->host = $host; + } + + /** + * Returns True if SSL should be used when connecting to the service + * + * @return bool + */ + public function isSsl(): bool + { + return $this->ssl; + } + + /** + * Sets if SSL should be used when connecting to the service + * + * @param bool $ssl + */ + public function setSsl(bool $ssl): void + { + $this->ssl = $ssl; + } + + /** + * Returns the archive URL for the ncc package of the specified group and project. + * This is useful for downloading the package. + * + * @param string $vendor The vendor to get the package for (eg; "Nosial") + * @param string $project The project to get the package for (eg; "ncc" or "libs/config") + * @param string $version Optional. The version to get the package for. By default, it will get the latest version + * @param AuthenticationType|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The url to the package archive + * @throws AuthenticationException If the authentication is invalid + * @throws NetworkException If there was an error getting the package + * @throws NotSupportedException If the repository type does not support fetching packages + */ + public function fetchPackage(string $vendor, string $project, string $version=Versions::LATEST, ?AuthenticationType $authentication=null): RepositoryResult + { + return match(strtolower($this->type)) + { + RepositoryType::GITHUB => GithubRepository::fetchPackage($this, $vendor, $project, $version, $authentication), + RepositoryType::GITLAB => GitlabRepository::fetchPackage($this, $vendor, $project, $version, $authentication), + RepositoryType::GITEA => GiteaRepository::fetchPackage($this, $vendor, $project, $version, $authentication), + RepositoryType::PACKAGIST => throw new NotSupportedException('Fetching ncc packages from Packagist is not supported'), + default => throw new InvalidArgumentException(sprintf('Invalid repository type \'%s\'', $this->type)), + }; + } + + /** + * Returns the archive URL for the source code of the specified group and project. + * This is useful for building the project from source. + * + * @param string $vendor The vendor to get the source for (eg; "Nosial") + * @param string $project The project to get the source for (eg; "ncc" or "libs/config") + * @param string $version Optional. The version to get the source for. By default, it will get the latest version + * @param AuthenticationType|null $authentication Optional. The authentication to use. If null, No authentication will be used. + * @return RepositoryResult The url to the source code archive + * @throws AuthenticationException If the authentication is invalid + * @throws NetworkException If there was an error getting the source + */ + public function fetchSourceArchive(string $vendor, string $project, string $version=Versions::LATEST, ?AuthenticationType $authentication=null): RepositoryResult + { + return match(strtolower($this->type)) + { + RepositoryType::GITHUB => GithubRepository::fetchSourceArchive($this, $vendor, $project, $version, $authentication), + RepositoryType::GITLAB => GitlabRepository::fetchSourceArchive($this, $vendor, $project, $version, $authentication), + RepositoryType::GITEA => GiteaRepository::fetchSourceArchive($this, $vendor, $project, $version, $authentication), + RepositoryType::PACKAGIST => PackagistRepository::fetchSourceArchive($this, $vendor, $project, $version, $authentication), + default => throw new InvalidArgumentException(sprintf('Invalid repository type \'%s\'', $this->type)), + }; + } + + /** + * Returns the repository object used for a project configuration + * + * @return Repository + */ + public function getProjectRepository(): Repository + { + return new Repository($this->name, $this->host, $this->type, $this->ssl); + } + + /** + * @inheritDoc + */ + public function toArray(bool $bytecode=false): array + { + return [ + ($bytecode ? Functions::cbc('name') : 'name') => $this->name, + ($bytecode ? Functions::cbc('type') : 'type') => $this->type, + ($bytecode ? Functions::cbc('host') : 'host') => $this->host, + ($bytecode ? Functions::cbc('ssl') : 'ssl') => $this->ssl + ]; + } + + /** + * @inheritDoc + */ + public static function fromArray(array $data): self + { + $name = Functions::array_bc($data, 'name'); + $type = Functions::array_bc($data, 'type'); + $host = Functions::array_bc($data, 'host'); + $ssl = Functions::array_bc($data, 'ssl') ?? true; + + return new self($name, $host, $type, $ssl); + } + } \ No newline at end of file diff --git a/src/ncc/Objects/HttpResponseCache.php b/src/ncc/Objects/RepositoryResult.php similarity index 60% rename from src/ncc/Objects/HttpResponseCache.php rename to src/ncc/Objects/RepositoryResult.php index 31897f6..8beec12 100644 --- a/src/ncc/Objects/HttpResponseCache.php +++ b/src/ncc/Objects/RepositoryResult.php @@ -1,4 +1,7 @@ http_response = $http_response; - $this->ttl = $ttl; + $this->url = $url; + $this->type = $type; + $this->version = $version; } /** - * Returns the cached response - * - * @return HttpResponse + * @return string */ - public function getHttpResponse(): HttpResponse + public function getUrl(): string { - return $this->http_response; + return $this->url; } /** - * Returns the Unix Timestamp of when the cache becomes invalid - * - * @return int + * @return string */ - public function getTtl(): int + public function getType(): string { - return $this->ttl; + return $this->type; + } + + /** + * @return string + */ + public function getVersion(): string + { + return $this->version; + } + + /** + * Returns the URL as a string + * + * @return string + */ + public function __toString(): string + { + return $this->url; } } \ No newline at end of file diff --git a/src/ncc/Objects/Vault.php b/src/ncc/Objects/Vault.php index 775d80a..32e3aca 100644 --- a/src/ncc/Objects/Vault.php +++ b/src/ncc/Objects/Vault.php @@ -24,11 +24,10 @@ namespace ncc\Objects; - use ncc\Enums\AuthenticationType; + use ncc\Enums\Types\AuthenticationType; use ncc\Enums\Versions; - use ncc\Exceptions\RuntimeException; + use ncc\Interfaces\AuthenticationInterface; use ncc\Interfaces\BytecodeObjectInterface; - use ncc\Interfaces\PasswordInterface; use ncc\Objects\Vault\Entry; use ncc\Utilities\Functions; @@ -77,12 +76,12 @@ * Adds a new entry to the vault * * @param string $name - * @param PasswordInterface $password + * @param AuthenticationInterface $password * @param bool $encrypt * @return bool * @noinspection PhpUnused */ - public function addEntry(string $name, PasswordInterface $password, bool $encrypt=true): bool + public function addEntry(string $name, AuthenticationInterface $password, bool $encrypt=true): bool { // Check if the entry already exists foreach($this->entries as $entry) diff --git a/src/ncc/Objects/Vault/Entry.php b/src/ncc/Objects/Vault/Entry.php index b17449f..eff6bfc 100644 --- a/src/ncc/Objects/Vault/Entry.php +++ b/src/ncc/Objects/Vault/Entry.php @@ -24,16 +24,16 @@ namespace ncc\Objects\Vault; - use ncc\Enums\AuthenticationType; use ncc\Defuse\Crypto\Crypto; use ncc\Defuse\Crypto\Exception\EnvironmentIsBrokenException; use ncc\Defuse\Crypto\Exception\WrongKeyOrModifiedCiphertextException; + use ncc\Enums\Types\AuthenticationType; + use ncc\Extensions\ZiProto\ZiProto; + use ncc\Interfaces\AuthenticationInterface; use ncc\Interfaces\BytecodeObjectInterface; - use ncc\Interfaces\PasswordInterface; use ncc\Objects\Vault\Password\AccessToken; use ncc\Objects\Vault\Password\UsernamePassword; use ncc\Utilities\Functions; - use ncc\Extensions\ZiProto\ZiProto; use RuntimeException; class Entry implements BytecodeObjectInterface @@ -55,7 +55,7 @@ /** * The entry's password * - * @var PasswordInterface|string|null + * @var AuthenticationInterface|string|null */ private $password; @@ -149,10 +149,10 @@ } /** - * @param PasswordInterface $password + * @param AuthenticationInterface $password * @return void */ - public function setAuthentication(PasswordInterface $password): void + public function setAuthentication(AuthenticationInterface $password): void { $this->password = $password; } @@ -188,7 +188,7 @@ return false; } - if(!($this->password instanceof PasswordInterface)) + if(!($this->password instanceof AuthenticationInterface)) { return false; } @@ -202,27 +202,31 @@ * * @param string $password * @return bool - * @noinspection PhpUnused + * @noinspection PhpUnhandledExceptionInspection */ public function unlock(string $password): bool { if($this->password === null) { + sleep(random_int(2, 3)); return false; } if(!$this->encrypted) { + sleep(random_int(2, 3)); return false; } if($this->currently_decrypted) { + sleep(random_int(2, 3)); return false; } if(!is_string($this->password)) { + sleep(random_int(2, 3)); return false; } @@ -237,6 +241,7 @@ catch (WrongKeyOrModifiedCiphertextException $e) { unset($e); + sleep(random_int(2, 3)); return false; } @@ -263,7 +268,7 @@ return false; } - if(!($this->password instanceof PasswordInterface)) + if(!($this->password instanceof AuthenticationInterface)) { return null; } @@ -322,9 +327,9 @@ } /** - * @return PasswordInterface|null + * @return AuthenticationInterface|null */ - public function getPassword(): ?PasswordInterface + public function getPassword(): ?AuthenticationInterface { if(!$this->currently_decrypted) { diff --git a/src/ncc/Objects/Vault/Password/AccessToken.php b/src/ncc/Objects/Vault/Password/AccessToken.php index 04251dd..36d5bb1 100644 --- a/src/ncc/Objects/Vault/Password/AccessToken.php +++ b/src/ncc/Objects/Vault/Password/AccessToken.php @@ -24,11 +24,12 @@ namespace ncc\Objects\Vault\Password; - use ncc\Enums\AuthenticationType; - use ncc\Interfaces\PasswordInterface; + use ncc\Enums\Types\AuthenticationType; + use ncc\Exceptions\ConfigurationException; + use ncc\Interfaces\AuthenticationInterface; use ncc\Utilities\Functions; - class AccessToken implements PasswordInterface + class AccessToken implements AuthenticationInterface { /** * The entry's access token @@ -38,11 +39,13 @@ private $access_token; /** - * @inheritDoc + * Public constructor + * + * @param string $access_token */ - public function getAuthenticationType(): string + public function __construct(string $access_token) { - return AuthenticationType::ACCESS_TOKEN; + $this->access_token = $access_token; } /** @@ -61,6 +64,24 @@ return $this->access_token; } + /** + * @inheritDoc + */ + public function getAuthenticationType(): string + { + return AuthenticationType::ACCESS_TOKEN; + } + + /** + * Returns a string representation of the object + * + * @return string + */ + public function __toString(): string + { + return $this->access_token; + } + /** * Returns an array representation of the object * @@ -83,18 +104,13 @@ */ public static function fromArray(array $data): AccessToken { - $object = new self(); - $object->access_token = Functions::array_bc($data, 'access_token'); - return $object; - } + $access_token = Functions::array_bc($data, 'access_token'); - /** - * Returns a string representation of the object - * - * @return string - */ - public function __toString(): string - { - return $this->access_token; + if($access_token === null) + { + throw new ConfigurationException('Missing access token'); + } + + return new self($access_token); } } \ No newline at end of file diff --git a/src/ncc/Objects/Vault/Password/UsernamePassword.php b/src/ncc/Objects/Vault/Password/UsernamePassword.php index c3e312f..f88042a 100644 --- a/src/ncc/Objects/Vault/Password/UsernamePassword.php +++ b/src/ncc/Objects/Vault/Password/UsernamePassword.php @@ -24,11 +24,12 @@ namespace ncc\Objects\Vault\Password; - use ncc\Enums\AuthenticationType; - use ncc\Interfaces\PasswordInterface; + use ncc\Enums\Types\AuthenticationType; + use ncc\Exceptions\ConfigurationException; + use ncc\Interfaces\AuthenticationInterface; use ncc\Utilities\Functions; - class UsernamePassword implements PasswordInterface + class UsernamePassword implements AuthenticationInterface { /** * The entry's username @@ -44,6 +45,18 @@ */ private $password; + /** + * Public constructor + * + * @param string $username + * @param string $password + */ + public function __construct(string $username, string $password) + { + $this->username = $username; + $this->password = $password; + } + /** * @return string * @noinspection PhpUnused @@ -53,6 +66,14 @@ return $this->username; } + /** + * @param string $username + */ + public function setUsername(string $username): void + { + $this->username = $username; + } + /** * @return string * @noinspection PhpUnused @@ -62,6 +83,14 @@ return $this->password; } + /** + * @param string $password + */ + public function setPassword(string $password): void + { + $this->password = $password; + } + /** * @inheritDoc */ @@ -77,23 +106,7 @@ */ public function __toString(): string { - return $this->password; - } - - /** - * @param string $username - */ - public function setUsername(string $username): void - { - $this->username = $username; - } - - /** - * @param string $password - */ - public function setPassword(string $password): void - { - $this->password = $password; + return sprintf('%s:%s', $this->username, $this->password); } /** @@ -110,14 +123,23 @@ /** * @inheritDoc + * @throws ConfigurationException */ public static function fromArray(array $data): self { - $instance = new self(); + $username = Functions::array_bc($data, 'username'); + $password = Functions::array_bc($data, 'password'); - $instance->username = Functions::array_bc($data, 'username'); - $instance->password = Functions::array_bc($data, 'password'); + if($username === null) + { + throw new ConfigurationException('Missing username'); + } - return $instance; + if($password === null) + { + throw new ConfigurationException('Missing password'); + } + + return new self($username, $password); } } \ No newline at end of file diff --git a/src/ncc/Runtime/Constants.php b/src/ncc/Runtime/Constants.php index bf33b66..ed6021d 100644 --- a/src/ncc/Runtime/Constants.php +++ b/src/ncc/Runtime/Constants.php @@ -37,7 +37,7 @@ * * @var Constant[] */ - private static $Constants; + private static $constants; /** * Registers a new constant @@ -58,13 +58,13 @@ $constant_hash = Resolver::resolveConstantHash($scope, $name); - if(isset(self::$Constants[$constant_hash])) + if(isset(self::$constants[$constant_hash])) { - self::$Constants[$constant_hash]->setValue($value, $readonly); + self::$constants[$constant_hash]->setValue($value, $readonly); return; } - self::$Constants[$constant_hash] = new Constant($scope, $name, $value, $readonly); + self::$constants[$constant_hash] = new Constant($scope, $name, $value, $readonly); } /** @@ -84,12 +84,12 @@ $constant_hash = Resolver::resolveConstantHash($scope, $name); - if(isset(self::$Constants[$constant_hash]) && self::$Constants[$constant_hash]->isReadonly()) + if(isset(self::$constants[$constant_hash]) && self::$constants[$constant_hash]->isReadonly()) { - throw new IntegrityException('Cannot delete the constant \'' . self::$Constants[$constant_hash]->getFullName() . '\', constant is readonly'); + throw new IntegrityException('Cannot delete the constant \'' . self::$constants[$constant_hash]->getFullName() . '\', constant is readonly'); } - unset(self::$Constants[$constant_hash]); + unset(self::$constants[$constant_hash]); } /** @@ -108,9 +108,9 @@ $constant_hash = Resolver::resolveConstantHash($scope, $name); - if(isset(self::$Constants[$constant_hash])) + if(isset(self::$constants[$constant_hash])) { - return self::$Constants[$constant_hash]->getValue(); + return self::$constants[$constant_hash]->getValue(); } return null; diff --git a/src/ncc/ThirdParty/Symfony/Filesystem/Filesystem.php b/src/ncc/ThirdParty/Symfony/Filesystem/Filesystem.php index 74dc49e..2cefc76 100644 --- a/src/ncc/ThirdParty/Symfony/Filesystem/Filesystem.php +++ b/src/ncc/ThirdParty/Symfony/Filesystem/Filesystem.php @@ -31,6 +31,8 @@ class Filesystem * If the target file is newer, it is overwritten only when the * $overwriteNewerFiles option is set to true. * + * @return void + * * @throws FileNotFoundException When originFile doesn't exist * @throws IOException When copy fails */ @@ -82,6 +84,8 @@ class Filesystem /** * Creates a directory recursively. * + * @return void + * * @throws IOException On any directory creation failure */ public function mkdir(string|iterable $dirs, int $mode = 0777) @@ -123,6 +127,8 @@ class Filesystem * @param int|null $time The touch time as a Unix timestamp, if not supplied the current system time is used * @param int|null $atime The access time as a Unix timestamp, if not supplied the current system time is used * + * @return void + * * @throws IOException When touch fails */ public function touch(string|iterable $files, int $time = null, int $atime = null) @@ -137,6 +143,8 @@ class Filesystem /** * Removes files or directories. * + * @return void + * * @throws IOException When removal fails */ public function remove(string|iterable $files) @@ -161,7 +169,7 @@ class Filesystem } } elseif (is_dir($file)) { if (!$isRecursive) { - $tmpName = \dirname(realpath($file)).'/.'.strrev(strtr(base64_encode(random_bytes(2)), '/=', '-.')); + $tmpName = \dirname(realpath($file)).'/.'.strrev(strtr(base64_encode(random_bytes(2)), '/=', '-_')); if (file_exists($tmpName)) { try { @@ -203,12 +211,14 @@ class Filesystem * @param int $umask The mode mask (octal) * @param bool $recursive Whether change the mod recursively or not * + * @return void + * * @throws IOException When the change fails */ public function chmod(string|iterable $files, int $mode, int $umask = 0000, bool $recursive = false) { foreach ($this->toIterable($files) as $file) { - if (\is_int($mode) && !self::box('chmod', $file, $mode & ~$umask)) { + if (!self::box('chmod', $file, $mode & ~$umask)) { throw new IOException(sprintf('Failed to chmod file "%s": ', $file).self::$lastError, 0, null, $file); } if ($recursive && is_dir($file) && !is_link($file)) { @@ -223,6 +233,8 @@ class Filesystem * @param string|int $user A user name or number * @param bool $recursive Whether change the owner recursively or not * + * @return void + * * @throws IOException When the change fails */ public function chown(string|iterable $files, string|int $user, bool $recursive = false) @@ -249,6 +261,8 @@ class Filesystem * @param string|int $group A group name or number * @param bool $recursive Whether change the group recursively or not * + * @return void + * * @throws IOException When the change fails */ public function chgrp(string|iterable $files, string|int $group, bool $recursive = false) @@ -272,6 +286,8 @@ class Filesystem /** * Renames a file or a directory. * + * @return void + * * @throws IOException When target file or directory already exists * @throws IOException When origin cannot be renamed */ @@ -313,6 +329,8 @@ class Filesystem /** * Creates a symbolic link or copy a directory. * + * @return void + * * @throws IOException When symlink fails */ public function symlink(string $originDir, string $targetDir, bool $copyOnWindows = false) @@ -349,6 +367,8 @@ class Filesystem * * @param string|string[] $targetFiles The target file(s) * + * @return void + * * @throws FileNotFoundException When original file is missing or not a file * @throws IOException When link fails, including if link already exists */ @@ -381,7 +401,7 @@ class Filesystem /** * @param string $linkType Name of the link type, typically 'symbolic' or 'hard' */ - private function linkException(string $origin, string $target, string $linkType) + private function linkException(string $origin, string $target, string $linkType): never { if (self::$lastError) { if ('\\' === \DIRECTORY_SEPARATOR && str_contains(self::$lastError, 'error code(1314)')) { @@ -438,11 +458,9 @@ class Filesystem $startPath = str_replace('\\', '/', $startPath); } - $splitDriveLetter = function ($path) { - return (\strlen($path) > 2 && ':' === $path[1] && '/' === $path[2] && ctype_alpha($path[0])) - ? [substr($path, 2), strtoupper($path[0])] - : [$path, null]; - }; + $splitDriveLetter = fn ($path) => (\strlen($path) > 2 && ':' === $path[1] && '/' === $path[2] && ctype_alpha($path[0])) + ? [substr($path, 2), strtoupper($path[0])] + : [$path, null]; $splitPath = function ($path) { $result = []; @@ -508,6 +526,8 @@ class Filesystem * - $options['copy_on_windows'] Whether to copy files instead of links on Windows (see symlink(), defaults to false) * - $options['delete'] Whether to delete files that are not in the source directory (defaults to false) * + * @return void + * * @throws IOException When file type is unknown */ public function mirror(string $originDir, string $targetDir, \Traversable $iterator = null, array $options = []) @@ -632,6 +652,8 @@ class Filesystem * * @param string|resource $content The data to write into the file * + * @return void + * * @throws IOException if the file cannot be written to */ public function dumpFile(string $filename, $content) @@ -642,6 +664,12 @@ class Filesystem $dir = \dirname($filename); + if (is_link($filename) && $linkTarget = $this->readlink($filename)) { + $this->dumpFile(Path::makeAbsolute($linkTarget, $dir), $content); + + return; + } + if (!is_dir($dir)) { $this->mkdir($dir); } @@ -671,6 +699,8 @@ class Filesystem * @param string|resource $content The content to append * @param bool $lock Whether the file should be locked when writing to it * + * @return void + * * @throws IOException If the file is not writable */ public function appendToFile(string $filename, $content/* , bool $lock = false */) @@ -730,7 +760,7 @@ class Filesystem /** * @internal */ - public static function handleError(int $type, string $msg) + public static function handleError(int $type, string $msg): void { self::$lastError = $msg; } diff --git a/src/ncc/ThirdParty/Symfony/Filesystem/LICENSE b/src/ncc/ThirdParty/Symfony/Filesystem/LICENSE index 0083704..0138f8f 100644 --- a/src/ncc/ThirdParty/Symfony/Filesystem/LICENSE +++ b/src/ncc/ThirdParty/Symfony/Filesystem/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2023 Fabien Potencier +Copyright (c) 2004-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/Filesystem/VERSION b/src/ncc/ThirdParty/Symfony/Filesystem/VERSION index 03825cd..39ee137 100644 --- a/src/ncc/ThirdParty/Symfony/Filesystem/VERSION +++ b/src/ncc/ThirdParty/Symfony/Filesystem/VERSION @@ -1 +1 @@ -6.2.5 \ No newline at end of file +6.3.1 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessFailedException.php b/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessFailedException.php index e60355f..1a3c997 100644 --- a/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessFailedException.php +++ b/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessFailedException.php @@ -47,6 +47,9 @@ class ProcessFailedException extends RuntimeException $this->process = $process; } + /** + * @return Process + */ public function getProcess() { return $this->process; diff --git a/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessTimedOutException.php b/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessTimedOutException.php index 8983b0f..a3a4fb4 100644 --- a/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessTimedOutException.php +++ b/src/ncc/ThirdParty/Symfony/Process/Exception/ProcessTimedOutException.php @@ -38,22 +38,31 @@ class ProcessTimedOutException extends RuntimeException )); } + /** + * @return Process + */ public function getProcess() { return $this->process; } + /** + * @return bool + */ public function isGeneralTimeout() { return self::TYPE_GENERAL === $this->timeoutType; } + /** + * @return bool + */ public function isIdleTimeout() { return self::TYPE_IDLE === $this->timeoutType; } - public function getExceededTimeout() + public function getExceededTimeout(): ?float { return match ($this->timeoutType) { self::TYPE_GENERAL => $this->process->getTimeout(), diff --git a/src/ncc/ThirdParty/Symfony/Process/ExecutableFinder.php b/src/ncc/ThirdParty/Symfony/Process/ExecutableFinder.php index 2041415..397e8f4 100644 --- a/src/ncc/ThirdParty/Symfony/Process/ExecutableFinder.php +++ b/src/ncc/ThirdParty/Symfony/Process/ExecutableFinder.php @@ -23,6 +23,8 @@ class ExecutableFinder /** * Replaces default suffixes of executable. + * + * @return void */ public function setSuffixes(array $suffixes) { @@ -31,6 +33,8 @@ class ExecutableFinder /** * Adds new possible suffix to check for executable. + * + * @return void */ public function addSuffix(string $suffix) { diff --git a/src/ncc/ThirdParty/Symfony/Process/InputStream.php b/src/ncc/ThirdParty/Symfony/Process/InputStream.php index c231617..bed86da 100644 --- a/src/ncc/ThirdParty/Symfony/Process/InputStream.php +++ b/src/ncc/ThirdParty/Symfony/Process/InputStream.php @@ -23,12 +23,14 @@ use ncc\ThirdParty\Symfony\Process\Exception\RuntimeException; class InputStream implements \IteratorAggregate { /** @var callable|null */ - private $onEmpty = null; + private $onEmpty; private $input = []; private $open = true; /** * Sets a callback that is called when the write buffer becomes empty. + * + * @return void */ public function onEmpty(callable $onEmpty = null) { @@ -40,6 +42,8 @@ class InputStream implements \IteratorAggregate * * @param resource|string|int|float|bool|\Traversable|null $input The input to append as scalar, * stream resource or \Traversable + * + * @return void */ public function write(mixed $input) { @@ -54,6 +58,8 @@ class InputStream implements \IteratorAggregate /** * Closes the write buffer. + * + * @return void */ public function close() { @@ -62,6 +68,8 @@ class InputStream implements \IteratorAggregate /** * Tells whether the write buffer is closed or not. + * + * @return bool */ public function isClosed() { diff --git a/src/ncc/ThirdParty/Symfony/Process/LICENSE b/src/ncc/ThirdParty/Symfony/Process/LICENSE index 0083704..0138f8f 100644 --- a/src/ncc/ThirdParty/Symfony/Process/LICENSE +++ b/src/ncc/ThirdParty/Symfony/Process/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2023 Fabien Potencier +Copyright (c) 2004-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/Process/PhpExecutableFinder.php b/src/ncc/ThirdParty/Symfony/Process/PhpExecutableFinder.php index 8d5e56e..2fa756c 100644 --- a/src/ncc/ThirdParty/Symfony/Process/PhpExecutableFinder.php +++ b/src/ncc/ThirdParty/Symfony/Process/PhpExecutableFinder.php @@ -54,7 +54,7 @@ class PhpExecutableFinder $args = $includeArgs && $args ? ' '.implode(' ', $args) : ''; // PHP_BINARY return the current sapi executable - if (\PHP_BINARY && \in_array(\PHP_SAPI, ['cgi-fcgi', 'cli', 'cli-server', 'phpdbg'], true)) { + if (\PHP_BINARY && \in_array(\PHP_SAPI, ['cli', 'cli-server', 'phpdbg'], true)) { return \PHP_BINARY.$args; } diff --git a/src/ncc/ThirdParty/Symfony/Process/PhpProcess.php b/src/ncc/ThirdParty/Symfony/Process/PhpProcess.php index 214ff2e..6923a90 100644 --- a/src/ncc/ThirdParty/Symfony/Process/PhpProcess.php +++ b/src/ncc/ThirdParty/Symfony/Process/PhpProcess.php @@ -55,6 +55,9 @@ class PhpProcess extends Process throw new LogicException(sprintf('The "%s()" method cannot be called when using "%s".', __METHOD__, self::class)); } + /** + * @return void + */ public function start(callable $callback = null, array $env = []) { if (null === $this->getCommandLine()) { diff --git a/src/ncc/ThirdParty/Symfony/Process/Pipes/AbstractPipes.php b/src/ncc/ThirdParty/Symfony/Process/Pipes/AbstractPipes.php index 4560951..283da52 100644 --- a/src/ncc/ThirdParty/Symfony/Process/Pipes/AbstractPipes.php +++ b/src/ncc/ThirdParty/Symfony/Process/Pipes/AbstractPipes.php @@ -41,7 +41,7 @@ abstract class AbstractPipes implements PipesInterface } } - public function close() + public function close(): void { foreach ($this->pipes as $pipe) { if (\is_resource($pipe)) { @@ -66,7 +66,7 @@ abstract class AbstractPipes implements PipesInterface /** * Unblocks streams. */ - protected function unblock() + protected function unblock(): void { if (!$this->blocked) { return; @@ -170,7 +170,7 @@ abstract class AbstractPipes implements PipesInterface /** * @internal */ - public function handleError(int $type, string $msg) + public function handleError(int $type, string $msg): void { $this->lastError = $msg; } diff --git a/src/ncc/ThirdParty/Symfony/Process/Pipes/PipesInterface.php b/src/ncc/ThirdParty/Symfony/Process/Pipes/PipesInterface.php index ccc419f..45a9687 100644 --- a/src/ncc/ThirdParty/Symfony/Process/Pipes/PipesInterface.php +++ b/src/ncc/ThirdParty/Symfony/Process/Pipes/PipesInterface.php @@ -57,5 +57,5 @@ interface PipesInterface /** * Closes file handles and pipes. */ - public function close(); + public function close(): void; } diff --git a/src/ncc/ThirdParty/Symfony/Process/Pipes/WindowsPipes.php b/src/ncc/ThirdParty/Symfony/Process/Pipes/WindowsPipes.php index d50f501..65225ae 100644 --- a/src/ncc/ThirdParty/Symfony/Process/Pipes/WindowsPipes.php +++ b/src/ncc/ThirdParty/Symfony/Process/Pipes/WindowsPipes.php @@ -172,7 +172,7 @@ class WindowsPipes extends AbstractPipes return $this->pipes && $this->fileHandles; } - public function close() + public function close(): void { parent::close(); foreach ($this->fileHandles as $type => $handle) { diff --git a/src/ncc/ThirdParty/Symfony/Process/Process.php b/src/ncc/ThirdParty/Symfony/Process/Process.php index f0fa17d..38e3e8c 100644 --- a/src/ncc/ThirdParty/Symfony/Process/Process.php +++ b/src/ncc/ThirdParty/Symfony/Process/Process.php @@ -285,6 +285,8 @@ class Process implements \IteratorAggregate * @param callable|null $callback A PHP callback to run whenever there is some * output available on STDOUT or STDERR * + * @return void + * * @throws RuntimeException When process can't be launched * @throws RuntimeException When process is already running * @throws LogicException In case a callback is provided and output has been disabled @@ -326,7 +328,7 @@ class Process implements \IteratorAggregate // See https://unix.stackexchange.com/questions/71205/background-process-pipe-input $commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;'; - $commandline .= 'pid=$!; echo $pid >&3; wait $pid; code=$?; echo $code >&3; exit $code'; + $commandline .= 'pid=$!; echo $pid >&3; wait $pid 2>/dev/null; code=$?; echo $code >&3; exit $code'; // Workaround for the bug, when PTS functionality is enabled. // @see : https://bugs.php.net/69442 @@ -421,7 +423,7 @@ class Process implements \IteratorAggregate do { $this->checkTimeout(); - $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen(); + $running = $this->isRunning() && ('\\' === \DIRECTORY_SEPARATOR || $this->processPipes->areOpen()); $this->readPipes($running, '\\' !== \DIRECTORY_SEPARATOR || !$running); } while ($running); @@ -604,6 +606,8 @@ class Process implements \IteratorAggregate * * @param int $flags A bit field of Process::ITER_* flags * + * @return \Generator + * * @throws LogicException in case the output has been disabled * @throws LogicException In case the process is not started */ @@ -872,7 +876,7 @@ class Process implements \IteratorAggregate * Stops the process. * * @param int|float $timeout The timeout in seconds - * @param int $signal A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL (9) + * @param int|null $signal A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL (9) * * @return int|null The exit-code of the process or null if it's not running */ @@ -910,7 +914,7 @@ class Process implements \IteratorAggregate * * @internal */ - public function addOutput(string $line) + public function addOutput(string $line): void { $this->lastOutputTime = microtime(true); @@ -924,7 +928,7 @@ class Process implements \IteratorAggregate * * @internal */ - public function addErrorOutput(string $line) + public function addErrorOutput(string $line): void { $this->lastOutputTime = microtime(true); @@ -1138,6 +1142,8 @@ class Process implements \IteratorAggregate * In case you run a background process (with the start method), you should * trigger this method regularly to ensure the process timeout * + * @return void + * * @throws ProcessTimedOutException In case the timeout was reached */ public function checkTimeout() @@ -1178,6 +1184,8 @@ class Process implements \IteratorAggregate * * Enabling the "create_new_console" option allows a subprocess to continue * to run after the main process exited, on both Windows and *nix + * + * @return void */ public function setOptions(array $options) { @@ -1253,9 +1261,7 @@ class Process implements \IteratorAggregate protected function buildCallback(callable $callback = null): \Closure { if ($this->outputDisabled) { - return function ($type, $data) use ($callback): bool { - return null !== $callback && $callback($type, $data); - }; + return fn ($type, $data): bool => null !== $callback && $callback($type, $data); } $out = self::OUT; @@ -1275,6 +1281,8 @@ class Process implements \IteratorAggregate * Updates the status of the process, reads pipes. * * @param bool $blocking Whether to use a blocking read call + * + * @return void */ protected function updateStatus(bool $blocking) { @@ -1323,7 +1331,7 @@ class Process implements \IteratorAggregate * * @throws LogicException in case output has been disabled or process is not started */ - private function readPipesForOutput(string $caller, bool $blocking = false) + private function readPipesForOutput(string $caller, bool $blocking = false): void { if ($this->outputDisabled) { throw new LogicException('Output has been disabled.'); @@ -1358,7 +1366,7 @@ class Process implements \IteratorAggregate * @param bool $blocking Whether to use blocking calls or not * @param bool $close Whether to close file handles or not */ - private function readPipes(bool $blocking, bool $close) + private function readPipes(bool $blocking, bool $close): void { $result = $this->processPipes->readAndWrite($blocking, $close); @@ -1407,7 +1415,7 @@ class Process implements \IteratorAggregate /** * Resets data related to the latest run of the process. */ - private function resetProcessData() + private function resetProcessData(): void { $this->starttime = null; $this->callback = null; @@ -1480,8 +1488,6 @@ class Process implements \IteratorAggregate private function prepareWindowsCommandLine(string $cmd, array &$env): string { $uid = uniqid('', true); - $varCount = 0; - $varCache = []; $cmd = preg_replace_callback( '/"(?:( [^"%!^]*+ @@ -1490,7 +1496,9 @@ class Process implements \IteratorAggregate [^"%!^]*+ )++ ) | [^"]*+ )"/x', - function ($m) use (&$env, &$varCache, &$varCount, $uid) { + function ($m) use (&$env, $uid) { + static $varCount = 0; + static $varCache = []; if (!isset($m[1])) { return $m[0]; } @@ -1528,7 +1536,7 @@ class Process implements \IteratorAggregate * * @throws LogicException if the process has not run */ - private function requireProcessIsStarted(string $functionName) + private function requireProcessIsStarted(string $functionName): void { if (!$this->isStarted()) { throw new LogicException(sprintf('Process must be started before calling "%s()".', $functionName)); @@ -1540,7 +1548,7 @@ class Process implements \IteratorAggregate * * @throws LogicException if the process is not yet terminated */ - private function requireProcessIsTerminated(string $functionName) + private function requireProcessIsTerminated(string $functionName): void { if (!$this->isTerminated()) { throw new LogicException(sprintf('Process must be terminated before calling "%s()".', $functionName)); @@ -1569,7 +1577,7 @@ class Process implements \IteratorAggregate return '"'.str_replace(['"', '^', '%', '!', "\n"], ['""', '"^^"', '"^%"', '"^!"', '!LF!'], $argument).'"'; } - private function replacePlaceholders(string $commandline, array $env) + private function replacePlaceholders(string $commandline, array $env): string { return preg_replace_callback('/"\$\{:([_a-zA-Z]++[_a-zA-Z0-9]*+)\}"/', function ($matches) use ($commandline, $env) { if (!isset($env[$matches[1]]) || false === $env[$matches[1]]) { diff --git a/src/ncc/ThirdParty/Symfony/Process/README.md b/src/ncc/ThirdParty/Symfony/Process/README.md index a371d28..afce5e4 100644 --- a/src/ncc/ThirdParty/Symfony/Process/README.md +++ b/src/ncc/ThirdParty/Symfony/Process/README.md @@ -3,17 +3,6 @@ Process Component The Process component executes commands in sub-processes. -Sponsor -------- - -The Process component for Symfony 6.1 is [backed][1] by [SensioLabs][2]. - -As the creator of Symfony, SensioLabs supports companies using Symfony, with an -offering encompassing consultancy, expertise, services, training, and technical -assistance to ensure the success of web application development projects. - -Help Symfony by [sponsoring][3] its development! - Resources --------- @@ -22,7 +11,3 @@ Resources * [Report issues](https://github.com/symfony/symfony/issues) and [send Pull Requests](https://github.com/symfony/symfony/pulls) in the [main Symfony repository](https://github.com/symfony/symfony) - -[1]: https://symfony.com/backers -[2]: https://sensiolabs.com -[3]: https://symfony.com/sponsor diff --git a/src/ncc/ThirdParty/Symfony/Process/VERSION b/src/ncc/ThirdParty/Symfony/Process/VERSION index 03825cd..9152abb 100644 --- a/src/ncc/ThirdParty/Symfony/Process/VERSION +++ b/src/ncc/ThirdParty/Symfony/Process/VERSION @@ -1 +1 @@ -6.2.5 \ No newline at end of file +6.3.4 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUlidCommand.php b/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUlidCommand.php index b69f1d6..88e3c85 100644 --- a/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUlidCommand.php +++ b/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUlidCommand.php @@ -25,12 +25,6 @@ use ncc\ThirdParty\Symfony\Uid\Factory\UlidFactory; #[AsCommand(name: 'ulid:generate', description: 'Generate a ULID')] class GenerateUlidCommand extends Command { - private const FORMAT_OPTIONS = [ - 'base32', - 'base58', - 'rfc4122', - ]; - private UlidFactory $factory; public function __construct(UlidFactory $factory = null) @@ -46,7 +40,7 @@ class GenerateUlidCommand extends Command ->setDefinition([ new InputOption('time', null, InputOption::VALUE_REQUIRED, 'The ULID timestamp: a parsable date/time string'), new InputOption('count', 'c', InputOption::VALUE_REQUIRED, 'The number of ULID to generate', 1), - new InputOption('format', 'f', InputOption::VALUE_REQUIRED, 'The ULID output format: base32, base58 or rfc4122', 'base32'), + new InputOption('format', 'f', InputOption::VALUE_REQUIRED, sprintf('The ULID output format ("%s")', implode('", "', $this->getAvailableFormatOptions())), 'base32'), ]) ->setHelp(<<<'EOF' The %command.name% command generates a ULID. @@ -85,10 +79,10 @@ EOF $formatOption = $input->getOption('format'); - if (\in_array($formatOption, self::FORMAT_OPTIONS)) { + if (\in_array($formatOption, $this->getAvailableFormatOptions())) { $format = 'to'.ucfirst($formatOption); } else { - $io->error(sprintf('Invalid format "%s", did you mean "base32", "base58" or "rfc4122"?', $input->getOption('format'))); + $io->error(sprintf('Invalid format "%s", supported formats are "%s".', $formatOption, implode('", "', $this->getAvailableFormatOptions()))); return 1; } @@ -110,7 +104,16 @@ EOF public function complete(CompletionInput $input, CompletionSuggestions $suggestions): void { if ($input->mustSuggestOptionValuesFor('format')) { - $suggestions->suggestValues(self::FORMAT_OPTIONS); + $suggestions->suggestValues($this->getAvailableFormatOptions()); } } + + private function getAvailableFormatOptions(): array + { + return [ + 'base32', + 'base58', + 'rfc4122', + ]; + } } diff --git a/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUuidCommand.php b/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUuidCommand.php index dc6ce99..6032f34 100644 --- a/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUuidCommand.php +++ b/src/ncc/ThirdParty/Symfony/Uid/Command/GenerateUuidCommand.php @@ -45,7 +45,7 @@ class GenerateUuidCommand extends Command new InputOption('namespace', null, InputOption::VALUE_REQUIRED, 'The UUID to use at the namespace for named-based UUIDs, predefined namespaces keywords "dns", "url", "oid" and "x500" are accepted'), new InputOption('random-based', null, InputOption::VALUE_NONE, 'To generate a random-based UUID'), new InputOption('count', 'c', InputOption::VALUE_REQUIRED, 'The number of UUID to generate', 1), - new InputOption('format', 'f', InputOption::VALUE_REQUIRED, 'The UUID output format: rfc4122, base58 or base32', 'rfc4122'), + new InputOption('format', 'f', InputOption::VALUE_REQUIRED, sprintf('The UUID output format ("%s")', implode('", "', $this->getAvailableFormatOptions())), 'rfc4122'), ]) ->setHelp(<<<'EOF' The %command.name% generates a UUID. @@ -132,9 +132,7 @@ EOF return 1; } - $create = function () use ($node, $time): Uuid { - return $this->factory->timeBased($node)->create(new \DateTimeImmutable($time)); - }; + $create = fn (): Uuid => $this->factory->timeBased($node)->create(new \DateTimeImmutable($time)); break; case null !== $name: @@ -173,7 +171,7 @@ EOF if (\in_array($formatOption, $this->getAvailableFormatOptions())) { $format = 'to'.ucfirst($formatOption); } else { - $io->error(sprintf('Invalid format "%s", did you mean "base32", "base58" or "rfc4122"?', $formatOption)); + $io->error(sprintf('Invalid format "%s", supported formats are "%s".', $formatOption, implode('", "', $this->getAvailableFormatOptions()))); return 1; } diff --git a/src/ncc/ThirdParty/Symfony/Uid/LICENSE b/src/ncc/ThirdParty/Symfony/Uid/LICENSE index 0f262c2..0ed3a24 100644 --- a/src/ncc/ThirdParty/Symfony/Uid/LICENSE +++ b/src/ncc/ThirdParty/Symfony/Uid/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2020-2023 Fabien Potencier +Copyright (c) 2020-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/Uid/VERSION b/src/ncc/ThirdParty/Symfony/Uid/VERSION index 03825cd..2319a69 100644 --- a/src/ncc/ThirdParty/Symfony/Uid/VERSION +++ b/src/ncc/ThirdParty/Symfony/Uid/VERSION @@ -1 +1 @@ -6.2.5 \ No newline at end of file +6.3.5 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/Yaml/CHANGELOG.md b/src/ncc/ThirdParty/Symfony/Yaml/CHANGELOG.md index 50852cb..0c2021f 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/CHANGELOG.md +++ b/src/ncc/ThirdParty/Symfony/Yaml/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +6.3 +--- + + * Add support to dump int keys as strings by using the `Yaml::DUMP_NUMERIC_KEY_AS_STRING` flag + 6.2 --- diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Command/LintCommand.php b/src/ncc/ThirdParty/Symfony/Yaml/Command/LintCommand.php index ba76e7d..8833f9f 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Command/LintCommand.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Command/LintCommand.php @@ -50,11 +50,14 @@ class LintCommand extends Command $this->isReadableProvider = null === $isReadableProvider ? null : $isReadableProvider(...); } + /** + * @return void + */ protected function configure() { $this ->addArgument('filename', InputArgument::IS_ARRAY, 'A file, a directory or "-" for reading from STDIN') - ->addOption('format', null, InputOption::VALUE_REQUIRED, 'The output format') + ->addOption('format', null, InputOption::VALUE_REQUIRED, sprintf('The output format ("%s")', implode('", "', $this->getAvailableFormatOptions()))) ->addOption('exclude', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Path(s) to exclude') ->addOption('parse-tags', null, InputOption::VALUE_NEGATABLE, 'Parse custom tags', null) ->setHelp(<<format = $input->getOption('format'); $flags = $input->getOption('parse-tags'); - if ('github' === $this->format && !class_exists(GithubActionReporter::class)) { - throw new \InvalidArgumentException('The "github" format is only available since "symfony/console" >= 5.3.'); - } - if (null === $this->format) { // Autodetect format according to CI environment $this->format = class_exists(GithubActionReporter::class) && GithubActionReporter::isGithubActionEnvironment() ? 'github' : 'txt'; @@ -128,7 +127,7 @@ EOF return $this->display($io, $filesInfo); } - private function validate(string $content, int $flags, string $file = null) + private function validate(string $content, int $flags, string $file = null): array { $prevErrorHandler = set_error_handler(function ($level, $message, $file, $line) use (&$prevErrorHandler) { if (\E_USER_DEPRECATED === $level) { @@ -155,7 +154,7 @@ EOF 'txt' => $this->displayTxt($io, $files), 'json' => $this->displayJson($io, $files), 'github' => $this->displayTxt($io, $files, true), - default => throw new InvalidArgumentException(sprintf('The format "%s" is not supported.', $this->format)), + default => throw new InvalidArgumentException(sprintf('Supported formats are "%s".', implode('", "', $this->getAvailableFormatOptions()))), }; } @@ -240,12 +239,10 @@ EOF private function getDirectoryIterator(string $directory): iterable { - $default = function ($directory) { - return new \RecursiveIteratorIterator( - new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS), - \RecursiveIteratorIterator::LEAVES_ONLY - ); - }; + $default = fn ($directory) => new \RecursiveIteratorIterator( + new \RecursiveDirectoryIterator($directory, \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS), + \RecursiveIteratorIterator::LEAVES_ONLY + ); if (null !== $this->directoryIteratorProvider) { return ($this->directoryIteratorProvider)($directory, $default); @@ -256,9 +253,7 @@ EOF private function isReadable(string $fileOrDirectory): bool { - $default = function ($fileOrDirectory) { - return is_readable($fileOrDirectory); - }; + $default = is_readable(...); if (null !== $this->isReadableProvider) { return ($this->isReadableProvider)($fileOrDirectory, $default); @@ -270,7 +265,12 @@ EOF public function complete(CompletionInput $input, CompletionSuggestions $suggestions): void { if ($input->mustSuggestOptionValuesFor('format')) { - $suggestions->suggestValues(['txt', 'json', 'github']); + $suggestions->suggestValues($this->getAvailableFormatOptions()); } } + + private function getAvailableFormatOptions(): array + { + return ['txt', 'json', 'github']; + } } diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Dumper.php b/src/ncc/ThirdParty/Symfony/Yaml/Dumper.php index b451cc1..6b4bb1e 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Dumper.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Dumper.php @@ -66,10 +66,12 @@ class Dumper $output .= "\n"; } + if (\is_int($key) && Yaml::DUMP_NUMERIC_KEY_AS_STRING & $flags) { + $key = (string) $key; + } + if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value) && str_contains($value, "\n") && !str_contains($value, "\r")) { - // If the first line starts with a space character, the spec requires a blockIndicationIndicator - // http://www.yaml.org/spec/1.2/spec.html#id2793979 - $blockIndentationIndicator = str_starts_with($value, ' ') ? (string) $this->indentation : ''; + $blockIndentationIndicator = $this->getBlockIndentationIndicator($value); if (isset($value[-2]) && "\n" === $value[-2] && "\n" === $value[-1]) { $blockChompingIndicator = '+'; @@ -96,9 +98,7 @@ class Dumper $output .= sprintf('%s%s !%s', $prefix, $dumpAsMap ? Inline::dump($key, $flags).':' : '-', $value->getTag()); if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && str_contains($value->getValue(), "\n") && !str_contains($value->getValue(), "\r\n")) { - // If the first line starts with a space character, the spec requires a blockIndicationIndicator - // http://www.yaml.org/spec/1.2/spec.html#id2793979 - $blockIndentationIndicator = str_starts_with($value->getValue(), ' ') ? (string) $this->indentation : ''; + $blockIndentationIndicator = $this->getBlockIndentationIndicator($value->getValue()); $output .= sprintf(' |%s', $blockIndentationIndicator); foreach (explode("\n", $value->getValue()) as $row) { @@ -142,10 +142,8 @@ class Dumper { $output = sprintf('%s!%s', $prefix ? $prefix.' ' : '', $value->getTag()); - if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && false !== strpos($value->getValue(), "\n") && false === strpos($value->getValue(), "\r\n")) { - // If the first line starts with a space character, the spec requires a blockIndicationIndicator - // http://www.yaml.org/spec/1.2/spec.html#id2793979 - $blockIndentationIndicator = (' ' === substr($value->getValue(), 0, 1)) ? (string) $this->indentation : ''; + if (Yaml::DUMP_MULTI_LINE_LITERAL_BLOCK & $flags && \is_string($value->getValue()) && str_contains($value->getValue(), "\n") && !str_contains($value->getValue(), "\r\n")) { + $blockIndentationIndicator = $this->getBlockIndentationIndicator($value->getValue()); $output .= sprintf(' |%s', $blockIndentationIndicator); foreach (explode("\n", $value->getValue()) as $row) { @@ -161,4 +159,20 @@ class Dumper return $output."\n".$this->dump($value->getValue(), $inline - 1, $indent, $flags); } + + private function getBlockIndentationIndicator(string $value): string + { + $lines = explode("\n", $value); + + // If the first line (that is neither empty nor contains only spaces) + // starts with a space character, the spec requires a block indentation indicator + // http://www.yaml.org/spec/1.2/spec.html#id2793979 + foreach ($lines as $line) { + if ('' !== trim($line, ' ')) { + return (' ' === substr($line, 0, 1)) ? (string) $this->indentation : ''; + } + } + + return ''; + } } diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Exception/ParseException.php b/src/ncc/ThirdParty/Symfony/Yaml/Exception/ParseException.php index 88b10b7..64b9397 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Exception/ParseException.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Exception/ParseException.php @@ -51,6 +51,8 @@ class ParseException extends RuntimeException /** * Sets the snippet of code near the error. + * + * @return void */ public function setSnippet(string $snippet) { @@ -71,6 +73,8 @@ class ParseException extends RuntimeException /** * Sets the filename where the error occurred. + * + * @return void */ public function setParsedFile(string $parsedFile) { @@ -89,6 +93,8 @@ class ParseException extends RuntimeException /** * Sets the line where the error occurred. + * + * @return void */ public function setParsedLine(int $parsedLine) { @@ -97,7 +103,7 @@ class ParseException extends RuntimeException $this->updateRepr(); } - private function updateRepr() + private function updateRepr(): void { $this->message = $this->rawMessage; diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Inline.php b/src/ncc/ThirdParty/Symfony/Yaml/Inline.php index 3130aa6..9fd7306 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Inline.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Inline.php @@ -34,7 +34,7 @@ class Inline private static bool $objectForMap = false; private static bool $constantSupport = false; - public static function initialize(int $flags, int $parsedLineNumber = null, string $parsedFilename = null) + public static function initialize(int $flags, int $parsedLineNumber = null, string $parsedFilename = null): void { self::$exceptionOnInvalidType = (bool) (Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE & $flags); self::$objectSupport = (bool) (Yaml::PARSE_OBJECT & $flags); @@ -110,7 +110,11 @@ class Inline return self::dumpNull($flags); case $value instanceof \DateTimeInterface: - return $value->format('c'); + return $value->format(match (true) { + !$length = \strlen(rtrim($value->format('u'), '0')) => 'c', + $length < 4 => 'Y-m-d\TH:i:s.vP', + default => 'Y-m-d\TH:i:s.uP', + }); case $value instanceof \UnitEnum: return sprintf('!php/const %s::%s', $value::class, $value->name); case \is_object($value): @@ -239,6 +243,10 @@ class Inline { $output = []; foreach ($value as $key => $val) { + if (\is_int($key) && Yaml::DUMP_NUMERIC_KEY_AS_STRING & $flags) { + $key = (string) $key; + } + $output[] = sprintf('%s: %s', self::dump($key, $flags), self::dump($val, $flags)); } @@ -708,6 +716,10 @@ class Inline return $time; } + if ('' !== rtrim($time->format('u'), '0')) { + return (float) $time->format('U.u'); + } + try { if (false !== $scalar = $time->getTimestamp()) { return $scalar; diff --git a/src/ncc/ThirdParty/Symfony/Yaml/LICENSE b/src/ncc/ThirdParty/Symfony/Yaml/LICENSE index 0083704..0138f8f 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/LICENSE +++ b/src/ncc/ThirdParty/Symfony/Yaml/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2023 Fabien Potencier +Copyright (c) 2004-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Parser.php b/src/ncc/ThirdParty/Symfony/Yaml/Parser.php index 73a2268..863375e 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Parser.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Parser.php @@ -99,7 +99,7 @@ class Parser return $data; } - private function doParse(string $value, int $flags) + private function doParse(string $value, int $flags): mixed { $this->currentLineNb = -1; $this->currentLine = ''; @@ -503,7 +503,7 @@ class Parser return empty($data) ? null : $data; } - private function parseBlock(int $offset, string $yaml, int $flags) + private function parseBlock(int $offset, string $yaml, int $flags): mixed { $skippedLineNumbers = $this->skippedLineNumbers; @@ -844,8 +844,8 @@ class Parser while ( $notEOF && ( - $isCurrentLineBlank || - self::preg_match($pattern, $this->currentLine, $matches) + $isCurrentLineBlank + || self::preg_match($pattern, $this->currentLine, $matches) ) ) { if ($isCurrentLineBlank && \strlen($this->currentLine) > $indentation) { diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Tag/TaggedValue.php b/src/ncc/ThirdParty/Symfony/Yaml/Tag/TaggedValue.php index 73b313e..6fb607c 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Tag/TaggedValue.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Tag/TaggedValue.php @@ -31,7 +31,7 @@ final class TaggedValue return $this->tag; } - public function getValue() + public function getValue(): mixed { return $this->value; } diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Unescaper.php b/src/ncc/ThirdParty/Symfony/Yaml/Unescaper.php index c3d9ca1..6bb9406 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Unescaper.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Unescaper.php @@ -45,9 +45,7 @@ class Unescaper */ public function unescapeDoubleQuotedString(string $value): string { - $callback = function ($match) { - return $this->unescapeCharacter($match[0]); - }; + $callback = fn ($match) => $this->unescapeCharacter($match[0]); // evaluate the string return preg_replace_callback('/'.self::REGEX_ESCAPED_CHARACTER.'/u', $callback, $value); diff --git a/src/ncc/ThirdParty/Symfony/Yaml/VERSION b/src/ncc/ThirdParty/Symfony/Yaml/VERSION index 03825cd..d9b300f 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/VERSION +++ b/src/ncc/ThirdParty/Symfony/Yaml/VERSION @@ -1 +1 @@ -6.2.5 \ No newline at end of file +6.3.3 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/Yaml/Yaml.php b/src/ncc/ThirdParty/Symfony/Yaml/Yaml.php index 7c9b14e..5dea921 100644 --- a/src/ncc/ThirdParty/Symfony/Yaml/Yaml.php +++ b/src/ncc/ThirdParty/Symfony/Yaml/Yaml.php @@ -34,6 +34,7 @@ class Yaml public const PARSE_CUSTOM_TAGS = 512; public const DUMP_EMPTY_ARRAY_AS_SEQUENCE = 1024; public const DUMP_NULL_AS_TILDE = 2048; + public const DUMP_NUMERIC_KEY_AS_STRING = 4096; /** * Parses a YAML file into a PHP value. diff --git a/src/ncc/ThirdParty/Symfony/polyfill-ctype/VERSION b/src/ncc/ThirdParty/Symfony/polyfill-ctype/VERSION deleted file mode 100644 index e43da41..0000000 --- a/src/ncc/ThirdParty/Symfony/polyfill-ctype/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.27.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/VERSION b/src/ncc/ThirdParty/Symfony/polyfill-mbstring/VERSION deleted file mode 100644 index e43da41..0000000 --- a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.27.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/polyfill-uuid/VERSION b/src/ncc/ThirdParty/Symfony/polyfill-uuid/VERSION deleted file mode 100644 index e43da41..0000000 --- a/src/ncc/ThirdParty/Symfony/polyfill-uuid/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.27.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/polyfill-ctype/Ctype.php b/src/ncc/ThirdParty/Symfony/polyfill_ctype/Ctype.php similarity index 99% rename from src/ncc/ThirdParty/Symfony/polyfill-ctype/Ctype.php rename to src/ncc/ThirdParty/Symfony/polyfill_ctype/Ctype.php index 52ccc99..9963f55 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-ctype/Ctype.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_ctype/Ctype.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace ncc\ThirdParty\Symfony\ctype; +namespace ncc\ThirdParty\Symfony\polyfill_ctype; /** * Ctype implementation through regex. diff --git a/src/ncc/ThirdParty/Symfony/polyfill-ctype/LICENSE b/src/ncc/ThirdParty/Symfony/polyfill_ctype/LICENSE similarity index 95% rename from src/ncc/ThirdParty/Symfony/polyfill-ctype/LICENSE rename to src/ncc/ThirdParty/Symfony/polyfill_ctype/LICENSE index 3f853aa..7536cae 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-ctype/LICENSE +++ b/src/ncc/ThirdParty/Symfony/polyfill_ctype/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2019 Fabien Potencier +Copyright (c) 2018-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/polyfill-ctype/README.md b/src/ncc/ThirdParty/Symfony/polyfill_ctype/README.md similarity index 100% rename from src/ncc/ThirdParty/Symfony/polyfill-ctype/README.md rename to src/ncc/ThirdParty/Symfony/polyfill_ctype/README.md diff --git a/src/ncc/ThirdParty/Symfony/polyfill_ctype/VERSION b/src/ncc/ThirdParty/Symfony/polyfill_ctype/VERSION new file mode 100644 index 0000000..3c71e47 --- /dev/null +++ b/src/ncc/ThirdParty/Symfony/polyfill_ctype/VERSION @@ -0,0 +1 @@ +1.28.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/polyfill-ctype/bootstrap.php b/src/ncc/ThirdParty/Symfony/polyfill_ctype/bootstrap.php similarity index 97% rename from src/ncc/ThirdParty/Symfony/polyfill-ctype/bootstrap.php rename to src/ncc/ThirdParty/Symfony/polyfill_ctype/bootstrap.php index ac40fdf..06e1b95 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-ctype/bootstrap.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_ctype/bootstrap.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use ncc\ThirdParty\Symfony\ctype as p; +use ncc\ThirdParty\Symfony\polyfill_ctype as p; if (\PHP_VERSION_ID >= 80000) { return require __DIR__.'/bootstrap80.php'; diff --git a/src/ncc/ThirdParty/Symfony/polyfill-ctype/bootstrap80.php b/src/ncc/ThirdParty/Symfony/polyfill_ctype/bootstrap80.php similarity index 97% rename from src/ncc/ThirdParty/Symfony/polyfill-ctype/bootstrap80.php rename to src/ncc/ThirdParty/Symfony/polyfill_ctype/bootstrap80.php index 3b4c5dd..ec1ed5f 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-ctype/bootstrap80.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_ctype/bootstrap80.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use ncc\ThirdParty\Symfony\ctype as p; +use ncc\ThirdParty\Symfony\polyfill_ctype as p; if (!function_exists('ctype_alnum')) { function ctype_alnum(mixed $text): bool { return p\Ctype::ctype_alnum($text); } diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/LICENSE b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/LICENSE similarity index 95% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/LICENSE rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/LICENSE index 4cd8bdd..6e3afce 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/LICENSE +++ b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2015-2019 Fabien Potencier +Copyright (c) 2015-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/Mbstring.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Mbstring.php similarity index 88% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/Mbstring.php rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/Mbstring.php index 89e8256..481ca56 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/Mbstring.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Mbstring.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace ncc\ThirdParty\Symfony\mbstring; +namespace ncc\ThirdParty\Symfony\polyfill_mbstring; /** * Partial mbstring implementation in PHP, iconv based, UTF-8 centric. @@ -69,7 +69,7 @@ final class Mbstring { public const MB_CASE_FOLD = \PHP_INT_MAX; - private const CASE_FOLD = [ + private const SIMPLE_CASE_FOLD = [ ['µ', 'ſ', "\xCD\x85", 'ς', "\xCF\x90", "\xCF\x91", "\xCF\x95", "\xCF\x96", "\xCF\xB0", "\xCF\xB1", "\xCF\xB5", "\xE1\xBA\x9B", "\xE1\xBE\xBE"], ['μ', 's', 'ι', 'σ', 'β', 'θ', 'φ', 'π', 'κ', 'ρ', 'ε', "\xE1\xB9\xA1", 'ι'], ]; @@ -301,7 +301,11 @@ final class Mbstring $map = $upper; } else { if (self::MB_CASE_FOLD === $mode) { - $s = str_replace(self::CASE_FOLD[0], self::CASE_FOLD[1], $s); + static $caseFolding = null; + if (null === $caseFolding) { + $caseFolding = self::getData('caseFolding'); + } + $s = strtr($s, $caseFolding); } static $lower = null; @@ -406,6 +410,12 @@ final class Mbstring public static function mb_check_encoding($var = null, $encoding = null) { + if (PHP_VERSION_ID < 70200 && \is_array($var)) { + trigger_error('mb_check_encoding() expects parameter 1 to be string, array given', \E_USER_WARNING); + + return null; + } + if (null === $encoding) { if (null === $var) { return false; @@ -413,7 +423,21 @@ final class Mbstring $encoding = self::$internalEncoding; } - return self::mb_detect_encoding($var, [$encoding]) || false !== @iconv($encoding, $encoding, $var); + if (!\is_array($var)) { + return self::mb_detect_encoding($var, [$encoding]) || false !== @iconv($encoding, $encoding, $var); + } + + foreach ($var as $key => $value) { + if (!self::mb_check_encoding($key, $encoding)) { + return false; + } + if (!self::mb_check_encoding($value, $encoding)) { + return false; + } + } + + return true; + } public static function mb_detect_encoding($str, $encodingList = null, $strict = false) @@ -638,8 +662,10 @@ final class Mbstring public static function mb_stripos($haystack, $needle, $offset = 0, $encoding = null) { - $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); - $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); + [$haystack, $needle] = str_replace(self::SIMPLE_CASE_FOLD[0], self::SIMPLE_CASE_FOLD[1], [ + self::mb_convert_case($haystack, \MB_CASE_LOWER, $encoding), + self::mb_convert_case($needle, \MB_CASE_LOWER, $encoding), + ]); return self::mb_strpos($haystack, $needle, $offset, $encoding); } @@ -674,8 +700,11 @@ final class Mbstring public static function mb_strripos($haystack, $needle, $offset = 0, $encoding = null) { - $haystack = self::mb_convert_case($haystack, self::MB_CASE_FOLD, $encoding); - $needle = self::mb_convert_case($needle, self::MB_CASE_FOLD, $encoding); + $haystack = self::mb_convert_case($haystack, \MB_CASE_LOWER, $encoding); + $needle = self::mb_convert_case($needle, \MB_CASE_LOWER, $encoding); + + $haystack = str_replace(self::SIMPLE_CASE_FOLD[0], self::SIMPLE_CASE_FOLD[1], $haystack); + $needle = str_replace(self::SIMPLE_CASE_FOLD[0], self::SIMPLE_CASE_FOLD[1], $needle); return self::mb_strrpos($haystack, $needle, $offset, $encoding); } @@ -798,6 +827,50 @@ final class Mbstring return $code; } + public static function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = \STR_PAD_RIGHT, string $encoding = null): string + { + if (!\in_array($pad_type, [\STR_PAD_RIGHT, \STR_PAD_LEFT, \STR_PAD_BOTH], true)) { + throw new \ValueError('mb_str_pad(): Argument #4 ($pad_type) must be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH'); + } + + if (null === $encoding) { + $encoding = self::mb_internal_encoding(); + } + + try { + $validEncoding = @self::mb_check_encoding('', $encoding); + } catch (\ValueError $e) { + throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding)); + } + + // BC for PHP 7.3 and lower + if (!$validEncoding) { + throw new \ValueError(sprintf('mb_str_pad(): Argument #5 ($encoding) must be a valid encoding, "%s" given', $encoding)); + } + + if (self::mb_strlen($pad_string, $encoding) <= 0) { + throw new \ValueError('mb_str_pad(): Argument #3 ($pad_string) must be a non-empty string'); + } + + $paddingRequired = $length - self::mb_strlen($string, $encoding); + + if ($paddingRequired < 1) { + return $string; + } + + switch ($pad_type) { + case \STR_PAD_LEFT: + return self::mb_substr(str_repeat($pad_string, $paddingRequired), 0, $paddingRequired, $encoding).$string; + case \STR_PAD_RIGHT: + return $string.self::mb_substr(str_repeat($pad_string, $paddingRequired), 0, $paddingRequired, $encoding); + default: + $leftPaddingLength = floor($paddingRequired / 2); + $rightPaddingLength = $paddingRequired - $leftPaddingLength; + + return self::mb_substr(str_repeat($pad_string, $leftPaddingLength), 0, $leftPaddingLength, $encoding).$string.self::mb_substr(str_repeat($pad_string, $rightPaddingLength), 0, $rightPaddingLength, $encoding); + } + } + private static function getSubpart($pos, $part, $haystack, $encoding) { if (false === $pos) { diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/README.md b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/README.md similarity index 100% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/README.md rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/README.md diff --git a/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/caseFolding.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/caseFolding.php new file mode 100644 index 0000000..512bba0 --- /dev/null +++ b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/caseFolding.php @@ -0,0 +1,119 @@ + 'i̇', + 'µ' => 'μ', + 'ſ' => 's', + 'ͅ' => 'ι', + 'ς' => 'σ', + 'ϐ' => 'β', + 'ϑ' => 'θ', + 'ϕ' => 'φ', + 'ϖ' => 'π', + 'ϰ' => 'κ', + 'ϱ' => 'ρ', + 'ϵ' => 'ε', + 'ẛ' => 'ṡ', + 'ι' => 'ι', + 'ß' => 'ss', + 'ʼn' => 'ʼn', + 'ǰ' => 'ǰ', + 'ΐ' => 'ΐ', + 'ΰ' => 'ΰ', + 'և' => 'եւ', + 'ẖ' => 'ẖ', + 'ẗ' => 'ẗ', + 'ẘ' => 'ẘ', + 'ẙ' => 'ẙ', + 'ẚ' => 'aʾ', + 'ẞ' => 'ss', + 'ὐ' => 'ὐ', + 'ὒ' => 'ὒ', + 'ὔ' => 'ὔ', + 'ὖ' => 'ὖ', + 'ᾀ' => 'ἀι', + 'ᾁ' => 'ἁι', + 'ᾂ' => 'ἂι', + 'ᾃ' => 'ἃι', + 'ᾄ' => 'ἄι', + 'ᾅ' => 'ἅι', + 'ᾆ' => 'ἆι', + 'ᾇ' => 'ἇι', + 'ᾈ' => 'ἀι', + 'ᾉ' => 'ἁι', + 'ᾊ' => 'ἂι', + 'ᾋ' => 'ἃι', + 'ᾌ' => 'ἄι', + 'ᾍ' => 'ἅι', + 'ᾎ' => 'ἆι', + 'ᾏ' => 'ἇι', + 'ᾐ' => 'ἠι', + 'ᾑ' => 'ἡι', + 'ᾒ' => 'ἢι', + 'ᾓ' => 'ἣι', + 'ᾔ' => 'ἤι', + 'ᾕ' => 'ἥι', + 'ᾖ' => 'ἦι', + 'ᾗ' => 'ἧι', + 'ᾘ' => 'ἠι', + 'ᾙ' => 'ἡι', + 'ᾚ' => 'ἢι', + 'ᾛ' => 'ἣι', + 'ᾜ' => 'ἤι', + 'ᾝ' => 'ἥι', + 'ᾞ' => 'ἦι', + 'ᾟ' => 'ἧι', + 'ᾠ' => 'ὠι', + 'ᾡ' => 'ὡι', + 'ᾢ' => 'ὢι', + 'ᾣ' => 'ὣι', + 'ᾤ' => 'ὤι', + 'ᾥ' => 'ὥι', + 'ᾦ' => 'ὦι', + 'ᾧ' => 'ὧι', + 'ᾨ' => 'ὠι', + 'ᾩ' => 'ὡι', + 'ᾪ' => 'ὢι', + 'ᾫ' => 'ὣι', + 'ᾬ' => 'ὤι', + 'ᾭ' => 'ὥι', + 'ᾮ' => 'ὦι', + 'ᾯ' => 'ὧι', + 'ᾲ' => 'ὰι', + 'ᾳ' => 'αι', + 'ᾴ' => 'άι', + 'ᾶ' => 'ᾶ', + 'ᾷ' => 'ᾶι', + 'ᾼ' => 'αι', + 'ῂ' => 'ὴι', + 'ῃ' => 'ηι', + 'ῄ' => 'ήι', + 'ῆ' => 'ῆ', + 'ῇ' => 'ῆι', + 'ῌ' => 'ηι', + 'ῒ' => 'ῒ', + 'ῖ' => 'ῖ', + 'ῗ' => 'ῗ', + 'ῢ' => 'ῢ', + 'ῤ' => 'ῤ', + 'ῦ' => 'ῦ', + 'ῧ' => 'ῧ', + 'ῲ' => 'ὼι', + 'ῳ' => 'ωι', + 'ῴ' => 'ώι', + 'ῶ' => 'ῶ', + 'ῷ' => 'ῶι', + 'ῼ' => 'ωι', + 'ff' => 'ff', + 'fi' => 'fi', + 'fl' => 'fl', + 'ffi' => 'ffi', + 'ffl' => 'ffl', + 'ſt' => 'st', + 'st' => 'st', + 'ﬓ' => 'մն', + 'ﬔ' => 'մե', + 'ﬕ' => 'մի', + 'ﬖ' => 'վն', + 'ﬗ' => 'մխ', +]; diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/Resources/unidata/lowerCase.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/lowerCase.php similarity index 100% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/Resources/unidata/lowerCase.php rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/lowerCase.php diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/titleCaseRegexp.php similarity index 100% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/titleCaseRegexp.php diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/Resources/unidata/upperCase.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/upperCase.php similarity index 100% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/Resources/unidata/upperCase.php rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/Resources/unidata/upperCase.php diff --git a/src/ncc/ThirdParty/Symfony/polyfill_mbstring/VERSION b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/VERSION new file mode 100644 index 0000000..3c71e47 --- /dev/null +++ b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/VERSION @@ -0,0 +1 @@ +1.28.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/bootstrap.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/bootstrap.php similarity index 95% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/bootstrap.php rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/bootstrap.php index 9d186de..c6da82a 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/bootstrap.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/bootstrap.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use ncc\ThirdParty\Symfony\mbstring as p; +use ncc\ThirdParty\Symfony\polyfill_mbstring as p; if (\PHP_VERSION_ID >= 80000) { return require __DIR__.'/bootstrap80.php'; @@ -132,6 +132,10 @@ if (!function_exists('mb_str_split')) { function mb_str_split($string, $length = 1, $encoding = null) { return p\Mbstring::mb_str_split($string, $length, $encoding); } } +if (!function_exists('mb_str_pad')) { + function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); } +} + if (extension_loaded('mbstring')) { return; } diff --git a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/bootstrap80.php b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/bootstrap80.php similarity index 96% rename from src/ncc/ThirdParty/Symfony/polyfill-mbstring/bootstrap80.php rename to src/ncc/ThirdParty/Symfony/polyfill_mbstring/bootstrap80.php index 9ec884a..f6a3f2b 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-mbstring/bootstrap80.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_mbstring/bootstrap80.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use ncc\ThirdParty\Symfony\mbstring as p; +use ncc\ThirdParty\Symfony\polyfill_mbstring as p; if (!function_exists('mb_convert_encoding')) { function mb_convert_encoding(array|string|null $string, ?string $to_encoding, array|string|null $from_encoding = null): array|string|false { return p\Mbstring::mb_convert_encoding($string ?? '', (string) $to_encoding, $from_encoding); } @@ -128,6 +128,10 @@ if (!function_exists('mb_str_split')) { function mb_str_split(?string $string, ?int $length = 1, ?string $encoding = null): array { return p\Mbstring::mb_str_split((string) $string, (int) $length, $encoding); } } +if (!function_exists('mb_str_pad')) { + function mb_str_pad(string $string, int $length, string $pad_string = ' ', int $pad_type = STR_PAD_RIGHT, ?string $encoding = null): string { return p\Mbstring::mb_str_pad($string, $length, $pad_string, $pad_type, $encoding); } +} + if (extension_loaded('mbstring')) { return; } diff --git a/src/ncc/ThirdParty/Symfony/polyfill-uuid/LICENSE b/src/ncc/ThirdParty/Symfony/polyfill_uuid/LICENSE similarity index 95% rename from src/ncc/ThirdParty/Symfony/polyfill-uuid/LICENSE rename to src/ncc/ThirdParty/Symfony/polyfill_uuid/LICENSE index 3f853aa..7536cae 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-uuid/LICENSE +++ b/src/ncc/ThirdParty/Symfony/polyfill_uuid/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2019 Fabien Potencier +Copyright (c) 2018-present Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/ncc/ThirdParty/Symfony/polyfill-uuid/README.md b/src/ncc/ThirdParty/Symfony/polyfill_uuid/README.md similarity index 100% rename from src/ncc/ThirdParty/Symfony/polyfill-uuid/README.md rename to src/ncc/ThirdParty/Symfony/polyfill_uuid/README.md diff --git a/src/ncc/ThirdParty/Symfony/polyfill-uuid/Uuid.php b/src/ncc/ThirdParty/Symfony/polyfill_uuid/Uuid.php similarity index 99% rename from src/ncc/ThirdParty/Symfony/polyfill-uuid/Uuid.php rename to src/ncc/ThirdParty/Symfony/polyfill_uuid/Uuid.php index dda6d8e..31defc3 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-uuid/Uuid.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_uuid/Uuid.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace ncc\ThirdParty\Symfony\uuid; +namespace ncc\ThirdParty\Symfony\polyfill_uuid; /** * @internal diff --git a/src/ncc/ThirdParty/Symfony/polyfill_uuid/VERSION b/src/ncc/ThirdParty/Symfony/polyfill_uuid/VERSION new file mode 100644 index 0000000..3c71e47 --- /dev/null +++ b/src/ncc/ThirdParty/Symfony/polyfill_uuid/VERSION @@ -0,0 +1 @@ +1.28.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/Symfony/polyfill-uuid/bootstrap.php b/src/ncc/ThirdParty/Symfony/polyfill_uuid/bootstrap.php similarity index 98% rename from src/ncc/ThirdParty/Symfony/polyfill-uuid/bootstrap.php rename to src/ncc/ThirdParty/Symfony/polyfill_uuid/bootstrap.php index 15d4673..0bae04e 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-uuid/bootstrap.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_uuid/bootstrap.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use ncc\ThirdParty\Symfony\uuid as p; +use ncc\ThirdParty\Symfony\polyfill_uuid as p; if (extension_loaded('uuid')) { return; diff --git a/src/ncc/ThirdParty/Symfony/polyfill-uuid/bootstrap80.php b/src/ncc/ThirdParty/Symfony/polyfill_uuid/bootstrap80.php similarity index 98% rename from src/ncc/ThirdParty/Symfony/polyfill-uuid/bootstrap80.php rename to src/ncc/ThirdParty/Symfony/polyfill_uuid/bootstrap80.php index ac0c544..4ae4272 100644 --- a/src/ncc/ThirdParty/Symfony/polyfill-uuid/bootstrap80.php +++ b/src/ncc/ThirdParty/Symfony/polyfill_uuid/bootstrap80.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use ncc\ThirdParty\Symfony\uuid as p; +use ncc\ThirdParty\Symfony\polyfill_uuid as p; if (!defined('UUID_VARIANT_NCS')) { define('UUID_VARIANT_NCS', 0); diff --git a/src/ncc/ThirdParty/composer/semver/Comparator.php b/src/ncc/ThirdParty/composer/semver/Comparator.php new file mode 100644 index 0000000..e2f94f1 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Comparator.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\Semver; + +use ncc\ThirdParty\composer\semver\Constraint\Constraint; + +class Comparator +{ + /** + * Evaluates the expression: $version1 > $version2. + * + * @param string $version1 + * @param string $version2 + * + * @return bool + */ + public static function greaterThan($version1, $version2) + { + return self::compare($version1, '>', $version2); + } + + /** + * Evaluates the expression: $version1 >= $version2. + * + * @param string $version1 + * @param string $version2 + * + * @return bool + */ + public static function greaterThanOrEqualTo($version1, $version2) + { + return self::compare($version1, '>=', $version2); + } + + /** + * Evaluates the expression: $version1 < $version2. + * + * @param string $version1 + * @param string $version2 + * + * @return bool + */ + public static function lessThan($version1, $version2) + { + return self::compare($version1, '<', $version2); + } + + /** + * Evaluates the expression: $version1 <= $version2. + * + * @param string $version1 + * @param string $version2 + * + * @return bool + */ + public static function lessThanOrEqualTo($version1, $version2) + { + return self::compare($version1, '<=', $version2); + } + + /** + * Evaluates the expression: $version1 == $version2. + * + * @param string $version1 + * @param string $version2 + * + * @return bool + */ + public static function equalTo($version1, $version2) + { + return self::compare($version1, '==', $version2); + } + + /** + * Evaluates the expression: $version1 != $version2. + * + * @param string $version1 + * @param string $version2 + * + * @return bool + */ + public static function notEqualTo($version1, $version2) + { + return self::compare($version1, '!=', $version2); + } + + /** + * Evaluates the expression: $version1 $operator $version2. + * + * @param string $version1 + * @param string $operator + * @param string $version2 + * + * @return bool + * + * @phpstan-param Constraint::STR_OP_* $operator + */ + public static function compare($version1, $operator, $version2) + { + $constraint = new Constraint($operator, $version2); + + return $constraint->matchSpecific(new Constraint('==', $version1), true); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/CompilingMatcher.php b/src/ncc/ThirdParty/composer/semver/CompilingMatcher.php new file mode 100644 index 0000000..3e1c224 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/CompilingMatcher.php @@ -0,0 +1,94 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\Semver; + +use ncc\ThirdParty\composer\semver\Constraint\Constraint; +use ncc\ThirdParty\composer\semver\Constraint\ConstraintInterface; + +/** + * Helper class to evaluate constraint by compiling and reusing the code to evaluate + */ +class CompilingMatcher +{ + /** + * @var array + * @phpstan-var array + */ + private static $compiledCheckerCache = array(); + /** + * @var array + * @phpstan-var array + */ + private static $resultCache = array(); + + /** @var bool */ + private static $enabled; + + /** + * @phpstan-var array + */ + private static $transOpInt = array( + Constraint::OP_EQ => Constraint::STR_OP_EQ, + Constraint::OP_LT => Constraint::STR_OP_LT, + Constraint::OP_LE => Constraint::STR_OP_LE, + Constraint::OP_GT => Constraint::STR_OP_GT, + Constraint::OP_GE => Constraint::STR_OP_GE, + Constraint::OP_NE => Constraint::STR_OP_NE, + ); + + /** + * Clears the memoization cache once you are done + * + * @return void + */ + public static function clear() + { + self::$resultCache = array(); + self::$compiledCheckerCache = array(); + } + + /** + * Evaluates the expression: $constraint match $operator $version + * + * @param ConstraintInterface $constraint + * @param int $operator + * @phpstan-param Constraint::OP_* $operator + * @param string $version + * + * @return mixed + */ + public static function match(ConstraintInterface $constraint, $operator, $version) + { + $resultCacheKey = $operator.$constraint.';'.$version; + + if (isset(self::$resultCache[$resultCacheKey])) { + return self::$resultCache[$resultCacheKey]; + } + + if (self::$enabled === null) { + self::$enabled = !\in_array('eval', explode(',', (string) ini_get('disable_functions')), true); + } + if (!self::$enabled) { + return self::$resultCache[$resultCacheKey] = $constraint->matches(new Constraint(self::$transOpInt[$operator], $version)); + } + + $cacheKey = $operator.$constraint; + if (!isset(self::$compiledCheckerCache[$cacheKey])) { + $code = $constraint->compile($operator); + self::$compiledCheckerCache[$cacheKey] = $function = eval('return function($v, $b){return '.$code.';};'); + } else { + $function = self::$compiledCheckerCache[$cacheKey]; + } + + return self::$resultCache[$resultCacheKey] = $function($version, strpos($version, 'dev-') === 0); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Constraint/Bound.php b/src/ncc/ThirdParty/composer/semver/Constraint/Bound.php new file mode 100644 index 0000000..78a3e04 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Constraint/Bound.php @@ -0,0 +1,122 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\semver\Constraint; + +class Bound +{ + /** + * @var string + */ + private $version; + + /** + * @var bool + */ + private $isInclusive; + + /** + * @param string $version + * @param bool $isInclusive + */ + public function __construct($version, $isInclusive) + { + $this->version = $version; + $this->isInclusive = $isInclusive; + } + + /** + * @return string + */ + public function getVersion() + { + return $this->version; + } + + /** + * @return bool + */ + public function isInclusive() + { + return $this->isInclusive; + } + + /** + * @return bool + */ + public function isZero() + { + return $this->getVersion() === '0.0.0.0-dev' && $this->isInclusive(); + } + + /** + * @return bool + */ + public function isPositiveInfinity() + { + return $this->getVersion() === PHP_INT_MAX.'.0.0.0' && !$this->isInclusive(); + } + + /** + * Compares a bound to another with a given operator. + * + * @param Bound $other + * @param string $operator + * + * @return bool + */ + public function compareTo(Bound $other, $operator) + { + if (!\in_array($operator, array('<', '>'), true)) { + throw new \InvalidArgumentException('Does not support any other operator other than > or <.'); + } + + // If they are the same it doesn't matter + if ($this == $other) { + return false; + } + + $compareResult = version_compare($this->getVersion(), $other->getVersion()); + + // Not the same version means we don't need to check if the bounds are inclusive or not + if (0 !== $compareResult) { + return (('>' === $operator) ? 1 : -1) === $compareResult; + } + + // Question we're answering here is "am I higher than $other?" + return '>' === $operator ? $other->isInclusive() : !$other->isInclusive(); + } + + public function __toString() + { + return sprintf( + '%s [%s]', + $this->getVersion(), + $this->isInclusive() ? 'inclusive' : 'exclusive' + ); + } + + /** + * @return self + */ + public static function zero() + { + return new Bound('0.0.0.0-dev', true); + } + + /** + * @return self + */ + public static function positiveInfinity() + { + return new Bound(PHP_INT_MAX.'.0.0.0', false); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Constraint/Constraint.php b/src/ncc/ThirdParty/composer/semver/Constraint/Constraint.php new file mode 100644 index 0000000..a1027fb --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Constraint/Constraint.php @@ -0,0 +1,435 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\semver\Constraint; + +/** + * Defines a constraint. + */ +class Constraint implements ConstraintInterface +{ + /* operator integer values */ + const OP_EQ = 0; + const OP_LT = 1; + const OP_LE = 2; + const OP_GT = 3; + const OP_GE = 4; + const OP_NE = 5; + + /* operator string values */ + const STR_OP_EQ = '=='; + const STR_OP_EQ_ALT = '='; + const STR_OP_LT = '<'; + const STR_OP_LE = '<='; + const STR_OP_GT = '>'; + const STR_OP_GE = '>='; + const STR_OP_NE = '!='; + const STR_OP_NE_ALT = '<>'; + + /** + * Operator to integer translation table. + * + * @var array + * @phpstan-var array + */ + private static $transOpStr = array( + '=' => self::OP_EQ, + '==' => self::OP_EQ, + '<' => self::OP_LT, + '<=' => self::OP_LE, + '>' => self::OP_GT, + '>=' => self::OP_GE, + '<>' => self::OP_NE, + '!=' => self::OP_NE, + ); + + /** + * Integer to operator translation table. + * + * @var array + * @phpstan-var array + */ + private static $transOpInt = array( + self::OP_EQ => '==', + self::OP_LT => '<', + self::OP_LE => '<=', + self::OP_GT => '>', + self::OP_GE => '>=', + self::OP_NE => '!=', + ); + + /** + * @var int + * @phpstan-var self::OP_* + */ + protected $operator; + + /** @var string */ + protected $version; + + /** @var string|null */ + protected $prettyString; + + /** @var Bound */ + protected $lowerBound; + + /** @var Bound */ + protected $upperBound; + + /** + * Sets operator and version to compare with. + * + * @param string $operator + * @param string $version + * + * @throws \InvalidArgumentException if invalid operator is given. + * + * @phpstan-param self::STR_OP_* $operator + */ + public function __construct($operator, $version) + { + if (!isset(self::$transOpStr[$operator])) { + throw new \InvalidArgumentException(sprintf( + 'Invalid operator "%s" given, expected one of: %s', + $operator, + implode(', ', self::getSupportedOperators()) + )); + } + + $this->operator = self::$transOpStr[$operator]; + $this->version = $version; + } + + /** + * @return string + */ + public function getVersion() + { + return $this->version; + } + + /** + * @return string + * + * @phpstan-return self::STR_OP_* + */ + public function getOperator() + { + return self::$transOpInt[$this->operator]; + } + + /** + * @param ConstraintInterface $provider + * + * @return bool + */ + public function matches(ConstraintInterface $provider) + { + if ($provider instanceof self) { + return $this->matchSpecific($provider); + } + + // turn matching around to find a match + return $provider->matches($this); + } + + /** + * {@inheritDoc} + */ + public function setPrettyString($prettyString) + { + $this->prettyString = $prettyString; + } + + /** + * {@inheritDoc} + */ + public function getPrettyString() + { + if ($this->prettyString) { + return $this->prettyString; + } + + return $this->__toString(); + } + + /** + * Get all supported comparison operators. + * + * @return array + * + * @phpstan-return list + */ + public static function getSupportedOperators() + { + return array_keys(self::$transOpStr); + } + + /** + * @param string $operator + * @return int + * + * @phpstan-param self::STR_OP_* $operator + * @phpstan-return self::OP_* + */ + public static function getOperatorConstant($operator) + { + return self::$transOpStr[$operator]; + } + + /** + * @param string $a + * @param string $b + * @param string $operator + * @param bool $compareBranches + * + * @throws \InvalidArgumentException if invalid operator is given. + * + * @return bool + * + * @phpstan-param self::STR_OP_* $operator + */ + public function versionCompare($a, $b, $operator, $compareBranches = false) + { + if (!isset(self::$transOpStr[$operator])) { + throw new \InvalidArgumentException(sprintf( + 'Invalid operator "%s" given, expected one of: %s', + $operator, + implode(', ', self::getSupportedOperators()) + )); + } + + $aIsBranch = strpos($a, 'dev-') === 0; + $bIsBranch = strpos($b, 'dev-') === 0; + + if ($operator === '!=' && ($aIsBranch || $bIsBranch)) { + return $a !== $b; + } + + if ($aIsBranch && $bIsBranch) { + return $operator === '==' && $a === $b; + } + + // when branches are not comparable, we make sure dev branches never match anything + if (!$compareBranches && ($aIsBranch || $bIsBranch)) { + return false; + } + + return \version_compare($a, $b, $operator); + } + + /** + * {@inheritDoc} + */ + public function compile($otherOperator) + { + if (strpos($this->version, 'dev-') === 0) { + if (self::OP_EQ === $this->operator) { + if (self::OP_EQ === $otherOperator) { + return sprintf('$b && $v === %s', \var_export($this->version, true)); + } + if (self::OP_NE === $otherOperator) { + return sprintf('!$b || $v !== %s', \var_export($this->version, true)); + } + return 'false'; + } + + if (self::OP_NE === $this->operator) { + if (self::OP_EQ === $otherOperator) { + return sprintf('!$b || $v !== %s', \var_export($this->version, true)); + } + if (self::OP_NE === $otherOperator) { + return 'true'; + } + return '!$b'; + } + + return 'false'; + } + + if (self::OP_EQ === $this->operator) { + if (self::OP_EQ === $otherOperator) { + return sprintf('\version_compare($v, %s, \'==\')', \var_export($this->version, true)); + } + if (self::OP_NE === $otherOperator) { + return sprintf('$b || \version_compare($v, %s, \'!=\')', \var_export($this->version, true)); + } + + return sprintf('!$b && \version_compare(%s, $v, \'%s\')', \var_export($this->version, true), self::$transOpInt[$otherOperator]); + } + + if (self::OP_NE === $this->operator) { + if (self::OP_EQ === $otherOperator) { + return sprintf('$b || (!$b && \version_compare($v, %s, \'!=\'))', \var_export($this->version, true)); + } + + if (self::OP_NE === $otherOperator) { + return 'true'; + } + return '!$b'; + } + + if (self::OP_LT === $this->operator || self::OP_LE === $this->operator) { + if (self::OP_LT === $otherOperator || self::OP_LE === $otherOperator) { + return '!$b'; + } + } else { // $this->operator must be self::OP_GT || self::OP_GE here + if (self::OP_GT === $otherOperator || self::OP_GE === $otherOperator) { + return '!$b'; + } + } + + if (self::OP_NE === $otherOperator) { + return 'true'; + } + + $codeComparison = sprintf('\version_compare($v, %s, \'%s\')', \var_export($this->version, true), self::$transOpInt[$this->operator]); + if ($this->operator === self::OP_LE) { + if ($otherOperator === self::OP_GT) { + return sprintf('!$b && \version_compare($v, %s, \'!=\') && ', \var_export($this->version, true)) . $codeComparison; + } + } elseif ($this->operator === self::OP_GE) { + if ($otherOperator === self::OP_LT) { + return sprintf('!$b && \version_compare($v, %s, \'!=\') && ', \var_export($this->version, true)) . $codeComparison; + } + } + + return sprintf('!$b && %s', $codeComparison); + } + + /** + * @param Constraint $provider + * @param bool $compareBranches + * + * @return bool + */ + public function matchSpecific(Constraint $provider, $compareBranches = false) + { + $noEqualOp = str_replace('=', '', self::$transOpInt[$this->operator]); + $providerNoEqualOp = str_replace('=', '', self::$transOpInt[$provider->operator]); + + $isEqualOp = self::OP_EQ === $this->operator; + $isNonEqualOp = self::OP_NE === $this->operator; + $isProviderEqualOp = self::OP_EQ === $provider->operator; + $isProviderNonEqualOp = self::OP_NE === $provider->operator; + + // '!=' operator is match when other operator is not '==' operator or version is not match + // these kinds of comparisons always have a solution + if ($isNonEqualOp || $isProviderNonEqualOp) { + if ($isNonEqualOp && !$isProviderNonEqualOp && !$isProviderEqualOp && strpos($provider->version, 'dev-') === 0) { + return false; + } + + if ($isProviderNonEqualOp && !$isNonEqualOp && !$isEqualOp && strpos($this->version, 'dev-') === 0) { + return false; + } + + if (!$isEqualOp && !$isProviderEqualOp) { + return true; + } + return $this->versionCompare($provider->version, $this->version, '!=', $compareBranches); + } + + // an example for the condition is <= 2.0 & < 1.0 + // these kinds of comparisons always have a solution + if ($this->operator !== self::OP_EQ && $noEqualOp === $providerNoEqualOp) { + return !(strpos($this->version, 'dev-') === 0 || strpos($provider->version, 'dev-') === 0); + } + + $version1 = $isEqualOp ? $this->version : $provider->version; + $version2 = $isEqualOp ? $provider->version : $this->version; + $operator = $isEqualOp ? $provider->operator : $this->operator; + + if ($this->versionCompare($version1, $version2, self::$transOpInt[$operator], $compareBranches)) { + // special case, e.g. require >= 1.0 and provide < 1.0 + // 1.0 >= 1.0 but 1.0 is outside of the provided interval + + return !(self::$transOpInt[$provider->operator] === $providerNoEqualOp + && self::$transOpInt[$this->operator] !== $noEqualOp + && \version_compare($provider->version, $this->version, '==')); + } + + return false; + } + + /** + * @return string + */ + public function __toString() + { + return self::$transOpInt[$this->operator] . ' ' . $this->version; + } + + /** + * {@inheritDoc} + */ + public function getLowerBound() + { + $this->extractBounds(); + + return $this->lowerBound; + } + + /** + * {@inheritDoc} + */ + public function getUpperBound() + { + $this->extractBounds(); + + return $this->upperBound; + } + + /** + * @return void + */ + private function extractBounds() + { + if (null !== $this->lowerBound) { + return; + } + + // Branches + if (strpos($this->version, 'dev-') === 0) { + $this->lowerBound = Bound::zero(); + $this->upperBound = Bound::positiveInfinity(); + + return; + } + + switch ($this->operator) { + case self::OP_EQ: + $this->lowerBound = new Bound($this->version, true); + $this->upperBound = new Bound($this->version, true); + break; + case self::OP_LT: + $this->lowerBound = Bound::zero(); + $this->upperBound = new Bound($this->version, false); + break; + case self::OP_LE: + $this->lowerBound = Bound::zero(); + $this->upperBound = new Bound($this->version, true); + break; + case self::OP_GT: + $this->lowerBound = new Bound($this->version, false); + $this->upperBound = Bound::positiveInfinity(); + break; + case self::OP_GE: + $this->lowerBound = new Bound($this->version, true); + $this->upperBound = Bound::positiveInfinity(); + break; + case self::OP_NE: + $this->lowerBound = Bound::zero(); + $this->upperBound = Bound::positiveInfinity(); + break; + } + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Constraint/ConstraintInterface.php b/src/ncc/ThirdParty/composer/semver/Constraint/ConstraintInterface.php new file mode 100644 index 0000000..879c1e3 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Constraint/ConstraintInterface.php @@ -0,0 +1,75 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\semver\Constraint; + +/** + * DO NOT IMPLEMENT this interface. It is only meant for usage as a type hint + * in libraries relying on composer/semver but creating your own constraint class + * that implements this interface is not a supported use case and will cause the + * composer/semver components to return unexpected results. + */ +interface ConstraintInterface +{ + /** + * Checks whether the given constraint intersects in any way with this constraint + * + * @param ConstraintInterface $provider + * + * @return bool + */ + public function matches(ConstraintInterface $provider); + + /** + * Provides a compiled version of the constraint for the given operator + * The compiled version must be a PHP expression. + * Executor of compile version must provide 2 variables: + * - $v = the string version to compare with + * - $b = whether or not the version is a non-comparable branch (starts with "dev-") + * + * @see Constraint::OP_* for the list of available operators. + * @example return '!$b && version_compare($v, '1.0', '>')'; + * + * @param int $otherOperator one Constraint::OP_* + * + * @return string + * + * @phpstan-param Constraint::OP_* $otherOperator + */ + public function compile($otherOperator); + + /** + * @return Bound + */ + public function getUpperBound(); + + /** + * @return Bound + */ + public function getLowerBound(); + + /** + * @return string + */ + public function getPrettyString(); + + /** + * @param string|null $prettyString + * + * @return void + */ + public function setPrettyString($prettyString); + + /** + * @return string + */ + public function __toString(); +} diff --git a/src/ncc/ThirdParty/composer/semver/Constraint/MatchAllConstraint.php b/src/ncc/ThirdParty/composer/semver/Constraint/MatchAllConstraint.php new file mode 100644 index 0000000..7056eb4 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Constraint/MatchAllConstraint.php @@ -0,0 +1,85 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\semver\Constraint; + +/** + * Defines the absence of a constraint. + * + * This constraint matches everything. + */ +class MatchAllConstraint implements ConstraintInterface +{ + /** @var string|null */ + protected $prettyString; + + /** + * @param ConstraintInterface $provider + * + * @return bool + */ + public function matches(ConstraintInterface $provider) + { + return true; + } + + /** + * {@inheritDoc} + */ + public function compile($otherOperator) + { + return 'true'; + } + + /** + * {@inheritDoc} + */ + public function setPrettyString($prettyString) + { + $this->prettyString = $prettyString; + } + + /** + * {@inheritDoc} + */ + public function getPrettyString() + { + if ($this->prettyString) { + return $this->prettyString; + } + + return (string) $this; + } + + /** + * {@inheritDoc} + */ + public function __toString() + { + return '*'; + } + + /** + * {@inheritDoc} + */ + public function getUpperBound() + { + return Bound::positiveInfinity(); + } + + /** + * {@inheritDoc} + */ + public function getLowerBound() + { + return Bound::zero(); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Constraint/MatchNoneConstraint.php b/src/ncc/ThirdParty/composer/semver/Constraint/MatchNoneConstraint.php new file mode 100644 index 0000000..cb4fa18 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Constraint/MatchNoneConstraint.php @@ -0,0 +1,83 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\semver\Constraint; + +/** + * Blackhole of constraints, nothing escapes it + */ +class MatchNoneConstraint implements ConstraintInterface +{ + /** @var string|null */ + protected $prettyString; + + /** + * @param ConstraintInterface $provider + * + * @return bool + */ + public function matches(ConstraintInterface $provider) + { + return false; + } + + /** + * {@inheritDoc} + */ + public function compile($otherOperator) + { + return 'false'; + } + + /** + * {@inheritDoc} + */ + public function setPrettyString($prettyString) + { + $this->prettyString = $prettyString; + } + + /** + * {@inheritDoc} + */ + public function getPrettyString() + { + if ($this->prettyString) { + return $this->prettyString; + } + + return (string) $this; + } + + /** + * {@inheritDoc} + */ + public function __toString() + { + return '[]'; + } + + /** + * {@inheritDoc} + */ + public function getUpperBound() + { + return new Bound('0.0.0.0-dev', false); + } + + /** + * {@inheritDoc} + */ + public function getLowerBound() + { + return new Bound('0.0.0.0-dev', false); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Constraint/MultiConstraint.php b/src/ncc/ThirdParty/composer/semver/Constraint/MultiConstraint.php new file mode 100644 index 0000000..888fb08 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Constraint/MultiConstraint.php @@ -0,0 +1,325 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\semver\Constraint; + +/** + * Defines a conjunctive or disjunctive set of constraints. + */ +class MultiConstraint implements ConstraintInterface +{ + /** + * @var ConstraintInterface[] + * @phpstan-var non-empty-array + */ + protected $constraints; + + /** @var string|null */ + protected $prettyString; + + /** @var string|null */ + protected $string; + + /** @var bool */ + protected $conjunctive; + + /** @var Bound|null */ + protected $lowerBound; + + /** @var Bound|null */ + protected $upperBound; + + /** + * @param ConstraintInterface[] $constraints A set of constraints + * @param bool $conjunctive Whether the constraints should be treated as conjunctive or disjunctive + * + * @throws \InvalidArgumentException If less than 2 constraints are passed + */ + public function __construct(array $constraints, $conjunctive = true) + { + if (\count($constraints) < 2) { + throw new \InvalidArgumentException( + 'Must provide at least two constraints for a MultiConstraint. Use '. + 'the regular Constraint class for one constraint only or MatchAllConstraint for none. You may use '. + 'MultiConstraint::create() which optimizes and handles those cases automatically.' + ); + } + + $this->constraints = $constraints; + $this->conjunctive = $conjunctive; + } + + /** + * @return ConstraintInterface[] + */ + public function getConstraints() + { + return $this->constraints; + } + + /** + * @return bool + */ + public function isConjunctive() + { + return $this->conjunctive; + } + + /** + * @return bool + */ + public function isDisjunctive() + { + return !$this->conjunctive; + } + + /** + * {@inheritDoc} + */ + public function compile($otherOperator) + { + $parts = array(); + foreach ($this->constraints as $constraint) { + $code = $constraint->compile($otherOperator); + if ($code === 'true') { + if (!$this->conjunctive) { + return 'true'; + } + } elseif ($code === 'false') { + if ($this->conjunctive) { + return 'false'; + } + } else { + $parts[] = '('.$code.')'; + } + } + + if (!$parts) { + return $this->conjunctive ? 'true' : 'false'; + } + + return $this->conjunctive ? implode('&&', $parts) : implode('||', $parts); + } + + /** + * @param ConstraintInterface $provider + * + * @return bool + */ + public function matches(ConstraintInterface $provider) + { + if (false === $this->conjunctive) { + foreach ($this->constraints as $constraint) { + if ($provider->matches($constraint)) { + return true; + } + } + + return false; + } + + // when matching a conjunctive and a disjunctive multi constraint we have to iterate over the disjunctive one + // otherwise we'd return true if different parts of the disjunctive constraint match the conjunctive one + // which would lead to incorrect results, e.g. [>1 and <2] would match [<1 or >2] although they do not intersect + if ($provider instanceof MultiConstraint && $provider->isDisjunctive()) { + return $provider->matches($this); + } + + foreach ($this->constraints as $constraint) { + if (!$provider->matches($constraint)) { + return false; + } + } + + return true; + } + + /** + * {@inheritDoc} + */ + public function setPrettyString($prettyString) + { + $this->prettyString = $prettyString; + } + + /** + * {@inheritDoc} + */ + public function getPrettyString() + { + if ($this->prettyString) { + return $this->prettyString; + } + + return (string) $this; + } + + /** + * {@inheritDoc} + */ + public function __toString() + { + if ($this->string !== null) { + return $this->string; + } + + $constraints = array(); + foreach ($this->constraints as $constraint) { + $constraints[] = (string) $constraint; + } + + return $this->string = '[' . implode($this->conjunctive ? ' ' : ' || ', $constraints) . ']'; + } + + /** + * {@inheritDoc} + */ + public function getLowerBound() + { + $this->extractBounds(); + + if (null === $this->lowerBound) { + throw new \LogicException('extractBounds should have populated the lowerBound property'); + } + + return $this->lowerBound; + } + + /** + * {@inheritDoc} + */ + public function getUpperBound() + { + $this->extractBounds(); + + if (null === $this->upperBound) { + throw new \LogicException('extractBounds should have populated the upperBound property'); + } + + return $this->upperBound; + } + + /** + * Tries to optimize the constraints as much as possible, meaning + * reducing/collapsing congruent constraints etc. + * Does not necessarily return a MultiConstraint instance if + * things can be reduced to a simple constraint + * + * @param ConstraintInterface[] $constraints A set of constraints + * @param bool $conjunctive Whether the constraints should be treated as conjunctive or disjunctive + * + * @return ConstraintInterface + */ + public static function create(array $constraints, $conjunctive = true) + { + if (0 === \count($constraints)) { + return new MatchAllConstraint(); + } + + if (1 === \count($constraints)) { + return $constraints[0]; + } + + $optimized = self::optimizeConstraints($constraints, $conjunctive); + if ($optimized !== null) { + list($constraints, $conjunctive) = $optimized; + if (\count($constraints) === 1) { + return $constraints[0]; + } + } + + return new self($constraints, $conjunctive); + } + + /** + * @param ConstraintInterface[] $constraints + * @param bool $conjunctive + * @return ?array + * + * @phpstan-return array{0: list, 1: bool}|null + */ + private static function optimizeConstraints(array $constraints, $conjunctive) + { + // parse the two OR groups and if they are contiguous we collapse + // them into one constraint + // [>= 1 < 2] || [>= 2 < 3] || [>= 3 < 4] => [>= 1 < 4] + if (!$conjunctive) { + $left = $constraints[0]; + $mergedConstraints = array(); + $optimized = false; + for ($i = 1, $l = \count($constraints); $i < $l; $i++) { + $right = $constraints[$i]; + if ( + $left instanceof self + && $left->conjunctive + && $right instanceof self + && $right->conjunctive + && \count($left->constraints) === 2 + && \count($right->constraints) === 2 + && ($left0 = (string) $left->constraints[0]) + && $left0[0] === '>' && $left0[1] === '=' + && ($left1 = (string) $left->constraints[1]) + && $left1[0] === '<' + && ($right0 = (string) $right->constraints[0]) + && $right0[0] === '>' && $right0[1] === '=' + && ($right1 = (string) $right->constraints[1]) + && $right1[0] === '<' + && substr($left1, 2) === substr($right0, 3) + ) { + $optimized = true; + $left = new MultiConstraint( + array( + $left->constraints[0], + $right->constraints[1], + ), + true); + } else { + $mergedConstraints[] = $left; + $left = $right; + } + } + if ($optimized) { + $mergedConstraints[] = $left; + return array($mergedConstraints, false); + } + } + + // TODO: Here's the place to put more optimizations + + return null; + } + + /** + * @return void + */ + private function extractBounds() + { + if (null !== $this->lowerBound) { + return; + } + + foreach ($this->constraints as $constraint) { + if (null === $this->lowerBound || null === $this->upperBound) { + $this->lowerBound = $constraint->getLowerBound(); + $this->upperBound = $constraint->getUpperBound(); + continue; + } + + if ($constraint->getLowerBound()->compareTo($this->lowerBound, $this->isConjunctive() ? '>' : '<')) { + $this->lowerBound = $constraint->getLowerBound(); + } + + if ($constraint->getUpperBound()->compareTo($this->upperBound, $this->isConjunctive() ? '<' : '>')) { + $this->upperBound = $constraint->getUpperBound(); + } + } + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Interval.php b/src/ncc/ThirdParty/composer/semver/Interval.php new file mode 100644 index 0000000..5c401ae --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Interval.php @@ -0,0 +1,98 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\Semver; + +use ncc\ThirdParty\composer\semver\Constraint\Constraint; + +class Interval +{ + /** @var Constraint */ + private $start; + /** @var Constraint */ + private $end; + + public function __construct(Constraint $start, Constraint $end) + { + $this->start = $start; + $this->end = $end; + } + + /** + * @return Constraint + */ + public function getStart() + { + return $this->start; + } + + /** + * @return Constraint + */ + public function getEnd() + { + return $this->end; + } + + /** + * @return Constraint + */ + public static function fromZero() + { + static $zero; + + if (null === $zero) { + $zero = new Constraint('>=', '0.0.0.0-dev'); + } + + return $zero; + } + + /** + * @return Constraint + */ + public static function untilPositiveInfinity() + { + static $positiveInfinity; + + if (null === $positiveInfinity) { + $positiveInfinity = new Constraint('<', PHP_INT_MAX.'.0.0.0'); + } + + return $positiveInfinity; + } + + /** + * @return self + */ + public static function any() + { + return new self(self::fromZero(), self::untilPositiveInfinity()); + } + + /** + * @return array{'names': string[], 'exclude': bool} + */ + public static function anyDev() + { + // any == exclude nothing + return array('names' => array(), 'exclude' => true); + } + + /** + * @return array{'names': string[], 'exclude': bool} + */ + public static function noDev() + { + // nothing == no names included + return array('names' => array(), 'exclude' => false); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/Intervals.php b/src/ncc/ThirdParty/composer/semver/Intervals.php new file mode 100644 index 0000000..d1d1fb5 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Intervals.php @@ -0,0 +1,478 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\Semver; + +use ncc\ThirdParty\composer\semver\Constraint\Constraint; +use ncc\ThirdParty\composer\semver\Constraint\ConstraintInterface; +use ncc\ThirdParty\composer\semver\Constraint\MatchAllConstraint; +use ncc\ThirdParty\composer\semver\Constraint\MatchNoneConstraint; +use ncc\ThirdParty\composer\semver\Constraint\MultiConstraint; + +/** + * Helper class generating intervals from constraints + * + * This contains utilities for: + * + * - compacting an existing constraint which can be used to combine several into one + * by creating a MultiConstraint out of the many constraints you have. + * + * - checking whether one subset is a subset of another. + * + * Note: You should call clear to free memoization memory usage when you are done using this class + */ +class Intervals +{ + /** + * @phpstan-var array + */ + private static $intervalsCache = array(); + + /** + * @phpstan-var array + */ + private static $opSortOrder = array( + '>=' => -3, + '<' => -2, + '>' => 2, + '<=' => 3, + ); + + /** + * Clears the memoization cache once you are done + * + * @return void + */ + public static function clear() + { + self::$intervalsCache = array(); + } + + /** + * Checks whether $candidate is a subset of $constraint + * + * @return bool + */ + public static function isSubsetOf(ConstraintInterface $candidate, ConstraintInterface $constraint) + { + if ($constraint instanceof MatchAllConstraint) { + return true; + } + + if ($candidate instanceof MatchNoneConstraint || $constraint instanceof MatchNoneConstraint) { + return false; + } + + $intersectionIntervals = self::get(new MultiConstraint(array($candidate, $constraint), true)); + $candidateIntervals = self::get($candidate); + if (\count($intersectionIntervals['numeric']) !== \count($candidateIntervals['numeric'])) { + return false; + } + + foreach ($intersectionIntervals['numeric'] as $index => $interval) { + if (!isset($candidateIntervals['numeric'][$index])) { + return false; + } + + if ((string) $candidateIntervals['numeric'][$index]->getStart() !== (string) $interval->getStart()) { + return false; + } + + if ((string) $candidateIntervals['numeric'][$index]->getEnd() !== (string) $interval->getEnd()) { + return false; + } + } + + if ($intersectionIntervals['branches']['exclude'] !== $candidateIntervals['branches']['exclude']) { + return false; + } + if (\count($intersectionIntervals['branches']['names']) !== \count($candidateIntervals['branches']['names'])) { + return false; + } + foreach ($intersectionIntervals['branches']['names'] as $index => $name) { + if ($name !== $candidateIntervals['branches']['names'][$index]) { + return false; + } + } + + return true; + } + + /** + * Checks whether $a and $b have any intersection, equivalent to $a->matches($b) + * + * @return bool + */ + public static function haveIntersections(ConstraintInterface $a, ConstraintInterface $b) + { + if ($a instanceof MatchAllConstraint || $b instanceof MatchAllConstraint) { + return true; + } + + if ($a instanceof MatchNoneConstraint || $b instanceof MatchNoneConstraint) { + return false; + } + + $intersectionIntervals = self::generateIntervals(new MultiConstraint(array($a, $b), true), true); + + return \count($intersectionIntervals['numeric']) > 0 || $intersectionIntervals['branches']['exclude'] || \count($intersectionIntervals['branches']['names']) > 0; + } + + /** + * Attempts to optimize a MultiConstraint + * + * When merging MultiConstraints together they can get very large, this will + * compact it by looking at the real intervals covered by all the constraints + * and then creates a new constraint containing only the smallest amount of rules + * to match the same intervals. + * + * @return ConstraintInterface + */ + public static function compactConstraint(ConstraintInterface $constraint) + { + if (!$constraint instanceof MultiConstraint) { + return $constraint; + } + + $intervals = self::generateIntervals($constraint); + $constraints = array(); + $hasNumericMatchAll = false; + + if (\count($intervals['numeric']) === 1 && (string) $intervals['numeric'][0]->getStart() === (string) Interval::fromZero() && (string) $intervals['numeric'][0]->getEnd() === (string) Interval::untilPositiveInfinity()) { + $constraints[] = $intervals['numeric'][0]->getStart(); + $hasNumericMatchAll = true; + } else { + $unEqualConstraints = array(); + for ($i = 0, $count = \count($intervals['numeric']); $i < $count; $i++) { + $interval = $intervals['numeric'][$i]; + + // if current interval ends with < N and next interval begins with > N we can swap this out for != N + // but this needs to happen as a conjunctive expression together with the start of the current interval + // and end of next interval, so [>=M, N, [>=M, !=N, getEnd()->getOperator() === '<' && $i+1 < $count) { + $nextInterval = $intervals['numeric'][$i+1]; + if ($interval->getEnd()->getVersion() === $nextInterval->getStart()->getVersion() && $nextInterval->getStart()->getOperator() === '>') { + // only add a start if we didn't already do so, can be skipped if we're looking at second + // interval in [>=M, N, P, =M, !=N] already and we only want to add !=P right now + if (\count($unEqualConstraints) === 0 && (string) $interval->getStart() !== (string) Interval::fromZero()) { + $unEqualConstraints[] = $interval->getStart(); + } + $unEqualConstraints[] = new Constraint('!=', $interval->getEnd()->getVersion()); + continue; + } + } + + if (\count($unEqualConstraints) > 0) { + // this is where the end of the following interval of a != constraint is added as explained above + if ((string) $interval->getEnd() !== (string) Interval::untilPositiveInfinity()) { + $unEqualConstraints[] = $interval->getEnd(); + } + + // count is 1 if entire constraint is just one != expression + if (\count($unEqualConstraints) > 1) { + $constraints[] = new MultiConstraint($unEqualConstraints, true); + } else { + $constraints[] = $unEqualConstraints[0]; + } + + $unEqualConstraints = array(); + continue; + } + + // convert back >= x - <= x intervals to == x + if ($interval->getStart()->getVersion() === $interval->getEnd()->getVersion() && $interval->getStart()->getOperator() === '>=' && $interval->getEnd()->getOperator() === '<=') { + $constraints[] = new Constraint('==', $interval->getStart()->getVersion()); + continue; + } + + if ((string) $interval->getStart() === (string) Interval::fromZero()) { + $constraints[] = $interval->getEnd(); + } elseif ((string) $interval->getEnd() === (string) Interval::untilPositiveInfinity()) { + $constraints[] = $interval->getStart(); + } else { + $constraints[] = new MultiConstraint(array($interval->getStart(), $interval->getEnd()), true); + } + } + } + + $devConstraints = array(); + + if (0 === \count($intervals['branches']['names'])) { + if ($intervals['branches']['exclude']) { + if ($hasNumericMatchAll) { + return new MatchAllConstraint; + } + // otherwise constraint should contain a != operator and already cover this + } + } else { + foreach ($intervals['branches']['names'] as $branchName) { + if ($intervals['branches']['exclude']) { + $devConstraints[] = new Constraint('!=', $branchName); + } else { + $devConstraints[] = new Constraint('==', $branchName); + } + } + + // excluded branches, e.g. != dev-foo are conjunctive with the interval, so + // > 2.0 != dev-foo must return a conjunctive constraint + if ($intervals['branches']['exclude']) { + if (\count($constraints) > 1) { + return new MultiConstraint(array_merge( + array(new MultiConstraint($constraints, false)), + $devConstraints + ), true); + } + + if (\count($constraints) === 1 && (string)$constraints[0] === (string)Interval::fromZero()) { + if (\count($devConstraints) > 1) { + return new MultiConstraint($devConstraints, true); + } + return $devConstraints[0]; + } + + return new MultiConstraint(array_merge($constraints, $devConstraints), true); + } + + // otherwise devConstraints contains a list of == operators for branches which are disjunctive with the + // rest of the constraint + $constraints = array_merge($constraints, $devConstraints); + } + + if (\count($constraints) > 1) { + return new MultiConstraint($constraints, false); + } + + if (\count($constraints) === 1) { + return $constraints[0]; + } + + return new MatchNoneConstraint; + } + + /** + * Creates an array of numeric intervals and branch constraints representing a given constraint + * + * if the returned numeric array is empty it means the constraint matches nothing in the numeric range (0 - +inf) + * if the returned branches array is empty it means no dev-* versions are matched + * if a constraint matches all possible dev-* versions, branches will contain Interval::anyDev() + * + * @return array + * @phpstan-return array{'numeric': Interval[], 'branches': array{'names': string[], 'exclude': bool}} + */ + public static function get(ConstraintInterface $constraint) + { + $key = (string) $constraint; + + if (!isset(self::$intervalsCache[$key])) { + self::$intervalsCache[$key] = self::generateIntervals($constraint); + } + + return self::$intervalsCache[$key]; + } + + /** + * @param bool $stopOnFirstValidInterval + * + * @phpstan-return array{'numeric': Interval[], 'branches': array{'names': string[], 'exclude': bool}} + */ + private static function generateIntervals(ConstraintInterface $constraint, $stopOnFirstValidInterval = false) + { + if ($constraint instanceof MatchAllConstraint) { + return array('numeric' => array(new Interval(Interval::fromZero(), Interval::untilPositiveInfinity())), 'branches' => Interval::anyDev()); + } + + if ($constraint instanceof MatchNoneConstraint) { + return array('numeric' => array(), 'branches' => array('names' => array(), 'exclude' => false)); + } + + if ($constraint instanceof Constraint) { + return self::generateSingleConstraintIntervals($constraint); + } + + if (!$constraint instanceof MultiConstraint) { + throw new \UnexpectedValueException('The constraint passed in should be an MatchAllConstraint, Constraint or MultiConstraint instance, got '.\get_class($constraint).'.'); + } + + $constraints = $constraint->getConstraints(); + + $numericGroups = array(); + $constraintBranches = array(); + foreach ($constraints as $c) { + $res = self::get($c); + $numericGroups[] = $res['numeric']; + $constraintBranches[] = $res['branches']; + } + + if ($constraint->isDisjunctive()) { + $branches = Interval::noDev(); + foreach ($constraintBranches as $b) { + if ($b['exclude']) { + if ($branches['exclude']) { + // disjunctive constraint, so only exclude what's excluded in all constraints + // !=a,!=b || !=b,!=c => !=b + $branches['names'] = array_intersect($branches['names'], $b['names']); + } else { + // disjunctive constraint so exclude all names which are not explicitly included in the alternative + // (==b || ==c) || !=a,!=b => !=a + $branches['exclude'] = true; + $branches['names'] = array_diff($b['names'], $branches['names']); + } + } else { + if ($branches['exclude']) { + // disjunctive constraint so exclude all names which are not explicitly included in the alternative + // !=a,!=b || (==b || ==c) => !=a + $branches['names'] = array_diff($branches['names'], $b['names']); + } else { + // disjunctive constraint, so just add all the other branches + // (==a || ==b) || ==c => ==a || ==b || ==c + $branches['names'] = array_merge($branches['names'], $b['names']); + } + } + } + } else { + $branches = Interval::anyDev(); + foreach ($constraintBranches as $b) { + if ($b['exclude']) { + if ($branches['exclude']) { + // conjunctive, so just add all branch names to be excluded + // !=a && !=b => !=a,!=b + $branches['names'] = array_merge($branches['names'], $b['names']); + } else { + // conjunctive, so only keep included names which are not excluded + // (==a||==c) && !=a,!=b => ==c + $branches['names'] = array_diff($branches['names'], $b['names']); + } + } else { + if ($branches['exclude']) { + // conjunctive, so only keep included names which are not excluded + // !=a,!=b && (==a||==c) => ==c + $branches['names'] = array_diff($b['names'], $branches['names']); + $branches['exclude'] = false; + } else { + // conjunctive, so only keep names that are included in both + // (==a||==b) && (==a||==c) => ==a + $branches['names'] = array_intersect($branches['names'], $b['names']); + } + } + } + } + + $branches['names'] = array_unique($branches['names']); + + if (\count($numericGroups) === 1) { + return array('numeric' => $numericGroups[0], 'branches' => $branches); + } + + $borders = array(); + foreach ($numericGroups as $group) { + foreach ($group as $interval) { + $borders[] = array('version' => $interval->getStart()->getVersion(), 'operator' => $interval->getStart()->getOperator(), 'side' => 'start'); + $borders[] = array('version' => $interval->getEnd()->getVersion(), 'operator' => $interval->getEnd()->getOperator(), 'side' => 'end'); + } + } + + $opSortOrder = self::$opSortOrder; + usort($borders, function ($a, $b) use ($opSortOrder) { + $order = version_compare($a['version'], $b['version']); + if ($order === 0) { + return $opSortOrder[$a['operator']] - $opSortOrder[$b['operator']]; + } + + return $order; + }); + + $activeIntervals = 0; + $intervals = array(); + $index = 0; + $activationThreshold = $constraint->isConjunctive() ? \count($numericGroups) : 1; + $start = null; + foreach ($borders as $border) { + if ($border['side'] === 'start') { + $activeIntervals++; + } else { + $activeIntervals--; + } + if (!$start && $activeIntervals >= $activationThreshold) { + $start = new Constraint($border['operator'], $border['version']); + } elseif ($start && $activeIntervals < $activationThreshold) { + // filter out invalid intervals like > x - <= x, or >= x - < x + if ( + version_compare($start->getVersion(), $border['version'], '=') + && ( + ($start->getOperator() === '>' && $border['operator'] === '<=') + || ($start->getOperator() === '>=' && $border['operator'] === '<') + ) + ) { + unset($intervals[$index]); + } else { + $intervals[$index] = new Interval($start, new Constraint($border['operator'], $border['version'])); + $index++; + + if ($stopOnFirstValidInterval) { + break; + } + } + + $start = null; + } + } + + return array('numeric' => $intervals, 'branches' => $branches); + } + + /** + * @phpstan-return array{'numeric': Interval[], 'branches': array{'names': string[], 'exclude': bool}} + */ + private static function generateSingleConstraintIntervals(Constraint $constraint) + { + $op = $constraint->getOperator(); + + // handle branch constraints first + if (strpos($constraint->getVersion(), 'dev-') === 0) { + $intervals = array(); + $branches = array('names' => array(), 'exclude' => false); + + // != dev-foo means any numeric version may match, we treat >/< like != they are not really defined for branches + if ($op === '!=') { + $intervals[] = new Interval(Interval::fromZero(), Interval::untilPositiveInfinity()); + $branches = array('names' => array($constraint->getVersion()), 'exclude' => true); + } elseif ($op === '==') { + $branches['names'][] = $constraint->getVersion(); + } + + return array( + 'numeric' => $intervals, + 'branches' => $branches, + ); + } + + if ($op[0] === '>') { // > & >= + return array('numeric' => array(new Interval($constraint, Interval::untilPositiveInfinity())), 'branches' => Interval::noDev()); + } + if ($op[0] === '<') { // < & <= + return array('numeric' => array(new Interval(Interval::fromZero(), $constraint)), 'branches' => Interval::noDev()); + } + if ($op === '!=') { + // convert !=x to intervals of 0 - x - +inf + dev* + return array('numeric' => array( + new Interval(Interval::fromZero(), new Constraint('<', $constraint->getVersion())), + new Interval(new Constraint('>', $constraint->getVersion()), Interval::untilPositiveInfinity()), + ), 'branches' => Interval::anyDev()); + } + + // convert ==x to an interval of >=x - <=x + return array('numeric' => array( + new Interval(new Constraint('>=', $constraint->getVersion()), new Constraint('<=', $constraint->getVersion())), + ), 'branches' => Interval::noDev()); + } +} diff --git a/src/ncc/ThirdParty/composer/semver/LICENSE b/src/ncc/ThirdParty/composer/semver/LICENSE new file mode 100644 index 0000000..4669758 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2015 Composer + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/ncc/ThirdParty/composer/semver/README.md b/src/ncc/ThirdParty/composer/semver/README.md new file mode 100644 index 0000000..a42864d --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/README.md @@ -0,0 +1,99 @@ +composer/semver +=============== + +Semver (Semantic Versioning) library that offers utilities, version constraint parsing and validation. + +Originally written as part of [composer/composer](https://github.com/composer/composer), +now extracted and made available as a stand-alone library. + +[![Continuous Integration](https://github.com/composer/semver/actions/workflows/continuous-integration.yml/badge.svg?branch=main)](https://github.com/composer/semver/actions/workflows/continuous-integration.yml) +[![PHP Lint](https://github.com/composer/semver/actions/workflows/lint.yml/badge.svg?branch=main)](https://github.com/composer/semver/actions/workflows/lint.yml) +[![PHPStan](https://github.com/composer/semver/actions/workflows/phpstan.yml/badge.svg?branch=main)](https://github.com/composer/semver/actions/workflows/phpstan.yml) + +Installation +------------ + +Install the latest version with: + +```bash +composer require composer/semver +``` + + +Requirements +------------ + +* PHP 5.3.2 is required but using the latest version of PHP is highly recommended. + + +Version Comparison +------------------ + +For details on how versions are compared, refer to the [Versions](https://getcomposer.org/doc/articles/versions.md) +article in the documentation section of the [getcomposer.org](https://getcomposer.org) website. + + +Basic usage +----------- + +### Comparator + +The [`Composer\Semver\Comparator`](https://github.com/composer/semver/blob/main/src/Comparator.php) class provides the following methods for comparing versions: + +* greaterThan($v1, $v2) +* greaterThanOrEqualTo($v1, $v2) +* lessThan($v1, $v2) +* lessThanOrEqualTo($v1, $v2) +* equalTo($v1, $v2) +* notEqualTo($v1, $v2) + +Each function takes two version strings as arguments and returns a boolean. For example: + +```php +use ncc\ThirdParty\composer\semver\Comparator; + +Comparator::greaterThan('1.25.0', '1.24.0'); // 1.25.0 > 1.24.0 +``` + +### Semver + +The [`Composer\Semver\Semver`](https://github.com/composer/semver/blob/main/src/Semver.php) class provides the following methods: + +* satisfies($version, $constraints) +* satisfiedBy(array $versions, $constraint) +* sort($versions) +* rsort($versions) + +### Intervals + +The [`Composer\Semver\Intervals`](https://github.com/composer/semver/blob/main/src/Intervals.php) static class provides +a few utilities to work with complex constraints or read version intervals from a constraint: + +```php +use ncc\ThirdParty\composer\semver\Intervals; + +// Checks whether $candidate is a subset of $constraint +Intervals::isSubsetOf(ConstraintInterface $candidate, ConstraintInterface $constraint); + +// Checks whether $a and $b have any intersection, equivalent to $a->matches($b) +Intervals::haveIntersections(ConstraintInterface $a, ConstraintInterface $b); + +// Optimizes a complex multi constraint by merging all intervals down to the smallest +// possible multi constraint. The drawbacks are this is not very fast, and the resulting +// multi constraint will have no human readable prettyConstraint configured on it +Intervals::compactConstraint(ConstraintInterface $constraint); + +// Creates an array of numeric intervals and branch constraints representing a given constraint +Intervals::get(ConstraintInterface $constraint); + +// Clears the memoization cache when you are done processing constraints +Intervals::clear() +``` + +See the class docblocks for more details. + + +License +------- + +composer/semver is licensed under the MIT License, see the LICENSE file for details. diff --git a/src/ncc/ThirdParty/composer/semver/Semver.php b/src/ncc/ThirdParty/composer/semver/Semver.php new file mode 100644 index 0000000..6f6159e --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/Semver.php @@ -0,0 +1,129 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\Semver; + +use ncc\ThirdParty\composer\semver\Constraint\Constraint; + +class Semver +{ + const SORT_ASC = 1; + const SORT_DESC = -1; + + /** @var VersionParser */ + private static $versionParser; + + /** + * Determine if given version satisfies given constraints. + * + * @param string $version + * @param string $constraints + * + * @return bool + */ + public static function satisfies($version, $constraints) + { + if (null === self::$versionParser) { + self::$versionParser = new VersionParser(); + } + + $versionParser = self::$versionParser; + $provider = new Constraint('==', $versionParser->normalize($version)); + $parsedConstraints = $versionParser->parseConstraints($constraints); + + return $parsedConstraints->matches($provider); + } + + /** + * Return all versions that satisfy given constraints. + * + * @param string[] $versions + * @param string $constraints + * + * @return string[] + */ + public static function satisfiedBy(array $versions, $constraints) + { + $versions = array_filter($versions, function ($version) use ($constraints) { + return Semver::satisfies($version, $constraints); + }); + + return array_values($versions); + } + + /** + * Sort given array of versions. + * + * @param string[] $versions + * + * @return string[] + */ + public static function sort(array $versions) + { + return self::usort($versions, self::SORT_ASC); + } + + /** + * Sort given array of versions in reverse. + * + * @param string[] $versions + * + * @return string[] + */ + public static function rsort(array $versions) + { + return self::usort($versions, self::SORT_DESC); + } + + /** + * @param string[] $versions + * @param int $direction + * + * @return string[] + */ + private static function usort(array $versions, $direction) + { + if (null === self::$versionParser) { + self::$versionParser = new VersionParser(); + } + + $versionParser = self::$versionParser; + $normalized = array(); + + // Normalize outside of usort() scope for minor performance increase. + // Creates an array of arrays: [[normalized, key], ...] + foreach ($versions as $key => $version) { + $normalizedVersion = $versionParser->normalize($version); + $normalizedVersion = $versionParser->normalizeDefaultBranch($normalizedVersion); + $normalized[] = array($normalizedVersion, $key); + } + + usort($normalized, function (array $left, array $right) use ($direction) { + if ($left[0] === $right[0]) { + return 0; + } + + if (Comparator::lessThan($left[0], $right[0])) { + return -$direction; + } + + return $direction; + }); + + // Recreate input array, using the original indexes which are now in sorted order. + $sorted = array(); + foreach ($normalized as $item) { + $sorted[] = $versions[$item[1]]; + } + + return $sorted; + } +} diff --git a/src/ncc/ThirdParty/composer/semver/VERSION b/src/ncc/ThirdParty/composer/semver/VERSION new file mode 100644 index 0000000..fbcbf73 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/VERSION @@ -0,0 +1 @@ +3.4.0 \ No newline at end of file diff --git a/src/ncc/ThirdParty/composer/semver/VersionParser.php b/src/ncc/ThirdParty/composer/semver/VersionParser.php new file mode 100644 index 0000000..4ff22b0 --- /dev/null +++ b/src/ncc/ThirdParty/composer/semver/VersionParser.php @@ -0,0 +1,586 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace ncc\ThirdParty\composer\Semver; + +use ncc\ThirdParty\composer\semver\Constraint\ConstraintInterface; +use ncc\ThirdParty\composer\semver\Constraint\MatchAllConstraint; +use ncc\ThirdParty\composer\semver\Constraint\MultiConstraint; +use ncc\ThirdParty\composer\semver\Constraint\Constraint; + +/** + * Version parser. + * + * @author Jordi Boggiano + */ +class VersionParser +{ + /** + * Regex to match pre-release data (sort of). + * + * Due to backwards compatibility: + * - Instead of enforcing hyphen, an underscore, dot or nothing at all are also accepted. + * - Only stabilities as recognized by Composer are allowed to precede a numerical identifier. + * - Numerical-only pre-release identifiers are not supported, see tests. + * + * |--------------| + * [major].[minor].[patch] -[pre-release] +[build-metadata] + * + * @var string + */ + private static $modifierRegex = '[._-]?(?:(stable|beta|b|RC|alpha|a|patch|pl|p)((?:[.-]?\d+)*+)?)?([.-]?dev)?'; + + /** @var string */ + private static $stabilitiesRegex = 'stable|RC|beta|alpha|dev'; + + /** + * Returns the stability of a version. + * + * @param string $version + * + * @return string + * @phpstan-return 'stable'|'RC'|'beta'|'alpha'|'dev' + */ + public static function parseStability($version) + { + $version = (string) preg_replace('{#.+$}', '', (string) $version); + + if (strpos($version, 'dev-') === 0 || '-dev' === substr($version, -4)) { + return 'dev'; + } + + preg_match('{' . self::$modifierRegex . '(?:\+.*)?$}i', strtolower($version), $match); + + if (!empty($match[3])) { + return 'dev'; + } + + if (!empty($match[1])) { + if ('beta' === $match[1] || 'b' === $match[1]) { + return 'beta'; + } + if ('alpha' === $match[1] || 'a' === $match[1]) { + return 'alpha'; + } + if ('rc' === $match[1]) { + return 'RC'; + } + } + + return 'stable'; + } + + /** + * @param string $stability + * + * @return string + */ + public static function normalizeStability($stability) + { + $stability = strtolower((string) $stability); + + return $stability === 'rc' ? 'RC' : $stability; + } + + /** + * Normalizes a version string to be able to perform comparisons on it. + * + * @param string $version + * @param ?string $fullVersion optional complete version string to give more context + * + * @throws \UnexpectedValueException + * + * @return string + */ + public function normalize($version, $fullVersion = null) + { + $version = trim((string) $version); + $origVersion = $version; + if (null === $fullVersion) { + $fullVersion = $version; + } + + // strip off aliasing + if (preg_match('{^([^,\s]++) ++as ++([^,\s]++)$}', $version, $match)) { + $version = $match[1]; + } + + // strip off stability flag + if (preg_match('{@(?:' . self::$stabilitiesRegex . ')$}i', $version, $match)) { + $version = substr($version, 0, strlen($version) - strlen($match[0])); + } + + // normalize master/trunk/default branches to dev-name for BC with 1.x as these used to be valid constraints + if (\in_array($version, array('master', 'trunk', 'default'), true)) { + $version = 'dev-' . $version; + } + + // if requirement is branch-like, use full name + if (stripos($version, 'dev-') === 0) { + return 'dev-' . substr($version, 4); + } + + // strip off build metadata + if (preg_match('{^([^,\s+]++)\+[^\s]++$}', $version, $match)) { + $version = $match[1]; + } + + // match classical versioning + if (preg_match('{^v?(\d{1,5}+)(\.\d++)?(\.\d++)?(\.\d++)?' . self::$modifierRegex . '$}i', $version, $matches)) { + $version = $matches[1] + . (!empty($matches[2]) ? $matches[2] : '.0') + . (!empty($matches[3]) ? $matches[3] : '.0') + . (!empty($matches[4]) ? $matches[4] : '.0'); + $index = 5; + // match date(time) based versioning + } elseif (preg_match('{^v?(\d{4}(?:[.:-]?\d{2}){1,6}(?:[.:-]?\d{1,3}){0,2})' . self::$modifierRegex . '$}i', $version, $matches)) { + $version = (string) preg_replace('{\D}', '.', $matches[1]); + $index = 2; + } + + // add version modifiers if a version was matched + if (isset($index)) { + if (!empty($matches[$index])) { + if ('stable' === $matches[$index]) { + return $version; + } + $version .= '-' . $this->expandStability($matches[$index]) . (isset($matches[$index + 1]) && '' !== $matches[$index + 1] ? ltrim($matches[$index + 1], '.-') : ''); + } + + if (!empty($matches[$index + 2])) { + $version .= '-dev'; + } + + return $version; + } + + // match dev branches + if (preg_match('{(.*?)[.-]?dev$}i', $version, $match)) { + try { + $normalized = $this->normalizeBranch($match[1]); + // a branch ending with -dev is only valid if it is numeric + // if it gets prefixed with dev- it means the branch name should + // have had a dev- prefix already when passed to normalize + if (strpos($normalized, 'dev-') === false) { + return $normalized; + } + } catch (\Exception $e) { + } + } + + $extraMessage = ''; + if (preg_match('{ +as +' . preg_quote($version) . '(?:@(?:'.self::$stabilitiesRegex.'))?$}', $fullVersion)) { + $extraMessage = ' in "' . $fullVersion . '", the alias must be an exact version'; + } elseif (preg_match('{^' . preg_quote($version) . '(?:@(?:'.self::$stabilitiesRegex.'))? +as +}', $fullVersion)) { + $extraMessage = ' in "' . $fullVersion . '", the alias source must be an exact version, if it is a branch name you should prefix it with dev-'; + } + + throw new \UnexpectedValueException('Invalid version string "' . $origVersion . '"' . $extraMessage); + } + + /** + * Extract numeric prefix from alias, if it is in numeric format, suitable for version comparison. + * + * @param string $branch Branch name (e.g. 2.1.x-dev) + * + * @return string|false Numeric prefix if present (e.g. 2.1.) or false + */ + public function parseNumericAliasPrefix($branch) + { + if (preg_match('{^(?P(\d++\\.)*\d++)(?:\.x)?-dev$}i', (string) $branch, $matches)) { + return $matches['version'] . '.'; + } + + return false; + } + + /** + * Normalizes a branch name to be able to perform comparisons on it. + * + * @param string $name + * + * @return string + */ + public function normalizeBranch($name) + { + $name = trim((string) $name); + + if (preg_match('{^v?(\d++)(\.(?:\d++|[xX*]))?(\.(?:\d++|[xX*]))?(\.(?:\d++|[xX*]))?$}i', $name, $matches)) { + $version = ''; + for ($i = 1; $i < 5; ++$i) { + $version .= isset($matches[$i]) ? str_replace(array('*', 'X'), 'x', $matches[$i]) : '.x'; + } + + return str_replace('x', '9999999', $version) . '-dev'; + } + + return 'dev-' . $name; + } + + /** + * Normalizes a default branch name (i.e. master on git) to 9999999-dev. + * + * @param string $name + * + * @return string + * + * @deprecated No need to use this anymore in theory, Composer 2 does not normalize any branch names to 9999999-dev anymore + */ + public function normalizeDefaultBranch($name) + { + if ($name === 'dev-master' || $name === 'dev-default' || $name === 'dev-trunk') { + return '9999999-dev'; + } + + return (string) $name; + } + + /** + * Parses a constraint string into MultiConstraint and/or Constraint objects. + * + * @param string $constraints + * + * @return ConstraintInterface + */ + public function parseConstraints($constraints) + { + $prettyConstraint = (string) $constraints; + + $orConstraints = preg_split('{\s*\|\|?\s*}', trim((string) $constraints)); + if (false === $orConstraints) { + throw new \RuntimeException('Failed to preg_split string: '.$constraints); + } + $orGroups = array(); + + foreach ($orConstraints as $orConstraint) { + $andConstraints = preg_split('{(?< ,]) *(? 1) { + $constraintObjects = array(); + foreach ($andConstraints as $andConstraint) { + foreach ($this->parseConstraint($andConstraint) as $parsedAndConstraint) { + $constraintObjects[] = $parsedAndConstraint; + } + } + } else { + $constraintObjects = $this->parseConstraint($andConstraints[0]); + } + + if (1 === \count($constraintObjects)) { + $constraint = $constraintObjects[0]; + } else { + $constraint = new MultiConstraint($constraintObjects); + } + + $orGroups[] = $constraint; + } + + $parsedConstraint = MultiConstraint::create($orGroups, false); + + $parsedConstraint->setPrettyString($prettyConstraint); + + return $parsedConstraint; + } + + /** + * @param string $constraint + * + * @throws \UnexpectedValueException + * + * @return array + * + * @phpstan-return non-empty-array + */ + private function parseConstraint($constraint) + { + // strip off aliasing + if (preg_match('{^([^,\s]++) ++as ++([^,\s]++)$}', $constraint, $match)) { + $constraint = $match[1]; + } + + // strip @stability flags, and keep it for later use + if (preg_match('{^([^,\s]*?)@(' . self::$stabilitiesRegex . ')$}i', $constraint, $match)) { + $constraint = '' !== $match[1] ? $match[1] : '*'; + if ($match[2] !== 'stable') { + $stabilityModifier = $match[2]; + } + } + + // get rid of #refs as those are used by composer only + if (preg_match('{^(dev-[^,\s@]+?|[^,\s@]+?\.x-dev)#.+$}i', $constraint, $match)) { + $constraint = $match[1]; + } + + if (preg_match('{^(v)?[xX*](\.[xX*])*$}i', $constraint, $match)) { + if (!empty($match[1]) || !empty($match[2])) { + return array(new Constraint('>=', '0.0.0.0-dev')); + } + + return array(new MatchAllConstraint()); + } + + $versionRegex = 'v?(\d++)(?:\.(\d++))?(?:\.(\d++))?(?:\.(\d++))?(?:' . self::$modifierRegex . '|\.([xX*][.-]?dev))(?:\+[^\s]+)?'; + + // Tilde Range + // + // Like wildcard constraints, unsuffixed tilde constraints say that they must be greater than the previous + // version, to ensure that unstable instances of the current version are allowed. However, if a stability + // suffix is added to the constraint, then a >= match on the current version is used instead. + if (preg_match('{^~>?' . $versionRegex . '$}i', $constraint, $matches)) { + if (strpos($constraint, '~>') === 0) { + throw new \UnexpectedValueException( + 'Could not parse version constraint ' . $constraint . ': ' . + 'Invalid operator "~>", you probably meant to use the "~" operator' + ); + } + + // Work out which position in the version we are operating at + if (isset($matches[4]) && '' !== $matches[4] && null !== $matches[4]) { + $position = 4; + } elseif (isset($matches[3]) && '' !== $matches[3] && null !== $matches[3]) { + $position = 3; + } elseif (isset($matches[2]) && '' !== $matches[2] && null !== $matches[2]) { + $position = 2; + } else { + $position = 1; + } + + // when matching 2.x-dev or 3.0.x-dev we have to shift the second or third number, despite no second/third number matching above + if (!empty($matches[8])) { + $position++; + } + + // Calculate the stability suffix + $stabilitySuffix = ''; + if (empty($matches[5]) && empty($matches[7]) && empty($matches[8])) { + $stabilitySuffix .= '-dev'; + } + + $lowVersion = $this->normalize(substr($constraint . $stabilitySuffix, 1)); + $lowerBound = new Constraint('>=', $lowVersion); + + // For upper bound, we increment the position of one more significance, + // but highPosition = 0 would be illegal + $highPosition = max(1, $position - 1); + $highVersion = $this->manipulateVersionString($matches, $highPosition, 1) . '-dev'; + $upperBound = new Constraint('<', $highVersion); + + return array( + $lowerBound, + $upperBound, + ); + } + + // Caret Range + // + // Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple. + // In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for + // versions 0.X >=0.1.0, and no updates for versions 0.0.X + if (preg_match('{^\^' . $versionRegex . '($)}i', $constraint, $matches)) { + // Work out which position in the version we are operating at + if ('0' !== $matches[1] || '' === $matches[2] || null === $matches[2]) { + $position = 1; + } elseif ('0' !== $matches[2] || '' === $matches[3] || null === $matches[3]) { + $position = 2; + } else { + $position = 3; + } + + // Calculate the stability suffix + $stabilitySuffix = ''; + if (empty($matches[5]) && empty($matches[7]) && empty($matches[8])) { + $stabilitySuffix .= '-dev'; + } + + $lowVersion = $this->normalize(substr($constraint . $stabilitySuffix, 1)); + $lowerBound = new Constraint('>=', $lowVersion); + + // For upper bound, we increment the position of one more significance, + // but highPosition = 0 would be illegal + $highVersion = $this->manipulateVersionString($matches, $position, 1) . '-dev'; + $upperBound = new Constraint('<', $highVersion); + + return array( + $lowerBound, + $upperBound, + ); + } + + // X Range + // + // Any of X, x, or * may be used to "stand in" for one of the numeric values in the [major, minor, patch] tuple. + // A partial version range is treated as an X-Range, so the special character is in fact optional. + if (preg_match('{^v?(\d++)(?:\.(\d++))?(?:\.(\d++))?(?:\.[xX*])++$}', $constraint, $matches)) { + if (isset($matches[3]) && '' !== $matches[3] && null !== $matches[3]) { + $position = 3; + } elseif (isset($matches[2]) && '' !== $matches[2] && null !== $matches[2]) { + $position = 2; + } else { + $position = 1; + } + + $lowVersion = $this->manipulateVersionString($matches, $position) . '-dev'; + $highVersion = $this->manipulateVersionString($matches, $position, 1) . '-dev'; + + if ($lowVersion === '0.0.0.0-dev') { + return array(new Constraint('<', $highVersion)); + } + + return array( + new Constraint('>=', $lowVersion), + new Constraint('<', $highVersion), + ); + } + + // Hyphen Range + // + // Specifies an inclusive set. If a partial version is provided as the first version in the inclusive range, + // then the missing pieces are replaced with zeroes. If a partial version is provided as the second version in + // the inclusive range, then all versions that start with the supplied parts of the tuple are accepted, but + // nothing that would be greater than the provided tuple parts. + if (preg_match('{^(?P' . $versionRegex . ') +- +(?P' . $versionRegex . ')($)}i', $constraint, $matches)) { + // Calculate the stability suffix + $lowStabilitySuffix = ''; + if (empty($matches[6]) && empty($matches[8]) && empty($matches[9])) { + $lowStabilitySuffix = '-dev'; + } + + $lowVersion = $this->normalize($matches['from']); + $lowerBound = new Constraint('>=', $lowVersion . $lowStabilitySuffix); + + $empty = function ($x) { + return ($x === 0 || $x === '0') ? false : empty($x); + }; + + if ((!$empty($matches[12]) && !$empty($matches[13])) || !empty($matches[15]) || !empty($matches[17]) || !empty($matches[18])) { + $highVersion = $this->normalize($matches['to']); + $upperBound = new Constraint('<=', $highVersion); + } else { + $highMatch = array('', $matches[11], $matches[12], $matches[13], $matches[14]); + + // validate to version + $this->normalize($matches['to']); + + $highVersion = $this->manipulateVersionString($highMatch, $empty($matches[12]) ? 1 : 2, 1) . '-dev'; + $upperBound = new Constraint('<', $highVersion); + } + + return array( + $lowerBound, + $upperBound, + ); + } + + // Basic Comparators + if (preg_match('{^(<>|!=|>=?|<=?|==?)?\s*(.*)}', $constraint, $matches)) { + try { + try { + $version = $this->normalize($matches[2]); + } catch (\UnexpectedValueException $e) { + // recover from an invalid constraint like foobar-dev which should be dev-foobar + // except if the constraint uses a known operator, in which case it must be a parse error + if (substr($matches[2], -4) === '-dev' && preg_match('{^[0-9a-zA-Z-./]+$}', $matches[2])) { + $version = $this->normalize('dev-'.substr($matches[2], 0, -4)); + } else { + throw $e; + } + } + + $op = $matches[1] ?: '='; + + if ($op !== '==' && $op !== '=' && !empty($stabilityModifier) && self::parseStability($version) === 'stable') { + $version .= '-' . $stabilityModifier; + } elseif ('<' === $op || '>=' === $op) { + if (!preg_match('/-' . self::$modifierRegex . '$/', strtolower($matches[2]))) { + if (strpos($matches[2], 'dev-') !== 0) { + $version .= '-dev'; + } + } + } + + return array(new Constraint($matches[1] ?: '=', $version)); + } catch (\Exception $e) { + } + } + + $message = 'Could not parse version constraint ' . $constraint; + if (isset($e)) { + $message .= ': ' . $e->getMessage(); + } + + throw new \UnexpectedValueException($message); + } + + /** + * Increment, decrement, or simply pad a version number. + * + * Support function for {@link parseConstraint()} + * + * @param array $matches Array with version parts in array indexes 1,2,3,4 + * @param int $position 1,2,3,4 - which segment of the version to increment/decrement + * @param int $increment + * @param string $pad The string to pad version parts after $position + * + * @return string|null The new version + * + * @phpstan-param string[] $matches + */ + private function manipulateVersionString(array $matches, $position, $increment = 0, $pad = '0') + { + for ($i = 4; $i > 0; --$i) { + if ($i > $position) { + $matches[$i] = $pad; + } elseif ($i === $position && $increment) { + $matches[$i] += $increment; + // If $matches[$i] was 0, carry the decrement + if ($matches[$i] < 0) { + $matches[$i] = $pad; + --$position; + + // Return null on a carry overflow + if ($i === 1) { + return null; + } + } + } + } + + return $matches[1] . '.' . $matches[2] . '.' . $matches[3] . '.' . $matches[4]; + } + + /** + * Expand shorthand stability string to long version. + * + * @param string $stability + * + * @return string + */ + private function expandStability($stability) + { + $stability = strtolower($stability); + + switch ($stability) { + case 'a': + return 'alpha'; + case 'b': + return 'beta'; + case 'p': + case 'pl': + return 'patch'; + case 'rc': + return 'RC'; + default: + return $stability; + } + } +} diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/ClassConst.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/ClassConst.php index 26e0fe1..9a3b754 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/ClassConst.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/ClassConst.php @@ -5,11 +5,11 @@ declare(strict_types=1); namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Const_; -use ncc\ThirdParty\nikic\PhpParser\Node\Identifier; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Const_; +use PhpParser\Node\Identifier; +use PhpParser\Node\Stmt; class ClassConst implements PhpParser\Builder { @@ -19,6 +19,8 @@ class ClassConst implements PhpParser\Builder /** @var Node\AttributeGroup[] */ protected $attributeGroups = []; + /** @var Identifier|Node\Name|Node\ComplexType */ + protected $type; /** * Creates a class constant builder @@ -116,6 +118,19 @@ class ClassConst implements PhpParser\Builder return $this; } + /** + * Sets the constant type. + * + * @param string|Node\Name|Identifier|Node\ComplexType $type + * + * @return $this + */ + public function setType($type) { + $this->type = BuilderHelpers::normalizeType($type); + + return $this; + } + /** * Returns the built class node. * @@ -126,7 +141,8 @@ class ClassConst implements PhpParser\Builder $this->constants, $this->flags, $this->attributes, - $this->attributeGroups + $this->attributeGroups, + $this->type ); } } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Class_.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Class_.php index 193bcdf..08ac063 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Class_.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Class_.php @@ -3,10 +3,10 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Name; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Name; +use PhpParser\Node\Stmt; class Class_ extends Declaration { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Declaration.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Declaration.php index ce4fb6c..e69b5d9 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Declaration.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Declaration.php @@ -3,7 +3,7 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; +use PhpParser\BuilderHelpers; abstract class Declaration implements PhpParser\Builder { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/EnumCase.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/EnumCase.php index ade0d27..e0c48d9 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/EnumCase.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/EnumCase.php @@ -5,10 +5,10 @@ declare(strict_types=1); namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Identifier; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Identifier; +use PhpParser\Node\Stmt; class EnumCase implements PhpParser\Builder { @@ -78,8 +78,8 @@ class EnumCase implements PhpParser\Builder return new Stmt\EnumCase( $this->name, $this->value, - $this->attributes, - $this->attributeGroups + $this->attributeGroups, + $this->attributes ); } } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Enum_.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Enum_.php index 7cc8f21..13f92c7 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Enum_.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Enum_.php @@ -3,11 +3,11 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Identifier; -use ncc\ThirdParty\nikic\PhpParser\Node\Name; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Identifier; +use PhpParser\Node\Name; +use PhpParser\Node\Stmt; class Enum_ extends Declaration { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Function_.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Function_.php index 319289b..df3b618 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Function_.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Function_.php @@ -3,9 +3,9 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Stmt; class Function_ extends FunctionLike { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Interface_.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Interface_.php index c919a3c..cdd6170 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Interface_.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Interface_.php @@ -3,10 +3,10 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Name; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Name; +use PhpParser\Node\Stmt; class Interface_ extends Declaration { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Method.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Method.php index 7f1d644..b5e99d6 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Method.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Method.php @@ -3,9 +3,9 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Stmt; class Method extends FunctionLike { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Namespace_.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Namespace_.php index c023aef..fdd76af 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Namespace_.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Namespace_.php @@ -3,9 +3,9 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Stmt; class Namespace_ extends Declaration { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Param.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Param.php index 0260215..62f67fa 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Param.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Param.php @@ -3,8 +3,8 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; +use PhpParser\BuilderHelpers; +use PhpParser\Node; class Param implements PhpParser\Builder { @@ -19,6 +19,8 @@ class Param implements PhpParser\Builder protected $variadic = false; + protected $flags = 0; + /** @var Node\AttributeGroup[] */ protected $attributeGroups = []; @@ -95,6 +97,50 @@ class Param implements PhpParser\Builder return $this; } + /** + * Makes the (promoted) parameter public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() { + $this->flags = BuilderHelpers::addModifier($this->flags, Node\Stmt\Class_::MODIFIER_PUBLIC); + + return $this; + } + + /** + * Makes the (promoted) parameter protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() { + $this->flags = BuilderHelpers::addModifier($this->flags, Node\Stmt\Class_::MODIFIER_PROTECTED); + + return $this; + } + + /** + * Makes the (promoted) parameter private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() { + $this->flags = BuilderHelpers::addModifier($this->flags, Node\Stmt\Class_::MODIFIER_PRIVATE); + + return $this; + } + + /** + * Makes the (promoted) parameter readonly. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeReadonly() { + $this->flags = BuilderHelpers::addModifier($this->flags, Node\Stmt\Class_::MODIFIER_READONLY); + + return $this; + } + /** * Adds an attribute group. * @@ -116,7 +162,7 @@ class Param implements PhpParser\Builder public function getNode() : Node { return new Node\Param( new Node\Expr\Variable($this->name), - $this->default, $this->type, $this->byRef, $this->variadic, [], 0, $this->attributeGroups + $this->default, $this->type, $this->byRef, $this->variadic, [], $this->flags, $this->attributeGroups ); } } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Property.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Property.php index 013972e..7cfd059 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Property.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Property.php @@ -3,12 +3,12 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Identifier; -use ncc\ThirdParty\nikic\PhpParser\Node\Name; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; -use ncc\ThirdParty\nikic\PhpParser\Node\ComplexType; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Identifier; +use PhpParser\Node\Name; +use PhpParser\Node\Stmt; +use PhpParser\Node\ComplexType; class Property implements PhpParser\Builder { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/TraitUseAdaptation.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/TraitUseAdaptation.php index 379a128..2410612 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/TraitUseAdaptation.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/TraitUseAdaptation.php @@ -138,9 +138,9 @@ class TraitUseAdaptation implements Builder public function getNode() : Node { switch ($this->type) { case self::TYPE_ALIAS: - return new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias); + return new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias); case self::TYPE_PRECEDENCE: - return new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof); + return new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof); default: throw new \LogicException('Type of adaptation is not defined'); } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Trait_.php b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Trait_.php index 19a0adf..7f5ce92 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Builder/Trait_.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Builder/Trait_.php @@ -3,9 +3,9 @@ namespace ncc\ThirdParty\nikic\PhpParser\Builder; use ncc\ThirdParty\nikic\PhpParser; -use ncc\ThirdParty\nikic\PhpParser\BuilderHelpers; -use ncc\ThirdParty\nikic\PhpParser\Node; -use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; +use PhpParser\BuilderHelpers; +use PhpParser\Node; +use PhpParser\Node\Stmt; class Trait_ extends Declaration { diff --git a/src/ncc/ThirdParty/nikic/PhpParser/BuilderFactory.php b/src/ncc/ThirdParty/nikic/PhpParser/BuilderFactory.php index d296fa5..124b004 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/BuilderFactory.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/BuilderFactory.php @@ -349,15 +349,15 @@ class BuilderFactory /** * Creates a class constant fetch node. * - * @param string|Name|Expr $class Class name - * @param string|Identifier $name Constant name + * @param string|Name|Expr $class Class name + * @param string|Identifier|Expr $name Constant name * * @return Expr\ClassConstFetch */ public function classConstFetch($class, $name): Expr\ClassConstFetch { return new Expr\ClassConstFetch( BuilderHelpers::normalizeNameOrExpr($class), - BuilderHelpers::normalizeIdentifier($name) + BuilderHelpers::normalizeIdentifierOrExpr($name) ); } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Internal/PrintableNewAnonClassNode.php b/src/ncc/ThirdParty/nikic/PhpParser/Internal/PrintableNewAnonClassNode.php index b5b53ae..684e8e2 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Internal/PrintableNewAnonClassNode.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Internal/PrintableNewAnonClassNode.php @@ -19,6 +19,8 @@ class PrintableNewAnonClassNode extends Expr { /** @var Node\AttributeGroup[] PHP attribute groups */ public $attrGroups; + /** @var int Modifiers */ + public $flags; /** @var Node\Arg[] Arguments */ public $args; /** @var null|Node\Name Name of extended class */ @@ -29,11 +31,12 @@ class PrintableNewAnonClassNode extends Expr public $stmts; public function __construct( - array $attrGroups, array $args, Node\Name $extends = null, array $implements, + array $attrGroups, int $flags, array $args, Node\Name $extends = null, array $implements, array $stmts, array $attributes ) { parent::__construct($attributes); $this->attrGroups = $attrGroups; + $this->flags = $flags; $this->args = $args; $this->extends = $extends; $this->implements = $implements; @@ -46,7 +49,7 @@ class PrintableNewAnonClassNode extends Expr // We don't assert that $class->name is null here, to allow consumers to assign unique names // to anonymous classes for their own purposes. We simplify ignore the name here. return new self( - $class->attrGroups, $newNode->args, $class->extends, $class->implements, + $class->attrGroups, $class->flags, $newNode->args, $class->extends, $class->implements, $class->stmts, $newNode->getAttributes() ); } @@ -56,6 +59,6 @@ class PrintableNewAnonClassNode extends Expr } public function getSubNodeNames() : array { - return ['attrGroups', 'args', 'extends', 'implements', 'stmts']; + return ['attrGroups', 'flags', 'args', 'extends', 'implements', 'stmts']; } } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Internal/TokenStream.php b/src/ncc/ThirdParty/nikic/PhpParser/Internal/TokenStream.php index d2ec7be..11fc4b4 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Internal/TokenStream.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Internal/TokenStream.php @@ -206,6 +206,11 @@ class TokenStream || $this->haveTokenInRange($startPos, $endPos, '}'); } + public function haveTagInRange(int $startPos, int $endPos): bool { + return $this->haveTokenInRange($startPos, $endPos, \T_OPEN_TAG) + || $this->haveTokenInRange($startPos, $endPos, \T_CLOSE_TAG); + } + /** * Get indentation before token position. * diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Lexer/Emulative.php b/src/ncc/ThirdParty/nikic/PhpParser/Lexer/Emulative.php index f0bb31b..10df442 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Lexer/Emulative.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Lexer/Emulative.php @@ -14,6 +14,7 @@ use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\FnTokenEmulator; use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\MatchTokenEmulator; use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\NullsafeTokenEmulator; use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\NumericLiteralSeparatorEmulator; +use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\ReadonlyFunctionTokenEmulator; use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\ReadonlyTokenEmulator; use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\ReverseEmulator; use ncc\ThirdParty\nikic\PhpParser\Lexer\TokenEmulator\TokenEmulator; @@ -24,6 +25,7 @@ class Emulative extends Lexer const PHP_7_4 = '7.4dev'; const PHP_8_0 = '8.0dev'; const PHP_8_1 = '8.1dev'; + const PHP_8_2 = '8.2dev'; /** @var mixed[] Patches used to reverse changes introduced in the code */ private $patches = []; @@ -41,7 +43,7 @@ class Emulative extends Lexer */ public function __construct(array $options = []) { - $this->targetPhpVersion = $options['phpVersion'] ?? Emulative::PHP_8_1; + $this->targetPhpVersion = $options['phpVersion'] ?? Emulative::PHP_8_2; unset($options['phpVersion']); parent::__construct($options); @@ -57,6 +59,7 @@ class Emulative extends Lexer new EnumTokenEmulator(), new ReadonlyTokenEmulator(), new ExplicitOctalEmulator(), + new ReadonlyFunctionTokenEmulator(), ]; // Collect emulators that are relevant for the PHP version we're running diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php b/src/ncc/ThirdParty/nikic/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php new file mode 100644 index 0000000..4d1c5c3 --- /dev/null +++ b/src/ncc/ThirdParty/nikic/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php @@ -0,0 +1,31 @@ +attributes = $attributes; @@ -29,7 +29,7 @@ class ClassConstFetch extends Expr public function getSubNodeNames() : array { return ['class', 'name']; } - + public function getType() : string { return 'Expr_ClassConstFetch'; } diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Node/Name.php b/src/ncc/ThirdParty/nikic/PhpParser/Node/Name.php index 3286354..42ffd57 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Node/Name.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Node/Name.php @@ -6,7 +6,10 @@ use ncc\ThirdParty\nikic\PhpParser\NodeAbstract; class Name extends NodeAbstract { - /** @var string[] Parts of the name */ + /** + * @var string[] Parts of the name + * @deprecated Use getParts() instead + */ public $parts; private static $specialClassNames = [ @@ -30,6 +33,15 @@ class Name extends NodeAbstract return ['parts']; } + /** + * Get parts of name (split by the namespace separator). + * + * @return string[] Parts of name + */ + public function getParts(): array { + return $this->parts; + } + /** * Gets the first part of the name, i.e. everything before the first namespace separator. * diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Node/Scalar/DNumber.php b/src/ncc/ThirdParty/nikic/PhpParser/Node/Scalar/DNumber.php index 98b383b..5520185 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Node/Scalar/DNumber.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Node/Scalar/DNumber.php @@ -47,13 +47,7 @@ class DNumber extends Scalar public static function parse(string $str) : float { $str = str_replace('_', '', $str); - // if string contains any of .eE just cast it to float - if (false !== strpbrk($str, '.eE')) { - return (float) $str; - } - - // otherwise it's an integer notation that overflowed into a float - // if it starts with 0 it's one of the special integer notations + // Check whether this is one of the special integer notations. if ('0' === $str[0]) { // hex if ('x' === $str[1] || 'X' === $str[1]) { @@ -65,10 +59,12 @@ class DNumber extends Scalar return bindec($str); } - // oct - // substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit (8 or 9) - // so that only the digits before that are used - return octdec(substr($str, 0, strcspn($str, '89'))); + // oct, but only if the string does not contain any of '.eE'. + if (false === strpbrk($str, '.eE')) { + // substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit + // (8 or 9) so that only the digits before that are used. + return octdec(substr($str, 0, strcspn($str, '89'))); + } } // dec diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Node/Stmt/ClassConst.php b/src/ncc/ThirdParty/nikic/PhpParser/Node/Stmt/ClassConst.php index e03e8c1..f05a4f7 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Node/Stmt/ClassConst.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Node/Stmt/ClassConst.php @@ -10,31 +10,36 @@ class ClassConst extends Node\Stmt public $flags; /** @var Node\Const_[] Constant declarations */ public $consts; - /** @var Node\AttributeGroup[] */ + /** @var Node\AttributeGroup[] PHP attribute groups */ public $attrGroups; + /** @var Node\Identifier|Node\Name|Node\ComplexType|null Type declaration */ + public $type; /** * Constructs a class const list node. * - * @param Node\Const_[] $consts Constant declarations - * @param int $flags Modifiers - * @param array $attributes Additional attributes - * @param Node\AttributeGroup[] $attrGroups PHP attribute groups + * @param Node\Const_[] $consts Constant declarations + * @param int $flags Modifiers + * @param array $attributes Additional attributes + * @param Node\AttributeGroup[] $attrGroups PHP attribute groups + * @param null|string|Node\Identifier|Node\Name|Node\ComplexType $type Type declaration */ public function __construct( array $consts, int $flags = 0, array $attributes = [], - array $attrGroups = [] + array $attrGroups = [], + $type = null ) { $this->attributes = $attributes; $this->flags = $flags; $this->consts = $consts; $this->attrGroups = $attrGroups; + $this->type = \is_string($type) ? new Node\Identifier($type) : $type; } public function getSubNodeNames() : array { - return ['attrGroups', 'flags', 'consts']; + return ['attrGroups', 'flags', 'type', 'consts']; } /** diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Node/UnionType.php b/src/ncc/ThirdParty/nikic/PhpParser/Node/UnionType.php index f8003a5..aacfc0a 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Node/UnionType.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Node/UnionType.php @@ -4,7 +4,7 @@ namespace ncc\ThirdParty\nikic\PhpParser\Node; class UnionType extends ComplexType { - /** @var (Identifier|Name)[] Types */ + /** @var (Identifier|Name|IntersectionType)[] Types */ public $types; /** diff --git a/src/ncc/ThirdParty/nikic/PhpParser/NodeVisitor/NameResolver.php b/src/ncc/ThirdParty/nikic/PhpParser/NodeVisitor/NameResolver.php index 9c895e6..20b9455 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/NodeVisitor/NameResolver.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/NodeVisitor/NameResolver.php @@ -150,7 +150,7 @@ class NameResolver extends NodeVisitorAbstract $adaptation->trait = $this->resolveClassName($adaptation->trait); } - if ($adaptation instanceof \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Precedence) { + if ($adaptation instanceof Stmt\TraitUseAdaptation\Precedence) { foreach ($adaptation->insteadof as &$insteadof) { $insteadof = $this->resolveClassName($insteadof); } @@ -161,7 +161,7 @@ class NameResolver extends NodeVisitorAbstract return null; } - private function addAlias(Stmt\UseUse $use, $type, Name $prefix = null) { + private function addAlias(Stmt\UseUse $use, int $type, Name $prefix = null) { // Add prefix for group uses $name = $prefix ? Name::concat($prefix, $use->name) : $use->name; // Type is determined either by individual element or whole use declaration diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php5.php b/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php5.php index 9cd302a..91f9950 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php5.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php5.php @@ -18,8 +18,8 @@ use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 396; - protected $actionTableSize = 1093; - protected $gotoTableSize = 643; + protected $actionTableSize = 1099; + protected $gotoTableSize = 640; protected $invalidSymbol = 168; protected $errorSymbol = 1; @@ -27,7 +27,7 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract protected $unexpectedTokenRule = 32767; protected $YY2TBLSTATE = 415; - protected $numNonLeafStates = 662; + protected $numNonLeafStates = 663; protected $symbolToName = array( "EOF", @@ -152,6 +152,7 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract "T_PRIVATE", "T_PROTECTED", "T_PUBLIC", + "T_READONLY", "T_VAR", "T_UNSET", "T_ISSET", @@ -194,7 +195,6 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract "'`'", "']'", "'\"'", - "T_READONLY", "T_ENUM", "T_NULLSAFE_OBJECT_OPERATOR", "T_ATTRIBUTE" @@ -204,16 +204,16 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 0, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 56, 163, 168, 160, 55, 168, 168, - 158, 159, 53, 50, 8, 51, 52, 54, 168, 168, - 168, 168, 168, 168, 168, 168, 168, 168, 31, 155, + 168, 168, 168, 56, 164, 168, 161, 55, 168, 168, + 159, 160, 53, 50, 8, 51, 52, 54, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 31, 156, 44, 16, 46, 30, 68, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 70, 168, 162, 36, 168, 161, 168, 168, 168, + 168, 70, 168, 163, 36, 168, 162, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 168, 156, 35, 157, 58, 168, 168, 168, + 168, 168, 168, 157, 35, 158, 58, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, @@ -236,124 +236,124 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, - 113, 114, 115, 116, 117, 118, 119, 120, 121, 164, - 122, 123, 124, 125, 126, 127, 128, 129, 165, 130, - 131, 132, 166, 133, 134, 135, 136, 137, 138, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 150, 151, 152, 153, 154, 167 + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 165, 131, + 132, 133, 166, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 167 ); protected $action = array( - 699, 669, 670, 671, 672, 673, 286, 674, 675, 676, - 712, 713, 223, 224, 225, 226, 227, 228, 229, 230, + 700, 670, 671, 672, 673, 674, 286, 675, 676, 677, + 713, 714, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 0, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,-32766,-32766,-32766,-32766,-32766, -32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, 245, 246, - 242, 243, 244,-32766,-32766, 677,-32766, 750,-32766,-32766, - -32766,-32766,-32766,-32766,-32766, 1224, 245, 246, 1225, 678, - 679, 680, 681, 682, 683, 684,-32766, 48, 746,-32766, - -32766,-32766,-32766,-32766,-32766, 685, 686, 687, 688, 689, - 690, 691, 692, 693, 694, 695, 715, 738, 716, 717, - 718, 719, 707, 708, 709, 737, 710, 711, 696, 697, - 698, 700, 701, 702, 740, 741, 742, 743, 744, 745, - 703, 704, 705, 706, 736, 727, 725, 726, 722, 723, - 751, 714, 720, 721, 728, 729, 731, 730, 732, 733, - 55, 56, 425, 57, 58, 724, 735, 734, 1073, 59, - 60, -224, 61,-32766,-32766,-32766,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 121,-32767,-32767,-32767,-32767, 29, 107, - 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, - 118, 119, 1043, 766, 1071, 767, 580, 62, 63,-32766, - -32766,-32766,-32766, 64, 516, 65, 294, 295, 66, 67, - 68, 69, 70, 71, 72, 73, 822, 25, 302, 74, - 418, 981, 983, 1043, 1181, 1095, 1096, 1073, 748, 754, - 1075, 1074, 1076, 469,-32766,-32766,-32766, 337, 823, 54, - -32767,-32767,-32767,-32767, 98, 99, 100, 101, 102, 220, - 221, 222, 78, 361, 1107,-32766, 341,-32766,-32766,-32766, - -32766,-32766, 1107, 492, 949, 950, 951, 948, 947, 946, - 207, 477, 478, 949, 950, 951, 948, 947, 946, 1043, - 479, 480, 52, 1101, 1102, 1103, 1104, 1098, 1099, 319, - 872, 668, 667, 27, -511, 1105, 1100,-32766, 130, 1075, - 1074, 1076, 345, 668, 667, 41, 126, 341, 334, 369, - 336, 426, -128, -128, -128, 896, 897, 468, 220, 221, - 222, 811, 1195, 619, 40, 21, 427, -128, 470, -128, - 471, -128, 472, -128, 802, 428, -4, 823, 54, 207, - 33, 34, 429, 360, 317, 28, 35, 473,-32766,-32766, - -32766, 211, 356, 357, 474, 475,-32766,-32766,-32766, 754, - 476, 49, 313, 794, 843, 430, 431, 289, 125,-32766, - 813,-32766,-32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767, - -32767,-32767,-32767,-32766,-32766,-32766, 769, 103, 104, 105, - 327, 307, 825, 633, -128, 1075, 1074, 1076, 221, 222, - 927, 748, 1146, 106,-32766, 129,-32766,-32766,-32766,-32766, - 426, 823, 54, 902, 873, 302, 468, 75, 207, 359, - 811, 668, 667, 40, 21, 427, 754, 470, 754, 471, - 423, 472, 1043, 127, 428, 435, 1043, 341, 1043, 33, - 34, 429, 360, 1181, 415, 35, 473, 122, 10, 315, - 128, 356, 357, 474, 475,-32766,-32766,-32766, 768, 476, - 668, 667, 758, 843, 430, 431, 754, 1043, 1147,-32766, - -32766,-32766, 754, 419, 342, 1215,-32766, 131,-32766,-32766, - -32766, 341, 363, 346, 426, 823, 54, 100, 101, 102, - 468, 825, 633, -4, 811, 442, 903, 40, 21, 427, - 754, 470, 435, 471, 341, 472, 341, 766, 428, 767, - -209, -209, -209, 33, 34, 429, 360, 479, 1196, 35, - 473, 345,-32766,-32766,-32766, 356, 357, 474, 475, 220, - 221, 222, 421, 476, 32, 297, 794, 843, 430, 431, - 754, 754, 435,-32766, 341,-32766,-32766, 9, 300, 51, - 207, 249, 324, 753, 120, 220, 221, 222, 426, 30, - 247, 941, 422, 424, 468, 825, 633, -209, 811, 1043, - 1061, 40, 21, 427, 129, 470, 207, 471, 341, 472, - 804, 20, 428, 124, -208, -208, -208, 33, 34, 429, - 360, 479, 212, 35, 473, 923, -259, 823, 54, 356, - 357, 474, 475,-32766,-32766,-32766, 1043, 476, 213, 806, - 794, 843, 430, 431,-32766,-32766, 435, 435, 341, 341, - 443, 79, 80, 81,-32766, 668, 667, 636, 344, 808, - 668, 667, 239, 240, 241, 123, 214, 538, 250, 825, - 633, -208, 36, 251, 82, 83, 84, 85, 86, 87, - 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 252, 307, - 426, 220, 221, 222, 823, 54, 468,-32766, 222, 765, - 811, 106, 134, 40, 21, 427, 571, 470, 207, 471, - 445, 472, 207,-32766, 428, 896, 897, 207, 307, 33, - 34, 429, 245, 246, 637, 35, 473, 452, 22, 809, - 922, 356, 357, 457, 588, 135, 374, 595, 596, 476, - -228, 759, 639, 938, 653, 926, 661, -86, 823, 54, - 314, 644, 647, 821, 133, 836, 43, 106, 603, 44, - 45, 46, 47, 748, 50, 53, 132, 426, 302,-32766, - 520, 825, 633, 468, -84, 607, 577, 811, 641, 362, - 40, 21, 427, -278, 470, 754, 471, 954, 472, 441, - 627, 428, 823, 54, 574, 844, 33, 34, 429, 11, - 615, 845, 35, 473, 444, 461, 285, -511, 356, 357, - 592, -419, 593, 1106, 1153, -410, 476, 368, 838, 38, - 658, 426, 645, 795, 1052, 0, 325, 468, 0,-32766, - 0, 811, 0, 0, 40, 21, 427, 0, 470, 0, - 471, 0, 472, 0, 322, 428, 823, 54, 825, 633, - 33, 34, 429, 0, 326, 0, 35, 473, 323, 0, - 316, 318, 356, 357, -512, 426, 0, 753, 531, 0, - 476, 468, 6, 0, 0, 811, 650, 7, 40, 21, - 427, 12, 470, 14, 471, 373, 472, -420, 562, 428, - 823, 54, 78, -225, 33, 34, 429, 39, 656, 657, - 35, 473, 859, 633, 764, 812, 356, 357, 820, 799, - 814, 875, 866, 867, 476, 797, 860, 857, 855, 426, - 933, 934, 931, 819, 803, 468, 805, 807, 810, 811, - 930, 762, 40, 21, 427, 763, 470, 932, 471, 335, - 472, 358, 634, 428, 638, 640, 825, 633, 33, 34, - 429, 642, 643, 646, 35, 473, 648, 649, 651, 652, - 356, 357, 635, 426, 1221, 1223, 761, 842, 476, 468, - 248, 760, 841, 811, 1222, 840, 40, 21, 427, 1057, - 470, 830, 471, 1045, 472, 839, 1046, 428, 828, 215, - 216, 939, 33, 34, 429, 217, 864, 218, 35, 473, - 825, 633, 24, 865, 356, 357, 456, 1220, 1189, 209, - 1187, 1172, 476, 1185, 215, 216, 1086, 1095, 1096, 914, - 217, 1193, 218, 1183, -224, 1097, 26, 31, 37, 42, - 76, 77, 210, 288, 209, 292, 293, 308, 309, 310, - 311, 339, 1095, 1096, 825, 633, 355, 291, 416, 1152, - 1097, 16, 17, 18, 393, 453, 460, 462, 466, 552, - 624, 1048, 1051, 904, 1111, 1047, 1023, 563, 1022, 1088, - 0, 0, -429, 558, 1041, 1101, 1102, 1103, 1104, 1098, - 1099, 398, 1054, 1053, 1056, 1055, 1070, 1105, 1100, 1186, - 1171, 1167, 1184, 1085, 1218, 1112, 1166, 219, 558, 599, - 1101, 1102, 1103, 1104, 1098, 1099, 398, 0, 0, 0, - 0, 0, 1105, 1100, 0, 0, 0, 0, 0, 0, - 0, 0, 219 + 242, 243, 244,-32766,-32766, 678,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766,-32766, 1229, 245, 246, 1230, 679, + 680, 681, 682, 683, 684, 685, 899, 900, 747,-32766, + -32766,-32766,-32766,-32766,-32766, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 716, 739, 717, 718, + 719, 720, 708, 709, 710, 738, 711, 712, 697, 698, + 699, 701, 702, 703, 741, 742, 743, 744, 745, 746, + 875, 704, 705, 706, 707, 737, 728, 726, 727, 723, + 724, 1046, 715, 721, 722, 729, 730, 732, 731, 733, + 734, 55, 56, 425, 57, 58, 725, 736, 735, 755, + 59, 60, -226, 61,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766, 337,-32767,-32767,-32767,-32767, 29, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 620,-32766,-32766,-32766,-32766, 62, 63, + 1046,-32766,-32766,-32766, 64, 419, 65, 294, 295, 66, + 67, 68, 69, 70, 71, 72, 73, 823, 25, 302, + 74, 418, 984, 986, 669, 668, 1100, 1101, 1078, 755, + 755, 767, 1220, 768, 470,-32766,-32766,-32766, 341, 749, + 824, 54,-32767,-32767,-32767,-32767, 98, 99, 100, 101, + 102, 220, 221, 222, 362, 876,-32766, 27,-32766,-32766, + -32766,-32766,-32766, 1046, 493, 126, 1080, 1079, 1081, 370, + 1068, 930, 207, 478, 479, 952, 953, 954, 951, 950, + 949, 128, 480, 481, 803, 1106, 1107, 1108, 1109, 1103, + 1104, 319, 32, 297, 10, 211, -515, 1110, 1105, 669, + 668, 1080, 1079, 1081, 220, 221, 222, 41, 364, 341, + 334, 421, 336, 426, -128, -128, -128, 313, 1046, 469, + -4, 824, 54, 812, 770, 207, 40, 21, 427, -128, + 471, -128, 472, -128, 473, -128, 1046, 428, 220, 221, + 222,-32766, 33, 34, 429, 361, 327, 52, 35, 474, + -32766,-32766,-32766, 342, 357, 358, 475, 476, 48, 207, + 249, 669, 668, 477, 443, 300, 795, 846, 430, 431, + 28,-32766, 814,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32767,-32767,-32767,-32767,-32767, 952, 953, 954, 951, 950, + 949, 422, 755, 424, 426, 826, 634, -128,-32766,-32766, + 469, 824, 54, 288, 812, 1151, 755, 40, 21, 427, + 317, 471, 345, 472, 129, 473, 9, 1186, 428, 769, + 360, 324, 905, 33, 34, 429, 361, 1046, 415, 35, + 474, 944, 1068, 315, 125, 357, 358, 475, 476,-32766, + -32766,-32766, 926, 302, 477, 121, 1068, 759, 846, 430, + 431, 669, 668, 423, 755, 1152, 809, 1046, 480, 766, + -32766, 805,-32766,-32766,-32766,-32766, -261, 127, 347, 436, + 841, 341, 1078, 1200, 426, 446, 826, 634, -4, 807, + 469, 824, 54, 436, 812, 341, 755, 40, 21, 427, + 444, 471, 130, 472, 1068, 473, 346, 767, 428, 768, + -211, -211, -211, 33, 34, 429, 361, 308, 1076, 35, + 474,-32766,-32766,-32766, 1046, 357, 358, 475, 476,-32766, + -32766,-32766, 906, 120, 477, 539, 1068, 795, 846, 430, + 431, 436,-32766, 341,-32766,-32766,-32766, 1046, 480, 810, + -32766, 925,-32766,-32766, 754, 1080, 1079, 1081, 49,-32766, + -32766,-32766, 749, 751, 426, 1201, 826, 634, -211, 30, + 469, 669, 668, 436, 812, 341, 75, 40, 21, 427, + -32766, 471, 1064, 472, 124, 473, 669, 668, 428, 212, + -210, -210, -210, 33, 34, 429, 361, 51, 1186, 35, + 474, 755,-32766,-32766,-32766, 357, 358, 475, 476, 213, + 824, 54, 221, 222, 477, 20, 581, 795, 846, 430, + 431, 220, 221, 222, 755, 222, 247, 78, 79, 80, + 81, 341, 207, 517, 103, 104, 105, 752, 307, 131, + 637, 1068, 207, 341, 207, 122, 826, 634, -210, 36, + 106, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 1112, 307, 346, 436, 214, + 341, 824, 54, 426, 123, 250, 129, 134, 106, 469, + -32766, 572, 1112, 812, 245, 246, 40, 21, 427, 251, + 471, 252, 472, 341, 473, 453, 22, 428, 207, 899, + 900, 638, 33, 34, 429, 824, 54, -86, 35, 474, + 220, 221, 222, 314, 357, 358, 100, 101, 102, 239, + 240, 241, 645, 477, -230, 458, 589, 135, 374, 596, + 597, 207, 760, 640, 648, 642, 941, 654, 929, 662, + 822, 133, 307, 837, 426,-32766, 106, 749, 43, 44, + 469, 45, 442, 46, 812, 826, 634, 40, 21, 427, + 47, 471, 50, 472, 53, 473, 132, 608, 428, 302, + 604, -280,-32766, 33, 34, 429, 824, 54, 426, 35, + 474, 755, 957, -84, 469, 357, 358, 521, 812, 628, + 363, 40, 21, 427, 477, 471, 575, 472, -515, 473, + 847, 616, 428, -423,-32766, 11, 646, 33, 34, 429, + 824, 54, 445, 35, 474, 462, 285, 578, 1111, 357, + 358, 593, 369, 848, 594, 290, 826, 634, 477, 0, + 0, 532, 0, 0, 325, 0, 0, 0, 0, 0, + 651, 0, 0, 0, 322, 326, 0, 0, 0, 426, + 0, 0, 0, 0, 323, 469, 316, 318, -516, 812, + 862, 634, 40, 21, 427, 0, 471, 0, 472, 0, + 473, 1158, 0, 428, 0, -414, 6, 7, 33, 34, + 429, 824, 54, 426, 35, 474, 12, 14, 373, 469, + 357, 358, -424, 812, 563, 754, 40, 21, 427, 477, + 471, 248, 472, 839, 473, 38, 39, 428, 657, 658, + 765, 813, 33, 34, 429, 821, 800, 815, 35, 474, + 215, 216, 878, 869, 357, 358, 217, 870, 218, 798, + 863, 826, 634, 477, 860, 858, 936, 937, 934, 820, + 209, 804, 806, 808, 811, 933, 763, 764, 1100, 1101, + 935, 659, 78, 335, 426, 359, 1102, 635, 639, 641, + 469, 643, 644, 647, 812, 826, 634, 40, 21, 427, + 649, 471, 650, 472, 652, 473, 653, 636, 428, 796, + 1226, 1228, 762, 33, 34, 429, 215, 216, 845, 35, + 474, 761, 217, 844, 218, 357, 358, 1227, 843, 1060, + 831, 1048, 842, 1049, 477, 559, 209, 1106, 1107, 1108, + 1109, 1103, 1104, 398, 1100, 1101, 829, 942, 867, 1110, + 1105, 868, 1102, 457, 1225, 1194, 1192, 1177, 1157, 219, + 1190, 1091, 917, 1198, 1188, 0, 826, 634, 24, -433, + 26, 31, 37, 42, 76, 77, 210, 287, 292, 293, + 308, 309, 310, 311, 339, 356, 416, 0, -227, -226, + 16, 17, 18, 393, 454, 461, 463, 467, 553, 625, + 1051, 559, 1054, 1106, 1107, 1108, 1109, 1103, 1104, 398, + 907, 1116, 1050, 1026, 564, 1110, 1105, 1025, 1093, 1055, + 0, 1044, 0, 1057, 1056, 219, 1059, 1058, 1075, 0, + 1191, 1176, 1172, 1189, 1090, 1223, 1117, 1171, 600 ); protected $actionCheck = array( @@ -362,360 +362,359 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 41, 42, 0, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 9, 10, 11, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 69, 70, - 53, 54, 55, 9, 10, 57, 30, 80, 32, 33, + 53, 54, 55, 9, 10, 57, 30, 116, 32, 33, 34, 35, 36, 37, 38, 80, 69, 70, 83, 71, - 72, 73, 74, 75, 76, 77, 9, 70, 80, 33, + 72, 73, 74, 75, 76, 77, 135, 136, 80, 33, 34, 35, 36, 37, 38, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 153, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 3, 4, 5, 6, 7, 147, 148, 149, 80, 12, - 13, 159, 15, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 156, 44, 45, 46, 47, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 28, 29, 13, 106, 116, 108, 85, 50, 51, 33, - 34, 35, 36, 56, 85, 58, 59, 60, 61, 62, - 63, 64, 65, 66, 67, 68, 1, 70, 71, 72, - 73, 59, 60, 13, 82, 78, 79, 80, 80, 82, - 152, 153, 154, 86, 9, 10, 11, 8, 1, 2, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 9, - 10, 11, 156, 106, 143, 30, 160, 32, 33, 34, - 35, 36, 143, 116, 116, 117, 118, 119, 120, 121, - 30, 124, 125, 116, 117, 118, 119, 120, 121, 13, - 133, 134, 70, 136, 137, 138, 139, 140, 141, 142, - 31, 37, 38, 8, 132, 148, 149, 116, 156, 152, - 153, 154, 160, 37, 38, 158, 8, 160, 161, 8, - 163, 74, 75, 76, 77, 134, 135, 80, 9, 10, - 11, 84, 1, 80, 87, 88, 89, 90, 91, 92, - 93, 94, 95, 96, 155, 98, 0, 1, 2, 30, - 103, 104, 105, 106, 132, 8, 109, 110, 9, 10, - 11, 8, 115, 116, 117, 118, 9, 10, 11, 82, - 123, 70, 8, 126, 127, 128, 129, 8, 156, 30, - 155, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 9, 10, 11, 157, 53, 54, 55, - 8, 57, 155, 156, 157, 152, 153, 154, 10, 11, - 157, 80, 162, 69, 30, 151, 32, 33, 34, 35, - 74, 1, 2, 159, 155, 71, 80, 151, 30, 8, - 84, 37, 38, 87, 88, 89, 82, 91, 82, 93, - 8, 95, 13, 156, 98, 158, 13, 160, 13, 103, - 104, 105, 106, 82, 108, 109, 110, 156, 8, 113, - 31, 115, 116, 117, 118, 9, 10, 11, 157, 123, - 37, 38, 126, 127, 128, 129, 82, 13, 159, 33, - 34, 35, 82, 127, 8, 85, 30, 156, 32, 33, - 34, 160, 8, 147, 74, 1, 2, 50, 51, 52, - 80, 155, 156, 157, 84, 31, 159, 87, 88, 89, - 82, 91, 158, 93, 160, 95, 160, 106, 98, 108, - 100, 101, 102, 103, 104, 105, 106, 133, 159, 109, - 110, 160, 9, 10, 11, 115, 116, 117, 118, 9, - 10, 11, 8, 123, 144, 145, 126, 127, 128, 129, - 82, 82, 158, 30, 160, 32, 33, 108, 8, 70, - 30, 31, 113, 152, 16, 9, 10, 11, 74, 14, - 14, 122, 8, 8, 80, 155, 156, 157, 84, 13, - 159, 87, 88, 89, 151, 91, 30, 93, 160, 95, - 155, 159, 98, 14, 100, 101, 102, 103, 104, 105, - 106, 133, 16, 109, 110, 155, 157, 1, 2, 115, - 116, 117, 118, 9, 10, 11, 13, 123, 16, 155, - 126, 127, 128, 129, 33, 34, 158, 158, 160, 160, - 156, 9, 10, 11, 30, 37, 38, 31, 70, 155, - 37, 38, 50, 51, 52, 156, 16, 81, 16, 155, - 156, 157, 30, 16, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 16, 57, - 74, 9, 10, 11, 1, 2, 80, 116, 11, 155, - 84, 69, 156, 87, 88, 89, 160, 91, 30, 93, - 132, 95, 30, 33, 98, 134, 135, 30, 57, 103, - 104, 105, 69, 70, 31, 109, 110, 75, 76, 155, - 155, 115, 116, 75, 76, 101, 102, 111, 112, 123, - 159, 155, 156, 155, 156, 155, 156, 31, 1, 2, - 31, 31, 31, 31, 31, 38, 70, 69, 77, 70, - 70, 70, 70, 80, 70, 70, 70, 74, 71, 85, - 85, 155, 156, 80, 97, 96, 100, 84, 31, 106, - 87, 88, 89, 82, 91, 82, 93, 82, 95, 89, - 92, 98, 1, 2, 90, 127, 103, 104, 105, 97, - 94, 127, 109, 110, 97, 97, 97, 132, 115, 116, - 100, 146, 113, 143, 143, 146, 123, 106, 151, 155, - 157, 74, 31, 157, 162, -1, 114, 80, -1, 116, - -1, 84, -1, -1, 87, 88, 89, -1, 91, -1, - 93, -1, 95, -1, 130, 98, 1, 2, 155, 156, - 103, 104, 105, -1, 130, -1, 109, 110, 131, -1, - 132, 132, 115, 116, 132, 74, -1, 152, 150, -1, - 123, 80, 146, -1, -1, 84, 31, 146, 87, 88, - 89, 146, 91, 146, 93, 146, 95, 146, 150, 98, - 1, 2, 156, 159, 103, 104, 105, 155, 155, 155, - 109, 110, 155, 156, 155, 155, 115, 116, 155, 155, - 155, 155, 155, 155, 123, 155, 155, 155, 155, 74, - 155, 155, 155, 155, 155, 80, 155, 155, 155, 84, - 155, 155, 87, 88, 89, 155, 91, 155, 93, 156, - 95, 156, 156, 98, 156, 156, 155, 156, 103, 104, - 105, 156, 156, 156, 109, 110, 156, 156, 156, 156, - 115, 116, 156, 74, 157, 157, 157, 157, 123, 80, - 31, 157, 157, 84, 157, 157, 87, 88, 89, 157, - 91, 157, 93, 157, 95, 157, 157, 98, 157, 50, - 51, 157, 103, 104, 105, 56, 157, 58, 109, 110, - 155, 156, 158, 157, 115, 116, 157, 157, 157, 70, - 157, 157, 123, 157, 50, 51, 157, 78, 79, 157, - 56, 157, 58, 157, 159, 86, 158, 158, 158, 158, - 158, 158, 158, 158, 70, 158, 158, 158, 158, 158, - 158, 158, 78, 79, 155, 156, 158, 160, 158, 163, - 86, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 31, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 13, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 3, 4, 5, 6, 7, 148, 149, 150, 82, + 12, 13, 160, 15, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 8, 44, 45, 46, 47, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 80, 33, 34, 35, 36, 50, 51, + 13, 9, 10, 11, 56, 128, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 1, 70, 71, + 72, 73, 59, 60, 37, 38, 78, 79, 80, 82, + 82, 106, 85, 108, 86, 9, 10, 11, 161, 80, + 1, 2, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 9, 10, 11, 106, 156, 30, 8, 32, 33, + 34, 35, 36, 13, 116, 8, 153, 154, 155, 8, + 122, 158, 30, 125, 126, 116, 117, 118, 119, 120, + 121, 31, 134, 135, 156, 137, 138, 139, 140, 141, + 142, 143, 145, 146, 8, 8, 133, 149, 150, 37, + 38, 153, 154, 155, 9, 10, 11, 159, 8, 161, + 162, 8, 164, 74, 75, 76, 77, 8, 13, 80, + 0, 1, 2, 84, 158, 30, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 13, 98, 9, 10, + 11, 9, 103, 104, 105, 106, 8, 70, 109, 110, + 9, 10, 11, 8, 115, 116, 117, 118, 70, 30, + 31, 37, 38, 124, 31, 8, 127, 128, 129, 130, + 8, 30, 156, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 116, 117, 118, 119, 120, + 121, 8, 82, 8, 74, 156, 157, 158, 33, 34, + 80, 1, 2, 8, 84, 163, 82, 87, 88, 89, + 133, 91, 70, 93, 152, 95, 108, 82, 98, 158, + 8, 113, 160, 103, 104, 105, 106, 13, 108, 109, + 110, 123, 122, 113, 157, 115, 116, 117, 118, 9, + 10, 11, 156, 71, 124, 157, 122, 127, 128, 129, + 130, 37, 38, 8, 82, 160, 156, 13, 134, 156, + 30, 156, 32, 33, 34, 35, 158, 157, 148, 159, + 122, 161, 80, 1, 74, 133, 156, 157, 158, 156, + 80, 1, 2, 159, 84, 161, 82, 87, 88, 89, + 157, 91, 157, 93, 122, 95, 161, 106, 98, 108, + 100, 101, 102, 103, 104, 105, 106, 159, 116, 109, + 110, 9, 10, 11, 13, 115, 116, 117, 118, 9, + 10, 11, 160, 16, 124, 81, 122, 127, 128, 129, + 130, 159, 30, 161, 32, 33, 34, 13, 134, 156, + 30, 156, 32, 33, 153, 153, 154, 155, 70, 9, + 10, 11, 80, 80, 74, 160, 156, 157, 158, 14, + 80, 37, 38, 159, 84, 161, 152, 87, 88, 89, + 30, 91, 160, 93, 14, 95, 37, 38, 98, 16, + 100, 101, 102, 103, 104, 105, 106, 70, 82, 109, + 110, 82, 33, 34, 35, 115, 116, 117, 118, 16, + 1, 2, 10, 11, 124, 160, 85, 127, 128, 129, + 130, 9, 10, 11, 82, 11, 14, 157, 9, 10, + 11, 161, 30, 85, 53, 54, 55, 154, 57, 157, + 31, 122, 30, 161, 30, 157, 156, 157, 158, 30, + 69, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 144, 57, 161, 159, 16, + 161, 1, 2, 74, 157, 16, 152, 157, 69, 80, + 116, 161, 144, 84, 69, 70, 87, 88, 89, 16, + 91, 16, 93, 161, 95, 75, 76, 98, 30, 135, + 136, 31, 103, 104, 105, 1, 2, 31, 109, 110, + 9, 10, 11, 31, 115, 116, 50, 51, 52, 50, + 51, 52, 31, 124, 160, 75, 76, 101, 102, 111, + 112, 30, 156, 157, 31, 31, 156, 157, 156, 157, + 31, 31, 57, 38, 74, 33, 69, 80, 70, 70, + 80, 70, 89, 70, 84, 156, 157, 87, 88, 89, + 70, 91, 70, 93, 70, 95, 70, 96, 98, 71, + 77, 82, 85, 103, 104, 105, 1, 2, 74, 109, + 110, 82, 82, 97, 80, 115, 116, 85, 84, 92, + 106, 87, 88, 89, 124, 91, 90, 93, 133, 95, + 128, 94, 98, 147, 116, 97, 31, 103, 104, 105, + 1, 2, 97, 109, 110, 97, 97, 100, 144, 115, + 116, 100, 106, 128, 113, 161, 156, 157, 124, -1, + -1, 151, -1, -1, 114, -1, -1, -1, -1, -1, + 31, -1, -1, -1, 131, 131, -1, -1, -1, 74, + -1, -1, -1, -1, 132, 80, 133, 133, 133, 84, + 156, 157, 87, 88, 89, -1, 91, -1, 93, -1, + 95, 144, -1, 98, -1, 147, 147, 147, 103, 104, + 105, 1, 2, 74, 109, 110, 147, 147, 147, 80, + 115, 116, 147, 84, 151, 153, 87, 88, 89, 124, + 91, 31, 93, 152, 95, 156, 156, 98, 156, 156, + 156, 156, 103, 104, 105, 156, 156, 156, 109, 110, + 50, 51, 156, 156, 115, 116, 56, 156, 58, 156, + 156, 156, 157, 124, 156, 156, 156, 156, 156, 156, + 70, 156, 156, 156, 156, 156, 156, 156, 78, 79, + 156, 158, 157, 157, 74, 157, 86, 157, 157, 157, + 80, 157, 157, 157, 84, 156, 157, 87, 88, 89, + 157, 91, 157, 93, 157, 95, 157, 157, 98, 158, + 158, 158, 158, 103, 104, 105, 50, 51, 158, 109, + 110, 158, 56, 158, 58, 115, 116, 158, 158, 158, + 158, 158, 158, 158, 124, 135, 70, 137, 138, 139, + 140, 141, 142, 143, 78, 79, 158, 158, 158, 149, + 150, 158, 86, 158, 158, 158, 158, 158, 164, 159, + 158, 158, 158, 158, 158, -1, 156, 157, 159, 162, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, - -1, -1, 161, 134, 161, 136, 137, 138, 139, 140, - 141, 142, 162, 162, 162, 162, 162, 148, 149, 162, - 162, 162, 162, 162, 162, 162, 162, 158, 134, 162, - 136, 137, 138, 139, 140, 141, 142, -1, -1, -1, - -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, - -1, -1, 158 + 159, 159, 159, 159, 159, 159, 159, -1, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 135, 160, 137, 138, 139, 140, 141, 142, 143, + 160, 160, 160, 160, 160, 149, 150, 160, 160, 163, + -1, 162, -1, 163, 163, 159, 163, 163, 163, -1, + 163, 163, 163, 163, 163, 163, 163, 163, 163 ); protected $actionBase = array( - 0, 227, 326, 400, 474, 233, 132, 132, 752, -2, - -2, 138, -2, -2, -2, 663, 761, 815, 761, 586, - 717, 859, 859, 859, 244, 256, 256, 256, 413, 583, - 583, 880, 546, 169, 415, 444, 409, 200, 200, 200, - 200, 137, 137, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 249, 205, 738, 559, - 535, 739, 741, 742, 876, 679, 877, 820, 821, 693, - 823, 824, 826, 829, 832, 819, 834, 907, 836, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 67, 536, 299, 510, 230, 44, 652, 652, 652, - 652, 652, 652, 652, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 378, 584, 584, 584, 657, 909, 648, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 503, -21, -21, 436, 650, 364, 571, - 215, 426, 156, 26, 26, 329, 329, 329, 329, 329, - 46, 46, 5, 5, 5, 5, 152, 186, 186, 186, - 186, 120, 120, 120, 120, 374, 374, 429, 448, 448, - 334, 267, 449, 449, 449, 449, 449, 449, 449, 449, - 449, 449, 336, 427, 427, 572, 572, 408, 551, 551, - 551, 551, 671, 171, 171, 391, 311, 311, 311, 109, - 641, 856, 68, 68, 68, 68, 68, 68, 324, 324, - 324, -3, -3, -3, 655, 77, 380, 77, 380, 683, - 685, 86, 685, 654, -15, 516, 776, 281, 646, 809, - 680, 816, 560, 711, 202, 578, 857, 643, -23, 578, - 578, 578, 578, 857, 622, 628, 596, -23, 578, -23, - 639, 454, 849, 351, 249, 558, 469, 631, 743, 514, - 688, 746, 464, 544, 548, 556, 7, 412, 708, 750, - 878, 879, 349, 702, 631, 631, 631, 327, 101, 7, - -8, 623, 623, 623, 623, 219, 623, 623, 623, 623, - 291, 430, 545, 401, 745, 653, 653, 675, 839, 814, - 814, 653, 673, 653, 675, 841, 841, 841, 841, 653, - 653, 653, 653, 814, 814, 667, 814, 275, 684, 694, - 694, 841, 713, 714, 653, 653, 697, 814, 814, 814, - 697, 687, 841, 669, 637, 333, 814, 841, 689, 673, - 689, 653, 669, 689, 673, 673, 689, 22, 686, 656, - 840, 842, 860, 756, 638, 644, 847, 848, 843, 845, - 838, 692, 719, 720, 528, 659, 660, 661, 662, 696, - 664, 698, 643, 658, 658, 658, 645, 701, 645, 658, - 658, 658, 658, 658, 658, 658, 658, 632, 635, 709, - 699, 670, 723, 566, 582, 758, 640, 636, 872, 865, - 881, 883, 849, 870, 645, 890, 634, 288, 610, 850, - 633, 753, 645, 851, 645, 759, 645, 873, 777, 666, - 778, 779, 658, 874, 891, 892, 893, 894, 897, 898, - 899, 900, 665, 901, 724, 674, 866, 344, 844, 639, - 705, 677, 755, 725, 780, 372, 902, 784, 645, 645, - 765, 706, 645, 766, 726, 712, 862, 727, 867, 903, - 640, 678, 868, 645, 681, 785, 904, 372, 690, 651, - 704, 649, 728, 858, 875, 853, 767, 612, 617, 787, - 788, 792, 691, 730, 863, 864, 835, 731, 770, 642, - 771, 676, 794, 772, 852, 732, 796, 798, 871, 647, - 707, 682, 672, 668, 773, 799, 869, 733, 735, 736, - 801, 737, 804, 0, 0, 0, 0, 0, 0, 0, + 0, 229, 310, 390, 470, 103, 325, 325, 784, -2, + -2, 149, -2, -2, -2, 660, 765, 799, 765, 589, + 694, 870, 870, 870, 252, 404, 404, 404, 514, 177, + 177, 918, 434, 118, 295, 313, 240, 491, 491, 491, + 491, 138, 138, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 89, 206, 773, 550, + 535, 775, 776, 777, 912, 709, 913, 856, 857, 700, + 858, 859, 862, 863, 864, 855, 865, 935, 866, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 322, 592, 285, 319, 232, 44, 691, 691, 691, + 691, 691, 691, 691, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 582, 530, 530, 530, 594, 860, 658, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 500, -21, -21, 492, 702, 420, 355, + 216, 549, 151, 26, 26, 331, 331, 331, 331, 331, + 46, 46, 5, 5, 5, 5, 153, 188, 188, 188, + 188, 121, 121, 121, 121, 314, 314, 394, 394, 362, + 300, 298, 499, 499, 499, 499, 499, 499, 499, 499, + 499, 499, 67, 656, 656, 659, 659, 522, 554, 554, + 554, 554, 679, -59, -59, 381, 462, 462, 462, 528, + 717, 854, 382, 382, 382, 382, 382, 382, 561, 561, + 561, -3, -3, -3, 692, 115, 137, 115, 137, 678, + 732, 450, 732, 338, 677, -15, 510, 810, 468, 707, + 850, 711, 853, 572, 735, 267, 529, 654, 674, 463, + 529, 529, 529, 529, 654, 610, 640, 608, 463, 529, + 463, 718, 323, 496, 89, 570, 507, 675, 778, 293, + 670, 780, 290, 373, 332, 566, 278, 435, 733, 781, + 914, 917, 385, 715, 675, 675, 675, 352, 511, 278, + -8, 605, 605, 605, 605, 156, 605, 605, 605, 605, + 251, 276, 375, 402, 779, 657, 657, 690, 872, 869, + 869, 657, 689, 657, 690, 874, 874, 874, 874, 657, + 657, 657, 657, 869, 869, 869, 688, 869, 239, 703, + 704, 704, 874, 742, 743, 657, 657, 712, 869, 869, + 869, 712, 695, 874, 701, 741, 277, 869, 874, 672, + 689, 672, 657, 701, 672, 689, 689, 672, 22, 666, + 668, 873, 875, 887, 790, 662, 685, 879, 880, 876, + 878, 871, 699, 744, 745, 497, 669, 671, 673, 680, + 719, 682, 713, 674, 667, 667, 667, 655, 720, 655, + 667, 667, 667, 667, 667, 667, 667, 667, 916, 646, + 731, 714, 653, 749, 553, 573, 791, 664, 811, 900, + 893, 867, 919, 881, 898, 655, 920, 739, 247, 643, + 882, 783, 786, 655, 883, 655, 792, 655, 902, 812, + 686, 813, 814, 667, 910, 921, 923, 924, 925, 927, + 928, 929, 930, 684, 931, 750, 696, 894, 299, 877, + 718, 729, 705, 788, 751, 820, 328, 932, 823, 655, + 655, 794, 785, 655, 795, 756, 740, 890, 757, 895, + 933, 664, 708, 896, 655, 706, 825, 934, 328, 681, + 683, 888, 661, 761, 886, 911, 885, 796, 649, 663, + 829, 830, 831, 693, 763, 891, 892, 889, 764, 803, + 665, 805, 697, 832, 807, 884, 768, 833, 834, 899, + 676, 730, 710, 698, 687, 809, 835, 897, 769, 770, + 771, 848, 772, 849, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 137, 137, 137, 137, -2, -2, -2, - -2, 0, 0, -2, 0, 0, 0, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 0, 0, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, - 137, 137, 137, 137, 137, 137, 137, 137, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 602, -21, -21, -21, -21, 602, -21, - -21, -21, -21, -21, -21, -21, 602, 602, 602, 602, - 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, - 602, 602, 602, 602, -21, 602, 602, 602, -21, 68, - -21, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 602, 0, 0, 602, -21, - 602, -21, 602, -21, -21, 602, 602, 602, 602, 602, - 602, 602, -21, -21, -21, -21, -21, -21, 0, 324, - 324, 324, 324, -21, -21, -21, -21, 68, 68, 147, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 324, 324, -3, -3, 68, - 68, 68, 68, 68, 147, 68, 68, -23, 673, 673, - 673, 380, 380, 380, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 380, -23, 0, -23, - 0, 68, -23, 673, -23, 380, 673, 673, -23, 814, - 604, 604, 604, 604, 372, 7, 0, 0, 673, 673, - 0, 0, 0, 0, 0, 673, 0, 0, 0, 0, - 0, 0, 814, 0, 653, 0, 0, 0, 0, 658, - 288, 0, 677, 456, 0, 0, 0, 0, 0, 0, - 677, 456, 530, 530, 0, 665, 658, 658, 658, 0, + 0, 0, 0, 0, 138, 138, 138, 138, -2, -2, + -2, -2, 0, 0, -2, 0, 0, 0, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 0, 0, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 599, -21, -21, -21, -21, 599, + -21, -21, -21, -21, -21, -21, -21, 599, 599, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 599, 599, 599, -21, 599, 599, 599, -21, + 382, -21, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 599, 0, 0, 599, + -21, 599, -21, 599, -21, -21, 599, 599, 599, 599, + 599, 599, 599, -21, -21, -21, -21, -21, -21, 0, + 561, 561, 561, 561, -21, -21, -21, -21, 382, 382, + 382, 382, 382, 382, 259, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 561, 561, -3, -3, + 382, 382, 382, 382, 382, 259, 382, 382, 463, 689, + 689, 689, 137, 137, 137, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 137, 463, 0, + 463, 0, 382, 463, 689, 463, 657, 137, 689, 689, + 463, 869, 616, 616, 616, 616, 328, 278, 0, 0, + 689, 689, 0, 0, 0, 0, 0, 689, 0, 0, + 0, 0, 0, 0, 869, 0, 0, 0, 0, 0, + 667, 247, 0, 705, 335, 0, 0, 0, 0, 0, + 0, 705, 335, 347, 347, 0, 684, 667, 667, 667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 372 + 0, 0, 0, 0, 0, 0, 0, 328 ); protected $actionDefault = array( 3,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 540, 540, 495,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 297, 297, 297, - 32767,32767,32767, 528, 528, 528, 528, 528, 528, 528, - 528, 528, 528, 528,32767,32767,32767,32767,32767,32767, - 381,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 544, 544, 499,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 299, 299, 299, + 32767,32767,32767, 532, 532, 532, 532, 532, 532, 532, + 532, 532, 532, 532,32767,32767,32767,32767,32767,32767, + 383,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 387, - 545,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 362, - 363, 365, 366, 296, 548, 529, 245, 388, 544, 295, - 247, 325, 499,32767,32767,32767, 327, 122, 256, 201, - 498, 125, 294, 232, 380, 382, 326, 301, 306, 307, - 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, - 318, 300, 454, 359, 358, 357, 456,32767, 455, 492, - 492, 495,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 389, + 549,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 364, + 365, 367, 368, 298, 552, 533, 247, 390, 548, 297, + 249, 327, 503,32767,32767,32767, 329, 122, 258, 203, + 502, 125, 296, 234, 382, 384, 328, 303, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 302, 458, 361, 360, 359, 460,32767, 459, 496, + 496, 499,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 323, 483, 482, 324, 452, 328, 453, - 331, 457, 460, 329, 330, 347, 348, 345, 346, 349, - 458, 459, 476, 477, 474, 475, 299, 350, 351, 352, - 353, 478, 479, 480, 481,32767,32767, 280, 539, 539, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 338, 339, 467, 468,32767, 236, 236, - 236, 236, 281, 236,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 333, 334, - 332, 462, 463, 461, 428,32767,32767,32767, 430,32767, - 32767,32767,32767,32767,32767,32767,32767, 500,32767,32767, - 32767,32767,32767, 513, 417, 171,32767, 409,32767, 171, - 171, 171, 171,32767, 220, 222, 167,32767, 171,32767, - 486,32767,32767,32767,32767,32767, 518, 343,32767,32767, - 116,32767,32767,32767, 555,32767, 513,32767, 116,32767, - 32767,32767,32767, 356, 335, 336, 337,32767,32767, 517, - 511, 470, 471, 472, 473,32767, 464, 465, 466, 469, - 32767,32767,32767,32767,32767,32767,32767,32767, 425, 431, - 431,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 516, 515,32767, 410, 494, 186, 184, - 184,32767, 206, 206,32767,32767, 188, 487, 506,32767, - 188, 173,32767, 398, 175, 494,32767,32767, 238,32767, - 238,32767, 398, 238,32767,32767, 238,32767, 411, 435, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 377, 378, 489, 502,32767, - 503,32767, 409, 341, 342, 344, 320,32767, 322, 367, - 368, 369, 370, 371, 372, 373, 375,32767, 415,32767, - 418,32767,32767,32767, 255,32767, 553,32767,32767, 304, - 553,32767,32767,32767, 547,32767,32767, 298,32767,32767, - 32767,32767, 251,32767, 169,32767, 537,32767, 554,32767, - 511,32767, 340,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 512,32767,32767,32767,32767, 227,32767, 448, - 32767, 116,32767,32767,32767, 187,32767,32767, 302, 246, - 32767,32767, 546,32767,32767,32767,32767,32767,32767,32767, - 32767, 114,32767, 170,32767,32767,32767, 189,32767,32767, - 511,32767,32767,32767,32767,32767,32767,32767, 293,32767, - 32767,32767,32767,32767,32767,32767, 511,32767,32767, 231, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 411, - 32767, 274,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 127, 127, 3, 127, 127, 258, 3, - 258, 127, 258, 258, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 214, 217, 206, 206, 164, 127, - 127, 266 + 32767,32767,32767, 325, 487, 486, 326, 456, 330, 457, + 333, 461, 464, 331, 332, 349, 350, 347, 348, 351, + 462, 463, 480, 481, 478, 479, 301, 352, 353, 354, + 355, 482, 483, 484, 485,32767,32767, 543, 543,32767, + 32767, 282,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 340, 341, 471, 472,32767, 238, 238, + 238, 238, 283, 238,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 335, 336, + 334, 466, 467, 465, 432,32767,32767,32767, 434,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 504,32767, + 32767,32767,32767,32767, 517, 421, 171,32767, 413,32767, + 171, 171, 171, 171,32767, 222, 224, 167,32767, 171, + 32767, 490,32767,32767,32767,32767, 522, 345,32767,32767, + 116,32767,32767,32767, 559,32767, 517,32767, 116,32767, + 32767,32767,32767, 358, 337, 338, 339,32767,32767, 521, + 515, 474, 475, 476, 477,32767, 468, 469, 470, 473, + 32767,32767,32767,32767,32767,32767,32767,32767, 429, 435, + 435,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 520, 519,32767, 414, 498, 188, + 186, 186,32767, 208, 208,32767,32767, 190, 491, 510, + 32767, 190, 173,32767, 400, 175, 498,32767,32767, 240, + 32767, 240,32767, 400, 240,32767,32767, 240,32767, 415, + 439,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 379, 380, 493, 506, + 32767, 507,32767, 413, 343, 344, 346, 322,32767, 324, + 369, 370, 371, 372, 373, 374, 375, 377,32767, 419, + 32767, 422,32767,32767,32767, 257,32767, 557,32767,32767, + 306, 557,32767,32767,32767, 551,32767,32767, 300,32767, + 32767,32767,32767, 253,32767, 169,32767, 541,32767, 558, + 32767, 515,32767, 342,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 516,32767,32767,32767,32767, 229,32767, + 452,32767, 116,32767,32767,32767, 189,32767,32767, 304, + 248,32767,32767, 550,32767,32767,32767,32767,32767,32767, + 32767,32767, 114,32767, 170,32767,32767,32767, 191,32767, + 32767, 515,32767,32767,32767,32767,32767,32767,32767, 295, + 32767,32767,32767,32767,32767,32767,32767, 515,32767,32767, + 233,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 415,32767, 276,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 127, 127, 3, 127, 127, 260, + 3, 260, 127, 260, 260, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 216, 219, 208, 208, 164, + 127, 127, 268 ); protected $goto = array( 166, 140, 140, 140, 166, 187, 168, 144, 147, 141, 142, 143, 149, 163, 163, 163, 163, 144, 144, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, - 138, 159, 160, 161, 162, 184, 139, 185, 493, 494, - 377, 495, 499, 500, 501, 502, 503, 504, 505, 506, - 967, 164, 145, 146, 148, 171, 176, 186, 203, 253, + 138, 159, 160, 161, 162, 184, 139, 185, 494, 495, + 377, 496, 500, 501, 502, 503, 504, 505, 506, 507, + 970, 164, 145, 146, 148, 171, 176, 186, 203, 253, 256, 258, 260, 263, 264, 265, 266, 267, 268, 269, 277, 278, 279, 280, 303, 304, 328, 329, 330, 394, - 395, 396, 542, 188, 189, 190, 191, 192, 193, 194, + 395, 396, 543, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 150, 151, 152, 167, 153, 169, 154, 204, 170, 155, 156, 157, 205, - 158, 136, 620, 560, 756, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 560, 560, 560, 560, 560, 560, 560, 1108, - 628, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, - 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, - 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, - 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, - 1108, 1108, 1108, 1108, 1108, 757, 888, 888, 508, 1200, - 1200, 400, 606, 508, 536, 536, 568, 532, 534, 534, - 496, 498, 524, 540, 569, 572, 583, 590, 852, 852, - 852, 852, 847, 853, 174, 585, 519, 600, 601, 177, + 158, 136, 621, 561, 757, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 1113, + 629, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 758, 520, 531, 509, 656, + 556, 1183, 750, 509, 592, 786, 1183, 888, 612, 613, + 884, 617, 618, 624, 626, 631, 633, 817, 855, 855, + 855, 855, 850, 856, 174, 891, 891, 1205, 1205, 177, 178, 179, 401, 402, 403, 404, 173, 202, 206, 208, 257, 259, 261, 262, 270, 271, 272, 273, 274, 275, 281, 282, 283, 284, 305, 306, 331, 332, 333, 406, 407, 408, 409, 175, 180, 254, 255, 181, 182, 183, - 497, 497, 785, 497, 497, 497, 497, 497, 497, 497, - 497, 497, 497, 497, 497, 497, 497, 509, 578, 582, - 626, 749, 509, 544, 545, 546, 547, 548, 549, 550, - 551, 553, 586, 338, 559, 321, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 559, 559, 559, 559, 559, 559, 559, 559, 559, 559, - 530, 349, 655, 555, 587, 352, 414, 591, 575, 604, - 885, 611, 612, 881, 616, 617, 623, 625, 630, 632, - 298, 296, 296, 296, 298, 290, 299, 944, 610, 816, - 1170, 613, 436, 436, 375, 436, 436, 436, 436, 436, - 436, 436, 436, 436, 436, 436, 436, 436, 436, 1072, - 1084, 1083, 945, 1065, 1072, 895, 895, 895, 895, 1178, - 895, 895, 1212, 1212, 1178, 388, 858, 561, 755, 1072, - 1072, 1072, 1072, 1072, 1072, 3, 4, 384, 384, 384, - 1212, 874, 856, 854, 856, 654, 465, 511, 883, 878, - 1089, 541, 384, 537, 384, 567, 384, 1026, 19, 15, - 371, 384, 1226, 510, 1204, 1192, 1192, 1192, 510, 906, - 372, 522, 533, 554, 912, 514, 1068, 1069, 13, 1065, - 378, 912, 1158, 594, 23, 965, 386, 386, 386, 602, - 1066, 1169, 1066, 937, 447, 449, 631, 752, 1177, 1067, - 1109, 614, 935, 1177, 605, 1197, 391, 1211, 1211, 543, - 892, 386, 1194, 1194, 1194, 399, 518, 1016, 901, 389, - 771, 529, 752, 340, 752, 1211, 518, 518, 385, 781, - 1214, 770, 772, 1063, 910, 774, 1058, 1176, 659, 953, - 514, 782, 862, 915, 450, 573, 1155, 0, 463, 0, + 498, 498, 498, 498, 498, 498, 861, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 510, 586, 538, + 601, 602, 510, 545, 546, 547, 548, 549, 550, 551, + 552, 554, 587, 1209, 560, 350, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 400, 607, 537, 537, 569, 533, 909, 535, 535, 497, + 499, 525, 541, 570, 573, 584, 591, 298, 296, 296, + 296, 298, 289, 299, 611, 378, 511, 614, 595, 947, + 375, 511, 437, 437, 437, 437, 437, 437, 1163, 437, + 437, 437, 437, 437, 437, 437, 437, 437, 437, 1077, + 948, 338, 1175, 321, 1077, 898, 898, 898, 898, 606, + 898, 898, 1217, 1217, 1202, 753, 576, 605, 756, 1077, + 1077, 1077, 1077, 1077, 1077, 1069, 384, 384, 384, 391, + 1217, 877, 859, 857, 859, 655, 466, 512, 886, 881, + 753, 384, 753, 384, 968, 384, 895, 385, 588, 353, + 414, 384, 1231, 1019, 542, 1197, 1197, 1197, 568, 1094, + 386, 386, 386, 904, 915, 515, 1029, 19, 15, 372, + 389, 915, 940, 448, 450, 632, 340, 1216, 1216, 1114, + 615, 938, 840, 555, 775, 386, 913, 1070, 1073, 1074, + 399, 1069, 1182, 660, 23, 1216, 773, 1182, 544, 603, + 1066, 1219, 1071, 1174, 1071, 519, 1199, 1199, 1199, 1089, + 1088, 1072, 343, 523, 534, 519, 519, 772, 351, 352, + 13, 579, 583, 627, 1061, 388, 782, 562, 771, 515, + 783, 1181, 3, 4, 918, 956, 865, 451, 574, 1160, + 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 514, 529, 0, 0, 0, 0, + 514, 0, 529, 0, 0, 0, 0, 610, 513, 516, + 439, 440, 1067, 619, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 780, 1224, 0, 0, 0, 0, + 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 513, 528, 0, 0, 0, 0, - 513, 0, 528, 0, 350, 351, 0, 609, 512, 515, - 438, 439, 1064, 618, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 779, 1219, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 523, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 301, 301 + 0, 0, 0, 0, 0, 0, 0, 0, 301, 301 ); protected $gotoCheck = array( @@ -730,96 +729,95 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 57, 68, 15, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 126, - 9, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 16, 76, 76, 68, 76, - 76, 51, 51, 68, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 68, 68, - 68, 68, 68, 68, 27, 66, 101, 66, 66, 27, + 43, 43, 57, 69, 15, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 128, + 9, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 16, 102, 32, 69, 32, + 32, 120, 6, 69, 32, 29, 120, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 50, 69, 69, + 69, 69, 69, 69, 27, 77, 77, 77, 77, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 117, 117, 29, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 61, 61, - 61, 6, 117, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 125, 57, 125, 57, 57, 57, 57, + 119, 119, 119, 119, 119, 119, 33, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 67, 110, + 67, 67, 119, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 142, 57, 72, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 32, 71, 32, 32, 69, 69, 69, 32, 40, 40, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 5, 5, 5, 5, 5, 5, 5, 97, 62, 50, - 81, 62, 57, 57, 62, 57, 57, 57, 57, 57, + 51, 51, 51, 51, 51, 51, 84, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 5, 5, 5, + 5, 5, 5, 5, 63, 46, 124, 63, 129, 98, + 63, 124, 57, 57, 57, 57, 57, 57, 133, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, - 124, 124, 97, 81, 57, 57, 57, 57, 57, 118, - 57, 57, 142, 142, 118, 12, 33, 12, 14, 57, - 57, 57, 57, 57, 57, 30, 30, 13, 13, 13, - 142, 14, 14, 14, 14, 14, 57, 14, 14, 14, - 34, 2, 13, 109, 13, 2, 13, 34, 34, 34, - 34, 13, 13, 122, 140, 9, 9, 9, 122, 83, - 58, 58, 58, 34, 13, 13, 81, 81, 58, 81, - 46, 13, 131, 127, 34, 101, 123, 123, 123, 34, - 81, 81, 81, 8, 8, 8, 8, 11, 119, 81, - 8, 8, 8, 119, 49, 138, 48, 141, 141, 47, - 78, 123, 119, 119, 119, 123, 47, 102, 80, 17, - 23, 9, 11, 18, 11, 141, 47, 47, 11, 23, - 141, 23, 24, 115, 84, 25, 113, 119, 73, 99, - 13, 26, 70, 85, 64, 65, 130, -1, 108, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 98, 127, 82, 127, 57, 57, 57, 57, 57, 49, + 57, 57, 144, 144, 140, 11, 40, 40, 14, 57, + 57, 57, 57, 57, 57, 82, 13, 13, 13, 48, + 144, 14, 14, 14, 14, 14, 57, 14, 14, 14, + 11, 13, 11, 13, 102, 13, 79, 11, 70, 70, + 70, 13, 13, 103, 2, 9, 9, 9, 2, 34, + 125, 125, 125, 81, 13, 13, 34, 34, 34, 34, + 17, 13, 8, 8, 8, 8, 18, 143, 143, 8, + 8, 8, 9, 34, 25, 125, 85, 82, 82, 82, + 125, 82, 121, 74, 34, 143, 24, 121, 47, 34, + 116, 143, 82, 82, 82, 47, 121, 121, 121, 126, + 126, 82, 58, 58, 58, 47, 47, 23, 72, 72, + 58, 62, 62, 62, 114, 12, 23, 12, 23, 13, + 26, 121, 30, 30, 86, 100, 71, 65, 66, 132, + 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, 9, -1, -1, -1, -1, - 9, -1, 9, -1, 71, 71, -1, 13, 9, 9, + 9, -1, 9, -1, -1, -1, -1, 13, 9, 9, 9, 9, 13, 13, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 9, 9, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 9, 9, -1, -1, -1, -1, + -1, 102, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5, 5 + -1, -1, -1, -1, -1, -1, -1, -1, 5, 5 ); protected $gotoBase = array( - 0, 0, -184, 0, 0, 356, 290, 0, 488, 149, - 0, 182, 85, 118, 426, 112, 203, 179, 208, 0, - 0, 0, 0, 162, 190, 198, 120, 27, 0, 272, - -224, 0, -274, 406, 32, 0, 0, 0, 0, 0, - 330, 0, 0, -24, 0, 0, 440, 485, 213, 218, - 371, -74, 0, 0, 0, 0, 0, 107, 110, 0, - 0, -11, -72, 0, 104, 95, -405, 0, -94, 41, - 119, -82, 0, 164, 0, 0, -79, 0, 197, 0, - 204, 43, 0, 441, 171, 121, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 115, - 0, 195, 210, 0, 0, 0, 0, 0, 86, 427, - 259, 0, 0, 116, 0, 174, 0, -5, 117, 196, - 0, 0, 161, 170, 93, -21, -48, 273, 0, 0, - 91, 271, 0, 0, 0, 0, 0, 0, 216, 0, - 437, 187, 102, 0, 0 + 0, 0, -172, 0, 0, 353, 201, 0, 477, 149, + 0, 110, 195, 117, 426, 112, 203, 140, 171, 0, + 0, 0, 0, 168, 164, 157, 119, 27, 0, 205, + -118, 0, -428, 266, 51, 0, 0, 0, 0, 0, + 388, 0, 0, -24, 0, 0, 345, 484, 146, 133, + 209, 75, 0, 0, 0, 0, 0, 107, 161, 0, + 0, 0, 222, -77, 0, 106, 97, -343, 0, -94, + 135, 123, -129, 0, 129, 0, 0, -50, 0, 143, + 0, 159, 64, 0, 338, 132, 122, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 121, 0, 165, 156, 0, 0, 0, 0, 0, 87, + 273, 259, 0, 0, 114, 0, 150, 0, 0, -5, + -91, 200, 0, 0, 84, 154, 202, 77, -48, 178, + 0, 0, 93, 187, 0, 0, 0, 0, 0, 0, + 136, 0, 286, 167, 102, 0, 0 ); protected $gotoDefault = array( - -32768, 467, 663, 2, 664, 834, 739, 747, 597, 481, - 629, 581, 380, 1188, 791, 792, 793, 381, 367, 482, - 379, 410, 405, 780, 773, 775, 783, 172, 411, 786, - 1, 788, 517, 824, 1017, 364, 796, 365, 589, 798, - 526, 800, 801, 137, 382, 383, 527, 483, 390, 576, - 815, 276, 387, 817, 366, 818, 827, 370, 464, 454, - 459, 556, 608, 432, 446, 570, 564, 535, 1081, 565, - 861, 348, 869, 660, 877, 880, 484, 557, 891, 451, - 899, 1094, 397, 905, 911, 916, 287, 919, 417, 412, - 584, 924, 925, 5, 929, 621, 622, 8, 312, 952, - 598, 966, 420, 1036, 1038, 485, 486, 521, 458, 507, - 525, 487, 1059, 440, 413, 1062, 488, 489, 433, 434, - 1078, 354, 1163, 353, 448, 320, 1150, 579, 1113, 455, - 1203, 1159, 347, 490, 491, 376, 1182, 392, 1198, 437, - 1205, 1213, 343, 539, 566 + -32768, 468, 664, 2, 665, 835, 740, 748, 598, 482, + 630, 582, 380, 1193, 792, 793, 794, 381, 368, 483, + 379, 410, 405, 781, 774, 776, 784, 172, 411, 787, + 1, 789, 518, 825, 1020, 365, 797, 366, 590, 799, + 527, 801, 802, 137, 382, 383, 528, 484, 390, 577, + 816, 276, 387, 818, 367, 819, 828, 371, 465, 455, + 460, 530, 557, 609, 432, 447, 571, 565, 536, 1086, + 566, 864, 349, 872, 661, 880, 883, 485, 558, 894, + 452, 902, 1099, 397, 908, 914, 919, 291, 922, 417, + 412, 585, 927, 928, 5, 932, 622, 623, 8, 312, + 955, 599, 969, 420, 1039, 1041, 486, 487, 522, 459, + 508, 526, 488, 1062, 441, 413, 1065, 433, 489, 490, + 434, 435, 1083, 355, 1168, 354, 449, 320, 1155, 580, + 1118, 456, 1208, 1164, 348, 491, 492, 376, 1187, 392, + 1203, 438, 1210, 1218, 344, 540, 567 ); protected $ruleToNonTerminal = array( @@ -840,19 +838,20 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 14, 14, 54, 54, 56, 55, 55, 48, - 48, 58, 58, 59, 59, 60, 60, 15, 16, 16, - 16, 63, 63, 63, 64, 64, 67, 67, 65, 65, - 69, 69, 41, 41, 50, 50, 53, 53, 53, 52, - 52, 70, 42, 42, 42, 42, 71, 71, 72, 72, - 73, 73, 39, 39, 35, 35, 74, 37, 37, 75, - 36, 36, 38, 38, 49, 49, 49, 61, 61, 77, - 77, 78, 78, 80, 80, 80, 79, 79, 62, 62, - 81, 81, 81, 82, 82, 83, 83, 83, 44, 44, - 84, 84, 84, 45, 45, 85, 85, 86, 86, 66, - 87, 87, 87, 87, 92, 92, 93, 93, 94, 94, - 94, 94, 94, 95, 96, 96, 91, 91, 88, 88, - 90, 90, 98, 98, 97, 97, 97, 97, 97, 97, - 89, 89, 100, 99, 99, 46, 46, 40, 40, 43, + 48, 58, 58, 59, 59, 60, 60, 61, 61, 15, + 16, 16, 16, 64, 64, 64, 65, 65, 68, 68, + 66, 66, 70, 70, 41, 41, 50, 50, 53, 53, + 53, 52, 52, 71, 42, 42, 42, 42, 72, 72, + 73, 73, 74, 74, 39, 39, 35, 35, 75, 37, + 37, 76, 36, 36, 38, 38, 49, 49, 49, 62, + 62, 78, 78, 79, 79, 81, 81, 81, 80, 80, + 63, 63, 82, 82, 82, 83, 83, 84, 84, 84, + 44, 44, 85, 85, 85, 45, 45, 86, 86, 87, + 87, 67, 88, 88, 88, 88, 93, 93, 94, 94, + 95, 95, 95, 95, 95, 96, 97, 97, 92, 92, + 89, 89, 91, 91, 99, 99, 98, 98, 98, 98, + 98, 98, 90, 90, 101, 100, 100, 46, 46, 40, + 40, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, @@ -860,26 +859,25 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, - 43, 43, 43, 43, 43, 34, 34, 47, 47, 105, - 105, 106, 106, 106, 106, 112, 101, 101, 108, 108, - 114, 114, 115, 116, 116, 116, 116, 116, 116, 68, - 68, 57, 57, 57, 57, 102, 102, 120, 120, 117, - 117, 121, 121, 121, 121, 103, 103, 103, 107, 107, - 107, 113, 113, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 126, 126, 126, 126, 27, 27, 27, 27, - 27, 27, 128, 128, 128, 128, 128, 128, 128, 128, + 43, 43, 43, 43, 43, 43, 43, 34, 34, 47, + 47, 106, 106, 107, 107, 107, 107, 113, 102, 102, + 109, 109, 115, 115, 116, 117, 118, 118, 118, 118, + 118, 118, 118, 69, 69, 57, 57, 57, 57, 103, + 103, 122, 122, 119, 119, 123, 123, 123, 123, 104, + 104, 104, 108, 108, 108, 114, 114, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 111, 111, 104, 104, - 104, 104, 127, 127, 130, 130, 129, 129, 131, 131, - 51, 51, 51, 51, 133, 133, 132, 132, 132, 132, - 132, 134, 134, 119, 119, 122, 122, 118, 118, 136, - 135, 135, 135, 135, 123, 123, 123, 123, 110, 110, - 124, 124, 124, 124, 76, 137, 137, 138, 138, 138, - 109, 109, 139, 139, 140, 140, 140, 140, 140, 125, - 125, 125, 125, 142, 143, 141, 141, 141, 141, 141, - 141, 141, 144, 144, 144 + 27, 27, 27, 27, 27, 27, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 112, 112, 105, 105, 105, 105, 129, 129, 132, 132, + 131, 131, 133, 133, 51, 51, 51, 51, 135, 135, + 134, 134, 134, 134, 134, 136, 136, 121, 121, 124, + 124, 120, 120, 138, 137, 137, 137, 137, 125, 125, + 125, 125, 111, 111, 126, 126, 126, 126, 77, 139, + 139, 140, 140, 140, 110, 110, 141, 141, 142, 142, + 142, 142, 142, 127, 127, 127, 127, 144, 145, 143, + 143, 143, 143, 143, 143, 143, 146, 146, 146 ); protected $ruleToLength = array( @@ -900,46 +898,46 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 2, 3, 2, 3, 2, 3, 3, 3, 3, 1, 2, 2, 5, 7, 9, 5, 6, 3, 3, 2, 2, 1, 1, 1, 0, 2, 8, 0, 4, 1, - 3, 0, 1, 0, 1, 0, 1, 10, 7, 6, - 5, 1, 2, 2, 0, 2, 0, 2, 0, 2, - 1, 3, 1, 4, 1, 4, 1, 1, 4, 1, - 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, - 1, 1, 1, 4, 0, 2, 3, 0, 2, 4, - 0, 2, 0, 3, 1, 2, 1, 1, 0, 1, - 3, 4, 6, 1, 1, 1, 0, 1, 0, 2, - 2, 3, 3, 1, 3, 1, 2, 2, 3, 1, - 1, 2, 4, 3, 1, 1, 3, 2, 0, 1, - 3, 3, 9, 3, 1, 3, 0, 2, 4, 5, - 4, 4, 4, 3, 1, 1, 1, 3, 1, 1, - 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, - 1, 3, 1, 1, 3, 3, 1, 0, 1, 1, - 3, 3, 4, 4, 1, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 0, 1, 0, 1, 0, 1, 1, 1, 10, + 7, 6, 5, 1, 2, 2, 0, 2, 0, 2, + 0, 2, 1, 3, 1, 4, 1, 4, 1, 1, + 4, 1, 3, 3, 3, 4, 4, 5, 0, 2, + 4, 3, 1, 1, 1, 4, 0, 2, 3, 0, + 2, 4, 0, 2, 0, 3, 1, 2, 1, 1, + 0, 1, 3, 4, 6, 1, 1, 1, 0, 1, + 0, 2, 2, 3, 3, 1, 3, 1, 2, 2, + 3, 1, 1, 2, 4, 3, 1, 1, 3, 2, + 0, 1, 3, 3, 9, 3, 1, 3, 0, 2, + 4, 5, 4, 4, 4, 3, 1, 1, 1, 3, + 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 3, 1, 1, 3, 3, 1, 0, + 1, 1, 3, 3, 4, 4, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 1, 3, 5, 4, 3, - 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, - 2, 1, 2, 10, 11, 3, 3, 2, 4, 4, - 3, 4, 4, 4, 4, 7, 3, 2, 0, 4, - 1, 3, 2, 2, 4, 6, 2, 2, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 3, 3, 4, 4, 0, 2, 1, 0, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 2, 1, 3, 1, 4, - 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 4, 4, 3, 1, 3, 1, 1, - 3, 3, 0, 2, 0, 1, 3, 1, 3, 1, - 1, 1, 1, 1, 6, 4, 3, 4, 2, 4, - 4, 1, 3, 1, 2, 1, 1, 4, 1, 1, - 3, 6, 4, 4, 4, 4, 1, 4, 0, 1, - 1, 3, 1, 1, 4, 3, 1, 1, 1, 0, - 0, 2, 3, 1, 3, 1, 4, 2, 2, 2, - 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, - 6, 3, 1, 1, 1 + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 1, 3, 5, + 4, 3, 4, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, + 1, 3, 2, 1, 2, 10, 11, 3, 3, 2, + 4, 4, 3, 4, 4, 4, 4, 7, 3, 2, + 0, 4, 1, 3, 2, 1, 2, 2, 4, 6, + 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 4, 4, 0, + 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, + 1, 3, 1, 4, 3, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, + 1, 3, 1, 1, 3, 3, 0, 2, 0, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 6, 4, + 3, 4, 2, 4, 4, 1, 3, 1, 2, 1, + 1, 4, 1, 1, 3, 6, 4, 4, 4, 4, + 1, 4, 0, 1, 1, 3, 1, 1, 4, 3, + 1, 1, 1, 0, 0, 2, 3, 1, 3, 1, + 4, 2, 2, 2, 2, 1, 2, 1, 1, 1, + 4, 3, 3, 3, 6, 3, 1, 1, 1 ); protected function initReduceCallbacks() { @@ -1492,36 +1490,36 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = true; }, 177 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 178 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 179 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 180 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(7-2)); }, - 179 => function ($stackPos) { + 181 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(6-2)); }, - 180 => function ($stackPos) { + 182 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 181 => function ($stackPos) { + 183 => function ($stackPos) { $this->semValue = 0; }, - 182 => function ($stackPos) { + 184 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, - 183 => function ($stackPos) { + 185 => function ($stackPos) { $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, - 184 => function ($stackPos) { - $this->semValue = null; - }, - 185 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, 186 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = null; }, 187 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-2)]; @@ -1533,16 +1531,16 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 190 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array(); }, 191 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 192 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 193 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 194 => function ($stackPos) { $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); @@ -1554,679 +1552,679 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, 197 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, 198 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 199 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 200 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 201 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 202 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 203 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 204 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 205 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 206 => function ($stackPos) { - $this->semValue = array(); - }, - 207 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 208 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 209 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 210 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 211 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 212 => function ($stackPos) { $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, - 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 214 => function ($stackPos) { - $this->semValue = array(); - }, - 215 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 216 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 217 => function ($stackPos) { - $this->semValue = array(); - }, - 218 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 219 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 220 => function ($stackPos) { + 199 => function ($stackPos) { $this->semValue = null; }, + 200 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 201 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 202 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 203 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 204 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 205 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 206 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 207 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, + 208 => function ($stackPos) { + $this->semValue = array(); + }, + 209 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 210 => function ($stackPos) { + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 211 => function ($stackPos) { + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 212 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 213 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 214 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 215 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 216 => function ($stackPos) { + $this->semValue = array(); + }, + 217 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 218 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 219 => function ($stackPos) { + $this->semValue = array(); + }, + 220 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, 221 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 222 => function ($stackPos) { $this->semValue = null; }, 223 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 224 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + $this->semValue = null; }, 225 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 226 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 227 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); }, 228 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); }, 229 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 230 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array(); }, 231 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 232 => function ($stackPos) { - $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 233 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 234 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); }, 235 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 236 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 237 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 238 => function ($stackPos) { $this->semValue = null; }, 239 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 240 => function ($stackPos) { - $this->semValue = array(); - }, - 241 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 242 => function ($stackPos) { - $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes)); - }, - 243 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 244 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 245 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 246 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 247 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 248 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 249 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 250 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 251 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + 240 => function ($stackPos) { + $this->semValue = null; }, - 252 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + 241 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, - 253 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 254 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 255 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 256 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 257 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } - }, - 258 => function ($stackPos) { + 242 => function ($stackPos) { $this->semValue = array(); }, + 243 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 244 => function ($stackPos) { + $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes)); + }, + 245 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 246 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 247 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 248 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 249 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 250 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 251 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 252 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 253 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 254 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 255 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 256 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 257 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 258 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 259 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, + 260 => function ($stackPos) { + $this->semValue = array(); + }, + 261 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 260 => function ($stackPos) { + 262 => function ($stackPos) { $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); }, - 261 => function ($stackPos) { + 263 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(3-2)], 0, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 262 => function ($stackPos) { + 264 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(9-1)); }, - 263 => function ($stackPos) { - $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 264 => function ($stackPos) { - $this->semValue = array(); - }, 265 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 266 => function ($stackPos) { $this->semValue = array(); }, 267 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 268 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 269 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 270 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 271 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 272 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 273 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); - }, - 274 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 275 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); - }, - 276 => function ($stackPos) { - $this->semValue = null; - }, - 277 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 278 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 279 => function ($stackPos) { - $this->semValue = 0; - }, - 280 => function ($stackPos) { - $this->semValue = 0; - }, - 281 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 282 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 283 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; - }, - 284 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; - }, - 285 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; - }, - 286 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; - }, - 287 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; - }, - 288 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - }, - 289 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - }, - 290 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 291 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 292 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 293 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 294 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 295 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 296 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 297 => function ($stackPos) { $this->semValue = array(); }, - 298 => function ($stackPos) { + 269 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 270 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 271 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 272 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 273 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 274 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 275 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 276 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 299 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + 277 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); }, - 300 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + 278 => function ($stackPos) { + $this->semValue = null; }, - 301 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 302 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 303 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 304 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 305 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 306 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 307 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 308 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 309 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 310 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 311 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 312 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 313 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 314 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 315 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 316 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 317 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 318 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 319 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 320 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 321 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 322 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 323 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 324 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 325 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 327 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 328 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 329 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 330 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 331 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 332 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 333 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 334 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 335 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 336 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 337 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 338 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 339 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 340 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 341 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 342 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 343 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 344 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 345 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 346 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 347 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 348 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 349 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 350 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 351 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 352 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 353 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 354 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 355 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 356 => function ($stackPos) { + 279 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, + 280 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 281 => function ($stackPos) { + $this->semValue = 0; + }, + 282 => function ($stackPos) { + $this->semValue = 0; + }, + 283 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 284 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 285 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 286 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, + 287 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, + 288 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, + 289 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + }, + 290 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, + 291 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, + 292 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 293 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 294 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 295 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 296 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 297 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 298 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 299 => function ($stackPos) { + $this->semValue = array(); + }, + 300 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 301 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 302 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 303 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 304 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 305 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 306 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 307 => function ($stackPos) { + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 308 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 309 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 310 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 311 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 312 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 313 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 314 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 315 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 316 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 317 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 318 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 319 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 320 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 321 => function ($stackPos) { + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 322 => function ($stackPos) { + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 323 => function ($stackPos) { + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 324 => function ($stackPos) { + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 325 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 326 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 327 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 330 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 331 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 332 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 333 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 334 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 335 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 336 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 337 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 338 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 340 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 341 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 342 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 343 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 344 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 345 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 346 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 347 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 348 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 349 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 350 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 351 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 352 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 353 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 354 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 355 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 356 => function ($stackPos) { + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 357 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 358 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 359 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 360 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 361 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 362 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 363 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 364 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 365 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 366 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 367 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 368 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 369 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 370 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); }, - 369 => function ($stackPos) { + 371 => function ($stackPos) { $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 370 => function ($stackPos) { + 372 => function ($stackPos) { $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 371 => function ($stackPos) { + 373 => function ($stackPos) { $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 372 => function ($stackPos) { + 374 => function ($stackPos) { $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 373 => function ($stackPos) { + 375 => function ($stackPos) { $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 374 => function ($stackPos) { + 376 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 375 => function ($stackPos) { - $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 376 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, 377 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 378 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 379 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 380 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 381 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 382 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 383 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 384 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 385 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, 386 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); }, 387 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 388 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 389 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 390 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 391 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); }, - 390 => function ($stackPos) { + 392 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 391 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 392 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch(Scalar\String_::fromString($this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, 393 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 394 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch(Scalar\String_::fromString($this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 395 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 396 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 397 => function ($stackPos) { $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); $this->checkClass($this->semValue[0], -1); }, - 396 => function ($stackPos) { + 398 => function ($stackPos) { $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 397 => function ($stackPos) { + 399 => function ($stackPos) { list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 398 => function ($stackPos) { + 400 => function ($stackPos) { $this->semValue = array(); }, - 399 => function ($stackPos) { + 401 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-3)]; }, - 400 => function ($stackPos) { + 402 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 401 => function ($stackPos) { + 403 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, - 402 => function ($stackPos) { + 404 => function ($stackPos) { $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 403 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 404 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, 405 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 406 => function ($stackPos) { - $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 407 => function ($stackPos) { $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 408 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 409 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 410 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 411 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 412 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 413 => function ($stackPos) { - $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 414 => function ($stackPos) { - $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 415 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 416 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 417 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 418 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 419 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2235,436 +2233,448 @@ class Php5 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 421 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 422 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 423 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 424 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 425 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 426 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 427 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 428 => function ($stackPos) { - $this->semValue = array(); - }, - 429 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); - }, - 430 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 431 => function ($stackPos) { - $this->semValue = array(); - }, - 432 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 433 => function ($stackPos) { - $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true); - }, - 434 => function ($stackPos) { - $this->semValue = Scalar\DNumber::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 435 => function ($stackPos) { - $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, false); - }, - 436 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 437 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 438 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 439 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 440 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 441 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 442 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 443 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 444 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false); - }, - 445 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false); - }, - 446 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 447 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 448 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 449 => function ($stackPos) { - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 450 => function ($stackPos) { - $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 451 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 452 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 453 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 454 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 455 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 456 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 457 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 458 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 459 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 460 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 461 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 462 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 463 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 464 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 465 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 466 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 467 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 468 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 469 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 470 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 471 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 472 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 473 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 474 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 475 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 476 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 477 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 478 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 479 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 480 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 481 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 482 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 483 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 484 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 485 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + 428 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 486 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + 429 => function ($stackPos) { + $this->semValue = null; }, - 487 => function ($stackPos) { + 430 => function ($stackPos) { + $this->semValue = null; + }, + 431 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 432 => function ($stackPos) { + $this->semValue = array(); + }, + 433 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 434 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 435 => function ($stackPos) { + $this->semValue = array(); + }, + 436 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 437 => function ($stackPos) { + $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true); + }, + 438 => function ($stackPos) { + $this->semValue = Scalar\DNumber::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 439 => function ($stackPos) { + $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, false); + }, + 440 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 441 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 442 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 443 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 444 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 445 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 446 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 447 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 448 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false); + }, + 449 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false); + }, + 450 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 451 => function ($stackPos) { $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 488 => function ($stackPos) { + 452 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 453 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 454 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 455 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 456 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 459 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 460 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 461 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 462 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 463 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 464 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 465 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 466 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 467 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 468 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 469 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 470 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 471 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 472 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 473 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 474 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 475 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 476 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 477 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 478 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 479 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 480 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 481 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 482 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 483 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 484 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 485 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 486 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 487 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 488 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, 489 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 490 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 491 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 492 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 493 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 494 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); }, - 491 => function ($stackPos) { + 495 => function ($stackPos) { $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, - 492 => function ($stackPos) { + 496 => function ($stackPos) { $this->semValue = array(); }, - 493 => function ($stackPos) { + 497 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 494 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 495 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 496 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 497 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, 498 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos]; }, 499 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos]; }, 500 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 501 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 502 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 503 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 504 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 505 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 506 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 507 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 508 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 509 => function ($stackPos) { $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 510 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 511 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 512 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 513 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 514 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 515 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 516 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 517 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 518 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 519 => function ($stackPos) { - $var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 520 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 521 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 522 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 523 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; }, 524 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 525 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, 526 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 527 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 528 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 529 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 530 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 531 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 532 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 533 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; - }, - 534 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 535 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 536 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 537 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 538 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 539 => function ($stackPos) { $this->semValue = null; }, - 540 => function ($stackPos) { - $this->semValue = array(); - }, - 541 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 542 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 543 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 544 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 545 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 546 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 547 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 548 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 549 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 550 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 551 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 552 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); - }, - 553 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 554 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 555 => function ($stackPos) { + 533 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 556 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + 534 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 557 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 558 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 559 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 560 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 561 => function ($stackPos) { + 535 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, + 536 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 537 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 538 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 539 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 540 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 541 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 542 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 543 => function ($stackPos) { + $this->semValue = null; + }, + 544 => function ($stackPos) { + $this->semValue = array(); + }, + 545 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 546 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 547 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 548 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 549 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 550 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 551 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 552 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true); + }, + 553 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 554 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 555 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 556 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + }, + 557 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 558 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 559 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 560 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 561 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, 562 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 563 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 564 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 565 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 566 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 567 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 568 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php7.php b/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php7.php index a60e03c..a5ab49d 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php7.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/Parser/Php7.php @@ -18,16 +18,16 @@ use ncc\ThirdParty\nikic\PhpParser\Node\Stmt; class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract { protected $tokenToSymbolMapSize = 396; - protected $actionTableSize = 1217; - protected $gotoTableSize = 604; + protected $actionTableSize = 1241; + protected $gotoTableSize = 629; protected $invalidSymbol = 168; protected $errorSymbol = 1; protected $defaultAction = -32766; protected $unexpectedTokenRule = 32767; - protected $YY2TBLSTATE = 429; - protected $numNonLeafStates = 717; + protected $YY2TBLSTATE = 434; + protected $numNonLeafStates = 736; protected $symbolToName = array( "EOF", @@ -244,330 +244,339 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract ); protected $action = array( - 132, 133, 134, 570, 135, 136, 0, 729, 730, 731, - 137, 37, 929, 450, 451, 452,-32766,-32766,-32766,-32767, - -32767,-32767,-32767, 101, 102, 103, 104, 105, 1085, 1086, - 1087, 1084, 1083, 1082, 1088, 723, 722,-32766, 1275,-32766, + 133, 134, 135, 579, 136, 137, 0, 748, 749, 750, + 138, 38, 327,-32766,-32766,-32766,-32766,-32766,-32766,-32767, + -32767,-32767,-32767, 102, 103, 104, 105, 106, 1109, 1110, + 1111, 1108, 1107, 1106, 1112, 742, 741,-32766, 1232,-32766, -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, - -32767, 373, 374, 918, 2, 732,-32766,-32766,-32766, 1001, - 472, 417, 150,-32766,-32766,-32766, 375, 374, 12, 267, - 138, 399, 736, 737, 738, 739, 417,-32766, 423,-32766, - -32766,-32766,-32766,-32766,-32766, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 770, 571, 771, 772, - 773, 774, 762, 763, 339, 340, 765, 766, 751, 752, - 753, 755, 756, 757, 349, 797, 798, 799, 800, 801, - 802, 758, 759, 572, 573, 791, 782, 780, 781, 794, - 777, 778, 323, 423, 574, 575, 776, 576, 577, 578, - 579, 580, 581, -324, -585, 810, 34, 805, 779, 582, - 583, -585, 139,-32766,-32766,-32766, 132, 133, 134, 570, - 135, 136, 1034, 729, 730, 731, 137, 37,-32766,-32766, - -32766, 544, 814, 126,-32766, 1310,-32766,-32766,-32766,-32766, - -32766,-32766,-32766, 1085, 1086, 1087, 1084, 1083, 1082, 1088, - 473, 723, 722,-32766,-32766,-32766, 458, 459, 81,-32766, - -32766,-32766, -193, -192, 322, 898, 240, 599, 1210, 1209, - 1211, 732, 816, 703,-32766, 1063,-32766,-32766,-32766,-32766, - -32766, 811,-32766,-32766,-32766, 267, 138, 399, 736, 737, - 738, 739, 1247, 1295, 423, 694, 1320, 35, 249, 1321, - 1294, 740, 741, 742, 743, 744, 745, 746, 747, 748, - 749, 750, 770, 571, 771, 772, 773, 774, 762, 763, - 339, 340, 765, 766, 751, 752, 753, 755, 756, 757, - 349, 797, 798, 799, 800, 801, 802, 758, 759, 572, - 573, 791, 782, 780, 781, 794, 777, 778, 888, 593, - 574, 575, 776, 576, 577, 578, 579, 580, 581, -324, - 82, 83, 84, -585, 779, 582, 583, -585, 148, 754, - 724, 725, 726, 727, 728, -582, 729, 730, 731, 767, - 768, 36, -582, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 108, -362, 271, -362, - -32766,-32766,-32766, 106, 107, 108, -268, 271, -193, -192, - 109, 933, 934, 900, 732, 689, 935, 14, 288, 109, - 815,-32766, 1061,-32766,-32766, 964, -86, 288, 733, 734, - 735, 736, 737, 738, 739, 239, 384, 803, 11, 1077, - -539,-32766,-32766,-32766, 740, 741, 742, 743, 744, 745, - 746, 747, 748, 749, 750, 770, 793, 771, 772, 773, - 774, 762, 763, 764, 792, 765, 766, 751, 752, 753, - 755, 756, 757, 796, 797, 798, 799, 800, 801, 802, - 758, 759, 760, 761, 791, 782, 780, 781, 794, 777, - 778, 128, -86, 769, 775, 776, 783, 784, 786, 785, - 787, 788, -576, 144, -539, -539, -576, 779, 790, 789, - 49, 50, 51, 503, 52, 53, 997, 996, 995, 998, - 54, 55, -111, 56, -582, 1033, 1010, -111, -582, -111, - 1291, -539,-32766,-32766, 302, 1010, 1010, -111, -111, -111, - -111, -111, -111, -111, -111, 1208, 841, 898, 842, 253, - 807, 287, 306, 965, 284, 898, 723, 722, 57, 58, - 287, 287, 1007, -536, 59, 308, 60, 246, 247, 61, - 62, 63, 64, 65, 66, 67, 68, 695, 27, 269, - 69, 439, 504, -338, 1010, 696, 1241, 1242, 505, 898, - 814, 640, 25, 898, 1239, 41, 24, 506, 320, 507, - 1235, 508, 1009, 509, 149, 402, 510, 511, 841, 805, - 842, 43, 44, 440, 370, 369, 898, 45, 512, 698, - 1210, 1209, 1211, 361, 335, 1215, 809, -536, -536, 336, - 888, 691, 513, 514, 515, 1215, 1007, 1062, 888, 715, - 1007, 337, -536, 363, 516, 517, 705, 1229, 1230, 1231, - 1232, 1226, 1227, 294, -536, -16, -542, 813, 1010, 1233, - 1228, 367, 1010, 1210, 1209, 1211, 295, -153, -153, -153, - 382, 70, 888, 318, 319, 322, 888, 659, 660, -535, - 1206, 814, -153, 279, -153, 435, -153, 279, -153, 436, - 141, 103, 104, 105, 632, 633, 322, 437, 368, 888, - -32766,-32766, 371, 372, 438, 900, 814, 689, 820, -111, - -111, 376, 377, 950, -111, 689, 814, -88, 151, 874, - -111, -111, -111, -111, 31, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 723, 722, - 1206, 153, 154, -535, -535, 155, 898, 900, 157, 689, - 1206, 900, -111, 689, -153, 32, 123, 898, -535, 124, - 140,-32766, -537, 129, 130, 143, 322, 1122, 1124, 158, - -535,-32766, -541, -534, 900,-32766, 689, 159, -534, 723, - 722, 1208, 295, 160, 161, -79, -75, 74,-32766,-32766, - -32766, 322,-32766, -73,-32766, -298,-32766, 74, -294,-32766, - -72, 322, -71, -70,-32766,-32766,-32766, -69, -68, -67, - -32766,-32766, 27, -66, -47, 1215,-32766, 414, -18, 147, - 275, 270, 281, 704, 814,-32766, -537, -537, 1239, 888, - 707, 897, 146, 276, 48, -4, 898, -534, -534, 282, - 888, -537, -534, -534, 283, -246, -246, -246, 329, 285, - 271, 368, -534, -537, 286, 73, 289, -534, 1206, 47, - 723, 722, -111, -111, -534, 290, 109, -111, 914, -534, - 550, 669, 874, -111, -111, -111, -111, 145, 516, 517, - -32766, 1229, 1230, 1231, 1232, 1226, 1227, 814, 805, 1322, - 662, 300, 1092, 1233, 1228, 682, 814,-32766, 298, 299, - 546, 641, 647, 1208, 900, 72, 689, -246, 319, 322, - -32766,-32766,-32766, 366,-32766, 900,-32766, 689,-32766, 888, - 646,-32766, 13, 296, 297, 127,-32766,-32766,-32766, 455, - 1206, -51,-32766,-32766, 483, 630, 663, 556,-32766, 414, - 303, 368, -111, 430, 434, 39, 930,-32766, 293, 0, - 125,-32766, -111, -111, 301, 0, 0, -111, 1010, 307, - 0, 0, 833, -111, -111, -111, -111, 0,-32766, 131, - 0, 0, 295, 0,-32766, 1246, 0, 74, 0, 1248, - 1208, 322, 0, -500, 0, 9, 0,-32766,-32766,-32766, - -490,-32766, 7,-32766, 900,-32766, 689, -4,-32766, 16, - 365, 597, 813,-32766,-32766,-32766, 916, 295, 709,-32766, - -32766, 1240,-32766, 40, 712,-32766, 414, 713, 1208, 879, - 898, 974, 951, 958,-32766,-32766,-32766,-32766, 948,-32766, - 959,-32766, 877,-32766, 946, 1066,-32766, 1069, 1070, 1067, - 1068,-32766,-32766,-32766,-32766, 1074, 33,-32766,-32766, 1236, - 1208, 825, 1261,-32766, 414, 1279, 1313,-32766,-32766,-32766, - 317,-32766,-32766,-32766, 635,-32766, 364, 690,-32766, 693, - 697, 699, 478,-32766,-32766,-32766,-32766, 700, 701,-32766, - -32766, 702, 1208, 562, 706,-32766, 414, 692, -570,-32766, - -32766,-32766, 875,-32766,-32766,-32766, 1317,-32766, 1319, 836, - -32766, 835, 844, 888, 923,-32766,-32766,-32766, 966, 843, - 1318,-32766,-32766, 922, 924, 921, 1194,-32766, 414, -245, - -245, -245, 907, 917, 905, 368,-32766, 956, 957, 1316, - 1273, 1262, 0, 1280, 1286, 1289, -111, -111, -568, 27, - -542, -111, -541, -540, 1, 28, 874, -111, -111, -111, - -111, 814, 29,-32766, 38, 1239, 42, 46, 71, 1208, - 75, 76, 77, 78, 79, 0,-32766,-32766,-32766, 80, - -32766, 142,-32766, 152,-32766, 156, 245,-32766, 900, 324, - 689, -245,-32766,-32766,-32766, 1206, 350, 351,-32766,-32766, - 352, 353, 354, 355,-32766, 414, 356, 357, 358, 359, - 360, 362, 431,-32766, -271, -269, 517, -268, 1229, 1230, - 1231, 1232, 1226, 1227, 18, 19, 20, 21, 23, 401, - 1233, 1228, 474, 475, 482, 485, 486, 487, 488, 492, - 493, 494, 72, -504, 501, 319, 322, 676, 1219, 1162, - 1237, 1036, 1035, 0, 1016, 1198, 1012, -273, -103, 17, - 22, 26, 292, 400, 590, 594, 621, 681, 1166, 1214, - 1163, 1292, 0, 1179, 0, 0, 322 + -32767, 2, 107, 108, 109, 751, 274, 381, 380,-32766, + -32766,-32766,-32766, 104, 105, 106, 1024, 422, 110, 265, + 139, 403, 755, 756, 757, 758, 466, 467, 428, 938, + 291,-32766, 287,-32766,-32766, 759, 760, 761, 762, 763, + 764, 765, 766, 767, 768, 769, 789, 580, 790, 791, + 792, 793, 781, 782, 344, 345, 784, 785, 770, 771, + 772, 774, 775, 776, 355, 816, 817, 818, 819, 820, + 581, 777, 778, 582, 583, 810, 801, 799, 800, 813, + 796, 797, 687, -545, 584, 585, 795, 586, 587, 588, + 589, 590, 591, -328, -593, -367, 1234, -367, 798, 592, + 593, -593, 140,-32766,-32766,-32766, 133, 134, 135, 579, + 136, 137, 1057, 748, 749, 750, 138, 38, 688, 1020, + 1019, 1018, 1021, 390,-32766, 7,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766,-32766,-32766, 379, 380, 1033, 689, + 690, 742, 741,-32766,-32766,-32766, 422, -545, -545, -590, + -32766,-32766,-32766, 1032,-32766, 127, -590, 1236, 1235, 1237, + 1318, 751, -545, 290,-32766, 283,-32766,-32766,-32766,-32766, + -32766, 1236, 1235, 1237, -545, 265, 139, 403, 755, 756, + 757, 758, 16, 481, 428, 458, 459, 460, 298, 722, + 35, 759, 760, 761, 762, 763, 764, 765, 766, 767, + 768, 769, 789, 580, 790, 791, 792, 793, 781, 782, + 344, 345, 784, 785, 770, 771, 772, 774, 775, 776, + 355, 816, 817, 818, 819, 820, 581, 777, 778, 582, + 583, 810, 801, 799, 800, 813, 796, 797, 129, 824, + 584, 585, 795, 586, 587, 588, 589, 590, 591, -328, + 83, 84, 85, -593, 798, 592, 593, -593, 149, 773, + 743, 744, 745, 746, 747, 824, 748, 749, 750, 786, + 787, 37, 145, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 291, 274, 835, + 254, 1109, 1110, 1111, 1108, 1107, 1106, 1112, -590, 860, + 110, 861, -590, 482, 751,-32766,-32766,-32766,-32766,-32766, + 142, 603, 1085, 742, 741, 1262, 326, 987, 752, 753, + 754, 755, 756, 757, 758, 309,-32766, 822,-32766,-32766, + -32766,-32766, 242, 553, 759, 760, 761, 762, 763, 764, + 765, 766, 767, 768, 769, 789, 812, 790, 791, 792, + 793, 781, 782, 783, 811, 784, 785, 770, 771, 772, + 774, 775, 776, 815, 816, 817, 818, 819, 820, 821, + 777, 778, 779, 780, 810, 801, 799, 800, 813, 796, + 797, 311, 940, 788, 794, 795, 802, 803, 805, 804, + 806, 807, 323, 609, 1274, 1033, 833, 798, 809, 808, + 50, 51, 52, 512, 53, 54, 860, 241, 861, 918, + 55, 56, -111, 57,-32766,-32766,-32766, -111, 826, -111, + 290, 1302, 1347, 356, 305, 1348, 339, -111, -111, -111, + -111, -111, -111, -111, -111,-32766, -194,-32766,-32766,-32766, + -193, 956, 957, 829, -86, 988, 958, 834, 58, 59, + 340, 428, 952, -544, 60, 832, 61, 247, 248, 62, + 63, 64, 65, 66, 67, 68, 69, 1241, 28, 267, + 70, 444, 513, -342,-32766, 141, 1268, 1269, 514, 918, + 833, 326, -272, 918, 1266, 42, 25, 515, 940, 516, + 14, 517, 908, 518, 828, 369, 519, 520, 373, 709, + 1033, 44, 45, 445, 376, 375, 388, 46, 521, 712, + -86, 440, 1101, 367, 338, -543, 441, -544, -544, 830, + 1227, 442, 523, 524, 525, 290, 1236, 1235, 1237, 361, + 1030, 443, -544, 1087, 526, 527, 839, 1255, 1256, 1257, + 1258, 1252, 1253, 297, -544, 151, -550, -584, 833, 1259, + 1254, -584, 1033, 1236, 1235, 1237, 298, -154, -154, -154, + 152, 71, 908, 321, 322, 326, 908, 920, 1030, 707, + 833, 154, -154, 1337, -154, 155, -154, 283, -154, -543, + -543, 82, 1232, 1086, 1322, 734, 156, 326, 374, 158, + 1033, 1321, -194, -79, -543, -88, -193, 742, 741, 956, + 957, 653, 26,-32766, 522, -51, -543, 33, -549, 894, + 952, -111, -111, -111, 32, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, -59, 75, + 28, 672, 673, 326, -58, 36, 250, 920, 124, 707, + 125, 920, 833, 707, -154, 130, 1266, 131,-32766, -547, + 144, -542, 150, 406, 1234, 377, 378, 1146, 1148, 382, + 383,-32766,-32766,-32766, -85,-32766, 1056,-32766, -542,-32766, + 644, 645,-32766, 159, 160, 161, 1232,-32766,-32766,-32766, + 162, -79, 1227,-32766,-32766, 742, 741, 163, -302,-32766, + 419, -75, -4, 918, -73, 287, 526, 527,-32766, 1255, + 1256, 1257, 1258, 1252, 1253, -72, -71, -70, -69, -68, + -67, 1259, 1254, -547, -547, -542, -542, 742, 741, -66, + -47, -18,-32766, 73, 148, 918, 322, 326, 1234, 273, + -542, 284, -542, -542, 723,-32766,-32766,-32766, 726,-32766, + -547,-32766, -542,-32766, 917, 147,-32766, -542, 288, 289, + -298,-32766,-32766,-32766,-32766, 713, 279,-32766,-32766, -542, + 1234, 280, 285,-32766, 419, 48, 286,-32766,-32766,-32766, + 332,-32766,-32766,-32766, 292,-32766, 908, 293,-32766, 934, + 274, 1030, 918,-32766,-32766,-32766, 110, 682, 132,-32766, + -32766, 833, 146,-32766, 559,-32766, 419, 659, 374, 824, + 435, 1349, 74, 1033,-32766, 296, 654, 1116, 908, 956, + 957, 306, 714, 698, 522, 555, 303, 13, 310, 852, + 952, -111, -111, -111, 700, 463, 492, 953, 283, 299, + 300,-32766, 49, 675, 918, 304, 660, 1234, 676, 936, + 1273,-32766, 10, 1263,-32766,-32766,-32766, 642,-32766, 918, + -32766, 920,-32766, 707, -4,-32766, 126, 34, 918, 565, + -32766,-32766,-32766,-32766, 0, 908,-32766,-32766, 0, 1234, + 918, 0,-32766, 419, 0, 0,-32766,-32766,-32766, 717, + -32766,-32766,-32766, 920,-32766, 707, 1033,-32766, 724, 1275, + 0, 487,-32766,-32766,-32766,-32766, 301, 302,-32766,-32766, + -507, 1234, 571, -497,-32766, 419, 607, 8,-32766,-32766, + -32766, 372,-32766,-32766,-32766, 17,-32766, 908, 371,-32766, + 832, 298, 320, 128,-32766,-32766,-32766, 40, 370, 41, + -32766,-32766, 908, -250, -250, -250,-32766, 419, 731, 374, + 973, 908, 707, 732, 899,-32766, 997, 974, 728, 981, + 956, 957, 971, 908, 982, 522, 897, 969, 1090, 1093, + 894, 952, -111, -111, -111, 28, 1094, 1091, 1092, -249, + -249, -249, 1241, 1098, 708, 374, 844, 833, 1288, 1306, + 1340, 1266, 647, 1267, 711, 715, 956, 957, 716, 1241, + 718, 522, 920, 719, 707, -250, 894, 952, -111, -111, + -111, 720, -16, 721, 725, 710, -511, 920, 895, 707, + -578, 1232, 1344, 1346, 855, 854, 920, 1227, 707, -577, + 863, 946, 989, 862, 1345, 945, 943, 944, 920, 947, + 707, -249, 527, 1218, 1255, 1256, 1257, 1258, 1252, 1253, + 927, 937, 925, 979, 980, 631, 1259, 1254, 1343, 1300, + -32766, 1289, 1307, 833, 1316, -275, 1234, -576, 73, -550, + -549, 322, 326,-32766,-32766,-32766, -548,-32766, -491,-32766, + 833,-32766, 1, 29,-32766, 30, 39, 43, 47,-32766, + -32766,-32766, 72, 76, 77,-32766,-32766, 1232, -111, -111, + 78,-32766, 419, -111, 79, 80, 81, 143, 153, -111, + -32766, 157, 246, 328, 1232, -111, -111, 356,-32766, 357, + -111, 358, 359, 360, 361, 362, -111, 363, 364, 365, + 366, 368, 436, 0, -273,-32766, -272, 19, 20, 298, + 21, 22, 24, 405, 75, 1203, 483, 484, 326, 491, + 0, 494, 495, 496, 497, 501, 298, 502, 503, 510, + 693, 75, 0, 1245, 1186, 326, 1264, 1059, 1058, 1039, + 1222, 1035, -277, -103, 18, 23, 27, 295, 404, 600, + 604, 633, 699, 1190, 1240, 1187, 1319, 0, 0, 0, + 326 ); protected $actionCheck = array( 2, 3, 4, 5, 6, 7, 0, 9, 10, 11, - 12, 13, 128, 129, 130, 131, 9, 10, 11, 44, + 12, 13, 70, 9, 10, 11, 9, 10, 11, 44, 45, 46, 47, 48, 49, 50, 51, 52, 116, 117, - 118, 119, 120, 121, 122, 37, 38, 30, 1, 32, + 118, 119, 120, 121, 122, 37, 38, 30, 116, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 106, 107, 1, 8, 57, 9, 10, 11, 1, - 31, 116, 14, 9, 10, 11, 106, 107, 8, 71, - 72, 73, 74, 75, 76, 77, 116, 30, 80, 32, - 33, 34, 35, 36, 30, 87, 88, 89, 90, 91, + 43, 8, 53, 54, 55, 57, 57, 106, 107, 137, + 9, 10, 11, 50, 51, 52, 1, 116, 69, 71, + 72, 73, 74, 75, 76, 77, 134, 135, 80, 1, + 30, 30, 30, 32, 33, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 70, 80, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 8, 1, 80, 8, 80, 150, 151, + 132, 133, 80, 70, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 8, 1, 106, 80, 108, 150, 151, 152, 8, 154, 9, 10, 11, 2, 3, 4, 5, - 6, 7, 164, 9, 10, 11, 12, 13, 9, 10, - 11, 85, 82, 14, 30, 85, 32, 33, 34, 35, - 36, 37, 38, 116, 117, 118, 119, 120, 121, 122, - 161, 37, 38, 9, 10, 11, 134, 135, 161, 9, - 10, 11, 8, 8, 167, 1, 14, 51, 155, 156, - 157, 57, 1, 161, 30, 162, 32, 33, 34, 35, - 30, 156, 32, 33, 34, 71, 72, 73, 74, 75, - 76, 77, 146, 1, 80, 31, 80, 147, 148, 83, + 6, 7, 164, 9, 10, 11, 12, 13, 116, 119, + 120, 121, 122, 106, 30, 108, 32, 33, 34, 35, + 36, 37, 38, 9, 10, 11, 106, 107, 138, 137, + 138, 37, 38, 9, 10, 11, 116, 134, 135, 1, + 9, 10, 11, 137, 30, 14, 8, 155, 156, 157, + 1, 57, 149, 163, 30, 163, 32, 33, 34, 35, + 36, 155, 156, 157, 161, 71, 72, 73, 74, 75, + 76, 77, 8, 31, 80, 129, 130, 131, 158, 161, 8, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 84, 1, + 126, 127, 128, 129, 130, 131, 132, 133, 8, 80, 136, 137, 138, 139, 140, 141, 142, 143, 144, 164, 9, 10, 11, 160, 150, 151, 152, 164, 154, 2, - 3, 4, 5, 6, 7, 1, 9, 10, 11, 12, + 3, 4, 5, 6, 7, 80, 9, 10, 11, 12, 13, 30, 8, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 106, 57, 108, - 9, 10, 11, 53, 54, 55, 164, 57, 164, 164, - 69, 117, 118, 159, 57, 161, 122, 101, 30, 69, - 159, 30, 1, 32, 33, 31, 31, 30, 71, 72, - 73, 74, 75, 76, 77, 97, 106, 80, 108, 123, - 70, 9, 10, 11, 87, 88, 89, 90, 91, 92, + 49, 50, 51, 52, 53, 54, 55, 30, 57, 1, + 8, 116, 117, 118, 119, 120, 121, 122, 160, 106, + 69, 108, 164, 161, 57, 9, 10, 11, 9, 10, + 161, 1, 1, 37, 38, 1, 167, 31, 71, 72, + 73, 74, 75, 76, 77, 8, 30, 80, 32, 33, + 34, 35, 14, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 8, 97, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 160, 8, 134, 135, 164, 150, 151, 152, - 2, 3, 4, 5, 6, 7, 119, 120, 121, 122, - 12, 13, 101, 15, 160, 1, 138, 106, 164, 108, - 1, 161, 9, 10, 113, 138, 138, 116, 117, 118, - 119, 120, 121, 122, 123, 80, 106, 1, 108, 8, - 80, 163, 8, 159, 30, 1, 37, 38, 50, 51, - 163, 163, 116, 70, 56, 8, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 31, 70, 71, - 72, 73, 74, 162, 138, 31, 78, 79, 80, 1, - 82, 75, 76, 1, 86, 87, 88, 89, 8, 91, - 1, 93, 137, 95, 101, 102, 98, 99, 106, 80, - 108, 103, 104, 105, 106, 107, 1, 109, 110, 31, - 155, 156, 157, 115, 116, 1, 156, 134, 135, 8, - 84, 161, 124, 125, 126, 1, 116, 159, 84, 161, - 116, 8, 149, 8, 136, 137, 31, 139, 140, 141, - 142, 143, 144, 145, 161, 31, 163, 155, 138, 151, - 152, 8, 138, 155, 156, 157, 158, 75, 76, 77, - 8, 163, 84, 165, 166, 167, 84, 75, 76, 70, - 116, 82, 90, 163, 92, 8, 94, 163, 96, 8, - 161, 50, 51, 52, 111, 112, 167, 8, 106, 84, - 9, 137, 106, 107, 8, 159, 82, 161, 8, 117, - 118, 106, 107, 159, 122, 161, 82, 31, 14, 127, + 133, 8, 122, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 8, 51, 146, 138, 82, 150, 151, 152, + 2, 3, 4, 5, 6, 7, 106, 97, 108, 1, + 12, 13, 101, 15, 9, 10, 11, 106, 80, 108, + 163, 1, 80, 163, 113, 83, 8, 116, 117, 118, + 119, 120, 121, 122, 123, 30, 8, 32, 33, 34, + 8, 117, 118, 80, 31, 159, 122, 159, 50, 51, + 8, 80, 128, 70, 56, 155, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 1, 70, 71, + 72, 73, 74, 162, 9, 161, 78, 79, 80, 1, + 82, 167, 164, 1, 86, 87, 88, 89, 122, 91, + 101, 93, 84, 95, 156, 8, 98, 99, 8, 161, + 138, 103, 104, 105, 106, 107, 8, 109, 110, 31, + 97, 8, 123, 115, 116, 70, 8, 134, 135, 156, + 122, 8, 124, 125, 126, 163, 155, 156, 157, 163, + 116, 8, 149, 162, 136, 137, 8, 139, 140, 141, + 142, 143, 144, 145, 161, 14, 163, 160, 82, 151, + 152, 164, 138, 155, 156, 157, 158, 75, 76, 77, + 14, 163, 84, 165, 166, 167, 84, 159, 116, 161, + 82, 14, 90, 85, 92, 14, 94, 163, 96, 134, + 135, 161, 116, 159, 1, 161, 14, 167, 106, 14, + 138, 8, 164, 16, 149, 31, 164, 37, 38, 117, + 118, 75, 76, 137, 122, 31, 161, 14, 163, 127, 128, 129, 130, 131, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, 27, 28, 29, 37, 38, - 116, 14, 14, 134, 135, 14, 1, 159, 14, 161, - 116, 159, 128, 161, 162, 14, 16, 1, 149, 16, - 161, 137, 70, 16, 16, 16, 167, 59, 60, 16, - 161, 137, 163, 70, 159, 74, 161, 16, 70, 37, - 38, 80, 158, 16, 16, 31, 31, 163, 87, 88, - 89, 167, 91, 31, 93, 35, 95, 163, 35, 98, - 31, 167, 31, 31, 103, 104, 105, 31, 31, 31, - 109, 110, 70, 31, 31, 1, 115, 116, 31, 31, - 35, 31, 31, 31, 82, 124, 134, 135, 86, 84, - 31, 31, 31, 35, 70, 0, 1, 134, 135, 35, - 84, 149, 134, 135, 35, 100, 101, 102, 35, 37, - 57, 106, 149, 161, 37, 154, 37, 149, 116, 70, - 37, 38, 117, 118, 161, 37, 69, 122, 38, 161, - 89, 77, 127, 128, 129, 130, 131, 70, 136, 137, - 85, 139, 140, 141, 142, 143, 144, 82, 80, 83, - 94, 132, 82, 151, 152, 92, 82, 74, 134, 135, - 85, 90, 100, 80, 159, 163, 161, 162, 166, 167, - 87, 88, 89, 149, 91, 159, 93, 161, 95, 84, - 96, 98, 97, 134, 135, 161, 103, 104, 105, 97, - 116, 31, 109, 110, 97, 113, 100, 153, 115, 116, - 114, 106, 128, 108, 128, 159, 128, 124, 113, -1, - 161, 137, 117, 118, 133, -1, -1, 122, 138, 132, - -1, -1, 127, 128, 129, 130, 131, -1, 137, 31, - -1, -1, 158, -1, 74, 146, -1, 163, -1, 146, - 80, 167, -1, 149, -1, 150, -1, 87, 88, 89, - 149, 91, 149, 93, 159, 95, 161, 162, 98, 149, - 149, 153, 155, 103, 104, 105, 154, 158, 162, 109, - 110, 166, 74, 159, 159, 115, 116, 159, 80, 159, - 1, 159, 159, 159, 124, 87, 88, 89, 159, 91, - 159, 93, 159, 95, 159, 159, 98, 159, 159, 159, - 159, 103, 104, 105, 74, 159, 161, 109, 110, 160, - 80, 160, 160, 115, 116, 160, 160, 87, 88, 89, - 161, 91, 124, 93, 160, 95, 161, 161, 98, 161, - 161, 161, 102, 103, 104, 105, 74, 161, 161, 109, - 110, 161, 80, 81, 161, 115, 116, 161, 163, 87, - 88, 89, 162, 91, 124, 93, 162, 95, 162, 162, - 98, 162, 162, 84, 162, 103, 104, 105, 162, 162, - 162, 109, 110, 162, 162, 162, 162, 115, 116, 100, - 101, 102, 162, 162, 162, 106, 124, 162, 162, 162, - 162, 162, -1, 162, 162, 162, 117, 118, 163, 70, - 163, 122, 163, 163, 163, 163, 127, 128, 129, 130, - 131, 82, 163, 74, 163, 86, 163, 163, 163, 80, - 163, 163, 163, 163, 163, -1, 87, 88, 89, 163, - 91, 163, 93, 163, 95, 163, 163, 98, 159, 163, - 161, 162, 103, 104, 105, 116, 163, 163, 109, 110, - 163, 163, 163, 163, 115, 116, 163, 163, 163, 163, - 163, 163, 163, 124, 164, 164, 137, 164, 139, 140, - 141, 142, 143, 144, 164, 164, 164, 164, 164, 164, - 151, 152, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, 163, 165, 164, 166, 167, 164, 164, 164, - 164, 164, 164, -1, 164, 164, 164, 164, 164, 164, + 22, 23, 24, 25, 26, 27, 28, 29, 16, 163, + 70, 75, 76, 167, 16, 147, 148, 159, 16, 161, + 16, 159, 82, 161, 162, 16, 86, 16, 74, 70, + 16, 70, 101, 102, 80, 106, 107, 59, 60, 106, + 107, 87, 88, 89, 31, 91, 1, 93, 70, 95, + 111, 112, 98, 16, 16, 16, 116, 103, 104, 105, + 16, 31, 122, 109, 110, 37, 38, 16, 35, 115, + 116, 31, 0, 1, 31, 30, 136, 137, 124, 139, + 140, 141, 142, 143, 144, 31, 31, 31, 31, 31, + 31, 151, 152, 134, 135, 134, 135, 37, 38, 31, + 31, 31, 74, 163, 31, 1, 166, 167, 80, 31, + 149, 31, 134, 135, 31, 87, 88, 89, 31, 91, + 161, 93, 161, 95, 31, 31, 98, 149, 37, 37, + 35, 103, 104, 105, 74, 31, 35, 109, 110, 161, + 80, 35, 35, 115, 116, 70, 35, 87, 88, 89, + 35, 91, 124, 93, 37, 95, 84, 37, 98, 38, + 57, 116, 1, 103, 104, 105, 69, 77, 31, 109, + 110, 82, 70, 85, 89, 115, 116, 96, 106, 80, + 108, 83, 154, 138, 124, 113, 90, 82, 84, 117, + 118, 114, 31, 80, 122, 85, 132, 97, 132, 127, + 128, 129, 130, 131, 92, 97, 97, 128, 163, 134, + 135, 74, 70, 94, 1, 133, 100, 80, 100, 154, + 146, 137, 150, 160, 87, 88, 89, 113, 91, 1, + 93, 159, 95, 161, 162, 98, 161, 161, 1, 153, + 103, 104, 105, 74, -1, 84, 109, 110, -1, 80, + 1, -1, 115, 116, -1, -1, 87, 88, 89, 31, + 91, 124, 93, 159, 95, 161, 138, 98, 31, 146, + -1, 102, 103, 104, 105, 74, 134, 135, 109, 110, + 149, 80, 81, 149, 115, 116, 153, 149, 87, 88, + 89, 149, 91, 124, 93, 149, 95, 84, 149, 98, + 155, 158, 161, 161, 103, 104, 105, 159, 161, 159, + 109, 110, 84, 100, 101, 102, 115, 116, 159, 106, + 159, 84, 161, 159, 159, 124, 159, 159, 162, 159, + 117, 118, 159, 84, 159, 122, 159, 159, 159, 159, + 127, 128, 129, 130, 131, 70, 159, 159, 159, 100, + 101, 102, 1, 159, 161, 106, 160, 82, 160, 160, + 160, 86, 160, 166, 161, 161, 117, 118, 161, 1, + 161, 122, 159, 161, 161, 162, 127, 128, 129, 130, + 131, 161, 31, 161, 161, 161, 165, 159, 162, 161, + 163, 116, 162, 162, 162, 162, 159, 122, 161, 163, + 162, 162, 162, 162, 162, 162, 162, 162, 159, 162, + 161, 162, 137, 162, 139, 140, 141, 142, 143, 144, + 162, 162, 162, 162, 162, 162, 151, 152, 162, 162, + 74, 162, 162, 82, 162, 164, 80, 163, 163, 163, + 163, 166, 167, 87, 88, 89, 163, 91, 163, 93, + 82, 95, 163, 163, 98, 163, 163, 163, 163, 103, + 104, 105, 163, 163, 163, 109, 110, 116, 117, 118, + 163, 115, 116, 122, 163, 163, 163, 163, 163, 128, + 124, 163, 163, 163, 116, 117, 118, 163, 137, 163, + 122, 163, 163, 163, 163, 163, 128, 163, 163, 163, + 163, 163, 163, -1, 164, 137, 164, 164, 164, 158, + 164, 164, 164, 164, 163, 165, 164, 164, 167, 164, + -1, 164, 164, 164, 164, 164, 158, 164, 164, 164, + 164, 163, -1, 164, 164, 167, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, - 164, 164, -1, 165, -1, -1, 167 + 164, 164, 164, 164, 164, 164, 164, -1, -1, -1, + 167 ); protected $actionBase = array( - 0, -2, 154, 542, 785, 695, 969, 549, 53, 420, - 831, 307, 307, 67, 307, 307, 307, 496, 538, 538, - 565, 538, 204, 504, 706, 706, 706, 651, 651, 651, - 651, 773, 773, 920, 920, 952, 888, 850, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, - 1029, 1029, 211, 344, 288, 691, 1038, 1044, 1040, 1045, - 1036, 1035, 1039, 1041, 1046, 917, 918, 751, 919, 921, - 922, 923, 1042, 854, 1037, 1043, 291, 291, 291, 291, + 0, -2, 154, 542, 752, 893, 929, 52, 374, 431, + 398, 869, 793, 235, 307, 307, 793, 307, 784, 908, + 908, 917, 908, 538, 841, 468, 468, 468, 708, 708, + 708, 708, 740, 740, 849, 849, 881, 817, 634, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 348, 346, 370, 653, 1063, 1069, + 1065, 1070, 1061, 1060, 1064, 1066, 1071, 946, 947, 774, + 949, 950, 943, 952, 1067, 882, 1062, 1068, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 641, 159, 473, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, - 382, 382, 382, 382, 382, 54, 54, 54, 341, 692, - 692, 190, 184, 658, 47, 1019, 1019, 1019, 1019, 1019, - 1019, 1019, 1019, 1019, 1019, 144, 144, 7, 7, 7, - 7, 7, 371, -25, -25, -25, -25, 574, 347, 764, - 474, 584, 266, 241, 338, 470, 470, 591, 591, 396, - -116, 396, 348, 348, 396, 396, 396, 770, 770, 770, - 770, 443, 559, 452, 86, 514, 479, 479, 479, 479, - 514, 514, 514, 514, 783, 795, 514, 514, 514, 642, - 653, 653, 714, 300, 300, 300, 653, 390, 765, 90, - 390, 90, 37, 156, 781, -55, -40, 292, 768, 781, - 320, 739, 314, 143, 797, 546, 797, 1034, 745, 733, - 705, 836, 876, 1047, 752, 915, 786, 916, 62, 704, - 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, - 1033, 1049, 469, 1034, 65, 1049, 1049, 1049, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 533, 65, - 466, 552, 65, 763, 469, 211, 791, 211, 211, 211, - 211, 973, 211, 211, 211, 211, 211, 211, 980, 737, - 29, 211, 344, 52, 52, 428, 58, 52, 52, 52, - 52, 211, 211, 211, 546, 743, 734, 555, 798, 195, - 743, 743, 743, 345, 135, 192, 194, 710, 713, 280, - 758, 758, 760, 931, 931, 758, 755, 758, 760, 944, - 758, 931, 799, 433, 627, 571, 603, 631, 931, 494, - 758, 758, 758, 758, 639, 758, 491, 445, 758, 758, - 709, 741, 777, 46, 931, 931, 931, 777, 585, 771, - 771, 771, 805, 808, 772, 740, 540, 507, 650, 138, - 780, 740, 740, 758, 612, 772, 740, 772, 740, 802, - 740, 740, 740, 772, 740, 755, 583, 740, 703, 646, - 60, 740, 6, 945, 947, 636, 948, 941, 949, 989, - 950, 951, 856, 963, 943, 956, 939, 932, 750, 690, - 693, 793, 784, 930, 747, 747, 747, 927, 747, 747, - 747, 747, 747, 747, 747, 747, 690, 839, 801, 766, - 731, 974, 697, 698, 779, 880, 1018, 1048, 973, 1024, - 958, 736, 699, 1004, 977, 796, 849, 978, 979, 1005, - 1025, 1026, 884, 757, 886, 887, 841, 983, 858, 747, - 945, 951, 943, 956, 939, 932, 732, 728, 726, 727, - 722, 721, 712, 719, 738, 1027, 925, 875, 842, 980, - 929, 690, 845, 1000, 835, 1008, 1009, 855, 782, 756, - 846, 889, 984, 985, 986, 859, 1028, 804, 1001, 990, - 1010, 787, 890, 1011, 1012, 1013, 1014, 892, 860, 866, - 867, 810, 761, 991, 774, 896, 48, 754, 759, 778, - 988, 654, 966, 870, 897, 898, 1015, 1016, 1017, 901, - 960, 812, 1002, 746, 1003, 993, 813, 814, 677, 769, - 1030, 735, 748, 767, 678, 681, 902, 903, 904, 962, - 742, 744, 819, 821, 1031, 762, 1032, 910, 684, 823, - 711, 911, 1023, 717, 718, 753, 873, 800, 776, 775, - 987, 749, 825, 912, 826, 828, 829, 1020, 830, 0, + 291, 291, 291, 291, 291, 525, 191, 359, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 174, 174, + 174, 620, 620, 51, 465, 356, 955, 955, 955, 955, + 955, 955, 955, 955, 955, 955, 658, 184, 144, 144, + 7, 7, 7, 7, 7, 1031, 371, 1048, -25, -25, + -25, -25, 50, 725, 526, 449, 39, 317, 80, 474, + 474, 13, 13, 512, 512, 422, 422, 512, 512, 512, + 808, 808, 808, 808, 443, 505, 360, 308, -78, 209, + 209, 209, 209, -78, -78, -78, -78, 803, 877, -78, + -78, -78, 63, 641, 641, 822, -1, -1, -1, 641, + 253, 790, 548, 253, 384, 548, 480, 402, 764, 759, + -49, 447, 764, 639, 755, 198, 143, 825, 609, 825, + 1059, 320, 768, 426, 749, 720, 874, 904, 1072, 796, + 941, 798, 942, 106, -58, 710, 1058, 1058, 1058, 1058, + 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1073, 336, 1059, + 423, 1073, 1073, 1073, 336, 336, 336, 336, 336, 336, + 336, 336, 336, 336, 619, 423, 586, 616, 423, 795, + 336, 348, 814, 348, 348, 348, 348, 348, 348, 348, + 348, 348, 348, 750, 202, 348, 346, 78, 78, 484, + 65, 78, 78, 78, 78, 348, 348, 348, 348, 609, + 783, 766, 613, 813, 492, 783, 783, 783, 473, 135, + 378, 488, 713, 775, 67, 779, 779, 785, 969, 969, + 779, 769, 779, 785, 975, 779, 779, 969, 969, 823, + 280, 563, 478, 550, 568, 969, 377, 779, 779, 779, + 779, 746, 573, 779, 342, 314, 779, 779, 746, 744, + 760, 43, 762, 969, 969, 969, 746, 547, 762, 762, + 762, 839, 844, 794, 758, 444, 433, 588, 232, 801, + 758, 758, 779, 558, 794, 758, 794, 758, 745, 758, + 758, 758, 794, 758, 769, 502, 758, 717, 583, 224, + 758, 6, 979, 980, 624, 981, 973, 987, 1019, 991, + 992, 873, 965, 999, 974, 993, 972, 970, 773, 682, + 684, 818, 811, 963, 777, 777, 777, 956, 777, 777, + 777, 777, 777, 777, 777, 777, 682, 743, 829, 765, + 1006, 689, 691, 754, 906, 901, 1030, 1004, 1049, 994, + 828, 694, 1028, 1008, 846, 821, 1009, 1010, 1029, 1050, + 1052, 910, 782, 911, 912, 876, 1012, 883, 777, 979, + 992, 693, 974, 993, 972, 970, 748, 739, 737, 738, + 736, 735, 723, 734, 753, 1053, 954, 907, 878, 1011, + 957, 682, 879, 1023, 756, 1032, 1033, 827, 788, 778, + 880, 913, 1014, 1015, 1016, 884, 1054, 887, 830, 1024, + 951, 1035, 789, 918, 1037, 1038, 1039, 1040, 889, 919, + 892, 916, 900, 845, 776, 1020, 761, 920, 591, 787, + 791, 800, 1018, 606, 1000, 902, 921, 922, 1041, 1043, + 1044, 923, 924, 995, 847, 1026, 799, 1027, 1022, 848, + 850, 617, 797, 1055, 781, 786, 772, 621, 632, 925, + 927, 931, 998, 763, 770, 853, 855, 1056, 771, 1057, + 938, 635, 857, 718, 939, 1046, 719, 724, 637, 678, + 672, 731, 792, 903, 826, 757, 780, 1017, 724, 767, + 858, 940, 859, 860, 867, 1045, 868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 458, 458, - 458, 458, 458, 458, 307, 307, 307, 307, 0, 0, - 307, 0, 0, 0, 458, 458, 458, 458, 458, 458, + 0, 0, 0, 0, 0, 0, 0, 458, 458, 458, + 458, 458, 458, 307, 307, 307, 307, 307, 307, 307, + 0, 0, 307, 0, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, @@ -581,179 +590,182 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 0, 0, 0, 0, 0, 0, 0, + 291, 291, 291, 291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, - 291, 291, 291, 291, 291, 291, 415, 415, 291, 291, - 0, 291, 415, 415, 415, 415, 415, 415, 415, 415, - 415, 415, 291, 291, 291, 291, 291, 291, 291, 799, - 300, 300, 300, 300, 415, 415, 415, 415, 415, -88, - -88, 415, 415, 415, 300, 300, 415, 244, 415, 415, - 415, 415, 415, 415, 415, 415, 415, 415, 0, 0, - 65, 90, 415, 755, 755, 755, 755, 415, 415, 415, - 415, 90, 90, 415, 415, 415, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 90, 0, 65, 0, 755, - 755, 415, 799, 799, 232, 244, 415, 0, 0, 0, - 0, 65, 755, 65, 469, 90, 469, 469, 52, 211, - 232, 453, 453, 453, 453, 0, 546, 799, 799, 799, - 799, 799, 799, 799, 799, 799, 799, 799, 755, 0, - 799, 0, 755, 755, 755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 755, 0, 0, 931, 0, 0, 0, 0, 758, 0, - 0, 0, 0, 0, 0, 758, 944, 0, 0, 0, - 0, 0, 0, 755, 0, 0, 0, 0, 0, 0, - 0, 0, 747, 782, 0, 782, 0, 747, 747, 747, - 0, 0, 0, 0, 769, 762 + 0, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 66, 66, 291, + 291, 291, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 0, 291, 291, 291, 291, 291, 291, 291, + 291, 66, 823, 66, -1, -1, -1, -1, 66, 66, + 66, -88, -88, 66, 384, 66, 66, -1, -1, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 0, 0, 423, 548, 66, 769, 769, 769, 769, 66, + 66, 66, 66, 548, 548, 66, 66, 66, 0, 0, + 0, 0, 0, 0, 0, 0, 423, 548, 0, 423, + 0, 0, 769, 769, 66, 384, 823, 643, 66, 0, + 0, 0, 0, 423, 769, 423, 336, 779, 548, 779, + 336, 336, 78, 348, 643, 611, 611, 611, 611, 0, + 0, 609, 823, 823, 823, 823, 823, 823, 823, 823, + 823, 823, 823, 769, 0, 823, 0, 769, 769, 769, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 769, 0, 0, 969, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 975, + 0, 0, 0, 0, 0, 0, 769, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 777, 788, 0, 788, + 0, 777, 777, 777, 0, 0, 0, 0, 797, 771 ); protected $actionDefault = array( 3,32767, 103,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 101,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767, 588, 588, 588, - 588,32767,32767, 250, 103,32767,32767, 464, 382, 382, - 382,32767,32767, 532, 532, 532, 532, 532, 532,32767, - 32767,32767,32767,32767,32767, 464,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 101,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 596, 596, + 596, 596,32767,32767, 254, 103,32767,32767, 469, 387, + 387, 387,32767,32767, 540, 540, 540, 540, 540, 540, + 32767,32767,32767,32767,32767,32767, 469,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767, 101,32767, - 32767,32767, 37, 7, 8, 10, 11, 50, 17, 320, - 32767,32767,32767,32767, 103,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 101, + 32767,32767,32767, 37, 7, 8, 10, 11, 50, 17, + 324,32767,32767,32767,32767, 103,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 581,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 589,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 468, 447, 448, 450, - 451, 381, 533, 587, 323, 584, 380, 146, 335, 325, - 238, 326, 254, 469, 255, 470, 473, 474, 211, 283, - 377, 150, 411, 465, 413, 463, 467, 412, 387, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 385, 386, 466, 444, 443, 442, 409,32767, - 32767, 410, 414, 384, 417,32767,32767,32767,32767,32767, - 32767,32767,32767, 103,32767, 415, 416, 433, 434, 431, - 432, 435,32767, 436, 437, 438, 439,32767, 312,32767, - 32767,32767, 361, 359, 312,32767,32767, 424, 425,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 473, 452, + 453, 455, 456, 386, 541, 595, 327, 592, 385, 146, + 339, 329, 242, 330, 258, 474, 259, 475, 478, 479, + 215, 287, 382, 150, 151, 416, 470, 418, 468, 472, + 417, 392, 397, 398, 399, 400, 401, 402, 403, 404, + 405, 406, 407, 408, 409, 390, 391, 471, 449, 448, + 447,32767,32767, 414, 415, 419,32767,32767,32767,32767, + 32767,32767,32767,32767, 103,32767, 389, 422, 420, 421, + 438, 439, 436, 437, 440,32767,32767,32767, 441, 442, + 443, 444, 316,32767,32767, 366, 364, 316, 112,32767, + 32767, 429, 430,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 534, 446,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 103, + 32767, 101, 536, 411, 413, 503, 424, 425, 423, 393, + 32767, 510,32767, 103,32767, 512,32767,32767,32767,32767, + 32767,32767,32767, 535,32767, 542, 542,32767, 496, 101, + 195,32767,32767,32767, 195, 195,32767,32767,32767,32767, + 32767,32767,32767,32767, 603, 496, 111, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111,32767, 195, 111, + 32767,32767,32767, 101, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 190,32767, 268, 270, 103, 557, + 195,32767, 515,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 508,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 496, + 434, 139,32767, 139, 542, 426, 427, 428, 498, 542, + 542, 542, 312, 289,32767,32767,32767,32767, 513, 513, + 101, 101, 101, 101, 508,32767,32767,32767,32767, 112, + 100, 100, 100, 100, 100, 104, 102,32767,32767,32767, + 32767, 223, 100,32767, 102, 102,32767,32767, 223, 225, + 212, 102, 227,32767, 561, 562, 223, 102, 227, 227, + 227, 247, 247, 485, 318, 102, 100, 102, 102, 197, + 318, 318,32767, 102, 485, 318, 485, 318, 199, 318, + 318, 318, 485, 318,32767, 102, 318, 214, 100, 100, + 318,32767,32767,32767, 498,32767,32767,32767,32767,32767, + 32767,32767, 222,32767,32767,32767,32767,32767,32767,32767, + 529,32767, 546, 559, 432, 433, 435, 544, 457, 458, + 459, 460, 461, 462, 463, 465, 591,32767, 502,32767, + 32767,32767, 338, 601,32767, 601,32767,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767, 526, 441,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767, 103,32767, 101, 528, - 406, 408, 496, 419, 420, 418, 388,32767, 503,32767, - 103, 505,32767,32767,32767, 112,32767,32767,32767,32767, - 527,32767, 534, 534,32767, 489, 101, 194,32767, 194, - 194,32767,32767,32767,32767,32767,32767,32767, 595, 489, - 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 111,32767, 194, 111,32767,32767,32767, 101, 194, 194, - 194, 194, 194, 194, 194, 194, 194, 194, 189,32767, - 264, 266, 103, 549, 194,32767, 508,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 501, + 32767, 602,32767, 542,32767,32767,32767,32767, 431, 9, + 76, 491, 43, 44, 52, 58, 519, 520, 521, 522, + 516, 517, 523, 518,32767,32767, 524, 567,32767,32767, + 543, 594,32767,32767,32767,32767,32767,32767, 139,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767, 489, 429, 139,32767, 139, 534, - 421, 422, 423, 491, 534, 534, 534, 308, 285,32767, - 32767,32767,32767, 506, 506, 101, 101, 101, 101, 501, - 32767,32767, 112, 100, 100, 100, 100, 100, 104, 102, - 32767,32767,32767,32767, 100,32767, 102, 102,32767,32767, - 221, 208, 219, 102,32767, 553, 554, 219, 102, 223, - 223, 223, 243, 243, 480, 314, 102, 100, 102, 102, - 196, 314, 314,32767, 102, 480, 314, 480, 314, 198, - 314, 314, 314, 480, 314,32767, 102, 314, 210, 100, - 100, 314,32767,32767,32767, 491,32767,32767,32767,32767, + 529,32767, 137,32767,32767,32767,32767,32767,32767,32767, + 32767, 525,32767,32767,32767, 542,32767,32767,32767,32767, + 314, 311,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 542,32767, + 32767,32767,32767,32767, 291,32767, 308,32767,32767,32767, 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 521,32767, 538, 551, 427, 428, 430, 536, 452, 453, - 454, 455, 456, 457, 458, 460, 583,32767, 495,32767, - 32767,32767,32767, 334, 593,32767, 593,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767, 594,32767, 534,32767,32767,32767,32767, 426, - 9, 76, 43, 44, 52, 58, 512, 513, 514, 515, - 509, 510, 516, 511,32767,32767, 517, 559,32767,32767, - 535, 586,32767,32767,32767,32767,32767,32767, 139,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 521, - 32767, 137,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767, 534,32767,32767,32767,32767, 310, 307, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767, 534,32767,32767,32767,32767, - 32767, 287,32767, 304,32767,32767,32767,32767,32767,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, - 282,32767,32767, 376,32767,32767,32767,32767, 355,32767, - 32767,32767,32767,32767,32767,32767,32767,32767,32767, 152, - 152, 3, 3, 337, 152, 152, 152, 337, 152, 337, - 337, 337, 152, 152, 152, 152, 152, 152, 276, 184, - 258, 261, 243, 243, 152, 347, 152 + 32767,32767,32767, 286,32767,32767, 381, 498, 294, 296, + 297,32767,32767,32767,32767, 360,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 153, 153, 3, + 3, 341, 153, 153, 153, 341, 341, 153, 341, 341, + 341, 153, 153, 153, 153, 153, 153, 280, 185, 262, + 265, 247, 247, 153, 352, 153 ); protected $goto = array( - 194, 194, 677, 466, 1281, 1282, 345, 428, 325, 325, - 325, 325, 536, 536, 536, 536, 665, 591, 926, 1039, - 685, 1003, 1019, 1020, 1080, 1081, 165, 165, 165, 165, - 218, 195, 191, 191, 175, 177, 213, 191, 191, 191, - 191, 191, 192, 192, 192, 192, 192, 192, 186, 187, - 188, 189, 190, 215, 213, 216, 524, 525, 415, 526, - 528, 529, 530, 531, 532, 533, 534, 535, 1108, 166, - 167, 168, 193, 169, 170, 171, 164, 172, 173, 174, - 176, 212, 214, 217, 235, 238, 241, 242, 244, 255, - 256, 257, 258, 259, 260, 261, 263, 264, 265, 266, - 277, 278, 313, 314, 315, 420, 421, 422, 569, 219, - 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 178, 234, 179, 196, 197, 198, - 236, 186, 187, 188, 189, 190, 215, 1108, 199, 180, - 181, 182, 200, 196, 183, 237, 201, 199, 163, 202, - 203, 184, 204, 205, 206, 185, 207, 208, 209, 210, - 211, 834, 587, 425, 645, 548, 541, 830, 831, 419, - 310, 311, 332, 564, 316, 424, 333, 426, 623, 832, - 973, 947, 947, 945, 947, 710, 808, 540, 982, 977, - 827, 827, 607, 642, 391, 541, 548, 557, 558, 398, - 567, 589, 603, 604, 839, 865, 887, 882, 883, 896, - 15, 840, 884, 837, 885, 886, 838, 457, 457, 639, - 890, 656, 657, 658, 987, 987, 457, 609, 609, 806, - 1060, 1056, 1057, 1238, 1238, 1238, 1238, 1238, 1238, 1238, - 1238, 1238, 1238, 1256, 1256, 346, 347, 812, 949, 1256, - 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1014, - 1013, 1207, 1008, 1207, 1008, 1207, 561, 442, 1008, 1008, - 1008, 343, 442, 1008, 442, 1008, 1008, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1008, 251, 251, 1296, 812, 1207, - 812, 1307, 1307, 970, 1207, 1207, 1207, 1207, 1017, 1018, - 1207, 1207, 1207, 1288, 1288, 1288, 1288, 827, 1307, 321, - 305, 248, 248, 248, 248, 250, 252, 387, 903, 1254, - 1254, 619, 620, 904, 1203, 1254, 1254, 1254, 1254, 1254, - 1254, 1254, 1254, 1254, 1254, 527, 527, 280, 280, 280, - 280, 527, 527, 527, 527, 527, 527, 527, 527, 527, - 527, 941, 405, 684, 560, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 348, 644, 442, 389, - 393, 549, 588, 592, 847, 1157, 348, 348, 538, 1204, - 538, 891, 538, 892, 432, 418, 822, 598, 666, 859, - 348, 348, 846, 348, 5, 1323, 6, 824, 554, 1283, - 1284, 650, 1205, 1264, 1265, 602, 448, 543, 565, 601, - 348, 943, 943, 943, 943, 334, 932, 448, 937, 944, - 403, 404, 1278, 852, 1278, 654, 1278, 655, 397, 407, - 408, 409, 1200, 668, 849, 1045, 410, 542, 552, 992, - 341, 490, 542, 491, 552, 714, 467, 390, 861, 497, - 1049, 1290, 1290, 1290, 1290, 1267, 954, 568, 460, 461, - 462, 1091, 857, 471, 0, 1314, 1315, 555, 0, 0, - 0, 711, 622, 624, 0, 643, 0, 1274, 670, 667, - 671, 984, 675, 683, 980, 0, 0, 0, 0, 0, - 855, 596, 610, 613, 614, 615, 616, 636, 637, 638, - 687, 860, 848, 1044, 1048, 908, 1096, 0, 543, 0, - 0, 952, 606, 1306, 1306, 0, 1047, 989, 0, 0, - 1276, 1276, 1047, 254, 254, 851, 0, 648, 968, 427, - 1306, 0, 0, 845, 942, 427, 0, 0, 0, 0, - 0, 0, 0, 1015, 1015, 1199, 0, 1309, 649, 1026, - 1022, 1023, 0, 0, 0, 0, 1089, 864, 0, 0, - 0, 586, 1073, 0, 688, 674, 674, 1202, 498, 680, - 1071, 1188, 919, 0, 0, 1189, 1192, 920, 1193, 0, + 196, 196, 1031, 703, 694, 430, 658, 1062, 1334, 1334, + 424, 313, 314, 335, 573, 319, 429, 336, 431, 635, + 651, 652, 850, 669, 670, 671, 1334, 167, 167, 167, + 167, 221, 197, 193, 193, 177, 179, 216, 193, 193, + 193, 193, 193, 194, 194, 194, 194, 194, 194, 188, + 189, 190, 191, 192, 218, 216, 219, 534, 535, 420, + 536, 538, 539, 540, 541, 542, 543, 544, 545, 1132, + 168, 169, 170, 195, 171, 172, 173, 166, 174, 175, + 176, 178, 215, 217, 220, 238, 243, 244, 245, 257, + 258, 259, 260, 261, 262, 263, 264, 268, 269, 270, + 271, 281, 282, 316, 317, 318, 425, 426, 427, 578, + 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 180, 237, 181, 198, 199, + 200, 239, 188, 189, 190, 191, 192, 218, 1132, 201, + 182, 183, 184, 202, 198, 185, 240, 203, 201, 165, + 204, 205, 186, 206, 207, 208, 187, 209, 210, 211, + 212, 213, 214, 853, 851, 278, 278, 278, 278, 418, + 620, 620, 350, 570, 597, 1265, 1265, 1265, 1265, 1265, + 1265, 1265, 1265, 1265, 1265, 1283, 1283, 831, 618, 655, + 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, 1283, + 353, 353, 353, 353, 866, 557, 550, 858, 825, 907, + 902, 903, 916, 859, 904, 856, 905, 906, 857, 878, + 457, 910, 865, 884, 546, 546, 546, 546, 831, 601, + 831, 1084, 1079, 1080, 1081, 341, 550, 557, 566, 567, + 343, 576, 599, 613, 614, 407, 408, 972, 465, 465, + 667, 15, 668, 1323, 411, 412, 413, 465, 681, 348, + 1233, 414, 1233, 478, 569, 346, 439, 1031, 1031, 1233, + 993, 480, 1031, 393, 1031, 1031, 1104, 1105, 1031, 1031, + 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1315, + 1315, 1315, 1315, 1233, 657, 1333, 1333, 1055, 1233, 1233, + 1233, 1233, 1037, 1036, 1233, 1233, 1233, 1034, 1034, 1181, + 354, 678, 949, 1333, 437, 1026, 1042, 1043, 337, 691, + 354, 354, 827, 923, 691, 1040, 1041, 924, 691, 663, + 1336, 939, 871, 939, 354, 354, 1281, 1281, 354, 679, + 1350, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, 1281, + 1281, 552, 537, 537, 911, 354, 912, 537, 537, 537, + 537, 537, 537, 537, 537, 537, 537, 548, 564, 548, + 574, 611, 730, 634, 636, 849, 548, 656, 475, 1308, + 1309, 680, 684, 1007, 692, 701, 1003, 252, 252, 996, + 970, 970, 968, 970, 729, 843, 549, 1005, 1000, 423, + 455, 608, 1294, 846, 955, 966, 966, 966, 966, 325, + 308, 455, 960, 967, 249, 249, 249, 249, 251, 253, + 402, 351, 352, 683, 868, 551, 561, 449, 449, 449, + 551, 1305, 561, 1305, 612, 396, 461, 1010, 1010, 1224, + 1305, 395, 398, 558, 598, 602, 1015, 468, 577, 469, + 470, 1310, 1311, 876, 552, 846, 1341, 1342, 964, 409, + 702, 733, 324, 275, 324, 1317, 1317, 1317, 1317, 606, + 621, 624, 625, 626, 627, 648, 649, 650, 705, 1068, + 596, 1097, 874, 706, 476, 1228, 507, 697, 880, 1095, + 1115, 432, 1301, 628, 630, 632, 432, 879, 867, 1067, + 1071, 5, 1072, 6, 1038, 1038, 977, 0, 975, 662, + 1049, 1045, 1046, 0, 0, 0, 0, 1226, 449, 449, + 449, 449, 449, 449, 449, 449, 449, 449, 449, 928, + 1120, 449, 965, 1070, 0, 0, 616, 1303, 1303, 1070, + 1229, 1230, 1012, 499, 0, 500, 0, 0, 841, 0, + 870, 506, 661, 991, 1113, 883, 1212, 941, 864, 0, + 1213, 1216, 942, 1217, 0, 0, 1231, 1291, 1292, 0, + 1223, 0, 0, 0, 846, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, - 0, 539, 0, 539 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 255, 255 ); protected $gotoCheck = array( - 42, 42, 72, 172, 172, 172, 95, 87, 23, 23, - 23, 23, 105, 105, 105, 105, 87, 105, 87, 125, - 9, 87, 87, 87, 142, 142, 42, 42, 42, 42, + 42, 42, 72, 9, 72, 65, 65, 126, 181, 181, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 85, 85, 26, 85, 85, 85, 181, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -767,95 +779,97 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 15, 128, 65, 65, 75, 75, 25, 26, 65, - 65, 65, 65, 65, 65, 65, 65, 65, 65, 27, - 25, 25, 25, 25, 25, 25, 7, 25, 25, 25, - 22, 22, 55, 55, 75, 75, 75, 75, 75, 75, - 75, 75, 75, 75, 15, 45, 15, 15, 15, 15, - 75, 15, 15, 15, 15, 15, 15, 147, 147, 84, - 15, 84, 84, 84, 105, 105, 147, 106, 106, 6, - 15, 15, 15, 106, 106, 106, 106, 106, 106, 106, - 106, 106, 106, 166, 166, 95, 95, 12, 49, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 116, - 116, 72, 72, 72, 72, 72, 168, 23, 72, 72, - 72, 175, 23, 72, 23, 72, 72, 72, 72, 72, - 72, 72, 72, 72, 72, 5, 5, 177, 12, 72, - 12, 179, 179, 101, 72, 72, 72, 72, 117, 117, - 72, 72, 72, 9, 9, 9, 9, 22, 179, 165, - 165, 5, 5, 5, 5, 5, 5, 61, 72, 167, - 167, 83, 83, 72, 20, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 169, 169, 24, 24, 24, - 24, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 91, 91, 91, 102, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 14, 63, 23, 58, - 58, 58, 58, 58, 35, 149, 14, 14, 19, 20, - 19, 64, 19, 64, 111, 13, 20, 13, 114, 35, - 14, 14, 35, 14, 46, 14, 46, 18, 9, 174, - 174, 118, 20, 20, 20, 9, 19, 14, 2, 2, - 14, 19, 19, 19, 19, 29, 90, 19, 19, 19, - 80, 80, 128, 39, 128, 80, 128, 80, 28, 80, - 80, 80, 158, 80, 37, 127, 80, 9, 9, 108, - 80, 153, 9, 153, 9, 97, 155, 9, 41, 153, - 130, 128, 128, 128, 128, 14, 94, 9, 9, 9, - 9, 145, 9, 82, -1, 9, 9, 48, -1, -1, - -1, 48, 48, 48, -1, 48, -1, 128, 14, 48, - 48, 48, 48, 48, 48, -1, -1, -1, -1, -1, - 9, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 16, 16, 16, 16, 17, 17, -1, 14, -1, - -1, 16, 17, 178, 178, -1, 128, 17, -1, -1, - 128, 128, 128, 5, 5, 17, -1, 17, 17, 115, - 178, -1, -1, 17, 16, 115, -1, -1, -1, -1, - -1, -1, -1, 115, 115, 17, -1, 178, 115, 115, - 115, 115, -1, -1, -1, -1, 16, 16, -1, -1, - -1, 8, 8, -1, 8, 8, 8, 14, 8, 8, - 8, 78, 78, -1, -1, 78, 78, 78, 78, -1, + 42, 42, 42, 15, 27, 23, 23, 23, 23, 43, + 107, 107, 96, 170, 129, 107, 107, 107, 107, 107, + 107, 107, 107, 107, 107, 168, 168, 12, 55, 55, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 24, 24, 24, 24, 35, 75, 75, 15, 6, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 35, + 82, 15, 35, 45, 106, 106, 106, 106, 12, 106, + 12, 15, 15, 15, 15, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 81, 81, 49, 148, 148, + 81, 75, 81, 179, 81, 81, 81, 148, 81, 177, + 72, 81, 72, 83, 103, 81, 82, 72, 72, 72, + 102, 83, 72, 61, 72, 72, 143, 143, 72, 72, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 9, + 9, 9, 9, 72, 63, 180, 180, 113, 72, 72, + 72, 72, 117, 117, 72, 72, 72, 88, 88, 150, + 14, 88, 88, 180, 112, 88, 88, 88, 29, 7, + 14, 14, 7, 72, 7, 118, 118, 72, 7, 119, + 180, 9, 39, 9, 14, 14, 169, 169, 14, 115, + 14, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 14, 171, 171, 64, 14, 64, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 19, 48, 19, + 2, 2, 48, 48, 48, 25, 19, 48, 174, 174, + 174, 48, 48, 48, 48, 48, 48, 5, 5, 25, + 25, 25, 25, 25, 25, 18, 25, 25, 25, 13, + 19, 13, 14, 22, 91, 19, 19, 19, 19, 167, + 167, 19, 19, 19, 5, 5, 5, 5, 5, 5, + 28, 96, 96, 14, 37, 9, 9, 23, 23, 23, + 9, 129, 9, 129, 79, 9, 9, 106, 106, 159, + 129, 58, 58, 58, 58, 58, 109, 9, 9, 9, + 9, 176, 176, 9, 14, 22, 9, 9, 92, 92, + 92, 98, 24, 24, 24, 129, 129, 129, 129, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 128, + 8, 8, 9, 8, 156, 20, 8, 8, 41, 8, + 146, 116, 129, 84, 84, 84, 116, 16, 16, 16, + 16, 46, 131, 46, 116, 116, 95, -1, 16, 116, + 116, 116, 116, -1, -1, -1, -1, 14, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 17, + 17, 23, 16, 129, -1, -1, 17, 129, 129, 129, + 20, 20, 17, 154, -1, 154, -1, -1, 20, -1, + 17, 154, 17, 17, 16, 16, 78, 78, 17, -1, + 78, 78, 78, 78, -1, -1, 20, 20, 20, -1, + 17, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 24, -1, -1, -1, - -1, 24, -1, 24 + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 5, 5 ); protected $gotoBase = array( - 0, 0, -283, 0, 0, 284, 216, 177, 554, 7, - 0, 0, -46, 51, 72, -181, 57, 49, 91, 111, - -62, 0, -135, 5, 334, 163, 164, 175, 94, 122, - 0, 0, 0, 0, 0, 10, 0, 98, 0, 103, - 0, 13, -1, 0, 0, 193, -320, 0, -223, 225, - 0, 0, 0, 0, 0, 153, 0, 0, 325, 0, - 0, 276, 0, 127, 362, -76, 0, 0, 0, 0, - 0, 0, -6, 0, 0, -174, 0, 0, 168, 140, - -61, 0, -4, -149, -478, 0, 0, -263, 0, 0, - 88, 50, 0, 0, 19, -467, 0, 43, 0, 0, - 0, 259, 312, 0, 0, -15, -12, 0, 76, 0, - 0, 110, 0, 0, 109, 261, -16, 16, 114, 0, - 0, 0, 0, 0, 0, 17, 0, 68, 155, 0, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -248, 0, 0, 23, 0, 184, 0, 104, - 0, 0, 0, -44, 0, 12, 0, 0, 70, 0, - 0, 0, 0, 0, 0, -9, 4, 80, 238, 96, - 0, 0, -294, 0, 34, 242, 0, 257, 209, -13, - 0, 0 + 0, 0, -339, 0, 0, 386, 195, 312, 472, -10, + 0, 0, -109, 62, 13, -184, 46, 65, 86, 102, + 93, 0, 125, 162, 197, 371, 18, 160, 83, 22, + 0, 0, 0, 0, 0, -166, 0, 85, 0, 9, + 0, 48, -1, 157, 0, 207, -232, 0, -340, 223, + 0, 0, 0, 0, 0, 148, 0, 0, 396, 0, + 0, 231, 0, 52, 334, -236, 0, 0, 0, 0, + 0, 0, -5, 0, 0, -139, 0, 0, 149, 91, + 112, -245, -58, -205, 15, -695, 0, 0, 28, 0, + 0, 75, 154, 0, 0, 64, -310, 0, 55, 0, + 0, 0, 235, 221, 0, 0, 196, -71, 0, 77, + 0, 0, 37, 24, 0, 56, 219, 23, 40, 39, + 0, 0, 0, 0, 0, 0, 5, 0, 106, 166, + 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 47, 0, 214, 0, + 35, 0, 0, 0, 49, 0, 45, 0, 0, 71, + 0, 0, 0, 0, 0, 0, 0, 88, -56, 95, + 144, 111, 0, 0, 78, 0, 80, 229, 0, 222, + -12, -299, 0, 0 ); protected $gotoDefault = array( - -32768, 502, 718, 4, 719, 912, 795, 804, 584, 518, - 686, 342, 611, 416, 1272, 889, 1095, 566, 823, 1216, - 1224, 449, 826, 326, 708, 871, 872, 873, 394, 379, - 385, 392, 634, 612, 484, 858, 445, 850, 476, 853, - 444, 862, 162, 413, 500, 866, 3, 868, 545, 899, - 380, 876, 381, 661, 878, 551, 880, 881, 388, 395, - 396, 1100, 559, 608, 893, 243, 553, 894, 378, 895, - 902, 383, 386, 672, 456, 495, 489, 406, 1075, 595, - 631, 453, 470, 618, 617, 605, 469, 1011, 411, 328, - 931, 939, 477, 454, 953, 344, 961, 716, 1107, 625, - 479, 969, 626, 976, 979, 519, 520, 468, 991, 268, - 994, 480, 1032, 651, 1005, 1006, 652, 627, 1028, 628, - 653, 629, 1030, 463, 585, 1038, 446, 1046, 1260, 447, - 1050, 262, 1053, 274, 412, 429, 1058, 1059, 8, 1065, - 678, 679, 10, 273, 499, 1090, 673, 443, 1106, 433, - 1176, 1178, 547, 481, 1196, 1195, 664, 496, 1201, 1263, - 441, 521, 464, 312, 522, 304, 330, 309, 537, 291, - 331, 523, 465, 1269, 1277, 327, 30, 1297, 1308, 338, - 563, 600 + -32768, 511, 737, 4, 738, 932, 814, 823, 594, 528, + 704, 347, 622, 421, 1299, 909, 1119, 575, 842, 1242, + 1250, 456, 845, 330, 727, 891, 892, 893, 399, 385, + 391, 397, 646, 623, 493, 877, 452, 869, 485, 872, + 451, 881, 164, 417, 509, 885, 3, 888, 554, 919, + 386, 896, 387, 674, 898, 560, 900, 901, 394, 400, + 401, 1124, 568, 619, 913, 256, 562, 914, 384, 915, + 922, 389, 392, 685, 464, 504, 498, 410, 1099, 563, + 605, 643, 446, 472, 617, 629, 615, 479, 433, 415, + 329, 954, 962, 486, 462, 976, 349, 984, 735, 1131, + 637, 488, 992, 638, 999, 1002, 529, 530, 477, 1014, + 272, 1017, 489, 12, 664, 1028, 1029, 665, 639, 1051, + 640, 666, 641, 1053, 471, 595, 1061, 453, 1069, 1287, + 454, 1073, 266, 1076, 277, 416, 434, 1082, 1083, 9, + 1089, 695, 696, 11, 276, 508, 1114, 686, 450, 1130, + 438, 1200, 1202, 556, 490, 1220, 1219, 677, 505, 1225, + 447, 1290, 448, 531, 473, 315, 532, 307, 333, 312, + 547, 294, 334, 533, 474, 1296, 1304, 331, 31, 1324, + 1335, 342, 572, 610 ); protected $ruleToNonTerminal = array( @@ -874,30 +888,30 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 4, 4, 4, 4, 29, 29, 30, 30, 32, 34, 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, - 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, + 45, 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 49, 49, 25, 25, 68, 68, 71, 71, 70, 69, - 69, 62, 74, 74, 75, 75, 76, 76, 77, 77, - 78, 78, 26, 26, 27, 27, 27, 27, 86, 86, - 88, 88, 81, 81, 89, 89, 90, 90, 90, 82, - 82, 85, 85, 83, 83, 91, 92, 92, 56, 56, - 64, 64, 67, 67, 67, 66, 93, 93, 94, 57, - 57, 57, 57, 95, 95, 96, 96, 97, 97, 98, - 99, 99, 100, 100, 101, 101, 54, 54, 50, 50, - 103, 52, 52, 104, 51, 51, 53, 53, 63, 63, - 63, 63, 79, 79, 107, 107, 109, 109, 110, 110, - 110, 110, 108, 108, 108, 112, 112, 112, 112, 87, - 87, 115, 115, 115, 116, 116, 113, 113, 117, 117, - 119, 119, 120, 120, 114, 121, 121, 118, 122, 122, - 122, 122, 111, 111, 80, 80, 80, 20, 20, 20, - 124, 123, 123, 125, 125, 125, 125, 59, 126, 126, - 127, 60, 129, 129, 130, 130, 131, 131, 84, 132, - 132, 132, 132, 132, 132, 137, 137, 138, 138, 139, - 139, 139, 139, 139, 140, 141, 141, 136, 136, 133, - 133, 135, 135, 143, 143, 142, 142, 142, 142, 142, - 142, 142, 134, 144, 144, 146, 145, 145, 61, 102, - 147, 147, 55, 55, 42, 42, 42, 42, 42, 42, + 49, 49, 49, 25, 25, 68, 68, 71, 71, 70, + 69, 69, 62, 74, 74, 75, 75, 76, 76, 77, + 77, 78, 78, 79, 79, 26, 26, 27, 27, 27, + 27, 27, 87, 87, 89, 89, 82, 82, 90, 90, + 91, 91, 91, 83, 83, 86, 86, 84, 84, 92, + 93, 93, 56, 56, 64, 64, 67, 67, 67, 66, + 94, 94, 95, 57, 57, 57, 57, 96, 96, 97, + 97, 98, 98, 99, 100, 100, 101, 101, 102, 102, + 54, 54, 50, 50, 104, 52, 52, 105, 51, 51, + 53, 53, 63, 63, 63, 63, 80, 80, 108, 108, + 110, 110, 111, 111, 111, 111, 109, 109, 109, 113, + 113, 113, 113, 88, 88, 116, 116, 116, 117, 117, + 114, 114, 118, 118, 120, 120, 121, 121, 115, 122, + 122, 119, 123, 123, 123, 123, 112, 112, 81, 81, + 81, 20, 20, 20, 125, 124, 124, 126, 126, 126, + 126, 59, 127, 127, 128, 60, 130, 130, 131, 131, + 132, 132, 85, 133, 133, 133, 133, 133, 133, 133, + 138, 138, 139, 139, 140, 140, 140, 140, 140, 141, + 142, 142, 137, 137, 134, 134, 136, 136, 144, 144, + 143, 143, 143, 143, 143, 143, 143, 135, 145, 145, + 147, 146, 146, 61, 103, 148, 148, 55, 55, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, @@ -906,20 +920,21 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 154, 148, 148, - 153, 153, 156, 157, 157, 158, 159, 159, 159, 19, - 19, 72, 72, 72, 72, 149, 149, 149, 149, 161, - 161, 150, 150, 152, 152, 152, 155, 155, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 167, 167, 106, - 169, 169, 169, 169, 151, 151, 151, 151, 151, 151, - 151, 151, 58, 58, 164, 164, 164, 164, 170, 170, - 160, 160, 160, 171, 171, 171, 171, 171, 171, 73, - 73, 65, 65, 65, 65, 128, 128, 128, 128, 174, - 173, 163, 163, 163, 163, 163, 163, 163, 162, 162, - 162, 172, 172, 172, 172, 105, 168, 176, 176, 175, - 175, 177, 177, 177, 177, 177, 177, 177, 177, 165, - 165, 165, 165, 179, 180, 178, 178, 178, 178, 178, - 178, 178, 178, 181, 181, 181, 181 + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 155, 149, 149, 154, 154, 157, 158, 158, + 159, 160, 161, 161, 161, 161, 19, 19, 72, 72, + 72, 72, 150, 150, 150, 150, 163, 163, 151, 151, + 153, 153, 153, 156, 156, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 169, 169, 169, 107, 171, 171, + 171, 171, 152, 152, 152, 152, 152, 152, 152, 152, + 58, 58, 166, 166, 166, 166, 172, 172, 162, 162, + 162, 173, 173, 173, 173, 173, 173, 73, 73, 65, + 65, 65, 65, 129, 129, 129, 129, 176, 175, 165, + 165, 165, 165, 165, 165, 165, 164, 164, 164, 174, + 174, 174, 174, 106, 170, 178, 178, 177, 177, 179, + 179, 179, 179, 179, 179, 179, 179, 167, 167, 167, + 167, 181, 182, 180, 180, 180, 180, 180, 180, 180, + 180, 183, 183, 183, 183 ); protected $ruleToLength = array( @@ -938,52 +953,53 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract 3, 4, 2, 3, 1, 1, 7, 6, 2, 3, 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, - 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, - 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, - 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, - 2, 1, 1, 1, 0, 2, 1, 3, 8, 0, - 4, 2, 1, 3, 0, 1, 0, 1, 0, 1, - 3, 1, 8, 9, 8, 7, 6, 8, 0, 2, - 0, 2, 1, 2, 1, 2, 1, 1, 1, 0, - 2, 0, 2, 0, 2, 2, 1, 3, 1, 4, - 1, 4, 1, 1, 4, 2, 1, 3, 3, 3, - 4, 4, 5, 0, 2, 4, 3, 1, 1, 7, - 0, 2, 1, 3, 3, 4, 1, 4, 0, 2, - 5, 0, 2, 6, 0, 2, 0, 3, 1, 2, - 1, 1, 2, 0, 1, 3, 0, 2, 1, 1, - 1, 1, 6, 8, 6, 1, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 3, 3, 1, 3, - 3, 3, 3, 3, 1, 3, 3, 1, 1, 2, - 1, 1, 0, 1, 0, 2, 2, 2, 4, 3, - 1, 1, 3, 1, 2, 2, 3, 2, 3, 1, - 1, 2, 3, 1, 1, 3, 2, 0, 1, 5, - 5, 10, 3, 5, 1, 1, 3, 0, 2, 4, - 5, 4, 4, 4, 3, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 3, 1, 1, 3, 2, 2, - 3, 1, 0, 1, 1, 3, 3, 3, 4, 1, - 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 2, 2, 3, + 3, 3, 2, 0, 1, 1, 1, 1, 1, 3, + 7, 10, 5, 7, 9, 5, 3, 3, 3, 3, + 3, 3, 1, 2, 5, 7, 9, 6, 5, 6, + 3, 2, 1, 1, 1, 0, 2, 1, 3, 8, + 0, 4, 2, 1, 3, 0, 1, 0, 1, 0, + 1, 3, 1, 1, 1, 8, 9, 7, 8, 7, + 6, 8, 0, 2, 0, 2, 1, 2, 1, 2, + 1, 1, 1, 0, 2, 0, 2, 0, 2, 2, + 1, 3, 1, 4, 1, 4, 1, 1, 4, 2, + 1, 3, 3, 3, 4, 4, 5, 0, 2, 4, + 3, 1, 1, 7, 0, 2, 1, 3, 3, 4, + 1, 4, 0, 2, 5, 0, 2, 6, 0, 2, + 0, 3, 1, 2, 1, 1, 2, 0, 1, 3, + 0, 2, 1, 1, 1, 1, 6, 8, 6, 1, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 3, 3, 1, 3, 3, 3, 3, 3, 1, 3, + 3, 1, 1, 2, 1, 1, 0, 1, 0, 2, + 2, 2, 4, 3, 1, 1, 3, 1, 2, 2, + 3, 2, 3, 1, 1, 2, 3, 1, 1, 3, + 2, 0, 1, 5, 5, 6, 10, 3, 5, 1, + 1, 3, 0, 2, 4, 5, 4, 4, 4, 3, + 1, 1, 1, 1, 1, 1, 0, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 2, 1, 3, + 1, 1, 3, 2, 2, 3, 1, 0, 1, 1, + 3, 3, 3, 4, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 4, 3, 4, 4, 2, 2, 4, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 1, 3, 2, 1, 2, 4, 2, 2, 8, - 9, 8, 9, 9, 10, 9, 10, 8, 3, 2, - 0, 4, 2, 1, 3, 2, 2, 2, 4, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, - 1, 0, 3, 0, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, - 4, 1, 1, 3, 1, 1, 1, 1, 1, 3, - 2, 3, 0, 1, 1, 3, 1, 1, 1, 1, - 1, 3, 1, 1, 4, 4, 1, 4, 4, 0, - 1, 1, 1, 3, 3, 1, 4, 2, 2, 1, - 3, 1, 4, 4, 3, 3, 3, 3, 1, 3, - 1, 1, 3, 1, 1, 4, 1, 1, 1, 3, - 1, 1, 2, 1, 3, 4, 3, 2, 0, 2, - 2, 1, 2, 1, 1, 1, 4, 3, 3, 3, - 3, 6, 3, 1, 1, 2, 1 + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 5, 4, 3, + 4, 4, 2, 2, 4, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 3, 2, 1, + 2, 4, 2, 2, 8, 9, 8, 9, 9, 10, + 9, 10, 8, 3, 2, 0, 4, 2, 1, 3, + 2, 1, 2, 2, 2, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 1, 1, 1, 0, 3, + 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 5, 3, 3, 4, 1, + 1, 3, 1, 1, 1, 1, 1, 3, 2, 3, + 0, 1, 1, 3, 1, 1, 1, 1, 1, 3, + 1, 1, 4, 4, 1, 4, 4, 0, 1, 1, + 1, 3, 3, 1, 4, 2, 2, 1, 3, 1, + 4, 4, 3, 3, 3, 3, 1, 3, 1, 1, + 3, 1, 1, 4, 1, 1, 1, 3, 1, 1, + 2, 1, 3, 4, 3, 2, 0, 2, 2, 1, + 2, 1, 1, 1, 4, 3, 3, 3, 3, 6, + 3, 1, 1, 2, 1 ); protected function initReduceCallbacks() { @@ -1446,20 +1462,20 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 150 => function ($stackPos) { - $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributeStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 151 => function ($stackPos) { - if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + $this->semValue = new Node\Const_(new Node\Identifier($this->semStack[$stackPos-(3-1)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributeStack[$stackPos-(3-1)]), $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 152 => function ($stackPos) { - $this->semValue = array(); + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; }, 153 => function ($stackPos) { - $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; - if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array(); }, 154 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 155 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1468,9 +1484,12 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 157 => function ($stackPos) { - throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 158 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 159 => function ($stackPos) { if ($this->semStack[$stackPos-(3-2)]) { $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; @@ -1480,46 +1499,46 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract } }, - 159 => function ($stackPos) { + 160 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => is_array($this->semStack[$stackPos-(7-5)]) ? $this->semStack[$stackPos-(7-5)] : array($this->semStack[$stackPos-(7-5)]), 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 160 => function ($stackPos) { + 161 => function ($stackPos) { $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, - 161 => function ($stackPos) { + 162 => function ($stackPos) { $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 162 => function ($stackPos) { + 163 => function ($stackPos) { $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], is_array($this->semStack[$stackPos-(7-2)]) ? $this->semStack[$stackPos-(7-2)] : array($this->semStack[$stackPos-(7-2)]), $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 163 => function ($stackPos) { + 164 => function ($stackPos) { $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 164 => function ($stackPos) { + 165 => function ($stackPos) { $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 165 => function ($stackPos) { + 166 => function ($stackPos) { $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 166 => function ($stackPos) { + 167 => function ($stackPos) { $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 167 => function ($stackPos) { + 168 => function ($stackPos) { $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 168 => function ($stackPos) { + 169 => function ($stackPos) { $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 169 => function ($stackPos) { + 170 => function ($stackPos) { $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 170 => function ($stackPos) { + 171 => function ($stackPos) { $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 171 => function ($stackPos) { + 172 => function ($stackPos) { $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 172 => function ($stackPos) { + 173 => function ($stackPos) { $e = $this->semStack[$stackPos-(2-1)]; if ($e instanceof Expr\Throw_) { @@ -1531,386 +1550,384 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract } }, - 173 => function ($stackPos) { + 174 => function ($stackPos) { $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 174 => function ($stackPos) { + 175 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); }, - 175 => function ($stackPos) { + 176 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, - 176 => function ($stackPos) { + 177 => function ($stackPos) { $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 177 => function ($stackPos) { + 178 => function ($stackPos) { $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 178 => function ($stackPos) { + 179 => function ($stackPos) { $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); }, - 179 => function ($stackPos) { + 180 => function ($stackPos) { $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 180 => function ($stackPos) { + 181 => function ($stackPos) { $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 181 => function ($stackPos) { + 182 => function ($stackPos) { $this->semValue = array(); /* means: no statement */ }, - 182 => function ($stackPos) { + 183 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 183 => function ($stackPos) { + 184 => function ($stackPos) { $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ }, - 184 => function ($stackPos) { + 185 => function ($stackPos) { $this->semValue = array(); }, - 185 => function ($stackPos) { + 186 => function ($stackPos) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 186 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, 187 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 188 => function ($stackPos) { - $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); - }, - 189 => function ($stackPos) { - $this->semValue = null; - }, - 190 => function ($stackPos) { - $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 191 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 192 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 193 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 189 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 190 => function ($stackPos) { + $this->semValue = null; + }, + 191 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 192 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 193 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, 194 => function ($stackPos) { - $this->semValue = false; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 195 => function ($stackPos) { - $this->semValue = true; + $this->semValue = false; }, 196 => function ($stackPos) { - $this->semValue = false; + $this->semValue = true; }, 197 => function ($stackPos) { - $this->semValue = true; - }, - 198 => function ($stackPos) { $this->semValue = false; }, - 199 => function ($stackPos) { + 198 => function ($stackPos) { $this->semValue = true; }, + 199 => function ($stackPos) { + $this->semValue = false; + }, 200 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = true; }, 201 => function ($stackPos) { - $this->semValue = []; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 202 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = []; }, 203 => function ($stackPos) { - $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 204 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 205 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 206 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 207 => function ($stackPos) { + $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->checkClass($this->semValue, $stackPos-(7-2)); + }, + 208 => function ($stackPos) { $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(8-3)], ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); $this->checkClass($this->semValue, $stackPos-(8-3)); }, - 205 => function ($stackPos) { + 209 => function ($stackPos) { $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(7-3)], ['extends' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => $this->semStack[$stackPos-(7-1)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); $this->checkInterface($this->semValue, $stackPos-(7-3)); }, - 206 => function ($stackPos) { + 210 => function ($stackPos) { $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(6-3)], ['stmts' => $this->semStack[$stackPos-(6-5)], 'attrGroups' => $this->semStack[$stackPos-(6-1)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); }, - 207 => function ($stackPos) { + 211 => function ($stackPos) { $this->semValue = new Stmt\Enum_($this->semStack[$stackPos-(8-3)], ['scalarType' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); $this->checkEnum($this->semValue, $stackPos-(8-3)); }, - 208 => function ($stackPos) { - $this->semValue = null; - }, - 209 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, - 210 => function ($stackPos) { - $this->semValue = null; - }, - 211 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; - }, 212 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = null; }, 213 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 214 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 215 => function ($stackPos) { - $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; - }, - 216 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; - }, - 217 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; - }, - 218 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_READONLY; - }, - 219 => function ($stackPos) { $this->semValue = null; }, - 220 => function ($stackPos) { + 215 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-2)]; }, + 216 => function ($stackPos) { + $this->semValue = 0; + }, + 217 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 218 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 219 => function ($stackPos) { + $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 220 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, 221 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 222 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = Stmt\Class_::MODIFIER_READONLY; }, 223 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = null; }, 224 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 225 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(); }, 226 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 227 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = array(); }, 228 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 229 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 230 => function ($stackPos) { - $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 231 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 232 => function ($stackPos) { $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, 233 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, 234 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 235 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 236 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 237 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 238 => function ($stackPos) { - $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 239 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 240 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; - }, - 241 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; - }, - 242 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(5-3)]; - }, - 243 => function ($stackPos) { - $this->semValue = array(); - }, - 244 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 245 => function ($stackPos) { - $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 246 => function ($stackPos) { - $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 247 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 248 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 249 => function ($stackPos) { - $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); - }, - 250 => function ($stackPos) { - $this->semValue = []; - }, - 251 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 252 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 253 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 254 => function ($stackPos) { - $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 255 => function ($stackPos) { - $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 256 => function ($stackPos) { $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, - 257 => function ($stackPos) { + 235 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(4-2)]; }, - 258 => function ($stackPos) { - $this->semValue = array(); + 236 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); }, - 259 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 260 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); - }, - 261 => function ($stackPos) { - $this->semValue = array(); - }, - 262 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 263 => function ($stackPos) { - $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); - }, - 264 => function ($stackPos) { + 237 => function ($stackPos) { $this->semValue = null; }, - 265 => function ($stackPos) { - $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + 238 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, - 266 => function ($stackPos) { - $this->semValue = null; - }, - 267 => function ($stackPos) { - $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 268 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 269 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-2)], true); - }, - 270 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 271 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)], false); - }, - 272 => function ($stackPos) { + 239 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; }, - 273 => function ($stackPos) { - $this->semValue = array(); - }, - 274 => function ($stackPos) { + 240 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, - 275 => function ($stackPos) { + 241 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 242 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 243 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 244 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 245 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 246 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, + 247 => function ($stackPos) { + $this->semValue = array(); + }, + 248 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 249 => function ($stackPos) { + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 250 => function ($stackPos) { + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 251 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 252 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 253 => function ($stackPos) { + $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 254 => function ($stackPos) { + $this->semValue = []; + }, + 255 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 256 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 257 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 258 => function ($stackPos) { + $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 259 => function ($stackPos) { + $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 260 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 261 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 262 => function ($stackPos) { + $this->semValue = array(); + }, + 263 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 264 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 265 => function ($stackPos) { + $this->semValue = array(); + }, + 266 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 267 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 268 => function ($stackPos) { + $this->semValue = null; + }, + 269 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 270 => function ($stackPos) { + $this->semValue = null; + }, + 271 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 272 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 273 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + }, + 274 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 275 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, 276 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 277 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = array(); }, 278 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 279 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 280 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = 0; }, 281 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_READONLY; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 282 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, + 283 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, + 284 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, + 285 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_READONLY; + }, + 286 => function ($stackPos) { $this->semValue = new Node\Param($this->semStack[$stackPos-(6-6)], null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); $this->checkParam($this->semValue); }, - 283 => function ($stackPos) { + 287 => function ($stackPos) { $this->semValue = new Node\Param($this->semStack[$stackPos-(8-6)], $this->semStack[$stackPos-(8-8)], $this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-5)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes, $this->semStack[$stackPos-(8-2)], $this->semStack[$stackPos-(8-1)]); $this->checkParam($this->semValue); }, - 284 => function ($stackPos) { - $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); - }, - 285 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 286 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 287 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, 288 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); }, 289 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 290 => function ($stackPos) { - $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 291 => function ($stackPos) { - $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 292 => function ($stackPos) { - $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 293 => function ($stackPos) { - $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 294 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 293 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 294 => function ($stackPos) { + $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, 295 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); }, 296 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 297 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 298 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -1925,91 +1942,91 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 302 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 303 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 304 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 305 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, - 306 => function ($stackPos) { + 305 => function ($stackPos) { $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, + 306 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, 307 => function ($stackPos) { - $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 308 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 309 => function ($stackPos) { - $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 310 => function ($stackPos) { - $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 311 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 312 => function ($stackPos) { - $this->semValue = null; - }, - 313 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, + 313 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 314 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 315 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 316 => function ($stackPos) { $this->semValue = null; }, 317 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 318 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-2)]; + $this->semValue = null; }, 319 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-2)]); + $this->semValue = $this->semStack[$stackPos-(2-2)]; }, 320 => function ($stackPos) { - $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = null; }, 321 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = array(); }, 322 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = $this->semStack[$stackPos-(4-2)]; }, 323 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(3-2)]); }, 324 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 325 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 326 => function ($stackPos) { - $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); - }, - 327 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 328 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 329 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, + 326 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 327 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, 330 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); }, 331 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(2-1)]; @@ -2021,664 +2038,665 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 334 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 335 => function ($stackPos) { - $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 336 => function ($stackPos) { - if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 337 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 338 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 340 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, + 341 => function ($stackPos) { + $this->semValue = array(); + }, + 342 => function ($stackPos) { $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 339 => function ($stackPos) { + 343 => function ($stackPos) { $this->semValue = new Stmt\Property($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-1)]); $this->checkProperty($this->semValue, $stackPos-(5-2)); }, - 340 => function ($stackPos) { + 344 => function ($stackPos) { $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-2)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-1)]); $this->checkClassConst($this->semValue, $stackPos-(5-2)); }, - 341 => function ($stackPos) { + 345 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-2)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)]); + $this->checkClassConst($this->semValue, $stackPos-(6-2)); + }, + 346 => function ($stackPos) { $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(10-5)], ['type' => $this->semStack[$stackPos-(10-2)], 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-7)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); $this->checkClassMethod($this->semValue, $stackPos-(10-2)); }, - 342 => function ($stackPos) { + 347 => function ($stackPos) { $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 343 => function ($stackPos) { + 348 => function ($stackPos) { $this->semValue = new Stmt\EnumCase($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-1)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, - 344 => function ($stackPos) { + 349 => function ($stackPos) { $this->semValue = null; /* will be skipped */ }, - 345 => function ($stackPos) { - $this->semValue = array(); - }, - 346 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 347 => function ($stackPos) { - $this->semValue = array(); - }, - 348 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 349 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, 350 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = array(); }, 351 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 352 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = array(); }, 353 => function ($stackPos) { - $this->semValue = new \ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 354 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 355 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 356 => function ($stackPos) { - $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 357 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 358 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 359 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); }, 360 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 361 => function ($stackPos) { - $this->semValue = 0; + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); }, 362 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 363 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 364 => function ($stackPos) { - $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 365 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + $this->semValue = 0; }, 366 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + $this->semValue = 0; }, 367 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 368 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_STATIC; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 369 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; }, 370 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_FINAL; + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; }, 371 => function ($stackPos) { - $this->semValue = Stmt\Class_::MODIFIER_READONLY; + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; }, 372 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; }, 373 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = Stmt\Class_::MODIFIER_STATIC; }, 374 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; }, 375 => function ($stackPos) { - $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = Stmt\Class_::MODIFIER_FINAL; }, 376 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = Stmt\Class_::MODIFIER_READONLY; }, 377 => function ($stackPos) { - $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 378 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 379 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 380 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 381 => function ($stackPos) { $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, + 379 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 380 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 381 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, 382 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 383 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 384 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 385 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 386 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 387 => function ($stackPos) { - $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = array(); }, 388 => function ($stackPos) { - $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 389 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 390 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 391 => function ($stackPos) { - $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 392 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 393 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 394 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 395 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 396 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 397 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 398 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 399 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 400 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 401 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 402 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 403 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 404 => function ($stackPos) { - $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 405 => function ($stackPos) { - $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 406 => function ($stackPos) { - $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 407 => function ($stackPos) { - $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 408 => function ($stackPos) { - $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 409 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 410 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 411 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 412 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 413 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 414 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 415 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 416 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 417 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 418 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 419 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 420 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 421 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 422 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 423 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 424 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 425 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 426 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 427 => function ($stackPos) { - $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 428 => function ($stackPos) { - $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 429 => function ($stackPos) { - $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 430 => function ($stackPos) { - $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 431 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 432 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 433 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 434 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 435 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 436 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 437 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 438 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 439 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 440 => function ($stackPos) { - $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 441 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 442 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 443 => function ($stackPos) { - $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 444 => function ($stackPos) { - $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 445 => function ($stackPos) { - $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 446 => function ($stackPos) { - $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 447 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); }, 448 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 449 => function ($stackPos) { - $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 450 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 451 => function ($stackPos) { - $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 452 => function ($stackPos) { - $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 453 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 454 => function ($stackPos) { + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 455 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 456 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); }, - 454 => function ($stackPos) { + 459 => function ($stackPos) { $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 455 => function ($stackPos) { + 460 => function ($stackPos) { $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 456 => function ($stackPos) { + 461 => function ($stackPos) { $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 457 => function ($stackPos) { + 462 => function ($stackPos) { $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 458 => function ($stackPos) { + 463 => function ($stackPos) { $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 459 => function ($stackPos) { + 464 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); }, - 460 => function ($stackPos) { + 465 => function ($stackPos) { $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 461 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 462 => function ($stackPos) { - $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 463 => function ($stackPos) { - $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 464 => function ($stackPos) { - $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 465 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, 466 => function ($stackPos) { - $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 467 => function ($stackPos) { - $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 468 => function ($stackPos) { - $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 469 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 470 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 471 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 472 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 473 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 474 => function ($stackPos) { - $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, 475 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, 476 => function ($stackPos) { - $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); }, 477 => function ($stackPos) { - $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes), $this->semStack[$stackPos-(8-3)]); - $this->checkClass($this->semValue[0], -1); + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, 478 => function ($stackPos) { - $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, 479 => function ($stackPos) { - list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, 480 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); }, 481 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(4-3)]; + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); }, 482 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(2-1)]; + $this->semValue = array(new Stmt\Class_(null, ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes), $this->semStack[$stackPos-(8-3)]); + $this->checkClass($this->semValue[0], -1); }, 483 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); + $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 484 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 485 => function ($stackPos) { - $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = array(); }, 486 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(4-3)]; }, 487 => function ($stackPos) { - $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(2-1)]; }, 488 => function ($stackPos) { - $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = array($this->semStack[$stackPos-(1-1)]); }, 489 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; }, 490 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 491 => function ($stackPos) { $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 492 => function ($stackPos) { - $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 493 => function ($stackPos) { - $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 494 => function ($stackPos) { - $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, 495 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 496 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 497 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 498 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 499 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 500 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 501 => function ($stackPos) { - $this->semValue = null; + $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 502 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 503 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 504 => function ($stackPos) { - $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 505 => function ($stackPos) { - foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; }, 506 => function ($stackPos) { - $this->semValue = array(); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 507 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 508 => function ($stackPos) { - $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = null; }, 509 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 510 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array(); }, 511 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); }, 512 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 513 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = array(); }, 514 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 515 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 516 => function ($stackPos) { - $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 517 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 518 => function ($stackPos) { - $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 519 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 520 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 521 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 522 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 523 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 524 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 525 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 526 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + }, + 527 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); }, - 520 => function ($stackPos) { + 528 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); }, - 521 => function ($stackPos) { + 529 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 522 => function ($stackPos) { + 530 => function ($stackPos) { $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 523 => function ($stackPos) { + 531 => function ($stackPos) { $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); }, - 524 => function ($stackPos) { + 532 => function ($stackPos) { $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, - 525 => function ($stackPos) { - $this->semValue = Scalar\DNumber::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 526 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 527 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 528 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 529 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); - }, - 530 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); - }, - 531 => function ($stackPos) { - $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); - }, - 532 => function ($stackPos) { - $this->semValue = null; - }, 533 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = Scalar\DNumber::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); }, 534 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 535 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 536 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 537 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 538 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); }, 539 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); }, 540 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = null; }, 541 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 542 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 543 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 544 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 545 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 546 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 547 => function ($stackPos) { - $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 548 => function ($stackPos) { - $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 549 => function ($stackPos) { - $this->semValue = null; + $this->semValue = $this->semStack[$stackPos-(3-2)]; }, 550 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; @@ -2687,168 +2705,192 @@ class Php7 extends \ncc\ThirdParty\nikic\PhpParser\ParserAbstract $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 552 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 553 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 554 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 555 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 556 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 557 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 558 => function ($stackPos) { - $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; - }, - 559 => function ($stackPos) { - $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; - }, - 560 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 561 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 562 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 563 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 564 => function ($stackPos) { - $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 565 => function ($stackPos) { - $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 566 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 567 => function ($stackPos) { - $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 568 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 569 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 570 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 571 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 572 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(3-2)]; - }, - 573 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; - }, - 574 => function ($stackPos) { - $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; - }, - 575 => function ($stackPos) { - $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 576 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); - }, - 577 => function ($stackPos) { - $this->semValue = $this->semStack[$stackPos]; - }, - 578 => function ($stackPos) { - /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ - }, - 579 => function ($stackPos) { - $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; - }, - 580 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 581 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 582 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 583 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 584 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 585 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); - }, - 586 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); - }, - 587 => function ($stackPos) { - $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); - }, - 588 => function ($stackPos) { $this->semValue = null; }, - 589 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 590 => function ($stackPos) { - $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; - }, - 591 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(1-1)]); - }, - 592 => function ($stackPos) { - $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); - }, - 593 => function ($stackPos) { - $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 594 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); - }, - 595 => function ($stackPos) { + 558 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 596 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + 559 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 597 => function ($stackPos) { + 560 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 561 => function ($stackPos) { $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 598 => function ($stackPos) { + 562 => function ($stackPos) { $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, - 599 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + 563 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, - 600 => function ($stackPos) { - $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + 564 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, - 601 => function ($stackPos) { - $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + 565 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); }, - 602 => function ($stackPos) { + 566 => function ($stackPos) { + $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + }, + 567 => function ($stackPos) { + $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + }, + 568 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 569 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 570 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 571 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 572 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 573 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 574 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 575 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 576 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 577 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(3-2)]; }, + 578 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 579 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 580 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 581 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 582 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 583 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 584 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); + }, + 585 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 586 => function ($stackPos) { + /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ + }, + 587 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 588 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 589 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 590 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 591 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 592 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 593 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 594 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 595 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true); + }, + 596 => function ($stackPos) { + $this->semValue = null; + }, + 597 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 598 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 599 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 600 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + }, + 601 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 602 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, 603 => function ($stackPos) { - $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = $this->semStack[$stackPos-(1-1)]; }, 604 => function ($stackPos) { - $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); }, 605 => function ($stackPos) { - $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); }, 606 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 607 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 608 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 609 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 610 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 611 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 612 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 613 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 614 => function ($stackPos) { $this->semValue = $this->semStack[$stackPos-(1-1)]; }, ]; diff --git a/src/ncc/ThirdParty/nikic/PhpParser/ParserAbstract.php b/src/ncc/ThirdParty/nikic/PhpParser/ParserAbstract.php index be72aa8..92f2bab 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/ParserAbstract.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/ParserAbstract.php @@ -16,9 +16,12 @@ use ncc\ThirdParty\nikic\PhpParser\Node\Scalar\String_; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Class_; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\ClassConst; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\ClassMethod; +use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Else_; +use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\ElseIf_; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Enum_; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Interface_; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Namespace_; +use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Nop; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\Property; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TryCatch; use ncc\ThirdParty\nikic\PhpParser\Node\Stmt\UseUse; @@ -876,6 +879,24 @@ abstract class ParserAbstract implements Parser return $attributes; } + /** @param ElseIf_|Else_ $node */ + protected function fixupAlternativeElse($node) { + // Make sure a trailing nop statement carrying comments is part of the node. + $numStmts = \count($node->stmts); + if ($numStmts !== 0 && $node->stmts[$numStmts - 1] instanceof Nop) { + $nopAttrs = $node->stmts[$numStmts - 1]->getAttributes(); + if (isset($nopAttrs['endLine'])) { + $node->setAttribute('endLine', $nopAttrs['endLine']); + } + if (isset($nopAttrs['endFilePos'])) { + $node->setAttribute('endFilePos', $nopAttrs['endFilePos']); + } + if (isset($nopAttrs['endTokenPos'])) { + $node->setAttribute('endTokenPos', $nopAttrs['endTokenPos']); + } + } + } + protected function checkClassModifier($a, $b, $modifierPos) { try { Class_::verifyClassModifier($a, $b); diff --git a/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinter/Standard.php b/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinter/Standard.php index a3c2ec3..eac92ed 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinter/Standard.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinter/Standard.php @@ -529,7 +529,7 @@ class Standard extends PrettyPrinterAbstract } protected function pExpr_StaticCall(Expr\StaticCall $node) { - return $this->pDereferenceLhs($node->class) . '::' + return $this->pStaticDereferenceLhs($node->class) . '::' . ($node->name instanceof Expr ? ($node->name instanceof Expr\Variable ? $this->p($node->name) @@ -606,7 +606,7 @@ class Standard extends PrettyPrinterAbstract } protected function pExpr_ClassConstFetch(Expr\ClassConstFetch $node) { - return $this->pDereferenceLhs($node->class) . '::' . $this->p($node->name); + return $this->pStaticDereferenceLhs($node->class) . '::' . $this->pObjectProperty($node->name); } protected function pExpr_PropertyFetch(Expr\PropertyFetch $node) { @@ -618,7 +618,7 @@ class Standard extends PrettyPrinterAbstract } protected function pExpr_StaticPropertyFetch(Expr\StaticPropertyFetch $node) { - return $this->pDereferenceLhs($node->class) . '::$' . $this->pObjectProperty($node->name); + return $this->pStaticDereferenceLhs($node->class) . '::$' . $this->pObjectProperty($node->name); } protected function pExpr_ShellExec(Expr\ShellExec $node) { @@ -775,12 +775,12 @@ class Standard extends PrettyPrinterAbstract : ' {' . $this->pStmts($node->adaptations) . $this->nl . '}'); } - protected function pStmt_TraitUseAdaptation_Precedence(\ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Precedence $node) { + protected function pStmt_TraitUseAdaptation_Precedence(Stmt\TraitUseAdaptation\Precedence $node) { return $this->p($node->trait) . '::' . $node->method . ' insteadof ' . $this->pCommaSeparated($node->insteadof) . ';'; } - protected function pStmt_TraitUseAdaptation_Alias(\ncc\ThirdParty\nikic\PhpParser\Node\Stmt\TraitUseAdaptation\Alias $node) { + protected function pStmt_TraitUseAdaptation_Alias(Stmt\TraitUseAdaptation\Alias $node) { return (null !== $node->trait ? $this->p($node->trait) . '::' : '') . $node->method . ' as' . (null !== $node->newModifier ? ' ' . rtrim($this->pModifiers($node->newModifier), ' ') : '') @@ -814,7 +814,9 @@ class Standard extends PrettyPrinterAbstract protected function pStmt_ClassConst(Stmt\ClassConst $node) { return $this->pAttrGroups($node->attrGroups) . $this->pModifiers($node->flags) - . 'const ' . $this->pCommaSeparated($node->consts) . ';'; + . 'const ' + . (null !== $node->type ? $this->p($node->type) . ' ' : '') + . $this->pCommaSeparated($node->consts) . ';'; } protected function pStmt_Function(Stmt\Function_ $node) { @@ -1067,6 +1069,14 @@ class Standard extends PrettyPrinterAbstract } } + protected function pStaticDereferenceLhs(Node $node) { + if (!$this->staticDereferenceLhsRequiresParens($node)) { + return $this->p($node); + } else { + return '(' . $this->p($node) . ')'; + } + } + protected function pCallLhs(Node $node) { if (!$this->callLhsRequiresParens($node)) { return $this->p($node); @@ -1075,9 +1085,12 @@ class Standard extends PrettyPrinterAbstract } } - protected function pNewVariable(Node $node) { - // TODO: This is not fully accurate. - return $this->pDereferenceLhs($node); + protected function pNewVariable(Node $node): string { + if (!$this->newOperandRequiresParens($node)) { + return $this->p($node); + } else { + return '(' . $this->p($node) . ')'; + } } /** diff --git a/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinterAbstract.php b/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinterAbstract.php index f908949..d738fd4 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinterAbstract.php +++ b/src/ncc/ThirdParty/nikic/PhpParser/PrettyPrinterAbstract.php @@ -21,6 +21,8 @@ abstract class PrettyPrinterAbstract const FIXUP_BRACED_NAME = 4; // Name operand that may require bracing const FIXUP_VAR_BRACED_NAME = 5; // Name operand that may require ${} bracing const FIXUP_ENCAPSED = 6; // Encapsed string part + const FIXUP_NEW = 7; // New/instanceof operand + const FIXUP_STATIC_DEREF_LHS = 8; // LHS of static dereferencing operation protected $precedenceMap = [ // [precedence, associativity] @@ -774,7 +776,8 @@ abstract class PrettyPrinterAbstract } if ($skipRemovedNode) { - if ($isStmtList && $this->origTokens->haveBracesInRange($pos, $itemStartPos)) { + if ($isStmtList && ($this->origTokens->haveBracesInRange($pos, $itemStartPos) || + $this->origTokens->haveTagInRange($pos, $itemStartPos))) { // We'd remove the brace of a code block. // TODO: Preserve formatting. $this->setIndentLevel($origIndentLevel); @@ -877,7 +880,8 @@ abstract class PrettyPrinterAbstract $pos, $itemStartPos, $indentAdjustment); $skipRemovedNode = true; } else { - if ($isStmtList && $this->origTokens->haveBracesInRange($pos, $itemStartPos)) { + if ($isStmtList && ($this->origTokens->haveBracesInRange($pos, $itemStartPos) || + $this->origTokens->haveTagInRange($pos, $itemStartPos))) { // We'd remove the brace of a code block. // TODO: Preserve formatting. return null; @@ -975,6 +979,19 @@ abstract class PrettyPrinterAbstract return '(' . $this->p($subNode) . ')'; } break; + case self::FIXUP_STATIC_DEREF_LHS: + if ($this->staticDereferenceLhsRequiresParens($subNode) + && !$this->origTokens->haveParens($subStartPos, $subEndPos) + ) { + return '(' . $this->p($subNode) . ')'; + } + break; + case self::FIXUP_NEW: + if ($this->newOperandRequiresParens($subNode) + && !$this->origTokens->haveParens($subStartPos, $subEndPos)) { + return '(' . $this->p($subNode) . ')'; + } + break; case self::FIXUP_BRACED_NAME: case self::FIXUP_VAR_BRACED_NAME: if ($subNode instanceof Expr @@ -1045,13 +1062,26 @@ abstract class PrettyPrinterAbstract } /** - * Determines whether the LHS of a dereferencing operation must be wrapped in parenthesis. + * Determines whether the LHS of an array/object operation must be wrapped in parentheses. * * @param Node $node LHS of dereferencing operation * * @return bool Whether parentheses are required */ protected function dereferenceLhsRequiresParens(Node $node) : bool { + // A constant can occur on the LHS of an array/object deref, but not a static deref. + return $this->staticDereferenceLhsRequiresParens($node) + && !$node instanceof Expr\ConstFetch; + } + + /** + * Determines whether the LHS of a static operation must be wrapped in parentheses. + * + * @param Node $node LHS of dereferencing operation + * + * @return bool Whether parentheses are required + */ + protected function staticDereferenceLhsRequiresParens(Node $node): bool { return !($node instanceof Expr\Variable || $node instanceof Node\Name || $node instanceof Expr\ArrayDimFetch @@ -1064,10 +1094,31 @@ abstract class PrettyPrinterAbstract || $node instanceof Expr\StaticCall || $node instanceof Expr\Array_ || $node instanceof Scalar\String_ - || $node instanceof Expr\ConstFetch || $node instanceof Expr\ClassConstFetch); } + /** + * Determines whether an expression used in "new" or "instanceof" requires parentheses. + * + * @param Node $node New or instanceof operand + * + * @return bool Whether parentheses are required + */ + protected function newOperandRequiresParens(Node $node): bool { + if ($node instanceof Node\Name || $node instanceof Expr\Variable) { + return false; + } + if ($node instanceof Expr\ArrayDimFetch || $node instanceof Expr\PropertyFetch || + $node instanceof Expr\NullsafePropertyFetch + ) { + return $this->newOperandRequiresParens($node->var); + } + if ($node instanceof Expr\StaticPropertyFetch) { + return $this->newOperandRequiresParens($node->class); + } + return true; + } + /** * Print modifiers, including trailing whitespace. * @@ -1169,7 +1220,7 @@ abstract class PrettyPrinterAbstract Expr\PostDec::class => ['var' => self::FIXUP_PREC_LEFT], Expr\Instanceof_::class => [ 'expr' => self::FIXUP_PREC_LEFT, - 'class' => self::FIXUP_PREC_RIGHT, // TODO: FIXUP_NEW_VARIABLE + 'class' => self::FIXUP_NEW, ], Expr\Ternary::class => [ 'cond' => self::FIXUP_PREC_LEFT, @@ -1177,10 +1228,13 @@ abstract class PrettyPrinterAbstract ], Expr\FuncCall::class => ['name' => self::FIXUP_CALL_LHS], - Expr\StaticCall::class => ['class' => self::FIXUP_DEREF_LHS], + Expr\StaticCall::class => ['class' => self::FIXUP_STATIC_DEREF_LHS], Expr\ArrayDimFetch::class => ['var' => self::FIXUP_DEREF_LHS], - Expr\ClassConstFetch::class => ['var' => self::FIXUP_DEREF_LHS], - Expr\New_::class => ['class' => self::FIXUP_DEREF_LHS], // TODO: FIXUP_NEW_VARIABLE + Expr\ClassConstFetch::class => [ + 'class' => self::FIXUP_STATIC_DEREF_LHS, + 'name' => self::FIXUP_BRACED_NAME, + ], + Expr\New_::class => ['class' => self::FIXUP_NEW], Expr\MethodCall::class => [ 'var' => self::FIXUP_DEREF_LHS, 'name' => self::FIXUP_BRACED_NAME, @@ -1190,7 +1244,7 @@ abstract class PrettyPrinterAbstract 'name' => self::FIXUP_BRACED_NAME, ], Expr\StaticPropertyFetch::class => [ - 'class' => self::FIXUP_DEREF_LHS, + 'class' => self::FIXUP_STATIC_DEREF_LHS, 'name' => self::FIXUP_VAR_BRACED_NAME, ], Expr\PropertyFetch::class => [ @@ -1276,6 +1330,7 @@ abstract class PrettyPrinterAbstract 'Param->default' => $stripEquals, 'Stmt_Break->num' => $stripBoth, 'Stmt_Catch->var' => $stripLeft, + 'Stmt_ClassConst->type' => $stripRight, 'Stmt_ClassMethod->returnType' => $stripColon, 'Stmt_Class->extends' => ['left' => \T_EXTENDS], 'Stmt_Enum->scalarType' => $stripColon, @@ -1317,6 +1372,7 @@ abstract class PrettyPrinterAbstract 'Stmt_Break->num' => [\T_BREAK, false, ' ', null], 'Stmt_Catch->var' => [null, false, ' ', null], 'Stmt_ClassMethod->returnType' => [')', false, ' : ', null], + 'Stmt_ClassConst->type' => [\T_CONST, false, ' ', null], 'Stmt_Class->extends' => [null, false, ' extends ', null], 'Stmt_Enum->scalarType' => [null, false, ' : ', null], 'Stmt_EnumCase->expr' => [null, false, ' = ', null], @@ -1506,6 +1562,7 @@ abstract class PrettyPrinterAbstract 'Stmt_ClassMethod->flags' => \T_FUNCTION, 'Stmt_Class->flags' => \T_CLASS, 'Stmt_Property->flags' => \T_VARIABLE, + 'Expr_PrintableNewAnonClass->flags' => \T_CLASS, 'Param->flags' => \T_VARIABLE, //'Stmt_TraitUseAdaptation_Alias->newModifier' => 0, // TODO ]; diff --git a/src/ncc/ThirdParty/nikic/PhpParser/VERSION b/src/ncc/ThirdParty/nikic/PhpParser/VERSION index 6828952..331b258 100644 --- a/src/ncc/ThirdParty/nikic/PhpParser/VERSION +++ b/src/ncc/ThirdParty/nikic/PhpParser/VERSION @@ -1 +1 @@ -4.15.1 \ No newline at end of file +4.17.1 \ No newline at end of file diff --git a/src/ncc/Utilities/Console.php b/src/ncc/Utilities/Console.php index 045044a..e8d58e8 100644 --- a/src/ncc/Utilities/Console.php +++ b/src/ncc/Utilities/Console.php @@ -56,6 +56,11 @@ */ public static function inlineProgressBar(int $value, int $total, int $size = 10, array $options = []): void { + if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + { + return; + } + static $start_time; // Start time initialization @@ -78,7 +83,7 @@ . ($barLength < $size ? ">" : "=") . str_repeat(" ", $size - $barLength) . " ] " - . number_format($percentage * 100) . " % $value/$total"; + . number_format($percentage * 100) . "% $value/$total"; // ETA and elapsed time calculation $rate = (time() - $start_time) / $value; @@ -164,12 +169,12 @@ return; } - if(Main::getLogLevel() !== null && !Resolver::checkLogLevel(LogLevel::INFO, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::INFO, Main::getLogLevel())) { return; } - if(!$no_prefix && Main::getLogLevel() !== null && Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(!$no_prefix && Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) { $message = self::setPrefix(LogLevel::INFO, $message); } @@ -197,7 +202,7 @@ return; } - if(Main::getLogLevel() !== null && !Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::DEBUG, Main::getLogLevel())) { return; } @@ -234,7 +239,7 @@ return; } - if(Main::getLogLevel() !== null && !Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) { return; } @@ -253,7 +258,7 @@ */ public static function formatColor(string $input, string $color_code, bool $persist=true): string { - if(Main::getArgs() !== null && isset(Main::getArgs()['no-color'])) + if(isset(Main::getArgs()['no-color'])) { return $input; } @@ -280,12 +285,12 @@ return; } - if(Main::getLogLevel() !== null && !Resolver::checkLogLevel(LogLevel::WARNING, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::WARNING, Main::getLogLevel())) { return; } - if(Main::getLogLevel() !== null && Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) { self::out(self::setPrefix(LogLevel::WARNING, $message), $newline, true); return; @@ -309,12 +314,12 @@ return; } - if(Main::getLogLevel() !== null && !Resolver::checkLogLevel(LogLevel::ERROR, Main::getLogLevel())) + if(!Resolver::checkLogLevel(LogLevel::ERROR, Main::getLogLevel())) { return; } - if(Main::getLogLevel() !== null && Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) + if(Resolver::checkLogLevel(LogLevel::VERBOSE, Main::getLogLevel())) { self::out(self::setPrefix(LogLevel::ERROR, $message), $newline, true); } @@ -394,7 +399,7 @@ self::outExceptionDetails($e->getPrevious(), true); } - if(!$sub && Main::getArgs() !== null) + if(!$sub) { if(isset(Main::getArgs()['dbg-ex'])) { @@ -457,7 +462,7 @@ { if($display_options) { - $r = self::getInput($prompt . ' (Y/N): '); + $r = self::getInput($prompt . ' [Y/n]: '); } else { diff --git a/src/ncc/Utilities/Functions.php b/src/ncc/Utilities/Functions.php index d58a438..21767e3 100644 --- a/src/ncc/Utilities/Functions.php +++ b/src/ncc/Utilities/Functions.php @@ -25,48 +25,18 @@ use Exception; use FilesystemIterator; use JsonException; - use ncc\Enums\AuthenticationType; - use ncc\Enums\DefinedRemoteSourceType; - use ncc\Enums\HttpRequestType; - use ncc\Enums\Runners; use ncc\Enums\Scopes; - use ncc\Classes\BashExtension\BashRunner; - use ncc\Classes\GithubExtension\GithubService; - use ncc\Classes\GitlabExtension\GitlabService; - use ncc\Classes\HttpClient; - use ncc\Classes\LuaExtension\LuaRunner; - use ncc\Classes\PerlExtension\PerlRunner; - use ncc\Classes\PhpExtension\PhpRunner; - use ncc\Classes\PythonExtension\Python2Runner; - use ncc\Classes\PythonExtension\Python3Runner; - use ncc\Classes\PythonExtension\PythonRunner; - use ncc\Exceptions\ArchiveException; - use ncc\Exceptions\AuthenticationException; use ncc\Exceptions\IOException; - use ncc\Exceptions\NetworkException; - use ncc\Exceptions\NotSupportedException; + use ncc\Exceptions\OperationException; use ncc\Exceptions\PathNotFoundException; use ncc\Managers\ConfigurationManager; use ncc\Managers\CredentialManager; use ncc\Managers\PackageLockManager; + use ncc\Managers\RepositoryManager; use ncc\Objects\CliHelpSection; use ncc\Objects\ComposerJson; - use ncc\Objects\DefinedRemoteSource; - use ncc\Objects\HttpRequest; - use ncc\Objects\Package\ExecutionUnit; - use ncc\Objects\ProjectConfiguration\ExecutionPolicy; - use ncc\Objects\RemotePackageInput; - use ncc\Objects\RepositoryQueryResults; - use ncc\Objects\RepositoryQueryResults\Files; - use ncc\Objects\Vault\Entry; - use ncc\ThirdParty\jelix\Version\Parser; - use ncc\ThirdParty\jelix\Version\VersionComparator; use ncc\ThirdParty\Symfony\Filesystem\Filesystem; - use ncc\ThirdParty\Symfony\Process\ExecutableFinder; - use ncc\ThirdParty\Symfony\Process\Process; use ncc\ThirdParty\theseer\DirectoryScanner\DirectoryScanner; - use RecursiveDirectoryIterator; - use RecursiveIteratorIterator; use RuntimeException; use Throwable; @@ -248,12 +218,12 @@ } /** - * Removes the basename from a path, eg; extracts "foo/bar.txt" from "/root/foo/bar.txt" if "/root" is the - * current working directory, optionally accepts a different basename using the $basename parameter. + * Removes a specified base directory from a given path. + * If the $baseName parameter is not provided, the current working directory will be used as the base directory. * - * @param string $path - * @param string|null $base_name - * @return string + * @param string $path The path from which to remove the base directory. + * @param string|null $base_name The base directory to remove from the path. If not provided, the current working directory is used. + * @return string The modified path with the base directory removed. */ public static function removeBasename(string $path, ?string $base_name=null): string { @@ -273,40 +243,6 @@ return str_replace($base_name, (string)null, $path); } - /** - * Corrects the directory separator for the given path - * - * @param $path - * @return string - */ - public static function correctDirectorySeparator($path): string - { - return str_ireplace(array('/', '\\'), DIRECTORY_SEPARATOR, $path); - } - - /** - * @param string $path - * @param ExecutionPolicy $policy - * @return ExecutionUnit - * @throws IOException - * @throws NotSupportedException - * @throws PathNotFoundException - */ - public static function compileRunner(string $path, ExecutionPolicy $policy): ExecutionUnit - { - return match (strtolower($policy->getRunner())) - { - Runners::BASH => BashRunner::processUnit($path, $policy), - Runners::PHP => PhpRunner::processUnit($path, $policy), - Runners::PERL => PerlRunner::processUnit($path, $policy), - Runners::PYTHON => PythonRunner::processUnit($path, $policy), - Runners::PYTHON_2 => Python2Runner::processUnit($path, $policy), - Runners::PYTHON_3 => Python3Runner::processUnit($path, $policy), - Runners::LUA => LuaRunner::processUnit($path, $policy), - default => throw new NotSupportedException('The runner \'' . $policy->getRunner() . '\' is not supported'), - }; - } - /** * Returns an array representation of the exception * @@ -347,67 +283,59 @@ } /** - * Initializes NCC files + * Initializes ncc system files * + * @param array $default_repositories * @return void - * @throws AuthenticationException + * @throws OperationException */ - public static function initializeFiles(): void + public static function initializeFiles(array $default_repositories=[]): void { if(Resolver::resolveScope() !== Scopes::SYSTEM) { - throw new AuthenticationException('Cannot initialize NCC files, insufficient permissions'); + throw new OperationException('You must be running as root to initialize ncc files'); } - Console::outVerbose('Initializing NCC files'); - + Console::outVerbose('Initializing ncc files'); $filesystem = new Filesystem(); - if(!$filesystem->exists(PathFinder::getDataPath(Scopes::SYSTEM))) + + if(!$filesystem->exists(PathFinder::getCachePath())) { - Console::outDebug(sprintf('Initializing %s', PathFinder::getDataPath(Scopes::SYSTEM))); - $filesystem->mkdir(PathFinder::getDataPath(Scopes::SYSTEM), 0755); + Console::outDebug(sprintf('Initializing %s', PathFinder::getCachePath())); + $filesystem->mkdir(PathFinder::getCachePath(), 0777); } - if(!$filesystem->exists(PathFinder::getCachePath(Scopes::SYSTEM))) + if(!$filesystem->exists(PathFinder::getPackagesPath())) { - Console::outDebug(sprintf('Initializing %s', PathFinder::getCachePath(Scopes::SYSTEM))); - $filesystem->mkdir(PathFinder::getCachePath(Scopes::SYSTEM)); + Console::outDebug(sprintf('Initializing %s', PathFinder::getPackagesPath())); + $filesystem->mkdir(PathFinder::getPackagesPath(), 0655); } - if(!$filesystem->exists(PathFinder::getRunnerPath(Scopes::SYSTEM))) - { - Console::outDebug(sprintf('Initializing %s', PathFinder::getRunnerPath(Scopes::SYSTEM))); - $filesystem->mkdir(PathFinder::getRunnerPath(Scopes::SYSTEM), 0755); - } - - if(!$filesystem->exists(PathFinder::getPackagesPath(Scopes::SYSTEM))) - { - Console::outDebug(sprintf('Initializing %s', PathFinder::getPackagesPath(Scopes::SYSTEM))); - $filesystem->mkdir(PathFinder::getPackagesPath(Scopes::SYSTEM), 0755); - } - - // Create credential store if needed try { - Console::outVerbose('Processing Credential Store'); - $credential_manager = new CredentialManager(); - $credential_manager->constructStore(); + CredentialManager::initializeCredentialStorage(); } - catch (Exception $e) + catch(Exception $e) { - Console::outError('Cannot construct credential store, ' . $e->getMessage() . ' (Error Code: ' . $e->getCode() . ')'); + throw new OperationException('Failed to initialize credential storage, ' . $e->getMessage(), $e); } - // Create package lock if needed try { - Console::outVerbose('Processing Package Lock'); - $package_manager = new PackageLockManager(); - $package_manager->constructLockFile(); + PackageLockManager::initializePackageLock(); } - catch (Exception $e) + catch(Exception $e) { - Console::outError('Cannot construct Package Lock, ' . $e->getMessage() . ' (Error Code: ' . $e->getCode() . ')'); + throw new OperationException('Failed to initialize package lock, ' . $e->getMessage(), $e); + } + + try + { + RepositoryManager::initializeDatabase($default_repositories); + } + catch(Exception $e) + { + throw new OperationException('Failed to initialize repository database, ' . $e->getMessage(), $e); } } @@ -441,6 +369,11 @@ */ public static function cbool($value): bool { + if(is_bool($value)) + { + return $value; + } + if(is_null($value)) { return false; @@ -481,242 +414,6 @@ return (new ConfigurationManager())->getProperty($property); } - /** - * Parses the version and returns a valid version format - * - * @param string $version - * @return string - * @throws Exception - */ - public static function parseVersion(string $version): string - { - if(str_starts_with(strtolower($version), 'v')) - { - $version = substr($version, 1); - } - - return Parser::parse($version)->toString(); - } - - /** - * Returns a random string - * - * @param int $length - * @return string - */ - public static function randomString(int $length=32): string - { - $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - $characters_length = strlen($characters); - $random_string = ''; - - for($i = 0; $i < $length; $i++) - { - try - { - $random_string .= $characters[random_int(0, $characters_length - 1)]; - } - catch (Exception $e) - { - throw new RuntimeException('Cannot generate random string, ' . $e->getMessage(), $e->getCode(), $e); - } - } - - return $random_string; - } - - /** - * Returns a path to a temporary directory - * - * @param bool $create - * @param bool $set_as_tmp - * @return string - */ - public static function getTmpDir(bool $create=true, bool $set_as_tmp=true): string - { - $path = PathFinder::getCachePath() . DIRECTORY_SEPARATOR . self::randomString(16); - - if($create) - { - $filesystem = new Filesystem(); - /** @noinspection PhpRedundantOptionalArgumentInspection */ - $filesystem->mkdir($path, 0777); - } - - if($set_as_tmp) - { - RuntimeCache::setFileAsTemporary($path); - } - - return $path; - } - - /** - * Applies the authentication to the given HTTP request. - * - * @param HttpRequest $http_request - * @param Entry|null $entry - * @param bool $expect_json - * @return HttpRequest - * @throws AuthenticationException - */ - public static function prepareGitServiceRequest(HttpRequest $http_request, ?Entry $entry=null, bool $expect_json=true): HttpRequest - { - if($entry !== null) - { - if(!$entry->isCurrentlyDecrypted()) - { - throw new RuntimeException('The given Vault entry is not decrypted.'); - } - - switch ($entry->getPassword()?->getAuthenticationType()) - { - case AuthenticationType::ACCESS_TOKEN: - $http_request->addHeader("Authorization: Bearer " . $entry->getPassword()); - break; - - case AuthenticationType::USERNAME_PASSWORD: - throw new AuthenticationException(sprintf('The given Vault entry is using the %s authentication type, which is not supported for Gitlab', AuthenticationType::USERNAME_PASSWORD)); - } - } - - if($expect_json) - { - $http_request->addHeader("Accept: application/json"); - $http_request->addHeader("Content-Type: application/json"); - } - - return $http_request; - } - - /** - * Downloads a file from the given URL and saves it to the given path - * - * @param string $url - * @param Entry|null $entry - * @return string - * @throws AuthenticationException - * @throws NetworkException - */ - public static function downloadGitServiceFile(string $url, ?Entry $entry=null): string - { - if(RuntimeCache::get('download_cache.' . $url) !== null) - { - return RuntimeCache::get('download_cache.' . $url); - } - - $out_path = self::getTmpDir() . "/" . basename($url); - $http_request = new HttpRequest(); - $http_request->setUrl($url); - $http_request->setType(HttpRequestType::GET); - $http_request = self::prepareGitServiceRequest($http_request, $entry, false); - - Console::out('Downloading file ' . $url); - HttpClient::download($http_request, $out_path); - RuntimeCache::set('download_cache.' . $url, $out_path); - - return $out_path; - } - - /** - * @param string $path - * @return string|null - * @throws ArchiveException - */ - public static function extractArchive(string $path): ?string - { - $executable_finder = new ExecutableFinder(); - $unzip_executable = $executable_finder->find('unzip'); - $tar_executable = $executable_finder->find('tar'); - $out_path = dirname($path); - $filesystem = new Filesystem(); - - if(!$filesystem->exists($out_path)) - { - $filesystem->mkdir($out_path); - } - - RuntimeCache::setFileAsTemporary($out_path); - - $mime_type = mime_content_type($path); - $supported_types = []; - - if($unzip_executable !== null) - { - array_push($supported_types, 'application/zip', 'application/x-zip', 'application/x-zip-compressed', 'application/octet-stream', 'application/x-compress', 'application/x-compressed', 'multipart/x-zip'); - } - elseif(RuntimeCache::get('warning_zip_shown') !== true) - { - Console::out('unzip executable not found. ZIP archives will not be supported.'); - RuntimeCache::set('warning_zip_shown', true); - } - - if($tar_executable !== null) - { - array_push($supported_types, 'application/x-tar', 'application/x-gzip', 'application/x-bzip2', 'application/x-xz'); - } - elseif(RuntimeCache::get('warning_tar_shown') !== true) - { - Console::outWarning('tar executable not found. TAR archives will not be supported.'); - RuntimeCache::set('warning_tar_shown', true); - } - - if(!in_array($mime_type, $supported_types, true)) - { - throw new ArchiveException(sprintf('Cannot extract archive %s, unsupported archive type %s', $path, $mime_type)); - } - - $command = match ($mime_type) { - 'application/zip' => [$unzip_executable, $path, '-d', $out_path], - 'application/x-tar' => [$tar_executable, '--verbose', '-xf', $path, '-C', $out_path], - 'application/x-gzip' => [$tar_executable, '--verbose', '-xzf', $path, '-C', $out_path], - 'application/x-bzip2' => [$tar_executable, '--verbose', '-xjf', $path, '-C', $out_path], - default => throw new ArchiveException(sprintf('Cannot extract archive %s, unsupported archive type %s', $path, $mime_type)), - }; - - Console::out("Extracting archive $path"); - $process = new Process($command); - - // display the output of the command - $process->run(function ($type, $buffer) - { - Console::outVerbose($buffer); - }); - - if(!$process->isSuccessful()) - { - throw new ArchiveException($process->getErrorOutput()); - } - - return $out_path; - } - - /** - * Scans the given directory for files and returns the found file - * - * @param string $path - * @param array $files - * @return string|null - */ - public static function searchDirectory(string $path, array $files): ?string - { - if(!is_dir($path)) - { - return null; - } - - // Search files in the given directory recursively - foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $file) - { - if(in_array($file->getFilename(), $files, true)) - { - return $file->getPathname(); - } - } - - return null; - } - /** * Attempts to convert a weird version number to a standard version number * @@ -764,211 +461,6 @@ return $version; } - /** - * Returns a complete RepositoryQueryResults object - * - * @param RemotePackageInput $packageInput - * @param DefinedRemoteSource $definedRemoteSource - * @param Entry|null $entry - * @return RepositoryQueryResults - */ - public static function getRepositoryQueryResults(RemotePackageInput $packageInput, DefinedRemoteSource $definedRemoteSource, ?Entry $entry): RepositoryQueryResults - { - $results = new RepositoryQueryResults(); - - switch($definedRemoteSource->getType()) - { - case DefinedRemoteSourceType::GITHUB: - $source = GithubService::class; - break; - - case DefinedRemoteSourceType::GITLAB: - $source = GitlabService::class; - break; - - default: - return $results; - } - - // Check if the specified version is a release - try - { - Console::outVerbose(sprintf('Attempting to fetch source code from %s', $definedRemoteSource->getHost())); - $release_results = $source::getRelease($packageInput, $definedRemoteSource, $entry); - } - catch(Exception $e) - { - $release_results = null; - unset($e); - } - - // If the specified version is a release, download the source code - if($release_results !== null) - { - $results->setReleaseName($release_results->getReleaseName()); - $results->setReleaseDescription($release_results->getReleaseDescription()); - $results->setFiles(self::mergeFilesResults($release_results->getFiles(), ($results->getFiles()))); - - if($release_results->getVersion() !== null) - { - $results->setVersion($release_results->getVersion()); - } - } - - try - { - $git_results = $source::getGitRepository($packageInput, $definedRemoteSource, $entry); - } - catch(Exception $e) - { - $git_results = null; - unset($e); - } - - if($git_results !== null) - { - if($results->getReleaseName() === null) - { - $results->setReleaseName($git_results->getReleaseName()); - } - elseif($git_results->getReleaseName() !== null) - { - if(strlen($git_results->getReleaseDescription()) > strlen($results->getReleaseDescription())) - { - $results->setReleaseName($git_results->getReleaseName()); - } - } - - if($results->getReleaseDescription() === null) - { - $results->setReleaseDescription($git_results->getReleaseDescription()); - } - elseif($git_results->getReleaseDescription() !== null) - { - if(strlen($git_results->getReleaseDescription()) > strlen($results->getReleaseDescription())) - { - $results->setReleaseDescription($git_results->getReleaseDescription()); - } - } - - if($results->getVersion() === null) - { - $results->setVersion($git_results->getVersion()); - } - elseif($git_results->getVersion() !== null) - { - // Version compare - if(VersionComparator::compareVersion($git_results->getVersion(), $results->getVersion()) > 0) - { - $results->setVersion($git_results->getVersion()); - } - } - - $results->setFiles(self::mergeFilesResults($git_results->getFiles(), ($results->getFiles()))); - } - - try - { - $ncc_package_results = $source::getNccPackage($packageInput, $definedRemoteSource, $entry); - } - catch(Exception $e) - { - unset($e); - $ncc_package_results = null; - } - - if($ncc_package_results !== null) - { - if($results->getReleaseName() === null) - { - $results->setReleaseName($ncc_package_results->getReleaseName()); - } - elseif($ncc_package_results->getReleaseName() !== null) - { - if(strlen($ncc_package_results->getReleaseName()) > strlen($results->getReleaseName())) - { - $results->setReleaseName($ncc_package_results->getReleaseName()); - } - } - - if($results->getReleaseDescription() === null) - { - $results->setReleaseDescription($ncc_package_results->getReleaseDescription()); - } - elseif($ncc_package_results->getReleaseDescription() !== null) - { - if(strlen($ncc_package_results->getReleaseDescription()) > strlen($results->getReleaseDescription())) - { - $results->setReleaseDescription($ncc_package_results->getReleaseDescription()); - } - } - - if($results->getVersion() === null) - { - $results->setVersion($ncc_package_results->getVersion()); - } - elseif($ncc_package_results->getVersion() !== null) - { - // Version compare - if(VersionComparator::compareVersion($ncc_package_results->getVersion(), $results->getVersion()) > 0) - { - $results->setVersion($ncc_package_results->getVersion()); - } - } - - $results->setFiles(self::mergeFilesResults($ncc_package_results->getFiles(), ($results->getFiles()))); - } - - return $results; - } - - /** - * Merges the given Files an object with another Files object - * - * @param Files $input - * @param Files|null $selected - * @return Files - */ - private static function mergeFilesResults(RepositoryQueryResults\Files $input, ?RepositoryQueryResults\Files $selected=null): RepositoryQueryResults\Files - { - if($selected === null) - { - $selected = new RepositoryQueryResults\Files(); - } - - if($input->GitSshUrl !== null) - { - $selected->GitSshUrl = $input->GitSshUrl; - } - - if($input->GitHttpUrl !== null) - { - $selected->GitHttpUrl = $input->GitHttpUrl; - } - - if($input->SourceUrl !== null) - { - $selected->SourceUrl = $input->SourceUrl; - } - - if($input->TarballUrl !== null) - { - $selected->TarballUrl = $input->TarballUrl; - } - - if($input->ZipballUrl !== null) - { - $selected->ZipballUrl = $input->ZipballUrl; - } - - if($input->PackageUrl !== null) - { - $selected->PackageUrl = $input->PackageUrl; - } - - return $selected; - } - /** * Attempts to cast the correct type of the given value * @@ -1014,9 +506,9 @@ try { - if($filesystem->exists(PathFinder::getDataPath(Scopes::SYSTEM))) + if($filesystem->exists(PathFinder::getDataPath())) { - $filesystem->chmod(PathFinder::getDataPath(Scopes::SYSTEM), 0777, 0000, true); + $filesystem->chmod(PathFinder::getDataPath(), 0777, 0000, true); } } catch(Exception $e) @@ -1026,9 +518,9 @@ try { - if($filesystem->exists(PathFinder::getCachePath(Scopes::SYSTEM))) + if($filesystem->exists(PathFinder::getCachePath())) { - $filesystem->chmod(PathFinder::getCachePath(Scopes::SYSTEM), 0777, 0000, true); + $filesystem->chmod(PathFinder::getCachePath(), 0777, 0000, true); } } catch(Exception $e) diff --git a/src/ncc/Utilities/PathFinder.php b/src/ncc/Utilities/PathFinder.php index a49d6e3..1817e42 100644 --- a/src/ncc/Utilities/PathFinder.php +++ b/src/ncc/Utilities/PathFinder.php @@ -22,12 +22,6 @@ namespace ncc\Utilities; - use InvalidArgumentException; - use ncc\Enums\Scopes; - use ncc\Exceptions\ConfigurationException; - use ncc\Exceptions\OperationException; - use ncc\ThirdParty\Symfony\Process\ExecutableFinder; - class PathFinder { /** @@ -40,34 +34,6 @@ return realpath(DIRECTORY_SEPARATOR); } - /** - * Returns the home directory of the user - * - * @param string $scope - * @return string - */ - public static function getHomePath(string $scope=Scopes::AUTO): string - { - $scope = Resolver::resolveScope($scope); - - if(!Validate::scope($scope, false)) - { - throw new InvalidArgumentException(sprintf('Invalid access scope "%s"', $scope)); - } - - switch($scope) - { - case Scopes::USER: - $uid = posix_getuid(); - return posix_getpwuid($uid)['dir'] . DIRECTORY_SEPARATOR . '.ncc'; - - case Scopes::SYSTEM: - return posix_getpwuid(0)['dir'] . DIRECTORY_SEPARATOR . '.ncc'; - } - - throw new InvalidArgumentException(sprintf('Invalid access scope "%s"', $scope)); - } - /** * Returns the path where all NCC installation data is stored * @@ -99,17 +65,7 @@ } /** - * Returns the path where Runner bin files are located and installed - * - * @return string - */ - public static function getRunnerPath(): string - { - return self::getDataPath() . DIRECTORY_SEPARATOR . 'runners'; - } - - /** - * Returns the package lock file + * Returns the package lock file path * * @return string */ @@ -119,64 +75,23 @@ } /** - * @return string - */ - public static function getRemoteSources(): string - { - return self::getDataPath() . DIRECTORY_SEPARATOR . 'sources'; - } - - /** - * @return string - */ - public static function getSymlinkDictionary(): string - { - return self::getDataPath() . DIRECTORY_SEPARATOR . 'symlinks'; - } - - /** - * Returns an array of all the package lock files the current user can access (For global-cross referencing) - * - * @return array - */ - public static function getPackageLockFiles(): array - { - $results = []; - $results[] = self::getPackageLock(); - - if(!in_array(self::getPackageLock(), $results, true)) - { - $results[] = self::getPackageLock(); - } - - return $results; - } - - /** - * Returns the path where package data is located - * - * @param string $package - * @return string - * @throws ConfigurationException - */ - public static function getPackageDataPath(string $package): string - { - if(!Validate::packageName($package)) - { - throw new ConfigurationException($package); - } - - return self::getDataPath() . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . $package; - } - - /** - * Returns the file path where files for the given extension is stored + * Returns the repository database file * * @return string */ - public static function getExtensionPath(): string + public static function getRepositoryDatabase(): string { - return self::getDataPath() . DIRECTORY_SEPARATOR . 'ext'; + return self::getDataPath() . DIRECTORY_SEPARATOR . 'repository.db'; + } + + /** + * Returns the credential storage file + * + * @return string + */ + public static function getCredentialStorage(): string + { + return self::getDataPath() . DIRECTORY_SEPARATOR . 'credentials.store'; } /** @@ -188,35 +103,4 @@ { return self::getDataPath() . DIRECTORY_SEPARATOR . 'ncc.yaml'; } - - /** - * Attempts to locate the executable path of the given program name - * - * @param string $runner - * @return string - * @throws OperationException - */ - public static function findRunner(string $runner): string - { - $executable_finder = new ExecutableFinder(); - - $config_value = Functions::getConfigurationProperty(sprintf('runners.%s', $runner)); - if($config_value !== null) - { - if(file_exists($config_value) && is_executable($config_value)) - { - return $config_value; - } - Console::outWarning(sprintf('The configured \'%s\' executable path is invalid, trying to find it automatically...', $runner)); - } - - $exec_path = $executable_finder->find($runner); - - if($exec_path !== null) - { - return $exec_path; - } - - throw new OperationException(sprintf('Unable to find \'%s\' executable', $runner)); - } } \ No newline at end of file diff --git a/src/ncc/Utilities/Resolver.php b/src/ncc/Utilities/Resolver.php index ec4790b..19055a6 100644 --- a/src/ncc/Utilities/Resolver.php +++ b/src/ncc/Utilities/Resolver.php @@ -1,35 +1,33 @@ $match) @@ -123,31 +103,32 @@ else if (isset($match['string']) && $match['string'] !== '') { // fix escaped quotes - $value = str_replace("\\\"", "\"", $match['string']); - $value = str_replace("\\'", "'", $value); + $value = str_replace(["\\\"", "\\'"], ["\"", "'"], $match['string']); } else { $value = true; } - if (isset($match['bigflag']) && $match['bigflag'] !== '') + if(isset($match['big']) && $match['big'] !== '') { - $configs[$match['bigflag']] = $value; + $configs[$match['big']] = $value; } - if (isset($match['smallflag']) && $match['smallflag'] !== '') + if(isset($match['small']) && $match['small'] !== '') { - $configs[$match['smallflag']] = $value; + $configs[$match['small']] = $value; } - if (isset($match['unmatched']) && $match['unmatched'] !== '') + if(isset($match['unmatched']) && $match['unmatched'] !== '') { $configs[$match['unmatched']] = true; } - if ($index >= $max_arguments) + if($index >= $max_arguments) + { break; + } } return $configs; @@ -186,144 +167,93 @@ */ public static function checkLogLevel(?string $input, ?string $current_level): bool { - if($input == null) - return false; - if($current_level == null) + if($input === null || $current_level === null) + { return false; + } $input = strtolower($input); if(!Validate::checkLogLevel($input)) + { return false; + } $current_level = strtolower($current_level); if(!Validate::checkLogLevel($current_level)) + { return false; - - switch($current_level) - { - case LogLevel::DEBUG: - $levels = [ - LogLevel::DEBUG, - LogLevel::VERBOSE, - LogLevel::INFO, - LogLevel::WARNING, - LogLevel::FATAL, - LogLevel::ERROR - ]; - if(in_array($input, $levels)) - return true; - return false; - - case LogLevel::VERBOSE: - $levels = [ - LogLevel::VERBOSE, - LogLevel::INFO, - LogLevel::WARNING, - LogLevel::FATAL, - LogLevel::ERROR - ]; - if(in_array($input, $levels)) - return true; - return false; - - case LogLevel::INFO: - $levels = [ - LogLevel::INFO, - LogLevel::WARNING, - LogLevel::FATAL, - LogLevel::ERROR - ]; - if(in_array($input, $levels)) - return true; - return false; - - case LogLevel::WARNING: - $levels = [ - LogLevel::WARNING, - LogLevel::FATAL, - LogLevel::ERROR - ]; - if(in_array($input, $levels)) - return true; - return false; - - case LogLevel::ERROR: - $levels = [ - LogLevel::FATAL, - LogLevel::ERROR - ]; - if(in_array($input, $levels)) - return true; - return false; - - case LogLevel::FATAL: - if($input == LogLevel::FATAL) - return true; - return false; - - default: - case LogLevel::SILENT: - return false; } + + return match ($current_level) + { + LogLevel::DEBUG => in_array($input, [LogLevel::DEBUG, LogLevel::VERBOSE, LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), + LogLevel::VERBOSE => in_array($input, [LogLevel::VERBOSE, LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), + LogLevel::INFO => in_array($input, [LogLevel::INFO, LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), + LogLevel::WARNING => in_array($input, [LogLevel::WARNING, LogLevel::FATAL, LogLevel::ERROR], true), + LogLevel::ERROR => in_array($input, [LogLevel::FATAL, LogLevel::ERROR], true), + LogLevel::FATAL => $input === LogLevel::FATAL, + default => false, + }; } /** - * Detects the remote source type, can also accept defined remote - * sources as the input, the function will look for the source - * type and return it + * Returns the ProjectDetectionResults of the project in the specified directory * - * @param string $input - * @return string - */ - public static function detectRemoteSourceType(string $input): string - { - if(in_array($input, BuiltinRemoteSourceType::ALL)) - return RemoteSourceType::BUILTIN; - - $source_manager = new RemoteSourcesManager(); - $defined_source = $source_manager->getRemoteSource($input); - if($defined_source == null) - return RemoteSourceType::UNKNOWN; - - return RemoteSourceType::DEFINED; - } - - /** - * Detects the project type from the specified path - * - * @param string $path + * @param string $directory * @return ProjectDetectionResults + * @throws NotSupportedException */ - public static function detectProjectType(string $path): ProjectDetectionResults + public static function detectProject(string $directory): ProjectDetectionResults { - $project_files = [ - 'project.json', - 'composer.json' - ]; - - $project_file = Functions::searchDirectory($path, $project_files); - - $project_detection_results = new ProjectDetectionResults(); - $project_detection_results->setProjectType(ProjectType::UNKNOWN); - - if($project_file == null) + foreach(Functions::scanDirectory($directory, ['*project.json', '*composer.json']) as $file) { - return $project_detection_results; + if(str_ends_with($file, 'project.json')) + { + return new ProjectDetectionResults($file, ProjectType::NCC); + } + + if(str_ends_with($file, 'composer.json')) + { + return new ProjectDetectionResults($file, ProjectType::COMPOSER); + } } - // Get filename of the project file - switch(basename($project_file)) - { - case 'project.json': - $project_detection_results->setProjectType(ProjectType::NCC); - break; + throw new NotSupportedException(sprintf('Unable to detect project type in directory "%s"', $directory)); + } - case 'composer.json': - $project_detection_results->setProjectType(ProjectType::COMPOSER); - break; + /** + * Converts a composer package name to a java standard package name, returns false if the input is invalid + * + * @param string $name + * @return string|false + */ + public static function composerNameToPackage(string $name): string|false + { + $parts = explode("/", $name, 2); + + if (count($parts) === 2) + { + return "com." . str_replace('-', '_', str_replace("/", ".", $name)); } - $project_detection_results->setProjectPath(dirname($project_file)); - return $project_detection_results; + return false; + } + + /** + * Returns the name of a composer package name, returns false if the input is invalid + * + * @param string $name + * @return string|false + */ + public static function composerName(string $name): string|false + { + $parts = explode("/", $name, 2); + + if (count($parts) === 2) + { + return $parts[1]; + } + + return false; } } \ No newline at end of file diff --git a/src/ncc/ncc b/src/ncc/ncc index 7430ad6..faf819b 100644 --- a/src/ncc/ncc +++ b/src/ncc/ncc @@ -23,4 +23,4 @@ use ncc\CLI\Main; require('autoload.php'); - Main::start($argv); \ No newline at end of file + exit(Main::start($argv)); \ No newline at end of file diff --git a/src/ncc/version.json b/src/ncc/version.json index 9eaf905..7095487 100644 --- a/src/ncc/version.json +++ b/src/ncc/version.json @@ -3,6 +3,10 @@ "branch": "stable", "flags": [], "components": [ + { + "vendor": "composer", + "package_name": "semver" + }, { "vendor": "defuse", "package_name": "php-encryption" @@ -17,15 +21,15 @@ }, { "vendor": "Symfony", - "package_name": "polyfill-ctype" + "package_name": "polyfill_ctype" }, { "vendor": "Symfony", - "package_name": "polyfill-mbstring" + "package_name": "polyfill_mbstring" }, { "vendor": "Symfony", - "package_name": "polyfill-uuid" + "package_name": "polyfill_uuid" }, { "vendor": "Symfony", diff --git a/tests/functions/autoload_builder.php b/tests/functions/autoload_builder.php deleted file mode 100644 index c8a92dc..0000000 --- a/tests/functions/autoload_builder.php +++ /dev/null @@ -1,14 +0,0 @@ -generateAutoloaderArray($files); - - var_dump($files); - var_dump($autoload); \ No newline at end of file diff --git a/tests/functions/package_reader.php b/tests/functions/package_reader.php deleted file mode 100644 index 949dc2c..0000000 --- a/tests/functions/package_reader.php +++ /dev/null @@ -1,7 +0,0 @@ -installPackage($package_path); diff --git a/tests/old_tests/composer/json_example.json b/tests/old_tests/composer/json_example.json deleted file mode 100644 index 0f600e4..0000000 --- a/tests/old_tests/composer/json_example.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "name": "composer/composer", - "type": "library", - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "keywords": [ - "package", - "dependency", - "autoload" - ], - "homepage": "https://getcomposer.org/", - "license": "MIT", - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "require": { - "php": "^7.2.5 || ^8.0", - "composer/ca-bundle": "^1.0", - "composer/class-map-generator": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.5.7", - "composer/xdebug-handler": "^2.0.2 || ^3.0.3", - "justinrainbow/json-schema": "^5.2.11", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.2", - "symfony/console": "^5.4.11 || ^6.0.11", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/process": "^5.4 || ^6.0", - "react/promise": "^2.8", - "composer/pcre": "^2.1 || ^3.1", - "symfony/polyfill-php73": "^1.24", - "symfony/polyfill-php80": "^1.24", - "symfony/polyfill-php81": "^1.24", - "seld/signal-handler": "^2.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^6.0", - "phpstan/phpstan": "^1.4.1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.2.10" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "config": { - "platform": { - "php": "7.2.5" - }, - "platform-check": false - }, - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "phpstan": { - "includes": [ - "phpstan/rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "autoload-dev": { - "psr-4": { - "Composer\\Test\\": "tests/Composer/Test" - } - }, - "bin": [ - "bin/composer" - ], - "scripts": { - "compile": "@php -dphar.readonly=0 bin/compile", - "test": "@php simple-phpunit", - "phpstan": "@php vendor/bin/phpstan analyse --configuration=phpstan/config.neon" - }, - "scripts-descriptions": { - "compile": "Compile composer.phar", - "test": "Run all tests", - "phpstan": "Runs PHPStan" - }, - "support": { - "issues": "https://github.com/composer/composer/issues", - "irc": "ircs://irc.libera.chat:6697/composer" - } -} diff --git a/tests/old_tests/composer/lock_example.json b/tests/old_tests/composer/lock_example.json deleted file mode 100644 index c3ec327..0000000 --- a/tests/old_tests/composer/lock_example.json +++ /dev/null @@ -1,2416 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "63b34757131aff5b81d2ed8ce5933fe4", - "packages": [ - { - "name": "composer/ca-bundle", - "version": "1.3.4", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "69098eca243998b53eed7a48d82dedd28b447cd5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/69098eca243998b53eed7a48d82dedd28b447cd5", - "reference": "69098eca243998b53eed7a48d82dedd28b447cd5", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-10-12T12:08:29+00:00" - }, - { - "name": "composer/class-map-generator", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "1e1cb2b791facb2dfe32932a7718cf2571187513" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/1e1cb2b791facb2dfe32932a7718cf2571187513", - "reference": "1e1cb2b791facb2dfe32932a7718cf2571187513", - "shasum": "" - }, - "require": { - "composer/pcre": "^2 || ^3", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6" - }, - "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\ClassMapGenerator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Utilities to scan PHP code and generate class maps.", - "keywords": [ - "classmap" - ], - "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-06-19T11:31:27+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/pcre", - "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "3fdb2807b31a78a40ad89570e30ec77466c98717" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/3fdb2807b31a78a40ad89570e30ec77466c98717", - "reference": "3fdb2807b31a78a40ad89570e30ec77466c98717", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/2.1.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-11-16T18:32:04+00:00" - }, - { - "name": "composer/semver", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-04-01T19:23:25+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.7", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "c848241796da2abf65837d51dce1fae55a960149" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/c848241796da2abf65837d51dce1fae55a960149", - "reference": "c848241796da2abf65837d51dce1fae55a960149", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.7" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-05-23T07:37:50+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T21:32:43+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.12", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12" - }, - "time": "2022-04-13T08:02:27+00:00" - }, - { - "name": "psr/container", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" - }, - "time": "2021-03-05T17:36:06+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "react/promise", - "version": "v2.9.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.9.0" - }, - "funding": [ - { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2022-02-11T10:27:51+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "4211420d25eba80712bff236a98960ef68b866b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7", - "reference": "4211420d25eba80712bff236a98960ef68b866b7", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2022-04-01T13:37:23+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "support": { - "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" - }, - "time": "2022-08-31T10:31:18+00:00" - }, - { - "name": "seld/signal-handler", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/signal-handler.git", - "reference": "f69d119511dc0360440cdbdaa71829c149b7be75" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/f69d119511dc0360440cdbdaa71829c149b7be75", - "reference": "f69d119511dc0360440cdbdaa71829c149b7be75", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "psr/log": "^1 || ^2 || ^3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\Signal\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", - "keywords": [ - "posix", - "sigint", - "signal", - "sigterm", - "unix" - ], - "support": { - "issues": "https://github.com/Seldaek/signal-handler/issues", - "source": "https://github.com/Seldaek/signal-handler/tree/2.0.1" - }, - "time": "2022-07-20T18:31:45+00:00" - }, - { - "name": "symfony/console", - "version": "v5.4.15", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669", - "reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" - }, - "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.4.15" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-10-26T21:41:52+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:53:40+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.4.13", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "ac09569844a9109a5966b9438fc29113ce77cf51" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/ac09569844a9109a5966b9438fc29113ce77cf51", - "reference": "ac09569844a9109a5966b9438fc29113ce77cf51", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.13" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-09-21T19:53:16+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.4.11", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", - "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.11" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-07-29T07:37:50+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-03T14:55:06+00:00" - }, - { - "name": "symfony/process", - "version": "v5.4.11", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1", - "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v5.4.11" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-06-27T16:58:25+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.5.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-05-30T19:17:29+00:00" - }, - { - "name": "symfony/string", - "version": "v5.4.15", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed", - "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "conflict": { - "symfony/translation-contracts": ">=3.0" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.4.15" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-10-05T15:16:54+00:00" - } - ], - "packages-dev": [ - { - "name": "phpstan/phpstan", - "version": "1.9.2", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "d6fdf01c53978b6429f1393ba4afeca39cc68afa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d6fdf01c53978b6429f1393ba4afeca39cc68afa", - "reference": "d6fdf01c53978b6429f1393ba4afeca39cc68afa", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.9.2" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" - } - ], - "time": "2022-11-10T09:56:11+00:00" - }, - { - "name": "phpstan/phpstan-deprecation-rules", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", - "reference": "e5ccafb0dd8d835dd65d8d7a1a0d2b1b75414682" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/e5ccafb0dd8d835dd65d8d7a1a0d2b1b75414682", - "reference": "e5ccafb0dd8d835dd65d8d7a1a0d2b1b75414682", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "phpstan/phpstan": "^1.0" - }, - "require-dev": { - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5" - }, - "type": "phpstan-extension", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - }, - "phpstan": { - "includes": [ - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", - "support": { - "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", - "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.0.0" - }, - "time": "2021-09-23T11:02:21+00:00" - }, - { - "name": "phpstan/phpstan-phpunit", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "dea1f87344c6964c607d9076dee42d891f3923f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/dea1f87344c6964c607d9076dee42d891f3923f0", - "reference": "dea1f87344c6964c607d9076dee42d891f3923f0", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.8.11" - }, - "conflict": { - "phpunit/phpunit": "<7.0" - }, - "require-dev": { - "nikic/php-parser": "^4.13.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5" - }, - "type": "phpstan-extension", - "extra": { - "phpstan": { - "includes": [ - "extension.neon", - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPUnit extensions and rules for PHPStan", - "support": { - "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.2.2" - }, - "time": "2022-10-28T10:23:07+00:00" - }, - { - "name": "phpstan/phpstan-strict-rules", - "version": "1.4.4", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-strict-rules.git", - "reference": "23e5f377ee6395a1a04842d3d6ed4bd25e7b44a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/23e5f377ee6395a1a04842d3d6ed4bd25e7b44a6", - "reference": "23e5f377ee6395a1a04842d3d6ed4bd25e7b44a6", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.8.6" - }, - "require-dev": { - "nikic/php-parser": "^4.13.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.5" - }, - "type": "phpstan-extension", - "extra": { - "phpstan": { - "includes": [ - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Extra strict and opinionated rules for PHPStan", - "support": { - "issues": "https://github.com/phpstan/phpstan-strict-rules/issues", - "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.4.4" - }, - "time": "2022-09-21T11:38:17+00:00" - }, - { - "name": "phpstan/phpstan-symfony", - "version": "1.2.16", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "d6ea16206b1b645ded5b43736d8ef5ae1168eb55" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/d6ea16206b1b645ded5b43736d8ef5ae1168eb55", - "reference": "d6ea16206b1b645ded5b43736d8ef5ae1168eb55", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.1" - }, - "conflict": { - "symfony/framework-bundle": "<3.0" - }, - "require-dev": { - "nikic/php-parser": "^4.13.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", - "psr/container": "1.0 || 1.1.1", - "symfony/config": "^5.4 || ^6.1", - "symfony/console": "^5.4 || ^6.1", - "symfony/dependency-injection": "^5.4 || ^6.1", - "symfony/form": "^5.4 || ^6.1", - "symfony/framework-bundle": "^5.4 || ^6.1", - "symfony/http-foundation": "^5.4 || ^6.1", - "symfony/messenger": "^5.4", - "symfony/polyfill-php80": "^1.24", - "symfony/serializer": "^5.4" - }, - "type": "phpstan-extension", - "extra": { - "phpstan": { - "includes": [ - "extension.neon", - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lukáš Unger", - "email": "looky.msc@gmail.com", - "homepage": "https://lookyman.net" - } - ], - "description": "Symfony Framework extensions and rules for PHPStan", - "support": { - "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.16" - }, - "time": "2022-11-04T13:16:15+00:00" - }, - { - "name": "symfony/phpunit-bridge", - "version": "v6.1.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "07cf788ac9ae83b59d46599bb5098c3add88c68b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/07cf788ac9ae83b59d46599bb5098c3add88c68b", - "reference": "07cf788ac9ae83b59d46599bb5098c3add88c68b", - "shasum": "" - }, - "require": { - "php": ">=7.1.3" - }, - "conflict": { - "phpunit/phpunit": "<7.5|9.1.2" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3.0", - "symfony/error-handler": "^5.4|^6.0" - }, - "suggest": { - "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" - }, - "bin": [ - "bin/simple-phpunit" - ], - "type": "symfony-bridge", - "extra": { - "thanks": { - "name": "phpunit/phpunit", - "url": "https://github.com/sebastianbergmann/phpunit" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Bridge\\PhpUnit\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides utilities for PHPUnit, especially user deprecation notices management", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.1.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-10-07T08:04:03+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^7.2.5 || ^8.0" - }, - "platform-dev": [], - "platform-overrides": { - "php": "7.2.5" - }, - "plugin-api-version": "2.3.0" -} diff --git a/tests/old_tests/composer/parse_json.php b/tests/old_tests/composer/parse_json.php deleted file mode 100644 index 9f0b885..0000000 --- a/tests/old_tests/composer/parse_json.php +++ /dev/null @@ -1,6 +0,0 @@ -; -chomp($name); -print("Hello, $name\n"); \ No newline at end of file diff --git a/tests/old_tests/example_project/scripts/unit.py2 b/tests/old_tests/example_project/scripts/unit.py2 deleted file mode 100644 index af4b858..0000000 --- a/tests/old_tests/example_project/scripts/unit.py2 +++ /dev/null @@ -1,3 +0,0 @@ -print('Hello World!') -name = input('What is your name? ') -print('Hello', name) \ No newline at end of file diff --git a/tests/old_tests/example_project/scripts/unit.py3 b/tests/old_tests/example_project/scripts/unit.py3 deleted file mode 100644 index af4b858..0000000 --- a/tests/old_tests/example_project/scripts/unit.py3 +++ /dev/null @@ -1,3 +0,0 @@ -print('Hello World!') -name = input('What is your name? ') -print('Hello', name) \ No newline at end of file diff --git a/tests/old_tests/example_project/src/ExampleLibrary/Data/first_names.txt b/tests/old_tests/example_project/src/ExampleLibrary/Data/first_names.txt deleted file mode 100644 index f4d8bb6..0000000 --- a/tests/old_tests/example_project/src/ExampleLibrary/Data/first_names.txt +++ /dev/null @@ -1,4945 +0,0 @@ -Aaren -Aarika -Abagael -Abagail -Abbe -Abbey -Abbi -Abbie -Abby -Abbye -Abigael -Abigail -Abigale -Abra -Ada -Adah -Adaline -Adan -Adara -Adda -Addi -Addia -Addie -Addy -Adel -Adela -Adelaida -Adelaide -Adele -Adelheid -Adelice -Adelina -Adelind -Adeline -Adella -Adelle -Adena -Adey -Adi -Adiana -Adina -Adora -Adore -Adoree -Adorne -Adrea -Adria -Adriaens -Adrian -Adriana -Adriane -Adrianna -Adrianne -Adriena -Adrienne -Aeriel -Aeriela -Aeriell -Afton -Ag -Agace -Agata -Agatha -Agathe -Aggi -Aggie -Aggy -Agna -Agnella -Agnes -Agnese -Agnesse -Agneta -Agnola -Agretha -Aida -Aidan -Aigneis -Aila -Aile -Ailee -Aileen -Ailene -Ailey -Aili -Ailina -Ailis -Ailsun -Ailyn -Aime -Aimee -Aimil -Aindrea -Ainslee -Ainsley -Ainslie -Ajay -Alaine -Alameda -Alana -Alanah -Alane -Alanna -Alayne -Alberta -Albertina -Albertine -Albina -Alecia -Aleda -Aleece -Aleen -Alejandra -Alejandrina -Alena -Alene -Alessandra -Aleta -Alethea -Alex -Alexa -Alexandra -Alexandrina -Alexi -Alexia -Alexina -Alexine -Alexis -Alfi -Alfie -Alfreda -Alfy -Ali -Alia -Alica -Alice -Alicea -Alicia -Alida -Alidia -Alie -Alika -Alikee -Alina -Aline -Alis -Alisa -Alisha -Alison -Alissa -Alisun -Alix -Aliza -Alla -Alleen -Allegra -Allene -Alli -Allianora -Allie -Allina -Allis -Allison -Allissa -Allix -Allsun -Allx -Ally -Allyce -Allyn -Allys -Allyson -Alma -Almeda -Almeria -Almeta -Almira -Almire -Aloise -Aloisia -Aloysia -Alta -Althea -Alvera -Alverta -Alvina -Alvinia -Alvira -Alyce -Alyda -Alys -Alysa -Alyse -Alysia -Alyson -Alyss -Alyssa -Amabel -Amabelle -Amalea -Amalee -Amaleta -Amalia -Amalie -Amalita -Amalle -Amanda -Amandi -Amandie -Amandy -Amara -Amargo -Amata -Amber -Amberly -Ambur -Ame -Amelia -Amelie -Amelina -Ameline -Amelita -Ami -Amie -Amii -Amil -Amitie -Amity -Ammamaria -Amy -Amye -Ana -Anabal -Anabel -Anabella -Anabelle -Analiese -Analise -Anallese -Anallise -Anastasia -Anastasie -Anastassia -Anatola -Andee -Andeee -Anderea -Andi -Andie -Andra -Andrea -Andreana -Andree -Andrei -Andria -Andriana -Andriette -Andromache -Andy -Anestassia -Anet -Anett -Anetta -Anette -Ange -Angel -Angela -Angele -Angelia -Angelica -Angelika -Angelina -Angeline -Angelique -Angelita -Angelle -Angie -Angil -Angy -Ania -Anica -Anissa -Anita -Anitra -Anjanette -Anjela -Ann -Ann-Marie -Anna -Anna-Diana -Anna-Diane -Anna-Maria -Annabal -Annabel -Annabela -Annabell -Annabella -Annabelle -Annadiana -Annadiane -Annalee -Annaliese -Annalise -Annamaria -Annamarie -Anne -Anne-Corinne -Anne-Marie -Annecorinne -Anneliese -Annelise -Annemarie -Annetta -Annette -Anni -Annice -Annie -Annis -Annissa -Annmaria -Annmarie -Annnora -Annora -Anny -Anselma -Ansley -Anstice -Anthe -Anthea -Anthia -Anthiathia -Antoinette -Antonella -Antonetta -Antonia -Antonie -Antonietta -Antonina -Anya -Appolonia -April -Aprilette -Ara -Arabel -Arabela -Arabele -Arabella -Arabelle -Arda -Ardath -Ardeen -Ardelia -Ardelis -Ardella -Ardelle -Arden -Ardene -Ardenia -Ardine -Ardis -Ardisj -Ardith -Ardra -Ardyce -Ardys -Ardyth -Aretha -Ariadne -Ariana -Aridatha -Ariel -Ariela -Ariella -Arielle -Arlana -Arlee -Arleen -Arlen -Arlena -Arlene -Arleta -Arlette -Arleyne -Arlie -Arliene -Arlina -Arlinda -Arline -Arluene -Arly -Arlyn -Arlyne -Aryn -Ashely -Ashia -Ashien -Ashil -Ashla -Ashlan -Ashlee -Ashleigh -Ashlen -Ashley -Ashli -Ashlie -Ashly -Asia -Astra -Astrid -Astrix -Atalanta -Athena -Athene -Atlanta -Atlante -Auberta -Aubine -Aubree -Aubrette -Aubrey -Aubrie -Aubry -Audi -Audie -Audra -Audre -Audrey -Audrie -Audry -Audrye -Audy -Augusta -Auguste -Augustina -Augustine -Aundrea -Aura -Aurea -Aurel -Aurelea -Aurelia -Aurelie -Auria -Aurie -Aurilia -Aurlie -Auroora -Aurora -Aurore -Austin -Austina -Austine -Ava -Aveline -Averil -Averyl -Avie -Avis -Aviva -Avivah -Avril -Avrit -Ayn -Bab -Babara -Babb -Babbette -Babbie -Babette -Babita -Babs -Bambi -Bambie -Bamby -Barb -Barbabra -Barbara -Barbara-Anne -Barbaraanne -Barbe -Barbee -Barbette -Barbey -Barbi -Barbie -Barbra -Barby -Bari -Barrie -Barry -Basia -Bathsheba -Batsheva -Bea -Beatrice -Beatrisa -Beatrix -Beatriz -Bebe -Becca -Becka -Becki -Beckie -Becky -Bee -Beilul -Beitris -Bekki -Bel -Belia -Belicia -Belinda -Belita -Bell -Bella -Bellanca -Belle -Bellina -Belva -Belvia -Bendite -Benedetta -Benedicta -Benedikta -Benetta -Benita -Benni -Bennie -Benny -Benoite -Berenice -Beret -Berget -Berna -Bernadene -Bernadette -Bernadina -Bernadine -Bernardina -Bernardine -Bernelle -Bernete -Bernetta -Bernette -Berni -Bernice -Bernie -Bernita -Berny -Berri -Berrie -Berry -Bert -Berta -Berte -Bertha -Berthe -Berti -Bertie -Bertina -Bertine -Berty -Beryl -Beryle -Bess -Bessie -Bessy -Beth -Bethanne -Bethany -Bethena -Bethina -Betsey -Betsy -Betta -Bette -Bette-Ann -Betteann -Betteanne -Betti -Bettina -Bettine -Betty -Bettye -Beulah -Bev -Beverie -Beverlee -Beverley -Beverlie -Beverly -Bevvy -Bianca -Bianka -Bibbie -Bibby -Bibbye -Bibi -Biddie -Biddy -Bidget -Bili -Bill -Billi -Billie -Billy -Billye -Binni -Binnie -Binny -Bird -Birdie -Birgit -Birgitta -Blair -Blaire -Blake -Blakelee -Blakeley -Blanca -Blanch -Blancha -Blanche -Blinni -Blinnie -Blinny -Bliss -Blisse -Blithe -Blondell -Blondelle -Blondie -Blondy -Blythe -Bobbe -Bobbee -Bobbette -Bobbi -Bobbie -Bobby -Bobbye -Bobette -Bobina -Bobine -Bobinette -Bonita -Bonnee -Bonni -Bonnibelle -Bonnie -Bonny -Brana -Brandais -Brande -Brandea -Brandi -Brandice -Brandie -Brandise -Brandy -Breanne -Brear -Bree -Breena -Bren -Brena -Brenda -Brenn -Brenna -Brett -Bria -Briana -Brianna -Brianne -Bride -Bridget -Bridgette -Bridie -Brier -Brietta -Brigid -Brigida -Brigit -Brigitta -Brigitte -Brina -Briney -Brinn -Brinna -Briny -Brit -Brita -Britney -Britni -Britt -Britta -Brittan -Brittaney -Brittani -Brittany -Britte -Britteny -Brittne -Brittney -Brittni -Brook -Brooke -Brooks -Brunhilda -Brunhilde -Bryana -Bryn -Bryna -Brynn -Brynna -Brynne -Buffy -Bunni -Bunnie -Bunny -Cacilia -Cacilie -Cahra -Cairistiona -Caitlin -Caitrin -Cal -Calida -Calla -Calley -Calli -Callida -Callie -Cally -Calypso -Cam -Camala -Camel -Camella -Camellia -Cami -Camila -Camile -Camilla -Camille -Cammi -Cammie -Cammy -Candace -Candi -Candice -Candida -Candide -Candie -Candis -Candra -Candy -Caprice -Cara -Caralie -Caren -Carena -Caresa -Caressa -Caresse -Carey -Cari -Caria -Carie -Caril -Carilyn -Carin -Carina -Carine -Cariotta -Carissa -Carita -Caritta -Carla -Carlee -Carleen -Carlen -Carlene -Carley -Carlie -Carlin -Carlina -Carline -Carlita -Carlota -Carlotta -Carly -Carlye -Carlyn -Carlynn -Carlynne -Carma -Carmel -Carmela -Carmelia -Carmelina -Carmelita -Carmella -Carmelle -Carmen -Carmencita -Carmina -Carmine -Carmita -Carmon -Caro -Carol -Carol-Jean -Carola -Carolan -Carolann -Carole -Carolee -Carolin -Carolina -Caroline -Caroljean -Carolyn -Carolyne -Carolynn -Caron -Carree -Carri -Carrie -Carrissa -Carroll -Carry -Cary -Caryl -Caryn -Casandra -Casey -Casi -Casie -Cass -Cassandra -Cassandre -Cassandry -Cassaundra -Cassey -Cassi -Cassie -Cassondra -Cassy -Catarina -Cate -Caterina -Catha -Catharina -Catharine -Cathe -Cathee -Catherin -Catherina -Catherine -Cathi -Cathie -Cathleen -Cathlene -Cathrin -Cathrine -Cathryn -Cathy -Cathyleen -Cati -Catie -Catina -Catlaina -Catlee -Catlin -Catrina -Catriona -Caty -Caye -Cayla -Cecelia -Cecil -Cecile -Ceciley -Cecilia -Cecilla -Cecily -Ceil -Cele -Celene -Celesta -Celeste -Celestia -Celestina -Celestine -Celestyn -Celestyna -Celia -Celie -Celina -Celinda -Celine -Celinka -Celisse -Celka -Celle -Cesya -Chad -Chanda -Chandal -Chandra -Channa -Chantal -Chantalle -Charil -Charin -Charis -Charissa -Charisse -Charita -Charity -Charla -Charlean -Charleen -Charlena -Charlene -Charline -Charlot -Charlotta -Charlotte -Charmain -Charmaine -Charmane -Charmian -Charmine -Charmion -Charo -Charyl -Chastity -Chelsae -Chelsea -Chelsey -Chelsie -Chelsy -Cher -Chere -Cherey -Cheri -Cherianne -Cherice -Cherida -Cherie -Cherilyn -Cherilynn -Cherin -Cherise -Cherish -Cherlyn -Cherri -Cherrita -Cherry -Chery -Cherye -Cheryl -Cheslie -Chiarra -Chickie -Chicky -Chiquia -Chiquita -Chlo -Chloe -Chloette -Chloris -Chris -Chrissie -Chrissy -Christa -Christabel -Christabella -Christal -Christalle -Christan -Christean -Christel -Christen -Christi -Christian -Christiana -Christiane -Christie -Christin -Christina -Christine -Christy -Christye -Christyna -Chrysa -Chrysler -Chrystal -Chryste -Chrystel -Cicely -Cicily -Ciel -Cilka -Cinda -Cindee -Cindelyn -Cinderella -Cindi -Cindie -Cindra -Cindy -Cinnamon -Cissiee -Cissy -Clair -Claire -Clara -Clarabelle -Clare -Claresta -Clareta -Claretta -Clarette -Clarey -Clari -Claribel -Clarice -Clarie -Clarinda -Clarine -Clarissa -Clarisse -Clarita -Clary -Claude -Claudelle -Claudetta -Claudette -Claudia -Claudie -Claudina -Claudine -Clea -Clem -Clemence -Clementia -Clementina -Clementine -Clemmie -Clemmy -Cleo -Cleopatra -Clerissa -Clio -Clo -Cloe -Cloris -Clotilda -Clovis -Codee -Codi -Codie -Cody -Coleen -Colene -Coletta -Colette -Colleen -Collen -Collete -Collette -Collie -Colline -Colly -Con -Concettina -Conchita -Concordia -Conni -Connie -Conny -Consolata -Constance -Constancia -Constancy -Constanta -Constantia -Constantina -Constantine -Consuela -Consuelo -Cookie -Cora -Corabel -Corabella -Corabelle -Coral -Coralie -Coraline -Coralyn -Cordelia -Cordelie -Cordey -Cordi -Cordie -Cordula -Cordy -Coreen -Corella -Corenda -Corene -Coretta -Corette -Corey -Cori -Corie -Corilla -Corina -Corine -Corinna -Corinne -Coriss -Corissa -Corliss -Corly -Cornela -Cornelia -Cornelle -Cornie -Corny -Correna -Correy -Corri -Corrianne -Corrie -Corrina -Corrine -Corrinne -Corry -Cortney -Cory -Cosetta -Cosette -Costanza -Courtenay -Courtnay -Courtney -Crin -Cris -Crissie -Crissy -Crista -Cristabel -Cristal -Cristen -Cristi -Cristie -Cristin -Cristina -Cristine -Cristionna -Cristy -Crysta -Crystal -Crystie -Cthrine -Cyb -Cybil -Cybill -Cymbre -Cynde -Cyndi -Cyndia -Cyndie -Cyndy -Cynthea -Cynthia -Cynthie -Cynthy -Dacey -Dacia -Dacie -Dacy -Dael -Daffi -Daffie -Daffy -Dagmar -Dahlia -Daile -Daisey -Daisi -Daisie -Daisy -Dale -Dalenna -Dalia -Dalila -Dallas -Daloris -Damara -Damaris -Damita -Dana -Danell -Danella -Danette -Dani -Dania -Danica -Danice -Daniela -Daniele -Daniella -Danielle -Danika -Danila -Danit -Danita -Danna -Danni -Dannie -Danny -Dannye -Danya -Danyelle -Danyette -Daphene -Daphna -Daphne -Dara -Darb -Darbie -Darby -Darcee -Darcey -Darci -Darcie -Darcy -Darda -Dareen -Darell -Darelle -Dari -Daria -Darice -Darla -Darleen -Darlene -Darline -Darlleen -Daron -Darrelle -Darryl -Darsey -Darsie -Darya -Daryl -Daryn -Dasha -Dasi -Dasie -Dasya -Datha -Daune -Daveen -Daveta -Davida -Davina -Davine -Davita -Dawn -Dawna -Dayle -Dayna -Ddene -De -Deana -Deane -Deanna -Deanne -Deb -Debbi -Debbie -Debby -Debee -Debera -Debi -Debor -Debora -Deborah -Debra -Dede -Dedie -Dedra -Dee -Dee Dee -Deeann -Deeanne -Deedee -Deena -Deerdre -Deeyn -Dehlia -Deidre -Deina -Deirdre -Del -Dela -Delcina -Delcine -Delia -Delila -Delilah -Delinda -Dell -Della -Delly -Delora -Delores -Deloria -Deloris -Delphine -Delphinia -Demeter -Demetra -Demetria -Demetris -Dena -Deni -Denice -Denise -Denna -Denni -Dennie -Denny -Deny -Denys -Denyse -Deonne -Desdemona -Desirae -Desiree -Desiri -Deva -Devan -Devi -Devin -Devina -Devinne -Devon -Devondra -Devonna -Devonne -Devora -Di -Diahann -Dian -Diana -Diandra -Diane -Diane-Marie -Dianemarie -Diann -Dianna -Dianne -Diannne -Didi -Dido -Diena -Dierdre -Dina -Dinah -Dinnie -Dinny -Dion -Dione -Dionis -Dionne -Dita -Dix -Dixie -Dniren -Dode -Dodi -Dodie -Dody -Doe -Doll -Dolley -Dolli -Dollie -Dolly -Dolores -Dolorita -Doloritas -Domeniga -Dominga -Domini -Dominica -Dominique -Dona -Donella -Donelle -Donetta -Donia -Donica -Donielle -Donna -Donnamarie -Donni -Donnie -Donny -Dora -Doralia -Doralin -Doralyn -Doralynn -Doralynne -Dore -Doreen -Dorelia -Dorella -Dorelle -Dorena -Dorene -Doretta -Dorette -Dorey -Dori -Doria -Dorian -Dorice -Dorie -Dorine -Doris -Dorisa -Dorise -Dorita -Doro -Dorolice -Dorolisa -Dorotea -Doroteya -Dorothea -Dorothee -Dorothy -Dorree -Dorri -Dorrie -Dorris -Dorry -Dorthea -Dorthy -Dory -Dosi -Dot -Doti -Dotti -Dottie -Dotty -Dre -Dreddy -Dredi -Drona -Dru -Druci -Drucie -Drucill -Drucy -Drusi -Drusie -Drusilla -Drusy -Dulce -Dulcea -Dulci -Dulcia -Dulciana -Dulcie -Dulcine -Dulcinea -Dulcy -Dulsea -Dusty -Dyan -Dyana -Dyane -Dyann -Dyanna -Dyanne -Dyna -Dynah -Eachelle -Eada -Eadie -Eadith -Ealasaid -Eartha -Easter -Eba -Ebba -Ebonee -Ebony -Eda -Eddi -Eddie -Eddy -Ede -Edee -Edeline -Eden -Edi -Edie -Edin -Edita -Edith -Editha -Edithe -Ediva -Edna -Edwina -Edy -Edyth -Edythe -Effie -Eileen -Eilis -Eimile -Eirena -Ekaterina -Elaina -Elaine -Elana -Elane -Elayne -Elberta -Elbertina -Elbertine -Eleanor -Eleanora -Eleanore -Electra -Eleen -Elena -Elene -Eleni -Elenore -Eleonora -Eleonore -Elfie -Elfreda -Elfrida -Elfrieda -Elga -Elianora -Elianore -Elicia -Elie -Elinor -Elinore -Elisa -Elisabet -Elisabeth -Elisabetta -Elise -Elisha -Elissa -Elita -Eliza -Elizabet -Elizabeth -Elka -Elke -Ella -Elladine -Elle -Ellen -Ellene -Ellette -Elli -Ellie -Ellissa -Elly -Ellyn -Ellynn -Elmira -Elna -Elnora -Elnore -Eloisa -Eloise -Elonore -Elora -Elsa -Elsbeth -Else -Elset -Elsey -Elsi -Elsie -Elsinore -Elspeth -Elsy -Elva -Elvera -Elvina -Elvira -Elwira -Elyn -Elyse -Elysee -Elysha -Elysia -Elyssa -Em -Ema -Emalee -Emalia -Emelda -Emelia -Emelina -Emeline -Emelita -Emelyne -Emera -Emilee -Emili -Emilia -Emilie -Emiline -Emily -Emlyn -Emlynn -Emlynne -Emma -Emmalee -Emmaline -Emmalyn -Emmalynn -Emmalynne -Emmeline -Emmey -Emmi -Emmie -Emmy -Emmye -Emogene -Emyle -Emylee -Engracia -Enid -Enrica -Enrichetta -Enrika -Enriqueta -Eolanda -Eolande -Eran -Erda -Erena -Erica -Ericha -Ericka -Erika -Erin -Erina -Erinn -Erinna -Erma -Ermengarde -Ermentrude -Ermina -Erminia -Erminie -Erna -Ernaline -Ernesta -Ernestine -Ertha -Eryn -Esma -Esmaria -Esme -Esmeralda -Essa -Essie -Essy -Esta -Estel -Estele -Estell -Estella -Estelle -Ester -Esther -Estrella -Estrellita -Ethel -Ethelda -Ethelin -Ethelind -Etheline -Ethelyn -Ethyl -Etta -Etti -Ettie -Etty -Eudora -Eugenia -Eugenie -Eugine -Eula -Eulalie -Eunice -Euphemia -Eustacia -Eva -Evaleen -Evangelia -Evangelin -Evangelina -Evangeline -Evania -Evanne -Eve -Eveleen -Evelina -Eveline -Evelyn -Evey -Evie -Evita -Evonne -Evvie -Evvy -Evy -Eyde -Eydie -Ezmeralda -Fae -Faina -Faith -Fallon -Fan -Fanchette -Fanchon -Fancie -Fancy -Fanechka -Fania -Fanni -Fannie -Fanny -Fanya -Fara -Farah -Farand -Farica -Farra -Farrah -Farrand -Faun -Faunie -Faustina -Faustine -Fawn -Fawne -Fawnia -Fay -Faydra -Faye -Fayette -Fayina -Fayre -Fayth -Faythe -Federica -Fedora -Felecia -Felicdad -Felice -Felicia -Felicity -Felicle -Felipa -Felisha -Felita -Feliza -Fenelia -Feodora -Ferdinanda -Ferdinande -Fern -Fernanda -Fernande -Fernandina -Ferne -Fey -Fiann -Fianna -Fidela -Fidelia -Fidelity -Fifi -Fifine -Filia -Filide -Filippa -Fina -Fiona -Fionna -Fionnula -Fiorenze -Fleur -Fleurette -Flo -Flor -Flora -Florance -Flore -Florella -Florence -Florencia -Florentia -Florenza -Florette -Flori -Floria -Florida -Florie -Florina -Florinda -Floris -Florri -Florrie -Florry -Flory -Flossi -Flossie -Flossy -Flss -Fran -Francene -Frances -Francesca -Francine -Francisca -Franciska -Francoise -Francyne -Frank -Frankie -Franky -Franni -Frannie -Franny -Frayda -Fred -Freda -Freddi -Freddie -Freddy -Fredelia -Frederica -Fredericka -Frederique -Fredi -Fredia -Fredra -Fredrika -Freida -Frieda -Friederike -Fulvia -Gabbey -Gabbi -Gabbie -Gabey -Gabi -Gabie -Gabriel -Gabriela -Gabriell -Gabriella -Gabrielle -Gabriellia -Gabrila -Gaby -Gae -Gael -Gail -Gale -Galina -Garland -Garnet -Garnette -Gates -Gavra -Gavrielle -Gay -Gaye -Gayel -Gayla -Gayle -Gayleen -Gaylene -Gaynor -Gelya -Gena -Gene -Geneva -Genevieve -Genevra -Genia -Genna -Genni -Gennie -Gennifer -Genny -Genovera -Genvieve -George -Georgeanna -Georgeanne -Georgena -Georgeta -Georgetta -Georgette -Georgia -Georgiana -Georgianna -Georgianne -Georgie -Georgina -Georgine -Geralda -Geraldine -Gerda -Gerhardine -Geri -Gerianna -Gerianne -Gerladina -Germain -Germaine -Germana -Gerri -Gerrie -Gerrilee -Gerry -Gert -Gerta -Gerti -Gertie -Gertrud -Gertruda -Gertrude -Gertrudis -Gerty -Giacinta -Giana -Gianina -Gianna -Gigi -Gilberta -Gilberte -Gilbertina -Gilbertine -Gilda -Gilemette -Gill -Gillan -Gilli -Gillian -Gillie -Gilligan -Gilly -Gina -Ginelle -Ginevra -Ginger -Ginni -Ginnie -Ginnifer -Ginny -Giorgia -Giovanna -Gipsy -Giralda -Gisela -Gisele -Gisella -Giselle -Giuditta -Giulia -Giulietta -Giustina -Gizela -Glad -Gladi -Gladys -Gleda -Glen -Glenda -Glenine -Glenn -Glenna -Glennie -Glennis -Glori -Gloria -Gloriana -Gloriane -Glory -Glyn -Glynda -Glynis -Glynnis -Gnni -Godiva -Golda -Goldarina -Goldi -Goldia -Goldie -Goldina -Goldy -Grace -Gracia -Gracie -Grata -Gratia -Gratiana -Gray -Grayce -Grazia -Greer -Greta -Gretal -Gretchen -Grete -Gretel -Grethel -Gretna -Gretta -Grier -Griselda -Grissel -Guendolen -Guenevere -Guenna -Guglielma -Gui -Guillema -Guillemette -Guinevere -Guinna -Gunilla -Gus -Gusella -Gussi -Gussie -Gussy -Gusta -Gusti -Gustie -Gusty -Gwen -Gwendolen -Gwendolin -Gwendolyn -Gweneth -Gwenette -Gwenneth -Gwenni -Gwennie -Gwenny -Gwenora -Gwenore -Gwyn -Gwyneth -Gwynne -Gypsy -Hadria -Hailee -Haily -Haleigh -Halette -Haley -Hali -Halie -Halimeda -Halley -Halli -Hallie -Hally -Hana -Hanna -Hannah -Hanni -Hannie -Hannis -Hanny -Happy -Harlene -Harley -Harli -Harlie -Harmonia -Harmonie -Harmony -Harri -Harrie -Harriet -Harriett -Harrietta -Harriette -Harriot -Harriott -Hatti -Hattie -Hatty -Hayley -Hazel -Heath -Heather -Heda -Hedda -Heddi -Heddie -Hedi -Hedvig -Hedvige -Hedwig -Hedwiga -Hedy -Heida -Heidi -Heidie -Helaina -Helaine -Helen -Helen-Elizabeth -Helena -Helene -Helenka -Helga -Helge -Helli -Heloise -Helsa -Helyn -Hendrika -Henka -Henrie -Henrieta -Henrietta -Henriette -Henryetta -Hephzibah -Hermia -Hermina -Hermine -Herminia -Hermione -Herta -Hertha -Hester -Hesther -Hestia -Hetti -Hettie -Hetty -Hilary -Hilda -Hildagard -Hildagarde -Hilde -Hildegaard -Hildegarde -Hildy -Hillary -Hilliary -Hinda -Holli -Hollie -Holly -Holly-Anne -Hollyanne -Honey -Honor -Honoria -Hope -Horatia -Hortense -Hortensia -Hulda -Hyacinth -Hyacintha -Hyacinthe -Hyacinthia -Hyacinthie -Hynda -Ianthe -Ibbie -Ibby -Ida -Idalia -Idalina -Idaline -Idell -Idelle -Idette -Ileana -Ileane -Ilene -Ilise -Ilka -Illa -Ilsa -Ilse -Ilysa -Ilyse -Ilyssa -Imelda -Imogen -Imogene -Imojean -Ina -Indira -Ines -Inesita -Inessa -Inez -Inga -Ingaberg -Ingaborg -Inge -Ingeberg -Ingeborg -Inger -Ingrid -Ingunna -Inna -Iolande -Iolanthe -Iona -Iormina -Ira -Irena -Irene -Irina -Iris -Irita -Irma -Isa -Isabel -Isabelita -Isabella -Isabelle -Isadora -Isahella -Iseabal -Isidora -Isis -Isobel -Issi -Issie -Issy -Ivett -Ivette -Ivie -Ivonne -Ivory -Ivy -Izabel -Jacenta -Jacinda -Jacinta -Jacintha -Jacinthe -Jackelyn -Jacki -Jackie -Jacklin -Jacklyn -Jackquelin -Jackqueline -Jacky -Jaclin -Jaclyn -Jacquelin -Jacqueline -Jacquelyn -Jacquelynn -Jacquenetta -Jacquenette -Jacquetta -Jacquette -Jacqui -Jacquie -Jacynth -Jada -Jade -Jaime -Jaimie -Jaine -Jami -Jamie -Jamima -Jammie -Jan -Jana -Janaya -Janaye -Jandy -Jane -Janean -Janeczka -Janeen -Janel -Janela -Janella -Janelle -Janene -Janenna -Janessa -Janet -Janeta -Janetta -Janette -Janeva -Janey -Jania -Janice -Janie -Janifer -Janina -Janine -Janis -Janith -Janka -Janna -Jannel -Jannelle -Janot -Jany -Jaquelin -Jaquelyn -Jaquenetta -Jaquenette -Jaquith -Jasmin -Jasmina -Jasmine -Jayme -Jaymee -Jayne -Jaynell -Jazmin -Jean -Jeana -Jeane -Jeanelle -Jeanette -Jeanie -Jeanine -Jeanna -Jeanne -Jeannette -Jeannie -Jeannine -Jehanna -Jelene -Jemie -Jemima -Jemimah -Jemmie -Jemmy -Jen -Jena -Jenda -Jenelle -Jeni -Jenica -Jeniece -Jenifer -Jeniffer -Jenilee -Jenine -Jenn -Jenna -Jennee -Jennette -Jenni -Jennica -Jennie -Jennifer -Jennilee -Jennine -Jenny -Jeralee -Jere -Jeri -Jermaine -Jerrie -Jerrilee -Jerrilyn -Jerrine -Jerry -Jerrylee -Jess -Jessa -Jessalin -Jessalyn -Jessamine -Jessamyn -Jesse -Jesselyn -Jessi -Jessica -Jessie -Jessika -Jessy -Jewel -Jewell -Jewelle -Jill -Jillana -Jillane -Jillayne -Jilleen -Jillene -Jilli -Jillian -Jillie -Jilly -Jinny -Jo -Jo Ann -Jo-Ann -Jo-Anne -Joan -Joana -Joane -Joanie -Joann -Joanna -Joanne -Joannes -Jobey -Jobi -Jobie -Jobina -Joby -Jobye -Jobyna -Jocelin -Joceline -Jocelyn -Jocelyne -Jodee -Jodi -Jodie -Jody -Joeann -Joela -Joelie -Joell -Joella -Joelle -Joellen -Joelly -Joellyn -Joelynn -Joete -Joey -Johanna -Johannah -Johna -Johnath -Johnette -Johnna -Joice -Jojo -Jolee -Joleen -Jolene -Joletta -Joli -Jolie -Joline -Joly -Jolyn -Jolynn -Jonell -Joni -Jonie -Jonis -Jordain -Jordan -Jordana -Jordanna -Jorey -Jori -Jorie -Jorrie -Jorry -Joscelin -Josee -Josefa -Josefina -Josepha -Josephina -Josephine -Josey -Josi -Josie -Josselyn -Josy -Jourdan -Joy -Joya -Joyan -Joyann -Joyce -Joycelin -Joye -Jsandye -Juana -Juanita -Judi -Judie -Judith -Juditha -Judy -Judye -Juieta -Julee -Juli -Julia -Juliana -Juliane -Juliann -Julianna -Julianne -Julie -Julienne -Juliet -Julieta -Julietta -Juliette -Julina -Juline -Julissa -Julita -June -Junette -Junia -Junie -Junina -Justina -Justine -Justinn -Jyoti -Kacey -Kacie -Kacy -Kaela -Kai -Kaia -Kaila -Kaile -Kailey -Kaitlin -Kaitlyn -Kaitlynn -Kaja -Kakalina -Kala -Kaleena -Kali -Kalie -Kalila -Kalina -Kalinda -Kalindi -Kalli -Kally -Kameko -Kamila -Kamilah -Kamillah -Kandace -Kandy -Kania -Kanya -Kara -Kara-Lynn -Karalee -Karalynn -Kare -Karee -Karel -Karen -Karena -Kari -Karia -Karie -Karil -Karilynn -Karin -Karina -Karine -Kariotta -Karisa -Karissa -Karita -Karla -Karlee -Karleen -Karlen -Karlene -Karlie -Karlotta -Karlotte -Karly -Karlyn -Karmen -Karna -Karol -Karola -Karole -Karolina -Karoline -Karoly -Karon -Karrah -Karrie -Karry -Kary -Karyl -Karylin -Karyn -Kasey -Kass -Kassandra -Kassey -Kassi -Kassia -Kassie -Kat -Kata -Katalin -Kate -Katee -Katerina -Katerine -Katey -Kath -Katha -Katharina -Katharine -Katharyn -Kathe -Katherina -Katherine -Katheryn -Kathi -Kathie -Kathleen -Kathlin -Kathrine -Kathryn -Kathryne -Kathy -Kathye -Kati -Katie -Katina -Katine -Katinka -Katleen -Katlin -Katrina -Katrine -Katrinka -Katti -Kattie -Katuscha -Katusha -Katy -Katya -Kay -Kaycee -Kaye -Kayla -Kayle -Kaylee -Kayley -Kaylil -Kaylyn -Keeley -Keelia -Keely -Kelcey -Kelci -Kelcie -Kelcy -Kelila -Kellen -Kelley -Kelli -Kellia -Kellie -Kellina -Kellsie -Kelly -Kellyann -Kelsey -Kelsi -Kelsy -Kendra -Kendre -Kenna -Keri -Keriann -Kerianne -Kerri -Kerrie -Kerrill -Kerrin -Kerry -Kerstin -Kesley -Keslie -Kessia -Kessiah -Ketti -Kettie -Ketty -Kevina -Kevyn -Ki -Kiah -Kial -Kiele -Kiersten -Kikelia -Kiley -Kim -Kimberlee -Kimberley -Kimberli -Kimberly -Kimberlyn -Kimbra -Kimmi -Kimmie -Kimmy -Kinna -Kip -Kipp -Kippie -Kippy -Kira -Kirbee -Kirbie -Kirby -Kiri -Kirsten -Kirsteni -Kirsti -Kirstin -Kirstyn -Kissee -Kissiah -Kissie -Kit -Kitti -Kittie -Kitty -Kizzee -Kizzie -Klara -Klarika -Klarrisa -Konstance -Konstanze -Koo -Kora -Koral -Koralle -Kordula -Kore -Korella -Koren -Koressa -Kori -Korie -Korney -Korrie -Korry -Kris -Krissie -Krissy -Krista -Kristal -Kristan -Kriste -Kristel -Kristen -Kristi -Kristien -Kristin -Kristina -Kristine -Kristy -Kristyn -Krysta -Krystal -Krystalle -Krystle -Krystyna -Kyla -Kyle -Kylen -Kylie -Kylila -Kylynn -Kym -Kynthia -Kyrstin -La Verne -Lacee -Lacey -Lacie -Lacy -Ladonna -Laetitia -Laina -Lainey -Lana -Lanae -Lane -Lanette -Laney -Lani -Lanie -Lanita -Lanna -Lanni -Lanny -Lara -Laraine -Lari -Larina -Larine -Larisa -Larissa -Lark -Laryssa -Latashia -Latia -Latisha -Latrena -Latrina -Laura -Lauraine -Laural -Lauralee -Laure -Lauree -Laureen -Laurel -Laurella -Lauren -Laurena -Laurene -Lauretta -Laurette -Lauri -Laurianne -Laurice -Laurie -Lauryn -Lavena -Laverna -Laverne -Lavina -Lavinia -Lavinie -Layla -Layne -Layney -Lea -Leah -Leandra -Leann -Leanna -Leanor -Leanora -Lebbie -Leda -Lee -Leeann -Leeanne -Leela -Leelah -Leena -Leesa -Leese -Legra -Leia -Leigh -Leigha -Leila -Leilah -Leisha -Lela -Lelah -Leland -Lelia -Lena -Lenee -Lenette -Lenka -Lenna -Lenora -Lenore -Leodora -Leoine -Leola -Leoline -Leona -Leonanie -Leone -Leonelle -Leonie -Leonora -Leonore -Leontine -Leontyne -Leora -Leshia -Lesley -Lesli -Leslie -Lesly -Lesya -Leta -Lethia -Leticia -Letisha -Letitia -Letizia -Letta -Letti -Lettie -Letty -Lexi -Lexie -Lexine -Lexis -Lexy -Leyla -Lezlie -Lia -Lian -Liana -Liane -Lianna -Lianne -Lib -Libbey -Libbi -Libbie -Libby -Licha -Lida -Lidia -Liesa -Lil -Lila -Lilah -Lilas -Lilia -Lilian -Liliane -Lilias -Lilith -Lilla -Lilli -Lillian -Lillis -Lilllie -Lilly -Lily -Lilyan -Lin -Lina -Lind -Linda -Lindi -Lindie -Lindsay -Lindsey -Lindsy -Lindy -Linea -Linell -Linet -Linette -Linn -Linnea -Linnell -Linnet -Linnie -Linzy -Lira -Lisa -Lisabeth -Lisbeth -Lise -Lisetta -Lisette -Lisha -Lishe -Lissa -Lissi -Lissie -Lissy -Lita -Liuka -Liv -Liva -Livia -Livvie -Livvy -Livvyy -Livy -Liz -Liza -Lizabeth -Lizbeth -Lizette -Lizzie -Lizzy -Loella -Lois -Loise -Lola -Loleta -Lolita -Lolly -Lona -Lonee -Loni -Lonna -Lonni -Lonnie -Lora -Lorain -Loraine -Loralee -Loralie -Loralyn -Loree -Loreen -Lorelei -Lorelle -Loren -Lorena -Lorene -Lorenza -Loretta -Lorette -Lori -Loria -Lorianna -Lorianne -Lorie -Lorilee -Lorilyn -Lorinda -Lorine -Lorita -Lorna -Lorne -Lorraine -Lorrayne -Lorri -Lorrie -Lorrin -Lorry -Lory -Lotta -Lotte -Lotti -Lottie -Lotty -Lou -Louella -Louisa -Louise -Louisette -Loutitia -Lu -Luce -Luci -Lucia -Luciana -Lucie -Lucienne -Lucila -Lucilia -Lucille -Lucina -Lucinda -Lucine -Lucita -Lucky -Lucretia -Lucy -Ludovika -Luella -Luelle -Luisa -Luise -Lula -Lulita -Lulu -Lura -Lurette -Lurleen -Lurlene -Lurline -Lusa -Luz -Lyda -Lydia -Lydie -Lyn -Lynda -Lynde -Lyndel -Lyndell -Lyndsay -Lyndsey -Lyndsie -Lyndy -Lynea -Lynelle -Lynett -Lynette -Lynn -Lynna -Lynne -Lynnea -Lynnell -Lynnelle -Lynnet -Lynnett -Lynnette -Lynsey -Lyssa -Mab -Mabel -Mabelle -Mable -Mada -Madalena -Madalyn -Maddalena -Maddi -Maddie -Maddy -Madel -Madelaine -Madeleine -Madelena -Madelene -Madelin -Madelina -Madeline -Madella -Madelle -Madelon -Madelyn -Madge -Madlen -Madlin -Madonna -Mady -Mae -Maegan -Mag -Magda -Magdaia -Magdalen -Magdalena -Magdalene -Maggee -Maggi -Maggie -Maggy -Mahala -Mahalia -Maia -Maible -Maiga -Maighdiln -Mair -Maire -Maisey -Maisie -Maitilde -Mala -Malanie -Malena -Malia -Malina -Malinda -Malinde -Malissa -Malissia -Mallissa -Mallorie -Mallory -Malorie -Malory -Malva -Malvina -Malynda -Mame -Mamie -Manda -Mandi -Mandie -Mandy -Manon -Manya -Mara -Marabel -Marcela -Marcelia -Marcella -Marcelle -Marcellina -Marcelline -Marchelle -Marci -Marcia -Marcie -Marcile -Marcille -Marcy -Mareah -Maren -Marena -Maressa -Marga -Margalit -Margalo -Margaret -Margareta -Margarete -Margaretha -Margarethe -Margaretta -Margarette -Margarita -Margaux -Marge -Margeaux -Margery -Marget -Margette -Margi -Margie -Margit -Margo -Margot -Margret -Marguerite -Margy -Mari -Maria -Mariam -Marian -Mariana -Mariann -Marianna -Marianne -Maribel -Maribelle -Maribeth -Marice -Maridel -Marie -Marie-Ann -Marie-Jeanne -Marieann -Mariejeanne -Mariel -Mariele -Marielle -Mariellen -Marietta -Mariette -Marigold -Marijo -Marika -Marilee -Marilin -Marillin -Marilyn -Marin -Marina -Marinna -Marion -Mariquilla -Maris -Marisa -Mariska -Marissa -Marita -Maritsa -Mariya -Marj -Marja -Marje -Marji -Marjie -Marjorie -Marjory -Marjy -Marketa -Marla -Marlane -Marleah -Marlee -Marleen -Marlena -Marlene -Marley -Marlie -Marline -Marlo -Marlyn -Marna -Marne -Marney -Marni -Marnia -Marnie -Marquita -Marrilee -Marris -Marrissa -Marsha -Marsiella -Marta -Martelle -Martguerita -Martha -Marthe -Marthena -Marti -Martica -Martie -Martina -Martita -Marty -Martynne -Mary -Marya -Maryann -Maryanna -Maryanne -Marybelle -Marybeth -Maryellen -Maryjane -Maryjo -Maryl -Marylee -Marylin -Marylinda -Marylou -Marylynne -Maryrose -Marys -Marysa -Masha -Matelda -Mathilda -Mathilde -Matilda -Matilde -Matti -Mattie -Matty -Maud -Maude -Maudie -Maura -Maure -Maureen -Maureene -Maurene -Maurine -Maurise -Maurita -Maurizia -Mavis -Mavra -Max -Maxi -Maxie -Maxine -Maxy -May -Maybelle -Maye -Mead -Meade -Meagan -Meaghan -Meara -Mechelle -Meg -Megan -Megen -Meggi -Meggie -Meggy -Meghan -Meghann -Mehetabel -Mei -Mel -Mela -Melamie -Melania -Melanie -Melantha -Melany -Melba -Melesa -Melessa -Melicent -Melina -Melinda -Melinde -Melisa -Melisande -Melisandra -Melisenda -Melisent -Melissa -Melisse -Melita -Melitta -Mella -Melli -Mellicent -Mellie -Mellisa -Mellisent -Melloney -Melly -Melodee -Melodie -Melody -Melonie -Melony -Melosa -Melva -Mercedes -Merci -Mercie -Mercy -Meredith -Meredithe -Meridel -Meridith -Meriel -Merilee -Merilyn -Meris -Merissa -Merl -Merla -Merle -Merlina -Merline -Merna -Merola -Merralee -Merridie -Merrie -Merrielle -Merrile -Merrilee -Merrili -Merrill -Merrily -Merry -Mersey -Meryl -Meta -Mia -Micaela -Michaela -Michaelina -Michaeline -Michaella -Michal -Michel -Michele -Michelina -Micheline -Michell -Michelle -Micki -Mickie -Micky -Midge -Mignon -Mignonne -Miguela -Miguelita -Mikaela -Mil -Mildred -Mildrid -Milena -Milicent -Milissent -Milka -Milli -Millicent -Millie -Millisent -Milly -Milzie -Mimi -Min -Mina -Minda -Mindy -Minerva -Minetta -Minette -Minna -Minnaminnie -Minne -Minni -Minnie -Minnnie -Minny -Minta -Miof Mela -Miquela -Mira -Mirabel -Mirabella -Mirabelle -Miran -Miranda -Mireielle -Mireille -Mirella -Mirelle -Miriam -Mirilla -Mirna -Misha -Missie -Missy -Misti -Misty -Mitzi -Modesta -Modestia -Modestine -Modesty -Moina -Moira -Moll -Mollee -Molli -Mollie -Molly -Mommy -Mona -Monah -Monica -Monika -Monique -Mora -Moreen -Morena -Morgan -Morgana -Morganica -Morganne -Morgen -Moria -Morissa -Morna -Moselle -Moyna -Moyra -Mozelle -Muffin -Mufi -Mufinella -Muire -Mureil -Murial -Muriel -Murielle -Myra -Myrah -Myranda -Myriam -Myrilla -Myrle -Myrlene -Myrna -Myrta -Myrtia -Myrtice -Myrtie -Myrtle -Nada -Nadean -Nadeen -Nadia -Nadine -Nadiya -Nady -Nadya -Nalani -Nan -Nana -Nananne -Nance -Nancee -Nancey -Nanci -Nancie -Nancy -Nanete -Nanette -Nani -Nanice -Nanine -Nannette -Nanni -Nannie -Nanny -Nanon -Naoma -Naomi -Nara -Nari -Nariko -Nat -Nata -Natala -Natalee -Natalie -Natalina -Nataline -Natalya -Natasha -Natassia -Nathalia -Nathalie -Natividad -Natka -Natty -Neala -Neda -Nedda -Nedi -Neely -Neila -Neile -Neilla -Neille -Nelia -Nelie -Nell -Nelle -Nelli -Nellie -Nelly -Nerissa -Nerita -Nert -Nerta -Nerte -Nerti -Nertie -Nerty -Nessa -Nessi -Nessie -Nessy -Nesta -Netta -Netti -Nettie -Nettle -Netty -Nevsa -Neysa -Nichol -Nichole -Nicholle -Nicki -Nickie -Nicky -Nicol -Nicola -Nicole -Nicolea -Nicolette -Nicoli -Nicolina -Nicoline -Nicolle -Nikaniki -Nike -Niki -Nikki -Nikkie -Nikoletta -Nikolia -Nina -Ninetta -Ninette -Ninnetta -Ninnette -Ninon -Nissa -Nisse -Nissie -Nissy -Nita -Nixie -Noami -Noel -Noelani -Noell -Noella -Noelle -Noellyn -Noelyn -Noemi -Nola -Nolana -Nolie -Nollie -Nomi -Nona -Nonah -Noni -Nonie -Nonna -Nonnah -Nora -Norah -Norean -Noreen -Norene -Norina -Norine -Norma -Norri -Norrie -Norry -Novelia -Nydia -Nyssa -Octavia -Odele -Odelia -Odelinda -Odella -Odelle -Odessa -Odetta -Odette -Odilia -Odille -Ofelia -Ofella -Ofilia -Ola -Olenka -Olga -Olia -Olimpia -Olive -Olivette -Olivia -Olivie -Oliy -Ollie -Olly -Olva -Olwen -Olympe -Olympia -Olympie -Ondrea -Oneida -Onida -Oona -Opal -Opalina -Opaline -Ophelia -Ophelie -Ora -Oralee -Oralia -Oralie -Oralla -Oralle -Orel -Orelee -Orelia -Orelie -Orella -Orelle -Oriana -Orly -Orsa -Orsola -Ortensia -Otha -Othelia -Othella -Othilia -Othilie -Ottilie -Page -Paige -Paloma -Pam -Pamela -Pamelina -Pamella -Pammi -Pammie -Pammy -Pandora -Pansie -Pansy -Paola -Paolina -Papagena -Pat -Patience -Patrica -Patrice -Patricia -Patrizia -Patsy -Patti -Pattie -Patty -Paula -Paule -Pauletta -Paulette -Pauli -Paulie -Paulina -Pauline -Paulita -Pauly -Pavia -Pavla -Pearl -Pearla -Pearle -Pearline -Peg -Pegeen -Peggi -Peggie -Peggy -Pen -Penelopa -Penelope -Penni -Pennie -Penny -Pepi -Pepita -Peri -Peria -Perl -Perla -Perle -Perri -Perrine -Perry -Persis -Pet -Peta -Petra -Petrina -Petronella -Petronia -Petronilla -Petronille -Petunia -Phaedra -Phaidra -Phebe -Phedra -Phelia -Phil -Philipa -Philippa -Philippe -Philippine -Philis -Phillida -Phillie -Phillis -Philly -Philomena -Phoebe -Phylis -Phyllida -Phyllis -Phyllys -Phylys -Pia -Pier -Pierette -Pierrette -Pietra -Piper -Pippa -Pippy -Polly -Pollyanna -Pooh -Poppy -Portia -Pris -Prisca -Priscella -Priscilla -Prissie -Pru -Prudence -Prudi -Prudy -Prue -Queenie -Quentin -Querida -Quinn -Quinta -Quintana -Quintilla -Quintina -Rachael -Rachel -Rachele -Rachelle -Rae -Raeann -Raf -Rafa -Rafaela -Rafaelia -Rafaelita -Rahal -Rahel -Raina -Raine -Rakel -Ralina -Ramona -Ramonda -Rana -Randa -Randee -Randene -Randi -Randie -Randy -Ranee -Rani -Rania -Ranice -Ranique -Ranna -Raphaela -Raquel -Raquela -Rasia -Rasla -Raven -Ray -Raychel -Raye -Rayna -Raynell -Rayshell -Rea -Reba -Rebbecca -Rebe -Rebeca -Rebecca -Rebecka -Rebeka -Rebekah -Rebekkah -Ree -Reeba -Reena -Reeta -Reeva -Regan -Reggi -Reggie -Regina -Regine -Reiko -Reina -Reine -Remy -Rena -Renae -Renata -Renate -Rene -Renee -Renell -Renelle -Renie -Rennie -Reta -Retha -Revkah -Rey -Reyna -Rhea -Rheba -Rheta -Rhetta -Rhiamon -Rhianna -Rhianon -Rhoda -Rhodia -Rhodie -Rhody -Rhona -Rhonda -Riane -Riannon -Rianon -Rica -Ricca -Rici -Ricki -Rickie -Ricky -Riki -Rikki -Rina -Risa -Rita -Riva -Rivalee -Rivi -Rivkah -Rivy -Roana -Roanna -Roanne -Robbi -Robbie -Robbin -Robby -Robbyn -Robena -Robenia -Roberta -Robin -Robina -Robinet -Robinett -Robinetta -Robinette -Robinia -Roby -Robyn -Roch -Rochell -Rochella -Rochelle -Rochette -Roda -Rodi -Rodie -Rodina -Rois -Romola -Romona -Romonda -Romy -Rona -Ronalda -Ronda -Ronica -Ronna -Ronni -Ronnica -Ronnie -Ronny -Roobbie -Rora -Rori -Rorie -Rory -Ros -Rosa -Rosabel -Rosabella -Rosabelle -Rosaleen -Rosalia -Rosalie -Rosalind -Rosalinda -Rosalinde -Rosaline -Rosalyn -Rosalynd -Rosamond -Rosamund -Rosana -Rosanna -Rosanne -Rose -Roseann -Roseanna -Roseanne -Roselia -Roselin -Roseline -Rosella -Roselle -Rosemaria -Rosemarie -Rosemary -Rosemonde -Rosene -Rosetta -Rosette -Roshelle -Rosie -Rosina -Rosita -Roslyn -Rosmunda -Rosy -Row -Rowe -Rowena -Roxana -Roxane -Roxanna -Roxanne -Roxi -Roxie -Roxine -Roxy -Roz -Rozalie -Rozalin -Rozamond -Rozanna -Rozanne -Roze -Rozele -Rozella -Rozelle -Rozina -Rubetta -Rubi -Rubia -Rubie -Rubina -Ruby -Ruperta -Ruth -Ruthann -Ruthanne -Ruthe -Ruthi -Ruthie -Ruthy -Ryann -Rycca -Saba -Sabina -Sabine -Sabra -Sabrina -Sacha -Sada -Sadella -Sadie -Sadye -Saidee -Sal -Salaidh -Sallee -Salli -Sallie -Sally -Sallyann -Sallyanne -Saloma -Salome -Salomi -Sam -Samantha -Samara -Samaria -Sammy -Sande -Sandi -Sandie -Sandra -Sandy -Sandye -Sapphira -Sapphire -Sara -Sara-Ann -Saraann -Sarah -Sarajane -Saree -Sarena -Sarene -Sarette -Sari -Sarina -Sarine -Sarita -Sascha -Sasha -Sashenka -Saudra -Saundra -Savina -Sayre -Scarlet -Scarlett -Sean -Seana -Seka -Sela -Selena -Selene -Selestina -Selia -Selie -Selina -Selinda -Seline -Sella -Selle -Selma -Sena -Sephira -Serena -Serene -Shae -Shaina -Shaine -Shalna -Shalne -Shana -Shanda -Shandee -Shandeigh -Shandie -Shandra -Shandy -Shane -Shani -Shanie -Shanna -Shannah -Shannen -Shannon -Shanon -Shanta -Shantee -Shara -Sharai -Shari -Sharia -Sharity -Sharl -Sharla -Sharleen -Sharlene -Sharline -Sharon -Sharona -Sharron -Sharyl -Shaun -Shauna -Shawn -Shawna -Shawnee -Shay -Shayla -Shaylah -Shaylyn -Shaylynn -Shayna -Shayne -Shea -Sheba -Sheela -Sheelagh -Sheelah -Sheena -Sheeree -Sheila -Sheila-Kathryn -Sheilah -Shel -Shela -Shelagh -Shelba -Shelbi -Shelby -Shelia -Shell -Shelley -Shelli -Shellie -Shelly -Shena -Sher -Sheree -Sheri -Sherie -Sherill -Sherilyn -Sherline -Sherri -Sherrie -Sherry -Sherye -Sheryl -Shina -Shir -Shirl -Shirlee -Shirleen -Shirlene -Shirley -Shirline -Shoshana -Shoshanna -Siana -Sianna -Sib -Sibbie -Sibby -Sibeal -Sibel -Sibella -Sibelle -Sibilla -Sibley -Sibyl -Sibylla -Sibylle -Sidoney -Sidonia -Sidonnie -Sigrid -Sile -Sileas -Silva -Silvana -Silvia -Silvie -Simona -Simone -Simonette -Simonne -Sindee -Siobhan -Sioux -Siouxie -Sisely -Sisile -Sissie -Sissy -Siusan -Sofia -Sofie -Sondra -Sonia -Sonja -Sonni -Sonnie -Sonnnie -Sonny -Sonya -Sophey -Sophi -Sophia -Sophie -Sophronia -Sorcha -Sosanna -Stace -Stacee -Stacey -Staci -Stacia -Stacie -Stacy -Stafani -Star -Starla -Starlene -Starlin -Starr -Stefa -Stefania -Stefanie -Steffane -Steffi -Steffie -Stella -Stepha -Stephana -Stephani -Stephanie -Stephannie -Stephenie -Stephi -Stephie -Stephine -Stesha -Stevana -Stevena -Stoddard -Storm -Stormi -Stormie -Stormy -Sue -Suellen -Sukey -Suki -Sula -Sunny -Sunshine -Susan -Susana -Susanetta -Susann -Susanna -Susannah -Susanne -Susette -Susi -Susie -Susy -Suzann -Suzanna -Suzanne -Suzette -Suzi -Suzie -Suzy -Sybil -Sybila -Sybilla -Sybille -Sybyl -Sydel -Sydelle -Sydney -Sylvia -Tabatha -Tabbatha -Tabbi -Tabbie -Tabbitha -Tabby -Tabina -Tabitha -Taffy -Talia -Tallia -Tallie -Tallou -Tallulah -Tally -Talya -Talyah -Tamar -Tamara -Tamarah -Tamarra -Tamera -Tami -Tamiko -Tamma -Tammara -Tammi -Tammie -Tammy -Tamqrah -Tamra -Tana -Tandi -Tandie -Tandy -Tanhya -Tani -Tania -Tanitansy -Tansy -Tanya -Tara -Tarah -Tarra -Tarrah -Taryn -Tasha -Tasia -Tate -Tatiana -Tatiania -Tatum -Tawnya -Tawsha -Ted -Tedda -Teddi -Teddie -Teddy -Tedi -Tedra -Teena -TEirtza -Teodora -Tera -Teresa -Terese -Teresina -Teresita -Teressa -Teri -Teriann -Terra -Terri -Terrie -Terrijo -Terry -Terrye -Tersina -Terza -Tess -Tessa -Tessi -Tessie -Tessy -Thalia -Thea -Theadora -Theda -Thekla -Thelma -Theo -Theodora -Theodosia -Theresa -Therese -Theresina -Theresita -Theressa -Therine -Thia -Thomasa -Thomasin -Thomasina -Thomasine -Tiena -Tierney -Tiertza -Tiff -Tiffani -Tiffanie -Tiffany -Tiffi -Tiffie -Tiffy -Tilda -Tildi -Tildie -Tildy -Tillie -Tilly -Tim -Timi -Timmi -Timmie -Timmy -Timothea -Tina -Tine -Tiphani -Tiphanie -Tiphany -Tish -Tisha -Tobe -Tobey -Tobi -Toby -Tobye -Toinette -Toma -Tomasina -Tomasine -Tomi -Tommi -Tommie -Tommy -Toni -Tonia -Tonie -Tony -Tonya -Tonye -Tootsie -Torey -Tori -Torie -Torrie -Tory -Tova -Tove -Tracee -Tracey -Traci -Tracie -Tracy -Trenna -Tresa -Trescha -Tressa -Tricia -Trina -Trish -Trisha -Trista -Trix -Trixi -Trixie -Trixy -Truda -Trude -Trudey -Trudi -Trudie -Trudy -Trula -Tuesday -Twila -Twyla -Tybi -Tybie -Tyne -Ula -Ulla -Ulrica -Ulrika -Ulrikaumeko -Ulrike -Umeko -Una -Ursa -Ursala -Ursola -Ursula -Ursulina -Ursuline -Uta -Val -Valaree -Valaria -Vale -Valeda -Valencia -Valene -Valenka -Valentia -Valentina -Valentine -Valera -Valeria -Valerie -Valery -Valerye -Valida -Valina -Valli -Vallie -Vally -Valma -Valry -Van -Vanda -Vanessa -Vania -Vanna -Vanni -Vannie -Vanny -Vanya -Veda -Velma -Velvet -Venita -Venus -Vera -Veradis -Vere -Verena -Verene -Veriee -Verile -Verina -Verine -Verla -Verna -Vernice -Veronica -Veronika -Veronike -Veronique -Vevay -Vi -Vicki -Vickie -Vicky -Victoria -Vida -Viki -Vikki -Vikky -Vilhelmina -Vilma -Vin -Vina -Vinita -Vinni -Vinnie -Vinny -Viola -Violante -Viole -Violet -Violetta -Violette -Virgie -Virgina -Virginia -Virginie -Vita -Vitia -Vitoria -Vittoria -Viv -Viva -Vivi -Vivia -Vivian -Viviana -Vivianna -Vivianne -Vivie -Vivien -Viviene -Vivienne -Viviyan -Vivyan -Vivyanne -Vonni -Vonnie -Vonny -Vyky -Wallie -Wallis -Walliw -Wally -Waly -Wanda -Wandie -Wandis -Waneta -Wanids -Wenda -Wendeline -Wendi -Wendie -Wendy -Wendye -Wenona -Wenonah -Whitney -Wileen -Wilhelmina -Wilhelmine -Wilie -Willa -Willabella -Willamina -Willetta -Willette -Willi -Willie -Willow -Willy -Willyt -Wilma -Wilmette -Wilona -Wilone -Wilow -Windy -Wini -Winifred -Winna -Winnah -Winne -Winni -Winnie -Winnifred -Winny -Winona -Winonah -Wren -Wrennie -Wylma -Wynn -Wynne -Wynnie -Wynny -Xaviera -Xena -Xenia -Xylia -Xylina -Yalonda -Yasmeen -Yasmin -Yelena -Yetta -Yettie -Yetty -Yevette -Ynes -Ynez -Yoko -Yolanda -Yolande -Yolane -Yolanthe -Yoshi -Yoshiko -Yovonnda -Ysabel -Yvette -Yvonne -Zabrina -Zahara -Zandra -Zaneta -Zara -Zarah -Zaria -Zarla -Zea -Zelda -Zelma -Zena -Zenia -Zia -Zilvia -Zita -Zitella -Zoe -Zola -Zonda -Zondra -Zonnya -Zora -Zorah -Zorana -Zorina -Zorine -Zsa Zsa -Zsazsa -Zulema -Zuzana \ No newline at end of file diff --git a/tests/old_tests/example_project/src/ExampleLibrary/Data/last_names.txt b/tests/old_tests/example_project/src/ExampleLibrary/Data/last_names.txt deleted file mode 100644 index 86fd80c..0000000 --- a/tests/old_tests/example_project/src/ExampleLibrary/Data/last_names.txt +++ /dev/null @@ -1,88799 +0,0 @@ -SMITH -JOHNSON -WILLIAMS -JONES -BROWN -DAVIS -MILLER -WILSON -MOORE -TAYLOR -ANDERSON -THOMAS -JACKSON -WHITE -HARRIS -MARTIN -THOMPSON -GARCIA -MARTINEZ -ROBINSON -CLARK -RODRIGUEZ -LEWIS -LEE -WALKER -HALL -ALLEN -YOUNG -HERNANDEZ -KING -WRIGHT -LOPEZ -HILL -SCOTT -GREEN -ADAMS -BAKER -GONZALEZ -NELSON -CARTER -MITCHELL -PEREZ -ROBERTS -TURNER -PHILLIPS -CAMPBELL -PARKER -EVANS -EDWARDS -COLLINS -STEWART -SANCHEZ -MORRIS -ROGERS -REED -COOK -MORGAN -BELL -MURPHY -BAILEY -RIVERA -COOPER -RICHARDSON -COX -HOWARD -WARD -TORRES -PETERSON -GRAY -RAMIREZ -JAMES -WATSON -BROOKS -KELLY -SANDERS -PRICE -BENNETT -WOOD -BARNES -ROSS -HENDERSON -COLEMAN -JENKINS -PERRY -POWELL -LONG -PATTERSON -HUGHES -FLORES -WASHINGTON -BUTLER -SIMMONS -FOSTER -GONZALES -BRYANT -ALEXANDER -RUSSELL -GRIFFIN -DIAZ -HAYES -MYERS -FORD -HAMILTON -GRAHAM -SULLIVAN -WALLACE -WOODS -COLE -WEST -JORDAN -OWENS -REYNOLDS -FISHER -ELLIS -HARRISON -GIBSON -MCDONALD -CRUZ -MARSHALL -ORTIZ -GOMEZ -MURRAY -FREEMAN -WELLS -WEBB -SIMPSON -STEVENS -TUCKER -PORTER -HUNTER -HICKS -CRAWFORD -HENRY -BOYD -MASON -MORALES -KENNEDY -WARREN -DIXON -RAMOS -REYES -BURNS -GORDON -SHAW -HOLMES -RICE -ROBERTSON -HUNT -BLACK -DANIELS -PALMER -MILLS -NICHOLS -GRANT -KNIGHT -FERGUSON -ROSE -STONE -HAWKINS -DUNN -PERKINS -HUDSON -SPENCER -GARDNER -STEPHENS -PAYNE -PIERCE -BERRY -MATTHEWS -ARNOLD -WAGNER -WILLIS -RAY -WATKINS -OLSON -CARROLL -DUNCAN -SNYDER -HART -CUNNINGHAM -BRADLEY -LANE -ANDREWS -RUIZ -HARPER -FOX -RILEY -ARMSTRONG -CARPENTER -WEAVER -GREENE -LAWRENCE -ELLIOTT -CHAVEZ -SIMS -AUSTIN -PETERS -KELLEY -FRANKLIN -LAWSON -FIELDS -GUTIERREZ -RYAN -SCHMIDT -CARR -VASQUEZ -CASTILLO -WHEELER -CHAPMAN -OLIVER -MONTGOMERY -RICHARDS -WILLIAMSON -JOHNSTON -BANKS -MEYER -BISHOP -MCCOY -HOWELL -ALVAREZ -MORRISON -HANSEN -FERNANDEZ -GARZA -HARVEY -LITTLE -BURTON -STANLEY -NGUYEN -GEORGE -JACOBS -REID -KIM -FULLER -LYNCH -DEAN -GILBERT -GARRETT -ROMERO -WELCH -LARSON -FRAZIER -BURKE -HANSON -DAY -MENDOZA -MORENO -BOWMAN -MEDINA -FOWLER -BREWER -HOFFMAN -CARLSON -SILVA -PEARSON -HOLLAND -DOUGLAS -FLEMING -JENSEN -VARGAS -BYRD -DAVIDSON -HOPKINS -MAY -TERRY -HERRERA -WADE -SOTO -WALTERS -CURTIS -NEAL -CALDWELL -LOWE -JENNINGS -BARNETT -GRAVES -JIMENEZ -HORTON -SHELTON -BARRETT -OBRIEN -CASTRO -SUTTON -GREGORY -MCKINNEY -LUCAS -MILES -CRAIG -RODRIQUEZ -CHAMBERS -HOLT -LAMBERT -FLETCHER -WATTS -BATES -HALE -RHODES -PENA -BECK -NEWMAN -HAYNES -MCDANIEL -MENDEZ -BUSH -VAUGHN -PARKS -DAWSON -SANTIAGO -NORRIS -HARDY -LOVE -STEELE -CURRY -POWERS -SCHULTZ -BARKER -GUZMAN -PAGE -MUNOZ -BALL -KELLER -CHANDLER -WEBER -LEONARD -WALSH -LYONS -RAMSEY -WOLFE -SCHNEIDER -MULLINS -BENSON -SHARP -BOWEN -DANIEL -BARBER -CUMMINGS -HINES -BALDWIN -GRIFFITH -VALDEZ -HUBBARD -SALAZAR -REEVES -WARNER -STEVENSON -BURGESS -SANTOS -TATE -CROSS -GARNER -MANN -MACK -MOSS -THORNTON -DENNIS -MCGEE -FARMER -DELGADO -AGUILAR -VEGA -GLOVER -MANNING -COHEN -HARMON -RODGERS -ROBBINS -NEWTON -TODD -BLAIR -HIGGINS -INGRAM -REESE -CANNON -STRICKLAND -TOWNSEND -POTTER -GOODWIN -WALTON -ROWE -HAMPTON -ORTEGA -PATTON -SWANSON -JOSEPH -FRANCIS -GOODMAN -MALDONADO -YATES -BECKER -ERICKSON -HODGES -RIOS -CONNER -ADKINS -WEBSTER -NORMAN -MALONE -HAMMOND -FLOWERS -COBB -MOODY -QUINN -BLAKE -MAXWELL -POPE -FLOYD -OSBORNE -PAUL -MCCARTHY -GUERRERO -LINDSEY -ESTRADA -SANDOVAL -GIBBS -TYLER -GROSS -FITZGERALD -STOKES -DOYLE -SHERMAN -SAUNDERS -WISE -COLON -GILL -ALVARADO -GREER -PADILLA -SIMON -WATERS -NUNEZ -BALLARD -SCHWARTZ -MCBRIDE -HOUSTON -CHRISTENSEN -KLEIN -PRATT -BRIGGS -PARSONS -MCLAUGHLIN -ZIMMERMAN -FRENCH -BUCHANAN -MORAN -COPELAND -ROY -PITTMAN -BRADY -MCCORMICK -HOLLOWAY -BROCK -POOLE -FRANK -LOGAN -OWEN -BASS -MARSH -DRAKE -WONG -JEFFERSON -PARK -MORTON -ABBOTT -SPARKS -PATRICK -NORTON -HUFF -CLAYTON -MASSEY -LLOYD -FIGUEROA -CARSON -BOWERS -ROBERSON -BARTON -TRAN -LAMB -HARRINGTON -CASEY -BOONE -CORTEZ -CLARKE -MATHIS -SINGLETON -WILKINS -CAIN -BRYAN -UNDERWOOD -HOGAN -MCKENZIE -COLLIER -LUNA -PHELPS -MCGUIRE -ALLISON -BRIDGES -WILKERSON -NASH -SUMMERS -ATKINS -WILCOX -PITTS -CONLEY -MARQUEZ -BURNETT -RICHARD -COCHRAN -CHASE -DAVENPORT -HOOD -GATES -CLAY -AYALA -SAWYER -ROMAN -VAZQUEZ -DICKERSON -HODGE -ACOSTA -FLYNN -ESPINOZA -NICHOLSON -MONROE -WOLF -MORROW -KIRK -RANDALL -ANTHONY -WHITAKER -OCONNOR -SKINNER -WARE -MOLINA -KIRBY -HUFFMAN -BRADFORD -CHARLES -GILMORE -DOMINGUEZ -ONEAL -BRUCE -LANG -COMBS -KRAMER -HEATH -HANCOCK -GALLAGHER -GAINES -SHAFFER -SHORT -WIGGINS -MATHEWS -MCCLAIN -FISCHER -WALL -SMALL -MELTON -HENSLEY -BOND -DYER -CAMERON -GRIMES -CONTRERAS -CHRISTIAN -WYATT -BAXTER -SNOW -MOSLEY -SHEPHERD -LARSEN -HOOVER -BEASLEY -GLENN -PETERSEN -WHITEHEAD -MEYERS -KEITH -GARRISON -VINCENT -SHIELDS -HORN -SAVAGE -OLSEN -SCHROEDER -HARTMAN -WOODARD -MUELLER -KEMP -DELEON -BOOTH -PATEL -CALHOUN -WILEY -EATON -CLINE -NAVARRO -HARRELL -LESTER -HUMPHREY -PARRISH -DURAN -HUTCHINSON -HESS -DORSEY -BULLOCK -ROBLES -BEARD -DALTON -AVILA -VANCE -RICH -BLACKWELL -YORK -JOHNS -BLANKENSHIP -TREVINO -SALINAS -CAMPOS -PRUITT -MOSES -CALLAHAN -GOLDEN -MONTOYA -HARDIN -GUERRA -MCDOWELL -CAREY -STAFFORD -GALLEGOS -HENSON -WILKINSON -BOOKER -MERRITT -MIRANDA -ATKINSON -ORR -DECKER -HOBBS -PRESTON -TANNER -KNOX -PACHECO -STEPHENSON -GLASS -ROJAS -SERRANO -MARKS -HICKMAN -ENGLISH -SWEENEY -STRONG -PRINCE -MCCLURE -CONWAY -WALTER -ROTH -MAYNARD -FARRELL -LOWERY -HURST -NIXON -WEISS -TRUJILLO -ELLISON -SLOAN -JUAREZ -WINTERS -MCLEAN -RANDOLPH -LEON -BOYER -VILLARREAL -MCCALL -GENTRY -CARRILLO -KENT -AYERS -LARA -SHANNON -SEXTON -PACE -HULL -LEBLANC -BROWNING -VELASQUEZ -LEACH -CHANG -HOUSE -SELLERS -HERRING -NOBLE -FOLEY -BARTLETT -MERCADO -LANDRY -DURHAM -WALLS -BARR -MCKEE -BAUER -RIVERS -EVERETT -BRADSHAW -PUGH -VELEZ -RUSH -ESTES -DODSON -MORSE -SHEPPARD -WEEKS -CAMACHO -BEAN -BARRON -LIVINGSTON -MIDDLETON -SPEARS -BRANCH -BLEVINS -CHEN -KERR -MCCONNELL -HATFIELD -HARDING -ASHLEY -SOLIS -HERMAN -FROST -GILES -BLACKBURN -WILLIAM -PENNINGTON -WOODWARD -FINLEY -MCINTOSH -KOCH -BEST -SOLOMON -MCCULLOUGH -DUDLEY -NOLAN -BLANCHARD -RIVAS -BRENNAN -MEJIA -KANE -BENTON -JOYCE -BUCKLEY -HALEY -VALENTINE -MADDOX -RUSSO -MCKNIGHT -BUCK -MOON -MCMILLAN -CROSBY -BERG -DOTSON -MAYS -ROACH -CHURCH -CHAN -RICHMOND -MEADOWS -FAULKNER -ONEILL -KNAPP -KLINE -BARRY -OCHOA -JACOBSON -GAY -AVERY -HENDRICKS -HORNE -SHEPARD -HEBERT -CHERRY -CARDENAS -MCINTYRE -WHITNEY -WALLER -HOLMAN -DONALDSON -CANTU -TERRELL -MORIN -GILLESPIE -FUENTES -TILLMAN -SANFORD -BENTLEY -PECK -KEY -SALAS -ROLLINS -GAMBLE -DICKSON -BATTLE -SANTANA -CABRERA -CERVANTES -HOWE -HINTON -HURLEY -SPENCE -ZAMORA -YANG -MCNEIL -SUAREZ -CASE -PETTY -GOULD -MCFARLAND -SAMPSON -CARVER -BRAY -ROSARIO -MACDONALD -STOUT -HESTER -MELENDEZ -DILLON -FARLEY -HOPPER -GALLOWAY -POTTS -BERNARD -JOYNER -STEIN -AGUIRRE -OSBORN -MERCER -BENDER -FRANCO -ROWLAND -SYKES -BENJAMIN -TRAVIS -PICKETT -CRANE -SEARS -MAYO -DUNLAP -HAYDEN -WILDER -MCKAY -COFFEY -MCCARTY -EWING -COOLEY -VAUGHAN -BONNER -COTTON -HOLDER -STARK -FERRELL -CANTRELL -FULTON -LYNN -LOTT -CALDERON -ROSA -POLLARD -HOOPER -BURCH -MULLEN -FRY -RIDDLE -LEVY -DAVID -DUKE -ODONNELL -GUY -MICHAEL -BRITT -FREDERICK -DAUGHERTY -BERGER -DILLARD -ALSTON -JARVIS -FRYE -RIGGS -CHANEY -ODOM -DUFFY -FITZPATRICK -VALENZUELA -MERRILL -MAYER -ALFORD -MCPHERSON -ACEVEDO -DONOVAN -BARRERA -ALBERT -COTE -REILLY -COMPTON -RAYMOND -MOONEY -MCGOWAN -CRAFT -CLEVELAND -CLEMONS -WYNN -NIELSEN -BAIRD -STANTON -SNIDER -ROSALES -BRIGHT -WITT -STUART -HAYS -HOLDEN -RUTLEDGE -KINNEY -CLEMENTS -CASTANEDA -SLATER -HAHN -EMERSON -CONRAD -BURKS -DELANEY -PATE -LANCASTER -SWEET -JUSTICE -TYSON -SHARPE -WHITFIELD -TALLEY -MACIAS -IRWIN -BURRIS -RATLIFF -MCCRAY -MADDEN -KAUFMAN -BEACH -GOFF -CASH -BOLTON -MCFADDEN -LEVINE -GOOD -BYERS -KIRKLAND -KIDD -WORKMAN -CARNEY -DALE -MCLEOD -HOLCOMB -ENGLAND -FINCH -HEAD -BURT -HENDRIX -SOSA -HANEY -FRANKS -SARGENT -NIEVES -DOWNS -RASMUSSEN -BIRD -HEWITT -LINDSAY -LE -FOREMAN -VALENCIA -ONEIL -DELACRUZ -VINSON -DEJESUS -HYDE -FORBES -GILLIAM -GUTHRIE -WOOTEN -HUBER -BARLOW -BOYLE -MCMAHON -BUCKNER -ROCHA -PUCKETT -LANGLEY -KNOWLES -COOKE -VELAZQUEZ -WHITLEY -NOEL -VANG -SHEA -ROUSE -HARTLEY -MAYFIELD -ELDER -RANKIN -HANNA -COWAN -LUCERO -ARROYO -SLAUGHTER -HAAS -OCONNELL -MINOR -KENDRICK -SHIRLEY -KENDALL -BOUCHER -ARCHER -BOGGS -ODELL -DOUGHERTY -ANDERSEN -NEWELL -CROWE -WANG -FRIEDMAN -BLAND -SWAIN -HOLLEY -FELIX -PEARCE -CHILDS -YARBROUGH -GALVAN -PROCTOR -MEEKS -LOZANO -MORA -RANGEL -BACON -VILLANUEVA -SCHAEFER -ROSADO -HELMS -BOYCE -GOSS -STINSON -SMART -LAKE -IBARRA -HUTCHINS -COVINGTON -REYNA -GREGG -WERNER -CROWLEY -HATCHER -MACKEY -BUNCH -WOMACK -POLK -JAMISON -DODD -CHILDRESS -CHILDERS -CAMP -VILLA -DYE -SPRINGER -MAHONEY -DAILEY -BELCHER -LOCKHART -GRIGGS -COSTA -CONNOR -BRANDT -WINTER -WALDEN -MOSER -TRACY -TATUM -MCCANN -AKERS -LUTZ -PRYOR -LAW -OROZCO -MCALLISTER -LUGO -DAVIES -SHOEMAKER -MADISON -RUTHERFORD -NEWSOME -MAGEE -CHAMBERLAIN -BLANTON -SIMMS -GODFREY -FLANAGAN -CRUM -CORDOVA -ESCOBAR -DOWNING -SINCLAIR -DONAHUE -KRUEGER -MCGINNIS -GORE -FARRIS -WEBBER -CORBETT -ANDRADE -STARR -LYON -YODER -HASTINGS -MCGRATH -SPIVEY -KRAUSE -HARDEN -CRABTREE -KIRKPATRICK -HOLLIS -BRANDON -ARRINGTON -ERVIN -CLIFTON -RITTER -MCGHEE -BOLDEN -MALONEY -GAGNON -DUNBAR -PONCE -PIKE -MAYES -HEARD -BEATTY -MOBLEY -KIMBALL -BUTTS -MONTES -HERBERT -GRADY -ELDRIDGE -BRAUN -HAMM -GIBBONS -SEYMOUR -MOYER -MANLEY -HERRON -PLUMMER -ELMORE -CRAMER -GARY -RUCKER -HILTON -BLUE -PIERSON -FONTENOT -FIELD -RUBIO -GRACE -GOLDSTEIN -ELKINS -WILLS -NOVAK -JOHN -HICKEY -WORLEY -GORMAN -KATZ -DICKINSON -BROUSSARD -FRITZ -WOODRUFF -CROW -CHRISTOPHER -BRITTON -FORREST -NANCE -LEHMAN -BINGHAM -ZUNIGA -WHALEY -SHAFER -COFFMAN -STEWARD -DELAROSA -NIX -NEELY -NUMBERS -MATA -MANUEL -DAVILA -MCCABE -KESSLER -EMERY -BOWLING -HINKLE -WELSH -PAGAN -GOLDBERG -GOINS -CROUCH -CUEVAS -QUINONES -MCDERMOTT -HENDRICKSON -SAMUELS -DENTON -BERGERON -LAM -IVEY -LOCKE -HAINES -THURMAN -SNELL -HOSKINS -BYRNE -MILTON -WINSTON -ARTHUR -ARIAS -STANFORD -ROE -CORBIN -BELTRAN -CHAPPELL -HURT -DOWNEY -DOOLEY -TUTTLE -COUCH -PAYTON -MCELROY -CROCKETT -GROVES -CLEMENT -LESLIE -CARTWRIGHT -DICKEY -MCGILL -DUBOIS -MUNIZ -ERWIN -SELF -TOLBERT -DEMPSEY -CISNEROS -SEWELL -LATHAM -GARLAND -VIGIL -TAPIA -STERLING -RAINEY -NORWOOD -LACY -STROUD -MEADE -AMOS -TIPTON -LORD -KUHN -HILLIARD -BONILLA -TEAGUE -COURTNEY -GUNN -HO -GREENWOOD -CORREA -REECE -WESTON -POE -TRENT -PINEDA -PHIPPS -FREY -KAISER -AMES -PAIGE -GUNTER -SCHMITT -MILLIGAN -ESPINOSA -CARLTON -BOWDEN -VICKERS -LOWRY -PRITCHARD -COSTELLO -PIPER -MCCLELLAN -LOVELL -DREW -SHEEHAN -QUICK -HATCH -DOBSON -SINGH -JEFFRIES -HOLLINGSWORTH -SORENSEN -MEZA -FINK -DONNELLY -BURRELL -BRUNO -TOMLINSON -COLBERT -BILLINGS -RITCHIE -HELTON -SUTHERLAND -PEOPLES -MCQUEEN -GASTON -THOMASON -MCKINLEY -GIVENS -CROCKER -VOGEL -ROBISON -DUNHAM -COKER -SWARTZ -KEYS -LILLY -LADNER -HANNAH -WILLARD -RICHTER -HARGROVE -EDMONDS -BRANTLEY -ALBRIGHT -MURDOCK -BOSWELL -MULLER -QUINTERO -PADGETT -KENNEY -DALY -CONNOLLY -PIERRE -INMAN -QUINTANA -LUND -BARNARD -VILLEGAS -SIMONS -LAND -HUGGINS -TIDWELL -SANDERSON -BULLARD -MCCLENDON -DUARTE -DRAPER -MEREDITH -MARRERO -DWYER -ABRAMS -STOVER -GOODE -FRASER -CREWS -BERNAL -SMILEY -GODWIN -FISH -CONKLIN -MCNEAL -BACA -ESPARZA -CROWDER -BOWER -NICHOLAS -CHUNG -BREWSTER -MCNEILL -DICK -RODRIGUES -LEAL -COATES -RAINES -MCCAIN -MCCORD -MINER -HOLBROOK -SWIFT -DUKES -CARLISLE -ALDRIDGE -ACKERMAN -STARKS -RICKS -HOLLIDAY -FERRIS -HAIRSTON -SHEFFIELD -LANGE -FOUNTAIN -MARINO -DOSS -BETTS -KAPLAN -CARMICHAEL -BLOOM -RUFFIN -PENN -KERN -BOWLES -SIZEMORE -LARKIN -DUPREE -JEWELL -SILVER -SEALS -METCALF -HUTCHISON -HENLEY -FARR -CASTLE -MCCAULEY -HANKINS -GUSTAFSON -DEAL -CURRAN -ASH -WADDELL -RAMEY -CATES -POLLOCK -MAJOR -IRVIN -CUMMINS -MESSER -HELLER -DEWITT -LIN -FUNK -CORNETT -PALACIOS -GALINDO -CANO -HATHAWAY -SINGER -PHAM -ENRIQUEZ -AARON -SALGADO -PELLETIER -PAINTER -WISEMAN -BLOUNT -HAND -FELICIANO -TEMPLE -HOUSER -DOHERTY -MEAD -MCGRAW -TONEY -SWAN -MELVIN -CAPPS -BLANCO -BLACKMON -WESLEY -THOMSON -MCMANUS -FAIR -BURKETT -POST -GLEASON -RUDOLPH -OTT -DICKENS -CORMIER -VOSS -RUSHING -ROSENBERG -HURD -DUMAS -BENITEZ -ARELLANO -STORY -MARIN -CAUDILL -BRAGG -JARAMILLO -HUERTA -GIPSON -COLVIN -BIGGS -VELA -PLATT -CASSIDY -TOMPKINS -MCCOLLUM -KAY -GABRIEL -DOLAN -DALEY -CRUMP -STREET -SNEED -KILGORE -GROVE -GRIMM -DAVISON -BRUNSON -PRATER -MARCUM -DEVINE -KYLE -DODGE -STRATTON -ROSAS -CHOI -TRIPP -LEDBETTER -LAY -HIGHTOWER -HAYWOOD -FELDMAN -EPPS -YEAGER -POSEY -SYLVESTER -SCRUGGS -COPE -STUBBS -RICHEY -OVERTON -TROTTER -SPRAGUE -CORDERO -BUTCHER -BURGER -STILES -BURGOS -WOODSON -HORNER -BASSETT -PURCELL -HASKINS -GEE -AKINS -ABRAHAM -HOYT -ZIEGLER -SPAULDING -HADLEY -GRUBBS -SUMNER -MURILLO -ZAVALA -SHOOK -LOCKWOOD -JARRETT -DRISCOLL -DAHL -THORPE -SHERIDAN -REDMOND -PUTNAM -MCWILLIAMS -MCRAE -CORNELL -FELTON -ROMANO -JOINER -SADLER -HEDRICK -HAGER -HAGEN -FITCH -COULTER -THACKER -MANSFIELD -LANGSTON -GUIDRY -FERREIRA -CORLEY -CONN -ROSSI -LACKEY -CODY -BAEZ -SAENZ -MCNAMARA -DARNELL -MICHEL -MCMULLEN -MCKENNA -MCDONOUGH -LINK -ENGEL -BROWNE -ROPER -PEACOCK -EUBANKS -DRUMMOND -STRINGER -PRITCHETT -PARHAM -MIMS -LANDERS -HAM -GRAYSON -STACY -SCHAFER -EGAN -TIMMONS -OHARA -KEEN -HAMLIN -FINN -CORTES -MCNAIR -LOUIS -CLIFFORD -NADEAU -MOSELEY -MICHAUD -ROSEN -OAKES -KURTZ -JEFFERS -CALLOWAY -BEAL -BAUTISTA -WINN -SUGGS -STERN -STAPLETON -LYLES -LAIRD -MONTANO -DIAMOND -DAWKINS -ROLAND -HAGAN -GOLDMAN -BRYSON -BARAJAS -LOVETT -SEGURA -METZ -LOCKETT -LANGFORD -HINSON -EASTMAN -ROCK -HOOKS -WOODY -SMALLWOOD -SHAPIRO -CROWELL -WHALEN -TRIPLETT -HOOKER -CHATMAN -ALDRICH -CAHILL -YOUNGBLOOD -YBARRA -STALLINGS -SHEETS -SAMUEL -REEDER -PERSON -PACK -LACEY -CONNELLY -BATEMAN -ABERNATHY -WINKLER -WILKES -MASTERS -HACKETT -GRANGER -GILLIS -SCHMITZ -SAPP -NAPIER -SOUZA -LANIER -GOMES -WEIR -OTERO -LEDFORD -BURROUGHS -BABCOCK -VENTURA -SIEGEL -DUGAN -CLINTON -CHRISTIE -BLEDSOE -ATWOOD -WRAY -VARNER -SPANGLER -OTTO -ANAYA -STALEY -KRAFT -FOURNIER -EDDY -BELANGER -WOLFF -THORNE -BYNUM -BURNETTE -BOYKIN -SWENSON -PURVIS -PINA -KHAN -DUVALL -DARBY -XIONG -KAUFFMAN -ALI -YU -HEALY -ENGLE -CORONA -BENOIT -VALLE -STEINER -SPICER -SHAVER -RANDLE -LUNDY -DOW -CHIN -CALVERT -STATON -NEFF -KEARNEY -DARDEN -OAKLEY -MEDEIROS -MCCRACKEN -CRENSHAW -BLOCK -BEAVER -PERDUE -DILL -WHITTAKER -TOBIN -CORNELIUS -WASHBURN -HOGUE -GOODRICH -EASLEY -BRAVO -DENNISON -VERA -SHIPLEY -KERNS -JORGENSEN -CRAIN -ABEL -VILLALOBOS -MAURER -LONGORIA -KEENE -COON -SIERRA -WITHERSPOON -STAPLES -PETTIT -KINCAID -EASON -MADRID -ECHOLS -LUSK -WU -STAHL -CURRIE -THAYER -SHULTZ -SHERWOOD -MCNALLY -SEAY -NORTH -MAHER -KENNY -HOPE -GAGNE -BARROW -NAVA -MYLES -MORELAND -HONEYCUTT -HEARN -DIGGS -CARON -WHITTEN -WESTBROOK -STOVALL -RAGLAND -QUEEN -MUNSON -MEIER -LOONEY -KIMBLE -JOLLY -HOBSON -LONDON -GODDARD -CULVER -BURR -PRESLEY -NEGRON -CONNELL -TOVAR -MARCUS -HUDDLESTON -HAMMER -ASHBY -SALTER -ROOT -PENDLETON -OLEARY -NICKERSON -MYRICK -JUDD -JACOBSEN -ELLIOT -BAIN -ADAIR -STARNES -SHELDON -MATOS -LIGHT -BUSBY -HERNDON -HANLEY -BELLAMY -JACK -DOTY -BARTLEY -YAZZIE -ROWELL -PARSON -GIFFORD -CULLEN -CHRISTIANSEN -BENAVIDES -BARNHART -TALBOT -MOCK -CRANDALL -CONNORS -BONDS -WHITT -GAGE -BERGMAN -ARREDONDO -ADDISON -MARION -LUJAN -DOWDY -JERNIGAN -HUYNH -BOUCHARD -DUTTON -RHOADES -OUELLETTE -KISER -RUBIN -HERRINGTON -HARE -DENNY -BLACKMAN -BABB -ALLRED -RUDD -PAULSON -OGDEN -KOENIG -JACOB -IRVING -GEIGER -BEGAY -PARRA -CHAMPION -LASSITER -HAWK -ESPOSITO -CHO -WALDRON -VERNON -RANSOM -PRATHER -KEENAN -JEAN -GROVER -CHACON -VICK -SANDS -ROARK -PARR -MAYBERRY -GREENBERG -COLEY -BRUNER -WHITMAN -SKAGGS -SHIPMAN -MEANS -LEARY -HUTTON -ROMO -MEDRANO -LADD -KRUSE -FRIEND -DARLING -ASKEW -VALENTIN -SCHULZ -ALFARO -TABOR -MOHR -GALLO -BERMUDEZ -PEREIRA -ISAAC -BLISS -REAVES -FLINT -COMER -BOSTON -WOODALL -NAQUIN -GUEVARA -EARL -DELONG -CARRIER -PICKENS -BRAND -TILLEY -SCHAFFER -READ -LIM -KNUTSON -FENTON -DORAN -CHU -VOGT -VANN -PRESCOTT -MCLAIN -LANDIS -CORCORAN -AMBROSE -ZAPATA -HYATT -HEMPHILL -FAULK -CALL -DOVE -BOUDREAUX -ARAGON -WHITLOCK -TREJO -TACKETT -SHEARER -SALDANA -HANKS -GOLD -DRIVER -MCKINNON -KOEHLER -CHAMPAGNE -BOURGEOIS -POOL -KEYES -GOODSON -FOOTE -EARLY -LUNSFORD -GOLDSMITH -FLOOD -WINSLOW -SAMS -REAGAN -MCCLOUD -HOUGH -ESQUIVEL -NAYLOR -LOOMIS -CORONADO -LUDWIG -BRASWELL -BEARDEN -SHERRILL -HUANG -FAGAN -EZELL -EDMONDSON -CYR -CRONIN -NUNN -LEMON -GUILLORY -GRIER -DUBOSE -TRAYLOR -RYDER -DOBBINS -COYLE -APONTE -WHITMORE -SMALLS -ROWAN -MALLOY -CARDONA -BRAXTON -BORDEN -HUMPHRIES -CARRASCO -RUFF -METZGER -HUNTLEY -HINOJOSA -FINNEY -MADSEN -HONG -HILLS -ERNST -DOZIER -BURKHART -BOWSER -PERALTA -DAIGLE -WHITTINGTON -SORENSON -SAUCEDO -ROCHE -REDDING -LOYD -FUGATE -AVALOS -WAITE -LIND -HUSTON -HAY -BENEDICT -HAWTHORNE -HAMBY -BOYLES -BOLES -REGAN -FAUST -CROOK -BEAM -BARGER -HINDS -GALLARDO -ELIAS -WILLOUGHBY -WILLINGHAM -WILBURN -ECKERT -BUSCH -ZEPEDA -WORTHINGTON -TINSLEY -RUSS -LI -HOFF -HAWLEY -CARMONA -VARELA -RECTOR -NEWCOMB -MALLORY -KINSEY -DUBE -WHATLEY -STRANGE -RAGSDALE -IVY -BERNSTEIN -BECERRA -YOST -MATTSON -LY -FELDER -CHEEK -LUKE -HANDY -GROSSMAN -GAUTHIER -ESCOBEDO -BRADEN -BECKMAN -MOTT -HILLMAN -GIL -FLAHERTY -DYKES -DOE -STOCKTON -STEARNS -LOFTON -KITCHEN -COATS -CAVAZOS -BEAVERS -BARRIOS -TANG -PARISH -MOSHER -LINCOLN -CARDWELL -COLES -BURNHAM -WELLER -LEMONS -BEEBE -AGUILERA -RING -PARNELL -HARMAN -COUTURE -ALLEY -SCHUMACHER -REDD -DOBBS -BLUM -BLALOCK -MERCHANT -ENNIS -DENSON -COTTRELL -CHESTER -BRANNON -BAGLEY -AVILES -WATT -SOUSA -ROSENTHAL -ROONEY -DIETZ -BLANK -PAQUETTE -MCCLELLAND -DUFF -VELASCO -LENTZ -GRUBB -BURROWS -BARBOUR -ULRICH -SHOCKLEY -RADER -GERMAN -BEYER -MIXON -LAYTON -ALTMAN -ALONZO -WEATHERS -TITUS -STONER -SQUIRES -SHIPP -PRIEST -LIPSCOMB -CUTLER -CABALLERO -ZIMMER -WILLETT -THURSTON -STOREY -MEDLEY -LYLE -EPPERSON -SHAH -MCMILLIAN -BAGGETT -TORREZ -LAWS -HIRSCH -DENT -COREY -POIRIER -PEACHEY -JACQUES -FARRAR -CREECH -BARTH -TRIMBLE -FRANCE -DUPRE -ALBRECHT -SAMPLE -LAWLER -CRISP -CONROY -CHADWICK -WETZEL -NESBITT -MURRY -JAMESON -WILHELM -PATTEN -MINTON -MATSON -KIMBROUGH -IVERSON -GUINN -GALE -FORTUNE -CROFT -TOTH -PULLIAM -NUGENT -NEWBY -LITTLEJOHN -DIAS -CANALES -BERNIER -BARON -BARNEY -SINGLETARY -RENTERIA -PRUETT -MCHUGH -MABRY -LANDRUM -BROWER -WELDON -STODDARD -RUTH -CAGLE -STJOHN -SCALES -KOHLER -KELLOGG -HOPSON -GANT -THARP -GANN -ZEIGLER -PRINGLE -HAMMONS -FAIRCHILD -DEATON -CHAVIS -CARNES -ROWLEY -MATLOCK -LIBBY -KEARNS -IRIZARRY -CARRINGTON -STARKEY -PEPPER -LOPES -JARRELL -FAY -CRAVEN -BEVERLY -BAUM -SPAIN -LITTLEFIELD -LINN -HUMPHREYS -HOOK -HIGH -ETHERIDGE -CUELLAR -CHASTAIN -CHANCE -BUNDY -SPEER -SKELTON -QUIROZ -PYLE -PORTILLO -PONDER -MOULTON -MACHADO -LIU -KILLIAN -HUTSON -HITCHCOCK -ELLSWORTH -DOWLING -CLOUD -BURDICK -SPANN -PEDERSEN -LEVIN -LEGGETT -HAYWARD -HACKER -DIETRICH -BEAULIEU -BARKSDALE -WAKEFIELD -SNOWDEN -PARIS -BRISCOE -BOWIE -BERMAN -OGLE -MCGREGOR -LAUGHLIN -HELM -BURDEN -WHEATLEY -SCHREIBER -PRESSLEY -PARRIS -NG -ALANIZ -AGEE -URBAN -SWANN -SNODGRASS -SCHUSTER -RADFORD -MONK -MATTINGLY -MAIN -LAMAR -HARP -GIRARD -CHENEY -YANCEY -WAGONER -RIDLEY -LOMBARDO -LAU -HUDGINS -GASKINS -DUCKWORTH -COE -COBURN -WILLEY -PRADO -NEWBERRY -MAGANA -HAMMONDS -ELAM -WHIPPLE -SLADE -SERNA -OJEDA -LILES -DORMAN -DIEHL -ANGEL -UPTON -REARDON -MICHAELS -KELSEY -GOETZ -ELLER -BAUMAN -BAER -AUGUSTINE -LAYNE -HUMMEL -BRENNER -AMAYA -ADAMSON -ORNELAS -DOWELL -CLOUTIER -CHRISTY -CASTELLANOS -WING -WELLMAN -SAYLOR -OROURKE -MOYA -MONTALVO -KILPATRICK -HARLEY -DURBIN -SHELL -OLDHAM -KANG -GARVIN -FOSS -BRANHAM -BARTHOLOMEW -TEMPLETON -MAGUIRE -HOLTON -ALONSO -RIDER -MONAHAN -MCCORMACK -BEATY -ANDERS -STREETER -NIETO -NIELSON -MOFFETT -LANKFORD -KEATING -HECK -GATLIN -DELATORRE -CALLAWAY -ADCOCK -WORRELL -UNGER -ROBINETTE -NOWAK -JETER -BRUNNER -ASHTON -STEEN -PARROTT -OVERSTREET -NOBLES -MONTANEZ -LUTHER -CLEVENGER -BRINKLEY -TRAHAN -QUARLES -PICKERING -PEDERSON -JANSEN -GRANTHAM -GILCHRIST -CRESPO -AIKEN -SCHELL -SCHAEFFER -LORENZ -LEYVA -HARMS -DYSON -WALLIS -PEASE -LEAVITT -HYMAN -CHENG -CAVANAUGH -BATTS -WARDEN -SEAMAN -ROCKWELL -QUEZADA -PAXTON -LINDER -HOUCK -FONTAINE -DURANT -CARUSO -ADLER -PIMENTEL -MIZE -LYTLE -DONALD -CLEARY -CASON -ACKER -SWITZER -SALMON -ISAACS -HIGGINBOTHAM -HAN -WATERMAN -VANDYKE -STAMPER -SISK -SHULER -RIDDICK -REDMAN -MCMAHAN -LEVESQUE -HATTON -BRONSON -BOLLINGER -ARNETT -OKEEFE -GERBER -GANNON -FARNSWORTH -BAUGHMAN -SILVERMAN -SATTERFIELD -ROYAL -MCCRARY -KOWALSKI -JOY -GRIGSBY -GRECO -CABRAL -TROUT -RINEHART -MAHON -LINTON -GOODEN -CURLEY -BAUGH -WYMAN -WEINER -SCHWAB -SCHULER -MORRISSEY -MAHAN -COY -BUNN -ANDREW -THRASHER -SPEAR -WAGGONER -SHELLEY -ROBERT -QUALLS -PURDY -MCWHORTER -MAULDIN -MARK -JORDON -GILMAN -PERRYMAN -NEWSOM -MENARD -MARTINO -GRAF -BILLINGSLEY -ARTIS -SIMPKINS -SALISBURY -QUINTANILLA -GILLILAND -FRALEY -FOUST -CROUSE -SCARBOROUGH -NGO -GRISSOM -FULTZ -RICO -MARLOW -MARKHAM -MADRIGAL -LAWTON -BARFIELD -WHITING -VARNEY -SCHWARZ -HUEY -GOOCH -ARCE -WHEAT -TRUONG -POULIN -MACKENZIE -LEONE -HURTADO -SELBY -GAITHER -FORTNER -CULPEPPER -COUGHLIN -BRINSON -BOUDREAU -BARKLEY -BALES -STEPP -HOLM -TAN -SCHILLING -MORRELL -KAHN -HEATON -GAMEZ -DOUGLASS -CAUSEY -BROTHERS -TURPIN -SHANKS -SCHRADER -MEEK -ISOM -HARDISON -CARRANZA -YANEZ -WAY -SCROGGINS -SCHOFIELD -RUNYON -RATCLIFF -MURRELL -MOELLER -IRBY -CURRIER -BUTTERFIELD -YEE -RALSTON -PULLEN -PINSON -ESTEP -EAST -CARBONE -LANCE -HAWKS -ELLINGTON -CASILLAS -SPURLOCK -SIKES -MOTLEY -MCCARTNEY -KRUGER -ISBELL -HOULE -FRANCISCO -BURK -BONE -TOMLIN -SHELBY -QUIGLEY -NEUMANN -LOVELACE -FENNELL -COLBY -CHEATHAM -BUSTAMANTE -SKIDMORE -HIDALGO -FORMAN -CULP -BOWENS -BETANCOURT -AQUINO -ROBB -REA -MILNER -MARTEL -GRESHAM -WILES -RICKETTS -GAVIN -DOWD -COLLAZO -BOSTIC -BLAKELY -SHERROD -POWER -KENYON -GANDY -EBERT -DELOACH -CARY -BULL -ALLARD -SAUER -ROBINS -OLIVARES -GILLETTE -CHESTNUT -BOURQUE -PAINE -LYMAN -HITE -HAUSER -DEVORE -CRAWLEY -CHAPA -VU -TOBIAS -TALBERT -POINDEXTER -MILLARD -MEADOR -MCDUFFIE -MATTOX -KRAUS -HARKINS -CHOATE -BESS -WREN -SLEDGE -SANBORN -OUTLAW -KINDER -GEARY -CORNWELL -BARCLAY -ADAM -ABNEY -SEWARD -RHOADS -HOWLAND -FORTIER -EASTER -BENNER -VINES -TUBBS -TROUTMAN -RAPP -NOE -MCCURDY -HARDER -DELUCA -WESTMORELAND -SOUTH -HAVENS -GUAJARDO -ELY -CLARY -SEAL -MEEHAN -HERZOG -GUILLEN -ASHCRAFT -WAUGH -RENNER -MILAM -JUNG -ELROD -CHURCHILL -BUFORD -BREAUX -BOLIN -ASHER -WINDHAM -TIRADO -PEMBERTON -NOLEN -NOLAND -KNOTT -EMMONS -CORNISH -CHRISTENSON -BROWNLEE -BARBEE -WALDROP -PITT -OLVERA -LOMBARDI -GRUBER -GAFFNEY -EGGLESTON -BANDA -ARCHULETA -STILL -SLONE -PREWITT -PFEIFFER -NETTLES -MENA -MCADAMS -HENNING -GARDINER -CROMWELL -CHISHOLM -BURLESON -BOX -VEST -OGLESBY -MCCARTER -MALCOLM -LUMPKIN -LARUE -GREY -WOFFORD -VANHORN -THORN -TEEL -SWAFFORD -STCLAIR -STANFIELD -OCAMPO -HERRMANN -HANNON -ARSENAULT -ROUSH -MCALISTER -HIATT -GUNDERSON -FORSYTHE -DUGGAN -DELVALLE -CINTRON -WILKS -WEINSTEIN -URIBE -RIZZO -NOYES -MCLENDON -GURLEY -BETHEA -WINSTEAD -MAPLES -HARRY -GUYTON -GIORDANO -ALDERMAN -VALDES -POLANCO -PAPPAS -LIVELY -GROGAN -GRIFFITHS -BOBO -AREVALO -WHITSON -SOWELL -RENDON -MATTHEW -JULIAN -FERNANDES -FARROW -EDMOND -BENAVIDEZ -AYRES -ALICEA -STUMP -SMALLEY -SEITZ -SCHULTE -GILLEY -GALLANT -DEWEY -CASPER -CANFIELD -WOLFORD -OMALLEY -MCNUTT -MCNULTY -MCGOVERN -HARDMAN -HARBIN -COWART -CHAVARRIA -BRINK -BECKETT -BAGWELL -ARMSTEAD -ANGLIN -ABREU -REYNOSO -KREBS -JETT -HOFFMANN -GREENFIELD -FORTE -BURNEY -BROOME -SISSON -PARENT -JUDE -YOUNGER -TRAMMELL -PARTRIDGE -MARVIN -MACE -LOMAX -LEMIEUX -GOSSETT -FRANTZ -FOGLE -COONEY -BROUGHTON -PENCE -PAULSEN -NEIL -MUNCY -MCARTHUR -HOLLINS -EDWARD -BEAUCHAMP -WITHERS -OSORIO -MULLIGAN -HOYLE -FOY -DOCKERY -COCKRELL -BEGLEY -AMADOR -ROBY -RAINS -LINDQUIST -GENTILE -EVERHART -BOHANNON -WYLIE -THAO -SOMMERS -PURNELL -PALMA -FORTIN -DUNNING -BREEDEN -VAIL -PHELAN -PHAN -MARX -COSBY -COLBURN -CHONG -BOLING -BIDDLE -LEDESMA -GADDIS -DENNEY -CHOW -BUENO -BERRIOS -WICKER -TOLLIVER -THIBODEAUX -NAGLE -LAVOIE -FISK -DO -CRIST -BARBOSA -REEDY -MARCH -LOCKLEAR -KOLB -HIMES -BEHRENS -BECKWITH -BECKHAM -WEEMS -WAHL -SHORTER -SHACKELFORD -REES -MUSE -FREE -CERDA -VALADEZ -THIBODEAU -SAAVEDRA -RIDGEWAY -REITER -MCHENRY -MAJORS -LACHANCE -KEATON -ISRAEL -FERRARA -FALCON -CLEMENS -BLOCKER -APPLEGATE -PAZ -NEEDHAM -MOJICA -KUYKENDALL -HAMEL -ESCAMILLA -DOUGHTY -BURCHETT -AINSWORTH -WILBUR -VIDAL -UPCHURCH -THIGPEN -STRAUSS -SPRUILL -SOWERS -RIGGINS -RICKER -MCCOMBS -HARLOW -GARNETT -BUFFINGTON -YI -SOTELO -OLIVAS -NEGRETE -MOREY -MACON -LOGSDON -LAPOINTE -FLORENCE -CATHEY -BIGELOW -BELLO -WESTFALL -STUBBLEFIELD -PEAK -LINDLEY -JEFFREY -HEIN -HAWES -FARRINGTON -EDGE -BREEN -BIRCH -WILDE -STEED -SEPULVEDA -REINHARDT -PROFFITT -MINTER -MESSINA -MCNABB -MAIER -KEELER -GAMBOA -DONOHUE -DEXTER -BASHAM -SHINN -ORLANDO -CROOKS -COTA -BORDERS -BILLS -BACHMAN -TISDALE -TAVARES -SCHMID -PICKARD -JASPER -GULLEY -FONSECA -DELOSSANTOS -CONDON -CLANCY -BATISTA -WICKS -WADSWORTH -NEW -MARTELL -LO -LITTLETON -ISON -HAAG -FOLSOM -BRUMFIELD -BROYLES -BRITO -MIRELES -MCDONNELL -LECLAIR -HAMBLIN -GOUGH -FANNING -BINDER -WINFIELD -WHITWORTH -SORIANO -PALUMBO -NEWKIRK -MANGUM -HUTCHERSON -COMSTOCK -CECIL -CARLIN -BEALL -BAIR -WENDT -WATTERS -WALLING -PUTMAN -OTOOLE -OLIVA -MORLEY -MARES -LEMUS -KEENER -JEFFERY -HUNDLEY -DIAL -DAMICO -BILLUPS -STROTHER -MCFARLANE -LAMM -EAVES -CRUTCHER -CARABALLO -CANTY -ATWELL -TAFT -SILER -RUST -RAWLS -RAWLINGS -PRIETO -NILES -MCNEELY -MCAFEE -HULSEY -HARLAN -HACKNEY -GALVEZ -ESCALANTE -DELAGARZA -CRIDER -CHARLTON -BANDY -WILBANKS -STOWE -STEINBERG -SAMSON -RENFRO -MASTERSON -MASSIE -LANHAM -HASKELL -HAMRICK -FORT -DEHART -CARD -BURDETTE -BRANSON -BOURNE -BABIN -ALEMAN -WORTHY -TIBBS -SWEAT -SMOOT -SLACK -PARADIS -PACKARD -MULL -LUCE -HOUGHTON -GANTT -FURMAN -DANNER -CHRISTIANSON -BURGE -BRODERICK -ASHFORD -ARNDT -ALMEIDA -STALLWORTH -SHADE -SEARCY -SAGER -NOONAN -MCLEMORE -MCINTIRE -MAXEY -LAVIGNE -JOBE -IRELAND -FERRER -FALK -EDGAR -COFFIN -BYRNES -ARANDA -APODACA -STAMPS -ROUNDS -PEEK -OLMSTEAD -LEWANDOWSKI -KAMINSKI -HER -DUNAWAY -BRUNS -BRACKETT -AMATO -REICH -MCCLUNG -LACROIX -KOONTZ -HERRICK -HARDESTY -FLANDERS -COUSINS -CLOSE -CATO -CADE -VICKERY -SHANK -NAGEL -DUPUIS -CROTEAU -COTTER -CABLE -STUCKEY -STINE -PORTERFIELD -PAULEY -NYE -MOFFITT -LU -KNUDSEN -HARDWICK -GOFORTH -DUPONT -BLUNT -BARROWS -BARNHILL -SHULL -RASH -RALPH -PENNY -LORENZO -LOFTIS -LEMAY -KITCHENS -HORVATH -GRENIER -FUCHS -FAIRBANKS -CULBERTSON -CALKINS -BURNSIDE -BEATTIE -ASHWORTH -ALBERTSON -WERTZ -VO -VAUGHT -VALLEJO -TYREE -TURK -TUCK -TIJERINA -SAGE -PICARD -PETERMAN -OTIS -MARROQUIN -MARR -LANTZ -HOANG -DEMARCO -DAILY -CONE -BERUBE -BARNETTE -WHARTON -STINNETT -SLOCUM -SCANLON -SANDER -PINTO -MANCUSO -LIMA -JUDGE -HEADLEY -EPSTEIN -COUNTS -CLARKSON -CARNAHAN -BRICE -BOREN -ARTEAGA -ADAME -ZOOK -WHITTLE -WHITEHURST -WENZEL -SAXTON -RHEA -REDDICK -PUENTE -HAZEL -HANDLEY -HAGGERTY -EARLEY -DEVLIN -DALLAS -CHAFFIN -CADY -AHMED -ACUNA -SOLANO -SIGLER -POLLACK -PENDERGRASS -OSTRANDER -JANES -FRANCOIS -FINE -CRUTCHFIELD -CORDELL -CHAMBERLIN -BRUBAKER -BAPTISTE -WILLSON -REIS -NEELEY -MULLIN -MERCIER -LIRA -LAYMAN -KEELING -HIGDON -GUEST -FORRESTER -ESPINAL -DION -CHAPIN -CARL -WARFIELD -TOLEDO -PULIDO -PEEBLES -NAGY -MONTAGUE -MELLO -LEAR -JAEGER -HOGG -GRAFF -FURR -DERRICK -CAVE -CANADA -SOLIZ -POORE -MENDENHALL -MCLAURIN -MAESTAS -LOW -GABLE -BELT -BARRAZA -TILLERY -SNEAD -POND -NEILL -MCCULLOCH -MCCORKLE -LIGHTFOOT -HUTCHINGS -HOLLOMAN -HARNESS -DORN -COUNCIL -BOCK -ZIELINSKI -TURLEY -TREADWELL -STPIERRE -STARLING -SOMERS -OSWALD -MERRICK -MARQUIS -IVORY -EASTERLING -BIVENS -TRUITT -POSTON -PARRY -ONTIVEROS -OLIVAREZ -NEVILLE -MOREAU -MEDLIN -MA -LENZ -KNOWLTON -FAIRLEY -COBBS -CHISOLM -BANNISTER -WOODWORTH -TOLER -OCASIO -NORIEGA -NEUMAN -MOYE -MILBURN -MCCLANAHAN -LILLEY -HANES -FLANNERY -DELLINGER -DANIELSON -CONTI -BLODGETT -BEERS -WEATHERFORD -STRAIN -KARR -HITT -DENHAM -CUSTER -COBLE -CLOUGH -CASTEEL -BOLDUC -BATCHELOR -AMMONS -WHITLOW -TIERNEY -STATEN -SIBLEY -SEIFERT -SCHUBERT -SALCEDO -MATTISON -LANEY -HAGGARD -GROOMS -DIX -DEES -CROMER -COOKS -COLSON -CASWELL -ZARATE -SWISHER -STACEY -SHIN -RAGAN -PRIDGEN -MCVEY -MATHENY -LEIGH -LAFLEUR -FRANZ -FERRARO -DUGGER -WHITESIDE -RIGSBY -MCMURRAY -LEHMANN -LARGE -JACOBY -HILDEBRAND -HENDRICK -HEADRICK -GOAD -FINCHER -DRURY -BORGES -ARCHIBALD -ALBERS -WOODCOCK -TRAPP -SOARES -SEATON -RICHIE -MONSON -LUCKETT -LINDBERG -KOPP -KEETON -HSU -HEALEY -GARVEY -GADDY -FAIN -BURCHFIELD -BADGER -WENTWORTH -STRAND -STACK -SPOONER -SAUCIER -SALES -RUBY -RICCI -PLUNKETT -PANNELL -NESS -LEGER -HOY -FREITAS -FONG -ELIZONDO -DUVAL -CHUN -CALVIN -BEAUDOIN -URBINA -STOCK -RICKARD -PARTIN -MOE -MCGREW -MCCLINTOCK -LEDOUX -FORSYTH -FAISON -DEVRIES -BERTRAND -WASSON -TILTON -SCARBROUGH -PRIDE -OH -LEUNG -LARRY -IRVINE -GARBER -DENNING -CORRAL -COLLEY -CASTLEBERRY -BOWLIN -BOGAN -BEALE -BAINES -TRUE -TRICE -RAYBURN -PARKINSON -PAK -NUNES -MCMILLEN -LEAHY -LEA -KIMMEL -HIGGS -FULMER -CARDEN -BEDFORD -TAGGART -SPEARMAN -REGISTER -PRICHARD -MORRILL -KOONCE -HEINZ -HEDGES -GUENTHER -GRICE -FINDLEY -EARLE -DOVER -CREIGHTON -BOOTHE -BAYER -ARREOLA -VITALE -VALLES -SEE -RANEY -PETER -OSGOOD -LOWELL -HANLON -BURLEY -BOUNDS -WORDEN -WEATHERLY -VETTER -TANAKA -STILTNER -SELL -NEVAREZ -MOSBY -MONTERO -MELANCON -HARTER -HAMER -GOBLE -GLADDEN -GIST -GINN -AKIN -ZARAGOZA -TOWNS -TARVER -SAMMONS -ROYSTER -OREILLY -MUIR -MOREHEAD -LUSTER -KINGSLEY -KELSO -GRISHAM -GLYNN -BAUMANN -ALVES -YOUNT -TAMAYO -TAM -PATERSON -OATES -MENENDEZ -LONGO -HARGIS -GREENLEE -GILLEN -DESANTIS -CONOVER -BREEDLOVE -WAYNE -SUMPTER -SCHERER -RUPP -REICHERT -HEREDIA -FALLON -CREEL -COHN -CLEMMONS -CASAS -BICKFORD -BELTON -BACH -WILLIFORD -WHITCOMB -TENNANT -SUTTER -STULL -SESSIONS -MCCALLUM -MANSON -LANGLOIS -KEEL -KEEGAN -EMANUEL -DANGELO -DANCY -DAMRON -CLAPP -CLANTON -BANKSTON -TRINIDAD -OLIVEIRA -MINTZ -MCINNIS -MARTENS -MABE -LASTER -JOLLEY -IRISH -HILDRETH -HEFNER -GLASER -DUCKETT -DEMERS -BROCKMAN -BLAIS -BACK -ALCORN -AGNEW -TOLIVER -TICE -SONG -SEELEY -NAJERA -MUSSER -MCFALL -LAPLANTE -GALVIN -FAJARDO -DOAN -COYNE -COPLEY -CLAWSON -CHEUNG -BARONE -WYNNE -WOODLEY -TREMBLAY -STOLL -SPARROW -SPARKMAN -SCHWEITZER -SASSER -SAMPLES -RONEY -RAMON -LEGG -LAI -JOE -HEIM -FARIAS -CONCEPCION -COLWELL -CHRISTMAN -BRATCHER -ALBA -WINCHESTER -UPSHAW -SOUTHERLAND -SORRELL -SHAY -SELLS -MOUNT -MCCLOSKEY -MARTINDALE -LUTTRELL -LOVELESS -LOVEJOY -LINARES -LATIMER -HOLLY -EMBRY -COOMBS -BRATTON -BOSTICK -BOSS -VENABLE -TUGGLE -TORO -STAGGS -SANDLIN -JEFFERIES -HECKMAN -GRIFFIS -CRAYTON -CLEM -BUTTON -BROWDER -ALLAN -THORTON -STURGILL -SPROUSE -ROYER -ROUSSEAU -RIDENOUR -POGUE -PERALES -PEEPLES -METZLER -MESA -MCCUTCHEON -MCBEE -JAY -HORNSBY -HEFFNER -CORRIGAN -ARMIJO -VUE -ROMEO -PLANTE -PEYTON -PAREDES -MACKLIN -HUSSEY -HODGSON -GRANADOS -FRIAS -CARMAN -BRENT -BECNEL -BATTEN -ALMANZA -TURNEY -TEAL -STURGEON -MEEKER -MCDANIELS -LIMON -KEENEY -KEE -HUTTO -HOLGUIN -GORHAM -FISHMAN -FIERRO -BLANCHETTE -RODRIGUE -REDDY -OSBURN -ODEN -LERMA -KIRKWOOD -KEEFER -HAUGEN -HAMMETT -CHALMERS -CARLOS -BRINKMAN -BAUMGARTNER -ZHANG -VALERIO -TELLEZ -STEFFEN -SHUMATE -SAULS -RIPLEY -KEMPER -JACKS -GUFFEY -EVERS -CRADDOCK -CARVALHO -BLAYLOCK -BANUELOS -BALDERAS -WOODEN -WHEATON -TURNBULL -SHUMAN -POINTER -MOSIER -MCCUE -LIGON -KOZLOWSKI -JOHANSEN -INGLE -HERR -BRIONES -SOUTHERN -SNIPES -RICKMAN -PIPKIN -PEACE -PANTOJA -OROSCO -MONIZ -LAWLESS -KUNKEL -HIBBARD -GALARZA -ENOS -BUSSEY -SETTLE -SCHOTT -SALCIDO -PERREAULT -MCDOUGAL -MCCOOL -HAIGHT -GARRIS -FERRY -EASTON -CONYERS -ATHERTON -WIMBERLY -UTLEY -STEPHEN -SPELLMAN -SMITHSON -SLAGLE -SKIPPER -RITCHEY -RAND -PETIT -OSULLIVAN -OAKS -NUTT -MCVAY -MCCREARY -MAYHEW -KNOLL -JEWETT -HARWOOD -HAILEY -CARDOZA -ASHE -ARRIAGA -ANDRES -ZELLER -WIRTH -WHITMIRE -STAUFFER -SPRING -ROUNTREE -REDDEN -MCCAFFREY -MARTZ -LOVING -LAROSE -LANGDON -HUMES -GASKIN -FABER -DOLL -DEVITO -CASS -ALMOND -WINGFIELD -WINGATE -VILLAREAL -TYNER -SMOTHERS -SEVERSON -RENO -PENNELL -MAUPIN -LEIGHTON -JANSSEN -HASSELL -HALLMAN -HALCOMB -FOLSE -FITZSIMMONS -FAHEY -CRANFORD -BOLEN -BATTLES -BATTAGLIA -WOOLDRIDGE -WEED -TRASK -ROSSER -REGALADO -MCEWEN -KEEFE -FUQUA -ECHEVARRIA -DOMINGO -DANG -CARO -BOYNTON -ANDRUS -WILD -VIERA -VANMETER -TABER -SPRADLIN -SEIBERT -PROVOST -PRENTICE -OLIPHANT -LAPORTE -HWANG -HATCHETT -HASS -GREINER -FREEDMAN -COVERT -CHILTON -BYARS -WIESE -VENEGAS -SWANK -SHRADER -RODERICK -ROBERGE -MULLIS -MORTENSEN -MCCUNE -MARLOWE -KIRCHNER -KECK -ISAACSON -HOSTETLER -HALVERSON -GUNTHER -GRISWOLD -GERARD -FENNER -DURDEN -BLACKWOOD -BERTRAM -AHRENS -SAWYERS -SAVOY -NABORS -MCSWAIN -MACKAY -LOY -LAVENDER -LASH -LABBE -JESSUP -HUBERT -FULLERTON -DONNELL -CRUSE -CRITTENDEN -CORREIA -CENTENO -CAUDLE -CANADY -CALLENDER -ALARCON -AHERN -WINFREY -TRIBBLE -TOM -STYLES -SALLEY -RODEN -MUSGROVE -MINNICK -FORTENBERRY -CARRION -BUNTING -BETHEL -BATISTE -WOO -WHITED -UNDERHILL -STILLWELL -SILVIA -RAUCH -PIPPIN -PERRIN -MESSENGER -MANCINI -LISTER -KINARD -HARTMANN -FLECK -BROADWAY -WILT -TREADWAY -THORNHILL -SPEED -SPALDING -SAM -RAFFERTY -PITRE -PATINO -ORDONEZ -LINKOUS -KELLEHER -HOMAN -HOLIDAY -GALBRAITH -FEENEY -DORRIS -CURTIN -COWARD -CAMARILLO -BUSS -BUNNELL -BOLT -BEELER -AUTRY -ALCALA -WITTE -WENTZ -STIDHAM -SHIVELY -NUNLEY -MEACHAM -MARTINS -LEMKE -LEFEBVRE -KAYE -HYNES -HOROWITZ -HOPPE -HOLCOMBE -ESTRELLA -DUNNE -DERR -COCHRANE -BRITTAIN -BEDARD -BEAUREGARD -TORRENCE -STRUNK -SORIA -SIMONSON -SHUMAKER -SCOGGINS -PACKER -OCONNER -MORIARTY -LEROY -KUNTZ -IVES -HUTCHESON -HORAN -HALES -GARMON -FITTS -DELL -BOHN -ATCHISON -WORTH -WISNIEWSKI -WILL -VANWINKLE -STURM -SALLEE -PROSSER -MOEN -LUNDBERG -KUNZ -KOHL -KEANE -JORGENSON -JAYNES -FUNDERBURK -FREED -FRAME -DURR -CREAMER -COSGROVE -CANDELARIA -BERLIN -BATSON -VANHOOSE -THOMSEN -TEETER -SOMMER -SMYTH -SENA -REDMON -ORELLANA -MANESS -LENNON -HEFLIN -GOULET -FRICK -FORNEY -DOLLAR -BUNKER -ASBURY -AGUIAR -TALBOTT -SOUTHARD -PLEASANT -MOWERY -MEARS -LEMMON -KRIEGER -HICKSON -GRACIA -ELSTON -DUONG -DELGADILLO -DAYTON -DASILVA -CONAWAY -CATRON -BRUTON -BRADBURY -BORDELON -BIVINS -BITTNER -BERGSTROM -BEALS -ABELL -WHELAN -TRAVERS -TEJADA -PULLEY -PINO -NORFLEET -NEALY -MAES -LOPER -HELD -GERALD -GATEWOOD -FRIERSON -FREUND -FINNEGAN -CUPP -COVEY -CATALANO -BOEHM -BADER -YOON -WALSTON -TENNEY -SIPES -ROLLER -RAWLINS -MEDLOCK -MCCASKILL -MCCALLISTER -MARCOTTE -MACLEAN -HUGHEY -HENKE -HARWELL -GLADNEY -GILSON -DEW -CHISM -CASKEY -BRANDENBURG -BAYLOR -VILLASENOR -VEAL -VAN -THATCHER -STEGALL -SHORE -PETRIE -NOWLIN -NAVARRETE -MUHAMMAD -LOMBARD -LOFTIN -LEMASTER -KROLL -KOVACH -KIMBRELL -KIDWELL -HERSHBERGER -FULCHER -ENG -CANTWELL -BUSTOS -BOLAND -BOBBITT -BINKLEY -WESTER -WEIS -VERDIN -TONG -TILLER -SISCO -SHARKEY -SEYMORE -ROSENBAUM -ROHR -QUINONEZ -PINKSTON -NATION -MALLEY -LOGUE -LESSARD -LERNER -LEBRON -KRAUSS -KLINGER -HALSTEAD -HALLER -GETZ -BURROW -BRANT -ALGER -VICTOR -SHORES -SCULLY -POUNDS -PFEIFER -PERRON -NELMS -MUNN -MCMASTER -MCKENNEY -MANNS -KNUDSON -HUTCHENS -HUSKEY -GOEBEL -FLAGG -CUSHMAN -CLICK -CASTELLANO -CARDER -BUMGARNER -BLAINE -BIBLE -WAMPLER -SPINKS -ROBSON -NEEL -MCREYNOLDS -MATHIAS -MAAS -LOERA -KASPER -JOSE -JENSON -FLOREZ -COONS -BUCKINGHAM -BROGAN -BERRYMAN -WILMOTH -WILHITE -THRASH -SHEPHARD -SEIDEL -SCHULZE -ROLDAN -PETTIS -OBRYAN -MAKI -MACKIE -HATLEY -FRAZER -FIORE -FALLS -CHESSER -BUI -BOTTOMS -BISSON -BENEFIELD -ALLMAN -WILKE -TRUDEAU -TIMM -SHIFFLETT -RAU -MUNDY -MILLIKEN -MAYERS -LEAKE -KOHN -HUNTINGTON -HORSLEY -HERMANN -GUERIN -FRYER -FRIZZELL -FORET -FLEMMING -FIFE -CRISWELL -CARBAJAL -BOZEMAN -BOISVERT -ARCHIE -ANTONIO -ANGULO -WALLEN -TAPP -SILVERS -RAMSAY -OSHEA -ORTA -MOLL -MCKEEVER -MCGEHEE -LUCIANO -LINVILLE -KIEFER -KETCHUM -HOWERTON -GROCE -GAYLORD -GASS -FUSCO -CORBITT -BLYTHE -BETZ -BARTELS -AMARAL -AIELLO -YOO -WEDDLE -TROY -SUN -SPERRY -SEILER -RUNYAN -RALEY -OVERBY -OSTEEN -OLDS -MCKEOWN -MAURO -MATNEY -LAUER -LATTIMORE -HINDMAN -HARTWELL -FREDRICKSON -FREDERICKS -ESPINO -CLEGG -CARSWELL -CAMBELL -BURKHOLDER -AUGUST -WOODBURY -WELKER -TOTTEN -THORNBURG -THERIAULT -STITT -STAMM -STACKHOUSE -SIMONE -SCHOLL -SAXON -RIFE -RAZO -QUINLAN -PINKERTON -OLIVO -NESMITH -NALL -MATTOS -LEAK -LAFFERTY -JUSTUS -GIRON -GEER -FIELDER -EAGLE -DRAYTON -DORTCH -CONNERS -CONGER -CHAU -BOATWRIGHT -BILLIOT -BARDEN -ARMENTA -ANTOINE -TIBBETTS -STEADMAN -SLATTERY -SIDES -RINALDI -RAYNOR -RAYFORD -PINCKNEY -PETTIGREW -NICKEL -MILNE -MATTESON -HALSEY -GONSALVES -FELLOWS -DURAND -DESIMONE -COWLEY -COWLES -BRILL -BARHAM -BARELA -BARBA -ASHMORE -WITHROW -VALENTI -TEJEDA -SPRIGGS -SAYRE -SALERNO -PLACE -PELTIER -PEEL -MERRIMAN -MATHESON -LOWMAN -LINDSTROM -HYLAND -HOMER -HA -GIROUX -FRIES -FRASIER -EARLS -DUGAS -DAMON -DABNEY -COLLADO -BRISENO -BAXLEY -ANDRE -WORD -WHYTE -WENGER -VANOVER -VANBUREN -THIEL -SCHINDLER -SCHILLER -RIGBY -POMEROY -PASSMORE -MARBLE -MANZO -MAHAFFEY -LINDGREN -LAFLAMME -GREATHOUSE -FITE -FERRARI -CALABRESE -BAYNE -YAMAMOTO -WICK -TOWNES -THAMES -STEEL -REINHART -PEELER -NARANJO -MONTEZ -MCDADE -MAST -MARKLEY -MARCHAND -LEEPER -KONG -KELLUM -HUDGENS -HENNESSEY -HADDEN -GUESS -GAINEY -COPPOLA -BORREGO -BOLLING -BEANE -AULT -SLATON -POLAND -PAPE -NULL -MULKEY -LIGHTNER -LANGER -HILLARD -GLASGOW -FABIAN -ETHRIDGE -ENRIGHT -DEROSA -BASKIN -ALFRED -WEINBERG -TURMAN -TINKER -SOMERVILLE -PARDO -NOLL -LASHLEY -INGRAHAM -HILLER -HENDON -GLAZE -FLORA -COTHRAN -COOKSEY -CONTE -CARRICO -APPLE -ABNER -WOOLEY -SWOPE -SUMMERLIN -STURGIS -STURDIVANT -STOTT -SPURGEON -SPILLMAN -SPEIGHT -ROUSSEL -POPP -NUTTER -MCKEON -MAZZA -MAGNUSON -LANNING -KOZAK -JANKOWSKI -HEYWARD -FORSTER -CORWIN -CALLAGHAN -BAYS -WORTHAM -USHER -THERIOT -SAYERS -SABO -RUPERT -POLING -NATHAN -LOYA -LIEBERMAN -LEVI -LAROCHE -LABELLE -HOWES -HARR -GARAY -FOGARTY -EVERSON -DURKIN -DOMINQUEZ -CHAVES -CHAMBLISS -ALFONSO -WITCHER -WILBER -VIEIRA -VANDIVER -TERRILL -STOKER -SCHREINER -NESTOR -MOORMAN -LIDDELL -LEW -LAWHORN -KRUG -IRONS -HYLTON -HOLLENBECK -HERRIN -HEMBREE -HAIR -GOOLSBY -GOODIN -GILMER -FOLTZ -DINKINS -DAUGHTRY -CABAN -BRIM -BRILEY -BILODEAU -BEAR -WYANT -VERGARA -TALLENT -SWEARINGEN -STROUP -SHERRY -SCRIBNER -ROGER -QUILLEN -PITMAN -MONACO -MCCANTS -MAXFIELD -MARTINSON -LANDON -HOLTZ -FLOURNOY -BROOKINS -BRODY -BAUMGARDNER -ANGELO -STRAUB -SILLS -ROYBAL -ROUNDTREE -OSWALT -MONEY -MCGRIFF -MCDOUGALL -MCCLEARY -MAGGARD -GRAGG -GOODING -GODINEZ -DOOLITTLE -DONATO -COWELL -CASSELL -BRACKEN -APPEL -AHMAD -ZAMBRANO -REUTER -PEREA -OLIVE -NAKAMURA -MONAGHAN -MICKENS -MCCLINTON -MCCLARY -MARLER -KISH -JUDKINS -GILBREATH -FREESE -FLANIGAN -FELTS -ERDMANN -DODDS -CHEW -BROWNELL -BRAZIL -BOATRIGHT -BARRETO -SLAYTON -SANDBERG -SALDIVAR -PETTWAY -ODUM -NARVAEZ -MOULTRIE -MONTEMAYOR -MERRELL -LEES -KEYSER -HOKE -HARDAWAY -HANNAN -GILBERTSON -FOGG -DUMONT -DEBERRY -COGGINS -CARRERA -BUXTON -BUCHER -BROADNAX -BEESON -ARAUJO -APPLETON -AMUNDSON -AGUAYO -ACKLEY -YOCUM -WORSHAM -SHIVERS -SHELLY -SANCHES -SACCO -ROBEY -RHODEN -PENDER -OCHS -MCCURRY -MADERA -LUONG -LUIS -KNOTTS -JACKMAN -HEINRICH -HARGRAVE -GAULT -FOREST -COMEAUX -CHITWOOD -CHILD -CARAWAY -BOETTCHER -BERNHARDT -BARRIENTOS -ZINK -WICKHAM -WHITEMAN -THORP -STILLMAN -SETTLES -SCHOONOVER -ROQUE -RIDDELL -REY -PILCHER -PHIFER -NOVOTNY -MAPLE -MACLEOD -HARDEE -HAASE -GRIDER -FREDRICK -EARNEST -DOUCETTE -CLAUSEN -CHRISTMAS -BEVINS -BEAMON -BADILLO -TOLLEY -TINDALL -SOULE -SNOOK -SEBASTIAN -SEALE -PITCHER -PINKNEY -PELLEGRINO -NOWELL -NEMETH -NAIL -MONDRAGON -MCLANE -LUNDGREN -INGALLS -HUDSPETH -HIXSON -GEARHART -FURLONG -DOWNES -DIONNE -DIBBLE -DEYOUNG -CORNEJO -CAMARA -BROOKSHIRE -BOYETTE -WOLCOTT -TRACEY -SURRATT -SELLARS -SEGAL -SALYER -REEVE -RAUSCH -PHILIPS -LABONTE -HARO -GOWER -FREELAND -FAWCETT -EADS -DRIGGERS -DONLEY -COLLETT -CAGE -BROMLEY -BOATMAN -BALLINGER -BALDRIDGE -VOLZ -TROMBLEY -STONGE -SILAS -SHANAHAN -RIVARD -RHYNE -PEDROZA -MATIAS -MALLARD -JAMIESON -HEDGEPETH -HARTNETT -ESTEVEZ -ESKRIDGE -DENMAN -CHIU -CHINN -CATLETT -CARMACK -BUIE -BOOK -BECHTEL -BEARDSLEY -BARD -BALLOU -WINDSOR -ULMER -STORM -SKEEN -ROBLEDO -RINCON -REITZ -PIAZZA -PEARL -MUNGER -MOTEN -MCMICHAEL -LOFTUS -LEDET -KERSEY -GROFF -FOWLKES -FOLK -CRUMPTON -COLLETTE -CLOUSE -BETTIS -VILLAGOMEZ -TIMMERMAN -STROM -SAUL -SANTORO -RODDY -PHILLIP -PENROD -MUSSELMAN -MACPHERSON -LEBOEUF -HARLESS -HADDAD -GUIDO -GOLDING -FULKERSON -FANNIN -DULANEY -DOWDELL -DEANE -COTTLE -CEJA -CATE -BOSLEY -BENGE -ALBRITTON -VOIGT -TROWBRIDGE -SOILEAU -SEELY -ROME -ROHDE -PEARSALL -PAULK -ORTH -NASON -MOTA -MCMULLIN -MARQUARDT -MADIGAN -HOAG -GILLUM -GAYLE -GABBARD -FENWICK -FENDER -ECK -DANFORTH -CUSHING -CRESS -CREED -CAZARES -CASANOVA -BEY -BETTENCOURT -BARRINGER -BABER -STANSBERRY -SCHRAMM -RUTTER -RIVERO -RACE -OQUENDO -NECAISE -MOUTON -MONTENEGRO -MILEY -MCGOUGH -MARRA -MACMILLAN -LOCK -LAMONTAGNE -JASSO -JAIME -HORST -HETRICK -HEILMAN -GAYTAN -GALL -FRIED -FORTNEY -EDEN -DINGLE -DESJARDINS -DABBS -BURBANK -BRIGHAM -BRELAND -BEAMAN -BANNER -ARRIOLA -YARBOROUGH -WALLIN -TREAT -TOSCANO -STOWERS -REISS -PICHARDO -ORTON -MITCHEL -MICHELS -MCNAMEE -MCCRORY -LEATHERMAN -KELL -KEISTER -JEROME -HORNING -HARGETT -GUAY -FRIDAY -FERRO -DEBOER -DAGOSTINO -CLEMENTE -CHRIST -CARPER -BOWLER -BLANKS -BEAUDRY -WILLIE -TOWLE -TAFOYA -STRICKLIN -STRADER -SOPER -SONNIER -SIGMON -SCHENK -SADDLER -RODMAN -PEDIGO -MENDES -LUNN -LOHR -LAHR -KINGSBURY -JARMAN -HUME -HOLLIMAN -HOFMANN -HAWORTH -HARRELSON -HAMBRICK -FLICK -EDMUNDS -DACOSTA -CROSSMAN -COLSTON -CHAPLIN -CARRELL -BUDD -WEILER -WAITS -VIOLA -VALENTINO -TRANTHAM -TARR -STRAIGHT -SOLORIO -ROEBUCK -POWE -PLANK -PETTUS -PALM -PAGANO -MINK -LUKER -LEATHERS -JOSLIN -HARTZELL -GAMBRELL -FEARS -DEUTSCH -CEPEDA -CARTY -CAPUTO -BREWINGTON -BEDELL -BALLEW -APPLEWHITE -WARNOCK -WALZ -URENA -TUDOR -REEL -PIGG -PARTON -MICKELSON -MEAGHER -MCLELLAN -MCCULLEY -MANDEL -LEECH -LAVALLEE -KRAEMER -KLING -KIPP -KINGSTON -KEHOE -HOCHSTETLER -HARRIMAN -GREGOIRE -GRABOWSKI -GOSSELIN -GAMMON -FANCHER -EDENS -DESAI -BUTT -BRANNAN -ARMENDARIZ -WOOLSEY -WHITEHOUSE -WHETSTONE -USSERY -TOWNE -TOWER -TESTA -TALLMAN -STUDER -STRAIT -STEINMETZ -SORRELLS -SAUCEDA -ROLFE -RAE -PADDOCK -MITCHEM -MCGINN -MCCREA -LUCK -LOVATO -LING -HAZEN -GILPIN -GAYNOR -FIKE -DEVOE -DELRIO -CURIEL -BURKHARDT -BRISTOL -BODE -BACKUS -ALTON -ZINN -WATANABE -WACHTER -VANPELT -TURNAGE -SHANER -SCHRODER -SATO -RIORDAN -QUIMBY -PORTIS -NATALE -MCKOY -MCCOWN -MARKER -LUCIO -KILMER -KARL -HOTCHKISS -HESSE -HALBERT -GWINN -GODSEY -DESMOND -DELISLE -CHRISMAN -CANTER -BROOK -ARBOGAST -ANGELL -ACREE -YANCY -WOOLLEY -WESSON -WEATHERSPOON -TRAINOR -STOCKMAN -SPILLER -SIPE -ROOKS -REAVIS -PROPST -PORRAS -NEILSON -MULLENS -LOUCKS -LLEWELLYN -LAMONT -KUMAR -KOESTER -KLINGENSMITH -KIRSCH -KESTER -HONAKER -HODSON -HENNESSY -HELMICK -GARRITY -GARIBAY -FEE -DRAIN -CASAREZ -CALLIS -BOTELLO -BAY -AYCOCK -AVANT -ANGLE -WINGARD -WAYMAN -TULLY -THEISEN -SZYMANSKI -STANSBURY -SEGOVIA -RUDY -RAINWATER -PREECE -PIRTLE -PADRON -MINCEY -MCKELVEY -MATHES -MARTY -LARRABEE -KORNEGAY -KLUG -JUDY -INGERSOLL -HECHT -GERMAIN -EGGERS -DYKSTRA -DENIS -DEERING -DECOTEAU -DEASON -DEARING -COFIELD -CARRIGAN -BRUSH -BONHAM -BAHR -AUCOIN -APPLEBY -ALMONTE -YAGER -WOMBLE -WIMMER -WEIMER -VANDERPOOL -STANCIL -SPRINKLE -ROMINE -REMINGTON -PFAFF -PECKHAM -OLIVERA -MERAZ -MAZE -LATHROP -KOEHN -JONAS -HAZELTON -HALVORSON -HALLOCK -HADDOCK -DUCHARME -DEHAVEN -COLTON -CARUTHERS -BREHM -BOSWORTH -BOST -BLOW -BIAS -BEEMAN -BASILE -BANE -AIKENS -ZACHARY -WOLD -WALTHER -TABB -SUBER -STRAWN -STOCKS -STOCKER -SHIREY -SCHLOSSER -SALVADOR -RIEDEL -REMBERT -REIMER -PYLES -PICKLE -PEELE -MERRIWEATHER -LETOURNEAU -LATTA -KIDDER -HIXON -HILLIS -HIGHT -HERBST -HENRIQUEZ -HAYGOOD -HAMILL -GABEL -FRITTS -EUBANK -DUTY -DAWES -CORRELL -COFFEE -CHA -BUSHEY -BUCHHOLZ -BROTHERTON -BRIDGE -BOTTS -BARNWELL -AUGER -ATCHLEY -WESTPHAL -VEILLEUX -ULLOA -TRUMAN -STUTZMAN -SHRIVER -RYALS -PRIOR -PILKINGTON -NEWPORT -MOYERS -MIRACLE -MARRS -MANGRUM -MADDUX -LOCKARD -LAING -KUHL -HARNEY -HAMMOCK -HAMLETT -FELKER -DOERR -DEPRIEST -CARRASQUILLO -CAROTHERS -BOGLE -BLOOD -BISCHOFF -BERGEN -ALBANESE -WYCKOFF -VERMILLION -VANSICKLE -THIBAULT -TETREAULT -STICKNEY -SHOEMAKE -RUGGIERO -RAWSON -RACINE -PHILPOT -PASCHAL -MCELHANEY -MATHISON -LEGRAND -LAPIERRE -KWAN -KREMER -JILES -HILBERT -GEYER -FAIRCLOTH -EHLERS -EGBERT -DESROSIERS -DALRYMPLE -COTTEN -CASHMAN -CADENA -BREEDING -BOARDMAN -ALCARAZ -AHN -WYRICK -THERRIEN -TANKERSLEY -STRICKLER -PURYEAR -PLOURDE -PATTISON -PARDUE -MILAN -MCGINTY -MCEVOY -LANDRETH -KUHNS -KOON -HEWETT -GIDDENS -EVERETTE -EMERICK -EADES -DEANGELIS -COSME -CEBALLOS -BIRDSONG -BENHAM -BEMIS -ARMOUR -ANGUIANO -ANGELES -WELBORN -TSOSIE -STORMS -SHOUP -SESSOMS -SAMANIEGO -ROOD -ROJO -RHINEHART -RABY -NORTHCUTT -MYER -MUNGUIA -MOREHOUSE -MORE -MCDEVITT -MATEO -MALLETT -LOZADA -LEMOINE -KUEHN -HALLETT -GRIM -GILLARD -GAYLOR -GARMAN -GALLAHER -FEASTER -FARIS -DARROW -DARDAR -CONEY -CARREON -BYRON -BRAITHWAITE -BOYLAN -BOYETT -BORN -BIXLER -BIGHAM -BENFORD -BARRAGAN -BARNUM -ZUBER -WYCHE -WESTCOTT -VINING -STOLTZFUS -SIMONDS -SHUPE -SABIN -RUBLE -RITTENHOUSE -RICHMAN -PERRONE -MULHOLLAND -MILLAN -MEISTER -MATHEW -LOMELI -KITE -JEMISON -HULETT -HOLLER -HICKERSON -HEROLD -HAZELWOOD -GRIFFEN -GAUSE -FORDE -EISENBERG -DILWORTH -CHARRON -CHAISSON -BRODIE -BRISTOW -BREUNIG -BRACE -BOUTWELL -BENTZ -BELK -BAYLESS -BATCHELDER -BARAN -BAEZA -ZIMMERMANN -WEATHERSBY -VOLK -TOOLE -THEIS -TEDESCO -SHINE -SEARLE -SCHENCK -SATTERWHITE -SANDY -RUELAS -ROYCE -RANKINS -PARTIDA -NESBIT -MOREL -MENCHACA -LEVASSEUR -KAYLOR -JOHNSTONE -HULSE -HOLLAR -HERSEY -HARRIGAN -HARBISON -GUYER -GISH -GIESE -GERLACH -GELLER -GEISLER -FALCONE -ERNEST -ELWELL -DOUCET -DEESE -DARR -CORDER -CHAFIN -BYLER -BUSSELL -BURDETT -BRASHER -BOWE -BELLINGER -BASTIAN -BARNER -ALLEYNE -WILBORN -WEIL -WEGNER -WALES -TATRO -SPITZER -SMITHERS -SCHOEN -RESENDEZ -PETE -PARISI -OVERMAN -OBRIAN -MUDD -MOY -MCLAREN -MAHLER -MAGGIO -LINDNER -LALONDE -LACASSE -LABOY -KILLION -KAHL -JESSEN -JAMERSON -HOUK -HENSHAW -GUSTIN -GROOM -GRABER -DURST -DUENAS -DAVEY -CUNDIFF -CONLON -COLUNGA -COAKLEY -CHILES -CAPERS -BUELL -BRICKER -BISSONNETTE -BIRMINGHAM -BARTZ -BAGBY -ZAYAS -VOLPE -TREECE -TOOMBS -THOM -TERRAZAS -SWINNEY -SKILES -SILVEIRA -SHOUSE -SENN -RAMBO -RAMAGE -NEZ -MOUA -MARLIN -MALIK -LANGHAM -KYLES -HOLSTON -HOAGLAND -HERD -HECTOR -FELLER -EMORY -DENISON -CORLISS -CARRAWAY -BURFORD -BICKEL -AMBRIZ -ABERCROMBIE -YAMADA -WINNER -WEIDNER -WADDLE -VERDUZCO -THURMOND -SWINDLE -SCHROCK -SANABRIA -ROSENBERGER -PROBST -PEABODY -OLINGER -NEIGHBORS -NAZARIO -MCCAFFERTY -MCBROOM -MCABEE -MAZUR -MATHERNE -MAPES -LEVERETT -KILLINGSWORTH -HEISLER -GRIEGO -GRANDE -GOSNELL -FRANKEL -FRANKE -FERRANTE -FENN -ELMER -EHRLICH -CHRISTOPHERSO -CHICK -CHASSE -CHANCELLOR -CATON -BRUNELLE -BLY -BLOOMFIELD -BABBITT -AZEVEDO -ABRAMSON -ABLES -ABEYTA -YOUMANS -WOZNIAK -WAINWRIGHT -SUMMER -STOWELL -SMITHERMAN -SITES -SAMUELSON -RUNGE -RULE -ROTHMAN -ROSENFELD -QUAN -PEAKE -OXFORD -OWINGS -OLMOS -MUNRO -MOREIRA -LEATHERWOOD -LARKINS -KRANTZ -KOVACS -KIZER -KINDRED -KARNES -JAFFE -HUBBELL -HOSEY -HAUCK -HAROLD -GOODELL -FAVORS -ERDMAN -DVORAK -DOANE -CURETON -COFER -BUEHLER -BIERMAN -BERNDT -BANTA -ANNIS -ABRAM -ABDULLAH -WARWICK -WALTZ -TURCOTTE -TRINH -TORREY -STITH -SEGER -SACHS -QUESADA -PINDER -PEPPERS -PASCUAL -PASCHALL -PARKHURST -OZUNA -OSTER -NICHOLLS -MORTIMER -LHEUREUX -LAVALLEY -KIMURA -JABLONSKI -HAUN -GOURLEY -GILLIGAN -FIX -DERBY -CROY -COTTO -CARGILL -BURWELL -BURGETT -BUCKMAN -BRETT -BOOHER -ADORNO -WRENN -WHITTEMORE -URIAS -SZABO -SAYLES -SAIZ -RUTLAND -RAEL -PLANT -PHARR -PENNEY -PELKEY -OGRADY -NICKELL -MUSICK -MOATS -MATHER -MASSA -LAURENT -KIRSCHNER -KIEFFER -KELLAR -HENDERSHOT -GOTT -GODOY -GADSON -FURTADO -FIEDLER -ERSKINE -EDISON -DUTCHER -DEVER -DAGGETT -CHEVALIER -CHAO -BRAKE -BALLESTEROS -AMERSON -ALEJANDRO -WINGO -WALDON -TROTT -SPIKES -SILVEY -SHOWERS -SCHLEGEL -RUE -RITZ -PEPIN -PELAYO -PARSLEY -PALERMO -MOOREHEAD -MCHALE -LETT -KOCHER -KILBURN -IGLESIAS -HUMBLE -HULBERT -HUCKABY -HIX -HAVEN -HARTFORD -HARDIMAN -GURNEY -GRIGG -GRASSO -GOINGS -FILLMORE -FARBER -DEPEW -DANDREA -DAME -COWEN -COVARRUBIAS -CORY -BURRUS -BRACY -ARDOIN -THOMPKINS -SUZUKI -STANDLEY -RUSSEL -RADCLIFFE -POHL -PERSAUD -PERCY -PARENTEAU -PABON -NEWSON -NEWHOUSE -NAPOLITANO -MULCAHY -MAYA -MALAVE -KEIM -HOOTEN -HERNANDES -HEFFERNAN -HEARNE -GREENLEAF -GLICK -FUHRMAN -FETTER -FARIA -DISHMAN -DICKENSON -CRITES -CRISS -CLAPPER -CHENAULT -CASTOR -CASTO -BUGG -BOVE -BONNEY -BLESSING -ARD -ANDERTON -ALLGOOD -ALDERSON -WOODMAN -WISDOM -WARRICK -TOOMEY -TOOLEY -TARRANT -SUMMERVILLE -STEBBINS -SOKOL -SINK -SEARLES -SCHUTZ -SCHUMANN -SCHEER -REMILLARD -RAPER -PROULX -PALMORE -MONROY -MIGUEL -MESSIER -MELO -MELANSON -MASHBURN -MANZANO -LUSSIER -LOVELY -LIEN -JENKS -HUNEYCUTT -HARTWIG -GRIMSLEY -FULK -FIELDING -FIDLER -ENGSTROM -ELDRED -DANTZLER -CRANDELL -CHING -CALDER -BRUMLEY -BRETON -BRANN -BRAMLETT -BOYKINS -BIANCO -BANCROFT -ALMARAZ -ALCANTAR -WHITMER -WHITENER -WELTON -VINEYARD -SU -RAHN -PAQUIN -MIZELL -MIX -MCMILLIN -MCKEAN -MARSTON -MACIEL -LUNDQUIST -LOUIE -LIGGINS -LAMPKIN -KRANZ -KOSKI -KIRKHAM -JIMINEZ -HAZZARD -HARROD -GRAZIANO -GRAMMER -GENDRON -GARRIDO -FORDHAM -ENGLERT -ELWOOD -DRYDEN -DEMOSS -DELUNA -CRABB -COMEAU -CLAUDIO -BRUMMETT -BLUME -BENALLY -WESSEL -VANBUSKIRK -THORSON -STUMPF -STOCKWELL -ROCCO -REAMS -RADTKE -RACKLEY -PELTON -NIEMI -NEWLAND -NELSEN -MORRISSETTE -MIRAMONTES -MCGINLEY -MCCLUSKEY -MARLEY -MARCHANT -LUEVANO -LAMPE -LAIL -JEFFCOAT -INFANTE -HU -HINMAN -GAONA -ERB -EADY -DESMARAIS -DECOSTA -DANSBY -CISCO -CHOE -BRECKENRIDGE -BOSTWICK -BORG -BIANCHI -BEER -ALBERTS -ADRIAN -WILKIE -WHORTON -VARGO -TAIT -SYLVIA -SOUCY -SCHUMAN -OUSLEY -MUMFORD -LUM -LIPPERT -LEATH -LAVERGNE -LALIBERTE -KIRKSEY -KENNER -JOHNSEN -IZZO -HILES -GULLETT -GREENWELL -GASPAR -GALBREATH -GAITAN -ERICSON -DUCK -DELAPAZ -CROOM -COTTINGHAM -CLIFT -BUSHNELL -BOOZER -BICE -BERNARDO -BEASON -ARROWOOD -WARING -VOORHEES -TRUAX -SHREVE -SHOCKEY -SCHATZ -SANDIFER -RUBINO -ROZIER -ROSEBERRY -ROLL -PLAYER -PIEPER -PEDEN -NESTER -NAVE -MURPHEY -MALINOWSKI -MACGREGOR -LIANG -LAFRANCE -KUNKLE -KIRKMAN -JORGE -HIPP -HASTY -HADDIX -GERVAIS -GERDES -GARFIELD -GAMACHE -FOUTS -FITZWATER -DILLINGHAM -DEMING -DEANDA -CEDENO -CANNADY -BURSON -BOULDIN -ARCENEAUX -WOODHOUSE -WHITFORD -WESCOTT -WELTY -WEIGEL -TORGERSON -TOMS -SURBER -SUNDERLAND -STERNER -SETZER -SALVATORE -RIOJAS -PUMPHREY -PUGA -PEDRO -PATCH -METTS -MCGARRY -MCCANDLESS -MAGILL -LUPO -LOVELAND -LLAMAS -LECLERC -KOONS -KAHLER -HUSS -HOLBERT -HEINTZ -HAUPT -GRIMMETT -GASKILL -FLOWER -ELLINGSON -DORR -DINGESS -DEWEESE -DESILVA -CROSSLEY -CORDEIRO -CONVERSE -CONDE -CHEEKS -CALDERA -CAIRNS -BURMEISTER -BURKHALTER -BRAWNER -BOTT -YOUNGS -VIERRA -VALLADARES -TIFFANY -SHRUM -SHROPSHIRE -SEVILLA -RUSK -ROOF -RODARTE -PEDRAZA -NINO -MONTANA -MERINO -MCMINN -MARKLE -MAPP -LUCIA -LAJOIE -KOERNER -KITTRELL -KATO -HYDER -HOLLIFIELD -HEISER -HAZLETT -GREENWALD -FANT -ELDREDGE -DREHER -DELAFUENTE -CRAVENS -CLAYPOOL -BEECHER -ARONSON -ALANIS -WORTHEN -WOJCIK -WINGER -WHITACRE -WELLINGTON -VALVERDE -VALDIVIA -TROUPE -THROWER -SWINDELL -SUTTLES -SUH -STROMAN -SPIRES -SLATE -SHEALY -SARVER -SARTIN -SADOWSKI -RONDEAU -ROLON -RICK -REX -RASCON -PRIDDY -PINE -PAULINO -NOLTE -MUNROE -MOLLOY -MELLON -MCIVER -LYKINS -LOGGINS -LILLIE -LENOIR -KLOTZ -KEMPF -JONE -HUPP -HOLLOWELL -HOLLANDER -HAYNIE -HASSAN -HARKNESS -HARKER -GOTTLIEB -FRITH -EDDINS -DRISKELL -DOGGETT -DENSMORE -CHARETTE -CASSADY -CARROL -BYRUM -BURCHAM -BUGGS -BENN -WHITTED -WARRINGTON -VANDUSEN -VAILLANCOURT -STEGER -SPELL -SIEBERT -SCOFIELD -QUIRK -PURSER -PLUMB -ORCUTT -NORTHERN -NORDSTROM -MOSELY -MICHALSKI -MCPHAIL -MCDAVID -MCCRAW -MARTINI -MARCHESE -MANNINO -LEO -LEFEVRE -LARGENT -LANZA -KRESS -ISHAM -HUNSAKER -HOCH -HILDEBRANDT -GUARINO -GRIJALVA -GRAYBILL -FICK -EWELL -EWALD -DEANGELO -CUSICK -CRUMLEY -COSTON -CATHCART -CARRUTHERS -BULLINGTON -BRIAN -BOWES -BLAIN -BLACKFORD -BARBOZA -YINGLING -WOODLAND -WERT -WEILAND -VARGA -SILVERSTEIN -SIEVERS -SHUSTER -SHUMWAY -SCUDDER -RUNNELS -RUMSEY -RENFROE -PROVENCHER -POLLEY -MOHLER -MIDDLEBROOKS -KUTZ -KOSTER -KORN -GROW -GROTH -GLIDDEN -FAZIO -DEEN -CORN -COPPER -CHIPMAN -CHENOWETH -CHAMPLIN -CEDILLO -CARRERO -CARMODY -BUCKLES -BRIEN -BOUTIN -BOSCH -BILL -BERKOWITZ -ALTAMIRANO -WILFONG -WIEGAND -WAITES -TRUESDALE -TOUSSAINT -TOBEY -TEDDER -STEELMAN -SIROIS -SCHNELL -ROBICHAUD -RIDGE -RICHBURG -PRAY -PLUMLEY -PIZARRO -PIERCY -ORTEGO -OBERG -NEACE -MUSIC -MICKEY -MERTZ -MCNEW -MATTA -LAWYER -LAPP -LAIR -KIBLER -JESSIE -HOWLETT -HOLLISTER -HOFER -HATTEN -HAGLER -GERMANY -FALGOUST -ENGELHARDT -EBERLE -EASTWOOD -DOMBROWSKI -DINSMORE -DAYE -COOL -CASARES -CAPONE -BRAUD -BALCH -AUTREY -WENDEL -TYNDALL -TOY -STROBEL -STOLTZ -SPINELLI -SERRATO -ROCHESTER -REBER -REAL -RATHBONE -PALOMINO -NOAH -NICKELS -MAYLE -MATHERS -MACH -LOEFFLER -LITTRELL -LEVINSON -LEONG -LEMIRE -LEJEUNE -LAZO -LASLEY -KOLLER -KENNARD -JESTER -HOELSCHER -HINTZ -HAGERMAN -GREAVES -FORE -EUDY -ENGLER -CORRALES -CORDES -BRUNET -BIDWELL -BENNET -BARE -TYRRELL -THARPE -SWINTON -STRIBLING -STEVEN -SOUTHWORTH -SISNEROS -SHANE -SAVOIE -SAMONS -RUVALCABA -ROSCOE -RIES -RAMER -OMARA -MOSQUEDA -MILLAR -MCPEAK -MACOMBER -LUCKEY -LITTON -LEHR -LAVIN -HUBBS -HOARD -HIBBS -HAGANS -FUTRELL -EXUM -EVENSON -DICKS -CULLER -CHOU -CARBAUGH -CALLEN -BRASHEAR -BLOOMER -BLAKENEY -BIGLER -ADDINGTON -WOODFORD -WITTER -UNRUH -TOLENTINO -SUMRALL -STGERMAIN -SMOCK -SHERER -SALEM -ROCHELLE -RAYNER -POOLER -OQUINN -NERO -MILANO -MCGLOTHLIN -MARS -LINDEN -KOWAL -KERRIGAN -IBRAHIM -HARVELL -HANRAHAN -GOODALL -GEIST -FUSSELL -FUNG -FEREBEE -FEDERICO -ELEY -EGGERT -DORSETT -DINGMAN -DESTEFANO -COLUCCI -CLEMMER -CAESAR -BURNELL -BRUMBAUGH -BODDIE -BERRYHILL -AVELAR -ALCANTARA -ABBEY -WINDER -WINCHELL -VANDENBERG -TROTMAN -THURBER -THIBEAULT -STLOUIS -STILWELL -SPERLING -SHATTUCK -SARMIENTO -RUPPERT -RUMPH -RENAUD -RANDAZZO -RADEMACHER -QUILES -PEARMAN -PALOMO -MERCURIO -LOWREY -LINDEMAN -LAWLOR -LAROSA -LANDER -LABRECQUE -KIMBER -HOVIS -HOLIFIELD -HENNINGER -HAWKES -HARTFIELD -HANN -HAGUE -GENOVESE -GARRICK -FUDGE -FRINK -EDDINGS -DINH -DEAR -CUTTER -CRIBBS -CONSTANT -CALVILLO -BUNTON -BRODEUR -BOLDING -BLANDING -AGOSTO -ZAHN -WIENER -TRUSSELL -TEW -TELLO -TEIXEIRA -STEPHAN -SPECK -SHARMA -SHANKLIN -SEALY -SCANLAN -SANTAMARIA -ROUNDY -ROBICHAUX -RINGER -RIGNEY -PREVOST -POLSON -PHILIP -PASS -NORD -MOXLEY -MOHAMMED -MEDFORD -MCCASLIN -MCARDLE -MACARTHUR -LEWIN -LASHER -KETCHAM -KEISER -HEINE -HACKWORTH -GROSE -GRIZZLE -GRASS -GILLMAN -GARTNER -GARTH -FRAZEE -FLEURY -FAST -EDSON -EDMONSON -DERRY -DECK -CRONK -CONANT -BURRESS -BURGIN -BROOM -BROCKINGTON -BOLICK -BOGER -BIRCHFIELD -BILLINGTON -BAILY -BAHENA -ARMBRUSTER -ANSON -YOHO -WILCHER -TINNEY -TIMBERLAKE -THOMA -THIELEN -SUTPHIN -STULTZ -SIKORA -SERRA -SCHULMAN -SCHEFFLER -SANTILLAN -ROBIN -REGO -PRECIADO -PINKHAM -MONDAY -MICKLE -LUU -LOMAS -LIZOTTE -LENT -LENARD -KELLERMAN -KEIL -JUAN -JOHANSON -HERNADEZ -HARTSFIELD -HANG -HABER -GORSKI -FARKAS -EBERHARDT -DUQUETTE -DELANO -CROPPER -COZART -COCKERHAM -CHAMBLEE -CARTAGENA -CAHOON -BUZZELL -BRISTER -BREWTON -BLACKSHEAR -BENFIELD -ASTON -ASHBURN -ARRUDA -WETMORE -WEISE -VACCARO -TUCCI -SUDDUTH -STROMBERG -STOOPS -SHOWALTER -SHEARS -RUNION -ROWDEN -ROSENBLUM -RIFFLE -RENFROW -PERES -OBRYANT -NICOLAS -LEFTWICH -LARK -LANDEROS -KISTLER -KILLOUGH -KERLEY -KASTNER -HOGGARD -HARTUNG -GUERTIN -GOVAN -GATLING -GAILEY -FULLMER -FULFORD -FLATT -ESQUIBEL -ENDICOTT -EDMISTON -EDELSTEIN -DUFRESNE -DRESSLER -DICKMAN -CHEE -BUSSE -BONNETT -BOGART -BERARD -BARRINGTON -ARENA -ANTON -YOSHIDA -VELARDE -VEACH -VANHOUTEN -VACHON -TOLSON -TOLMAN -TENNYSON -STITES -SOLER -SHUTT -RUGGLES -RHONE -PEGUES -ONG -NEESE -MURO -MONCRIEF -MEFFORD -MCPHEE -MCMORRIS -MCEACHERN -MCCLURG -MANSOUR -MAI -MADER -LEIJA -LECOMPTE -LAFOUNTAIN -LABRIE -JAQUEZ -HEALD -HASH -HARTLE -GAINER -FRISBY -FARINA -EIDSON -EDGERTON -DYKE -DURRETT -DUHON -CUOMO -COBOS -CERVANTEZ -BYBEE -BROCKWAY -BOROWSKI -BINION -BEERY -ARGUELLO -AMARO -ACTON -YUEN -WINTON -WIGFALL -WEEKLEY -VIDRINE -VANNOY -TARDIFF -SHOOP -SHILLING -SCHICK -SAND -SAFFORD -PRENDERGAST -PILGRIM -PELLERIN -OSUNA -NISSEN -NALLEY -MORITZ -MOLLER -MESSNER -MESSICK -MERRY -MERRIFIELD -MCGUINNESS -MATHERLY -MARCANO -MAHONE -LEMOS -LEBRUN -JARA -HOFFER -HEWLETT -HERREN -HECKER -HAWS -HAUG -HACK -GWIN -GOBER -GILLIARD -FREDETTE -FAVELA -ECHEVERRIA -DOWNER -DONOFRIO -DESROCHERS -DEE -CROZIER -CORSON -CLYDE -BECHTOLD -ARGUETA -APARICIO -ZAMUDIO -WILLETTE -WESTOVER -WESTERMAN -UTTER -TROYER -THIES -TAPLEY -SLAVIN -SHIRK -SANDLER -ROOP -RIMMER -RAYMER -RANGE -RADCLIFF -OTTEN -MOORER -MILLET -MCKIBBEN -MCCUTCHEN -MCAVOY -MCADOO -MAYORGA -MASTIN -MARTINEAU -MAREK -MADORE -LEFLORE -KROEGER -KENNON -JIMERSON -JAVIER -HOSTETTER -HORNBACK -HENDLEY -HANCE -GUARDADO -GRANADO -GOWEN -GOODALE -FLINN -FLEETWOOD -FITZ -DURKEE -DUPREY -DIPIETRO -DILLEY -CLYBURN -BRAWLEY -BECKLEY -ARANA -WEATHERBY -VOLLMER -VICTORIA -VESTAL -TUNNELL -TRIGG -TINGLE -TAKAHASHI -SWEATT -STORER -SNAPP -SHIVER -ROOKER -RED -RATHBUN -POISSON -PERRINE -PERRI -PASTOR -PARMER -PARKE -PARE -PAPA -PALMIERI -NOTTINGHAM -MIDKIFF -MECHAM -MCCOMAS -MCALPINE -LOVELADY -LILLARD -LALLY -KNOPP -KILE -KIGER -HAILE -GUPTA -GOLDSBERRY -GILREATH -FULKS -FRIESEN -FRANZEN -FLACK -FINDLAY -FERLAND -DREYER -DORE -DENNARD -DECKARD -DEBOSE -CRIM -COULOMBE -CORK -CHANCEY -CANTOR -BRANTON -BISSELL -BARNS -WOOLARD -WITHAM -WASSERMAN -WALDO -SPIEGEL -SHOFFNER -SCHOLZ -RUCH -ROSSMAN -READY -PETRY -PALACIO -PAEZ -NEARY -MORTENSON -MILLSAP -MIELE -MICK -MENKE -MCKIM -MCANALLY -MARTINES -MANOR -MALCOM -LEMLEY -LAROCHELLE -KLAUS -KLATT -KAUFMANN -KAPP -HELMER -HEDGE -HALLORAN -GLISSON -FRECHETTE -FONTANA -ENOCH -EAGAN -DRUM -DISTEFANO -DANLEY -CREEKMORE -CHARTIER -CHAFFEE -CARILLO -BURG -BOLINGER -BERKLEY -BENZ -BASSO -BASH -BARRIER -ZELAYA -WOODRING -WITKOWSKI -WILMOT -WILKENS -WIELAND -VIRGIL -VERDUGO -URQUHART -TSAI -TIMMS -SWIGER -SWAIM -SUSSMAN -SCARLETT -PIRES -MOLNAR -MCATEE -MAURICE -LOWDER -LOOS -LINKER -LANDES -KINGERY -KEELEY -HUFFORD -HIGA -HENDREN -HAMMACK -HAMANN -GILLAM -GERHARDT -FELL -EUGENE -EDELMAN -EBY -DELK -DEANS -CURL -CONSTANTINE -CLEAVER -CLAAR -CASIANO -CARRUTH -CARLYLE -BUMP -BROPHY -BOLANOS -BIBBS -BESSETTE -BEGGS -BAUGHER -BARTEL -AVERILL -ANDRESEN -AMIN -ALDEN -ADAMES -WILDMAN -VIA -VALENTE -TURNBOW -TSE -SWINK -SUBLETT -STROH -STRINGFELLOW -RIDGWAY -PUGLIESE -POTEAT -PANG -OHARE -NEUBAUER -MURCHISON -MOHAMED -MINGO -LUCKY -LEMMONS -KWON -KELLAM -KEAN -JARMON -HYDEN -HUDAK -HOLLINGER -HENKEL -HEMINGWAY -HASSON -HANSEL -HALTER -HAIRE -GOODNIGHT -GINSBERG -GILLISPIE -FOGEL -FLORY -ETTER -ELLEDGE -ECKMAN -DEAS -CURRIN -CRAFTON -COOMER -COLTER -CLAXTON -BULTER -BRADDOCK -BOWYER -BLIZZARD -BINNS -BING -BELLOWS -BASKERVILLE -BARROS -ANSLEY -WOOLF -WIGHT -WALDMAN -WADLEY -TULL -TRULL -TESCH -STRUCK -STOUFFER -STADLER -SLAY -SHUBERT -SEDILLO -SANTACRUZ -REINKE -RALEIGH -POYNTER -NERI -NEALE -NATIVIDAD -MOWRY -MORALEZ -MONGER -MITCHUM -MERRYMAN -MANION -MACDOUGALL -LUX -LITCHFIELD -LEY -LEVITT -LEPAGE -LASALLE -LAINE -KHOURY -KAVANAGH -KARNS -IVIE -HUEBNER -HODGKINS -HALPIN -GARICA -EVERSOLE -DUTRA -DUNAGAN -DUFFEY -DILLMAN -DILLION -DEVILLE -DEARBORN -DAMATO -COURSON -COULSON -BURDINE -BRYCE -BOUSQUET -BONIN -BISH -ATENCIO -WESTBROOKS -WAGES -VACA -TYE -TONER -TOMAS -TILLIS -SWETT -SURFACE -STRUBLE -STANFILL -SON -SOLORZANO -SLUSHER -SIPPLE -SIM -SILVAS -SHULTS -SCHEXNAYDER -SAEZ -RODAS -RAGER -PULVER -PLAZA -PENTON -PANIAGUA -MENESES -MCFARLIN -MCAULEY -MATZ -MALOY -MAGRUDER -LOHMAN -LANDA -LACOMBE -JAIMES -HOM -HOLZER -HOLST -HEIL -HACKLER -GRUNDY -GREGOR -GILKEY -FARNHAM -DURFEE -DUNTON -DUNSTON -DUDA -DEWS -DANA -CRAVER -CORRIVEAU -CONWELL -COLELLA -CHAMBLESS -BREMER -BOUTTE -BOURASSA -BLAISDELL -BACKMAN -BABINEAUX -AUDETTE -ALLEMAN -TOWNER -TAVERAS -TARANGO -SULLINS -SUITER -STALLARD -SOLBERG -SCHLUETER -POULOS -PIMENTAL -OWSLEY -OLIVIER -OKELLEY -NATIONS -MOFFATT -METCALFE -MEEKINS -MEDELLIN -MCGLYNN -MCCOWAN -MARRIOTT -MARABLE -LENNOX -LAMOUREUX -KOSS -KERBY -KARP -JASON -ISENBERG -HOWZE -HOCKENBERRY -HIGHSMITH -HARBOUR -HALLMARK -GUSMAN -GREELEY -GIDDINGS -GAUDET -GALLUP -FLEENOR -EICHER -EDINGTON -DIMAGGIO -DEMENT -DEMELLO -DECASTRO -CRUISE -BUSHMAN -BRUNDAGE -BROOKER -BROOKE -BOURG -BOARD -BLACKSTOCK -BERGMANN -BEATON -BANISTER -ARGO -APPLING -WORTMAN -WATTERSON -VILLALPANDO -TILLOTSON -TIGHE -SUNDBERG -STERNBERG -STAMEY -SPEAKS -SHIPE -SEEGER -SCARBERRY -SATTLER -SAIN -ROTHSTEIN -POTEET -PLOWMAN -PETTIFORD -PENLAND -PEACH -PARTAIN -PANKEY -OYLER -OGLETREE -OGBURN -MOTON -MILLION -MERKEL -MASK -MARKUS -LUCIER -LAZARUS -LAVELLE -LAKEY -KRATZ -KINSER -KERSHAW -JOSEPHSON -JESSE -IMHOFF -IBANEZ -HENDRY -HAMMON -FRISBIE -FRIEDRICH -FRAWLEY -FRAGA -FORESTER -ESKEW -EMMERT -DRENNAN -DOYON -DOMINICK -DANDRIDGE -CUMMING -CAWLEY -CARVAJAL -BRACEY -BELISLE -BATEY -AHNER -WYSOCKI -WEISER -VELIZ -TINCHER -SHERLOCK -SANTO -SANSONE -SANKEY -SANDSTROM -SALE -ROHRER -RISNER -PRIDEMORE -PFEFFER -PERSINGER -PEERY -OUBRE -ORANGE -NOWICKI -MUSGRAVE -MURDOCH -MULLINAX -MCCARY -MATHIEU -LIVENGOOD -LEONARDO -KYSER -KLINK -KIMES -KELLNER -KAVANAUGH -KASTEN -IMES -HOEY -HINSHAW -HALLEY -HAKE -GURULE -GRUBE -GRILLO -GETER -GATTO -GARVER -GARRETSON -FARWELL -EILAND -DUNFORD -DECARLO -CORSO -CORE -COLMAN -COLLARD -CLEGHORN -CHASTEEN -CAVENDER -CARLILE -CALVO -BYERLY -BROGDON -BROADWATER -BREAULT -BONO -BERGIN -BEHR -BALLENGER -AMICK -YAN -VICE -TAMEZ -STIFFLER -STEINKE -SIMMON -SHANKLE -SCHALLER -SALMONS -SACKETT -SAAD -RIDEOUT -READER -RATCLIFFE -RAO -RANSON -RANDELL -PLASCENCIA -PETTERSON -OLSZEWSKI -OLNEY -OLGUIN -NILSSON -NEVELS -MORELLI -MONTIEL -MONGE -MICHELL -MICHAELSON -MERTENS -MCCHESNEY -MCALPIN -MATHEWSON -LOWER -LOUDERMILK -LINEBERRY -LIGGETT -LAMP -KINLAW -KIGHT -JUST -JOST -HEREFORD -HARDEMAN -HALPERN -HALLIDAY -HAFER -GAUL -FRIEL -FREITAG -FRANCES -FORSBERG -EVANGELISTA -DOERING -DICARLO -DENDY -DELP -DEGUZMAN -DAMERON -CURTISS -COUSIN -COSPER -CHARLEY -CAUTHEN -CAO -CAMPER -BRADBERRY -BOUTON -BONNELL -BIXBY -BIEBER -BEVERIDGE -BELLE -BEDWELL -BARHORST -BANNON -BALTAZAR -BAIER -AYOTTE -ATTAWAY -ARENAS -ALEX -ABREGO -WATFORD -VALLEY -TURGEON -TUNSTALL -THAXTON -THAI -TENORIO -STOTTS -STHILAIRE -SPIKER -SHEDD -SENG -SEABOLT -SCALF -SALYERS -RUHL -ROWLETT -ROBINETT -PFISTER -PERLMAN -PEPE -PARKMAN -PARADISE -OLIN -NUNNALLY -NORVELL -NAPPER -MODLIN -MCKELLAR -MCCLEAN -MASCARENAS -MANCHESTER -LEIBOWITZ -LEDEZMA -KUHLMAN -KOBAYASHI -HUNLEY -HOLMQUIST -HINKLEY -HAZARD -HARTSELL -GRIBBLE -GRAVELY -FIFIELD -ELIASON -DOCTOR -DOAK -CROSSLAND -COVER -CLAIR -CARLETON -BUTTERS -BRIDGEMAN -BOJORQUEZ -BOGGESS -BANKER -AUTEN -WOOSLEY -WINE -WHITELEY -WEXLER -TWOMEY -TULLIS -TOWNLEY -TO -STANDRIDGE -STAMP -SPRINGS -SANTOYO -RUEDA -RIENDEAU -REVELL -PLESS -OTTINGER -NIGRO -NICKLES -MULVEY -MENEFEE -MCSHANE -MCLOUGHLIN -MCKINZIE -MARROW -MARKEY -MARIANO -LOCKRIDGE -LIPSEY -KNISLEY -KNEPPER -KITTS -KIEL -JINKS -HATHCOCK -GODIN -GALLEGO -FIKES -FECTEAU -ESTABROOK -ELLINGER -DUSTIN -DUNLOP -DUDEK -DIEGO -COUNTRYMAN -CHAUVIN -CHATHAM -BULLINS -BROWNFIELD -BOUGHTON -BLOODWORTH -BIBB -BAUCOM -BARBIERI -AUBIN -ARMITAGE -ALESSI -ABSHER -ABBATE -ZITO -WOOLERY -WIGGS -WACKER -VIOLETTE -TYNES -TOLLE -TELLES -TARTER -SWAREY -STRODE -STOCKDALE -STELLA -STALNAKER -SPINA -SCHIFF -SAARI -RISLEY -READING -RAMERIZ -RAKES -PETTAWAY -PENNER -PAULUS -PALLADINO -OMEARA -MONTELONGO -MELNICK -MEHTA -MCGARY -MCCOURT -MCCOLLOUGH -MARCHETTI -MANZANARES -LOWTHER -LEIVA -LAUDERDALE -LAFONTAINE -KOWALCZYK -KNIGHTON -JOUBERT -JAWORSKI -IDE -HUTH -HURDLE -HUNG -HOUSLEY -HACKMAN -GULICK -GORDY -GILSTRAP -GEHRKE -GEBHART -GAUDETTE -FOXWORTH -FINGER -ESSEX -ENDRES -DUNKLE -CLARE -CIMINO -CARDINAL -CADDELL -BRAUER -BRALEY -BODINE -BLACKMORE -BELDEN -BACKER -AYER -ANDRESS -ALVA -WISNER -WALK -VUONG -VALLIERE -TWIGG -TSO -TAVAREZ -STRAHAN -STEIB -STAUB -SOWDER -SHOULDERS -SEIBER -SCHUTT -SCHARF -SCHADE -RODRIQUES -RISINGER -RENSHAW -RATH -RAHMAN -PRESNELL -PILLOW -PIATT -PASQUALE -NIEMAN -NICOL -NEVINS -MILFORD -MCILWAIN -MCGAHA -MCCULLY -MCCOMB -MAYE -MASSENGALE -MACEDO -LINES -LESHER -LELAND -KEARSE -JAUREGUI -HUSTED -HUDNALL -HOLMBERG -HERTEL -HERSHEY -HARDIE -GLIDEWELL -FRAUSTO -FASSETT -DASH -DALESSANDRO -DAHLGREN -CORUM -CONSTANTINO -CONLIN -COLQUITT -COLOMBO -CLAYCOMB -CARLEY -CARDIN -CANCEL -BULLER -BORING -BONEY -BOCANEGRA -BLAZER -BIGGERS -BENEDETTO -ARAIZA -ANDINO -ALBIN -ZORN -WERTH -WEISMAN -WALLEY -VANEGAS -ULIBARRI -TOWERS -TOWE -TEDFORD -TEASLEY -SUTTLE -STEFFENS -STCYR -SQUIRE -SMYTHE -SINGLEY -SIFUENTES -SHUCK -SESSION -SCHRAM -SASS -RIEGER -RIDENHOUR -RICKERT -RICHERSON -RAYBORN -RABE -RAAB -PENDLEY -PASTORE -ORDWAY -MOYNIHAN -MELLOTT -MCKISSICK -MCGANN -MCCREADY -MAUNEY -MARRUFO -LIST -LENHART -LAZAR -LAFAVE -KEELE -KAUTZ -JARDINE -JAHNKE -JACOBO -HORD -HARDCASTLE -HAGEMAN -GRIFFEY -GIGLIO -GEHRING -FORTSON -DUQUE -DUPLESSIS -DONNER -DICKEN -DEROSIER -DEITZ -DALESSIO -CYRUS -CRAM -CHI -CENTER -CASTLEMAN -CANDELARIO -CALLISON -CACERES -BOZARTH -BILES -BEJARANO -BEECH -BASHAW -AVINA -ARMENTROUT -ANGUS -ALVEREZ -ACORD -ZACK -WATERHOUSE -VEREEN -VANLANDINGHAM -UHL -STRAWSER -SHOTWELL -SEVERANCE -SELTZER -SCHOONMAKER -SCHOCK -SCHAUB -SCHAFFNER -ROEDER -RODRIGEZ -RIFFE -RHINE -RASBERRY -RANCOURT -RAILEY -QUADE -PURSLEY -PROUTY -PERDOMO -OXLEY -OSTERMAN -NICKENS -MURPHREE -MOUNTS -MONTE -MERIDA -MAUS -MATTERN -MASSE -MARTINELLI -MANGAN -LUTES -LUDWICK -LONEY -LAUREANO -LASATER -KNIGHTEN -KISSINGER -KIMSEY -KESSINGER -HONEA -HOLLINGSHEAD -HOCKETT -HEYER -HERON -GURROLA -GOVE -GLASSCOCK -GILLETT -GALAN -FEATHERSTONE -ECKHARDT -DURON -DUNSON -DASHER -CULBRETH -COWDEN -COWANS -CLAYPOOLE -CHURCHWELL -CHABOT -CAVINESS -CATER -CASTON -CALLAN -BYINGTON -BURKEY -BODEN -BECKFORD -ATWATER -ARMS -ARCHAMBAULT -ALVEY -ALSUP -YON -WHISENANT -WEESE -VOYLES -VERRET -TSANG -TESSIER -SWEITZER -SHERWIN -SHAUGHNESSY -REVIS -REMY -PRINE -PHILPOTT -PEAVY -PAYNTER -PARMENTER -OVALLE -OFFUTT -NIGHTINGALE -NEWLIN -NAKANO -MYATT -MUTH -MOHAN -MCMILLON -MCCARLEY -MCCALEB -MAXSON -MARINELLI -MALEY -MACY -LISTON -LETENDRE -KAIN -HUNTSMAN -HIRST -HAGERTY -GULLEDGE -GREENWAY -GRAJEDA -GORTON -GOINES -GITTENS -FREDERICKSON -FANELLI -EMBREE -EICHELBERGER -DUNKIN -DULL -DIXSON -DILLOW -DEFELICE -CHUMLEY -BURLEIGH -BORKOWSKI -BINETTE -BIGGERSTAFF -BERGLUND -BELLER -AUDET -ARBUCKLE -ALLAIN -ALFANO -ZANDER -YOUNGMAN -WITTMAN -WEINTRAUB -VANZANT -VADEN -TWITTY -TRADER -TOON -TILL -STOLLINGS -STANDIFER -SPINNER -SINES -SHOPE -SCALISE -SAVILLE -ROMANS -POSADA -PISANO -OTTE -NOLASCO -NAPOLI -MIER -MERKLE -MENDIOLA -MELCHER -MEJIAS -MCMURRY -MCCALLA -MARKOWITZ -MARINE -MANIS -MALLETTE -MACFARLANE -LOUGH -LOOPER -LANDIN -KITTLE -KINSELLA -KINNARD -HOBART -HERALD -HELMAN -HELLMAN -HARTSOCK -HALFORD -HAGE -GORDAN -GLASSER -GAYTON -GATTIS -GASTELUM -GASPARD -FRISCH -FORCE -FITZHUGH -ECKSTEIN -EBERLY -DOWDEN -DESPAIN -CRUMPLER -CROTTY -CORNELISON -COLLIN -COLIN -CHOUINARD -CHAMNESS -CATLIN -CANN -BUMGARDNER -BUDDE -BRANUM -BRADFIELD -BRADDY -BORST -BIRDWELL -BENT -BAZAN -BANK -BANAS -BADE -AUBREY -ARANGO -AHEARN -ADDIS -ZUMWALT -WURTH -WILK -WIDENER -WAGSTAFF -VELLA -URRUTIA -TERWILLIGER -TART -STEINMAN -STAATS -SLOAT -RIVES -RIGGLE -REVELS -REICHARD -PRICKETT -POFF -PITZER -PETRO -PELL -NORTHRUP -NICKS -MOLINE -MIELKE -MAYNOR -MALLON -MAGNESS -LINGLE -LINDELL -LIEB -LESKO -LEBEAU -LAMMERS -LAFOND -KIERNAN -KETRON -JURADO -HOLMGREN -HILBURN -HAYASHI -HASHIMOTO -HARBAUGH -HANS -GUILLOT -GARD -FROEHLICH -FELIPE -FEINBERG -FALCO -DUFOUR -DREES -DONEY -DIEP -DELAO -DAVES -DAIL -CUTTING -CROWSON -COSS -CONGDON -CARNER -CAMARENA -BUTTERWORTH -BURLINGAME -BOUFFARD -BLOCH -BILYEU -BARTA -BAKKE -BAILLARGEON -AVENT -AQUILAR -AKE -AHO -ZERINGUE -YEH -YARBER -WOLFSON -WENDELL -VOGLER -VOELKER -TRUSS -TROXELL -THRIFT -STROUSE -SPIELMAN -SISTRUNK -SHOWS -SEVIGNY -SCHULLER -SCHAAF -RUFFNER -ROUTH -ROSEMAN -RICCIARDI -PERAZA -PEGRAM -OVERTURF -OLANDER -ODANIEL -NEU -MILLNER -MELCHOR -MAXIE -MARVEL -MARONEY -MACHUCA -MACALUSO -LIVESAY -LAYFIELD -LASKOWSKI -KWIATKOWSKI -KO -KILEY -KILBY -JULIEN -HOVEY -HEYWOOD -HAYMAN -HAVARD -HARVILLE -HAIGH -HAGOOD -GRIECO -GLASSMAN -GEBHARDT -GARRY -FREEZE -FLEISCHER -FANN -ELSON -ECCLES -CUNHA -CRUMB -CREW -BLAKLEY -BARDWELL -ABSHIRE -WOODHAM -WINES -WELTER -WARGO -VARNADO -TUTT -TRAYNOR -SWANEY -SVOBODA -STRICKER -STOFFEL -STAMBAUGH -SICKLER -SHACKLEFORD -SELMAN -SEAVER -SANSOM -SANMIGUEL -ROYSTON -ROURKE -ROCKETT -RIOUX -PULEO -PITCHFORD -PERSONS -NORMAND -NARDI -MULVANEY -MIDDAUGH -MANNERS -MALEK -LODGE -LEOS -LATHAN -KUJAWA -KIMBRO -KILLEBREW -JOSHUA -HOULIHAN -HOBBY -HINCKLEY -HEROD -HEPLER -HAMNER -HAMMEL -HALLOWELL -GONSALEZ -GINGERICH -GAMBILL -FUNKHOUSER -FRICKE -FEWELL -FALKNER -ENDSLEY -DULIN -DRENNEN -DEAVER -DAMBROSIO -CLOVER -CHADWELL -CEASAR -CASTANON -CANON -BURKES -BRUNE -BRISCO -BRINKER -BOWKER -BOLDT -BERNER -BEE -BEAUMONT -BEAIRD -BAZEMORE -BARRICK -ARNETTE -ALBANO -YOUNTS -WUNDERLICH -WEIDMAN -VANNESS -TU -TOLAND -THEOBALD -STICKLER -STEIGER -STANGER -SPIES -SPECTOR -SOLLARS -SMEDLEY -SEIBEL -SCOVILLE -SAITO -RYE -RUMMEL -RUDE -ROWLES -ROULEAU -ROOS -ROGAN -ROEMER -REAM -RAYA -PURKEY -PRIESTER -PERREIRA -PENICK -PAULIN -PARKINS -OVERCASH -OLESON -NICELY -NEVES -MULDROW -MINARD -MIDGETT -MICHALAK -MELGAR -MCENTIRE -MCAULIFFE -MARTI -MARTE -LYDON -LINDHOLM -LEYBA -LEADER -LANGEVIN -LAGASSE -LAFAYETTE -KESLER -KELTON -KAO -KAMINSKY -JUMP -JAGGERS -HUMBERT -HUCK -HOWARTH -HINRICHS -HIGLEY -GUPTON -GUIMOND -GRAVOIS -GIGUERE -FRETWELL -FONTES -FEELEY -FAUCHER -FALL -EVAN -EICHHORN -ECKER -EARP -DOLE -DINGER -DERRYBERRY -DEMARS -DEEL -COPENHAVER -COLLINSWORTH -COLANGELO -CLOYD -CLAIBORNE -CAULFIELD -CARLSEN -CALZADA -CAFFEY -BROADUS -BRENNEMAN -BOUIE -BODNAR -BLANEY -BLANC -BLADES -BELTZ -BEHLING -BEGIN -BARAHONA -YUN -YOCKEY -WINKLE -WINDOM -WIMER -WILFORD -WASH -VILLATORO -TREXLER -TERAN -TALIAFERRO -SYDNOR -SWINSON -SNELLING -SMTIH -SIU -SIMONTON -SIMONEAUX -SIMONEAU -SHERRER -SEAVEY -SCHEEL -RUSHTON -RUPE -RUANO -RODNEY -RIPPY -REINER -REIFF -RABINOWITZ -QUACH -PENLEY -ODLE -NOCK -MINNICH -MCKOWN -MCCARVER -MCANDREW -LONGLEY -LAUX -LAMOTHE -LAFRENIERE -KROPP -KRICK -KATES -JEPSON -HUIE -HOWSE -HOWIE -HENRIQUES -HAYDON -HAUGHT -HATTER -HARTZOG -HARKEY -GRIMALDO -GOSHORN -GORMLEY -GLUCK -GILROY -GILLENWATER -GIFFIN -FOLKS -FLUKER -FEDER -EYRE -ESHELMAN -EAKINS -DRYER -DISNEY -DETWILER -DELROSARIO -DAVISSON -CELESTINE -CATALAN -CANNING -CALTON -BUSTER -BRAMMER -BOTELHO -BLAKNEY -BARTELL -AVERETT -ASKINS -AKER -ZAK -WORCESTER -WITMER -WISER -WINKELMAN -WIDMER -WHITTIER -WESTERN -WEITZEL -WARDELL -WAGERS -ULLMAN -TUPPER -TINGLEY -TILGHMAN -TALTON -SIMARD -SEDA -SCHELLER -SALA -RUNDELL -ROST -ROA -RIBEIRO -RABIDEAU -PRIMM -PORCH -POLITE -PINON -PEART -OSTROM -OBER -NYSTROM -NUSSBAUM -NURSE -NAUGHTON -MURR -MOORHEAD -MONTI -MONTEIRO -MELSON -MEISSNER -MCLIN -MCGRUDER -MAROTTA -MAKOWSKI -MAJEWSKI -MADEWELL -LUNT -LUKENS -LEININGER -LEBEL -LAKIN -LAGUNA -KEPLER -JAQUES -HUNNICUTT -HUNGERFORD -HOOPES -HERTZ -HEINS -HAMMERS -HALLIBURTON -GROSSO -GRAVITT -GLASPER -GIDEON -GALLMAN -GALLAWAY -FUNKE -FULBRIGHT -FALGOUT -EAKIN -DOSTIE -DORADO -DEWBERRY -DEROSE -CUTSHALL -CRAMPTON -COSTANZO -COLLETTI -CLONINGER -CLAYTOR -CHIANG -CANTERBURY -CAMPAGNA -BURD -BROKAW -BROADDUS -BRETZ -BRAINARD -BINFORD -BILBREY -ALPERT -AITKEN -AHLERS -ZAJAC -YALE -WOOLFOLK -WITTEN -WINDLE -WAYLAND -TRAMEL -TITTLE -TALAVERA -SUTER -STRALEY -STETSON -SPECHT -SOMMERVILLE -SOLOMAN -SO -SKEENS -SIGMAN -SIBERT -SHAVERS -SCHUCK -SCHMIT -SARTAIN -SABOL -ROSENBLATT -ROLLO -RASHID -RABB -PROVINCE -POLSTON -NYBERG -NORTHROP -NAVARRA -MULDOON -MULDER -MIKESELL -MCDOUGALD -MCBURNEY -MAURICIO -MARISCAL -LUI -LOZIER -LINGERFELT -LEGERE -LATOUR -LAGUNAS -LACOUR -KURTH -KU -KILLEN -KIELY -KAYSER -KAHLE -JULIUS -ISLEY -HUERTAS -HOWER -HINZ -HAUGH -GUMM -GIVEN -GALICIA -FORTUNATO -FLAKE -DUNLEAVY -DUGGINS -DOBY -DIGIOVANNI -DEVANEY -DELTORO -CRIBB -CRANK -CORPUZ -CORONEL -COMFORT -COEN -CHARBONNEAU -CAINE -BURCHETTE -BLAKEY -BLAKEMORE -BERGQUIST -BEENE -BEAUDETTE -BAYLES -BALLANCE -BAKKER -BAILES -ASBERRY -ARWOOD -ZUCKER -WILLMAN -WHITESELL -WALD -WALCOTT -VANCLEAVE -TRUMP -TRAIL -STRASSER -SIMAS -SHORTS -SHICK -SCHLEICHER -SCHAAL -SALEH -ROTZ -RESNICK -RAPHAEL -RAINER -PARTEE -OLLIS -OLLER -ODAY -NOLES -MUNDAY -MOUNTAIN -MONG -MILLICAN -MERWIN -MAZZOLA -MANSELL -MAGALLANES -LLANES -LEWELLEN -LEPORE -KISNER -KEESEE -JIM -JEANLOUIS -INGHAM -HORNBECK -HERMES -HAWN -HARTZ -HARBER -HAFFNER -GUTSHALL -GUTH -GRAYS -GRAMS -GOWAN -FINLAY -FINKELSTEIN -EYLER -ENLOE -DUNGAN -DIEZ -DEARMAN -DANN -CULL -CROSSON -CREEK -CHRONISTER -CASSITY -CAMPION -CALLIHAN -BUTZ -BREAZEALE -BLUMENTHAL -BILLY -BERKEY -BATTY -BATTON -BARGE -ARVIZU -ALEXIS -ALDERETE -ALDANA -ALBAUGH -ABERNETHY -WORK -WOLTER -WILLE -TWEED -TOLLEFSON -THOMASSON -TETER -TESTERMAN -SPROUL -SPATES -SOUTHWICK -SOUKUP -SKELLY -SENTER -SEALEY -SAWICKI -SARGEANT -ROSSITER -ROSEMOND -REPP -POUND -PINK -PIFER -ORMSBY -NICKELSON -NAUMANN -MORABITO -MONZON -MILLSAPS -MILLEN -MCELRATH -MARCOUX -MANTOOTH -MADSON -MACNEIL -MACKINNON -LOUQUE -LEISTER -LAMPLEY -KUSHNER -KROUSE -KIRWAN -JUNE -JESSEE -JANSON -JAHN -JACQUEZ -ISLAS -HUTT -HOLLADAY -HILLYER -HEPBURN -HENSEL -HARROLD -GUADALUPE -GINGRICH -GEIS -GALES -FULTS -FINNELL -FERRI -FEATHERSTON -EPLEY -EBERSOLE -EAMES -DUNIGAN -DRYE -DISMUKE -DEVAUGHN -DELORENZO -DAMIANO -CONFER -COLLUM -CLOWER -CLOW -CLAUSSEN -CLACK -CAYLOR -CAWTHON -CASIAS -CARRENO -CARLO -BLUHM -BINGAMAN -BEWLEY -BELEW -BECKNER -BEAMER -BAREFOOT -AULD -AMEY -WOLFENBARGER -WILKEY -WICKLUND -WALTMAN -VILLALBA -VALERO -VALDOVINOS -UNG -ULLRICH -TYUS -TWYMAN -TROST -TARDIF -TANGUAY -STRIPLING -STEINBACH -SHUMPERT -SASAKI -SAPPINGTON -SANDUSKY -REINHOLD -REINERT -QUIJANO -PYE -POOR -PLACENCIA -PINKARD -PHINNEY -PERROTTA -PERNELL -PARRETT -OXENDINE -OWENSBY -ORMAN -NUNO -MORI -MCROBERTS -MCNEESE -MCKAMEY -MCCULLUM -MARKEL -MARDIS -MAINES -LUECK -LUBIN -LEFLER -LEFFLER -LAVERY -LARIOS -LABARBERA -KERSHNER -JOSEY -JEANBAPTISTE -IZAGUIRRE -HERMOSILLO -HAVILAND -HARTSHORN -HAMLET -HAFNER -GINTER -GETTY -FRANCK -FISKE -EMMETT -DUFRENE -DOODY -DAVIE -DANGERFIELD -DAHLBERG -CUTHBERTSON -CRONE -COFFELT -CLAUS -CHIDESTER -CHESSON -CAULEY -CAUDELL -CANTARA -CAMPO -CAINES -BULLIS -BUCCI -BROCHU -BOSCO -BOGARD -BICKERSTAFF -BENNING -ARZOLA -ANTONELLI -ADKINSON -ZELLERS -WULF -WORSLEY -WOOLRIDGE -WHITTON -WESTERFIELD -WALCZAK -VASSAR -TRUETT -TRUEBLOOD -TRAWICK -TOWNSLEY -TOPPING -TOBAR -TELFORD -SUNG -STEVERSON -STAGG -SITTON -SILL -SHERRELL -SERGENT -SCHOENFELD -SARABIA -RUTKOWSKI -RUBENSTEIN -RIGDON -PRENTISS -POMERLEAU -PLUMLEE -PHOENIX -PHILBRICK -PEER -PATTY -PATNODE -OLOUGHLIN -OBREGON -NUSS -NAPOLEON -MORELL -MOOSE -MIKELL -MELE -MCINERNEY -MCGUIGAN -MCBRAYER -LORE -LOR -LOOK -LOLLAR -LAKES -KUEHL -KINZER -KAMP -JOPLIN -JACOBI -HOWELLS -HOLSTEIN -HEDDEN -HASSLER -HARTY -HALLE -GREIG -GRANVILLE -GOUGE -GOODRUM -GERHART -GEIER -GEDDES -GAST -FOREHAND -FERREE -FENDLEY -FELTNER -FANG -ESQUEDA -ENCARNACION -EICHLER -EGGER -EDMUNDSON -EATMON -DRAGON -DOUD -DONOHOE -DONELSON -DILORENZO -DIGIACOMO -DIGGINS -DELOZIER -DEJONG -DANFORD -CRIPPEN -COPPAGE -COGSWELL -CLARDY -CIOFFI -CABE -BRUNETTE -BRESNAHAN -BRAMBLE -BLOMQUIST -BLACKSTONE -BILLER -BEVIS -BEVAN -BETHUNE -BENBOW -BATY -BASINGER -BALCOM -ANDES -AMAN -AGUERO -ADKISSON -YANDELL -WILDS -WHISENHUNT -WEIGAND -WEEDEN -VOIGHT -VILLAR -TROTTIER -TILLETT -SUAZO -SETSER -SCURRY -SCHUH -SCHRECK -SCHAUER -SAMORA -ROANE -RINKER -REIMERS -REASON -RATCHFORD -POPOVICH -PARKIN -NICHOL -NATAL -MELVILLE -MCBRYDE -MAGDALENO -LOEHR -LOCKMAN -LINGO -LEDUC -LAROCCA -LAO -LAMERE -LACLAIR -KRALL -KORTE -KOGER -JUMPER -JALBERT -HUGHS -HIGBEE -HENTON -HEANEY -HAITH -GUMP -GREESON -GOODLOE -GHOLSTON -GASPER -GAGLIARDI -FREGOSO -FARTHING -FABRIZIO -ENSOR -ELSWICK -ELGIN -EKLUND -EADDY -DROUIN -DORTON -DIZON -DEROUEN -DELIA -DEHERRERA -DAVY -DARK -DAMPIER -CULLUM -CULLEY -COWGILL -CARDOSO -CARDINALE -BRODSKY -BROADBENT -BRIMMER -BRICENO -BRANSCUM -BOLYARD -BOLEY -BENNINGTON -BEADLE -BAUR -BALLENTINE -AZURE -AULTMAN -AUGUSTUS -ASUNCION -ARCINIEGA -AGUILA -ACEVES -YEPEZ -YAP -WOODRUM -WETHINGTON -WEISSMAN -VELOZ -TRUSTY -TROUP -TRAMMEL -THEODORE -TARPLEY -STIVERS -STECK -SPRAYBERRY -SPRAGGINS -SPITLER -SPIERS -SOHN -SEAGRAVES -SCHIFFMAN -RUDNICK -RIZO -RICCIO -RENNIE -QUINTON -QUACKENBUSH -PUMA -PLOTT -PEARCY -PARADA -PAIZ -MUNFORD -MOSKOWITZ -MEASE -MCNARY -MCCUSKER -MATT -LOZOYA -LONGMIRE -LOESCH -LASKY -KUHLMANN -KRIEG -KOZIOL -KOWALEWSKI -KONRAD -KINDLE -JOWERS -JOLIN -JACO -HUA -HORGAN -HINE -HILEMAN -HEPNER -HEISE -HEADY -HAWKINSON -HANNIGAN -HABERMAN -GUILFORD -GRIMALDI -GILLES -GARTON -GAGLIANO -FRUGE -FOLLETT -FISCUS -FERRETTI -EBNER -EASTERDAY -EANES -DIRKS -DIMARCO -DEPALMA -DEFOREST -DANCE -CRUCE -CRAIGHEAD -CHRISTNER -CANDLER -CADWELL -BURCHELL -BUETTNER -BRINTON -BREED -BRAZIER -BRANNEN -BRAME -BOVA -BOMAR -BLAKESLEE -BELKNAP -BANGS -BALZER -ATHEY -ARMES -ALVIS -ALVERSON -ALVARDO -ALTER -ZHAO -YEUNG -YEN -WHEELOCK -WESTLUND -WESSELS -VOLKMAN -THREADGILL -THELEN -TANDY -TAGUE -TA -SYMONS -SWINFORD -STURTEVANT -STRAKA -STIER -STAGNER -SEGARRA -SEAWRIGHT -SACK -RUTAN -ROUX -RINGLER -RIKER -RAMSDELL -QUATTLEBAUM -PURIFOY -POULSON -PERMENTER -PELOQUIN -PASLEY -PAGEL -OSMAN -OBANNON -NYGAARD -NIPPER -NEWCOMER -MUNOS -MOTTA -MEADORS -MCQUISTON -MCNIEL -MCMANN -MCCRAE -MAYNE -MATTE -MARTINE -LUCY -LEGAULT -LECHNER -LACK -KUCERA -KROHN -KRATZER -KOOPMAN -JUDSON -JESKE -HORROCKS -HOMES -HOCK -HIBBLER -HESSON -HERSH -HARVIN -HALVORSEN -GRINER -GRINDLE -GLEN -GLADSTONE -GAROFALO -FRAMPTON -FORBIS -FERNANDO -EDDINGTON -DIORIO -DINGUS -DEWAR -DESALVO -CURCIO -CREASY -CORTESE -CORDOBA -CONNALLY -CLUFF -CASCIO -CAPUANO -CANADAY -CALABRO -BUSSARD -BRAYTON -BORJA -BIGLEY -ARNONE -ARGUELLES -ACUFF -ZAMARRIPA -WOOTON -WOLFGANG -WIDNER -WIDEMAN -THREATT -THIELE -TEMPLIN -TEETERS -SYNDER -SWINT -SWICK -STURGES -STOGNER -STEDMAN -SPRATT -SIX -SIEGFRIED -SHETLER -SCULL -SAVINO -SATHER -ROTHWELL -ROOK -RONE -ROLF -RHEE -QUEVEDO -PRIVETT -POULIOT -POCHE -PICKEL -PETRILLO -PELLEGRINI -PEASLEE -PARTLOW -OTEY -NUNNERY -MORELOCK -MORELLO -MEUNIER -MESSINGER -MCKIE -MCCUBBIN -MCCARRON -MARIA -LERCH -LAVINE -LAVERTY -LARIVIERE -LAMKIN -KUGLER -KROL -KISSEL -KEETER -HUMMER -HUBBLE -HICKOX -HETZEL -HAYNER -HAGY -HADLOCK -GROH -GREGORIO -GOTTSCHALK -GOODSELL -GLORIA -GERRY -GASSAWAY -GARRARD -GALLIGAN -FYE -FIRTH -FENDERSON -FEINSTEIN -ETIENNE -ENGLEMAN -EMRICK -ELLENDER -DREWS -DOIRON -DEGRAW -DEEGAN -DART -CRISSMAN -CORR -COOKSON -COIL -CLEAVES -CHAREST -CHAPPLE -CHAPARRO -CASTANO -CARPIO -BYER -BUFFORD -BRIDGEWATER -BRIDGERS -BRANDES -BORRERO -BONANNO -AUBE -ANCHETA -ABARCA -ABAD -YUNG -YIM -WOOSTER -WOODROW -WIMBUSH -WILLHITE -WILLAMS -WIGLEY -WEISBERG -WARDLAW -VIGUE -VANHOOK -UNKNOW -TORRE -TASKER -TARBOX -STRACHAN -STANDARD -SLOVER -SHAMBLIN -SEMPLE -SCHUYLER -SCHRIMSHER -SAYER -SALZMAN -SALOMON -RUBALCAVA -RILES -RICKEY -RENEAU -REICHEL -RAYFIELD -RABON -PYATT -PRINDLE -POSS -POLITO -PLEMMONS -PESCE -PERRAULT -PEREYRA -OSTROWSKI -NILSEN -NIEMEYER -NICK -MUNSEY -MUNDELL -MONCADA -MICELI -MEADER -MCMASTERS -MCKEEHAN -MATSUMOTO -MARRON -MARDEN -LIZARRAGA -LINGENFELTER -LEWALLEN -LAURENCE -LANGAN -LAMANNA -KOVAC -KINSLER -KEPHART -KEOWN -KASS -KAMMERER -JEFFREYS -HYSELL -HOUSEHOLDER -HOSMER -HARDNETT -HANNER -GUYETTE -GREENING -GLAZER -GINDER -FROMM -FORTUNA -FLUELLEN -FINKLE -FEY -FESSLER -ESSARY -EISELE -DUREN -DITTMER -CROCHET -COSENTINO -COGAN -COELHO -CAVIN -CARRIZALES -CAMPUZANO -BROUGH -BOW -BOPP -BOOKMAN -BOBB -BLOUIN -BEESLEY -BATTISTA -BASCOM -BAKKEN -BADGETT -ARNESON -ANSELMO -ALBINO -AHUMADA -AGUSTIN -WOODYARD -WOLTERS -WIREMAN -WILTON -WILLISON -WARMAN -WAN -WALDRUP -VOWELL -VANTASSEL -VALE -TWOMBLY -TOOMER -TENNISON -TEETS -TEDESCHI -SWANNER -SWALLOW -STUTZ -STELLY -SHEEHY -SCHERMERHORN -SCALA -SANDIDGE -SALTERS -SALO -SAECHAO -ROSEBORO -ROLLE -RESSLER -RENZ -RENN -REDFORD -RAPOSA -RAINBOLT -POMPEY -PELFREY -ORNDORFF -ONEY -NOLIN -NIMMONS -NEY -NARDONE -MYHRE -MORMAN -MINES -MENJIVAR -MCGLONE -MCCAMMON -MAXON -MARIS -MARCIANO -MANUS -MAIDEN -LOWRANCE -LORENZEN -LONERGAN -LOLLIS -LITTLES -LINDAHL -LANSING -LAMAS -LACH -KUSTER -KRAWCZYK -KNUTH -KNECHT -KIRKENDALL -KEITT -KEEVER -KANTOR -JARBOE -HOYE -HOUCHENS -HOLTER -HOLSINGER -HICKOK -HERB -HELWIG -HELGESON -HEATER -HASSETT -HARNER -HAMMAN -HAMES -HADFIELD -GOREE -GOLDFARB -GAUGHAN -GAUDREAU -GANTZ -GALLION -FRADY -FOTI -FLESHER -FERRIN -FAUGHT -ENGRAM -ELBERT -DONEGAN -DESOUZA -DEGROOT -CUTRIGHT -CROWL -CRINER -COKE -COAN -CLINKSCALES -CHEWNING -CHAVIRA -CATCHINGS -CARLOCK -BYE -BULGER -BUENROSTRO -BRAMBLETT -BRACK -BOULWARE -BORDEAUX -BOOKOUT -BITNER -BIRT -BARANOWSKI -BAISDEN -AUGUSTIN -ALLMON -ALBERTO -ACKLIN -YOAKUM -WILBOURN -WHISLER -WEINBERGER -WASHER -VASQUES -VANZANDT -VANATTA -TROXLER -TOMES -TINDLE -TIMS -THROCKMORTON -THACH -STPETER -STLAURENT -STENSON -SPRY -SPITZ -SONGER -SNAVELY -SLY -SLEEPER -SHROYER -SHORTRIDGE -SHENK -SEVIER -SEABROOK -SCRIVNER -SALTZMAN -ROSENBERRY -ROCKWOOD -ROBESON -ROAN -REISER -REDWINE -RAMIRES -RABER -PROFIT -POSNER -POPHAM -PIPES -PIOTROWSKI -PINARD -PETERKIN -PELHAM -PEIFFER -PEAY -PEAVEY -NADLER -MUSSO -MILO -MILLETT -MESTAS -MCGOWEN -MARQUES -MARASCO -MANRIQUEZ -MANOS -MAIR -LIPPS -LESSER -LEIKER -LEEDS -KRUMM -KNORR -KINSLOW -KESSEL -KENDRICKS -KELM -ITO -IRICK -ICKES -HURLBURT -HORTA -HOEKSTRA -HEUER -HELMUTH -HEATHERLY -HAMPSON -HAGAR -HAGA -GREENLAW -GRAU -GODBEY -GINGRAS -GILLIES -GIBB -GAYDEN -GAUVIN -GARROW -FONTANEZ -FLORIO -FLEISCHMAN -FINKE -FASANO -FAN -FAITH -EZZELL -EWERS -EVELAND -ECKENRODE -DUCLOS -DRUMM -DIMMICK -DELANCEY -DEFAZIO -DEACON -DASHIELL -DAMIAN -CUSACK -CROWTHER -CRIGGER -CRAY -COOLIDGE -COLDIRON -CLELAND -CHALFANT -CASSEL -CAPE -CAMIRE -CABRALES -BROOMFIELD -BRITTINGHAM -BRISSON -BRICKEY -BRAZIEL -BRAZELL -BRAGDON -BOULANGER -BOS -BOMAN -BOHANNAN -BEEM -BARTO -BARRE -BARLEY -BAPTIST -AZAR -ASHBAUGH -ARMISTEAD -ALMAZAN -ADAMSKI -ZENDEJAS -WINBURN -WILLAIMS -WILHOIT -WESTBERRY -WENTZEL -WENDLING -WAGER -VISSER -VANSCOY -VANKIRK -VALLEE -TWEEDY -THORNBERRY -SWEENY -STALKER -SPRADLING -SPANO -SMELSER -SHIM -SECHRIST -SCHALL -SCAIFE -RUGG -RUBEN -ROTHROCK -ROESLER -RIEHL -RIDINGS -RENDER -RANSDELL -RADKE -PINERO -PETREE -PENDERGAST -PELUSO -PECORARO -PASCOE -PANEK -OSHIRO -NOON -NAVARRETTE -MURGUIA -MOORES -MOBERG -MIKE -MICHAELIS -MCWHIRTER -MCSWEENEY -MCQUADE -MCCAY -MAUK -MARIANI -MARCEAU -MANDEVILLE -MAEDA -LUNDE -LUDLOW -LOEB -LINDO -LINDERMAN -LEVEILLE -LEITH -LAROCK -LAMBRECHT -KULP -KINSLEY -KIMBERLIN -KESTERSON -JACINTO -ICE -HUI -HOYOS -HELFRICH -HANKE -HAIL -GUILLERMO -GRISBY -GOYETTE -GOUVEIA -GLAZIER -GILE -GERENA -GELINAS -GASAWAY -GARDEN -FUNCHES -FUJIMOTO -FLYNT -FENSKE -FELLERS -FEHR -ESLINGER -ESCALERA -ENCISO -DULEY -DITTMAN -DINEEN -DILLER -DEVAULT -DAO -COLLINGS -CLYMER -CLOWERS -CHAVERS -CHARLAND -CASTORENA -CASTELLO -CAMARGO -BUNCE -BULLEN -BOYES -BORCHERS -BORCHARDT -BIRNBAUM -BIRDSALL -BILLMAN -BENITES -BANKHEAD -ANGE -AMMERMAN -ADKISON -YUAN -WINEGAR -WICKMAN -WEAR -WARR -WARNKE -VILLENEUVE -VEASEY -VASSALLO -VANNATTA -VADNAIS -TWILLEY -TRUELOVE -TOWERY -TOMBLIN -TIPPETT -THEISS -TALKINGTON -TALAMANTES -SWART -SWANGER -STREIT -STRAW -STINES -STABLER -SPURLING -SOBEL -SINE -SIMMERS -SHIPPY -SHIFLETT -SHEARIN -SAUTER -SANDERLIN -RUSCH -RUNKLE -RUCKMAN -RORIE -ROESCH -ROBERTO -RICHERT -REHM -RANDEL -RAGIN -QUESENBERRY -PUENTES -PLYLER -PLOTKIN -PAUGH -OSHAUGHNESSY -OHALLORAN -NORSWORTHY -NIEMANN -NADER -MOOREFIELD -MOONEYHAM -MODICA -MIYAMOTO -MICKEL -MEBANE -MCKINNIE -MAZUREK -MANCILLA -LUKAS -LOVINS -LOUGHLIN -LOTZ -LINDSLEY -LIDDLE -LEVAN -LEDERMAN -LECLAIRE -LASSETER -LAPOINT -LAMOREAUX -LAFOLLETTE -KUBIAK -KIRTLEY -KEFFER -KACZMAREK -JENNETTE -HOUSMAN -HONEY -HIERS -HIBBERT -HERROD -HEGARTY -HATHORN -HARSH -GREENHAW -GRAFTON -GOVEA -GARDENER -FUTCH -FURST -FRISBEE -FRED -FRANKO -FORCIER -FORAN -FLICKINGER -FAIRFIELD -EURE -EMRICH -EMBREY -EDGINGTON -ECKLUND -ECKARD -DURANTE -DEYO -DELVECCHIO -DEEDS -DADE -CURREY -CUFF -CRESWELL -COTTRILL -CASAVANT -CARTIER -CARGILE -CAPEL -CAMMACK -CALFEE -BUZZARD -BURSE -BURRUSS -BRUST -BROUSSEAU -BRIDWELL -BRAATEN -BORKHOLDER -BLOOMQUIST -BJORK -BARTELT -ARP -AMBURGEY -YEARY -YAO -WHITEFIELD -VINYARD -VICENTE -VANVALKENBURG -TWITCHELL -TIMMINS -TESTER -TAPPER -STRINGHAM -STARCHER -SPOTTS -SLAUGH -SIMONSEN -SHEFFER -SEQUEIRA -ROSATI -RODE -RHYMES -REZA -RECORD -QUINT -POLLAK -PEIRCE -PATILLO -PARKERSON -PAIVA -NILSON -NICE -NEVIN -NARCISSE -NAIR -MITTON -MERRIAM -MERCED -MEINERS -MCKAIN -MCELVEEN -MCBETH -MARSDEN -MAREZ -MANKE -MAHURIN -MABREY -LUPER -KRULL -KEES -ILES -HUNSICKER -HORNBUCKLE -HOLTZCLAW -HIRT -HINNANT -HESTON -HERING -HEMENWAY -HEGWOOD -HEARNS -HALTERMAN -HALLS -GUITERREZ -GROTE -GRANILLO -GRAINGER -GLASCO -GILDER -GARREN -GARLOCK -GAREY -FU -FRYAR -FREDRICKS -FRAIZER -FOXX -FOSHEE -FERREL -FELTY -FEATHERS -EVERITT -EVENS -ESSER -ELKIN -EBERHART -DURSO -DUGUAY -DRISKILL -DOSTER -DEWALL -DEVEAU -DEMPS -DEMAIO -DELREAL -DELEO -DELAY -DEEM -DARRAH -CUMBERBATCH -CULBERSON -CRANMER -CORDLE -COLGAN -CHESLEY -CAVALLO -CASTELLON -CASTELLI -CARRERAS -CARNELL -CARMON -CARMEN -CARLUCCI -BOTTOM -BONTRAGER -BLUMBERG -BLASINGAME -BECTON -AYON -ARTRIP -ARLINE -ANDUJAR -ALKIRE -ALDER -AGAN -ZUKOWSKI -ZUCKERMAN -ZEHR -WROBLEWSKI -WRIGLEY -WOODSIDE -WIGGINTON -WESTMAN -WESTGATE -WERTS -WASHAM -WARDLOW -WALSER -WAITERS -TELLER -TADLOCK -STUCK -STRINGFIELD -STIMPSON -STICKLEY -STARBUCK -STANDISH -SPURLIN -SPINDLER -SPELLER -SPAETH -SOTOMAYOR -SOK -SLUDER -SHRYOCK -SHEPARDSON -SHATLEY -SCANNELL -SANTISTEVAN -ROSNER -ROLLAND -RHODE -RESTO -REINHARD -RATHBURN -PRISCO -POULSEN -PINNEY -PHARES -PENNOCK -PASTRANA -OVIEDO -OSTLER -NOTO -NAUMAN -MULFORD -MOISE -MOBERLY -MIRABAL -MING -METOYER -METHENY -MENTZER -MELDRUM -MCINTURFF -MCELYEA -MCDOUGLE -MASSARO -LUMPKINS -LOVEDAY -LOFGREN -LOE -LIRETTE -LESPERANCE -LEFKOWITZ -LEDGER -LAUZON -LAIN -LACHAPELLE -KURZ -KLASSEN -KEOUGH -KEMPTON -KAELIN -JEFFORDS -IM -HUOT -HSIEH -HOYER -HORWITZ -HOPP -HOEFT -HENNIG -HASKIN -GRILL -GOURDINE -GOLIGHTLY -GIROUARD -FULGHAM -FRITSCH -FREER -FRASHER -FOULK -FIRESTONE -FIORENTINO -FEDOR -FEATHER -ENSLEY -ENGLEHART -EELLS -EBEL -DUNPHY -DONAHOE -DIMAS -DILEO -DIBENEDETTO -DABROWSKI -CRICK -COONROD -CONDER -CODDINGTON -CHUNN -CHOY -CHAPUT -CERNA -CARREIRO -CALAHAN -BRAGGS -BOURDON -BONER -BOLLMAN -BITTLE -BEN -BEHM -BAUDER -BATT -BARRERAS -AUBUCHON -ANZALONE -ADAMO -ZHOU -ZERBE -ZACHERY -WITTY -WIRT -WILLCOX -WESTBERG -WEIKEL -WAYMIRE -VROMAN -VINCI -VALLEJOS -TUTOR -TRUESDELL -TROUTT -TROTTA -TOLLISON -TOLES -TICHENOR -TAI -SYMONDS -SURLES -SUNDAY -STRAYER -STGEORGE -SROKA -SORRENTINO -SOLARES -SNELSON -SILVESTRI -SIKORSKI -SHAWVER -SCHUMAKER -SCHORR -SCHOOLEY -SCATES -SATTERLEE -SATCHELL -SACKS -RYMER -ROSELLI -ROBITAILLE -RIEGEL -RICHER -REGIS -REAMES -PROVENZANO -PROPER -PRIESTLEY -PLAISANCE -PETTEY -PALOMARES -OMAN -NOWAKOWSKI -NACE -MONETTE -MINYARD -MCLAMB -MCHONE -MCCARROLL -MASSON -MARCO -MAGOON -MADDY -LUNDIN -LOZA -LICATA -LESLEY -LEONHARDT -LEMA -LANDWEHR -KIRCHER -KINCH -KARPINSKI -JOHANNSEN -HUSSAIN -HOUGHTALING -HOSKINSON -HOLLAWAY -HOLEMAN -HOBGOOD -HILT -HIEBERT -GROS -GRAM -GOGGIN -GENTLE -GEISSLER -GADBOIS -GABALDON -FLESHMAN -FLANNIGAN -FILES -FAIRMAN -EPP -EILERS -DYCUS -DUNMIRE -DUFFIELD -DOWLER -DITTO -DELOATCH -DEHAAN -DEEMER -CORNER -CLAYBORN -CHRISTOFFERSO -CHILSON -CHESNEY -CHATFIELD -CHARLIE -CASTER -CARRON -CANALE -CAMDEN -BUFF -BRIGMAN -BRANSTETTER -BOSSE -BORTON -BONAR -BLAU -BIRON -BEAGLE -BARROSO -ARVIN -ARISPE -ZACHARIAS -ZABEL -YAEGER -WORKS -WOOLFORD -WHETZEL -WEAKLEY -VEATCH -VANDEUSEN -TUFTS -TROXEL -TROCHE -TRAVER -TOWNSEL -TOSH -TALARICO -SWILLEY -STERRETT -STENGER -SPRINGFIELD -SPEAKMAN -SOWARDS -SOURS -SOUDERS -SOUDER -SOLES -SOBERS -SNODDY -SMITHER -SIAS -SHUTE -SHOAF -SHAHAN -SCHUETZ -SCAGGS -SANTINI -ROSSON -ROLEN -ROBIDOUX -RENTAS -RECIO -PIXLEY -PAWLOWSKI -PAWLAK -PAULL -PASCAL -OVERBEY -OREAR -OLIVERI -OLDENBURG -NUTTING -NAUGLE -MOTE -MOSSMAN -MOOR -MISNER -MILAZZO -MICHELSON -MEI -MCENTEE -MCCULLAR -MCCREE -MCALEER -MAZZONE -MAXIM -MARSHAL -MANDELL -MANAHAN -MALOTT -MAISONET -MAILLOUX -LUMLEY -LOWRIE -LOUVIERE -LIPINSKI -LINDEMANN -LEPPERT -LEOPOLD -LEASURE -LEAF -LABARGE -KUBIK -KNISELY -KNEPP -KENWORTHY -KENNELLY -KELCH -KARG -KANTER -IGNACIO -HYER -HOUCHIN -HOSLEY -HOSLER -HOLLON -HOLLEMAN -HEITMAN -HEBB -HAGGINS -GWALTNEY -GUIN -GREENMAN -GOULDING -GORDEN -GOODYEAR -GERACI -GEORGES -GATHERS -FRISON -FEAGIN -FALCONER -ESPADA -ERVING -ERIKSON -EISENHAUER -EDER -EBELING -DURGIN -DROWN -DOWDLE -DINWIDDIE -DELCASTILLO -DEDRICK -CRIMMINS -COVELL -COURNOYER -CORIA -COHAN -CATALDO -CARPENTIER -CANAS -CAMPA -BRODE -BRASHEARS -BLASER -BICKNELL -BERK -BEDNAR -BARWICK -ASCENCIO -ALTHOFF -ALMODOVAR -ALAMO -ZIRKLE -ZABALA -XU -WOLVERTON -WINEBRENNER -WETHERELL -WESTLAKE -WEGENER -WEDDINGTON -VONG -TUTEN -TROSCLAIR -TRIM -TRESSLER -THEROUX -TESKE -SWORD -SWINEHART -SWENSEN -SUNDQUIST -SOUTHALL -SOCHA -SIZER -SILVERBERG -SHORTT -SHIMIZU -SHERRARD -SHEN -SHAEFFER -SETH -SCHEID -SCHEETZ -SARAVIA -SANNER -RUBINSTEIN -ROZELL -ROMER -RINGO -RHEAUME -REISINGER -RAVEN -RANDLES -PULLUM -PETRELLA -PAYAN -PAPP -PABLO -NORDIN -NORCROSS -NICOLETTI -NICHOLES -NEWBOLD -NAKAGAWA -MRAZ -MONTEITH -MILSTEAD -MILLINER -MELLEN -MCCARDLE -MATTHIAS -MARCY -LUFT -LOO -LOCKER -LIPTAK -LIPP -LEITCH -LATIMORE -LARRISON -LANDAU -LABORDE -KOVAL -IZQUIERDO -HYMEL -HOSKIN -HOLTE -HOEFER -HAYWORTH -HAUSMAN -HARRILL -HARREL -HARDT -GULLY -GROOVER -GRINNELL -GREENSPAN -GRAVER -GRANDBERRY -GORRELL -GOLDENBERG -GOGUEN -GILLELAND -GARR -FUSON -FOYE -FELT -FELDMANN -EVERLY -DYESS -DYAL -DUNNIGAN -DOWNIE -DOLBY -DIVINE -DEATHERAGE -DATES -DANNA -COSEY -CORRADO -CHEEVER -CELAYA -CAVER -CASHION -CAPLINGER -CANSLER -BYRGE -BRUDER -BREW -BREUER -BRESLIN -BRAZELTON -BOTKIN -BONNEAU -BONES -BONDURANT -BOHANAN -BOGUE -BOES -BODNER -BOATNER -BLATT -BICKLEY -BELLIVEAU -BEILER -BEIER -BECKSTEAD -BART -BANG -BACHMANN -ATKIN -ARON -ANDREAS -ALTIZER -ALLOWAY -ALLAIRE -ALBRO -ABRON -ZELLMER -YETTER -YELVERTON -WILTSHIRE -WIENS -WHIDDEN -WAIT -VIRAMONTES -VANWORMER -TOPPER -TARANTINO -TANKSLEY -SUMLIN -STRAUCH -STRANG -STICE -SPAHN -SOSEBEE -SIGALA -SHROUT -SEAMON -SCHRUM -SCHNECK -SCHANTZ -SAID -RUDDY -ROMIG -ROEHL -RENNINGER -REDING -PYNE -POLAK -POHLMAN -PASILLAS -OLDFIELD -OLDAKER -OHANLON -OGILVIE -NORBERG -NOLETTE -NIES -NEUFELD -NELLIS -MUMMERT -MULVIHILL -MULLANEY -MONTELEONE -MENDONCA -MEISNER -MCMULLAN -MCCLUNEY -MATTIS -MASSENGILL -MANFREDI -LUEDTKE -LOUNSBURY -LORA -LIBERATORE -LEEK -LEASE -LAZARO -LAMPHERE -LAFORGE -KUO -KOO -JOURDAN -ISMAIL -IORIO -INIGUEZ -IKEDA -HUBLER -HODGDON -HOCKING -HEACOCK -HASLAM -HARALSON -HANSHAW -HANNUM -HALLAM -HADEN -GARNES -GARCES -GAMMAGE -GAMBINO -FINKEL -FAUCETT -FAHY -ESTEBAN -EHRHARDT -EGGEN -DUSEK -DURRANT -DUBAY -DONES -DEY -DEPASQUALE -DELUCIA -DEGRAFF -DEER -DECAMP -DAVALOS -DARWIN -DAN -CULLINS -CONARD -CLOUSER -CLONTZ -CIFUENTES -CHICO -CHAPPEL -CHAFFINS -CELIS -CARWILE -BYRAM -BRUGGEMAN -BRICK -BRESSLER -BRATHWAITE -BRASFIELD -BRADBURN -BOOSE -BOON -BODIE -BLOSSER -BLAS -BISE -BERTSCH -BERNARDI -BERNABE -BENGTSON -BARRETTE -ASTORGA -ARMAND -ANTONE -ALDAY -ALBEE -ABRAHAMSON -YARNELL -WILTSE -WILE -WIEBE -WAGUESPACK -VASSER -UPHAM -TYRE -TUREK -TUNE -TRAXLER -TORAIN -TOMASZEWSKI -TINNIN -TINER -TINDELL -TEED -STYRON -STAHLMAN -STAAB -SPOON -SPELLS -SKIBA -SHIH -SHEPERD -SEIDL -SECOR -SCHUTTE -SANFILIPPO -RUDER -RONDON -REINA -REARICK -RANK -PROCTER -PROCHASKA -PETTENGILL -PAULY -NEILSEN -NALLY -MUTTER -MULLENAX -MORANO -MEADS -MCNAUGHTON -MCMURTRY -MCMATH -MCKINSEY -MATTHES -MASSENBURG -MARLAR -MARGOLIS -MARCOS -MALIN -MAGALLON -MACKIN -LOVETTE -LOUGHRAN -LORING -LONGSTREET -LOISELLE -LENIHAN -LAUB -KUNZE -KULL -KOEPKE -KNIGHTS -KERWIN -KALINOWSKI -KAGAN -INNIS -INNES -HUSBAND -HOLTZMAN -HEINEMANN -HARSHMAN -HAIDER -HAACK -GUSS -GRONDIN -GRISSETT -GREENAWALT -GRAVEL -GOUDY -GOODLETT -GOLDSTON -GOKEY -GOIN -GARDEA -GALAVIZ -GAFFORD -GABRIELSON -FURLOW -FRITCH -FORDYCE -FOLGER -ELIZALDE -EHLERT -ECKHOFF -ECCLESTON -EALEY -DUBIN -DOLPHIN -DIETER -DIEMER -DESCHAMPS -DELAPENA -DECICCO -DEBOLT -DAUM -CULLINAN -CRITTENDON -CRASE -COSSEY -COPPOCK -COOTS -COLYER -COLUMBUS -CLUCK -CHAMBERLAND -CANE -BURKHEAD -BUMPUS -BUCHAN -BORMAN -BORK -BOE -BIRKHOLZ -BERARDI -BENDA -BEHNKE -BARTER -AUER -AMEZQUITA -WOTRING -WIRTZ -WINGERT -WIESNER -WHITESIDES -WEYANT -WAINSCOTT -VIVIAN -VENEZIA -VARNELL -TUSSEY -TRAINER -TOLL -THURLOW -TACK -TABARES -STIVER -STELL -STARKE -STANHOPE -STANEK -SISLER -SINNOTT -SIDNEY -SICILIANO -SHEHAN -SELPH -SEAGER -SCURLOCK -SCRANTON -SANTUCCI -SANTANGELO -SALTSMAN -RUEL -ROPP -ROLLING -ROGGE -RETTIG -RENWICK -REIDY -REIDER -REDFIELD -QUAM -PREMO -PORT -PIER -PEET -PARENTE -PAOLUCCI -PAN -PALMQUIST -ORME -OHLER -OGG -NETHERTON -MUTCHLER -MORITA -MISTRETTA -MINNIS -MIDDENDORF -MENZEL -MENDOSA -MENDELSON -MEAUX -MCSPADDEN -MCQUAID -MCNATT -MANIGAULT -MANEY -MAGER -LUNG -LUKES -LOPRESTI -LIRIANO -LIPTON -LETSON -LECHUGA -LAZENBY -LAURIA -LARIMORE -KWOK -KWAK -KRUPP -KRUPA -KRUM -KOPEC -KINCHEN -KIFER -KERNEY -KERNER -KENNISON -KEGLEY -KAYS -KARCHER -JUSTIS -JOHSON -JELLISON -JANKE -ISABELL -HUSKINS -HOLZMAN -HOLLIE -HINOJOS -HIGHLAND -HEFLEY -HE -HATMAKER -HARTE -HALLOWAY -HALLENBECK -GOODWYN -GLASPIE -GILLIAN -GEISE -FULLWOOD -FRYMAN -FREW -FRAKES -FRAIRE -FARRER -ENLOW -ENGEN -ELLZEY -ECKLES -EARLES -EALY -DUNKLEY -DRINKARD -DREILING -DRAEGER -DINARDO -DILLS -DESROCHES -DESANTIAGO -CURRENT -CURLEE -CRUMBLEY -CRITCHLOW -COURY -COURTRIGHT -COFFIELD -CLEEK -CHRISTEN -CHARPENTIER -CARDONE -CAPLES -CANTIN -BUNTIN -BUGBEE -BRINKERHOFF -BRACKIN -BOURLAND -BOHL -BOGDAN -BLASSINGAME -BEACHAM -BANNING -AUGUSTE -ANDREASEN -AMANN -ALMON -ALEJO -ADELMAN -ABSTON -ZENO -YERGER -WYMER -WOODBERRY -WINDLEY -WHITEAKER -WESTFIELD -WEIBEL -WANNER -WALDREP -VITAL -VILLANI -VANARSDALE -UTTERBACK -UPDIKE -TRIGGS -TOPETE -TOLAR -TIGNER -THOMS -TAUBER -TARVIN -TALLY -SWINEY -SWEATMAN -STUDEBAKER -STREETS -STENNETT -STATES -STARRETT -STANNARD -STALVEY -SONNENBERG -SMITHEY -SIEBER -SICKLES -SHINAULT -SEGARS -SANGER -SALMERON -ROTHE -RIZZI -RINE -RICARD -RESTREPO -RALLS -RAGUSA -QUIROGA -PING -PHUNG -PERO -PEGG -PAVLIK -PAPENFUSS -OROPEZA -OMAR -OKANE -NEER -NEE -NATHANIEL -MUDGE -MOZINGO -MOLINARO -MIKEL -MCVICKER -MCGARVEY -MCFALLS -MCCRANEY -MATUS -MAGERS -LLANOS -LIVERMORE -LISS -LINEHAN -LETO -LEITNER -LAYMON -LAWING -LAWERENCE -LACOURSE -KWONG -KOLLAR -KNEELAND -KEO -KENNETT -KELLETT -KANGAS -JANZEN -HUTTER -HUSE -HULING -HOSS -HOHN -HOFMEISTER -HEWES -HERN -HARJO -HABIB -GUST -GUICE -GRULLON -GREGGS -GRAYER -GRANIER -GRABLE -GOWDY -GIANNINI -GETCHELL -GARTMAN -GARNICA -GANEY -GALLIMORE -FRAY -FETTERS -FERGERSON -FARLOW -FAGUNDES -EXLEY -ESTEVES -ENDERS -EDENFIELD -EASTERWOOD -DRAKEFORD -DIPASQUALE -DESOUSA -DESHIELDS -DEETER -DEDMON -DEBORD -DAUGHTERY -CUTTS -COURTEMANCHE -COURSEY -COPPLE -COOMES -COLLIS -COLL -COGBURN -CLOPTON -CHOQUETTE -CHAIDEZ -CASTREJON -CALHOON -BURBACH -BULLOCH -BUCHMAN -BRUHN -BOHON -BLOUGH -BIEN -BELMONT -BAYNES -BARSTOW -ZEMAN -ZACKERY -YARDLEY -YAMASHITA -WULFF -WILKEN -WILIAMS -WICKERSHAM -WIBLE -WHIPKEY -WEDGEWORTH -WALMSLEY -WALKUP -VREELAND -VERRILL -VALERA -UMANA -TRAUB -TIMOTHY -SWINGLE -SWING -SUMMEY -STROUPE -STOCKSTILL -STEFFEY -STEFANSKI -STATLER -STAPP -SPEIGHTS -SONS -SOLARI -SODERBERG -SLICK -SHUNK -SHOREY -SHEWMAKER -SHEILDS -SCHIFFER -SCHANK -SCHAFF -SAGERS -RODGER -ROCHON -RISER -RICKETT -REALE -RAGLIN -POON -POLLY -POLEN -PLATA -PITCOCK -PERCIVAL -PALEN -PAHL -ORONA -OBERLE -NOCERA -NAVAS -NAULT -MULLINGS -MOUSER -MOOS -MONTEJANO -MONREAL -MINICK -MIDDLEBROOK -MEECE -MCMILLION -MCCULLEN -MAUCK -MARSHBURN -MAILLET -MAHANEY -MAGNER -MACLIN -LUCEY -LITTERAL -LIPPINCOTT -LEITE -LEIS -LEAKS -LAURIE -LAMARRE -KOST -JURGENS -JESUS -JERKINS -JAGER -HURWITZ -HUGHLEY -HOTALING -HORSTMAN -HOHMAN -HOCKER -HIVELY -HIPPS -HILE -HESSLER -HERMANSON -HEPWORTH -HENN -HELLAND -HEDLUND -HARKLESS -HAIGLER -GUTIEREZ -GUM -GRINDSTAFF -GLANTZ -GIARDINA -GERKEN -GADSDEN -FREDA -FINNERTY -FELD -FARNUM -ENCINAS -ELTON -EAGER -DRAKES -DENNIE -CUTLIP -CURTSINGER -COUTO -CORTINAS -CORBY -CHOICE -CHIASSON -CARLE -CARBALLO -BRINDLE -BORUM -BOBER -BLAGG -BIRK -BERTHIAUME -BEAHM -BATRES -BASNIGHT -BARBARA -BACKES -AXTELL -AUST -AU -ATTERBERRY -ALVARES -ALT -ALEGRIA -ABE -YOW -YIP -WOODELL -WOJCIECHOWSKI -WINFREE -WINBUSH -WIEST -WESNER -WAX -WAMSLEY -WAKEMAN -VERNER -TRUEX -TRAFTON -TOMAN -THORSEN -THOR -THEUS -TELLIER -TALLANT -SZETO -STROPE -STILLS -STAGE -SORG -SIMKINS -SHUEY -SHAUL -SERVIN -SERIO -SERAFIN -SENIOR -SEBRING -SALGUERO -SABA -RYERSON -RUDDER -RUARK -ROTHER -ROHRBAUGH -ROHRBACH -ROHAN -ROGERSON -RISHER -RIGG -REESER -PRYCE -PROKOP -PRINS -PRIEBE -PREJEAN -PINHEIRO -PETRONE -PETRI -PENSON -PEARLMAN -PARIKH -PAL -PAIR -NATOLI -MURAKAMI -MULLIKIN -MULLANE -MOTES -MORNINGSTAR -MONKS -MCVEIGH -MCGRADY -MCGAUGHEY -MCCURLEY -MASI -MARCHAN -MANSKE -MAINE -MAEZ -LUSBY -LINDE -LILE -LIKENS -LICON -LEROUX -LEMAIRE -LEGETTE -LAX -LASKEY -LAPRADE -LAPLANT -LADY -KOLAR -KITTREDGE -KINLEY -KERBER -KANAGY -JOHANNES -JETTON -JAYNE -JANUARY -JANIK -IPPOLITO -INOUYE -HUNSINGER -HOWLEY -HOWERY -HORRELL -HOOSIER -HOLTHAUS -HINER -HILSON -HILDERBRAND -HASAN -HARTZLER -HARNISH -HARADA -HANSFORD -HALLIGAN -HAGEDORN -GWYNN -GUDINO -GREENSTEIN -GREEAR -GRACEY -GOUDEAU -GOSE -GOODNER -GINSBURG -GERTH -GERNER -FYFE -FUJII -FRIER -FRENETTE -FOLMAR -FLEISHER -FLEISCHMANN -FETZER -FERN -EISENMAN -EARHART -DUPUY -DUNKELBERGER -DRUMMER -DREXLER -DILLINGER -DILBECK -DIANA -DEWALD -DEMBY -DEFORD -DANIELL -DAKE -CRAINE -COMO -CLEVER -CHESNUT -CASADY -CARSTENS -CARRICK -CARINO -CARIGNAN -CANCHOLA -CALE -BUSHONG -BURMAN -BUONO -BROWNLOW -BROACH -BRITTEN -BRICKHOUSE -BOYDEN -BOULTON -BORNE -BORLAND -BOHRER -BLUBAUGH -BEVER -BERGGREN -BENEVIDES -AROCHO -ARENDS -AMEZCUA -ALMENDAREZ -ZALEWSKI -WITZEL -WINKFIELD -WILHOITE -VARA -VANGUNDY -VANFLEET -VANETTEN -VANDERGRIFF -URBANSKI -TYRELL -TROIANO -TICKLE -THIBODAUX -STRAUS -STONEKING -STJEAN -STILLINGS -STIFF -STANGE -SQUARE -SPEICHER -SPEEGLE -SOWA -SMELTZER -SLAWSON -SIMMONDS -SHUTTLEWORTH -SERPA -SENGER -SEIDMAN -SCHWEIGER -SCHLOSS -SCHIMMEL -SCHECHTER -SAYLER -SABB -SABATINI -RONAN -RODIGUEZ -RIGGLEMAN -RICHINS -REEP -REAMER -PRUNTY -PORATH -PLUNK -PILAND -PHILBROOK -PETTITT -PERNA -PERALEZ -PASCALE -PADULA -OBOYLE -NIVENS -NICKOLS -MURPH -MUNDT -MUNDEN -MONTIJO -MCMANIS -MCGRANE -MCCRIMMON -MANZI -MANGOLD -MALICK -MAHAR -MADDOCK -LUST -LOSEY -LOOP -LITTEN -LINER -LEFF -LEEDY -LEAVELL -LADUE -KRAHN -KLUGE -JUNKER -IVERSEN -IMLER -HURTT -HUIZAR -HUBBERT -HOWINGTON -HOLLOMON -HOLDREN -HOISINGTON -HISE -HEIDEN -HAUGE -HARTIGAN -GUTIRREZ -GRIFFIE -GREENHILL -GRATTON -GRANATA -GOTTFRIED -GERTZ -GAUTREAUX -FURRY -FUREY -FUNDERBURG -FLIPPEN -FITZGIBBON -FERGUS -FELICE -EYE -DYAR -DRUCKER -DONOGHUE -DILDY -DEVERS -DETWEILER -DESPRES -DENBY -DEGEORGE -CUETO -CRANSTON -COURVILLE -CLUKEY -CIRILLO -CHON -CHIVERS -CAUDILLO -CATT -BUTERA -BULLUCK -BUCKMASTER -BRAUNSTEIN -BRACAMONTE -BOURDEAU -BORDER -BONNETTE -BOBADILLA -BOAZ -BLACKLEDGE -BESHEARS -BERNHARD -BERGESON -BAVER -BARTHEL -BALSAMO -BAK -AZIZ -AWAD -AUTHEMENT -ALTOM -ALTIERI -ABELS -ZIGLER -ZHU -YOUNKER -YEOMANS -YEARWOOD -WURSTER -WINGET -WHITSETT -WECHSLER -WEATHERWAX -WATHEN -WARRINER -WANAMAKER -WALRAVEN -VIENS -VANDEMARK -VANCAMP -UCHIDA -TRIANA -TINOCO -TERPSTRA -TELLIS -TARIN -TARANTO -TAKACS -STUDDARD -STRUTHERS -STROUT -STILLER -SPATARO -SODERQUIST -SLIGER -SILBERMAN -SHURTLEFF -SHEETZ -SCHILLINGER -RITCH -REIF -RAYBON -RATZLAFF -RADLEY -PUTT -PUTNEY -PRIME -PRESS -PINETTE -PINER -PETRIN -PARISE -OSBOURNE -NYMAN -NORTHINGTON -NOBLITT -NISHIMURA -NELL -NEHER -NALLS -NACCARATO -MUCHA -MOUNCE -MIRON -MILLIS -MEANEY -MCNICHOLS -MCKINNIS -MCJUNKIN -MCDUFFY -MAX -MARCELLO -MANRIQUE -MANNION -MANGUAL -MALVEAUX -MAINS -LUMSDEN -LUCIEN -LOHMANN -LIPE -LIGHTSEY -LEMASTERS -LEIST -LAXTON -LAVERRIERE -LATORRE -LAMONS -KRAL -KOPF -KNAUER -KITT -KAUL -KARAS -KAMPS -JUSINO -JANIS -ISLAM -HULLINGER -HUGES -HORNUNG -HISER -HEMPEL -HELSEL -HASSINGER -HARGRAVES -HAMMES -HALLBERG -GUTMAN -GUMBS -GRUVER -GRADDY -GONSALES -GONCALVES -GLENNON -GILFORD -GENO -FRESHOUR -FLIPPO -FIFER -FEW -FERMIN -FASON -FARRISH -FALLIN -EWERT -ESTEPP -ESCUDERO -ENSMINGER -EMMANUEL -EMBERTON -ELMS -ELLERBE -EIDE -DYSART -DOUGAN -DIERKING -DICUS -DETRICK -DEROCHE -DEPUE -DEMARTINO -DELOSREYES -DALKE -CULBREATH -CROWNOVER -CRISLER -CRASS -CORSI -CHAGNON -CENTERS -CAVANAGH -CASSON -CAROLLO -CADWALLADER -BURNLEY -BURCIAGA -BURCHARD -BROADHEAD -BORIS -BOOZE -BOLTE -BODY -BERENS -BELLMAN -BELLARD -BARIL -ARDEN -ANTONUCCI -AMADO -ALLIE -WOLFGRAM -WINSOR -WIMBISH -WILBERT -WIER -WALLACH -VIVEROS -VENTO -VARLEY -VANSLYKE -VANGORDER -TOUCHSTONE -TOMKO -TIEMANN -THROOP -TAMURA -TALMADGE -SWAYZE -STURDEVANT -STRAUSER -STOLZ -STENBERG -STAYTON -SPOHN -SPILLERS -SPILLANE -SLUSS -SLOANE -SLAVENS -SIMONETTI -SHOFNER -SHEAD -SENECAL -SEALES -SCHUELER -SCHLEY -SCHACHT -SAUVE -SARNO -SALSBURY -ROTHSCHILD -ROSIER -RINES -REVELES -REIN -REDUS -REDFERN -RECK -RANNEY -RAGGS -PROUT -PRILL -PREBLE -PRAGER -PLEMONS -PIPPEN -PILON -PICCIRILLO -PEWITT -PESINA -PECORA -OTANI -ORSINI -OLLIE -OESTREICH -ODEA -OCALLAGHAN -NORTHUP -NIEHAUS -NEWBERG -NASSER -NARRON -MONARREZ -MISHLER -MCSHERRY -MCELFRESH -MAYON -MAUER -MATTICE -MASH -MARRONE -MARMOLEJO -MARINI -MARIE -MARA -MALM -MACHEN -LUNCEFORD -LOEWEN -LIVERMAN -LITWIN -LINSCOTT -LEVINS -LENOX -LEGASPI -LEEMAN -LEAVY -LANNON -LAMSON -LAMBDIN -LABARRE -KNOUSE -KLEMM -KLEINSCHMIDT -KIRKLIN -KEELS -JULIANO -HOWSER -HOTT -HOSIER -HOSEA -HOPWOOD -HOLYFIELD -HODNETT -HIRSH -HEIMANN -HEIGHT -HECKEL -HARGER -HAMIL -HAJEK -GURGANUS -GUNNING -GRANGE -GONZALAS -GOGGINS -GEROW -GAYDOS -GARDUNO -GANLEY -GALEY -FARNER -ESTER -ENGLES -EMOND -EMERT -ELLENBURG -EDICK -DUELL -DUBLIN -DORAZIO -DONG -DIMOND -DIEDERICH -DEWALT -DEPUY -DEMPSTER -DEMARIA -DEHOYOS -DEARTH -DEALBA -DANE -CZECH -CROSE -CRESPIN -COGDILL -CLINARD -CIPRIANO -CHRETIEN -CHALK -CERNY -CENICEROS -CELESTIN -CAPLE -CACHO -BURRILL -BUHR -BUCKLAND -BRANAM -BOYSEN -BOVEE -BOOS -BOLER -BLOM -BLASKO -BEYERS -BELZ -BELMONTE -BEDNARZ -BECKMANN -BEAUDIN -BAZILE -BARBEAU -BALENTINE -ABRAHAMS -ABLE -ZIELKE -YUNKER -YEATES -WROBEL -WIKE -WHISNANT -WHERRY -WAGNON -VOGAN -VANSANT -VANNEST -VALLO -ULLERY -TOWLES -TOWELL -TIGER -THILL -TAORMINA -TANNEHILL -TAING -STORRS -STICKLES -STETLER -SPARLING -SOLT -SILCOX -SHEARD -SHADLE -SEMAN -SELLECK -SCHLEMMER -SCHER -SAPIEN -SAINZ -RUMBLE -ROYE -ROSAMOND -ROMAIN -RIZZUTO -RESCH -RENTZ -RATHER -RASCH -RANIERI -PURTELL -PRIMMER -PORTWOOD -PONTIUS -PONS -PLETCHER -PLEDGER -PIRKLE -PILLSBURY -PENTECOST -PENG -PAXSON -ORTEZ -ORGAN -OLES -NEWBORN -MULLETT -MUIRHEAD -MOUZON -MORK -MOLLETT -MOHN -MITCHAM -MELILLO -MEE -MEDDERS -MCMILLER -MCCLEERY -MCCAUGHEY -MANDERS -MAK -MACIEJEWSKI -MACAULAY -LUTE -LIPMAN -LEWTER -LAROCQUE -LANGTON -KRINER -KNIPP -KILLEEN -KARN -KALISH -KACZOR -JONSON -JEREZ -JARRARD -JANDA -HYMES -HOLLMAN -HOLLANDSWORTH -HOLL -HOBDY -HITCH -HENNEN -HEMMER -HAGINS -HADDOX -GUITIERREZ -GUERNSEY -GORSUCH -GHOLSON -GENOVA -GAZAWAY -GAUNA -GAMMONS -FREELS -FONVILLE -FLY -FLORIAN -FLEET -FETTERMAN -FAVA -FARQUHAR -FARISH -FABELA -ESCOTO -EISEN -DOSSETT -DORITY -DORFMAN -DEMMER -DEHN -DAWLEY -DARBONNE -DAMORE -DAMM -CROSLEY -CRON -CROMPTON -CRICHTON -COTNER -CORDON -CONERLY -COLVARD -CLAUSON -CHESS -CHEESEMAN -CHARITY -CAVALLARO -CASTILLE -CABELLO -BURGAN -BUFFUM -BRUSS -BRASSFIELD -BOWERMAN -BOTHWELL -BORGEN -BONAPARTE -BOMBARD -BOIVIN -BOISSONNEAULT -BOGNER -BODDEN -BOAN -BLANCHE -BITTINGER -BICKHAM -BEDOLLA -BALE -BAINBRIDGE -AYBAR -AVENDANO -ASHLOCK -AMIDON -ALMANZAR -AKRIDGE -ACKERMANN -ZAGER -YONG -XAVIER -WORRALL -WINANS -WILSEY -WIGHTMAN -WESTRICK -WENNER -WARNE -WARFORD -VERVILLE -UTECHT -UPSON -TUMA -TSENG -TRONCOSO -TROLLINGER -TORBERT -TAULBEE -SUTTERFIELD -STOUGH -STORCH -STONEBRAKER -STOLLE -STILSON -STIEFEL -STEPTOE -STEPNEY -STENDER -STEMPLE -STAGGERS -SPURRIER -SPRAY -SPINNEY -SPENGLER -SMARTT -SKOOG -SILVIS -SIEG -SHUFORD -SELFRIDGE -SEGUIN -SEDGWICK -SEASE -SCOTTI -SCHROER -SCHLENKER -SCHILL -SAVARESE -SAPIENZA -SANSON -SANDEFUR -SALAMONE -RUSNAK -RUDISILL -ROYALTY -ROTHERMEL -ROCA -RESENDIZ -RELIFORD -RASCO -RAIFORD -QUISENBERRY -QUIJADA -PULLINS -PUCCIO -POSTELL -POPPE -PINTER -PICHE -PETRUCCI -PELLEGRIN -PELAEZ -PATTI -PATON -PASCO -PARKES -PADEN -PABST -ORCHARD -OLMSTED -NEWLON -MYNATT -MUSTAFA -MOWER -MORRONE -MOREE -MOFFAT -MIXSON -MINNER -MIN -MILLETTE -MEDEROS -MCGAHAN -MCCONVILLE -MAUGHAN -MASSINGILL -MARANO -MACRI -LOVERN -LICHTENSTEIN -LEONETTI -LEHNER -LAWLEY -LARAMIE -LAPPIN -LAHTI -LAGO -LACAYO -KUESTER -KNEE -KINCADE -JUNIOR -JUHL -JOSLYN -JIRON -JESSOP -JERRY -JAROSZ -JAIN -HULTS -HOGE -HODGINS -HOBAN -HINKSON -HILLYARD -HERZIG -HERVEY -HENRIKSEN -HAWKER -HAUSE -HARD -HANKERSON -GREGSON -GOLLIDAY -GILCREASE -GESSNER -GERACE -GARWOOD -GARST -GAILLARD -FLINCHUM -FISHEL -FISHBACK -FILKINS -FENTRESS -FABRE -ETHIER -ESPANA -EISNER -EHRHART -EFIRD -DRENNON -DOMINY -DOMINIQUE -DOMINGUE -DIPAOLO -DINAN -DIMARTINO -DESKINS -DENGLER -DEFREITAS -DEFRANCO -DANCER -DAHLIN -CUTSHAW -CUTHBERT -CROYLE -CROTHERS -CRITCHFIELD -COWIE -COSTNER -COPPEDGE -COPES -CICCONE -CHAMP -CESAR -CAUFIELD -CAPO -CAMBRON -CAMBRIDGE -BUSER -BURNES -BUHL -BUENDIA -BRINDLEY -BRECHT -BOURGOIN -BOOMER -BLACKSHIRE -BIRGE -BENNINGER -BEMBRY -BEIL -BEGAYE -BARRENTINE -BARKS -BANTON -BALMER -BAITY -AUERBACH -AMBLER -ALEXANDRE -ACKERSON -ZURCHER -ZELL -WYNKOOP -WALLICK -WAID -VOS -VIZCAINO -VESTER -VEALE -VANDERMARK -VANDERFORD -TUTHILL -TRIVETTE -THIESSEN -TEWKSBURY -TAO -TABRON -SWIM -SWASEY -SWANIGAN -STOUGHTON -STOUDT -STIMSON -STECKER -STEAD -STALL -SPADY -SOUTHER -SMOAK -SKLAR -SIMCOX -SIDWELL -SHARON -SEYBERT -SESCO -SEEMAN -SEABORN -SCHWENK -SCHMELING -ROSSIGNOL -ROBILLARD -ROBICHEAUX -RIVERIA -RIPPEON -RIDGLEY -REMALEY -REHKOP -REDDISH -REACH -RAUSCHER -RACHEL -QUIRION -PUSEY -PRUDEN -PRESSLER -POTVIN -POSPISIL -PARADISO -PANGBURN -PALMATEER -OWNBY -OTWELL -OSTERBERG -OSMOND -OLSSON -OLD -OBERLANDER -NUSBAUM -NOVACK -NOKES -NICASTRO -NEHLS -NAY -NABER -MULHERN -MOTTER -MORETZ -MILIAN -MERCEDES -MCKEEL -MCCLAY -MCCART -MATSUDA -MARY -MARTUCCI -MARPLE -MARKO -MARCINIAK -MANES -MANCIA -MAKER -MACRAE -LYBARGER -LINT -LINEBERGER -LEVINGSTON -LECROY -LATTIMER -LASETER -KULICK -KRIER -KNUTSEN -KLEM -KINNE -KINKADE -KETTERMAN -KERSTETTER -KERSTEN -KARAM -JURY -JOSHI -JIN -JENT -JEFCOAT -HILLIER -HILLHOUSE -HETTINGER -HENTHORN -HENLINE -HELZER -HEITZMAN -HEINEMAN -HEENAN -HAUGHTON -HARIS -HARBERT -HAMAN -GRINSTEAD -GREMILLION -GORBY -GIRALDO -GIOIA -GERARDI -GERAGHTY -GAUNT -GATSON -GARDIN -GANS -GAMMILL -GAMES -GAIN -FRIEDLANDER -FRAHM -FOSSETT -FOSDICK -FORTH -FORBUSH -FONDREN -FLECKENSTEIN -FITCHETT -FILER -FELIZ -FEIST -EWART -EVELYN -ESTERS -ELSNER -EDGIN -EDDIE -EASTERLY -DUSSAULT -DURAZO -DON -DEVEREAUX -DESHOTEL -DECKERT -DARGAN -DARE -CORNMAN -CONKLE -CONDIT -COMMANDER -CLAUNCH -CLABAUGH -CHUTE -CHEESMAN -CHEA -CHARNEY -CHARLESTON -CASELLA -CARONE -CARBONELL -CANIPE -CAMPANA -CALLES -CABEZAS -CABELL -BUTTRAM -BUSTILLOS -BUSKIRK -BOYLAND -BOURKE -BLAKELEY -BIG -BERUMEN -BERRIER -BENCH -BELLI -BEHRENDT -BAUMBACH -BARTSCH -BANEY -ARAMBULA -ALLDREDGE -ALLBRITTON -ZIEMBA -ZANDERS -YOUNGQUIST -YOSHIOKA -YOHE -WUNDER -WOODFIN -WOJTOWICZ -WINKEL -WILMORE -WILLBANKS -WESOLOWSKI -WENDLAND -WALKO -VOTAW -VANEK -URIARTE -URBANO -TURNIPSEED -TRICHE -TRAUTMAN -TOWLER -TOKARZ -TEMPLES -TEFFT -TEEGARDEN -SYED -SWIGART -STRYKER -STOLLER -STAPLER -STANSFIELD -SMIT -SMELLEY -SICARD -SHULMAN -SHEW -SHEAR -SHEAHAN -SHARPTON -SELVIDGE -SCHLESINGER -SAVELL -SANDFORD -SABATINO -ROSENBLOOM -ROEPKE -RISH -RHAMES -RENKEN -REGER -RAPPAPORT -QUARTERMAN -PUIG -PRASAD -POPLAR -PIZANO -PIGOTT -PICK -PHAIR -PETRICK -PATT -PASCUA -PARAMORE -PAPINEAU -OLIVIERI -OGREN -NORDEN -NOGA -NISBET -MUNK -MUNCH -MUI -MORVANT -MORO -MOLONEY -MERZ -MENG -MELTZER -MELLINGER -MEHL -MCNEALY -MCKERNAN -MCHANEY -MCCLESKEY -MCANDREWS -MAYTON -MAYOR -MARKERT -MARESCA -MARCELLUS -MANER -MANDUJANO -MALPASS -MACINTYRE -LYTTON -LYALL -LUMMUS -LONGSHORE -LONGFELLOW -LOKEY -LOCHER -LEVERETTE -LEPE -LEFEVER -LEESON -LEDERER -LAMPERT -LAGRONE -LA -KREIDER -KORTH -KNOPF -KLEIST -KISS -KELTNER -KELLING -KASPAR -KAPPLER -JUSTIN -JOSEPHS -JIANG -HUCKINS -HORACE -HOLUB -HOFSTETTER -HOEHN -HIGGINSON -HENNINGS -HEID -HAVEL -HAUER -HARNDEN -HARGREAVES -HANGER -GUILD -GUIDI -GRATE -GRANDY -GRANDSTAFF -GOZA -GOODRIDGE -GOODFELLOW -GOGGANS -GODLEY -GIUSTI -GILYARD -GEOGHEGAN -GALYON -GAETA -FUNES -FONT -FLOR -FLANARY -FALES -ERLANDSON -ELLETT -ELIA -EDINGER -DZIEDZIC -DUERR -DRAUGHN -DONOHO -DIMATTEO -DEVOS -DEMATTEO -DEGNAN -DARLINGTON -DANIS -DAM -DAHLSTROM -DAHLKE -CZAJKOWSKI -CUMBIE -CULBERT -CROSIER -CROLEY -CORRY -CLINGER -CHESHIRE -CHALKER -CEPHAS -CAYWOOD -CAVALIER -CAPEHART -CALES -CADIZ -BUSSIERE -BURRISS -BURKART -BRUNDIDGE -BRONSTEIN -BREEZE -BRADT -BOYDSTON -BOSTROM -BOREL -BOLLES -BLAY -BLACKWELDER -BISSETT -BEVERS -BESTER -BERNARDINO -BENEFIEL -BELOTE -BEEDLE -BECKLES -BAYSINGER -BASSLER -BARTEE -BARLETT -BARGAS -BAREFIELD -BAPTISTA -ARTERBURN -ARMAS -APPERSON -AMOROSO -AMEDEE -ZULLO -ZELLNER -YELTON -WILLEMS -WILKIN -WIGGIN -WIDMAN -WELK -WEINGARTEN -WALLA -VIERS -VESS -VERDI -VEAZEY -VANNOTE -TULLOS -TRUDELL -TROWER -TROSPER -TRIMM -TREW -TOUSIGNANT -TOPP -TOCCO -THORESON -TERHUNE -TATOM -SUNIGA -SUMTER -STEEVES -STANSELL -SOLTIS -SLOSS -SLAVEN -SING -SHISLER -SHERIFF -SHANLEY -SERVANTES -SELDERS -SEGREST -SEESE -SEEBER -SCHAIBLE -SAVALA -SARTOR -RUTT -RUMBAUGH -RUIS -ROTEN -ROESSLER -RITENOUR -RINEY -RESTIVO -RENE -RENARD -RAKESTRAW -RAKE -RACHAL -QUIROS -PULLIN -PRUDHOMME -PRIMEAUX -PRESTRIDGE -PRESSWOOD -PONTE -POLZIN -POARCH -PITTENGER -PIGGOTT -PICKELL -PHANEUF -PARVIN -PARMLEY -PALMERI -PAISLEY -OZMENT -ORMOND -ORDAZ -ONO -OLEA -OBANION -OAKMAN -NOVICK -NICKLAS -NEMEC -NAPPI -MUND -MORFIN -MERA -MELGOZA -MELBY -MCGOLDRICK -MCELWAIN -MCCHRISTIAN -MCCAW -MARQUART -MARLATT -MARKOVICH -MAHR -LUPTON -LUCUS -LORUSSO -LERMAN -LEDDY -LEAMAN -LEACHMAN -LAVALLE -LADUKE -KUMMER -KOURY -KONOPKA -KOH -KOEPP -KLOSS -KLOCK -KHALIL -KERNAN -KAPPEL -JAKES -INOUE -HUTSELL -HOWLE -HONORE -HOLE -HOCKMAN -HOCKADAY -HILTZ -HETHERINGTON -HESSER -HERSHMAN -HENG -HEFFRON -HEADEN -HASKETT -HARTLINE -HARNED -GUILLEMETTE -GUGLIELMO -GUERCIO -GREENBAUM -GORIS -GLINES -GILMOUR -GARDELLA -GADD -GABLER -GABBERT -FUSELIER -FREUDENBURG -FRAGOSO -FOLLIS -FLEMINGS -FELTMAN -FEBUS -FARREN -FALLIS -EVERT -EKSTROM -EASTRIDGE -DYCK -DUFAULT -DUBREUIL -DRESSER -DRAPEAU -DOMINGUES -DOLEZAL -DINKEL -DIDONATO -DEVITT -DEVANE -DEMOTT -DAUGHTREY -DAUBERT -DAS -DARRELL -CREASON -CRARY -COSTILLA -CHIPPS -CHEATWOOD -CARMEAN -CANTON -CAFFREY -BURGHER -BUKER -BRUNK -BRODBECK -BRANTNER -BRANDY -BOLIVAR -BOERNER -BODKIN -BIEL -BETTY -BENCOMO -BELLINO -BELIVEAU -BEAUVAIS -BEAUPRE -BAYLIS -BASKETT -BARCUS -BARBERA -BALTZ -ASAY -ARNEY -ARCURI -ANKNEY -AGOSTINI -ADDY -ZWILLING -ZUBIA -ZOLLINGER -ZEITZ -YARD -YANES -WINSHIP -WINNINGHAM -WICKLINE -WEBRE -WADDINGTON -VOSBURGH -VESSELS -VERRETT -VEDDER -VARNUM -VANDEVENTER -VACCA -USRY -TOWRY -TOUCHET -TOOKES -TONKIN -TIMKO -TIBBITTS -THEDFORD -TARLETON -TALTY -TALAMANTEZ -TAFOLLA -SUGG -STRECKER -STIRLING -STEFFAN -SPIVA -SLAPE -SIEMENS -SHATZER -SEYLER -SEAMANS -SCHMALTZ -SCHIPPER -SASSO -SAILOR -RUPPE -RUNNER -ROYALS -ROUDEBUSH -RIPPLE -RIEMER -RICHARSON -REVILLA -REICHENBACH -RATLEY -RAILSBACK -QUAYLE -POPLIN -POORMAN -PONTON -POLO -POLLITT -POITRAS -PISCITELLI -PIEDRA -PICKLES -PEW -PERERA -PEOPLE -PENWELL -PELT -PAULINE -PARKHILL -PALADINO -ORE -ORAM -OLMO -OLIVERAS -OLIVARRIA -OGORMAN -NEAR -NARON -NA -MUNCIE -MOWBRAY -MORONES -MORETTI -MONN -MITTS -MINKS -MINARIK -MIMMS -MILLIRON -MILLINGTON -MILLHOUSE -MESSERSMITH -MCNETT -MCKINSTRY -MCGEORGE -MCDILL -MCATEER -MAZZEO -MATCHETT -MAHOOD -MABERY -LUNDELL -LOUDEN -LOSOYA -LISK -LEZAMA -LEIB -LEBO -LANOUE -LANFORD -LAFORTUNE -KUMP -KRONE -KREPS -KOTT -KOPECKY -KOLODZIEJ -KNUCKLES -KINMAN -KIMMONS -KELTY -KASTER -KARLSON -KANIA -JULES -JOYAL -JOB -JENNER -JASINSKI -JANDREAU -ISENHOUR -HUNZIKER -HUHN -HOUDE -HOUCHINS -HOLTMAN -HODO -HEYMAN -HENTGES -HEDBERG -HAYNE -HAYCRAFT -HARSHBARGER -HARSHAW -HARRISS -HARING -HANSELL -HANFORD -HANDLER -HAMBURG -HAMBLEN -GUNNELL -GROAT -GORECKI -GOCHENOUR -GLEESON -GENEST -GEISER -GABRIELE -FULGHUM -FRIESE -FRIDLEY -FREEBORN -FRAILEY -FLAUGHER -FIALA -ETTINGER -ETHEREDGE -ESPITIA -ERIKSEN -ENGELBRECHT -ENGEBRETSON -ELIE -EICKHOFF -EDNEY -EDELEN -EBERHARD -EASTIN -EAKES -DRIGGS -DONER -DONAGHY -DISALVO -DESHONG -DAHMS -DAHLQUIST -CURREN -CRIPE -CREE -CREAGER -CORLE -CONATSER -COMMONS -COGGIN -CODER -COAXUM -CLOSSON -CLODFELTER -CLASSEN -CHITTENDEN -CASTILLEJA -CASALE -CARTEE -CARRIERE -CANUP -CANIZALES -BURGOON -BUNGER -BUGARIN -BUCHANON -BRUNING -BRUCK -BROOKES -BROADWELL -BRIER -BREKKE -BREESE -BRACERO -BOWLEY -BOWERSOX -BOSE -BOGAR -BLOSSOM -BLAUSER -BLACKER -BJORKLUND -BELAIR -BAUMER -BASLER -BARB -BALTIMORE -BAIZE -BADEN -AUMAN -AMUNDSEN -AMORE -ALVARENGA -ADAN -ADAMCZYK -YERKES -YERBY -YAWN -YAMAGUCHI -WORTHEY -WOLK -WIXOM -WIERSMA -WIECZOREK -WHIDDON -WEYER -WETHERINGTON -WEIN -WATCHMAN -WARF -WANSLEY -VESELY -VELAZCO -VANNORMAN -VALASQUEZ -UTZ -URSO -TURCO -TURBEVILLE -TRIVETT -TORRANCE -TOOTHAKER -TOOHEY -TONDREAU -THALER -SYLVAIN -SWINDLER -SWIGERT -SWIDER -STINER -STEVER -STEFFES -STAMPLEY -STAIR -SMIDT -SKEETE -SILVESTRE -SHY -SHUTTS -SHOCK -SHEALEY -SEIGLER -SCHWEIZER -SCHULDT -SCHLICHTING -SCHERR -SAULSBERRY -SANER -ROSIN -ROSATO -ROLING -ROHN -RIX -RISTER -REMLEY -REMICK -RECINOS -RAMM -RAABE -PURSELL -POYTHRESS -POLI -POKORNY -PLUM -PETTRY -PETREY -PETITT -PENMAN -PAYSON -PAQUET -PAPPALARDO -OUTLAND -OSCAR -ORENSTEIN -NUTTALL -NUCKOLS -NOTT -NIMMO -MURTAGH -MOUSSEAU -MOULDER -MOONEYHAN -MOAK -MINCH -MIERA -MERCURI -MEIGHAN -MCNELLY -MCGUFFIN -MCCREERY -MCCLASKEY -MAN -MAINOR -LUONGO -LUNDSTROM -LOUGHMAN -LOOSE -LOBO -LOBB -LINHART -LIBERTY -LEVER -LEU -LEITER -LEHOUX -LEHN -LARES -LAPAN -LANGHORNE -LAMON -LADWIG -LADSON -KUZMA -KREITZER -KNOP -KEECH -KEA -KADLEC -JO -JHONSON -JANTZ -INGLIS -HUSK -HULME -HOUSEL -HOFMAN -HILLERY -HEIDENREICH -HEAPS -HASLETT -HARTING -HARTIG -HAMLER -HALTON -HALLUM -GUTIERRES -GUIDA -GUERRIER -GROSSI -GRESS -GREENHALGH -GRAVELLE -GOW -GOSLIN -GONYEA -GIPE -GERSTNER -GASSER -GARCEAU -GANNAWAY -GAMA -GALLOP -GAISER -FULLILOVE -FOUTZ -FOSSUM -FLANNAGAN -FARRIOR -FALLER -ERICKSEN -ENTREKIN -ENOCHS -ENGLUND -ELLENBERGER -EASTLAND -EARWOOD -DUDASH -DU -DROZD -DESOTO -DELPH -DEKKER -DEJOHN -DEGARMO -DEFEO -DEFALCO -DEBLOIS -DACUS -CUDD -CROSSEN -CROOMS -CRONAN -COSTIN -COSTANZA -CORDRAY -COMERFORD -COLLIE -COLEGROVE -COLDWELL -CLAASSEN -CHARTRAND -CASTIGLIONE -CARTE -CARDELLA -CARBERRY -CAPP -CAPOBIANCO -CANGELOSI -BUCH -BRUNELL -BRUCKER -BROCKETT -BRIZENDINE -BRINEGAR -BRIMER -BRASE -BOSQUE -BONK -BOLGER -BOHANON -BOHAN -BLAZEK -BERNING -BERGAN -BENNETTE -BEAUCHEMIN -BATTISTE -BARRA -BALOGH -AVIS -AVALLONE -AUBRY -ASHCROFT -ASENCIO -ARLEDGE -ANCHONDO -AMY -ALVORD -ACHESON -ZALESKI -YONKER -WYSS -WYCOFF -WOODBURN -WININGER -WINDERS -WILLMON -WIECHMANN -WESTLEY -WEATHERHOLT -WARNICK -WARDLE -WARBURTON -VOLKERT -VIRGIN -VILLANVEVA -VEIT -VASS -VANALLEN -TUNG -TORIBIO -TOOTHMAN -TIGGS -THORNSBERRY -THOME -TEPPER -TEEPLE -TEBO -TASSONE -TANN -SULTAN -STUCKER -STOTLER -STONEMAN -STEHLE -STANBACK -STALLCUP -SPURR -SPEERS -SPADA -SOLUM -SMOLEN -SINN -SILVERNAIL -SHOLES -SHIVES -SHAIN -SECREST -SEAGLE -SCHUETTE -SCHOCH -SCHNIEDERS -SCHILD -SCHIAVONE -SCHIAVO -SCHARFF -SANTEE -SANDELL -SALVO -ROLLINGS -ROLLIN -RIVENBURG -RITZMAN -RIST -RIO -RICARDO -REYNOSA -RETANA -REIBER -REGNIER -RARICK -RANSOME -RALL -PROPES -PRALL -POYNER -PONDS -POITRA -PLASTER -PIPPINS -PINION -PICCOLO -PHU -PERILLO -PENROSE -PENDERGRAFT -PELCHAT -PEED -PATENAUDE -PALKO -ODOMS -ODDO -NOVOA -NOONE -NEWBURN -NEGRI -NANTZ -MOSSER -MOSHIER -MOLTER -MOLINARI -MOLER -MILLMAN -MEURER -MENDEL -MCRAY -MCNICHOLAS -MCNERNEY -MCKILLIP -MCILVAIN -MCADORY -MATTER -MASTER -MARMOL -MARINEZ -MANZER -MANKIN -MAKRIS -MAJESKI -MAGNUS -MAFFEI -LUOMA -LUMAN -LUEBKE -LUBY -LOMONACO -LOAR -LITCHFORD -LINTZ -LICHT -LEVENSON -LEGGE -LAUGHTER -LANIGAN -KROM -KREGER -KOOP -KOBER -KLIMA -KITTERMAN -KINKEAD -KIMBELL -KILIAN -KIBBE -KENDIG -KEMMER -KASH -JENKIN -INNISS -HURLBUT -HUNSUCKER -HUGO -HUCKABEE -HOXIE -HOGLUND -HOCKENSMITH -HOADLEY -HINKEL -HIGUERA -HERRMAN -HEINER -HAUSMANN -HAUBRICH -HASSEN -HANLIN -HALLINAN -HAGLUND -HAGBERG -GULLO -GULLION -GRONER -GREENWALT -GRAND -GOODWILL -GONG -GOBERT -GLOWACKI -GLESSNER -GINES -GILDERSLEEVE -GILDEA -GERKE -GERHARD -GEBHARD -GATTON -GATELY -GALASSO -FRALICK -FOUSE -FLUHARTY -FAUCETTE -FAIRFAX -EVANOFF -ELSER -ELLARD -EGERTON -EDIE -ECTOR -EBLING -DUNKEL -DUHART -DRYSDALE -DOSTAL -DOREY -DOLPH -DOLES -DISMUKES -DIGREGORIO -DIGBY -DEWEES -DERAMUS -DENNISTON -DENNETT -DELONEY -DELAUGHTER -DARCY -CUNEO -CUMBERLAND -CROTTS -CROSSWHITE -CREMEANS -CREASEY -COTTMAN -COTHERN -COSTALES -COSNER -CORPUS -CORA -CONSTABLE -COLLIGAN -COBBLE -CLUTTER -CHUPP -CHEVEZ -CHATMON -CHAIRES -CAPLAN -CAFFEE -CABANA -BURROUGH -BURDITT -BUCKLER -BRUNSWICK -BROUILLARD -BROADY -BOWLBY -BOULEY -BORGMAN -BOLTZ -BODDY -BLACKSTON -BIRDSELL -BEDGOOD -BATE -BASIL -BARTOS -BARRIGA -BARRIE -BARNA -BARCENAS -BANACH -BACCUS -AUCLAIR -ASHMAN -ARTER -ARENDT -ANSELL -ALLUMS -ALLSOP -ALLENDER -ALBER -ALBARRAN -ADELSON -ZOLL -WYSONG -WIMBLEY -WILDES -WHITIS -WHITEHILL -WHICKER -WEYMOUTH -WELL -WELDY -WARK -WAREHAM -WADDY -VIVEIROS -VITO -VIDES -VECCHIO -VATH -VANDOREN -VANDERHOOF -UNREIN -UECKER -TSAN -TREPANIER -TREGRE -TORKELSON -TON -TOBLER -TINEO -TIMMER -SWOPES -SWOFFORD -SWEETEN -SWARTS -SUMMERFIELD -SUMLER -STUCKY -STROZIER -STIGALL -STICKEL -STENNIS -STELZER -STEELY -SOLAR -SLAYDEN -SKILLERN -SHURTZ -SHELOR -SHELLENBARGER -SHAND -SHABAZZ -SEO -SCROGGS -SCHWANDT -SCHRECENGOST -SCHOENROCK -SCHIRMER -SANDRIDGE -RUZICKA -ROZEK -ROWLANDS -ROSER -ROSENDAHL -ROMANOWSKI -ROMAINE -ROLSTON -RINK -RIGGIO -REICHMAN -REDONDO -REAY -RAWLINSON -RASKIN -RAINE -QUANDT -PURPURA -PURDUE -PRUNEDA -PREVATTE -PRETTYMAN -PINEDO -PIERRO -PIDGEON -PHILLIPPI -PFEIL -PENIX -PEASLEY -PARO -OVERALL -OSPINA -ORTEGON -OGATA -OGARA -NORMANDIN -NORDMAN -NIMS -NASSAR -MOTZ -MORLAN -MOORING -MOLES -MOIR -MIZRAHI -MIRE -MINAYA -MILLWOOD -MIKULA -MESSMER -MEIKLE -MCTAGGART -MCGONAGLE -MCEWAN -MCCASLAND -MCCANE -MCCAFFERY -MCALEXANDER -MATTOCKS -MATTIE -MATRANGA -MARTONE -MARKLAND -MARAVILLA -MANNO -MANLY -MANCHA -MALLERY -MAGNO -LORENTZ -LOCKLIN -LIVINGSTONE -LIPFORD -LININGER -LINE -LIAO -LEPLEY -LEMING -LEMELIN -LEADBETTER -LAWHON -LATTIN -LANGWORTHY -LAMPMAN -LAMBETH -LAMARR -LAHEY -KRAJEWSKI -KLOPP -KINNISON -KESTNER -KERRY -KENNELL -KARIM -JOZWIAK -JAKUBOWSKI -JAGGER -IVERY -ISHMAEL -ILIFF -IDDINGS -HUDKINS -HOUSEMAN -HOLZ -HOLDERMAN -HOEHNE -HIGHFILL -HIETT -HESKETT -HELDT -HEDMAN -HAYSLETT -HATCHELL -HASSE -HAMON -HAMADA -HAKALA -HAISLIP -HAFFEY -HACKBARTH -GUO -GULLICKSON -GUERRETTE -GUAN -GREENBLATT -GOUDREAU -GONGORA -GODBOUT -GLAUDE -GILLS -GILLISON -GIGLIOTTI -GARGANO -GALLUCCI -GALLI -GALANTE -FRASURE -FODOR -FIZER -FISHBURN -FINKBEINER -FINCK -FAGER -ESTEY -ESPIRITU -EPPINGER -EPPERLY -EMIG -ECKLEY -DRAY -DORSCH -DILLE -DEVITA -DESLAURIERS -DEMERY -DELORME -DELBOSQUE -DAUPHIN -DANTONIO -CURD -CRUME -CROWN -COZAD -COSSETTE -COMACHO -CLIMER -CHADBOURNE -CESPEDES -CAYTON -CASTALDO -CARPINO -CARLS -CAPOZZI -CANELA -CADET -BUZARD -BUSICK -BURLISON -BRINKMANN -BRIDGEFORTH -BOURBEAU -BORNSTEIN -BOOTS -BONFIGLIO -BOICE -BOESE -BIONDI -BILSKI -BETTON -BERWICK -BERLANGA -BEHAN -BECRAFT -BARRIENTEZ -BANH -BALKE -BALDERRAMA -BAHE -BACHAND -ATLAS -ARMER -ARCEO -ALIFF -ALATORRE -ZERMENO -ZANE -YOUNCE -YOU -YEOMAN -YAMASAKI -WROTEN -WORM -WOODBY -WINER -WILMER -WILLITS -WILCOXON -WEHMEYER -WATERBURY -WASS -WANN -WAKE -WACHTEL -VIZCARRA -VINCE -VICTORY -VEITCH -VANDERBILT -VALLONE -VALLERY -URENO -TYER -TIPPS -TIEDEMAN -THEBERGE -TEXEIRA -TAUB -TAPSCOTT -STUTTS -STULTS -STUKES -STAFF -SPINK -SOTTILE -SMITHWICK -SLANE -SIMEONE -SILVESTER -SIEGRIST -SHIFFER -SHEEDY -SHEAFFER -SEVERIN -SELLMAN -SCOTTO -SCHUPP -SCHUELLER -SCHREIER -SCHOOLCRAFT -SCHOENBERGER -SCHNABEL -SANGSTER -SAMFORD -SALIBA -RYLES -RYANS -ROSSETTI -RODRIGUZ -RISCH -RIEL -REZENDES -RESTER -RENCHER -RECKER -RATHJEN -PROFITT -POTEETE -POLIZZI -PERRIGO -PATRIDGE -OSBY -ORVIS -OPPERMAN -OPPENHEIM -ONORATO -OLAUGHLIN -OHAGAN -OGLES -OEHLER -OBYRNE -NUZZO -NICKLE -NEASE -NEAGLE -NAVARETTE -NAGATA -MUSTO -MORNING -MORISON -MONTZ -MOGENSEN -MIZER -MIRAGLIA -MINGUS -MIGLIORE -MERIDETH -MENGES -MELLOR -MCNEAR -MCNAB -MCLOUD -MCELLIGOTT -MCCOLLOM -MAYNES -MARQUETTE -MARKOWSKI -MARCANTONIO -MAR -MALDANADO -MAKIN -MACEY -LUNDEEN -LOVIN -LONGINO -LISLE -LINTHICUM -LIMONES -LESURE -LESAGE -LEISURE -LAUVER -LAUBACH -LATSHAW -LARY -LAPHAM -LACOSTE -LACHER -KUTCHER -KNICKERBOCKER -KLOS -KLINGLER -KLEIMAN -KITTLESON -KIMBREL -KIMBERLY -KEMMERER -KELSON -KEESE -KAM -KALLAS -JURGENSEN -JUNKINS -JUNEAU -JUERGENS -JOLLIFF -JELKS -JANICKI -JANG -INNOCENT -INGLES -INGE -HUGULEY -HUGGARD -HOWTON -HONE -HOLFORD -HOLDING -HOGLE -HIPPLE -HEIMBACH -HEIDER -HEIDEL -HAVENER -HATTAWAY -HARRAH -HANSCOM -HANKINSON -HAMDAN -GRIDLEY -GOULETTE -GOULART -GOODSPEED -GOODROW -GO -GIRARDI -GENT -GAUTREAU -GANZ -GANDARA -GAMBLIN -GALIPEAU -FYFFE -FURROW -FULP -FRICKS -FRASE -FRANDSEN -FOUT -FOULKS -FOUCHE -FOSKEY -FORGEY -FOOR -FOBBS -FINKLEA -FINCHAM -FIGUEIREDO -FESTA -FERRIER -FELLMAN -ESLICK -EILERMAN -ECKART -EAGLIN -DUNFEE -DUMOND -DREWRY -DOUSE -DOMINO -DIMICK -DIENER -DICKERT -DEINES -DEGREE -DECLUE -DAW -DATTILO -DANKO -CUSTODIO -CUCCIA -CRUNK -CRISPIN -CORP -CORNWALL -COREA -COPPIN -CONSIDINE -CONIGLIO -CONBOY -COLLAR -COCKRUM -CLUTE -CLEWIS -CLAUDE -CHRISTIANO -CHANNELL -CHANNEL -CERRATO -CECERE -CATOE -CASTILLON -CASTILE -CARSTARPHEN -CARMOUCHE -CAPERTON -BUTEAU -BURY -BUMPERS -BREY -BRENTON -BRAZEAL -BRASSARD -BRASS -BRAGA -BRADHAM -BOURGET -BORRELLI -BORBA -BOOTHBY -BOHR -BOHM -BOEHME -BODIN -BLOSS -BLOCHER -BIZZELL -BIEKER -BERTHELOT -BERNARDINI -BERENDS -BENARD -BELSER -BAZE -BARTLING -BARRIENTES -BARRAS -BARCIA -BANFIELD -AURAND -ARTMAN -ARNOTT -AREND -ARDIS -AMON -ALMAGUER -ALLEE -ALBARADO -ALAMEDA -ABDO -ZUEHLKE -ZOELLER -YOKOYAMA -YOCOM -WYLLIE -WOOLUM -WINT -WINLAND -WINK -WILNER -WILMES -WHITLATCH -WESTERVELT -WALTHALL -WALKOWIAK -WALBURN -VIVIANO -VANDERHOFF -VALEZ -UGALDE -TRUMBULL -TODARO -TILFORD -TIDD -TIBBITS -TERRANOVA -TEMPLEMAN -TANNENBAUM -TALMAGE -TABAREZ -SWEARENGIN -SWARTWOOD -SVENDSEN -STRUM -STRACK -STORIE -STOCKARD -STEINBECK -STARNS -STANKO -STANKIEWICZ -STACKS -STACH -SPROLES -SPENSER -SMOTHERMAN -SLUSSER -SINHA -SILBER -SIEFERT -SIDDIQUI -SHUFF -SHERBURNE -SELDON -SEDDON -SCHWEIGERT -SCHROETER -SCHMUCKER -SAFFOLD -RUTZ -RUNDLE -ROSINSKI -ROSENOW -ROGALSKI -RIDOUT -RHYMER -REPLOGLE -REGINA -REDA -RAYGOZA -RATNER -RASCOE -RAHM -QUINCY -QUAST -PRY -PRESSNELL -PREDMORE -POU -PORTO -PLEASANTS -PIGFORD -PAVONE -PATNAUDE -PARRAMORE -PAPADOPOULOS -PALMATIER -OUZTS -OSHIELDS -ORTIS -OLMEDA -OLDEN -OKAMOTO -NORBY -NITZ -NIEBUHR -NEVIUS -NEIMAN -NEIDIG -NEECE -MURAWSKI -MROZ -MOYLAN -MOULTRY -MOSTELLER -MORING -MORGANTI -MOOK -MOFFET -METTLER -MERLO -MENGEL -MENDELSOHN -MELI -MELCHIOR -MCMEANS -MCFADDIN -MCCULLERS -MCCOLLISTER -MCCLOY -MCCLAINE -MAURY -MASER -MARTELLI -MANTHEY -MALKIN -MAIO -MAGWOOD -MAGINNIS -MABON -LUTON -LUSHER -LUCHT -LOBATO -LEVIS -LETELLIER -LEGENDRE -LAUREL -LATSON -LARMON -LARGO -LANDRENEAU -LANDGRAF -LAMBERSON -KURLAND -KRESGE -KORMAN -KORANDO -KLAPPER -KITSON -KINYON -KINCHELOE -KAWAMOTO -KAWAKAMI -JENNEY -JEANPIERRE -IVERS -ISSA -INCE -HUGH -HUG -HONDA -HOLLIER -HOLLARS -HOERNER -HODGKINSON -HIOTT -HIBBITTS -HERLIHY -HENRICKS -HEAVNER -HAYHURST -HARVILL -HAREWOOD -HANSELMAN -HANNING -GWYN -GUSTAVSON -GROUNDS -GRIZZARD -GRINDER -GRAYBEAL -GRAVLEY -GORNEY -GOLL -GOEHRING -GODINES -GOBEIL -GLICKMAN -GIULIANO -GIMBEL -GIFT -GEIB -GAYHART -GATTI -GAINS -GADBERRY -FREI -FRAISE -FOUCH -FORST -FORSMAN -FOLDEN -FOGLEMAN -FIGARO -FETTY -FEELY -FABRY -EURY -ESTILL -EPLING -ELAMIN -ECHAVARRIA -DUTIL -DURYEA -DUMAIS -DRAGO -DOWNARD -DOUTHIT -DOOLIN -DOBOS -DISON -DINGES -DIEBOLD -DESILETS -DESHAZO -DEPAZ -DEGENNARO -DALL -CYPHERS -CRYER -CROCE -CRISMAN -CREDLE -CORIELL -COPP -COOP -COMPOS -COLMENERO -COGAR -CLIFF -CHAPEL -CARNEVALE -CAMPANELLA -CALEY -CALDERONE -BURTCH -BROUWER -BREHMER -BRASSELL -BRAFFORD -BOURQUIN -BOURN -BOHNERT -BLEWETT -BLASS -BLAKES -BHAKTA -BESSER -BERGE -BELLIS -BALFOUR -AVERA -AUSTRIA -APPLIN -AMMON -ALSOP -ALESHIRE -AKBAR -ZOLLER -ZAPIEN -WYMORE -WYBLE -WOLKEN -WIX -WICKSTROM -WHOBREY -WHIGHAM -WESTERLUND -WELSCH -WEISSER -WEISNER -WEINSTOCK -WEHNER -WATLINGTON -WAKELAND -WAFER -VIRGEN -VICTORINO -VELTRI -VEITH -URICH -URESTI -UMBERGER -TWEDT -TUOHY -TSCHIDA -TRUMBLE -TROIA -TRISTAN -TRIMMER -TOPPS -TONN -TIERNAN -THREET -THRALL -THETFORD -TENEYCK -TARTAGLIA -SWORDS -STROHL -STREATER -STRAUSBAUGH -STRADLEY -STONECIPHER -STEADHAM -STANSEL -STALCUP -STABILE -SPRENGER -SPRADLEY -SPEIER -SOUTHWOOD -SORRELS -SLEZAK -SKOW -SIRMANS -SIMENTAL -SILK -SIFFORD -SIEVERT -SHOVER -SHELEY -SELZER -SCRIVEN -SCHWINDT -SCHWAN -SCHROTH -SAYLORS -SARAGOSA -SANT -SALAAM -SAEPHAN -ROUTT -ROUSEY -ROS -ROLFES -RIEKE -RIEDER -RICHESON -REDINGER -RASNICK -RAPOZA -RAMBERT -RAFAEL -QUIST -PYRON -PUNCH -PULLMAN -PRZYBYLSKI -PRIDMORE -POOLEY -PINES -PERKINSON -PERINE -PERHAM -PECOR -PEAVLER -PARTINGTON -PANTON -OLIVERIO -OLAGUE -OHMAN -OHEARN -NOYOLA -NICOLAI -NEBEL -MURTHA -MUFF -MOWREY -MORONEY -MORGENSTERN -MORANT -MONTY -MONSOUR -MOHAMMAD -MOFFIT -MIJARES -MERIWETHER -MENDIETA -MELENDREZ -MEJORADO -MCKITTRICK -MCKEY -MCKENNY -MCKELVY -MCKECHNIE -MCELVAIN -MCCOIN -MAZZARELLA -MAZON -MAURIN -MATTHIES -MASTON -MASKE -MARZANO -MARMON -MARBURGER -MANGUS -MANGINO -MALLET -LUO -LOSADA -LONDONO -LOBDELL -LIPSON -LESNIAK -LEIGHTY -LEI -LEAGUE -LAVALLIE -LAREAU -LAPERLE -LAPE -LAFORCE -LAFFEY -KUEHNER -KRAVITZ -KOWALSKY -KOHR -KINSMAN -KEPPLER -KENNEMER -KEIPER -KEELY -KALER -JUN -JELINEK -JARNAGIN -ISSAC -ISAKSON -HYPES -HUTZLER -HULS -HORAK -HITZ -HICE -HERRELL -HENSLEE -HEITZ -HEISS -HEIMAN -HASTING -HARTWICK -HARMER -HARLAND -HAMMONTREE -HALDEMAN -HAKES -GUSE -GUILLOTTE -GUARD -GROLEAU -GREVE -GREENOUGH -GOLUB -GOLSON -GOLDSCHMIDT -GOLDER -GODBOLT -GILMARTIN -GIES -GIBBY -GEREN -GENTHNER -GENDREAU -GEMMILL -GAYMON -GALYEAN -GALEANO -FRIAR -FOLKERTS -FLEEMAN -FITZGIBBONS -FERRANTI -FELAN -FARRAND -EOFF -ENGER -ENGELS -DUCKSWORTH -DUBY -DRY -DRUMHELLER -DOUTHITT -DORIS -DONIS -DIXION -DITTRICH -DIALS -DESSERT -DESCOTEAUX -DEPAUL -DENKER -DEMUTH -DEMELO -DELACERDA -DEFORGE -DANOS -DALLEY -DAIGNEAULT -CYBULSKI -CRYSTAL -CRISTOBAL -COTHREN -CORNS -CORKERY -COPAS -COCO -CLUBB -CLORE -CHITTY -CHICHESTER -CHERY -CHARON -CHAMBER -CHACE -CATANZARO -CASTONGUAY -CASSELLA -CAROLL -CARLBERG -CAMMARATA -CALLE -CAJIGAS -BYAS -BUZBEE -BUSEY -BURLING -BUFKIN -BRZEZINSKI -BRUN -BRICKNER -BRABHAM -BOLLER -BODILY -BOCKMAN -BLEICH -BLAKEMAN -BISBEE -BIER -BEZANSON -BEVILACQUA -BESAW -BERRIAN -BERKELEY -BEQUETTE -BEAUFORD -BAUMGARTEN -BAUDOIN -BATIE -BASALDUA -BARDIN -BANGERT -BANES -BACKLUND -AVITIA -ARTZ -ARCHEY -APEL -AMICO -ALAM -ADEN -ZEBROWSKI -YOKOTA -WORMLEY -WOOTTON -WOODIE -WOMAC -WILTZ -WIGINGTON -WHITEHORN -WHISMAN -WEISGERBER -WEIGLE -WEEDMAN -WATKIN -WASILEWSKI -WADLINGTON -WADKINS -VIVERETTE -VIDAURRI -VIDALES -VEZINA -VANLEER -VANHOY -VANGUILDER -VANBRUNT -UY -UPDEGRAFF -TYLOR -TRINKLE -TOUCHETTE -TILSON -TILMAN -TENGAN -TARKINGTON -SURRETT -SUPER -SUMMY -STREETMAN -STRAUGHTER -STEERE -STALLING -SPRUELL -SPADARO -SOLLEY -SMATHERS -SILVERA -SIEMS -SHREFFLER -SHOLAR -SELDEN -SCHAPER -SAMAYOA -RUGGERI -ROWEN -ROSSO -ROSENBALM -ROOSEVELT -ROOSE -RONQUILLO -ROGOWSKI -REXFORD -REPASS -RENZI -RENICK -RENDA -REHBERG -REAPER -RANCK -RAFFA -RACKERS -RAAP -PUGSLEY -PUGLISI -PRINZ -PRIMUS -POUNDERS -PON -POMPA -PLASENCIA -PIPKINS -PILLAR -PETROSKY -PELLEY -PAULS -PAULI -PARKISON -PARISIEN -PANGLE -PANCOAST -PALAZZOLO -OWENBY -OVERBAY -ORRIS -ORLOWSKI -NIPP -NEWBERN -NEDD -NEALON -NAJAR -MYSLIWIEC -MYRON -MYRES -MUSSON -MURRIETA -MUNSELL -MUMMA -MULDOWNEY -MOYLE -MOWEN -MOSE -MOREJON -MOODIE -MONIER -MIKKELSEN -MIERS -METZINGER -MELIN -MCQUAY -MCPEEK -MCNEELEY -MCGLOTHIN -MCGHIE -MCDONELL -MCCUMBER -MCCRANIE -MCBEAN -MAYHUGH -MARTS -MARENCO -MANGES -LYNAM -LUPIEN -LUFF -LUEBBERT -LOH -LOFLIN -LOCOCO -LOCH -LIS -LINKE -LIGHTLE -LEWELLYN -LEISHMAN -LEBOW -LEBOUEF -LEANOS -LANZ -LANDY -LANDAVERDE -LACEFIELD -KYLER -KUEBLER -KROPF -KROEKER -KLUESNER -KLASS -KIMBERLING -KILKENNY -KIKER -KETTER -KELEMEN -KEASLER -KAWAMURA -KARST -KARDOS -JEREMIAH -JARED -IGO -HUSEMAN -HUSEBY -HURLBERT -HUARD -HOTTINGER -HORNBERGER -HOPPS -HOLDSWORTH -HENSEN -HEILIG -HEETER -HARPOLE -HAAK -GUTOWSKI -GUNNELS -GRIMMER -GRIEVE -GRAVATT -GRANDERSON -GOTCHER -GLEAVES -GENAO -GARFINKEL -FRERICHS -FOUSHEE -FLANERY -FINNIE -FELDT -FAGIN -EWALT -ELLEFSON -EILER -ECKHART -EASTEP -DWIGHT -DIGIROLAMO -DIDOMENICO -DEVERA -DELAVEGA -DEFILIPPO -DEBUSK -DAUB -DAMIANI -CUPPLES -CUDDY -CROFOOT -COURTER -COTO -COSTIGAN -CORNING -CORMAN -CORLETT -COOPERMAN -COLLISON -COGHLAN -COBBINS -COADY -COACHMAN -CLOTHIER -CLIENT -CLEAR -CIPOLLA -CHMIELEWSKI -CHIODO -CHATTERTON -CHAPPELLE -CHAIREZ -CERON -CASPERSON -CASLER -CASADOS -CARROW -CAROLINA -CARLINO -CARICO -CARDILLO -CAOUETTE -CANTO -CANAVAN -CAMBRA -BYARD -BUTERBAUGH -BUSE -BUCY -BUCKWALTER -BUBB -BRYD -BRISSETTE -BRAULT -BRADWELL -BOSHEARS -BORCHERT -BLANSETT -BLANCH -BLADE -BIONDO -BILBO -BIEHL -BESSEY -BERTA -BELLES -BELLA -BEEKS -BEEKMAN -BEAUFORT -BAYLISS -BARDSLEY -AVILLA -ASTUDILLO -ARDITO -ANWAR -ANTUNEZ -AMEN -ADERHOLT -ABATE -YOWELL -YIN -YEARBY -YE -WURST -WOOLVERTON -WOOLBRIGHT -WILDERMUTH -WHITTENBURG -WHITELY -WETTER -WETHERBEE -WENZ -WELLIVER -WELLING -WELCOME -WASON -WARRIOR -WARLICK -VOORHIES -VIVIER -VILLINES -VIDA -VERDE -VEIGA -VARGHESE -VANWYK -VANWINGERDEN -VANHORNE -UMSTEAD -TWIGGS -TUSING -TREGO -TOMPSON -TINKLE -THOMAN -THOLE -TATMAN -TARTT -SUDA -STUDLEY -STROCK -STRAWBRIDGE -STOKELY -STEC -STANG -STALTER -SPEIDEL -SPAFFORD -SPADE -SONTAG -SOKOLOWSKI -SKILLMAN -SKELLEY -SKALSKI -SISON -SIPPEL -SINQUEFIELD -SIN -SIEGLE -SHER -SHARROW -SETLIFF -SERA -SELLNER -SELIG -SEIBOLD -SEERY -SCRIBER -SCHULL -SCHRUPP -SCHIPPERS -SAY -SAULSBURY -SAO -SANTILLO -SANOR -SANCHO -RUFUS -RUBALCABA -ROOSA -RONK -ROBBS -ROACHE -RIVER -RIEBE -REINOSO -QUIN -PRUDE -PREUSS -POTTORFF -PONTIFF -PLOUFFE -PICOU -PICKLESIMER -PETTYJOHN -PETTI -PENALOZA -PARMELEE -PARDEE -PALAZZO -OVERHOLT -OGAWA -OFARRELL -NOVA -NOLTING -NODA -NICOLA -NICKSON -NEVITT -NEVEU -NAVARRE -NAM -MURROW -MUNZ -MULLOY -MONZO -MILLIMAN -METIVIER -MERLINO -MCPETERS -MCKISSACK -MCKEEN -MCGURK -MCFEE -MCFARREN -MCELWEE -MCEACHIN -MCDONAGH -MCCARVILLE -MAYHALL -MATTOON -MARTELLO -MARCONI -MARBURY -MAO -MANZELLA -MALY -MALEC -MAITLAND -MAHEU -MACLENNAN -LYKE -LUERA -LOYOLA -LOWENSTEIN -LOSH -LOPICCOLO -LONGACRE -LOMAN -LODEN -LOAIZA -LIEBER -LIBBEY -LENHARDT -LEFEBRE -LAUTERBACH -LAURITSEN -LASS -LAROCCO -LARIMER -LANSFORD -LANCLOS -LAMAY -LAL -KULIKOWSKI -KRIEBEL -KOSINSKI -KLEINMAN -KLEINER -KLECKNER -KISTNER -KISSNER -KISSELL -KILROY -KENNA -KEISLER -KEEBLE -KEANEY -KALE -JOLY -JIMISON -JEANS -IKNER -HURSEY -HRUSKA -HOVE -HOU -HOST -HOSKING -HOOSE -HOLLE -HOEPPNER -HITTLE -HITCHENS -HIRTH -HINERMAN -HILARIO -HIGBY -HERTZOG -HENTZ -HENSLER -HEIST -HEIER -HEGG -HASSEL -HARPE -HARA -HANK -HAIN -HAGOPIAN -GRIMSHAW -GRADO -GOWIN -GOWANS -GOOGE -GOODLOW -GOERING -GLEATON -GIDLEY -GIANNONE -GASCON -GARNEAU -GAMBREL -GALAZ -FUENTEZ -FRISINA -FRESQUEZ -FRAHER -FITTING -FEUERSTEIN -FELTEN -EVERMAN -ESTELL -ERTEL -ERAZO -ENSIGN -ENDO -ELLERMAN -EICHORN -EDGELL -EBRON -EAKER -DUNDAS -DUNCANSON -DUCHENE -DUCAN -DOMBROSKI -DOMAN -DOCK -DICKISON -DEWOODY -DELOERA -DELAHOUSSAYE -DEJEAN -DEGROAT -DECARO -DEARMOND -DASHNER -DALES -CROSSETT -CRESSEY -COWGER -COURTS -COURT -CORNETTE -CORBO -COPLIN -COOVER -CONDIE -COKLEY -CICERO -CEASER -CANNADAY -CALLANAN -CADLE -BUSCHER -BULLION -BUCKLIN -BRUENING -BRUCKNER -BROSE -BRANAN -BRADWAY -BOTSFORD -BORTZ -BORELLI -BONETTI -BOLAN -BOERGER -BLOOMBERG -BINGMAN -BILGER -BERNS -BERINGER -BERES -BEETS -BEEDE -BEAUDET -BEACHUM -BAUGHN -BATOR -BASTIEN -BASQUEZ -BARREIRO -BARGA -BARATTA -BALSER -BAILLIE -AXFORD -ATTEBERY -ARAKAKI -ANNUNZIATA -ANDRZEJEWSKI -AMENT -AMENDOLA -ADCOX -ABRIL -ZENON -ZEITLER -ZANG -ZAMBRANA -YBANEZ -YAGI -WOLAK -WILCOXSON -WHITESEL -WHITEHAIR -WEYAND -WESTENDORF -WELKE -WEINMANN -WEI -WEESNER -WEEKES -WEDEL -WEDDING -WEATHERALL -WARTHEN -VOSE -VILLALTA -VILA -VIATOR -VAZ -VALTIERRA -URBANEK -TULLEY -TROJANOWSKI -TRAPANI -TOUPS -TORPEY -TOMITA -TINDAL -TIEMAN -TEVIS -TEDROW -TAUL -TASH -TAMMARO -SYLVA -SWIDERSKI -SWEETING -SUND -STUTLER -STOCKING -STICH -STERNS -STEGNER -STALDER -SPLAWN -SPEIRS -SOUTHWELL -SOLTYS -SMEAD -SLYE -SKIPWORTH -SIPOS -SIMMERMAN -SIGMUND -SIDHU -SHUFFLER -SHINGLETON -SHADWICK -SERMONS -SEEFELDT -SCIPIO -SCHWANKE -SCHREFFLER -SCHIRO -SCHEIBER -SANDOZ -SAMSEL -RUDDELL -ROYSE -ROUILLARD -ROTELLA -ROSALEZ -ROMRIELL -ROMMEL -RIZER -RINER -RICKARDS -RHOTON -RHEM -REPPERT -RAYL -RAULSTON -RAPOSO -RAPIER -RAINVILLE -RADEL -QUINNEY -PURDIE -PUFFER -PIZZO -PINCUS -PETRUS -PENDELTON -PENDARVIS -PELTZ -PEGUERO -PEETE -PATRICIO -PATCHETT -PARRINO -PAPKE -PAM -PALAFOX -OTTLEY -OSTBY -ORITZ -OREN -OGAN -ODEGAARD -OATMAN -NOELL -NIDA -NICOLL -NEWHALL -NEWBILL -NETZER -NETTLETON -NEBLETT -MURLEY -MUNGO -MULHALL -MOSCA -MORISSETTE -MORFORD -MONTAG -MONSEN -MITZEL -MISKELL -MINDER -MEHAFFEY -MCQUILLEN -MCLENNAN -MCGRAIL -MCCREIGHT -MAYVILLE -MAYSONET -MAUST -MATHIESON -MASTRANGELO -MASKELL -MARTINA -MANZ -MALMBERG -MAKELA -MADRUGA -LUZ -LOTTS -LONGNECKER -LOGSTON -LITTELL -LISKA -LINDAUER -LILLIBRIDGE -LEVRON -LETCHWORTH -LESH -LEFFEL -LEDAY -LEAMON -LAURA -KULAS -KULA -KUCHARSKI -KROMER -KRAATZ -KONIECZNY -KONEN -KOMAR -KIVETT -KIRTS -KINNEAR -KERSH -KEITHLEY -KEIFER -JUDAH -JIMENES -JEPPESEN -JASMIN -JANSSON -HUNTSBERRY -HUND -HUITT -HUFFINE -HOSFORD -HOPES -HOLMSTROM -HOLLEN -HODGIN -HIRSCHMAN -HILTNER -HILLIKER -HIBNER -HENNIS -HELT -HEIDELBERG -HEGER -HEER -HARTNESS -HARDRICK -HALLADAY -GULA -GUILLAUME -GUERRIERO -GRUNEWALD -GROSSE -GRIFFETH -GRENZ -GRASSI -GRANDISON -GINTHER -GIMENEZ -GILLINGHAM -GILLHAM -GESS -GELMAN -GEARHEART -GASKELL -GARIEPY -GAMINO -GALLIEN -GALENTINE -FUQUAY -FROMAN -FROELICH -FRIEDEL -FOOS -FOMBY -FOCHT -FLYTHE -FIQUEROA -FILSON -FILIP -FIERROS -FETT -FEDELE -FASCHING -FARNEY -FARGO -EVERTS -EVEN -ETZEL -ELZEY -EICHNER -EGER -EATMAN -DUCKER -DUCHESNE -DONATI -DOMENECH -DOLLARD -DODRILL -DINAPOLI -DENN -DELFINO -DELCID -DELAUNE -DELATTE -DEEMS -DALUZ -CUSSON -CULLISON -CUE -CUADRADO -CRUMRINE -CRUICKSHANK -CROSLAND -CROLL -CRIDDLE -CREPEAU -COUTU -COUEY -CORT -COPPINGER -COLLMAN -COCKBURN -COCA -CLAYBORNE -CLAFLIN -CISSELL -CHOWDHURY -CHICOINE -CHENIER -CAUSBY -CAULDER -CASSANO -CASNER -CARDIEL -BURNER -BRUNTON -BRUCH -BROXTON -BROSIUS -BROOKING -BRANCO -BRACCO -BOURGAULT -BOSSERMAN -BOOKS -BONET -BOLDS -BOLANDER -BOHMAN -BOELTER -BLOHM -BLEA -BLAISE -BISCHOF -BILLIE -BEUS -BELLEW -BASTARACHE -BAST -BARTOLOME -BARK -BARCOMB -BARCO -BALLS -BALK -BALAS -BAKOS -AVEY -ATNIP -ASHBROOK -ARNO -ARBOUR -AQUIRRE -APPELL -ALDACO -ALCAZAR -ALBAN -AHLSTROM -ABADIE -ZYLSTRA -ZICK -ZHENG -YOTHER -WYSE -WUNSCH -WHITTY -WEIST -VROOMAN -VINE -VILLALON -VIDRIO -VAVRA -VASBINDER -VANMATRE -VANDORN -UGARTE -TURBERVILLE -TUEL -TROGDON -TOWN -TOUPIN -TOONE -TOLLESON -TINKHAM -TINCH -TIANO -TESTON -TEER -TEA -TAWNEY -TAPLIN -TANT -TANSEY -SWAYNE -SUTCLIFFE -SUNDERMAN -SUITS -STROTHERS -STROMAIN -STORK -STONEBURNER -STOLTE -STOLP -STOEHR -STINGLEY -STEGMAN -STANGL -SPINELLA -SPIER -SOULES -SOMMERFIELD -SIPP -SIMEK -SIDERS -SHUFELT -SHUE -SHOR -SHIRES -SHELLENBERGER -SHEELY -SERVICE -SEPE -SEABERG -SCHWING -SCHERRER -SCALZO -SAVER -SASSE -SARVIS -SANTORA -SANSBURY -SALLS -SALEEM -RYLAND -RYBICKI -RUGGIERI -ROTHENBERG -ROSENSTEIN -ROQUEMORE -ROLLISON -RODDEN -RIVET -RITA -RIDLON -RICHE -RICCARDI -REILEY -REGNER -RECH -RAYO -RAWLEY -RANGER -RAFF -RADABAUGH -QUON -QUILL -PRIVETTE -PRANGE -PICKRELL -PERINO -PENNING -PANKRATZ -ORLANDI -NYQUIST -NORRELL -NOREN -NAPLES -NALE -NAKASHIMA -MUSSELWHITE -MURRIN -MURCH -MULLINIX -MULLICAN -MULLAN -MORNEAU -MONDOR -MOLINAR -MO -MINJARES -MINIX -MINGLE -MINCHEW -MILL -MILEWSKI -MIKKELSON -MIFFLIN -MESSING -MERKLEY -MEIS -MEAS -MCROY -MCPHEARSON -MCNEEL -MCMUNN -MCMORROW -MCDORMAN -MCCROSKEY -MCCOLL -MCCLUSKY -MCCLARAN -MCCAMPBELL -MAZZARIELLO -MAUZY -MAUCH -MASTRO -MARTINEK -MARSALA -MARCANTEL -MAHLE -LYDA -LUCIUS -LUCIANI -LUBBERS -LOUDER -LOBEL -LINSEY -LINCH -LILLER -LEGROS -LAYDEN -LAPINE -LANSBERRY -LAGE -LAFOREST -LABRIOLA -KOGA -KNUPP -KLIMEK -KITTINGER -KIRCHOFF -KINZEL -KILLINGER -KILBOURNE -KETNER -KEPLEY -KEMBLE -KELLS -KEAR -KAYA -KARSTEN -KANESHIRO -KAMM -JOINES -JOACHIM -JANELLE -JACOBUS -ILER -HOLGATE -HOAR -HISEY -HIRD -HILYARD -HESLIN -HERZBERG -HENNIGAN -HEGLAND -HARTL -HANER -HANDEL -GUALTIERI -GREENLY -GRASSER -GRAN -GOETSCH -GODBOLD -GILLAND -GIDNEY -GIBNEY -GIANCOLA -GETTINGER -GARZON -GARRET -GALLE -GALGANO -GAIER -GAERTNER -FUSTON -FREEL -FORTES -FLOCK -FIORILLO -FIGGS -FENSTERMACHER -FEDLER -FACER -FABIANO -EVINS -EUSEBIO -EULER -ESQUER -ENYEART -ELEM -EISENHOWER -EICH -EDGERLY -DUROCHER -DURGAN -DUFFIN -DROLET -DREWES -DOTTS -DOSSANTOS -DOLLY -DOCKINS -DIRKSEN -DIFIORE -DIERKS -DICKERMAN -DICE -DERY -DENAULT -DEMAREE -DELMONTE -DELCAMBRE -DAYS -DAULTON -DARST -DAHLE -CURNUTT -CULLY -CULLIGAN -CUEVA -CROSSLIN -CROSKEY -CROMARTIE -CROFTS -COVIN -COUTEE -COUNTESS -COST -COPPA -COOGAN -CONDREY -CONCANNON -COGER -CLOER -CLATTERBUCK -CIESLAK -CHUMBLEY -CHOUDHURY -CHIARAMONTE -CHARBONEAU -CHAI -CARNEAL -CAPPELLO -CAMPISI -CALLICOAT -BURGOYNE -BUCHOLZ -BRUMBACK -BROSNAN -BROGDEN -BRODER -BRENDLE -BREECE -BOWN -BOU -BOSER -BONDY -BOLSTER -BOLL -BLUFORD -BLANDON -BISCOE -BEVILL -BENCE -BATTIN -BASEL -BARTRAM -BARNABY -BARMORE -BALBUENA -BADGLEY -BACKSTROM -AUYEUNG -ATER -ARRELLANO -ARANT -ANSARI -ALLING -ALEJANDRE -ALCOCK -ALAIMO -AGUINALDO -AARONS -ZURITA -ZEIGER -ZAWACKI -YUTZY -YARGER -WYGANT -WURM -WUEST -WOLFRAM -WITHERELL -WISNESKI -WHITBY -WHELCHEL -WEISZ -WEISINGER -WEISHAAR -WEHR -WEDGE -WAXMAN -WALDSCHMIDT -WALCK -WAGGENER -VOSBURG -VITA -VILLELA -VERCHER -VENTERS -VANSCYOC -VANDYNE -VALENZA -UTT -URICK -UNGAR -ULM -TUMLIN -TSAO -TRYON -TRUDEL -TREIBER -TOW -TOBER -TIPLER -TILLSON -TIEDEMANN -THORNLEY -TETRAULT -TEMME -TARRANCE -TACKITT -SYKORA -SWEETMAN -SWATZELL -SUTLIFF -SUHR -STURTZ -STRUB -STRAYHORN -STORMER -STEVESON -STENGEL -STEINFELDT -SPIRO -SPIEKER -SPETH -SPERO -SOZA -SOULIERE -SOUCIE -SNEDEKER -SLIFER -SKILLINGS -SITU -SINIARD -SIMEON -SIGNORELLI -SIGGERS -SHULTIS -SHREWSBURY -SHIPPEE -SHIMP -SHERRON -SHEPLER -SHARPLESS -SHADRICK -SEVERT -SEVERS -SEMON -SEMMES -SEITER -SEGERS -SCLAFANI -SCIORTINO -SCHROYER -SCHRACK -SCHOENBERG -SCHOBER -SCHEIDT -SCHEELE -SATTER -SARTORI -SARRIS -SARRATT -SALVAGGIO -SALADINO -SAKAMOTO -SAINE -RYMAN -RUMLEY -RUGGERIO -RUCKS -ROUGHTON -ROOM -ROBARDS -RICCA -REXROAD -RESLER -RENY -RENTSCHLER -REDRICK -REDICK -REAGLE -RAYMO -RAPE -RAKER -RACETTE -PYBURN -PRITT -PRESSON -PRESSMAN -POUGH -PLAIN -PISANI -PERZ -PERRAS -PELZER -PEDROSA -PALOS -PALMISANO -PAILLE -OREM -ORBISON -OLIVEROS -NOURSE -NORDQUIST -NEWBURY -NELLIGAN -NAWROCKI -MYLER -MUMAW -MORPHIS -MOLDENHAUER -MIYASHIRO -MIGNONE -MICKELSEN -MICHALEC -MESTA -MCREE -MCQUEARY -MCNINCH -MCNEILLY -MCLELLAND -MCLAWHORN -MCGREEVY -MCCONKEY -MATTES -MASELLI -MARTEN -MART -MARCUCCI -MANSEAU -MANJARREZ -MALBROUGH -MACHIN -MABIE -LYNDE -LYKES -LUERAS -LOKKEN -LOKEN -LINZY -LILLIS -LILIENTHAL -LEVEY -LEGLER -LEEDOM -LEBOWITZ -LAZZARO -LARABEE -LAPINSKI -LANGNER -LANGENFELD -LAMPKINS -LAMOTTE -LAMBRIGHT -LAGARDE -LADOUCEUR -LABRADOR -LABOUNTY -LABLANC -LABERGE -KYTE -KROON -KRON -KRAKER -KOUBA -KIRWIN -KINCER -KIMBLER -KEGLER -KEACH -KATZMAN -KATZER -KALMAN -JOURNEY -JIMMERSON -JENNING -JANUS -IACOVELLI -HUST -HUSON -HUSBY -HUMPHERY -HUFNAGEL -HONIG -HOLSEY -HOLOMAN -HOHL -HOGGE -HINDERLITER -HILDEBRANT -HICK -HEY -HEMBY -HELLE -HEINTZELMAN -HEIDRICK -HEARON -HEAP -HAZELIP -HAUK -HASBROUCK -HARTON -HARTIN -HARPSTER -HANSLEY -HANCHETT -HAAR -GUTHRIDGE -GULBRANSON -GUILL -GUERRERA -GRUND -GROSVENOR -GRIST -GRELL -GREAR -GRANBERRY -GONSER -GIUNTA -GIULIANI -GILLON -GILLMORE -GILLAN -GIBBON -GETTYS -GELB -GANO -GALLIHER -FULLEN -FRESE -FRATES -FOXWELL -FLEISHMAN -FLEENER -FIELDEN -FERRERA -FENG -FELLS -FEEMSTER -FAUNTLEROY -FAILS -EVATT -ESPY -ENO -EMMERICH -EDWIN -EDLER -EASTHAM -DUNAVANT -DUCA -DRINNON -DOWE -DORGAN -DOLLINGER -DIVERS -DIPALMA -DIFRANCO -DIETRICK -DENZER -DEMAREST -DELEE -DELARIVA -DELANY -DECESARE -DEBELLIS -DEAVERS -DEARDORFF -DAWE -DAROSA -DARLEY -DALZELL -DAHLEN -CURTO -CUPPS -CUNNIFF -CUDE -CRIVELLO -CRIPPS -CRESSWELL -COUSAR -COTTA -COMPO -COLORADO -CLYNE -CLAYSON -CEARLEY -CATANIA -CARINI -CARGO -CANTERO -CALI -BUTTREY -BUTTLER -BURPEE -BULKLEY -BUITRON -BUDA -BUBLITZ -BRYER -BRYDEN -BROUILLETTE -BROTT -BROOKMAN -BRONK -BRESHEARS -BRENNEN -BRANNUM -BRANDL -BRAMAN -BRACEWELL -BOYTER -BOMBERGER -BOLD -BOGEN -BOEDING -BOB -BLAUVELT -BLANDFORD -BIGGER -BIERMANN -BIELECKI -BIBBY -BERTHOLD -BERKMAN -BELVIN -BELLOMY -BELAND -BEHNE -BEECHAM -BECHER -BEAMS -BAX -BASSHAM -BARRET -BALEY -BACCHUS -AUXIER -ATKISON -ARY -AROCHA -ARECHIGA -ANSPACH -AN -ALGARIN -ALCOTT -ALBERTY -AGER -ADOLPH -ACKMAN -ABDUL -ABDALLAH -ZWICK -ZIEMER -ZASTROW -ZAJICEK -YOKUM -YOKLEY -WITTROCK -WINEBARGER -WILKER -WILHAM -WHITHAM -WETZLER -WESTLING -WESTBURY -WENDLER -WELLBORN -WEITZMAN -WEITZ -WEIGHT -WALLNER -WALDROUP -VRABEL -VOWELS -VOLKER -VITIELLO -VISCONTI -VILLICANA -VIBBERT -VESEY -VANNATTER -VANGILDER -VANDERVORT -VANDEGRIFT -VANALSTYNE -VALLECILLO -USREY -TYNAN -TURPEN -TULLER -TRISLER -TOWNSON -TILLMON -THRELKELD -THORNELL -TERRIO -TAUNTON -TARRY -TARDY -SWOBODA -SWIHART -SUSTAITA -SUITT -STUBER -STRINE -STOOKEY -STMARTIN -STIGER -STAINBROOK -SOLEM -SMAIL -SLIGH -SIPLE -SIEBEN -SHUMAKE -SHRINER -SHOWMAN -SHINER -SHEEN -SHECKLER -SEIM -SECRIST -SCOGGIN -SCHULTHEIS -SCHMALZ -SCHENDEL -SCHACHER -SAVARD -SAULTER -SANTILLANES -SANDIFORD -SANDE -SALZER -SALVATO -SALTZ -SAKAI -RYCKMAN -RYANT -RUCK -RONALD -ROCKER -RITTENBERRY -RISTAU -RISK -RICHART -RHYNES -REYER -REULET -RESER -REDINGTON -REDDINGTON -REBELLO -REASOR -RAFTERY -RABAGO -RAASCH -QUINTANAR -PYLANT -PURINGTON -PROVENCAL -PROM -PRIOLEAU -PRESTWOOD -POTHIER -POPA -POLSTER -POLITTE -POFFENBERGER -PINNER -PIETRZAK -PETTIE -PENAFLOR -PELLOT -PELLHAM -PAYLOR -PAYEUR -PAPAS -PAIK -OYOLA -OSBOURN -ORZECHOWSKI -OPPENHEIMER -OLESEN -OJA -OHL -NUCKOLLS -NORDBERG -NOONKESTER -NOLD -NITTA -NIBLETT -NEUHAUS -NESLER -NED -NANNEY -MYRIE -MUTCH -MOTTO -MOSQUERA -MORENA -MONTALTO -MONTAGNA -MIZELLE -MINCY -MILLIKAN -MILLAY -MILER -MILBOURN -MIKELS -MIGUES -MIESNER -MERSHON -MERROW -MERLIN -MELIA -MEIGS -MEALEY -MCRANEY -MCMARTIN -MCLACHLAN -MCGEEHAN -MCFERREN -MCDOLE -MCCAULLEY -MCANULTY -MAZIARZ -MAUL -MATEER -MARTINSEN -MARSON -MARIOTTI -MANNA -MANG -MANCE -MALBON -MAH -MAGNUSSON -MACLACHLAN -MACEK -LURIE -LUC -LOWN -LORANGER -LONON -LISENBY -LINSLEY -LINGER -LENK -LEAVENS -LEARNED -LAURITZEN -LATHEM -LASHBROOK -LANDMAN -LAMARCHE -LAMANTIA -LAGUERRE -LAGRANGE -KOGAN -KLINGBEIL -KIST -KIMPEL -KIME -KIER -KERFOOT -KENNAMER -KELLEMS -KAMMER -KAMEN -JESS -JEPSEN -JARNIGAN -ISLER -ISHEE -ISABEL -HUX -HUNGATE -HUMMELL -HULTGREN -HUFFAKER -HRUBY -HOVER -HORNICK -HOOSER -HOOLEY -HOGGAN -HIRANO -HILLEY -HIGHAM -HEUSER -HENRICKSON -HENEGAR -HELLWIG -HEIDE -HEDLEY -HASEGAWA -HARTT -HAMBRIGHT -HALFACRE -HAFLEY -GUION -GUINAN -GRUNWALD -GROTHE -GRIES -GREANEY -GRANDA -GRABILL -GOTHARD -GOSSMAN -GOSSER -GOSSARD -GOSHA -GOLDNER -GOBIN -GLOSS -GINYARD -GILKES -GILDEN -GERSON -GEPHART -GENGLER -GAUTIER -GASSETT -GARON -GANDHI -GALUSHA -GALLAGER -GALDAMEZ -FULMORE -FRITSCHE -FOWLES -FOUTCH -FORWARD -FOOTMAN -FLUDD -FLAKES -FERRIERA -FERRERO -FERRERI -FENIMORE -FEGLEY -FEGAN -FEARN -FARRIER -FANSLER -FANE -FALZONE -FAIRWEATHER -ETHERTON -ELSBERRY -DYKEMA -DUPPSTADT -DUNNAM -DUNKLIN -DUET -DUE -DUDGEON -DUBUC -DOXEY -DORY -DONMOYER -DODGEN -DISANTO -DINGLER -DIMATTIA -DILDAY -DIGENNARO -DIEDRICH -DEROSSETT -DEPUTY -DEPP -DEMASI -DEGRAFFENREID -DEAKINS -DEADY -DAVIN -DAIGRE -DADDARIO -CZERWINSKI -CULLENS -CUBBAGE -CRACRAFT -CONSTANCE -COMES -COMBEST -COLETTI -COGHILL -CLERK -CLAYBROOKS -CLASS -CHRISTOFFERSE -CHIESA -CHASON -CHAMORRO -CESSNA -CELENTANO -CAYER -CAROLAN -CARNEGIE -CAPETILLO -CALLIER -CADOGAN -CABA -BYROM -BYRNS -BURROWES -BURKET -BURDGE -BURBAGE -BUKOWSKI -BUCHHOLTZ -BRUNT -BRUNGARDT -BRUNETTI -BRUMBELOW -BRUGGER -BROADHURST -BRIGANCE -BRANDOW -BOUKNIGHT -BOTTORFF -BOTTOMLEY -BOSARGE -BORGER -BONA -BOMBARDIER -BOLOGNA -BOGGAN -BLUMER -BLECHA -BIRNEY -BIRKLAND -BETANCES -BERAN -BENNY -BENES -BELIN -BELGRAVE -BEALER -BAUCH -BATH -BASHIR -BARTOW -BARO -BARNHOUSE -BARILE -BALLWEG -BAISLEY -BAINS -BAEHR -BADILLA -BACHUS -BACHER -BACHELDER -AUZENNE -ATEN -ASTLE -ALLIS -AGARWAL -ADGER -ADAMEK -ZIOLKOWSKI -ZINKE -ZAZUETA -ZAMORANO -YOUNKIN -WON -WITTIG -WITMAN -WINSETT -WINKLES -WIEDMAN -WHITNER -WHITCHER -WETHERBY -WESTRA -WESTHOFF -WEHRLE -WEE -WAGAMAN -VORIS -VICKNAIR -VEGAS -VEASLEY -VAUGH -VANISH -VANDERBURG -VALLETTA -TUNNEY -TRUMBO -TRULUCK -TRUEMAN -TRUBY -TROMBLY -TROJAN -TOURVILLE -TOSTADO -TONE -TITCOMB -TIMPSON -TIGNOR -THRUSH -THRESHER -THIEDE -TEWS -TAMPLIN -TAFF -TACKER -SYVERSON -SYLVESTRE -SUMMERALL -STUMBAUGH -STROUTH -STRAKER -STRADFORD -STONEY -STOKLEY -STEINHOFF -STEINBERGER -STAIRS -SPIGNER -SOLTERO -SNIVELY -SLETTEN -SINKLER -SINEGAL -SIMOES -SILLER -SIGEL -SHOE -SHIRE -SHINKLE -SHELLMAN -SHELLER -SHEATS -SHARER -SELVAGE -SEDLAK -SEA -SCHRIVER -SCHIMKE -SCHEUERMAN -SCHANZ -SAVORY -SAULTERS -SAUERS -SAIS -RUSIN -RUMFELT -RUHLAND -ROZAR -ROSBOROUGH -RONNING -ROLPH -ROLOFF -ROGUE -ROBIE -RIVIERA -RIMER -RIEHLE -RICCO -RHEIN -RETZLAFF -REISMAN -REIMANN -RE -RAYES -RAUB -RAMINEZ -QUESINBERRY -PUA -PROCOPIO -PRIOLO -PRINTZ -PREWETT -PREAS -PRAHL -PORTUGAL -POOVEY -PLOOF -PLATZ -PLAISTED -PINZON -PINEIRO -PICKNEY -PETROVICH -PERL -PEHRSON -PEETS -PAVON -PAUTZ -PASCARELLA -PARAS -PAOLINI -PALS -PAFFORD -OYER -OVELLETTE -OUTTEN -OUTEN -OURS -ORDUNA -ODRISCOLL -OBERLIN -NOSAL -NIVEN -NISBETT -NEVERS -NATHANSON -MULE -MUKAI -MOZEE -MOWERS -MOTYKA -MORENCY -MONTFORD -MOLLICA -MOLDEN -MITTEN -MISER -MINA -MILLENDER -MIDGETTE -MESSERLY -MELENDY -MEISEL -MEIDINGER -MEANY -MCNITT -MCNEMAR -MCMAKIN -MCGAUGH -MCCAA -MAURIELLO -MAUDLIN -MATZKE -MATTIA -MATTEO -MATSUMURA -MASUDA -MANGELS -MALOOF -MALIZIA -MAHMOUD -MAGLIONE -MADDIX -LUCCHESI -LOCHNER -LINQUIST -LINO -LIETZ -LEVENTHAL -LEOPARD -LEMANSKI -LEISER -LAURY -LAUBER -LAMBERTH -KUSS -KUNG -KULIK -KUIPER -KROUT -KOTTER -KORT -KOHLMEIER -KOFFLER -KOELLER -KNIPE -KNAUSS -KLEIBER -KISSEE -KIRST -KIRCH -KILGO -KERLIN -KELLISON -KEHL -KALB -JORDEN -JANTZEN -JAMAR -INABINET -IKARD -HUSMAN -HUNSBERGER -HUNDT -HUCKS -HOUTZ -HOUSEKNECHT -HOOTS -HOGSETT -HOGANS -HINTZE -HESSION -HENAULT -HEMMING -HELSLEY -HEINEN -HEFFINGTON -HEBERLING -HEASLEY -HEAL -HAZLEY -HAZELTINE -HAYTON -HAYSE -HAWKE -HASTON -HARWARD -HARVARD -HARROW -HANNEMAN -HAFFORD -HADNOT -GUERRO -GRAIG -GRAHM -GOWINS -GORDILLO -GOOSBY -GLATT -GIBBENS -GHENT -GERRARD -GERMANN -GEIL -GEBO -GEAN -GARLING -GARDENHIRE -GARBUTT -GAGNER -FURGUSON -FUNCHESS -FUJIWARA -FUJITA -FRILEY -FRIGO -FORSHEE -FOLKES -FILLER -FERNALD -FERBER -FEINGOLD -FAVORITE -FAUL -FARRELLY -FAIRBANK -FAILLA -ESTELLE -ESPEY -ESHLEMAN -ERTL -ERHART -ERHARDT -ERBE -ELSEA -ELLS -ELLMAN -EISENHART -EHMANN -EARNHARDT -DUPLANTIS -DULAC -DUCOTE -DRAVES -DOSCH -DOLCE -DIVITO -DITCH -DIMAURO -DERRINGER -DEMEO -DEMARTINI -DELIMA -DEHNER -DEGEN -DEFRANCISCO -DEFOOR -DEDEAUX -DEBNAM -CYPERT -CUTRER -CUSUMANO -CUSTIS -CROKER -COURTOIS -COSTANTINO -CORMACK -CORBEIL -COPHER -CONLAN -CONKLING -COGDELL -CILLEY -CHAPDELAINE -CENDEJAS -CASTIGLIA -CASSETTE -CASHIN -CARSTENSEN -CAROL -CAPRIO -CALCOTE -CALAWAY -BYFIELD -BUTNER -BUSHWAY -BURRITT -BROWNER -BROBST -BRINER -BRIGHTON -BRIDGER -BRICKLEY -BRENDEL -BRATTEN -BRATT -BRAINERD -BRACKMAN -BOWNE -BOUCK -BORUNDA -BORDNER -BONENFANT -BOER -BOEHMER -BODIFORD -BLEAU -BLANKINSHIP -BLANE -BLAHA -BITTING -BISSONETTE -BIGBY -BIBEAU -BEVERAGE -BERMUDES -BERKE -BERGEVIN -BERGERSON -BENDEL -BELVILLE -BECHARD -BEARCE -BEADLES -BATZ -BARTLOW -BARREN -AYOUB -AVANS -AUMILLER -ARVISO -ARPIN -ARNWINE -ARMWOOD -ARENT -AREHART -ARCAND -ANTLE -AMBROSINO -ALONGI -ALM -ALLSHOUSE -AHART -AGUON -ZIEBARTH -ZELEDON -ZAKRZEWSKI -YUHAS -YINGST -YEDINAK -WOMMACK -WINNETT -WINGLER -WILCOXEN -WHITMARSH -WHISTLER -WAYT -WATLEY -WASSER -WARKENTIN -VOLL -VOGELSANG -VOEGELE -VIVANCO -VINTON -VILLAFANE -VILES -VERSACE -VER -VENNE -VANWAGONER -VANWAGENEN -VANLEUVEN -VANAUKEN -USELTON -UREN -TRUMBAUER -TRITT -TREADAWAY -TOZIER -TOPE -TOMCZAK -TOMBERLIN -TOMASINI -TOLLETT -TOLLER -TITSWORTH -TIRRELL -TILLY -TAVERA -TARNOWSKI -TANOUYE -TALL -SWARTHOUT -SUTERA -SURETTE -STYERS -STYER -STIPE -STICKLAND -STEVE -STEMBRIDGE -STEARN -STARKES -STANBERRY -STAHR -SPINO -SPICHER -SPERBER -SPEECE -SOO -SONNTAG -SNELLER -SMALLING -SLOWIK -SLOCUMB -SLIVA -SLEMP -SLAMA -SITZ -SISTO -SISEMORE -SINDELAR -SHIPTON -SHILLINGS -SHEELEY -SHARBER -SHADDIX -SEVERNS -SEVERINO -SEVER -SENSABAUGH -SEDER -SEAWELL -SEAMONS -SCHRANTZ -SCHOOLER -SCHEFFER -SCHEERER -SCALIA -SAUM -SANTIBANEZ -SANO -SANJUAN -SAMPLEY -SAILER -SABELLA -SABBAGH -ROYALL -ROTTMAN -RIVENBARK -RIKARD -RICKETSON -RICKEL -RETHMAN -REILY -REDDIN -REASONER -READE -RAST -RANALLO -RANA -QUINTAL -PUNG -PUCCI -PROTO -PROSPERIE -PRIM -PREUSSER -PRESLAR -POWLEY -POSTMA -PINNIX -PILLA -PIETSCH -PICKEREL -PICA -PHARRIS -PETWAY -PETILLO -PERIN -PEREDA -PENNYPACKER -PENNEBAKER -PEDRICK -PATIN -PATCHELL -PARODI -PARMAN -PANTANO -PADUA -PADRO -OSTERHOUT -ORNER -OPP -OLIVAR -OHLSON -ODONOGHUE -OCEGUERA -OBERRY -NOVELLO -NOGUERA -NEWQUIST -NEWCOMBE -NEIHOFF -NEHRING -NEES -NEBEKER -NAU -MUNDO -MULLENIX -MORRISEY -MORONTA -MORILLO -MOREFIELD -MONGILLO -MOLINO -MINTO -MIDGLEY -MICHIE -MENZIES -MEDVED -MECHLING -MEALY -MCSHAN -MCQUAIG -MCNEES -MCGLADE -MCGARITY -MCGAHEY -MCDUFF -MAYWEATHER -MASTROPIETRO -MASTEN -MARANTO -MANISCALCO -MAIZE -MAHMOOD -MADDOCKS -MADAY -MACHA -MAAG -LUKEN -LOPP -LOLLEY -LLANAS -LITZ -LITHERLAND -LINDENBERG -LIEU -LETCHER -LENTINI -LEMELLE -LEET -LECUYER -LEBER -LAURSEN -LATCH -LARRICK -LANTIGUA -LANGLINAIS -LALLI -LAFEVER -LABAT -LABADIE -KURT -KROGMAN -KOHUT -KNARR -KLIMAS -KLAR -KITTELSON -KIRSCHBAUM -KINTZEL -KINCANNON -KIMMELL -KILLGORE -KETTNER -KELSCH -KARLE -KAPOOR -JOHANSSON -JOCK -JENKINSON -JANNEY -ISABELLE -IRAHETA -INSLEY -HYSLOP -HY -HUMAN -HUCKSTEP -HOLLERAN -HOERR -HINZE -HINNENKAMP -HILGER -HIGGIN -HICKLIN -HEROUX -HENKLE -HELFER -HEIKKINEN -HECKSTALL -HECKLER -HEAVENER -HAYDEL -HAVEMAN -HAUBERT -HARROP -HARNOIS -HANSARD -HANOVER -HAMMITT -HALIBURTON -HAEFNER -HADSELL -HAAKENSON -GUYNN -GUIZAR -GROUT -GROSZ -GOO -GOMER -GOLLA -GODBY -GLANZ -GLANCY -GIVAN -GIESEN -GERST -GAYMAN -GARRAWAY -GABOR -FURNESS -FRISK -FREMONT -FRARY -FORAND -FESSENDEN -FERRIGNO -FEARON -FAVREAU -FAULKS -FALBO -EWEN -EVERTON -EURICH -ETCHISON -ESTERLY -ENTWISTLE -ELLINGSWORTH -ELDERS -EK -EISENBARTH -EDELSON -ECKEL -EARNSHAW -DUNNEBACK -DOYAL -DONNELLAN -DOLIN -DIBIASE -DESCHENES -DERMODY -DENMARK -DEGREGORIO -DARNALL -DANT -DANSEREAU -DANAHER -DAMMANN -DAMES -CZARNECKI -CUYLER -CUSTARD -CUMMINGHAM -CUFFIE -CUFFEE -CUDNEY -CUADRA -CRIGLER -CREGER -COUGHLAN -CORVIN -CORTRIGHT -CORCHADO -CONNERY -CONFORTI -CONDRON -COLOSIMO -COLCLOUGH -COLA -COHEE -CLAIRE -CIOTTI -CHILL -CHIEN -CHECK -CHACKO -CEVALLOS -CAVITT -CAVINS -CASTAGNA -CASHWELL -CARROZZA -CARRARA -CAPRA -CAMPAS -CALLAS -CAISON -CAI -CAGGIANO -CABOT -BYNOE -BUSWELL -BURPO -BURNAM -BURGES -BUERGER -BUELOW -BUECHE -BUCKLE -BRUNI -BRUMMITT -BRODERSEN -BRIESE -BREIT -BRAKEBILL -BRAATZ -BOYERS -BOUGHNER -BORROR -BORQUEZ -BONELLI -BOHNER -BLAZE -BLAKER -BLACKMER -BISSETTE -BIBBINS -BHATT -BHATIA -BESSLER -BERGH -BERESFORD -BENSEN -BENNINGFIELD -BENITO -BELLANTONI -BEHLER -BEEHLER -BEAZLEY -BEAUCHESNE -BARGO -BANNERMAN -BALTES -BALOG -BALLANTYNE -BAD -AXELSON -APGAR -AOKI -ANSTETT -ALEJOS -ALCOCER -ALBURY -AICHELE -AHL -ACKLES -ZERANGUE -ZEHNER -ZANK -ZACARIAS -YOUNGBERG -YORKE -YARBRO -XIE -WYDRA -WORTHLEY -WOLBERT -WITTMER -WITHERINGTON -WISHART -WIRE -WINNIE -WINKLEMAN -WILLILAMS -WILLER -WIEDEMAN -WHITTINGHAM -WHITBECK -WHETSEL -WHELESS -WESTERBERG -WELCHER -WEGMAN -WATERFIELD -WASINGER -WARFEL -WANNAMAKER -WALBORN -WADA -VOGL -VIZCARRONDO -VITELA -VILLEDA -VERAS -VENUTI -VENEY -ULREY -UHLIG -TURCIOS -TREMPER -TORIAN -TORBETT -THRAILKILL -TERRONES -TEITELBAUM -TEEMS -TAY -SWOOPE -SUNSERI -STUTES -STTHOMAS -STROHM -STROBLE -STRIEGEL -STREICHER -STODOLA -STINCHCOMB -STEVES -STEPPE -STEM -STELLER -STAUDT -STARNER -STAMANT -STAM -STACKPOLE -SPRANKLE -SPECIALE -SPAHR -SOWDERS -SOVA -SOLURI -SODERLUND -SLINKARD -SKATES -SJOGREN -SIRIANNI -SIEWERT -SICKELS -SICA -SHUGART -SHOULTS -SHIVE -SHIMER -SHIER -SHIELD -SHEPLEY -SHEERAN -SHARPER -SEVIN -SEVERE -SETO -SEGUNDO -SEDLACEK -SCUDERI -SCHURMAN -SCHUELKE -SCHOLTEN -SCHLATER -SCHISLER -SCHIEFELBEIN -SCHALK -SANON -SAE -SABALA -RUYLE -RUYBAL -RUF -RUEB -ROWSEY -ROSOL -ROCHELEAU -RISHEL -RIPPEY -RINGGOLD -RIEVES -RIDINGER -REW -RETHERFORD -REMPE -REITH -RAFTER -RAFFAELE -QUINTO -PUTZ -PURDOM -PULS -PULASKI -PROPP -PRINCIPATO -PREISS -PRADA -POLANSKY -POCH -PLATH -PITTARD -PINNOCK -PFARR -PFANNENSTIEL -PENNIMAN -PAULING -PATCHEN -PASCHKE -PARKEY -PANDO -OVERLY -OUIMET -OTTMAN -OTTER -OSTLUND -ORMISTON -OCCHIPINTI -NOWACKI -NORRED -NOACK -NISHIDA -NILLES -NICODEMUS -NETH -NEALEY -MYRICKS -MURFF -MUNGIA -MULLET -MOTSINGER -MOSCATO -MORT -MORADO -MOORS -MONNIER -MOLYNEUX -MODZELEWSKI -MIURA -MINICH -MILITELLO -MILBRANDT -MICHALIK -MESERVE -MERLE -MENDIVIL -MELARA -MEADOW -MCNISH -MCELHANNON -MCCROY -MCCRADY -MAZZELLA -MAULE -MATTERA -MATHENA -MATAS -MASS -MASCORRO -MARONE -MARINELLO -MARGUEZ -MARCELL -MANWARING -MANHART -MANGANO -MAGGI -LYMON -LUTER -LUSE -LUKASIK -LUIZ -LUDLUM -LUCZAK -LOWENTHAL -LOSSETT -LORENTZEN -LOREDO -LONGWORTH -LOMANTO -LISI -LISH -LIPSKY -LINCK -LIEDTKE -LEVERING -LESSMAN -LEMOND -LEMBO -LEDONNE -LEATHAM -LAUFER -LANPHEAR -LANGLAIS -LANDO -LAMPHEAR -LAMBERTON -LAFON -LADE -LACROSS -KYZER -KROK -KRING -KRELL -KREHBIEL -KRATOCHVIL -KRACH -KOVAR -KOSTKA -KNUDTSON -KNAACK -KLIEBERT -KLAHN -KIRKLEY -KIMZEY -KETTLE -KERRICK -KENNERSON -KEESLER -KARLIN -KAN -JENNY -JANOUSEK -JAN -IMEL -ICENHOUR -HYLER -HUNGER -HUDOCK -HOUPT -HOPPING -HOOPS -HOLQUIN -HOLIMAN -HOLAHAN -HODAPP -HIRES -HILLEN -HICKMON -HERSOM -HENRICH -HELVEY -HEIDT -HEIDEMAN -HEDSTROM -HEDIN -HEBRON -HAYTER -HARN -HARDAGE -HARBOR -HALSTED -HAHNE -HAGEMANN -GUZIK -GUEL -GROESBECK -GRITTON -GREGO -GRAZIANI -GRASTY -GRANEY -GOUIN -GOSSAGE -GOLSTON -GOHEEN -GODINA -GLADE -GIORGI -GIAMBRONE -GERRITY -GERRISH -GERO -GERLING -GAULKE -GARLICK -GALIANO -GAITER -GAHAGAN -GAGNIER -FRIDDLE -FREDERICKSEN -FRANQUI -FOLLANSBEE -FOERSTER -FLURY -FITZMAURICE -FIORINI -FINLAYSON -FIECKE -FICKES -FICHTER -FERRON -FERDINAND -FARREL -FACKLER -EYMAN -ESCARCEGA -ERRICO -ERLER -ERBY -ENGMAN -ENGELMANN -ELSASS -ELLISTON -EDDLEMAN -EADIE -DUMMER -DROST -DORROUGH -DORRANCE -DOOLAN -DONALSON -DOMENICO -DITULLIO -DITTMAR -DISHON -DIONISIO -DIKE -DEVINNEY -DESIR -DESCHAMP -DERRICKSON -DELAMORA -DEITCH -DECHANT -DAVE -DANEK -DAHMEN -CURCI -CUDJOE -CRUMBLE -CROXTON -CREASMAN -CRANEY -CRADER -COWLING -COULSTON -CORTINA -CORLEW -CORL -COPLAND -CONVERY -COHRS -CLUNE -CLAUSING -CIPRIANI -CINNAMON -CIANCIOLO -CHUBB -CHITTUM -CHENARD -CHARLESWORTH -CHARLEBOIS -CHAMPINE -CHAMLEE -CHAGOYA -CASSELMAN -CARDELLO -CAPASSO -CANNELLA -CALDERWOOD -BYFORD -BUTTARS -BUSHEE -BURRAGE -BUENTELLO -BRZOZOWSKI -BRYNER -BRUMIT -BROOKOVER -BRONNER -BROMBERG -BRIXEY -BRINN -BRIGANTI -BREMNER -BRAWN -BRANSCOME -BRANNIGAN -BRADSHER -BOZEK -BOULAY -BORMANN -BONGIORNO -BOLLIN -BOHLER -BOGERT -BODENHAMER -BLOSE -BLIND -BIVONA -BITTER -BILLIPS -BIBLER -BENFER -BENEDETTI -BELUE -BELLANGER -BELFORD -BEHN -BEERMAN -BARNHARDT -BALTZELL -BALLING -BALDUCCI -BAINTER -BABINEAU -BABICH -BAADE -ATTWOOD -ASMUS -ASARO -ARTIAGA -APRIL -APPLEBAUM -ANG -ANDING -AMAR -AMAKER -ALLSUP -ALLIGOOD -ALERS -AGIN -AGAR -ACHENBACH -ABRAMOWITZ -ABBAS -AASEN -ZEHNDER -YOPP -YELLE -YELDELL -WYNTER -WOODMANSEE -WOODING -WOLL -WINBORNE -WILLSEY -WILLEFORD -WIDGER -WHITEN -WHITCHURCH -WHANG -WEN -WEISSINGER -WEINMAN -WEINGARTNER -WEIDLER -WALTRIP -WALT -WAGAR -WAFFORD -VITAGLIANO -VILLALVAZO -VILLACORTA -VIGNA -VICKREY -VICINI -VENTIMIGLIA -VANDENBOSCH -VALVO -VALAZQUEZ -UTSEY -URBANIAK -UNZUETA -TROMBETTA -TREVIZO -TREMBLEY -TREMAINE -TRAVERSO -TORES -TOLAN -TILLISON -TIETJEN -TEE -TEACHOUT -TAUBE -TATHAM -TARWATER -TARBELL -SYDOW -SY -SWIMS -SWADER -STRIPLIN -STOPS -STOLTENBERG -STEINHAUER -STEIL -STEIGERWALD -STARKWEATHER -STALLMAN -SQUIER -SPARACINO -SPAN -SPADAFORA -SHIFLET -SHIBATA -SHEVLIN -SHERRICK -SHAKE -SESSUMS -SERVAIS -SENTERS -SEEVERS -SEELYE -SEARFOSS -SEABROOKS -SCOLES -SCHWAGER -SCHROM -SCHMELTZER -SCHEFFEL -SAX -SAWIN -SATERFIEL -SARDINA -SANROMAN -SANE -SANDIN -SALAMANCA -SALADIN -SAK -SABIA -RUSTIN -RUSHIN -RULEY -RUETER -ROW -ROTTER -ROSENZWEIG -ROLES -ROHE -RODER -ROCKEY -RO -RITER -RIETH -RIED -RIDING -RIDDLES -RIDDER -RENNICK -REMMERS -REMER -RELYEA -REILLEY -REDER -RASHEED -RAKOWSKI -RABIN -QUEENER -PURSEL -PRUE -PROWELL -PRITTS -PRIMO -PRESLER -POUNCY -PORCHE -PORCARO -POLLMAN -PLEAS -PLANAS -PINKLEY -PINEGAR -PILGER -PHILSON -PETTIES -PERRODIN -PENDERGRAST -PATAO -PASTERNAK -PASSARELLI -PASKO -PARSHALL -PANOS -PANELLA -PALOMBO -PADILLO -OYAMA -OVERLOCK -OVERBECK -OTTERSON -ORRELL -ORNELLAS -OPITZ -OKELLY -OFFICER -OBANDO -NOGGLE -NICOSIA -NETTO -NEGRIN -NATALI -NAKAYAMA -NAGAO -NADEL -MUSIAL -MURRILL -MURRAH -MUNSCH -MUCCI -MROZEK -MOYES -MOWRER -MORIS -MORAIS -MOORHOUSE -MONICO -MONE -MONDY -MONCAYO -MOLE -MILTENBERGER -MILSAP -MILONE -MILLIKIN -MILARDO -MIKA -MICHEALS -MICCO -MEYERSON -MERICLE -MENDELL -MEINHARDT -MEACHUM -MCLEROY -MCGRAY -MCGONIGAL -MAULTSBY -MATIS -MATHENEY -MATAMOROS -MARRO -MARCIL -MARCIAL -MANTZ -MANNINGS -MALTBY -MALCHOW -MAIORANO -MAHN -MAHLUM -MAGLIO -MAE -MABERRY -LUSTIG -LUELLEN -LONGWELL -LONGENECKER -LOFLAND -LOCASCIO -LINNEY -LINNEMAN -LIGHTY -LEVELL -LEVAY -LENAHAN -LEMEN -LEHTO -LEBARON -LANCTOT -LAMY -LAINEZ -LAFFOON -LABOMBARD -KUJAWSKI -KROGER -KREUTZER -KORHONEN -KONDO -KOLLMAN -KOHAN -KOGUT -KNAUS -KIVI -KITTEL -KINNER -KINDIG -KINDEL -KIESEL -KIDNEY -KIBBY -KHANG -KETTLER -KETTERER -KEPNER -KELLIHER -KEENUM -KANODE -KAIL -JULY -JUHASZ -JOWETT -JOLICOEUR -JEON -ISER -INGRASSIA -IMAI -HUTCHCRAFT -HUMISTON -HULINGS -HUKILL -HUIZENGA -HUGLEY -HUDDLE -HOSE -HORNYAK -HODDER -HISLE -HILLENBRAND -HILLE -HIGUCHI -HERTZLER -HERDON -HEPPNER -HEPP -HEITMANN -HECKART -HAZLEWOOD -HAYLES -HAYEK -HAWTHORN -HAWKIN -HAUGLAND -HASLER -HARBUCK -HAPPEL -HAMBLY -HAMBLETON -HAGAMAN -GUZZI -GULLETTE -GUINYARD -GROGG -GRISE -GRIFFING -GOTO -GOSNEY -GOODS -GOLEY -GOLDBLATT -GLEDHILL -GIRTON -GILTNER -GILLOCK -GILHAM -GILFILLAN -GIBLIN -GENTNER -GEHLERT -GEHL -GARTEN -GARNEY -GARLOW -GARETT -GALLES -GALEANA -FUTRAL -FUHR -FRIEDLAND -FRANSON -FRANSEN -FOULDS -FOLLMER -FOLAND -FLAX -FLAVIN -FIRKINS -FILLION -FIGUEREDO -FERRILL -FENSTER -FENLEY -FAUVER -FARFAN -FACTOR -EUSTICE -EPPLER -ENGELMAN -ENGELKE -EMMER -ELZY -ELLWOOD -ELLERBEE -ELKS -EHRET -EBBERT -DURRAH -DUPRAS -DUBUQUE -DRAGOO -DONLON -DOLLOFF -DOI -DIBELLA -DERRICO -DEMKO -DEMAR -DARRINGTON -CZAPLA -CROOKER -CREAGH -CRANOR -CRANER -CRAFTS -CRABILL -COYER -COWMAN -COWHERD -COTTONE -COSTILLO -COSTER -COSTAS -COSENZA -CORKER -COLLINSON -COELLO -CLINGMAN -CLINGERMAN -CLABORN -CITIZEN -CHMURA -CHAUSSE -CHAUDHRY -CHAPELL -CHANCY -CERRONE -CAVES -CAVERLY -CAULKINS -CARN -CAMPFIELD -CAMPANELLI -CALLAHAM -CADORETTE -BUTKOVICH -BUSKE -BURRIER -BURKLEY -BUNYARD -BUDGE -BUCKELEW -BUCHHEIT -BROMAN -BRESCIA -BRASEL -BRAIN -BOYSTER -BOOE -BONOMO -BONNET -BONDI -BOHNSACK -BOBBY -BLOMBERG -BLANFORD -BILDERBACK -BIGGINS -BENTLY -BEHRENDS -BEEGLE -BEDOYA -BECHTOL -BEAUBIEN -BAYERL -BAUMGART -BAUMEISTER -BARRATT -BARLOWE -BARKMAN -BARBAGALLO -BALDREE -BAINE -BAIL -BAGGS -BACOTE -AYLWARD -ASHURST -ARVIDSON -ARTHURS -ARRIETA -ARREY -ARREGUIN -ARRANT -ARNER -ARMOR -ARIZMENDI -ANKER -AMIS -AMEND -ALPHIN -ALLBRIGHT -AIKIN -ACRES -ZUPAN -ZUCHOWSKI -ZEOLLA -ZANCHEZ -ZAHRADNIK -ZAHLER -YOUNAN -YEATER -YEARTA -YARRINGTON -YANTIS -WOOMER -WOLLARD -WOLFINGER -WOERNER -WITEK -WISHON -WISENER -WINGERTER -WILLET -WILDING -WIEDEMANN -WEISEL -WEDEKING -WEARY -WAYBRIGHT -WARDWELL -WALKINS -WALDORF -VOTH -VOIT -VIRDEN -VILORIA -VILLAGRAN -VASTA -VASHON -VAQUERA -VANTASSELL -VANDERLINDEN -VANDERGRIFT -VANCUREN -VALENTA -UNDERDAHL -TYRA -TYGART -TWINING -TWIFORD -TURLINGTON -TULLIUS -TUBMAN -TROWELL -TRIEU -TRANSUE -TOUSANT -TORGERSEN -TOOKER -TONY -TOME -TOMA -TOCCI -TIPPINS -TINNER -TIMLIN -TILLINGHAST -TIDMORE -TETI -TEDRICK -TACEY -SWANBERG -SUNDE -SUMMITT -SUMMERFORD -SUMMA -SUE -STRATMAN -STRANDBERG -STORCK -STOBER -STEITZ -STAYER -STAUBER -STAIGER -SPONAUGLE -SPOFFORD -SPARANO -SPAGNOLA -SOKOLOSKI -SNAY -SLOUGH -SKOWRONSKI -SIECK -SHIMKUS -SHETH -SHERK -SHANKLES -SHAKESPEARE -SHAHID -SEVY -SERGEANT -SENEGAL -SEIDEN -SEIDELL -SEARLS -SEARIGHT -SCHWALM -SCHUG -SCHILKE -SCHIER -SCHECK -SAWTELLE -SANTORE -SANTA -SANKS -SANDQUIST -SANDEN -SALING -SABINE -SAATHOFF -RYBERG -RUSTAD -RUFFING -RUDNICKI -RUANE -ROZZI -ROWSE -ROSENAU -RODES -RISSER -RIGGIN -RIESS -RIESE -RHOTEN -REINECKE -REIGLE -REICHLING -REDNER -REBELO -RAYNES -RAIMONDI -RAHE -RADA -QUERRY -QUELLETTE -PULSIFER -PROCHNOW -PRETTY -PRATO -POULTON -POUDRIER -POLL -POLICASTRO -POLHEMUS -POLASEK -POISSANT -POHLMANN -PLOTNER -PITKIN -PITA -PIO -PINKETT -PILOT -PIEKARSKI -PICHON -PHILIPPE -PFAU -PETROFF -PETERMANN -PEPLINSKI -PELLER -PECINOVSKY -PEARSE -PATTILLO -PATAGUE -PARLIER -PARENTI -PARCHMAN -PANE -PAFF -OTA -ORTNER -OROS -NOLLEY -NOAKES -NIGH -NICOLOSI -NICOLAY -NEWNAM -NETTER -NASS -NAPOLES -NAKATA -NAKAMOTO -MURIEL -MUCK -MORLOCK -MORAGA -MONTILLA -MONGEAU -MOLITOR -MOHNEY -MITCHENER -MEYERHOFF -MEDEL -MCNIFF -MCMONAGLE -MCGLOWN -MCGLINCHEY -MCGARRITY -MCCRIGHT -MCCORVEY -MCCONNEL -MCCARGO -MAZZEI -MATULA -MASTROIANNI -MASSINGALE -MARING -MARICLE -MARC -MANS -MANNON -MANNIX -MANNEY -MANGER -MANALO -MALO -MALAN -MAHONY -MADRIL -MACKOWIAK -MACKO -MACINTOSH -LURRY -LUCZYNSKI -LUCKE -LUCARELLI -LUCA -LOUD -LOU -LOSEE -LORENCE -LOIACONO -LOHSE -LODER -LIPARI -LINEBARGER -LINDAMOOD -LIMBAUGH -LETTS -LELEUX -LEEP -LEEDER -LEARD -LAXSON -LAWRY -LAVERDIERE -LAUGHTON -LASTRA -KUREK -KRISS -KRISHNAN -KRETSCHMER -KREBSBACH -KONTOS -KNOBEL -KNAUF -KLICK -KLEVEN -KLAWITTER -KITCHIN -KIRKENDOLL -KINKEL -KINGREY -KILBOURN -KENSINGER -KENNERLY -KAMIN -JUSTINIANO -JUREK -JUNKIN -JULIA -JUDON -JORDAHL -JEANES -JARRELLS -JAMAL -IWAMOTO -ISREAL -ISHIDA -INES -IMMEL -IMAN -IHLE -HYRE -HURN -HUNN -HULTMAN -HUFFSTETLER -HUFFER -HUBNER -HOWEY -HORNEY -HOOTON -HOLTS -HOLSCHER -HOLEN -HOGGATT -HILAIRE -HERZ -HENNE -HELSTROM -HELLICKSON -HEINLEIN -HECKATHORN -HECKARD -HEATHER -HEART -HEADLEE -HAUPTMAN -HAUGHEY -HATT -HARRING -HARFORD -HAMMILL -HAMED -HALPERIN -HAIG -HAGWOOD -HAGSTROM -GUNNELLS -GUNDLACH -GUARDIOLA -GREENO -GREENLAND -GONCE -GOLDSBY -GOBEL -GISI -GILLINS -GILLIE -GERMANO -GEIBEL -GAUGER -GARRIOTT -GARBARINO -GANDER -GAJEWSKI -FUNARI -FULLBRIGHT -FUELL -FRITZLER -FRESHWATER -FREAS -FORTINO -FORBUS -FONDA -FLOHR -FLEMISTER -FISCH -FINKS -FENSTERMAKER -FELDSTEIN -FAW -FARHAT -FARAH -FANKHAUSER -FAGG -FADER -EXLINE -EMIGH -EGUIA -EDMAN -ECKLER -EASTBURN -DY -DUNMORE -DUBUISSON -DUBINSKY -DRAYER -DOVERSPIKE -DOUBLEDAY -DOTEN -DORNER -DOLSON -DOHRMANN -DISLA -DIRENZO -DIPAOLA -DINES -DICKIE -DIBLASI -DEWOLF -DESANTI -DENNEHY -DEMMING -DELKER -DECOLA -DAVILLA -DAVIDS -DAUGHTRIDGE -DARVILLE -DARLAND -DANZY -DANDY -DAGENAIS -CULOTTA -CRUZADO -CRUDUP -CROSWELL -COVERDALE -COVELLI -COUTS -CORBELL -COPLAN -COOLBAUGH -CONYER -CONLEE -CONIGLIARO -COMISKEY -COBERLY -CLENDENING -CLAIRMONT -CIENFUEGOS -CHOJNACKI -CHILCOTE -CHAMPNEY -CASSARA -CASAZZA -CASADO -CAREW -CARBIN -CARABAJAL -CALCAGNI -CAIL -CADDY -BUSBEE -BURTS -BURBRIDGE -BUNGE -BUNDICK -BUHLER -BUCKER -BUCHOLTZ -BRUEN -BROCE -BRITE -BRIGNAC -BRIERLY -BRIDGMAN -BRAHAM -BRADISH -BOYINGTON -BORJAS -BONNIE -BONN -BONHOMME -BOHLEN -BOGARDUS -BOCKELMAN -BLICK -BLACKERBY -BIZIER -BIRO -BINNEY -BERTOLINI -BERTIN -BERTI -BERT -BENTO -BENO -BELGARDE -BELDING -BECKEL -BECERRIL -BAZALDUA -BAYES -BAYARD -BARRUS -BARRIS -BAROS -BARA -BALLOW -BALBOA -BAKEWELL -BAGINSKI -BADALAMENTI -BACKHAUS -AVILEZ -AUVIL -ATTEBERRY -ARDON -ANZALDUA -ANELLO -AMSLER -AMO -AMBROSIO -ALTHOUSE -ALLES -ALIX -ALBERTI -ALBERSON -AITCHISON -AGUINAGA -ZIEMANN -ZICKEFOOSE -ZERR -ZEH -ZECK -ZARTMAN -ZAHM -ZABRISKIE -YOHN -YELLOWHAIR -YEATON -YARNALL -YAPLE -WOLSKI -WIXON -WINFORD -WILLNER -WILLMS -WHITSITT -WHEELWRIGHT -WEYANDT -WESS -WENGERD -WEATHERHOLTZ -WATTENBARGER -WALRATH -WALPOLE -WALDRIP -VOGES -VIOLET -VINZANT -VIARS -VERES -VENEZIANO -VEILLON -VAWTER -VAUGHNS -VANWART -VANOSTRAND -VALIENTE -VALDERAS -UHRIG -TUNISON -TULLOCH -TROSTLE -TREASTER -TRAYWICK -TOYE -TOMSON -TOMASELLO -TOMASEK -TIPPIT -TINAJERO -TIFT -TIENDA -THORINGTON -THIERRY -THIEME -THIBEAU -THAKKAR -TEWELL -TEST -TELFER -SWEETSER -SUM -STRATFORD -STRACENER -STOKE -STIVERSON -STELLING -STEFAN -STAVROS -SPEAKER -SPATZ -SPAGNOLI -SORGE -SOBER -SLEVIN -SLABAUGH -SIMSON -SHUPP -SHOULTZ -SHOTTS -SHIROMA -SHETLEY -SHERROW -SHEFFEY -SHAWGO -SHAMBURGER -SESTER -SEGRAVES -SEELIG -SEATS -SCIONEAUX -SCHWARTZKOPF -SCHWABE -SCHOLES -SCHMUCK -SCHLUTER -SCHLECHT -SCHILLACI -SCHILDGEN -SCHIEBER -SCHEWE -SCHECTER -SCARPELLI -SCAGLIONE -SAUTTER -SANTELLI -SANDMAN -SALMI -SABADO -RYER -RYDBERG -RYBA -RUSHFORD -RUNNING -RUNK -RUDDICK -ROTONDO -ROTE -ROSENFIELD -ROESNER -ROCCHIO -RITZER -RIPPEL -RIMES -RIFFEL -RICHISON -RIBBLE -REYNOLD -RESH -REHN -RATTI -RASOR -RASNAKE -RAPPOLD -RANDO -RADOSEVICH -PULICE -PUFF -PRICHETT -PRIBBLE -POYNOR -PLOWDEN -PITZEN -PITTSLEY -PITTER -PIGEON -PHILYAW -PHILIPPS -PETITE -PESTANA -PERRO -PERONE -PERA -PEIL -PEDONE -PAWLOWICZ -PATTEE -PARTEN -PARLIN -PARISEAU -PAREDEZ -PARDON -PANTHER -PAEK -PACIFICO -OTTS -OSTROW -OSORNIO -OSLUND -ORSO -OOTEN -ONKEN -ONIEL -ONAN -OLLISON -OHLSEN -OHLINGER -ODOWD -NIEMIEC -NEUBERT -NEMBHARD -NEAVES -NEATHERY -NAKASONE -MYERSON -MUTO -MUNTZ -MUNEZ -MUMME -MUMM -MUJICA -MUISE -MUENCH -MORRISS -MOLOCK -MISHOE -MINIER -METZGAR -MERO -MEISER -MEESE -MEALS -MCSWEEN -MCQUIRE -MCQUINN -MCPHEETERS -MCKELLER -MCILRATH -MCGOWN -MCDAVIS -MCCUEN -MCCLENTON -MAXHAM -MATSUI -MARRINER -MARLETTE -MANTLE -MANSUR -MANCINO -MALAND -MAJKA -MAISCH -MAHEUX -MADRY -MADRIZ -MACKLEY -MACKE -LYDICK -LUTTERMAN -LUPPINO -LUNDAHL -LOVINGOOD -LOUDON -LONGMORE -LIPPMAN -LIEFER -LEVEQUE -LESCARBEAU -LEMMER -LEDGERWOOD -LAWVER -LAWRIE -LATTEA -LASKO -LAHMAN -KULPA -KUKOWSKI -KUKLA -KUBOTA -KUBALA -KRIZAN -KRIZ -KRIKORIAN -KRAVETZ -KRAMP -KOWALESKI -KNOBLOCH -KLOSTERMAN -KLOSTER -KLEPPER -KIRVEN -KINNAMAN -KINNAIRD -KILLAM -KIESLING -KESNER -KEEBLER -KEAGLE -KARLS -KAPINOS -KANTNER -KABA -JUNIOUS -JEFFERYS -JACQUET -IZZI -ISHII -IRION -IFILL -HYUN -HOTARD -HORMAN -HOPPES -HOPKIN -HOKANSON -HODA -HOCUTT -HOAGLIN -HITES -HIRAI -HINDLE -HINCH -HILTY -HILD -HIER -HICKLE -HIBLER -HENRICHS -HEMPSTEAD -HELMERS -HELLARD -HEIMS -HEIDLER -HEARST -HAWBAKER -HAU -HARKLEROAD -HARARI -HANNEY -HANNAFORD -HAMID -HAMBURGER -HALTOM -HALLFORD -GUILLIAMS -GUERETTE -GRYDER -GROSECLOSE -GROEN -GRIMLEY -GREENIDGE -GREEK -GRAFFAM -GOUCHER -GOODENOUGH -GOLDSBOROUGH -GOLDIE -GLOSTER -GLANTON -GLADSON -GLADDING -GHEE -GETHERS -GERSTEIN -GEESEY -GEDDIE -GAYER -GAW -GAVER -GAUNTT -GARTLAND -GARRIGA -GAROUTTE -GAO -GAN -FRONK -FRITZE -FRENZEL -FORGIONE -FLUITT -FLINCHBAUGH -FLACH -FIORITO -FINAN -FINAMORE -FIMBRES -FILLMAN -FILE -FIGEROA -FICKLIN -FEHER -FEDDERSEN -FAMBRO -FAIRBAIRN -EVES -ESPERANZA -ESCALONA -ELSEY -EISENSTEIN -EHRENBERG -EARGLE -DRESS -DRANE -DOROTHY -DORIA -DOGAN -DIVELY -DEWOLFE -DETTMAN -DESIDERIO -DESCH -DENNEN -DENK -DEMARIS -DELSIGNORE -DEJARNETTE -DEERE -DEDMAN -DAWS -DAWN -DAUPHINAIS -DANZ -DANTIN -DANNENBERG -DALBY -CURRENCE -CULWELL -CUESTA -CROSTON -CROSSNO -CROMLEY -CRISCI -CRAW -CORYELL -COOTER -CONDRA -COLUMBIA -COLPITTS -COLAS -COACH -CLINK -CLEVINGER -CLERMONT -CISTRUNK -CIRILO -CHIRICO -CHIARELLO -CEPHUS -CECENA -CAVALIERE -CAUGHEY -CASIMIR -CARWELL -CARLON -CARBONARO -CARAVEO -CANTLEY -CALLEJAS -CAGNEY -CADIEUX -CABANISS -BUSHARD -BURLEW -BURAS -BUDZINSKI -BUCKLEW -BRUNEAU -BRUMMER -BRUEGGEMANN -BROTZMAN -BROSS -BROAD -BRITTIAN -BRIMAGE -BRILES -BRICKMAN -BRENEMAN -BREITENSTEIN -BRANDEL -BRACKINS -BOYDSTUN -BOTTA -BOSKET -BOROS -BORGMANN -BORDEAU -BONIFACIO -BOLTEN -BOEHMAN -BLUNDELL -BLOODSAW -BJERKE -BIFFLE -BICKETT -BICKERS -BEVILLE -BERGREN -BERGEY -BENZING -BELFIORE -BEIRNE -BECKERT -BEBOUT -BAUMERT -BATTEY -BARTMAN -BARRS -BARRIERE -BARCELO -BARBE -BALLIET -BAHAM -BABST -AUTON -ASPER -ASBELL -ARZATE -ARGENTO -AREL -ARAKI -ARAI -APO -ANTLEY -AMODEO -AMMANN -ALLYN -ALLENSWORTH -ALDAPE -AKEY -ABEITA -ZWEIFEL -ZENG -ZEILER -ZAMOR -ZALENSKI -YZAGUIRRE -YOUSEF -YETMAN -YAU -WYER -WOOLWINE -WOHLGEMUTH -WOHLERS -WITTENBERG -WINGROVE -WIND -WIMSATT -WILLIMAS -WILKENSON -WILDEY -WILDERMAN -WILCZYNSKI -WIGTON -WHORLEY -WELLONS -WELLES -WELLE -WEIRICH -WEIDEMAN -WEIDE -WEEKLY -WEAST -WASMUND -WARSHAW -WALSON -WALDNER -WALCH -WALBERG -WAGENER -WAGEMAN -VRIEZE -VOSSEN -VORCE -VOORHIS -VONDERHEIDE -VIRUET -VICARI -VERNE -VELASQUES -VAUTOUR -VARTANIAN -VARONA -VANKEUREN -VANDINE -VANDERMEER -URSERY -UNDERDOWN -UHRICH -UHLMAN -TWOREK -TWINE -TWELLMAN -TWEEDIE -TUTINO -TURMELLE -TUBB -TROOP -TRIVEDI -TRIANO -TREVATHAN -TREESE -TREANOR -TREACY -TRAINA -TOPHAM -TOENJES -TIPPETTS -TIEU -THOMURE -THATCH -THAN -TETZLAFF -TETTERTON -TENA -TELL -TEAMER -TAPPAN -TANK -TALCOTT -TAGG -SZCZEPANSKI -SYRING -SURACE -SULZER -SUGRUE -SUGARMAN -SUESS -STYONS -STWART -STUPKA -STREY -STRAUBE -STRATE -STODDART -STOCKBRIDGE -STJAMES -STINGER -STEIMLE -STEENBERG -START -STAMAND -STALLER -STAHLY -STAGER -SPURGIN -SPROW -SPONSLER -SPEAS -SPAINHOUR -SONES -SMITS -SMELCER -SLOVAK -SLATEN -SINGLETERRY -SIMIEN -SIDEBOTTOM -SIBRIAN -SHELLHAMMER -SHELBURNE -SHAMBO -SEPEDA -SEIGEL -SCOGIN -SCIANNA -SCHMOLL -SCHMELZER -SCHEU -SCHACHTER -SAVANT -SAUSEDA -SATCHER -SANDOR -SAMPSELL -RUGH -RUFENER -RUDOLF -ROTENBERRY -ROSSOW -ROSSBACH -ROOTS -ROLLMAN -RODRIQUE -RODREGUEZ -RODKEY -RODA -RISING -RINI -RIGGAN -RIENTS -RIEDL -RHINES -RESS -REINBOLD -RASCHKE -RARDIN -RAIN -RACICOT -QUILLIN -PUSHARD -PRIMROSE -PRIES -PRESSEY -PRECOURT -PRATTS -POSTEL -POPPELL -PLUMER -PINGREE -PIERONI -PFLUG -PETRE -PETRARCA -PETERKA -PERU -PERKIN -PERGANDE -PERANIO -PENNA -PEKAR -PEA -PAULHUS -PASQUARIELLO -PARRAS -PARMENTIER -PARA -PANZER -PAMPLIN -OVIATT -OSTERHOUDT -OSTENDORF -OSMUN -ORTMAN -ORLOFF -ORBAN -ONOFRIO -OLVEDA -OLTMAN -OKEEFFE -OCANA -NUNEMAKER -NOVY -NOFFSINGER -NISH -NIDAY -NETHERY -NESTLE -NEMITZ -NEIDERT -NADAL -NACK -MUSZYNSKI -MUNSTERMAN -MULHERIN -MORTIMORE -MORTER -MONTESINO -MONTALVAN -MONTALBANO -MOMON -MOMAN -MOM -MOGAN -MINNS -MILLWARD -MILLING -MICHELSEN -MICHEAL -MEWBORN -METRO -METAYER -MENSCH -MELOY -MEGGS -MEADERS -MCSORLEY -MCMENAMIN -MCLEAD -MCLAUCHLIN -MCGUFFEY -MCGUCKIN -MCGLAUGHLIN -MCFERRON -MCENTYRE -MCCRUM -MCCAWLEY -MCBAIN -MAYHUE -MAU -MATZEN -MATTON -MARSEE -MARRIN -MARLAND -MARKUM -MANTILLA -MANFRE -MALTA -MAKUCH -MADLOCK -MACLAREN -MACAULEY -LUZIER -LUTHY -LUFKIN -LUCENA -LOUDIN -LOTHROP -LORCH -LONA -LOLL -LOADHOLT -LISA -LIPPOLD -LIKES -LICHTMAN -LIBERTO -LIAKOS -LEWICKI -LEVETT -LEVEL -LENTINE -LEJA -LEGREE -LAWHEAD -LAURO -LAUDER -LARD -LANMAN -LANK -LANING -LAMA -LALOR -KROB -KRIGER -KRIEGEL -KREJCI -KREISEL -KOZEL -KOS -KONKEL -KOLSTAD -KOENEN -KOCSIS -KNOBLOCK -KNEBEL -KLOPFER -KLEE -KILDAY -KESTEN -KERBS -KEMPKER -KEATHLEY -KAZEE -KAWASAKI -KAUR -KAMER -KAMAKA -KALLENBACH -KAFKA -JERRELL -JEHLE -JAYCOX -JARDIN -JAHNS -IVESTER -HYPPOLITE -HYCHE -HUSBANDS -HUR -HUPPERT -HULIN -HUBLEY -HORSEY -HORNAK -HOLZWARTH -HOLMON -HOLLABAUGH -HOLAWAY -HODES -HOAK -HINESLEY -HILLWIG -HILLEBRAND -HIGHFIELD -HESLOP -HERRADA -HENDRYX -HELLUMS -HEIT -HEISHMAN -HEINDEL -HAYSLIP -HAYFORD -HASTIE -HARTGROVE -HANUS -HAKIM -HAINS -HADNOTT -GUNDERSEN -GULINO -GUIDROZ -GUEBERT -GRESSETT -GREENHOUSE -GRAYDON -GRAMLING -GRAHN -GOUPIL -GORY -GORELICK -GOODREAU -GOODNOUGH -GOLAY -GOING -GOERS -GLATZ -GILLIKIN -GIESEKE -GIAMMARINO -GETMAN -GERONIMO -GERARDO -GENSLER -GAZDA -GARIBALDI -GAHAN -FURY -FUNDERBURKE -FUKUDA -FUGITT -FUERST -FORTMAN -FORSGREN -FORMICA -FLUKE -FLINK -FITTON -FELTZ -FEKETE -FEIT -FEHRENBACH -FARONE -FARINAS -FARIES -FAGEN -EWIN -ESQUILIN -ESCH -ENDERLE -ELLERY -ELLERS -EKBERG -EGLI -EFFINGER -DYMOND -DULLE -DULA -DUHE -DUDNEY -DUANE -DOWLESS -DOWER -DORMINEY -DOPP -DOOLING -DOMER -DISHER -DILLENBECK -DIFILIPPO -DIBERNARDO -DEYOE -DEVILLIER -DENLEY -DELAND -DEFIBAUGH -DEEB -DEBOW -DAUER -DATTA -DARCANGELO -DAOUST -DAMELIO -DAHM -DAHLMAN -CYPHER -CURLING -CURLIN -CUPIT -CULTON -CUENCA -CROPP -CROKE -CREMER -CRACE -COSIO -CORZINE -COOMBE -COMAN -COLONE -COLOMA -COLLINGWOOD -COLETTA -CODERRE -COCKE -COBLER -CLAYBROOK -CIRCLE -CINCOTTA -CIMMINO -CHRISTOFF -CHRISTINA -CHISUM -CHILLEMI -CHEVERE -CHAE -CHACHERE -CERVONE -CERMAK -CEFALU -CAUBLE -CATHER -CASO -CARNS -CARCAMO -CARBO -CAPOCCIA -CAPELLO -CAPELL -CANINO -CAMBARERI -CALVI -CABINESS -BUSHELL -BURTT -BURSTEIN -BURKLE -BUNNER -BUNDREN -BUECHLER -BRYAND -BRUSO -BROWNSTEIN -BROW -BROUSE -BRODT -BROADEN -BRISBIN -BRIGHTMAN -BRIDGETT -BRENES -BREITENBACH -BRAZZELL -BRAZEE -BRAMWELL -BRAMHALL -BRADSTREET -BOYTON -BOWLAND -BOULTER -BOSSERT -BONURA -BONEBRAKE -BONACCI -BOECK -BLYSTONE -BIRCHARD -BILAL -BIDDY -BIBEE -BEVANS -BETHKE -BERTELSEN -BERNEY -BERGFELD -BENWARE -BELLON -BELLAH -BEEN -BATTERTON -BARBERIO -BAMBER -BAGDON -BADEAUX -AVERITT -AUGSBURGER -ATES -ARVIE -ARONOWITZ -ARENS -ARCH -ARAYA -ANGELOS -ANDRADA -AMELL -AMANTE -ALVIN -ALMY -ALMQUIST -ALLS -AISPURO -AGUILLON -AGUDELO -ADMIRE -ACY -ACETO -ABBOT -ABALOS -ZDENEK -ZAREMBA -ZACCARIA -YOUSSEF -WRONA -WRINKLE -WREDE -WOTTON -WOOLSTON -WOLPERT -WOLLMAN -WINCE -WIMBERLEY -WILLMORE -WILLETTS -WIKOFF -WIEDER -WICKERT -WHITENACK -WERNICK -WELTE -WELDEN -WEISKOPF -WEISENBERGER -WEICH -WALLINGTON -WALDER -VOSSLER -VORE -VIGO -VIERLING -VICTORINE -VERDUN -VENCILL -VENA -VAZGUEZ -VASSEL -VANZILE -VANVLIET -VANTREASE -VANNOSTRAND -VANDERVEER -VANDERVEEN -VANCIL -UYEDA -UMPHREY -UHLER -UBER -TUTSON -TURRENTINE -TULLIER -TUGWELL -TRUNDY -TRIPODI -TOMER -TOMEI -TOMASI -TOMASELLI -TOKARSKI -TISHER -TIBBETS -THWEATT -THISTLE -THARRINGTON -TESAR -TELESCO -TEASDALE -TATEM -TANIGUCHI -SURIEL -SUDLER -STUTSMAN -STURMAN -STRITE -STRELOW -STREIGHT -STRAWDER -STRANSKY -STRAHL -STOURS -STONG -STINEBAUGH -STILTS -STILLSON -STEYER -STELLE -STEFFY -STEFFENSMEIER -STATHAM -SQUILLANTE -SPIESS -SPARGO -SOUTHWARD -SOLLER -SODEN -SNUGGS -SNELLGROVE -SMYERS -SMIDDY -SLONAKER -SKYLES -SKOWRON -SIVILS -SIQUEIROS -SIERS -SIDDALL -SHORTY -SHONTZ -SHINGLER -SHILEY -SHIBLEY -SHERARD -SHELNUTT -SHEDRICK -SHASTEEN -SERENO -SELKE -SCOVIL -SCOLA -SCHUETT -SCHUESSLER -SCHRECKENGOST -SCHRANZ -SCHOEPP -SCHNEIDERMAN -SCHLANGER -SCHIELE -SCHEUERMANN -SCHERTZ -SCHEIDLER -SCHEFF -SCHANER -SCHAMBER -SCARDINA -SAVEDRA -SAULNIER -SATER -SARRO -SAMBRANO -SALOMONE -SABOURIN -RUUD -RUTTEN -RUFFINO -RUDDOCK -ROWSER -ROUSSELL -ROSENGARTEN -ROMINGER -ROLLINSON -ROHMAN -ROESER -RODENBERG -ROBERDS -RIDGELL -RHODUS -REYNAGA -REXRODE -REVELLE -REMPEL -REMIGIO -REISING -REILING -REETZ -RAYOS -RAVENSCROFT -RAVENELL -RAULERSON -RASMUSSON -RASK -RASE -RAGON -QUESNEL -QUASHIE -PUZO -PUTERBAUGH -PTAK -PROST -PRISBREY -PRINCIPE -PRICER -PRATTE -POUNCEY -PORTMAN -PONTIOUS -POMERANTZ -PLATTER -PLANCK -PILKENTON -PILARSKI -PIANO -PHEGLEY -PERTUIT -PERLA -PENTA -PELC -PEFFER -PECH -PEAGLER -PAVELKA -PAVAO -PATMAN -PASKETT -PARRILLA -PARDINI -PAPAZIAN -PANTER -PALIN -PALEY -PAI -PAGES -PAETZOLD -PACKETT -PACHEO -OSTREM -ORSBORN -OLMEDO -OKAMURA -OILER -OHM -OGLESBEE -OATIS -OAKLAND -NUCKLES -NOTTER -NORDYKE -NOGUEIRA -NISWANDER -NIBERT -NESBY -NELOMS -NADING -NAAB -MUNNS -MULLARKEY -MOUDY -MORET -MONNIN -MOLDER -MODISETTE -MOCZYGEMBA -MOCTEZUMA -MISCHKE -MIRO -MINGS -MILOT -MILLEDGE -MILHORN -MILERA -MIELES -MICKLEY -MICHELLE -MICEK -METELLUS -MERSCH -MEROLA -MERCURE -MENCER -MELLIN -MELL -MEINKE -MCQUILLAN -MCMURTRIE -MCKILLOP -MCKIERNAN -MCKENDRICK -MCKAMIE -MCILVAINE -MCGUFFIE -MCGONIGLE -MCGARRAH -MCFETRIDGE -MCENANEY -MCDOW -MCCUTCHAN -MCCALLIE -MCADAM -MAYCOCK -MAYBEE -MATTEI -MASSI -MASSER -MASIELLO -MARTH -MARSHELL -MARMO -MARKSBERRY -MARKELL -MARCHAL -MANROSS -MANGANARO -MALLY -MALLOW -MAILHOT -MAGYAR -MADONNA -MADERO -MADDING -MADDALENA -MACFARLAND -LYNES -LUSH -LUGAR -LUCKIE -LUCCA -LOVITT -LOVERIDGE -LOUX -LOTH -LOSO -LORENZANA -LORANCE -LOCKLEY -LOCKAMY -LITTLER -LITMAN -LITKE -LIEBEL -LICHTENBERGER -LICEA -LEVERICH -LETARTE -LESESNE -LENO -LEGLEITER -LEFFEW -LAURIN -LAUNIUS -LASWELL -LASSEN -LASALA -LARAWAY -LARAMORE -LANDRITH -LANCON -LANAHAN -LAICHE -LAFORD -LACHERMEIER -KUNST -KUGEL -KUCK -KUCHTA -KUBE -KORUS -KOPPES -KOLBE -KOERBER -KOCHAN -KNITTEL -KLUCK -KLEVE -KLEINE -KITCH -KIRTON -KIRKER -KINTZ -KINGHORN -KINDELL -KIMREY -KILDUFF -KILCREASE -KICKLIGHTER -KIBBLE -KERVIN -KEPLINGER -KEOGH -KELLOG -KEETH -KEALEY -KAZMIERCZAK -KARNER -KAMEL -KALINA -KACZYNSKI -JUEL -JOYE -JERMAN -JEPPSON -JAWAD -JASIK -JAQUA -JANUSZ -JANCO -ISLAND -INSKEEP -INKS -INGOLD -ING -HYNDMAN -HYMER -HUNTE -HUNKINS -HUMBER -HUFFSTUTLER -HUFFINES -HUDON -HUDEC -HOVLAND -HOUZE -HOUT -HOUGLAND -HOPF -HON -HOLSAPPLE -HOLNESS -HOLLENBACH -HOFFMEISTER -HITCHINGS -HIRATA -HIEBER -HICKEL -HEWEY -HERRIMAN -HERMANSEN -HERANDEZ -HENZE -HEFFELFINGER -HEDGECOCK -HAZLITT -HAZELRIGG -HAYCOCK -HARREN -HARNAGE -HARLING -HARCROW -HANNOLD -HANLINE -HANEL -HANBERRY -HAMMERSLEY -HAMERNIK -HALLIWELL -HAJDUK -HAITHCOCK -HAFF -HADAWAY -HAAN -GULLATT -GUILBAULT -GUIDOTTI -GRUNER -GRISSON -GRIEVES -GRANATO -GRACIE -GRABERT -GOVER -GORKA -GLUECK -GIRARDIN -GIORGIO -GIESLER -GERSTEN -GERING -GEERS -GAUT -GAULIN -GASKAMP -GARBETT -GALLIVAN -GALLAND -GAETH -FULLENKAMP -FULLAM -FRIEDRICHS -FREIRE -FREENEY -FREDENBURG -FRAPPIER -FOWKES -FOREE -FLEURANT -FLEIG -FLEAGLE -FITZSIMONS -FISCHETTI -FIORENZA -FINNERAN -FILIPPI -FIGUERAS -FESLER -FERTIG -FENNEL -FELTMANN -FELPS -FELMLEE -FAYE -FANNON -FAMILIA -FAIRALL -FAIL -FADDEN -ESSLINGER -ENFINGER -ELSASSER -ELMENDORF -ELLISOR -EINHORN -EHRMAN -EGNER -EDMISTEN -EDLUND -EBINGER -DYMENT -DYKEMAN -DURLING -DUNSTAN -DUNSMORE -DUGAL -DUER -DRESCHER -DOYEL -DOWN -DOSSEY -DONELAN -DOCKSTADER -DOBYNS -DIVIS -DILKS -DIDIER -DESROSIER -DESANTO -DEPPE -DENG -DELOSH -DELANGE -DEFRANK -DEBO -DAUBER -DARTEZ -DAQUILA -DANKERT -DAHN -CYGAN -CUSIC -CURFMAN -CROGHAN -CROFF -CRIGER -CREVISTON -CRAYS -CRAVEY -CRANDLE -CRAIL -CRAGO -CRAGHEAD -COUSINEAU -COUCHMAN -COTHRON -CORELLA -CONINE -COLLER -COLBERG -COGLEY -COATNEY -COALE -CLENDENIN -CLAYWELL -CLAGON -CIFALDI -CHOINIERE -CHICKERING -CHICA -CHENNAULT -CHAVARIN -CHATTIN -CHALOUX -CHALLIS -CESARIO -CERTAIN -CAZAREZ -CAUGHMAN -CATLEDGE -CASEBOLT -CARREL -CARRA -CARLOW -CAPOTE -CANEZ -CAMILLO -CALIENDO -CALBERT -CAIRO -BYLSMA -BUSTLE -BUSKEY -BUSCHMAN -BURKHARD -BURGHARDT -BURGARD -BUONOCORE -BUNKLEY -BUNGARD -BUNDRICK -BUMBREY -BUICE -BUFFKIN -BRUNDIGE -BROCKWELL -BRION -BRIN -BRIANT -BREDESON -BRANSFORD -BRANNOCK -BRAKEFIELD -BRACKENS -BRABANT -BOXER -BOWDOIN -BOUYER -BOTHE -BOOR -BONAVITA -BOLLIG -BLURTON -BLUNK -BLANKE -BLANCK -BIRDEN -BIERBAUM -BEVINGTON -BEUTLER -BETTERS -BETTCHER -BERA -BENWAY -BENGSTON -BENESH -BEHAR -BEDSOLE -BECENTI -BEACHY -BATTERSBY -BASTA -BARTMESS -BARTLE -BARTKOWIAK -BARSKY -BARRIO -BARLETTA -BARFOOT -BANEGAS -BALLIN -BALDONADO -BAL -AZCONA -AVANTS -AUSTELL -AUNGST -AUNE -AUMANN -AUDIA -ATTERBURY -ASSELIN -ASMUSSEN -ASHLINE -ASBILL -ARVIZO -ARNOT -ARIOLA -ARDREY -ANGSTADT -ANASTASIO -AMSDEN -AMOR -AMERMAN -ALRED -ALMEDA -ALLINGTON -ALEWINE -ALCINA -ALBERICO -ALAS -AHLGREN -AGUAS -AGRAWAL -AGOSTA -ADOLPHSEN -ADDIE -ACRE -ACEY -ABURTO -ABLER -ZWIEBEL -ZUK -ZEPP -ZENTZ -YBARBO -YARBERRY -YAMAUCHI -YAMASHIRO -WURTZ -WRONSKI -WORSTER -WOOTTEN -WOOL -WONGUS -WOLTZ -WOLANSKI -WITZKE -WITHEY -WISECARVER -WINGHAM -WINEINGER -WINEGARDEN -WINDHOLZ -WILGUS -WIESEN -WIECK -WIDRICK -WICKLIFFE -WHITTENBERG -WESTBY -WERLEY -WENGERT -WENDORF -WEIMAR -WEICK -WECKERLY -WATROUS -WASDEN -WALFORD -WAINRIGHT -WAHLSTROM -WADLOW -VRBA -VOISIN -VIVES -VIVAS -VITELLO -VILLESCAS -VILLAVICENCIO -VILLANOVA -VIALPANDO -VETRANO -VERONA -VENSEL -VASSELL -VARANO -VANRIPER -VANKLEECK -VANDUYNE -VANDERPOL -VANANTWERP -VALENZULA -UDELL -TURNQUIST -TUFF -TRICKETT -TREMBLE -TRAMBLE -TINGEY -TING -TIMBERS -TIETZ -THON -THIEM -THEN -TERCERO -TENNER -TENAGLIA -TEASTER -TARLTON -TAITT -TAGGERT -TABON -SWARD -SWABY -SUYDAM -SURITA -SUMAN -SUGAR -SUDDETH -STUMBO -STUDIVANT -STROBL -STRETCH -STREICH -STOW -STOODLEY -STOECKER -STILLWAGON -STICKLE -STELLMACHER -STEFANIK -STEEDLEY -STARBIRD -STAKE -STAINBACK -STACKER -SPEIR -SPATH -SOMMERFELD -SOLTANI -SOLIE -SOJKA -SOBOTA -SOBIESKI -SOBCZAK -SMULLEN -SLEETH -SLAYMAKER -SKOLNICK -SKOGLUND -SIRES -SINGLER -SILLIMAN -SHROCK -SHOTT -SHIRAH -SHIMEK -SHEPPERD -SHEFFLER -SHEELER -SHARROCK -SHARMAN -SHALASH -SEYFRIED -SEYBOLD -SELANDER -SEIP -SEIFRIED -SEDOR -SEDLOCK -SEBESTA -SEAGO -SCUTT -SCRIVENS -SCIACCA -SCHULTZE -SCHOEMAKER -SCHLEIFER -SCHLAGEL -SCHLACHTER -SCHEMPP -SCHEIDER -SCARBORO -SANTI -SANG -SANDHU -SALLY -SALIM -SAIA -RYLANDER -RYBURN -RUTIGLIANO -RUOCCO -RULAND -RUDLOFF -ROTT -ROSENBURG -ROSENBECK -ROMBERGER -ROMANELLI -ROHLOFF -ROHLFING -RODDA -RODD -RITACCO -RIELLY -RIECK -RICKLES -RICKENBACKER -RHETT -RESPASS -REISNER -REINECK -REIGHARD -REHBEIN -REGA -REDWOOD -REDDIX -RAZOR -RAWLES -RAVER -RATTLER -RATLEDGE -RATHMAN -RAMSBURG -RAISOR -RADOVICH -RADIGAN -QUAIL -PUSKAR -PURTEE -PRIESTLY -PRESTIDGE -PRESTI -PRESSLY -POZO -POTTINGER -PORTIER -PORTA -PORCELLI -POPLAWSKI -POLIN -POINTS -POEPPELMAN -POCOCK -PLUMP -PLANTZ -PLACEK -PIRO -PINNELL -PINKOWSKI -PIETZ -PICONE -PHILBECK -PFLUM -PEVETO -PERRET -PENTZ -PAYER -PAULETTE -PATLAN -PATERNO -PAPAGEORGE -PAE -OVERMYER -OVERLAND -OSIER -ORWIG -ORUM -OROSZ -OQUIN -OPIE -ODA -OCHSNER -OATHOUT -NYGARD -NORVILLE -NORTHWAY -NIVER -NICOLSON -NEWHART -NERY -NEITZEL -NATH -NANEZ -MUSTARD -MURNANE -MORTELLARO -MORREALE -MORINO -MORIARITY -MORGADO -MOOREHOUSE -MONGIELLO -MOLTON -MIRZA -MINNIX -MILLSPAUGH -MILBY -MILAND -MIGUEZ -MICKLES -MICHAUX -MENTO -MELUGIN -MELROSE -MELITO -MEINECKE -MEHR -MEARES -MCNEECE -MCKANE -MCGLASSON -MCGIRT -MCGILVERY -MCCULLER -MCCOWEN -MCCOOK -MCCLINTIC -MCCALLON -MAZZOTTA -MAZA -MAYSE -MAYEDA -MATOUSEK -MATLEY -MARTYN -MAROON -MARNEY -MARNELL -MARLING -MARCELINO -MANUELITO -MALTOS -MALSON -MAIRE -MAHI -MAFFUCCI -MACKEN -MAASS -LYTTLE -LYND -LYDEN -LUKASIEWICZ -LUEBBERS -LOVERING -LOVEALL -LORDS -LONGTIN -LOK -LOBUE -LOBERG -LOAN -LIPKA -LION -LINEN -LIGHTBODY -LICHTY -LEVERT -LEV -LETTIERI -LETSINGER -LEPAK -LEMMOND -LEMBKE -LEITZ -LASSO -LASITER -LANGO -LANDSMAN -LAMIRANDE -LAMEY -LABER -KUTA -KULESZA -KUA -KRENZ -KREINER -KREIN -KREIGER -KRAUSHAAR -KOTTKE -KOSER -KORNREICH -KOPCZYNSKI -KONECNY -KOK -KOFF -KOEHL -KOCIAN -KNAUB -KMETZ -KLUENDER -KLENKE -KLEEMAN -KITZMILLER -KIRSH -KILMAN -KILDOW -KIELBASA -KETELSEN -KESINGER -KENDRA -KEHR -KEEF -KAUZLARICH -KARTER -KAHRE -JUNK -JONG -JOBIN -JOAQUIN -JINKINS -JINES -JEFFRESS -JAQUITH -JAILLET -JABLONOWSKI -ISHIKAWA -IREY -INGERSON -INDELICATO -IN -HUNTZINGER -HUISMAN -HUETT -HOWSON -HOUGE -HOSACK -HORA -HOOBLER -HOLTZEN -HOLTSCLAW -HOLLINGWORTH -HOLLIN -HOBERG -HOBAUGH -HILKER -HILGEFORT -HIGGENBOTHAM -HEYEN -HETZLER -HESSEL -HENNESSEE -HENDRIE -HELLMANN -HEFT -HEESCH -HAYMOND -HAYMON -HAYE -HAVLIK -HAVIS -HAVERLAND -HAUS -HARSTAD -HARRISTON -HARM -HARJU -HARDEGREE -HANKEY -HANDS -HAMPSHIRE -HAMMELL -HAMAKER -HALBROOK -HALBERG -GUPTILL -GUNTRUM -GUNDERMAN -GUNDER -GULARTE -GUARNIERI -GU -GROLL -GRIPPO -GREELY -GRAVE -GRAMLICH -GOH -GOEWEY -GOETZINGER -GODING -GIRAUD -GIEFER -GIBERSON -GENNARO -GEMMELL -GEARING -GAYLES -GAUDIN -GATZ -GATTS -GASCA -GARN -GANDEE -GAMMEL -GALINDEZ -GALATI -GAGLIARDO -FULOP -FUKUSHIMA -FRIEDT -FRETZ -FRENZ -FREEBERG -FREDERIC -FRAVEL -FOUNTAINE -FORRY -FORCK -FONNER -FLIPPIN -FLEWELLING -FLANSBURG -FILIPPONE -FETTIG -FENLON -FELTER -FELKINS -FEIN -FAZ -FAVOR -FAVERO -FAULCON -FARVER -FARLESS -FAHNESTOCK -FACEMIRE -FAAS -EYER -EVETT -EVERY -ESSES -ESCARENO -ENSEY -ENNALS -ENGELKING -EMPEY -EMILY -ELVIRA -ELLITHORPE -EFFLER -EDLING -EDGLEY -DURRELL -DUNKERSON -DRAHEIM -DOMINA -DOMBROSKY -DOESCHER -DOBBIN -DIVENS -DINATALE -DIMITRI -DIEGUEZ -DIEDE -DEVIVO -DEVILBISS -DEVAUL -DETERMAN -DESJARDIN -DESHAIES -DEMO -DELPOZO -DELOREY -DELMAN -DELAPP -DELAMATER -DEIBERT -DEGROFF -DEBELAK -DAPOLITO -DANO -DACRUZ -DACANAY -CUSHENBERRY -CRUZE -CROSBIE -CREGAN -COUSINO -CORRIE -CORRAO -CORNEY -COOKINGHAM -CONRY -COLLINGSWORTH -COLDREN -COBIAN -COATE -CLAUSS -CHRYSLER -CHRISTINE -CHRISTENBERRY -CHMIEL -CHAUEZ -CHARTERS -CHAIT -CESARE -CELLA -CAYA -CASTENADA -CASHEN -CAPTAIN -CANTRELLE -CANOVA -CANDY -CANARY -CAMPIONE -CAMEL -CALIXTE -CAICEDO -BYERLEY -BUTTERY -BUTTER -BURDA -BURCHILL -BUN -BULMER -BULMAN -BUESING -BUCZEK -BUCKHOLZ -BUCHNER -BUCHLER -BUBAN -BRYNE -BRUTUS -BRUNKHORST -BRUMSEY -BRUMER -BROWNSON -BROKER -BRODNAX -BREZINSKI -BRAZILE -BRAVERMAN -BRASIL -BRANNING -BRADLY -BOYE -BOULDEN -BOUGH -BOSSARD -BOSAK -BORTH -BORGMEYER -BORGE -BLOWERS -BLASCHKE -BLANN -BLANKENBAKER -BISCEGLIA -BILLINGSLEA -BIALEK -BEVERLIN -BESECKER -BERQUIST -BENIGNO -BENAVENTE -BELIZAIRE -BEISNER -BEHRMAN -BEAUSOLEIL -BEA -BAYLON -BAYLEY -BASSI -BASNETT -BASILIO -BASDEN -BASCO -BANERJEE -BALLI -BAKE -BAGNELL -BADY -AVERETTE -AUGUSTA -ARZU -ARN -ARCHAMBEAULT -ARBOLEDA -ARBAUGH -ARATA -ANTRIM -AMRHEIN -AMERINE -ALPERS -ALFREY -ALCON -ALBUS -ALBERTINI -AGUINIGA -ADAY -ACQUAVIVA -ACCARDI -ZYGMONT -ZYCH -ZOLLNER -ZOBEL -ZINCK -ZERTUCHE -ZARAGOSA -ZALE -ZALDIVAR -YING -YEADON -WYKOFF -WOULLARD -WOLFRUM -WOHLFORD -WISON -WISELEY -WISECUP -WINCHENBACH -WILTSIE -WHITTLESEY -WHITELOW -WHITEFORD -WEVER -WESTRICH -WERTMAN -WENSEL -WENRICH -WEISBROD -WEGLARZ -WEDDERBURN -WEATHERHEAD -WEASE -WARRING -WAND -WADLEIGH -VOLTZ -VISE -VILLANO -VICARIO -VERMEULEN -VAZQUES -VASKO -VARUGHESE -VANGIESON -VANFOSSEN -VANEPPS -VANDERPLOEG -VANCLEVE -VALERIUS -UYEHARA -UNSWORTH -TWERSKY -TURRELL -TUNER -TSUI -TRUNZO -TROUSDALE -TRENTHAM -TRAUGHBER -TORGRIMSON -TOPPIN -TOKAR -TOBIA -TIPPENS -TIGUE -THONG -THIRY -THACKSTON -TERHAAR -TENNY -TASSIN -TADEO -SWEIGART -SUTHERLIN -SUMRELL -SUEN -STUHR -STRZELECKI -STROSNIDER -STREIFF -STOTTLEMYER -STORMENT -STORLIE -STONESIFER -STOGSDILL -STENZEL -STEMEN -STELLHORN -STEIDL -STECKLEIN -STATTON -STAPLE -STANGLE -SPRATLING -SPOOR -SPIGHT -SPELMAN -SPECE -SPANOS -SPADONI -SOUTHERS -SOLA -SOBOL -SMYRE -SLAYBAUGH -SIZELOVE -SIRMONS -SIMINGTON -SILVERSMITH -SIGUENZA -SIEREN -SHELMAN -SHAWN -SHARPLES -SHARIF -SHACK -SEVILLE -SESSLER -SERRATA -SERINO -SERAFINI -SEMIEN -SELVEY -SEEDORF -SECKMAN -SEAWOOD -SCREWS -SCREEN -SCOBY -SCICCHITANO -SCHORN -SCHOMMER -SCHNITZER -SCHLEUSNER -SCHLABACH -SCHIEL -SCHEPERS -SCHABER -SCALLY -SAUTNER -SARTWELL -SANTERRE -SANDAGE -SALVIA -SALVETTI -SALSMAN -SALLIS -SALAIS -SAINT -SAEGER -SABLE -SABAT -SAAR -RUTHER -RUSSOM -RUOFF -RUMERY -RUBOTTOM -ROZELLE -ROWTON -ROUTON -ROTOLO -ROSTAD -ROSEBOROUGH -RORICK -RONCO -ROLLS -ROHER -ROBERIE -ROBARE -RITTS -RISON -RIPPE -RINKE -RINGWOOD -RIGHTER -RIESER -RIDEAUX -RICKERSON -RENFREW -RELEFORD -REINSCH -REIMAN -REIFSTECK -REIDHEAD -REDFEARN -REDDOUT -REAUX -RANCE -RAM -RADO -RADEBAUGH -QUINBY -QUIGG -PROVO -PROVENZA -PROVENCE -PROPHET -PRIDGEON -PRAYLOW -POWEL -POULTER -PORTNER -PONTBRIAND -POLICE -POIRRIER -POIRER -PLATERO -PIXLER -PINTOR -PIGMAN -PIERSALL -PIEL -PICHETTE -PHOU -PHILLIS -PHILLIPPE -PHARIS -PHALEN -PETSCHE -PERRIER -PENFIELD -PELOSI -PEBLEY -PEAT -PAWLOSKI -PAWLIK -PAVLICK -PAVEL -PATZ -PATOUT -PASCUCCI -PASCH -PARRINELLO -PAREKH -PANTALEO -PANNONE -PANKOW -PANGBORN -PAGANI -PACELLI -ORT -ORSI -ORILEY -ORDUNO -OOMMEN -OLIVERO -OKADA -OCON -OCHELTREE -OBERMAN -NYLAND -NOSS -NORLING -NOLTON -NOBILE -NITTI -NISHIMOTO -NGHIEM -NEUNER -NEUBERGER -NEIFERT -NEGUS -NAVAL -NAGLER -MULLALLY -MOULDEN -MORRA -MORQUECHO -MOROCCO -MOOTS -MONICA -MIZZELL -MIRSKY -MIRABITO -MINARDI -MILHOLLAND -MIKUS -MIJANGOS -MICHENER -MICHALEK -METHVIN -MERRIT -MENTER -MENEELY -MELODY -MEIERS -MEHRING -MEES -MEDAL -MCWHIRT -MCWAIN -MCPHATTER -MCNICHOL -MCNAUGHT -MCLARTY -MCIVOR -MCGINNESS -MCGAUGHY -MCFERRIN -MCFATE -MCCLENNY -MCCLARD -MCCASKEY -MCCALLION -MCAMIS -MATHISEN -MARTON -MARSICO -MARINER -MARCHI -MANI -MANGIONE -MAGDA -MACARAEG -LUPI -LUNDAY -LUKOWSKI -LUCIOUS -LOCICERO -LOACH -LITTLEWOOD -LITT -LITLE -LIPHAM -LINLEY -LINDON -LIGHTFORD -LIESER -LEYENDECKER -LEWEY -LESANE -LENZI -LENART -LENA -LEISINGER -LEHRMAN -LEFEBURE -LEANDRO -LAZARD -LAYCOCK -LAVER -LAUNER -LASTRAPES -LASTINGER -LASKER -LARKEY -LARGER -LANSER -LANPHERE -LANDEY -LAN -LAMPTON -LAMARK -LAGER -KUMM -KULLMAN -KRZEMINSKI -KRASNER -KRAM -KORAN -KONING -KOHLS -KOHEN -KOBEL -KNIFFEN -KNICK -KNEIP -KNAPPENBERGER -KNACK -KLUMPP -KLAUSNER -KITAMURA -KISLING -KIRSHNER -KINLOCH -KINGMAN -KIN -KIMERY -KESTLER -KELLEN -KELEHER -KEEHN -KEARLEY -KASPRZAK -KARY -KAMPF -KAMERER -KALIS -KAHAN -KAESTNER -KADEL -KABEL -JUNGE -JUCKETT -JOYNT -JORSTAD -JETTER -JELLEY -JEFFERIS -JEFF -JEANSONNE -JANECEK -JAFFEE -JACKO -IZZARD -ISTRE -ISHERWOOD -IPOCK -IANNUZZI -HYPOLITE -HUSSEIN -HUMFELD -HUCKLEBERRY -HOTZ -HOSEIN -HONAHNI -HOLZWORTH -HOLDRIDGE -HOLDAWAY -HOLADAY -HODAK -HITCHMAN -HIPPLER -HINCHEY -HILLIN -HILER -HIBDON -HEVEY -HETH -HEPFER -HENNEMAN -HEMSLEY -HEMMINGS -HEMMINGER -HELBERT -HELBERG -HEINZE -HEEREN -HEE -HEBER -HAVER -HAUFF -HASWELL -HARVISON -HARTSON -HARSHBERGER -HARRYMAN -HARRIES -HANNIBAL -HANE -HAMSHER -HAGGETT -HAGEMEIER -HAECKER -HADDON -HABERKORN -GUTTMAN -GUTTIERREZ -GUTHMILLER -GUILLET -GUILBERT -GUGINO -GRUMBLES -GRIFFY -GREGERSON -GREG -GRANADA -GRANA -GOYA -GORANSON -GONSOULIN -GOETTL -GOERTZ -GOE -GODLEWSKI -GLANDON -GLAD -GILSDORF -GILLOGLY -GILKISON -GIARD -GIAMPAOLO -GHEEN -GETTINGS -GESELL -GERSHON -GAUMER -GARTRELL -GARSIDE -GARRIGAN -GARMANY -GARLITZ -GARLINGTON -GAMET -GAIL -FUSS -FURLOUGH -FUNSTON -FUNARO -FRIX -FRASCA -FRANCOEUR -FORSHEY -FOOSE -FLATLEY -FLAGLER -FILS -FILLERS -FICKETT -FETH -FENNELLY -FENCL -FELCH -FEDRICK -FEBRES -FAZEKAS -FARNAN -FAIRLESS -EWAN -ETSITTY -ENTERLINE -ELVIN -ELSWORTH -ELLIFF -ELL -ELEBY -ELDRETH -EIDEM -EDGECOMB -EDDS -EBARB -DWORKIN -DUSENBERRY -DURRANCE -DUROPAN -DURFEY -DUNGY -DUNDON -DUMBLETON -DUFFEL -DUBON -DUBBERLY -DROZ -DRINKWATER -DRESSEL -DOUGHTIE -DOSHIER -DORRELL -DORA -DOPLE -DOONAN -DONADIO -DOLLISON -DOIG -DITZLER -DISHNER -DISCHER -DIMAIO -DIGMAN -DIFALCO -DIEM -DEVINO -DEVENS -DEROSIA -DEPPEN -DEPAOLA -DENIZ -DENARDO -DEMOS -DEMAY -DELGIUDICE -DAVI -DANIELSEN -DALLY -DAIS -DAHMER -CUTSFORTH -CUSIMANO -CURINGTON -CUMBEE -CRYAN -CRUSOE -CROWDEN -CRETE -CRESSMAN -CRAPO -COWENS -COUPE -COUNCILL -COTY -COTNOIR -CORREIRA -COPEN -CONSIGLIO -COMBES -COFFER -COCKRILL -COAD -CLOGSTON -CLASEN -CHOCK -CHESNUTT -CHARRIER -CHAIN -CHADBURN -CERNIGLIA -CEBULA -CASTRUITA -CASTILLA -CASTALDI -CASEBEER -CASAGRANDE -CARTA -CARRALES -CARNLEY -CARDON -CARASCO -CAPSHAW -CAPRON -CAPPIELLO -CAPITO -CANNEY -CANDELA -CAMINITI -CALIFANO -CALICO -CALABRIA -CAIAZZO -CAHALL -BUSCEMI -BURTNER -BURGDORF -BUREAU -BURDO -BUFFALOE -BUCHWALD -BRWON -BRUNKE -BRUMMOND -BRUMM -BROE -BROCIOUS -BROCATO -BRO -BRITAIN -BRISKI -BRISKER -BRIGHTWELL -BRESETT -BREINER -BRAZEAU -BRAZ -BRAYMAN -BRANDIS -BRAMER -BRADEEN -BOYKO -BOURBON -BOSSI -BOSHART -BORTLE -BONIELLO -BOMGARDNER -BOLZ -BOLENBAUGH -BOHLING -BOHLAND -BOCHENEK -BLUST -BLOXHAM -BLOWE -BLISH -BLACKWATER -BJELLAND -BIROS -BIRKHEAD -BIEDERMAN -BICKLE -BIALASZEWSKI -BEVIL -BEVERLEY -BEUMER -BETTINGER -BESSE -BERNETT -BERMEJO -BEMENT -BELFIELD -BECKLER -BEATRICE -BAXENDALE -BATDORF -BASTIN -BASHORE -BASCOMBE -BARTLEBAUGH -BARSH -BALLANTINE -BAHL -BADON -BACHELOR -AUTIN -AUDIE -ASTIN -ASKEY -ASCHER -ARRIGO -ARBEITER -ANTES -ANGERS -AMBURN -AMARANTE -ALVIDREZ -ALTHAUS -ALLMOND -ALFIERI -ALDINGER -AKERLEY -AKANA -AIKINS -ADER -ACEBEDO -ACCARDO -ABILA -ABERLE -ABELE -ABBOUD -ZOLLARS -ZIMMERER -ZIEMAN -ZERBY -ZELMAN -ZELLARS -YULE -YOSHIMURA -YONTS -YEATS -YANT -YAMANAKA -WYLAND -WUENSCHE -WORMAN -WORDLAW -WOHL -WINSLETT -WINBERG -WILMETH -WILLCUTT -WIERS -WIEMER -WICKWIRE -WICHMAN -WHITTING -WHIDBEE -WESTERGARD -WEMMER -WELLNER -WEISHAUPT -WEINERT -WEEDON -WAYNICK -WASIELEWSKI -WAREN -WALWORTH -WALLINGFORD -WALKE -WAECHTER -VIVIANI -VITTI -VILLAGRANA -VIEN -VICKS -VENEMA -VARNES -VARNADOE -VARDEN -VANPATTEN -VANORDEN -VANDERZEE -VANDENBURG -VANDEHEY -VALLS -VALLARTA -VALDERRAMA -VALADE -URMAN -ULERY -TUSA -TUFT -TRIPOLI -TRIMPE -TRICKEY -TORTORA -TORRENS -TORCHIA -TOFT -TJADEN -TISON -TINDEL -THURMON -THODE -TARDUGNO -TANCREDI -TAKETA -TAILLON -TAGLE -SYTSMA -SYMES -SWINDALL -SWICEGOOD -SWARTOUT -SUNDSTROM -SUMNERS -SULTON -STUDSTILL -STUDENT -STROOP -STONEROCK -STMARIE -STLAWRENCE -STEMM -STEINHAUSER -STEINERT -STEFFENSEN -STEFANO -STEFANIAK -STARCK -STALZER -SPIDLE -SPAKE -SOWINSKI -SOSNOWSKI -SORBER -SOMMA -SOLIDAY -SOLDNER -SOJA -SODERSTROM -SODER -SOCKWELL -SOBUS -SNOWBALL -SLOOP -SKEETER -SINNER -SINKFIELD -SIMERLY -SILGUERO -SIGG -SIEMERS -SIEGMUND -SIDLE -SHUM -SHOLTIS -SHKRELI -SHEIKH -SHATTLES -SHARLOW -SHAO -SHAMBAUGH -SHAIKH -SERRAO -SERAFINO -SELLEY -SELLE -SEEL -SEDBERRY -SECORD -SEAT -SCHUNK -SCHUCH -SCHOR -SCHOLZE -SCHNEE -SCHMIEDER -SCHLEICH -SCHIMPF -SCHERF -SATTERTHWAITE -SASSON -SARKISIAN -SARINANA -SANZONE -SALVAS -SALONE -SALIDO -SAIKI -SAHR -RUSHER -RUSEK -RUSE -RUPPEL -RUBI -RUBEL -ROUGH -ROTHFUSS -ROTHENBERGER -ROSSELL -ROSENQUIST -ROSEBROOK -ROMITO -ROMINES -ROLANDO -ROLAN -ROKER -ROEHRIG -ROCKHOLD -ROCCA -ROBUCK -RISS -RINALDO -RIGHT -RIGGENBACH -REZENTES -REUTHER -REUBEN -RENOLDS -RENCH -REMUS -REMSEN -RELLER -RELF -REITZEL -REIHER -REHDER -REDEKER -RAMERO -RAHAIM -RADICE -QUIJAS -QUALEY -PURGASON -PRUM -PROUDFOOT -PROCK -PROBERT -PRINTUP -PRIMER -PRIMAVERA -PRENATT -PRATICO -POLICH -PODKOWKA -PODESTA -PLATTNER -PLASSE -PLAMONDON -PITTMON -PIPPENGER -PINEO -PIERPONT -PETZOLD -PETZ -PETTIWAY -PETTERS -PETROSKI -PETRIK -PESOLA -PERSHALL -PERLMUTTER -PENEPENT -PEEVY -PECHACEK -PEARS -PEADEN -PAZOS -PAVIA -PASCARELLI -PARM -PARILLO -PARFAIT -PAOLETTI -PALOMBA -PALENCIA -PAGADUAN -OXNER -OVERFIELD -OVERCAST -OULLETTE -OUK -OSTROFF -OSEI -OMARAH -OLENICK -OLAH -ODEM -NYGREN -NOTARO -NORTHCOTT -NODINE -NILGES -NEYMAN -NEVE -NEUENDORF -NEPTUNE -NEISLER -NEAULT -NARCISO -NAFF -MUSCARELLA -MUN -MOST -MORRISETTE -MORPHEW -MOREIN -MOR -MONTVILLE -MONTUFAR -MONTESINOS -MONTERROSO -MONGOLD -MONA -MOJARRO -MOITOSO -MODE -MIRARCHI -MIRANDO -MINOGUE -MILICI -MIGA -MIDYETT -MICHNA -MEY -MEUSER -MESSANA -MENZIE -MENZ -MENDICINO -MELONE -MELLISH -MELLER -MELLE -MEINTS -MECHEM -MEALER -MCWILLIAM -MCWHITE -MCQUIGGAN -MCPHILLIPS -MCPARTLAND -MCNELLIS -MCMACKIN -MCLAUGHIN -MCKINNY -MCKEITHAN -MCGUIRK -MCGILLIVRAY -MCGARR -MCGAHEE -MCFAUL -MCFADIN -MCEUEN -MCCULLAH -MCCONICO -MCCLAREN -MCCAUL -MCCALLEY -MCCALISTER -MAZER -MAYSON -MAYHAN -MAUGERI -MAUGER -MATTIX -MATTEWS -MASLOWSKI -MASEK -MARTIR -MARSCH -MARQUESS -MARON -MARKWELL -MARKOW -MARINARO -MARIETTA -MARCINEK -MANNER -MANNELLA -MANGO -MALLEN -MAJEED -MAHNKE -MAHABIR -MAGBY -MAGALLAN -MADERE -MACHNIK -LYBRAND -LUQUE -LUNDHOLM -LUEDERS -LUCIAN -LUBINSKI -LOWY -LOEW -LIPPARD -LINSON -LINDBLAD -LIGHTCAP -LEVITSKY -LEVENS -LEONARDI -LENTON -LENGYEL -LENG -LEITZEL -LEICHT -LEAVER -LAUBSCHER -LASHUA -LARUSSO -LARRIMORE -LANTERMAN -LANNI -LANASA -LAMOUREAUX -LAMBROS -LAMBORN -LAMBERTI -LALL -LAGOS -LAFUENTE -LAFERRIERE -LACONTE -KYGER -KUPIEC -KUNZMAN -KUEHNE -KUDER -KUBAT -KROGH -KREIDLER -KRAWIEC -KRAUTH -KRATKY -KOTTWITZ -KORB -KONO -KOLMAN -KOLESAR -KOEPPEL -KNAPPER -KLINGENBERG -KJOS -KEPPEL -KENNAN -KELTZ -KEALOHA -KASEL -KARNEY -KANNE -KAMROWSKI -KAGAWA -JOO -JOHNOSN -JOESPH -JILEK -JARVIE -JARRET -JANSKY -JACQUEMIN -JACOX -JACOME -ITALIANO -IRIARTE -INGWERSEN -IMBODEN -IGLESIA -HUYSER -HURSTON -HURSH -HUNTOON -HUDMAN -HOYING -HORSMAN -HORRIGAN -HORNBAKER -HORIUCHI -HOPEWELL -HOOP -HOMMEL -HOMEYER -HOLZINGER -HOLMER -HOLLOW -HIPSHER -HINCHMAN -HILTS -HIGGINBOTTOM -HIEB -HEYNE -HESSLING -HESLER -HERTLEIN -HERFORD -HERAS -HENRICKSEN -HENNEMANN -HENERY -HENDERSHOTT -HEMSTREET -HEINEY -HECKERT -HEATLEY -HAZELL -HAZAN -HAYASHIDA -HAUSLER -HARTSOE -HARTH -HARRIOTT -HARRIGER -HARPIN -HARDISTY -HARDGE -HAO -HANNAMAN -HANNAHS -HAMP -HAMMERSMITH -HAMITON -HALSELL -HALDERMAN -HAGGE -HABEL -GUSLER -GUSHIKEN -GURR -GUMMER -GULLICK -GRUNDEN -GROSCH -GREENBURG -GREB -GREAVER -GRATZ -GRAJALES -GOURLAY -GOTTO -GORLEY -GOODPASTURE -GODARD -GLORIOSO -GLOOR -GLASCOCK -GIZZI -GIROIR -GIBEAULT -GAULDIN -GAUER -GARTIN -GARRELS -GAMBER -GALLOGLY -GALLEY -GADE -FUSARO -FRIPP -FREYER -FREIBERG -FRANZONI -FRAGALE -FOSTON -FORTI -FORNESS -FOLTS -FOLLOWELL -FOARD -FLOM -FLING -FLETT -FLEITAS -FLAMM -FINO -FINNEN -FINCHUM -FILIPPELLI -FICKEL -FEUCHT -FEILER -FEENSTRA -FEAGINS -FAVER -FAUX -FAULKENBERRY -FARABAUGH -FANDEL -FALLEN -FALER -FAIVRE -FAIREY -FACEY -EXNER -EVENSEN -ERION -ERBEN -EPTING -EPPING -EPHRAIM -ENGBERG -ELSEN -ELLINGWOOD -ELLEN -EISENMANN -EICHMAN -EHLE -EDSALL -EAGLES -DURALL -DUPLER -DUNKER -DUMLAO -DUFORD -DUFFIE -DUDDING -DRIES -DOUNG -DORANTES -DONAHOO -DOMENICK -DOLLINS -DOBLES -DIPIAZZA -DINO -DIMEO -DIEHM -DICICCO -DEVIN -DEVENPORT -DESORMEAUX -DERROW -DEPAOLO -DENVER -DENISE -DEMAS -DELPRIORE -DELOSANTOS -DELA -DEGREENIA -DEGENHARDT -DEFRANCESCO -DEFENBAUGH -DEETS -DEBONIS -DEARY -DAZEY -DARGIE -DAMBROSIA -DALAL -DAGEN -CUN -CUEN -CRUPI -CROSSAN -CRICHLOW -CREQUE -COUTTS -COUNCE -CORAM -CONSTANTE -CONNON -COLLELO -COIT -COCKLIN -COBLENTZ -COBEY -COARD -CLUTTS -CLINGAN -CLAW -CLAMPITT -CLAEYS -CIULLA -CIMINI -CIAMPA -CHRISTON -CHOAT -CHIOU -CHENAIL -CHAVOUS -CATTO -CATALFAMO -CASTERLINE -CASSINELLI -CASPERS -CARROWAY -CARLEN -CARITHERS -CAPPEL -CALO -CALLOW -CALANDRA -CAGLEY -CAFFERTY -BYUN -BYAM -BUTTNER -BUTH -BURTENSHAW -BURGET -BURFIELD -BURESH -BUNT -BULTMAN -BULOW -BUCHTA -BUCHMANN -BRUNETT -BRUEMMER -BRUEGGEMAN -BRITTO -BRINEY -BRIMHALL -BRIBIESCA -BRESLER -BRAZAN -BRASHIER -BRAR -BRANDSTETTER -BRANDI -BOZE -BOONSTRA -BLUITT -BLOMGREN -BLATTNER -BLASI -BLADEN -BITTERMAN -BILBY -BIERCE -BIELLO -BETTES -BERTONE -BERREY -BERNAT -BERBERICH -BENSHOOF -BENDICKSON -BELOW -BELLEFEUILLE -BEDNARSKI -BEDDINGFIELD -BECKERMAN -BEASTON -BAVARO -BATALLA -BASYE -BASKINS -BARTOLOTTA -BARTKOWSKI -BARRANCO -BARKETT -BAND -BANASZAK -BAME -BAMBERGER -BALSLEY -BALLAS -BALICKI -BALDING -BALD -BADURA -AYMOND -AYLOR -AYLESWORTH -AXLEY -AXELROD -AUBERT -ARMOND -ARIZA -APICELLA -ANSTINE -ANKROM -ANGEVINE -ANGER -ANDREOTTI -ANDREA -ALTO -ALSPAUGH -ALPAUGH -ALMADA -ALLINDER -ALEXANDRA -ALEQUIN -ALAN -AGUILLARD -AGRON -AGENA -AFANADOR -ACKERLEY -ABREV -ABDALLA -AARONSON -ZYNDA -ZUCCO -ZIPP -ZETINA -ZENZ -ZELINSKI -YOUNGREN -YOCHUM -YEARSLEY -YANKEY -WOODFORK -WOHLWEND -WOELFEL -WISTE -WISMER -WINZER -WINKER -WILKISON -WIGGER -WIERENGA -WHIPPS -WHEELING -WESTRAY -WESCH -WELD -WEIBLE -WEDELL -WEDDELL -WAWRZYNIAK -WASKO -WASHINTON -WANTZ -WALTS -WALLANDER -WAIN -WAHLEN -WACHOWIAK -VOSHELL -VITERI -VIRE -VILLAFUERTE -VIEYRA -VIAU -VESCIO -VERRIER -VERHEY -VAUSE -VANDERMOLEN -VANDERHORST -VALOIS -VALLA -VALCOURT -VACEK -UZZLE -UMLAND -UM -ULMAN -ULLAND -TURVEY -TULEY -TREMBATH -TREES -TRABERT -TOWSEND -TOTMAN -TOEWS -TOBY -TITO -TISCH -TISBY -TIPPING -TIERCE -THIVIERGE -TENENBAUM -TEAGLE -TACY -TABLER -SZEWCZYK -SWEARNGIN -SUIRE -STURROCK -STUBBE -STRONACH -STOUTE -STOUDEMIRE -STONEBERG -STERBA -STEJSKAL -STEIER -STEHR -STECKLER -STECKEL -STEARMAN -STEAKLEY -STAR -STANFORTH -STANCILL -STALLS -SROUR -SPROWL -SPEVAK -SOLE -SOKOLOFF -SODERMAN -SNOVER -SLEEMAN -SLAUBAUGH -SITZMAN -SIMPLER -SIMMER -SIMES -SIEGAL -SIDOTI -SIDLER -SIDER -SIDENER -SIDDIQI -SHIREMAN -SHIMA -SHEROAN -SHADDUCK -SEYAL -SENTELL -SENNETT -SENKO -SENECA -SEN -SELIGMAN -SEIPEL -SEEKINS -SEABAUGH -SCOUTEN -SCHWEINSBERG -SCHWARTZBERG -SCHURR -SCHULT -SCHRICK -SCHOENING -SCHMITMEYER -SCHLICHER -SCHLAGER -SCHACK -SCHAAR -SCAVUZZO -SCARPA -SASSANO -SANTIGO -SANDAVOL -SAN -SAMPSEL -SAMMS -SAMET -SALZANO -SALYARDS -SALVA -SAIDI -SABIR -SAAM -SAAB -RUNIONS -RUNDQUIST -ROUSSELLE -ROUND -ROTUNNO -ROSES -ROSCH -ROMNEY -ROHNER -ROFF -ROCKHILL -ROCKEFELLER -ROCAMORA -RM -RINGLE -RIGGIE -RICKLEFS -REXROAT -REVES -REVEL -REUSS -RETA -REPKA -RENTFRO -REINEKE -RECORE -RECALDE -REASE -RAWLING -RAVENCRAFT -RAVELO -RAPPA -RANDOL -RAMSIER -RAMEREZ -RAHIMI -RAHIM -RADNEY -RACEY -RABORN -RABALAIS -QUEBEDEAUX -PUJOL -PUCHALSKI -PROTHRO -PROFFIT -PRIGGE -PRIDEAUX -PREVO -PORTALES -PORCO -POPOVIC -POPEK -POPEJOY -POMPEI -PLUMBER -PLUDE -PLATNER -PLATE -PIZZUTO -PIZER -PISTONE -PILLER -PIERRI -PIEHL -PICKERT -PIASECKI -PHONG -PHILIPP -PEUGH -PESQUEIRA -PERRETT -PERFETTI -PERCELL -PENHOLLOW -PELTO -PELLETT -PAVLAK -PAULO -PAULA -PATRICIA -PASTORIUS -PARSELL -PARRALES -PAREJA -PARCELL -PAPPAN -PAJAK -OWUSU -OVITT -ORY -ORRICK -ONIELL -OLLIFF -OLBERDING -OESTERLING -ODWYER -OCEGUEDA -OBEY -OBERMILLER -NYLANDER -NULPH -NOTTAGE -NORTHAM -NORGARD -NODAL -NIEL -NICOLS -NEWHARD -NELLUM -NEIRA -NAZZARO -NASSIF -NARDUCCI -NALBANDIAN -NAILS -MUSIL -MURGA -MURAOKA -MUMPER -MULROY -MOUNTJOY -MOSSEY -MORETON -MOREA -MONTORO -MONTESDEOCA -MONTEALEGRE -MONTANYE -MONTANDON -MOK -MOISAN -MOHL -MODESTO -MODESTE -MITRA -MISTER -MINSON -MINJAREZ -MILBOURNE -MICHAELSEN -METHENEY -MESTRE -MESCHER -MERVIS -MENNENGA -MELGAREJO -MEISINGER -MEININGER -MCWATERS -MCKERN -MCKENDREE -MCHARGUE -MCGLOTHLEN -MCGIBBON -MCGAVOCK -MCDUFFEE -MCCLURKIN -MCCAUSLAND -MCCARDELL -MCCAMBRIDGE -MAZZONI -MAYEN -MAXTON -MAWSON -MAUFFRAY -MATTINSON -MATTILA -MATSUNAGA -MATER -MASCIA -MARSE -MAROTZ -MAROIS -MARKIN -MARKEE -MARCINKO -MARCIN -MANVILLE -MANTYLA -MANSER -MANRY -MANDERSCHEID -MALLARI -MALIA -MALECHA -MALCOMB -MAJERUS -MAILMAN -MACINNIS -MABEY -LYFORD -LUTH -LUPERCIO -LUHMAN -LUEDKE -LOVICK -LOSSING -LOSS -LORRAINE -LOOKABAUGH -LONGWAY -LONE -LOISEL -LOGIUDICE -LOFFREDO -LOCUST -LOBE -LOBAUGH -LIZAOLA -LIVERS -LITTLEPAGE -LINNEN -LIMMER -LIEBSCH -LIEBMAN -LEYDEN -LEVITAN -LEVISON -LEVIER -LEVEN -LEVALLEY -LETTINGA -LESSLEY -LESSIG -LEPINE -LEIGHT -LEICK -LEGGIO -LEFFINGWELL -LEFFERT -LEFEVERS -LEDLOW -LEATON -LEANDER -LEAMING -LAZOS -LAVIOLETTE -LAUFFER -LATZ -LASORSA -LASCH -LARIN -LAPORTA -LANTER -LANGSTAFF -LANDI -LAMICA -LAMBSON -LAMBE -LAMARCA -LAMAN -LAMAGNA -LAJEUNESSE -LAFONTANT -LAFLER -LABRUM -LAAKSO -KUSH -KUETHER -KUCHAR -KRUK -KRONER -KROH -KRIDLER -KREUZER -KOVATS -KOPROWSKI -KOHOUT -KNICELY -KNELL -KLUTTS -KINDRICK -KIDDY -KHANNA -KETCHER -KERSCHNER -KERFIEN -KENSEY -KENLEY -KENAN -KEMPLIN -KELLERHOUSE -KEESLING -KEEP -KEENA -KEAS -KAPLIN -KANADY -KAMPEN -JUTRAS -JUNGERS -JULIO -JESCHKE -JEN -JANOWSKI -JANAS -ISKRA -IMPERATO -IKERD -IGOE -HYNEMAN -HYNEK -HUSAIN -HURRELL -HULTQUIST -HULLETT -HULEN -HUF -HUBERTY -HOYTE -HOSSAIN -HORNSTEIN -HORI -HOPTON -HOLMS -HOLLMANN -HOLDMAN -HOLDEMAN -HOLBEN -HOFFERT -HIMEL -HILLSMAN -HILLARY -HERDT -HELLYER -HELLEN -HEISTER -HEIMER -HEIDECKER -HEDGPETH -HEDGEPATH -HEBEL -HEATWOLE -HAYER -HAUSNER -HASKEW -HASELDEN -HARTRANFT -HARSCH -HARRES -HARPS -HARDIMON -HALM -HALLEE -HALLAHAN -HACKLEY -HACKENBERG -HACHEY -HAAPALA -GUYNES -GUNNERSON -GUNBY -GULOTTA -GUDGER -GROMAN -GRIGNON -GRIEBEL -GREGORI -GREENAN -GRAUER -GOURD -GORIN -GORGONE -GOOSLIN -GOOLD -GOLTZ -GOLDBERGER -GOBBLE -GLOTFELTY -GLASSFORD -GLANCE -GLADWIN -GIUFFRE -GILPATRICK -GERMAINE -GERDTS -GENNA -GEISEL -GAYLER -GAUNCE -GAULDING -GATELEY -GASSMAN -GASH -GARSON -GARRON -GARAND -GANGESTAD -GALLOW -GALBO -GABRIELLI -FULLINGTON -FUCCI -FRUM -FRIEDEN -FRIBERG -FRASCO -FRANCESE -FOWLE -FOUCHER -FOTHERGILL -FORAKER -FONDER -FOISY -FOGAL -FLURRY -FLENNIKEN -FITZHENRY -FISHBEIN -FINTON -FILMORE -FILICE -FEOLA -FELBERBAUM -FAUSNAUGHT -FASCIANO -FARRAH -FARQUHARSON -FAIRES -ESTRIDGE -ESSMAN -ENZ -ENRIQUES -EMMICK -EKKER -EKDAHL -EISMAN -EGGLETON -EDDINGER -EAKLE -EAGAR -DURIO -DUNWOODY -DUHAIME -DUENES -DUDEN -DUDAS -DRESHER -DRESEL -DOUTT -DONLAN -DONATHAN -DOMKE -DOBROWOLSKI -DINGEE -DIMMITT -DIMERY -DILULLO -DEVEAUX -DEVALLE -DESPER -DESNOYERS -DESAUTELS -DEROUIN -DERBYSHIRE -DENMON -DENA -DEMSKI -DELUCCA -DELPINO -DELMONT -DELLER -DEJULIO -DEIBLER -DEHNE -DEHARO -DEGNER -DEFORE -DEERMAN -DECUIR -DECKMAN -DEASY -DEASE -DEANER -DAWDY -DAUGHDRILL -DARRIGO -DARITY -DANIELE -DALBEY -DAGENHART -DAFFRON -CURRO -CURNUTTE -CURATOLO -CRUIKSHANK -CROSSWELL -CROSLIN -CRONEY -CROFTON -CRIADO -CRECELIUS -COSCIA -CONNIFF -COMMODORE -COLTHARP -COLONNA -COLLYER -COLLINGTON -COBBLEY -COACHE -CLONTS -CLOE -CLIETT -CLEMANS -CLARA -CID -CHRISTO -CHRISP -CHINA -CHIARINI -CHIA -CHEATAM -CHEADLE -CHE -CHAUNCEY -CHAND -CHADD -CERVERA -CERULLI -CEREZO -CEDANO -CAYETANO -CAWTHORNE -CAVALIERI -CATTANEO -CARYL -CARTLIDGE -CARRITHERS -CARREIRA -CARRANCO -CARGLE -CANDANOZA -CAMILLE -CAMBURN -CALENDER -CALDERIN -CALCAGNO -CAHN -CADDEN -BYHAM -BUTTRY -BURRY -BURRUEL -BURKITT -BURGIO -BURGENER -BUESCHER -BUCKALEW -BRYMER -BRUMETT -BRUGNOLI -BRUGMAN -BROSNAHAN -BRONDER -BROECKEL -BRODERSON -BRISBON -BRINSFIELD -BRINKS -BRESEE -BREGMAN -BRANNER -BRAMBILA -BRAILSFORD -BOUSKA -BOSTER -BORUCKI -BORTNER -BOROUGHS -BORGESON -BONIER -BOMBA -BOLENDER -BOESCH -BOEKE -BLOYD -BLEY -BINGER -BILLING -BILBRO -BIERY -BICHREST -BEZIO -BEVEL -BERRETT -BERMEO -BERGDOLL -BERCIER -BENZEL -BENTLER -BENNETTS -BELNAP -BELLINI -BEITZ -BEHREND -BEDNARCZYK -BEARSE -BATMAN -BARTOLINI -BARTOL -BARRETTA -BARBERO -BARBARO -BANVELOS -BANKES -BALLENGEE -BALDON -AYE -AUSMUS -ATILANO -ATIENZA -ASCHENBRENNER -ARORA -ARMSTONG -AQUILINO -APPLEBERRY -APPLEBEE -APOLINAR -ANTOS -ANGLES -ANDREPONT -ANCONA -AMESQUITA -ALVINO -ALTSCHULER -ALLIN -ALIRE -AINSLIE -AGULAR -AESCHLIMAN -ACCETTA -ABDULLA -ABBE -ZWART -ZUFELT -ZONA -ZIRBEL -ZINGARO -ZILNICKI -ZENTENO -ZENT -ZEMKE -ZAYAC -ZARRELLA -YOSHIMOTO -YEAROUT -WRENCH -WORLD -WOMER -WOLTMAN -WOLIN -WOLERY -WOLDT -WITTS -WITTNER -WITHEROW -WINWARD -WINROW -WIEMANN -WICHMANN -WHITWELL -WHITELAW -WHEELESS -WHALLEY -WEY -WESSNER -WENZL -WENE -WEATHERBEE -WAYE -WATTLES -WANKE -WALKES -WALDECK -VONRUDEN -VOISINE -VOGUS -VITTETOE -VILLALVA -VILLACIS -VICTORIAN -VERGE -VENTURINI -VENTURI -VENSON -VANLOAN -VANHOOSER -VANDUZER -VANDEVER -VANDERWAL -VANDERHEYDEN -VANBEEK -VANBEBBER -VALLANCE -VALES -VAHLE -URBAIN -UPSHUR -UMFLEET -TWIST -TSUJI -TRYBUS -TRIOLO -TRIMARCHI -TREZZA -TRENHOLM -TOVEY -TOURIGNY -TORRY -TORRAIN -TORGESON -TONGUE -TOMEY -TISCHLER -TINKLER -TINDER -TICKNOR -TIBBLES -TIBBALS -THRONEBERRY -THORMAHLEN -THIBERT -THIBEAUX -THEURER -TEMPLET -TEGELER -TAVERNIER -TAUBMAN -TAMASHIRO -TALLON -TALLARICO -TABOADA -SYPHER -SYBERT -SWYERS -SWITALSKI -SWINGER -SWEDBERG -SUTHER -SURPRENANT -SULLEN -SULIK -SUGDEN -SUDER -SUCHAN -SUCH -STRUBE -STROOPE -STRITTMATTER -STREETT -STRAUGHN -STRASBURG -STJACQUES -STIMAGE -STIMAC -STIFTER -STGELAIS -STEINHART -STEHLIK -STEFFENSON -STEENBERGEN -STANBERY -STALLONE -SPRUNG -SPRAGGS -SPOTO -SPILMAN -SPENO -SPANBAUER -SPALLA -SPAGNOLO -SOLIMAN -SOLAN -SOBOLIK -SNELGROVE -SNEDDEN -SMALE -SLITER -SLANKARD -SIRCY -SIGNOR -SHUTTER -SHURTLIFF -SHUR -SHOW -SHIRKEY -SHI -SHEWMAKE -SHAMS -SHADLEY -SHADDOX -SGRO -SERFASS -SEPPALA -SEGAWA -SEGALLA -SEABERRY -SCRUTON -SCISM -SCHWEIN -SCHWARTZMAN -SCHWANTES -SCHOMER -SCHOENBORN -SCHLOTTMANN -SCHISSLER -SCHEURER -SCHEPIS -SCHEIDEGGER -SAUNIER -SAUDERS -SASSMAN -SANNICOLAS -SANDERFUR -SALSER -SAGAR -SAFFER -SAEED -SADBERRY -SABAN -RYCE -RYBAK -RUX -RUMORE -RUMMELL -RUMMAGE -RUDASILL -ROZMAN -ROTA -ROSSIN -ROSELL -ROSEL -ROMBERG -ROJERO -ROCHIN -ROCHELL -ROBIDEAU -ROBARGE -ROATH -RISKO -RINGEL -RINGDAHL -RIERA -RIEMANN -RIBAS -REVARD -RENNA -RENEGAR -REINWALD -REHMAN -REGAL -REELS -REE -REDEL -REASONS -RAYSOR -RATHKE -RAPOZO -RAMPTON -RAMAKER -RAKOW -RAIA -RADIN -RACO -RACKHAM -RACCA -RACANELLI -RABUN -QUARANTA -PURVES -PUNDT -PROTSMAN -PROSPER -PREZIOSO -PRESUTTI -PRESIDENT -PRESGRAVES -POYDRAS -PORTNOY -PORTALATIN -POP -PONTES -POEHLER -POBLETE -POAT -PLUMADORE -PLEIMAN -PIZANA -PISCOPO -PIRAINO -PINELLI -PILLAI -PICKEN -PICHA -PICCOLI -PHILEN -PETTEWAY -PETROS -PESKIN -PERUGINI -PERRELLA -PERNICE -PEPER -PENSINGER -PEMBLETON -PATRON -PASSMAN -PARRENT -PANETTA -PANCAKE -PALLAS -PALKA -PAIS -PAGLIA -PADMORE -OUM -OTTESEN -OST -OSER -ORTMANN -ORMAND -ORIOL -ORICK -OLER -OKAFOR -OHAIR -OBERT -OBERHOLTZER -NUMBER -NOWLAND -NOSEK -NORDEEN -NOLF -NOGLE -NOBRIGA -NICLEY -NICCUM -NEWINGHAM -NEUMEISTER -NEUGEBAUER -NETHERLAND -NERNEY -NEISS -NEIS -NEIDER -NEELD -NAILOR -MUSTAIN -MUSSMAN -MUSANTE -MURTON -MURDEN -MUNYON -MULDREW -MOTTON -MOSCOSO -MOSCHELLA -MOROZ -MORMON -MORELOS -MORACE -MOONE -MONTESANO -MONTEMURRO -MONTAS -MONTALBO -MOLANDER -MLECZKO -MIYAKE -MITSCHKE -MINGER -MINELLI -MINEAR -MILLENER -MIHELICH -MIEDEMA -MIAH -METZER -MERY -MERRIGAN -MERCK -MENNELLA -MEMBRENO -MELECIO -MELDER -MEHLING -MEHLER -MEDCALF -MECHE -MEALING -MCQUEENEY -MCPHAUL -MCMICKLE -MCMEEN -MCMAINS -MCLEES -MCGOWIN -MCFARLAIN -MCDIVITT -MCCOTTER -MCCONN -MCCLANE -MCCASTER -MCBAY -MCBATH -MAYORAL -MAYEUX -MATSUO -MASUR -MASSMAN -MARZETTE -MARTENSEN -MARLETT -MARKIE -MARKGRAF -MARCINKOWSKI -MARCHBANKS -MARCELLA -MANSIR -MANDEZ -MANCIL -MALAGON -MAGNANI -MADONIA -MADILL -MADIA -MACKIEWICZ -MACGILLIVRAY -MACDOWELL -MACBETH -MABEE -LUNDBLAD -LOVVORN -LOVINGS -LORETO -LINZ -LINWOOD -LINNELL -LINEBAUGH -LINDSTEDT -LINDBLOOM -LINDA -LIMBERG -LIEBIG -LICKTEIG -LICHTENBERG -LICARI -LEX -LEWISON -LEVARIO -LEVAR -LEPPER -LENZEN -LENDERMAN -LEMARR -LEINEN -LEIDER -LEGRANDE -LEFORT -LEBLEU -LEASK -LEARN -LEACOCK -LAZANO -LAWALIN -LAVEN -LAPLACA -LANT -LANGSAM -LANGONE -LANDRESS -LANDEN -LANDE -LAMORTE -LAIRSEY -LAIDLAW -LAFFIN -LACKNER -LACAZE -LABUDA -LABREE -LABELLA -LABAR -KYER -KUYPER -KULINSKI -KULIG -KUHNERT -KUCHERA -KUBICEK -KRUCKEBERG -KRUCHTEN -KRIDER -KOTCH -KORNFELD -KOREN -KOOGLER -KOLL -KOLE -KOHNKE -KOHLI -KOFOED -KOELLING -KLUTH -KLUMP -KLOPFENSTEIN -KLIPPEL -KLINGE -KLETT -KLEMP -KLEIS -KLANN -KITZMAN -KINNAN -KINGSBERRY -KIND -KINA -KILMON -KILLPACK -KILBANE -KIJOWSKI -KIES -KIERSTEAD -KETTERING -KESSELMAN -KENTON -KENNINGTON -KENISTON -KEHRER -KEARL -KEALA -KASSA -KASAHARA -KANTZ -KALIN -KAINA -JUPIN -JUNTUNEN -JUARES -JOYNES -JOVEL -JOOS -JN -JIGGETTS -JERVIS -JERABEK -JENNISON -JASO -JANZ -IZATT -ISHIBASHI -IANNOTTI -HYMAS -HUNEKE -HULET -HOUGEN -HORVAT -HORSTMANN -HOPPLE -HOLTKAMP -HOLSTEN -HOHENSTEIN -HOEFLE -HOBACK -HINEY -HIEMSTRA -HERWIG -HERTER -HERRIOTT -HERMSEN -HERDMAN -HERDER -HERBIG -HEM -HELPER -HELLING -HELBIG -HEITKAMP -HEINRICHS -HEINECKE -HEILEMAN -HEFFLEY -HEAVRIN -HEASTON -HAYMAKER -HAUENSTEIN -HARTLAGE -HARLIN -HARIG -HARDENBROOK -HANKIN -HAMITER -HAGENS -HAGEL -GRIZZELL -GRIEST -GRIESE -GRIEF -GRENNAN -GRADEN -GOSSE -GORDER -GOLDIN -GOATLEY -GILLESPI -GILBRIDE -GIEL -GIANNI -GHOSTON -GETTER -GERSHMAN -GEISINGER -GEHRINGER -GEDEON -GEBERT -GAXIOLA -GAWRONSKI -GAU -GATHRIGHT -GATCHELL -GARGIULO -GARG -GALANG -GADISON -FYOCK -FURNISS -FURBY -FUNNELL -FRIZELL -FRENKEL -FREEBURG -FRANKHOUSER -FRANCHI -FOULGER -FORMBY -FORKEY -FONTE -FOLSON -FOLLETTE -FLICKER -FLAVORS -FLAVELL -FINEGAN -FILL -FILIPPINI -FERENCZ -FERENCE -FENNESSEY -FEGGINS -FEEHAN -FAZZINO -FAZENBAKER -FAUSTO -FAUNCE -FARRAJ -FARNELL -FARLER -FARABEE -FALKOWSKI -FACIO -ETZLER -ETHINGTON -ESTERLINE -ESPER -ESKER -ERXLEBEN -ERICSSON -ERICK -ENGH -EMLING -ELRIDGE -ELLENWOOD -ELFRINK -EKHOFF -EISERT -EIS -EIFERT -EICHENLAUB -EGNOR -EGGEBRECHT -EDLIN -EDBERG -EBLE -EBER -EASLER -DUWE -DUTTA -DUTREMBLE -DUSSEAULT -DURNEY -DUNWORTH -DUMIRE -DUKEMAN -DUFNER -DUEY -DUBLE -DREESE -DOZAL -DOUVILLE -DOUGAL -DOOM -DONE -DIVER -DITMORE -DISTIN -DIMUZIO -DILDINE -DIGNAN -DIETERICH -DIECKMAN -DIDONNA -DHILLON -DEZERN -DEVEREUX -DEVALL -DETTY -DETAMORE -DERKSEN -DEREMER -DERAS -DENSLOW -DENO -DENICOLA -DENBOW -DEMMA -DEMILLE -DELISA -DELIRA -DELAWDER -DELARA -DELAHANTY -DEJONGE -DEININGER -DEDIOS -DEDERICK -DECELLES -DEBUS -DEBRUYN -DEBORDE -DEAK -DAUENHAUER -DARSEY -DARING -DANSIE -DALMAN -DAKIN -DAGLEY -CZAJA -CYBART -CUTCHIN -CURRINGTON -CURBELO -CROUCHER -CRINKLAW -CREMIN -CRATTY -CRANFIELD -CRAFFORD -COWHER -COWBOY -COUVILLION -COUTURIER -COUNTER -CORTER -COOMBES -CONTOS -CONSOLINI -CONNAUGHTON -CONELY -COLTRANE -COLLOM -COCKETT -CLEPPER -CLEAVENGER -CLARO -CLARKIN -CIRIACO -CIESLA -CICHON -CIANCIO -CIANCI -CHYNOWETH -CHUANG -CHRZANOWSKI -CHRISTION -CHOLEWA -CHIPLEY -CHILCOTT -CHEYNE -CHESLOCK -CHENEVERT -CHEERS -CHARLOT -CHAGOLLA -CHABOLLA -CESENA -CERUTTI -CAVA -CAUL -CASSONE -CASSIN -CASSESE -CASAUS -CASALI -CARTLEDGE -CARSTEN -CARDAMONE -CARCIA -CARBONNEAU -CARBONI -CARABELLO -CAPOZZOLI -CAPELLA -CAP -CANNATA -CAMPOVERDE -CAMPEAU -CAMBRE -CAMBEROS -CALVERY -CALNAN -CALMES -CALLEY -CALLERY -CALISE -CACCIOTTI -CACCIATORE -BUTTERBAUGH -BURGO -BURGAMY -BURELL -BUNDE -BUMBALOUGH -BUEL -BUECHNER -BUCHANNON -BRYON -BRUNN -BROST -BROADFOOT -BRITTAN -BREVARD -BREDA -BRAZEL -BRAYBOY -BRASIER -BOYEA -BOXX -BOTH -BOSO -BOSIO -BORUFF -BORDA -BONGIOVANNI -BOLERJACK -BOEDEKER -BLYE -BLUMSTEIN -BLUMENFELD -BLINN -BLEAKLEY -BLATTER -BLAN -BJORNSON -BISIGNANO -BILLICK -BIENIEK -BHATTI -BEVACQUA -BETTERTON -BERRA -BERENBAUM -BENSINGER -BENNEFIELD -BELVINS -BELSON -BELLIN -BEIGHLEY -BEECROFT -BEAUDREAU -BAYNARD -BAUTCH -BAUSCH -BASCH -BARTLESON -BARTHELEMY -BARAK -BALZANO -BALISTRERI -BAILER -BAGNALL -BAGG -BAE -AUSTON -AUGUSTYN -ASLINGER -ASHALINTUBBI -ARTIST -ARJONA -AREBALO -ARAB -APPELBAUM -ANNA -ANGST -ANGERT -ANGELUCCI -ANDRY -ANDERSSON -AMORIM -AMAVISCA -ALWARD -ALVELO -ALVEAR -ALUMBAUGH -ALSOBROOK -ALLI -ALLGEIER -ALLENDE -ALDRETE -AKIYAMA -AHLQUIST -ADOLPHSON -ADDARIO -ACOFF -ABELSON -ABASTA -ZULAUF -ZIRKIND -ZEOLI -ZEMLICKA -ZAWISLAK -ZAPPIA -ZANELLA -YELVINGTON -YEATMAN -YANNI -WRAGG -WISSING -WISCHMEIER -WIRTA -WIREN -WILMOUTH -WILLIARD -WILLERT -WILLAERT -WILDT -WHELPLEY -WESTWOOD -WEINGART -WEIDENBACH -WEIDEMANN -WEATHERMAN -WEAKLAND -WATWOOD -WATTLEY -WATERSON -WAMBACH -WALZER -WALDOW -WAAG -VORPAHL -VOLKMANN -VITOLO -VISITACION -VINCELETTE -VINA -VIGGIANO -VIETH -VIDANA -VERT -VERNA -VERGES -VERDEJO -VENZON -VELARDI -VARIAN -VARGUS -VANDERMEULEN -VANDAM -VANASSE -VANAMAN -UTZINGER -URIOSTEGUI -UPLINGER -TWISS -TUMLINSON -TSCHANZ -TRUNNELL -TROUNG -TROUBLEFIELD -TROJACEK -TRIAL -TRELOAR -TRANMER -TOUCHTON -TORSIELLO -TORINA -TOOTLE -TOKI -TOEPFER -TIPPIN -TIPPIE -THRONSON -THOMES -TEZENO -TEXADA -TESTANI -TESSMER -TERREL -TERRA -TERLIZZI -TEMPEL -TEMBLADOR -TAYLER -TAWIL -TASCH -TAMES -TALOR -TALERICO -SWINDERMAN -SWEETLAND -SWAGER -SULSER -SULLENS -SUBIA -STURGELL -STUMPFF -STUFFLEBEAM -STUCKI -STROHMEYER -STREBEL -STRAUGHAN -STRACKBEIN -STOBAUGH -STETZ -STELTER -STEINMANN -STEINFELD -STEFANI -STECHER -STANWOOD -STANISLAWSKI -STANDER -SPEZIALE -SOPPE -SONI -SOL -SOBOTKA -SNIPE -SMUIN -SLIDER -SLEE -SKERRETT -SJOBERG -SITTIG -SIMONELLI -SIMO -SIMA -SILVIO -SILVERIO -SILVERIA -SILSBY -SILLMAN -SIENKIEWICZ -SICK -SIA -SHOMO -SHOFF -SHOENER -SHIBA -SHERFEY -SHEHANE -SHAWL -SEXSON -SETTON -SERGI -SELVY -SEIDERS -SEEGMILLER -SEBREE -SEABURY -SCROGGIN -SCONYERS -SCHWALB -SCHURG -SCHULENBERG -SCHULD -SCHRAGE -SCHOW -SCHON -SCHNUR -SCHNELLER -SCHMIDTKE -SCHLATTER -SCHIEFFER -SCHENKEL -SCHEELER -SCHAUWECKER -SCHARTZ -SCHACHERER -SCAFE -SAYEGH -SAVIDGE -SAUR -SARLES -SARKISSIAN -SARKIS -SARCONE -SAGUCIO -SAFFELL -SAENGER -SACHER -RYLEE -RUVOLO -RUSTON -RUPLE -RULISON -RUGE -RUFFO -RUEHL -RUECKERT -RUDMAN -RUDIE -RUBERT -ROZEBOOM -ROYSDEN -ROYLANCE -ROTHCHILD -ROSSE -ROSECRANS -RODRICK -RODI -ROCKMORE -ROBNETT -ROBERTI -RIVETT -RIVA -RITZEL -RIERSON -RICOTTA -RICKEN -REZAC -RENDELL -REMO -REITMAN -REINDL -REEB -REDDIC -REDDELL -REBUCK -REALI -RAYE -RASO -RAMTHUN -RAMSDEN -RAMEAU -RALPHS -RAK -RAGO -RACZ -QUINTEROS -QUINTER -QUINLEY -QUIGGLE -QUAID -PURVINES -PURINTON -PURDUM -PUMMILL -PUGLIA -PUETT -PTACEK -PRZYBYLA -PROWSE -PROVIDENCE -PRESTWICH -PRACHT -POUTRE -POUCHER -PORTERA -POLINSKY -POAGE -PLATTS -PINEAU -PINCKARD -PILSON -PILLING -PILKINS -PILI -PIKES -PIGRAM -PIETILA -PICKRON -PIA -PHILIPPI -PHILHOWER -PFLUEGER -PFALZGRAF -PETTIBONE -PETT -PETROSINO -PERSING -PERRINO -PEROTTI -PERIERA -PERI -PEREDO -PERALTO -PENNYWELL -PENNEL -PEN -PELLEGREN -PELLA -PEDROSO -PAULOS -PAULDING -PATES -PASEK -PARAMO -PAOLINO -PANGANIBAN -PANETO -PALUCH -OZAKI -OWNBEY -OVERFELT -OUTMAN -OPPER -ONSTAD -OLAND -OKUDA -OERTEL -OELKE -NORMANDEAU -NORDBY -NORDAHL -NOECKER -NOBLIN -NO -NISWONGER -NISHIOKA -NETT -NEPHEW -NEGLEY -NEEDLES -NEDEAU -NATERA -NACHMAN -NAAS -MUSICH -MUNGIN -MOURER -MOUNSEY -MOTTOLA -MOTHERSHED -MOSKAL -MOSBEY -MORINI -MORELES -MOOD -MONTALUO -MONEYPENNY -MONDA -MOENCH -MOATES -MOAD -MIXER -MISSILDINE -MISIEWICZ -MIRABELLA -MINOTT -MINNIFIELD -MINCKS -MILUM -MILANI -MIKELSON -MESTAYER -MESS -MERTES -MERRIHEW -MERLOS -MERITT -MELNYK -MEDLEN -MEDER -MEAN -MCVEA -MCQUARRIE -MCQUAIN -MCLUCAS -MCLESTER -MCKITRICK -MCKENNON -MCINNES -MCGRORY -MCGRANAHAN -MCGLAMERY -MCGIVNEY -MCGILVRAY -MCCUISTON -MCCUIN -MCCRYSTAL -MCCOLLEY -MCCLERKIN -MCCLENON -MCCAMEY -MCANINCH -MAZARIEGOS -MAYNEZ -MATTIOLI -MASTRONARDI -MASONE -MARZETT -MARSLAND -MARI -MARGULIES -MARGOLIN -MALATESTA -MALACHI -MAINER -MAIETTA -MAGRATH -MAESE -MADKINS -MADEIROS -MADAMBA -MACKSON -MAC -MABEN -LYTCH -LUNDGREEN -LUMB -LUKACH -LUICK -LUETKEMEYER -LUECHTEFELD -LUDY -LUDDEN -LUCKOW -LUBINSKY -LOWES -LOUT -LORENSON -LORAN -LOPINTO -LOOBY -LONES -LIVSEY -LISKEY -LISBY -LINTNER -LINDOW -LINDBLOM -LIMING -LIECHTY -LETH -LESNIEWSKI -LENIG -LEMONDS -LEISY -LEHRER -LEHNEN -LEHMKUHL -LEETH -LEER -LEEKS -LECHLER -LEBSOCK -LAVERE -LAUTENSCHLAGE -LAUGHRIDGE -LAUDERBACK -LAUDENSLAGER -LASSONDE -LAROQUE -LARAMEE -LARACUENTE -LAPEYROUSE -LAMPRON -LAMERS -LAMER -LAINO -LAGUE -LAGUARDIA -LAFROMBOISE -LAFATA -LACOUNT -LACHOWICZ -KYSAR -KWIECIEN -KUFFEL -KUETER -KRONENBERG -KRISTENSEN -KRISTEK -KRINGS -KRIESEL -KREY -KREBBS -KREAMER -KRABBE -KOSSMAN -KOSAKOWSKI -KOSAK -KOPACZ -KONKOL -KOEPSELL -KOENING -KOEN -KNERR -KNAPIK -KLUTTZ -KLOCKE -KLENK -KLEMME -KLAPP -KITCHELL -KITA -KISSANE -KIRKBRIDE -KIRCHHOFF -KINTER -KINSEL -KINGSLAND -KIMMER -KIMLER -KILLORAN -KIESER -KHALSA -KHALAF -KETTEL -KEREKES -KEPLIN -KENTNER -KENNEBREW -KENISON -KELLOUGH -KELLMAN -KEATTS -KEASEY -KAUPPI -KATON -KARI -KANNER -KAMPA -KALL -KAI -KACZOROWSKI -KACZMARSKI -JUARBE -JORDISON -JONATHAN -JOBST -JEZIERSKI -JEANBART -JARQUIN -JANEY -JAGODZINSKI -ISHAK -ISETT -ISA -INFANTINO -IMBURGIA -ILLINGWORTH -HYSMITH -HYNSON -HYDRICK -HURLA -HUNTON -HUNNELL -HUMBERTSON -HOUSAND -HOTTLE -HOSCH -HOOS -HONN -HOHLT -HODEL -HOCHMUTH -HIXENBAUGH -HISLOP -HISAW -HINTZEN -HILGENDORF -HILCHEY -HIGGENS -HERSMAN -HERRARA -HENDRIXSON -HENDRIKS -HEMOND -HEMMINGWAY -HEMINGER -HELGREN -HEISEY -HEILMANN -HEHN -HEGNA -HEFFERN -HAWRYLAK -HAVERTY -HAUGER -HASLEM -HARNETT -HARB -HAPP -HANZLIK -HANWAY -HANBY -HANAN -HAMRIC -HAMMAKER -HALAS -HAGENBUCH -HACKING -HABECK -GWOZDZ -GUTTER -GUNIA -GUISE -GUADARRAMA -GRUBAUGH -GRIVAS -GRIFFIETH -GRIEB -GREWELL -GREGORICH -GRAZIER -GRAEBER -GRACIANO -GOWENS -GOODPASTER -GONDEK -GOHR -GOFFNEY -GODBEE -GITLIN -GISLER -GIN -GILLYARD -GILLOOLY -GILCHREST -GILBO -GIERLACH -GIEBLER -GIANG -GESKE -GERVASIO -GERTNER -GEHLING -GEETER -GAUS -GATTISON -GATICA -GATHINGS -GATH -GASSNER -GASSERT -GARABEDIAN -GAMON -GAMEROS -GALBAN -GABOUREL -GAAL -FUOCO -FULLENWIDER -FUDALA -FRISCIA -FRANCESCHINI -FORONDA -FONTANILLA -FLOREY -FLORENTINO -FLORE -FLEGLE -FLECHA -FISLER -FISCHBACH -FIORITA -FINES -FIGURA -FIGGINS -FICHERA -FESTER -FERRA -FEAR -FAWLEY -FAWBUSH -FAUSETT -FARNES -FARAGO -FAIRCLOUGH -FAHIE -FABIANI -EVEREST -EVANSON -EUTSEY -ESHBAUGH -ESH -ERTLE -EPPLEY -ENGLEHARDT -ENGELHARD -EMSWILER -ELZA -ELLING -ELDERKIN -ELAND -EFAW -EDSTROM -EDMUND -EDGEMON -ECTON -ECHEVERRI -EBRIGHT -EARHEART -DYNES -DYGERT -DYCHES -DULMAGE -DUHN -DUHAMEL -DUES -DUBREY -DUBRAY -DUBBS -DRONE -DREY -DREWERY -DREIER -DORVAL -DOROUGH -DORAIS -DONLIN -DONATELLI -DOKE -DOHM -DOETSCH -DOBEK -DITTY -DISBROW -DING -DINARDI -DILLAHUNTY -DILLAHUNT -DIERS -DIER -DIEKMANN -DIANGELO -DESKIN -DESCHAINE -DEPAOLI -DENNER -DEMYAN -DEMONT -DEMARAY -DELILLO -DELEEUW -DEIBEL -DECATO -DEBLASIO -DEBARTOLO -DAUBENSPECK -DARNER -DARDON -DANZIGER -DANIALS -DAMEWOOD -DALPIAZ -DALLMAN -DALLAIRE -CUNNIFFE -CUMPSTON -CUMBO -CUBERO -CRUZAN -CRONKHITE -CRITELLI -CRIMI -CREEGAN -CREAN -CRAYCRAFT -CRATER -CRANFILL -COYT -COURCHESNE -COUFAL -CORRADINO -CORPREW -COLVILLE -COCCO -COBY -CLINCH -CLICKNER -CLAVETTE -CLAGGETT -CIRIGLIANO -CIESIELSKI -CHRISTAIN -CHESBRO -CHAVERA -CHARD -CASTENEDA -CASTANEDO -CAST -CASSEUS -CASA -CARUANA -CARNERO -CAPPELLI -CAPELLAN -CANEDY -CANCRO -CAMILLERI -CALERO -CADA -BURGHART -BURBIDGE -BULFER -BUIS -BUDNIEWSKI -BUCKO -BRUNEY -BRUGH -BROSSARD -BRODMERKEL -BROCKMANN -BRING -BRIGMOND -BRIERE -BREMMER -BRECK -BREAU -BRAUTIGAM -BRASCH -BRANDENBERGER -BRAN -BRAGAN -BOZELL -BOWSHER -BOSH -BORGIA -BOREY -BOOMHOWER -BONNEVILLE -BONAM -BOLLAND -BOISE -BOEVE -BOETTGER -BOERSMA -BOATENG -BLIVEN -BLAZIER -BLANCA -BLAHNIK -BJORNSTAD -BITTON -BISS -BIRKETT -BILLINGSLY -BIAGIONI -BETTLE -BERTUCCI -BERTOLINO -BERMEA -BERGNER -BERBER -BENSLEY -BENDIXEN -BELTRAMI -BELLONE -BELLAND -BEIN -BEHRINGER -BEGUM -BEANS -BAYONA -BATIZ -BASSIN -BASKETTE -BARTOLOMEO -BARTOLO -BARTHOLOW -BARKAN -BARISH -BARETT -BARDO -BAMBURG -BALLERINI -BALLA -BALIS -BAKLEY -BAILON -BACHICHA -BABIARZ -AYARS -AXTON -AXEL -AWONG -AWE -AWALT -AUSLANDER -AUSHERMAN -AUMICK -ATHENS -ATHA -ATCHINSON -ASLETT -ASKREN -ARROWSMITH -ARRAS -ARNHOLD -ARMAGOST -AREY -ARCOS -ARCHIBEQUE -ANTUNES -ANTILLA -ANN -ANDRAS -AMYX -AMISON -AMERO -ALZATE -ALPHONSE -ALPER -ALLER -ALIOTO -ALEXANDRIA -AIGNER -AGTARAP -AGBAYANI -ADAMI -ACHORN -ACEUEDO -ACEDO -ABUNDIS -ABER -ABEE -ZUCCARO -ZIGLAR -ZIER -ZIEBELL -ZIEBA -ZAMZOW -ZAHL -YURKO -YURICK -YONKERS -YERIAN -YEAMAN -YARMAN -YANN -YAHN -YADON -YADAO -WOODBRIDGE -WOLSKE -WOLLENBERG -WOJTCZAK -WNUK -WITHERITE -WINTHER -WINICK -WIDELL -WICKENS -WHICHARD -WHEELIS -WESELY -WENTZELL -WENTHOLD -WEMPLE -WEISENBURGER -WEHLING -WEGER -WEAKS -WATER -WASSINK -WARN -WALQUIST -WADMAN -WACASTER -WAAGE -VOLIVA -VLCEK -VILLAFANA -VIGLIOTTI -VIGER -VIERNES -VIANDS -VEY -VESELKA -VERSTEEG -VERO -VERHOEVEN -VENDETTI -VELARDO -VATTER -VASCONCELLOS -VARN -VANWAGNER -VANVOORHIS -VANHECKE -VANDUYN -VANDERVOORT -VANDERSLICE -VALONE -VALLIER -VAILS -UVALLE -URSUA -URENDA -UPRIGHT -UPHOFF -TUSTIN -TURTON -TURNBOUGH -TURCK -TULLIO -TUCH -TRUEHART -TROPEA -TROESTER -TRIPPE -TRICARICO -TREVARTHEN -TREMBLY -TRACE -TRABUE -TRABER -TOTO -TOSI -TOAL -TINLEY -TINGLER -TIMOTEO -TIFFIN -TIEN -TICER -THURGOOD -THORMAN -THERRIAULT -THEEL -TESSMAN -TEKULVE -TEJERA -TEBBS -TAVERNIA -TARPEY -TALLMADGE -TAKEMOTO -SZOT -SYLVEST -SWINDOLL -SWEARINGER -SWANTEK -SWANER -SWAINSTON -SUSI -SURRETTE -SUR -SUPPLE -SULLENGER -SUDDERTH -SUDDARTH -SUCKOW -STRIDER -STREGE -STREAM -STRASSBURG -STOVAL -STOTZ -STONEHAM -STILLEY -STILLE -STIERWALT -STFLEUR -STEUCK -STERMER -STCLAIRE -STANO -STAKER -STAHLER -STABLEIN -SRINIVASAN -SQUILLACE -SPRVILL -SPROULL -SPRAU -SPORER -SPORE -SPITTLER -SPEELMAN -SPARR -SPARKES -SPANG -SPAGNUOLO -SOSINSKI -SORTO -SORKIN -SONDAG -SOLLERS -SOCIA -SNARR -SMREKAR -SMOLKA -SLYTER -SLOVINSKY -SLIWA -SLAVIK -SLATTER -SKIVER -SKEEM -SKALA -SITZES -SITSLER -SITLER -SINKO -SIMSER -SIEGLER -SIDERIS -SHREWSBERRY -SHOOPMAN -SHOAFF -SHIRA -SHINDLER -SHIMMIN -SHILL -SHENKEL -SHEMWELL -SHEHORN -SEVERA -SERGIO -SEMONES -SELSOR -SELLER -SEKULSKI -SEGUI -SECHREST -SCOT -SCHWER -SCHWEBACH -SCHUR -SCHMIESING -SCHLICK -SCHLENDER -SCHEBLER -SCHEAR -SCHAPIRO -SAURO -SAUNDER -SAUAGE -SATTERLY -SARAIVA -SARACINO -SAPERSTEIN -SANMARTIN -SANLUIS -SANDT -SANDROCK -SAMMET -SAMA -SALK -SAKATA -SAINI -SACKRIDER -RYS -RUSSUM -RUSSI -RUSSAW -ROZZELL -ROZA -ROWLETTE -ROTHBERG -ROSSANO -ROSEBROCK -ROMANSKI -ROMANIK -ROMANI -ROMA -ROIGER -ROIG -ROEHR -RODENBERGER -RODELA -ROD -ROCHFORD -RISTOW -RISPOLI -RIPPER -RIGO -RIESGO -RIEBEL -RIBERA -RIBAUDO -RHODA -REYS -RESENDES -REPINE -REISDORF -REISCH -REBMAN -RASMUS -RASKE -RANUM -RAMES -RAMBIN -RAMAN -RAJEWSKI -RAFFIELD -RADY -RADICH -RAATZ -QUINNIE -PYPER -PUTHOFF -PROW -PROEHL -PRIBYL -PRETTI -PRETE -PRESBY -POYER -POWELSON -PORTEOUS -POQUETTE -POOSER -POLLAN -PLOSS -PLEWA -PLANTS -PLACIDE -PION -PINNICK -PINALES -PIN -PILLOT -PILLE -PILATO -PIGGEE -PIETROWSKI -PIERMARINI -PICKFORD -PICCARD -PHENIX -PEVEY -PETROWSKI -PETRILLOSE -PESEK -PERROTTI -PERFECTO -PEPPLER -PEPPARD -PENFOLD -PELLITIER -PELLAND -PEHOWIC -PEDRETTI -PAULES -PASSERO -PASHA -PANZA -PALLANTE -PALAU -PAKELE -PACETTI -PAAVOLA -OVERY -OVERSON -OUTLER -OSEGUEDA -ORD -OPLINGER -OLDENKAMP -OK -OHERN -OETTING -ODUMS -OBA -NOWLEN -NOWACK -NORDLUND -NOBLETT -NOBBE -NIERMAN -NICHELSON -NIBLOCK -NEWBROUGH -NEST -NEMETZ -NEESON -NEEDLEMAN -NECESSARY -NAVIN -NASTASI -NASLUND -NARAMORE -NAKKEN -NAKANISHI -NAJARRO -MUSHRUSH -MUMA -MULERO -MORGANFIELD -MOREMAN -MORAIN -MOQUIN -MONTROSE -MONTERROSA -MONSIVAIS -MONROIG -MONJE -MONFORT -MOISES -MOFFA -MOECKEL -MOBBS -MITCH -MISIAK -MIRES -MIRELEZ -MINEO -MINEAU -MILNES -MIKESKA -MICHELIN -MICHALOWSKI -MESZAROS -MESSINEO -MESHELL -MERTEN -MEOLA -MENTON -MENDS -MENDE -MEMMOTT -MELIUS -MEHAN -MCNICKLE -MCMORRAN -MCLENNON -MCLEISH -MCLAINE -MCKENDRY -MCKELL -MCKEIGHAN -MCISAAC -MCIE -MCGUINN -MCGILLIS -MCFATRIDGE -MCFARLING -MCELRAVY -MCDONALDS -MCCULLA -MCCONNAUGHY -MCCONNAUGHEY -MCCHRISTON -MCBEATH -MAYR -MATYAS -MATTHIESEN -MATSUURA -MATINEZ -MATHYS -MATARAZZO -MASKER -MASDEN -MASCIO -MARTIS -MARRINAN -MARINUCCI -MARGERUM -MARENGO -MANTHE -MANSKER -MANOOGIAN -MANKEY -MANIGO -MANIER -MANGINI -MANDELBAUM -MALTESE -MALSAM -MALLO -MALISZEWSKI -MAINOLFI -MAHARAJ -MAGGART -MAGAR -MAFFETT -MACMASTER -MACKY -MACDONNELL -MABLE -LYVERS -LYN -LUZZI -LUTMAN -LUK -LOVER -LOVAN -LONZO -LONGEST -LONGERBEAM -LOFTHOUSE -LOETHEN -LODI -LLORENS -LIZARDO -LIZAMA -LIZ -LITSCHER -LISOWSKI -LIPSKI -LIPSETT -LIPKIN -LINZEY -LINEMAN -LIMERICK -LIMB -LIMAS -LIGE -LIERMAN -LIEBOLD -LIBERTI -LEVERTON -LEVENE -LESUEUR -LENSER -LENKER -LEMME -LEGNON -LEFRANCOIS -LEDWELL -LAVECCHIA -LAURICH -LAURICELLA -LATINO -LANNIGAN -LANDOR -LAMPRECHT -LAMOUNTAIN -LAMORE -LAMONICA -LAMMERT -LAMBOY -LAMARQUE -LAMACCHIA -LALLEY -LAGACE -LACORTE -LACOMB -KYLLONEN -KYKER -KYE -KUSCHEL -KUPFER -KUNDE -KUCINSKI -KUBACKI -KUAN -KROENKE -KRECH -KOZIEL -KOVACICH -KOTHARI -KOTH -KOTEK -KOSTELNIK -KOSLOSKI -KNOLES -KNABE -KMIECIK -KLINGMAN -KLIETHERMES -KLEFFMAN -KLEES -KLAIBER -KITTELL -KISSLING -KISINGER -KINTNER -KINOSHITA -KIENER -KHOURI -KERMAN -KELII -KEIRN -KEEZER -KAUP -KATHAN -KASER -KARLSEN -KAPUR -KANDOLL -KAMMEL -KAHELE -JUSTESEN -JUE -JONASON -JOHNSRUD -JOERLING -JOCHIM -JESPERSEN -JEONG -JENNESS -JEDLICKA -JAKOB -ISAMAN -INGHRAM -INGENITO -IMPERIAL -IADAROLA -HYND -HUXTABLE -HUWE -HURON -HURLESS -HUMPAL -HUGHSTON -HUGHART -HUGGETT -HUGAR -HUETHER -HOWDYSHELL -HOUTCHENS -HOUSEWORTH -HOSKIE -HOLSHOUSER -HOLMEN -HOLLORAN -HOHLER -HOEFLER -HODSDON -HOCHMAN -HJORT -HIPPERT -HIPPE -HINZMAN -HILLOCK -HILDEN -HILDE -HEYN -HEYDEN -HEYD -HERGERT -HENRIKSON -HENNINGSEN -HENDEL -HELGET -HELF -HELBING -HEINTZMAN -HEGGIE -HEGE -HECOX -HEATHERINGTON -HEARE -HAXTON -HAVERSTOCK -HAVERLY -HATLER -HASELTON -HASE -HARTZFELD -HARTEN -HARKEN -HARGROW -HARAN -HANTON -HAMMAR -HAMAMOTO -HALPER -HALKO -HACKATHORN -HABERLE -HAAKE -GUNNOE -GUNKEL -GULYAS -GUINEY -GUILBEAU -GUIDER -GUERRANT -GUDGEL -GUARISCO -GROSSEN -GROSSBERG -GROPP -GROOME -GROBE -GREMMINGER -GREENLEY -GRAUBERGER -GRABENSTEIN -GOWERS -GOSTOMSKI -GOSIER -GOODENOW -GONZOLES -GOLIDAY -GOETTLE -GOENS -GOATES -GLYMPH -GLAVIN -GLASSCO -GLADYS -GLADFELTER -GLACKIN -GITHENS -GIRGIS -GIMPEL -GILBRETH -GILBEAU -GIFFEN -GIANNOTTI -GHOLAR -GERVASI -GERTSCH -GERNATT -GEPHARDT -GENCO -GEHR -GEDDIS -GEAR -GASE -GARROTT -GARRETTE -GAPINSKI -GANTER -GANSER -GANGI -GANGEMI -GANG -GALLINA -GALDI -GAILES -GAETANO -GADOMSKI -GACCIONE -FUSCHETTO -FURTICK -FURFARO -FULLMAN -FRUTOS -FRUCHTER -FROGGE -FREYTAG -FREUDENTHAL -FREGOE -FRANZONE -FRANKUM -FRANCIA -FRANCESCHI -FRACTION -FORYS -FORERO -FOLKERS -FOIL -FLUG -FLITTER -FLEMONS -FITZER -FIRPO -FINIZIO -FILIAULT -FIGG -FIDDLER -FICHTNER -FETTEROLF -FERRINGER -FEIL -FAYNE -FARRO -FADDIS -EZZO -EZELLE -EYNON -EVITT -EUTSLER -EUELL -ESCOVEDO -ERNE -ERIKSSON -ENRIGUEZ -EMPSON -ELKINGTON -ELK -EISENMENGER -EIDT -EICHENBERGER -EHRMANN -EDIGER -EARLYWINE -EACRET -DUZAN -DUNNINGTON -DUFFER -DUCASSE -DUBIEL -DROVIN -DRAGER -DRAGE -DONHAM -DONAT -DONA -DOLINGER -DOKKEN -DOEPKE -DODWELL -DOCHERTY -DISTASIO -DISANDRO -DINIZ -DIGANGI -DIDION -DEZZUTTI -DEVORA -DETMER -DESHON -DERRIGO -DENTLER -DEMOURA -DEMETER -DEMERITT -DEMAYO -DEMARK -DEMARIO -DELZELL -DELNERO -DELGROSSO -DEJARNETT -DEBERNARDI -DEARMAS -DAU -DASHNAW -DARIS -DANKS -DANKER -DANGLER -DAIGNAULT -DAFOE -DACE -CURET -CUMBERLEDGE -CULKIN -CUBA -CROWNER -CROCKET -CRAWSHAW -CRAUN -CRANSHAW -CRAGLE -COURSER -COSTELLA -CORNFORTH -CORKILL -CORDY -COOPERSMITH -CONZEMIUS -CONNETT -CONNELY -CONDICT -CONDELLO -CONCHA -COMLEY -COLT -COLLEN -COHOON -CODAY -CLUGSTON -CLOWNEY -CLIPPARD -CLINKENBEARD -CLINES -CLELLAND -CLAUSE -CLAPHAM -CLANCEY -CLABOUGH -CICHY -CICALESE -CHUCK -CHUA -CHITTICK -CHISOM -CHISLEY -CHINO -CHINCHILLA -CHERAMIE -CERRITOS -CERCONE -CENA -CAWOOD -CAVNESS -CATANZARITE -CASADA -CARVELL -CARP -CARMICHEAL -CARLL -CARDOZO -CAPLIN -CANDIA -CANBY -CAMMON -CALLISTER -CALLIGAN -CALKIN -CAILLOUET -BUZZELLI -BUTE -BUSTILLO -BURSEY -BURGESON -BUPP -BULSON -BULLS -BUIST -BUFFEY -BUCZKOWSKI -BUCKBEE -BUCIO -BRUECKNER -BROZ -BROOKHART -BRONG -BROCKMEYER -BROBERG -BRITTENHAM -BRISBOIS -BRIDGMON -BRIDE -BREYER -BREDE -BREAKFIELD -BREAKEY -BRAUNER -BRANIGAN -BRANDEWIE -BRANCHE -BRAGER -BRADER -BOVELL -BOUTHOT -BOSTOCK -BOSMA -BOSEMAN -BOSCHEE -BORTHWICK -BORNEMAN -BORER -BOREK -BOOMERSHINE -BONI -BOMMARITO -BOLMAN -BOLEWARE -BOISSE -BOEHLKE -BODLE -BLASH -BLASCO -BLAKESLEY -BLACKLOCK -BLACKLEY -BITTICK -BIRKS -BIRDIN -BIRCHER -BILBAO -BICK -BIBY -BERTONI -BERTINO -BERTINI -BERSON -BERN -BERKEBILE -BERGSTRESSER -BENNE -BENEVENTO -BELZER -BELTRE -BELLOMO -BELLEROSE -BEILKE -BEGEMAN -BEBEE -BEAZER -BEAVEN -BEAMISH -BAYMON -BASTON -BASTIDAS -BASOM -BASKET -BASEY -BARTLES -BARONI -BAROCIO -BARNET -BARCLIFT -BANVILLE -BALTHAZOR -BALLEZA -BALKCOM -BAIRES -BAILIFF -BAILIE -BAIK -BAGGOTT -BAGEN -BACHNER -BABINGTON -BABEL -ASMAR -ASKIN -ARVELO -ARTEGA -ARRENDONDO -ARREAGA -ARRAMBIDE -ARQUETTE -ARONOFF -ARICO -ARGENTIERI -AREVALOS -ARCHBOLD -APUZZO -ANTCZAK -ANKENY -ANGELLE -ANGELINI -ANFINSON -AMER -AMBERG -AMARILLAS -ALTIER -ALTENBURG -ALSPACH -ALOSA -ALLSBROOK -ALEXOPOULOS -ALEEM -ALDRED -ALBERTSEN -AKERSON -AINSLEY -AGLER -ADLEY -ADDAMS -ACOBA -ACHILLE -ABPLANALP -ABELLA -ABARE -ZWOLINSKI -ZOLLICOFFER -ZOLA -ZINS -ZIFF -ZENNER -ZENDER -ZELNICK -ZELENKA -ZECHES -ZAUCHA -ZAUALA -ZAPPA -ZANGARI -ZAGORSKI -YOUTSEY -YORKER -YELL -YASSO -YARDE -YARBOUGH -XIAO -WOOLEVER -WOODSMALL -WOODFOLK -WONDERS -WOBIG -WIXSON -WITTWER -WIRTANEN -WINSON -WINGERD -WILKENING -WILHELMS -WIERZBICKI -WIECHMAN -WHITES -WEYRICK -WESSELL -WENRICK -WENNING -WELTZ -WEINRICH -WEIAND -WEHUNT -WAREING -WALTH -WAIBEL -WAHLQUIST -VONA -VOELKEL -VITEK -VINSANT -VINCENTE -VILAR -VIEL -VICARS -VERMETTE -VERMA -VENT -VENNER -VEAZIE -VAYDA -VASHAW -VARON -VARDEMAN -VANDEVELDE -VANBROCKLIN -VALERY -VAL -VACCAREZZA -URQUIDEZ -URIE -URBACH -URAM -UNGARO -UMALI -ULSH -TUTWILER -TURNBAUGH -TUMMINELLO -TUITE -TUELLER -TRULOVE -TROHA -TRIVINO -TRISDALE -TRIPPETT -TRIBBETT -TREPTOW -TREMAIN -TRAVELSTEAD -TRAUTWEIN -TRAUTMANN -TRAM -TRAEGER -TONELLI -TOMSIC -TOMICH -TOMASULO -TOMASINO -TOLE -TODHUNTER -TOBORG -TISCHER -TIRPAK -TIRCUIT -TINNON -TINNEL -TINES -TINA -TIMBS -TILDEN -TIEDE -THUMM -THRONE -THROGMORTON -THORNDIKE -THORNBURGH -THOREN -THOMANN -THERRELL -THAU -THAMMAVONG -TETRICK -TESSITORE -TESREAU -TEICHER -TEAFORD -TAUSCHER -TAUER -TANABE -TALAMO -TAKEUCHI -TAITE -TADYCH -SWEETON -SWECKER -SWARTZENTRUBE -SWARNER -SURRELL -SURBAUGH -SUPPA -SUNSHINE -SUMBRY -SUCHY -STUTEVILLE -STUDT -STROMER -STROME -STRENG -STONESTREET -STOCKLEY -STMICHEL -STICKER -STFORT -STERNISHA -STENSRUD -STEINHARDT -STEINBACK -STEICHEN -STAUBLE -STASIAK -STARZYK -STANGO -STANDERFER -STACHOWIAK -SPRINGSTON -SPRATLIN -SPRACKLEN -SPONSELLER -SPILKER -SPIEGELMAN -SPELLACY -SPEISER -SPAZIANI -SPADER -SPACKMAN -SPACE -SORUM -SOPHA -SOLLIS -SOLLENBERGER -SOLIVAN -SOLHEIM -SOKOLSKY -SOGGE -SMYSER -SMITLEY -SLOAS -SLINKER -SKORA -SKIFF -SKARE -SIVERD -SIVELS -SISKA -SIORDIA -SIMMERING -SIMKO -SIME -SILMON -SILANO -SIEGER -SIEBOLD -SHUKLA -SHREVES -SHOUN -SHORTLE -SHONKWILER -SHOALS -SHIMMEL -SHIEL -SHIEH -SHERBONDY -SHENKMAN -SHEIN -SHEARON -SHEAN -SHATZ -SHANHOLTZ -SHAFRAN -SHAFF -SHACKETT -SGROI -SEWALL -SEVERY -SETHI -SESSA -SEQURA -SEPULVADO -SEPER -SENTENO -SENDEJO -SEMMENS -SEIPP -SEGLER -SEEGERS -SEDWICK -SEDORE -SECHLER -SEBASTIANO -SCOVEL -SCOTTON -SCOPEL -SCHWEND -SCHWARTING -SCHUTTER -SCHRIER -SCHONS -SCHOLTES -SCHNETZER -SCHNELLE -SCHMUTZ -SCHLICHTER -SCHELLING -SCHAMS -SCHAMP -SCARBER -SCALLAN -SCALISI -SCAFFIDI -SAXBY -SAWREY -SAUVAGEAU -SAUDER -SARRETT -SANZO -SANTIZO -SANTELLA -SANTANDER -SANDEZ -SANDEL -SAMMON -SALSEDO -SALGE -SAILORS -SAGUN -SAFI -SADER -SACCHETTI -SABLAN -SABER -SAADE -RUNNION -RUNKEL -RUNG -RUMBO -RUESCH -RUEGG -RUCKLE -RUCHTI -RUBENS -RUBANO -ROZYCKI -ROUPE -ROUFS -ROSSEL -ROSMARIN -ROSERO -ROSENWALD -ROSELLE -RONCA -ROMOS -ROLLA -ROHLING -ROHLEDER -ROELL -ROEHM -ROCHEFORT -ROCH -ROBOTHAM -RIVENBURGH -RIOPEL -RIEDERER -RIDLEN -RIAS -RHUDY -REYNARD -RETTER -RESPESS -REPPOND -REPKO -RENGIFO -REINKING -REICHELT -REEH -REDENIUS -REBOLLEDO -RAYMUNDO -RAUH -RATAJCZAK -RAPLEY -RANALLI -RAMIE -RAITT -RADLOFF -RADLE -RABBITT -QUAY -QUANT -PUSATERI -PUFFINBERGER -PUERTA -PROVENCIO -PROANO -PRIVITERA -PRENGER -PRELLWITZ -POUSSON -POTIER -POSTER -PORTZ -PORTLOCK -PORTH -PORTELA -PORTEE -PORCHIA -POLLICK -POLINSKI -POLFER -POLANSKI -POLACHEK -PLUTA -PLOURD -PLAUCHE -PITNER -PIONTKOWSKI -PILEGGI -PIEROTTI -PICO -PIACENTE -PHINISEE -PHAUP -PFOST -PETTINGER -PETTET -PETRICH -PETO -PERSLEY -PERSAD -PERLSTEIN -PERKO -PERE -PENDERS -PEIFER -PECO -PEAR -PAY -PAWLEY -PASH -PARRACK -PARADY -PAPEN -PANGILINAN -PANDOLFO -PALONE -PALMERTREE -PADIN -OU -OTTEY -OTTEM -OSTROSKI -ORNSTEIN -ORMONDE -ONSTOTT -ONCALE -OLTREMARI -OLCOTT -OLAN -OISHI -OIEN -ODONELL -ODONALD -ODE -OBESO -OBEIRNE -OATLEY -NUSSER -NOVO -NOVICKI -NOREEN -NORA -NITSCHKE -NISTLER -NIM -NIKKEL -NIESE -NIERENBERG -NIELD -NIEDZWIECKI -NIEBLA -NIEBEL -NICKLIN -NEYHART -NEWSUM -NEVARES -NAGEOTTE -NAGAI -MYUNG -MUTZ -MURATA -MURALLES -MUNNERLYN -MUMPOWER -MUEGGE -MUCKLE -MUCHMORE -MOULTHROP -MOTL -MOSKOS -MORTLAND -MORRING -MORMILE -MORIMOTO -MORIKAWA -MORGON -MORDECAI -MONTOUR -MONT -MONGAN -MONELL -MIYASATO -MISH -MINSHEW -MIMBS -MILLIN -MILLIARD -MIHM -MIDDLEMISS -MIANO -MEW -MESICK -MERLAN -MENDONSA -MENCH -MELONSON -MELLING -MECCA -MEACHEM -MCTIGHE -MCNELIS -MCMURTREY -MCMURPHY -MCKESSON -MCKENRICK -MCKELVIE -MCJUNKINS -MCGORY -MCGIRR -MCGEEVER -MCFIELD -MCELHINNEY -MCCROSSEN -MCCOMMON -MCCANNON -MAZYCK -MAWYER -MAULL -MATUTE -MATHIES -MASCHINO -MARZAN -MARTINIE -MARROTTE -MARMION -MARKARIAN -MARINACCI -MARGOLIES -MARGESON -MARCIA -MARCEL -MARAK -MARAIA -MARACLE -MANYGOATS -MANO -MANKER -MANK -MANDICH -MANDERSON -MALTZ -MALMQUIST -MALACARA -MAJETTE -MAIS -MAGNAN -MAGLIOCCA -MADINA -MADARA -MACWILLIAMS -MACQUEEN -MACCALLUM -LYDE -LYDAY -LUTRICK -LURZ -LURVEY -LUMBRERAS -LUHRS -LUHR -LUE -LOWRIMORE -LOWNDES -LOWERS -LOURENCO -LOUGEE -LORONA -LONGSTRETH -LOHT -LOFQUIST -LOEWENSTEIN -LOBOS -LIZARDI -LIVERPOOL -LIONBERGER -LIMOLI -LILJENQUIST -LIGUORI -LIEBL -LIBURD -LEUKHARDT -LETIZIA -LESINSKI -LEPISTO -LENZINI -LEISENRING -LEIPOLD -LEIER -LEGGITT -LEGARE -LEAPHART -LAZOR -LAZAGA -LAVEY -LAUE -LAUDERMILK -LAUCK -LASSALLE -LARSSON -LARISON -LANZO -LANTZY -LANNERS -LANGTRY -LANDFORD -LANCOUR -LAMOUR -LAMBERTSON -LALONE -LAIRSON -LAINHART -LAGRECA -LACINA -LABRANCHE -LABATE -KURTENBACH -KUIPERS -KUECHLE -KUE -KUBO -KRINSKY -KRAUSER -KRAEGER -KRACHT -KOZELISKI -KOZAR -KOWALIK -KOTLER -KOTECKI -KOSLOSKY -KOSEL -KOOB -KOLASINSKI -KOIZUMI -KOHLMAN -KOFFMAN -KNUTT -KNORE -KNAFF -KMIEC -KLAMM -KITTLER -KITNER -KIRKEBY -KIPER -KINDLER -KILMARTIN -KILLINGS -KILLIN -KILBRIDE -KERCHNER -KENDELL -KEDDY -KEAVENEY -KEARSLEY -KARRAS -KARLSSON -KARALIS -KAPPES -KAPADIA -KALLMAN -KALLIO -KALIL -KADER -JURKIEWICZ -JOYA -JOHANN -JITCHAKU -JILLSON -JEX -JEUNE -JARRATT -JARCHOW -JANAK -IVINS -IVANS -ISENHART -INOCENCIO -INOA -IMHOF -IACONO -HYNDS -HUTCHING -HUTCHIN -HULSMAN -HULSIZER -HUESTON -HUDDLESON -HRBEK -HOWRY -HOUSEY -HOUNSHELL -HOSICK -HORTMAN -HORSEMAN -HORKY -HORINE -HOOTMAN -HONEYWELL -HONEYESTEWA -HOLSTE -HOLIEN -HOLBROOKS -HOFFMEYER -HOF -HOESE -HOENIG -HIRSCHFELD -HILDENBRAND -HIGSON -HIGNEY -HIBERT -HIBBETTS -HEWLIN -HESLEY -HERROLD -HERMON -HERITAGE -HEPKER -HENWOOD -HELBLING -HEINZMAN -HEIDTBRINK -HEDGER -HAVEY -HATHEWAY -HARTSHORNE -HARPEL -HANING -HANDELMAN -HAMALAINEN -HAMAD -HALT -HALASZ -HAIGWOOD -HAGGANS -HACKSHAW -GUZZO -GUNNER -GUNDRUM -GUILBEAULT -GUGLIUZZA -GUGLIELMI -GUE -GUDERIAN -GRUWELL -GRUNOW -GRUNDMAN -GRUEN -GROTZKE -GROSSNICKLE -GROOMES -GRODE -GROCHOWSKI -GROB -GREIN -GREIF -GREENWALL -GREENUP -GRASSL -GRANNIS -GRANDFIELD -GRAMES -GRABSKI -GRABE -GOULDSBERRY -GOTHAM -GOSCH -GOODY -GOODLING -GOODERMOTE -GONZALE -GOLEBIOWSKI -GOLDSON -GODLOVE -GLANVILLE -GILLIN -GILKERSON -GIESSLER -GIAMBALVO -GIACOMINI -GIACOBBE -GHIO -GERGEN -GENTZ -GENRICH -GELORMINO -GELBER -GEITNER -GEIMER -GAUTHREAUX -GAULTNEY -GARVIE -GAREAU -GARBO -GARBACZ -GANOE -GANGWER -GANDARILLA -GALYEN -GALT -GALLUZZO -GALLON -GALARDO -GAGER -GADDIE -GABER -GABEHART -GAARDER -FUSILIER -FURNARI -FURBEE -FUGUA -FRUTH -FROHMAN -FRISKE -FRILOT -FRIDMAN -FRESCAS -FREIER -FRAYER -FRANZESE -FRANKLYN -FRANKENBERRY -FRAIN -FOSSE -FORESMAN -FORBESS -FOOT -FLORIDA -FLOOK -FLETES -FLEER -FLEEK -FLEEGLE -FISHBURNE -FISCALINI -FINNIGAN -FINI -FILIPIAK -FIGUEIRA -FIERO -FICEK -FIASCHETTI -FERREN -FERRANDO -FERMAN -FERGUSSON -FENECH -FEINER -FEIG -FEES -FAULDS -FATE -FARISS -FANTASIA -FALOR -FALKE -EWINGS -EVERSLEY -EVERDING -EUNICE -ETLING -ESSEN -ERSKIN -ENSTROM -ENRICO -ENGEBRETSEN -ENDER -EMMA -EITEL -EICHBERGER -EHLER -EEKHOFF -EDRINGTON -EDMONSTON -EDGMON -EDES -EBERLEIN -DWINELL -DUX -DUPEE -DUNKLEE -DUNK -DUNGEY -DUNAGIN -DUMOULIN -DUGGAR -DUENEZ -DUDZIC -DUDENHOEFFER -DUCEY -DUB -DROUILLARD -DREIBELBIS -DREGER -DREESMAN -DRAUGHON -DOWNEN -DOUBLE -DORMINY -DOMINIC -DOMBECK -DOLMAN -DOEBLER -DITTBERNER -DISHAW -DISANTI -DINICOLA -DINHAM -DIMINO -DILLING -DIFRANCESCO -DICELLO -DIBERT -DESHAZER -DESERIO -DESCOTEAU -DERUYTER -DERING -DEPINTO -DENTE -DEMUS -DEMATTOS -DEMARSICO -DELUDE -DEKOK -DEBRITO -DEBOIS -DEAKIN -DEA -DAYLEY -DAWSEY -DAURIA -DATSON -DARTY -DARSOW -DARRAGH -DARENSBOURG -DALLEVA -DALBEC -DADD -CUTCHER -CURB -CUNG -CUELLO -CUADROS -CRUTE -CRUTCHLEY -CRISPINO -CRISLIP -CRISCO -CREVIER -CREEKMUR -CRANCE -CRAGG -CRAGER -COZBY -COYAN -COXON -COVALT -COUILLARD -COSTLEY -COSTILOW -COSSAIRT -CORVINO -CORIGLIANO -CORDARO -CORBRIDGE -CORBAN -COOR -COOLER -CONKEL -CONG -CONARY -COLTRAIN -COLLOPY -COLGIN -COLEN -COLBATH -COIRO -COFFIE -COCHRUM -COBBETT -CLOPPER -CLIBURN -CLENDENON -CLEMON -CLEMENTI -CLAUSI -CIRINO -CINA -CHURN -CHURCHMAN -CHILCUTT -CHERNEY -CHEETHAM -CHEATOM -CHATELAIN -CHANDRA -CHALIFOUR -CESA -CERVENKA -CERULLO -CERRETA -CERBONE -CECCHINI -CECCARELLI -CAWTHORN -CAVALERO -CATALINA -CASTNER -CASTLEN -CASTINE -CASIMIRO -CASDORPH -CARTMILL -CARTMELL -CARRO -CARRIGER -CARLEE -CARIAS -CARAVELLA -CAPPAS -CAPEN -CANTEY -CANEDO -CAMUSO -CAMPS -CAMPANARO -CAMERO -CAMBRIA -CALZADO -CALLEJO -CALIGIURI -CAFARO -CADOTTE -CACACE -BYRANT -BUSBEY -BURTLE -BURRES -BURNWORTH -BURGGRAF -BURBACK -BUNTE -BUNKE -BULLE -BUGOS -BUDLONG -BUCKHALTER -BUCCELLATO -BRUMMET -BRUFF -BRUBECK -BROUK -BROTEN -BROSKY -BRONER -BRITTLE -BRISLIN -BRIMM -BRILLHART -BRIDGHAM -BRIDEAU -BRENNECKE -BRENNA -BREER -BREELAND -BREDESEN -BRANDEN -BRACKNEY -BRACKEEN -BOZA -BOYUM -BOWDRY -BOWDISH -BOUWENS -BOUVIER -BOUGIE -BOUCHE -BOTTENFIELD -BOSTIAN -BOSSIE -BOSLER -BOSCHERT -BOROFF -BORELLO -BOOM -BONSER -BONFIELD -BON -BOLE -BOLDUE -BOGACZ -BOEMER -BLUTH -BLOXOM -BLICKENSTAFF -BLESSINGER -BLEAZARD -BLATZ -BLANCHET -BLACKSHER -BIRCHLER -BINNING -BINKOWSKI -BILTZ -BILOTTA -BILAGODY -BIGBEE -BIERI -BIEHLE -BIDLACK -BETKER -BETHERS -BETHELL -BERTHA -BERO -BERNACCHI -BERMINGHAM -BERKSHIRE -BENVENUTO -BENSMAN -BENOFF -BENCIVENGA -BEMAN -BELLOW -BELLANY -BELFLOWER -BELCH -BEKKER -BEJAR -BEISEL -BEICHNER -BEGAN -BEEDY -BEAS -BEANBLOSSOM -BAWEK -BAUS -BAUGUS -BATTIE -BATTERSHELL -BATESON -BASQUE -BASFORD -BARTONE -BARRITT -BARKO -BANN -BAMFORD -BALTRIP -BALON -BALLIEW -BALLAM -BALDUS -AYLING -AVELINO -ASHWELL -ASHLAND -ARSENEAU -ARROYOS -ARMENDAREZ -ARITA -ARGUST -ARCHULETTA -ARCEMENT -ANTONACCI -ANTHIS -ANTAL -ANNAN -ANDREE -ANDERMAN -AMSTER -AMIRI -AMADON -ALVERAZ -ALTOMARI -ALTMANN -ALTENHOFEN -ALLERS -ALLBEE -ALLAWAY -ALL -ALEO -ALCOSER -ALCORTA -AKHTAR -AHUNA -AGRAMONTE -AGARD -ADKERSON -ACHORD -ABT -ABDI -ABAIR -ZURN -ZOELLNER -ZIRK -ZION -ZEE -ZARRO -ZARCO -ZAMBO -ZAISER -ZAINO -ZACHRY -YOUD -YONAN -YNIGUEZ -YEPES -YEO -YELLOCK -YELLEN -YEATTS -YEARLING -YATSKO -YANNONE -WYLER -WOODRIDGE -WOLFROM -WOLAVER -WOLANIN -WOJNAR -WOJCIAK -WITTMANN -WITTICH -WISWELL -WISSER -WINTERSTEEN -WINELAND -WILLING -WILLFORD -WIGINTON -WIGFIELD -WIERMAN -WICE -WIATER -WHITSEL -WHITBREAD -WHELLER -WETTSTEIN -WERLING -WENTE -WENIG -WEMPE -WELZ -WEINHOLD -WEIGELT -WEICHMAN -WEDEMEYER -WEDDEL -WAYS -WAYMENT -WAYCASTER -WAUNEKA -WATZKA -WATTON -WARNELL -WARNECKE -WARMACK -WARDER -WANDS -WALDVOGEL -WALDRIDGE -WAHS -WAGGANER -WADDILL -VYAS -VOUGHT -VOTTA -VOILES -VIRGA -VINER -VILLELLA -VILLAVERDE -VILLANEDA -VIELE -VICKROY -VICENCIO -VEVE -VETERE -VERMILYEA -VERLEY -VERBURG -VENTRESCA -VENO -VENARD -VENANCIO -VELAQUEZ -VEENSTRA -VEA -VASIL -VANZEE -VANWIE -VANTINE -VANT -VANSCHOYCK -VANNICE -VANKAMPEN -VANICEK -VANDERSLOOT -VANDERPOEL -VANDERLINDE -VALLIERES -UZZELL -UZELAC -URANGA -UPTAIN -UPDYKE -UONG -UNTIEDT -UMBRELL -UMBAUGH -UMBARGER -ULYSSE -ULLMANN -ULLAH -TUTKO -TURTURRO -TURNMIRE -TURNLEY -TURCOTT -TURBYFILL -TURANO -TUMINELLO -TUMBLESON -TSOU -TRUSCOTT -TRULSON -TROUTNER -TRONE -TROLL -TRINKLEIN -TREMMEL -TREDWAY -TREASE -TRAYNHAM -TRAW -TOTTY -TORTI -TORREGROSSA -TOROK -TOMKINS -TOMAINO -TKACH -TIREY -TINSMAN -TIMPE -TIEFENAUER -TIEDT -TIDBALL -THWAITES -THULIN -THRONEBURG -THORNS -THORELL -THORBURN -THIEMANN -THIEMAN -THESING -THAM -TERRIEN -TERRANCE -TELFAIR -TAYBRON -TASSON -TASSO -TARRO -TANENBAUM -TALENT -TAILOR -TADDEO -TADA -TABORN -TABIOS -SZEKELY -SZATKOWSKI -SYLVE -SWINEFORD -SWARTZFAGER -SWANTON -SWAGERTY -SURRENCY -SUNDERLIN -SUMERLIN -SUERO -SUDDITH -SUBLETTE -STUMPE -STUEVE -STUDY -STUCKERT -STRYCKER -STRUVE -STRUSS -STRUBBE -STROUGH -STROTHMANN -STRAHLE -STOUTNER -STOOKSBURY -STONES -STONEBARGER -STOKEY -STOFFER -STIMMEL -STIEF -STEPHANS -STEMPER -STELTENPOHL -STELLATO -STEINLE -STEGEMAN -STEFFLER -STEER -STEEGE -STECKMAN -STAPEL -STANSBERY -STANALAND -STAHLEY -STAGNARO -STACHOWSKI -SQUIBB -SPRUNGER -SPROULE -SPREHE -SPREEN -SPRECHER -SPOSATO -SPIVERY -SOUTER -SOPHER -SOMMERFELDT -SOFFER -SNOWBERGER -SNAPE -SMYLIE -SMYER -SMACK -SLAYDON -SLATTON -SLAGHT -SKOVIRA -SKEANS -SJOLUND -SJODIN -SIRAGUSA -SINGELTON -SINATRA -SILIS -SIEBENALER -SHUFFIELD -SHOBE -SHIRING -SHIMABUKURO -SHILTS -SHERLEY -SHERBERT -SHELDEN -SHEIL -SHEDLOCK -SHEARN -SHAUB -SHARBONO -SHAPLEY -SHANDS -SHAHEEN -SHAFFNER -SERVANTEZ -SENTZ -SENEY -SELIN -SEITZINGER -SEIDER -SEHR -SEGO -SEGALL -SEEDS -SEBASTIEN -SCIMECA -SCHWENCK -SCHWEISS -SCHWARK -SCHWALBE -SCHUCKER -SCHRONCE -SCHRAG -SCHOUTEN -SCHOPPE -SCHOMAKER -SCHNARR -SCHMIED -SCHMADER -SCHLICHT -SCHLAG -SCHIELD -SCHIANO -SCHEVE -SCHERBARTH -SCHAUMBURG -SCHAUMAN -SCARPINO -SAVINON -SASSAMAN -SARAH -SAPORITO -SANVILLE -SANTILLI -SANTAANA -SANDA -SALZMANN -SALMAN -SAKS -SAGRAVES -SAFRAN -SACCONE -SA -RUTTY -RUSSETT -RUPARD -RUMP -RUMBLEY -RUFFINS -RUACHO -ROZEMA -ROXAS -ROUTSON -ROURK -ROUGHT -ROTUNDA -ROTERMUND -ROSMAN -ROSETTE -RORK -ROOKE -ROLIN -ROHM -ROHLMAN -ROHL -ROESKE -ROECKER -ROBER -ROBENSON -RISO -RINNE -RIMA -RIINA -RIGSBEE -RIGGLES -RIESTER -RIALS -RHINEHARDT -REYNAUD -REYBURN -REWIS -REVERMANN -REUTZEL -RETZ -RENDE -RENDALL -REISTAD -REINDERS -REICHARDT -REHRIG -REHRER -RECENDEZ -REAMY -RAZ -RAULS -RATZ -RATTRAY -RASBAND -RAPONE -RAGLE -RAGINS -RADICAN -RACZKA -RACHELS -RABURN -RABREN -RABOIN -RA -QUESNELL -QUAINTANCE -PUCCINELLI -PRUNER -PROUSE -PROUD -PROSISE -PROFFER -PROCHAZKA -PROBASCO -PREVITE -PRAYER -POUR -PORTELL -PORCHER -POPOCA -PONCHO -POMROY -POMA -POLSKY -POLSGROVE -POLIDORE -PODRAZA -PLYMALE -PLESCIA -PLEAU -PLATTE -PLATO -PIZZI -PINCHON -PICOT -PICCIONE -PICAZO -PHILIBERT -PHEBUS -PFOHL -PETELL -PESSO -PESANTE -PERVIS -PERRINS -PERLEY -PERKEY -PEREIDA -PENATE -PELOSO -PELLERITO -PEFFLEY -PEDDICORD -PECINA -PEALE -PEAKS -PAYETTE -PAXMAN -PAWLIKOWSKI -PAVY -PAVLOV -PATRY -PATMON -PATIL -PATER -PATAK -PASQUA -PASCHE -PARTYKA -PARODY -PARMETER -PARES -PARDI -PAONESSA -PAO -PANOZZO -PANAMENO -PALETTA -PAIT -OYERVIDES -OSSMAN -OSHIMA -ORTLIEB -ORSAK -ORLEANS -ONLEY -ON -OLDROYD -OKANO -OHORA -OFFLEY -OESTREICHER -ODONOVAN -ODHAM -ODEGARD -OBST -OBRIANT -OBRECHT -NUCCIO -NOWLING -NOWDEN -NOVELLI -NOVELL -NOST -NORSTROM -NORFOLK -NORDGREN -NOPPER -NOLLER -NISONGER -NISKANEN -NIENHUIS -NIENABER -NEUWIRTH -NEUMEYER -NEICE -NAUGHER -NAIMAN -NAGAMINE -MUSTIN -MURRIETTA -MURDAUGH -MUNAR -MULBERRY -MUHLBAUER -MROCZKOWSKI -MOWDY -MOUW -MOUSEL -MOUNTCASTLE -MOSCOWITZ -MOSCO -MORRO -MORESI -MORAGO -MOOMAW -MONTROY -MONTPAS -MONTIETH -MONTANARO -MONGELLI -MON -MOLLISON -MOLLETTE -MOLDOVAN -MOHAR -MIZUNO -MITCHELLE -MISHRA -MISENHEIMER -MINSHALL -MINOZZI -MINNIEFIELD -MINION -MILHOUS -MIGLIACCIO -MIGDAL -MICKELL -MEYERING -METHOT -MESTER -MESLER -MERIWEATHER -MENSING -MENSAH -MENGE -MENDOLA -MENDIBLES -MELOCHE -MELNIK -MELLAS -MEINERT -MEHRHOFF -MEDAS -MECKLER -MCTAGUE -MCSPIRIT -MCSHEA -MCQUOWN -MCQUILLER -MCLARNEY -MCKINEY -MCKEARNEY -MCGUYER -MCFARLAN -MCFADYEN -MCDANIAL -MCDANEL -MCCURTIS -MCCROHAN -MCCORRY -MCCLUNE -MCCANT -MCCANNA -MCCANDLISH -MCALOON -MAYALL -MAVER -MAUNE -MATZA -MATTY -MATSUZAKI -MATOTT -MATHEY -MATEOS -MASONER -MASINO -MAS -MARZULLO -MARZ -MARYLAND -MARSOLEK -MARQUARD -MARIO -MARCHETTA -MARBERRY -MANZIONE -MANY -MANTHEI -MANKA -MANGRAM -MANGLE -MANGEL -MANDATO -MANCILLAS -MAMMEN -MALINA -MALETTA -MALECKI -MAJKUT -MAGES -MAESTRE -MACPHAIL -MACO -MACNEILL -MACADAM -LYSIAK -LYNE -LUXTON -LUPTAK -LUNDMARK -LUGINBILL -LOVALLO -LOUTHAN -LOUSTEAU -LOUPE -LOTTI -LOPRESTO -LONSDALE -LONGSWORTH -LOHNES -LOGHRY -LOGEMANN -LOFARO -LOEBER -LOCASTRO -LIVINGS -LITZINGER -LITTS -LIOTTA -LINGARD -LINEBACK -LINDY -LINDHORST -LILL -LIDE -LICKLITER -LIBERMAN -LEWINSKI -LEVANDOWSKI -LEIMBACH -LEIFER -LEIDHOLT -LEIBY -LEIBEL -LEIBEE -LEHRKE -LEHNHERR -LEGO -LEESE -LEEN -LEDO -LECH -LEBLOND -LEAP -LEAHEY -LAZZARI -LAWRANCE -LAWLIS -LAWHORNE -LAWES -LAVIGNA -LAVELL -LAUZIER -LAUTER -LAUMANN -LATSHA -LATOURETTE -LATONA -LATNEY -LASKA -LARNER -LARMORE -LARKE -LARENCE -LAPIER -LANZARIN -LANDS -LAMMEY -LAMKE -LAMINACK -LAMASTUS -LAMASTER -LACEWELL -LABARR -LAABS -KUTCH -KUPER -KUNA -KUBIS -KRZEMIEN -KRUPINSKI -KREPPS -KREEGER -KRANER -KRAMMER -KOUNTZ -KOTHE -KORPELA -KOMARA -KOLENDA -KOLEK -KOHNEN -KOELZER -KOELSCH -KOCUREK -KNOKE -KNAUFF -KNAGGS -KNAB -KLUVER -KLOSE -KLIEN -KLAHR -KITAGAWA -KISSLER -KIRSTEIN -KINNON -KINNEBREW -KINNAMON -KIMMINS -KILGOUR -KILCOYNE -KIESTER -KIEHM -KHA -KESSELRING -KERESTES -KENNISTON -KENNAMORE -KENEBREW -KELDERMAN -KEITEL -KEFAUVER -KATZENBERGER -KATT -KAST -KASSEL -KASEY -KAROL -KAMARA -KALMBACH -KAIZER -KAIWI -KAINZ -JURCZYK -JUMONVILLE -JULIAR -JOURDAIN -JOHNDROW -JOHANNING -JOHANNESEN -JOFFRION -JOBES -JERDE -JENTZSCH -JENKENS -JENDRO -JELLERSON -JEFFERDS -JAURE -JAQUISH -JANEWAY -JAGO -IWASAKI -ISHMAN -ISAZA -INMON -INLOW -INCLAN -ILDEFONSO -IKE -IEZZI -IANNI -IACOVETTO -HYLDAHL -HUXHOLD -HUSER -HUMPHERYS -HUMBURG -HULT -HULLENDER -HULBURT -HUCKABAY -HOWETH -HOVERMALE -HOVEN -HOUTMAN -HOURIGAN -HOSEK -HOPGOOD -HOMRICH -HOLSTINE -HOLSCLAW -HOKAMA -HOFFPAUIR -HOFFNER -HOCHSTEIN -HOCHSTATTER -HOCHBERG -HJELM -HISCOX -HINSLEY -HINKS -HINEMAN -HINELINE -HINCK -HILBUN -HEWINS -HERZING -HERTZBERG -HERTENSTEIN -HERREA -HERINGTON -HERCULES -HENRIE -HENMAN -HENGST -HEMMEN -HELMKE -HELGERSON -HEINSOHN -HEIGL -HEGSTAD -HEGGEN -HEGGE -HEFTI -HEATHCOCK -HAYLETT -HAUPERT -HAUFLER -HATALA -HASLIP -HARTLESS -HARTJE -HARTIS -HARPOLD -HARMSEN -HARBACH -HANTEN -HANINGTON -HAMMEN -HAMEISTER -HALLSTROM -HABERSHAM -HABEGGER -GUSSMAN -GUNDY -GUITTEREZ -GUISINGER -GUILFOYLE -GROULX -GRISMER -GRIESBACH -GRAWE -GRALL -GRAFT -GRABEN -GOULDEN -GORNICK -GORI -GOOKIN -GONZALAZ -GONYER -GONDER -GOLPHIN -GOLLER -GOERGEN -GLOSSON -GLOR -GLADIN -GIRDLER -GILLIM -GILLIANS -GILLASPIE -GILHOOLY -GILDON -GIGNAC -GIBLER -GIBBINS -GIARDINO -GIAMPIETRO -GETTMAN -GERRINGER -GERRALD -GERLICH -GEORGIOU -GEORGIA -GEORGI -GEISELMAN -GEHMAN -GAUZE -GANGL -GAMAGE -GALLIAN -GALLEN -GALLATIN -GALEN -GALEA -GAINOR -GAHR -FURBUSH -FULFER -FUHRMANN -FRITTER -FRIIS -FRIENDLY -FRIEDLY -FREUDENBERGER -FREES -FREEMON -FRATUS -FRANS -FOULKE -FOSLER -FORQUER -FONTAN -FOLWELL -FOLDS -FOELLER -FODGE -FOBES -FLOREK -FLISS -FLIGHT -FLESNER -FLEGEL -FITZLOFF -FISER -FIRST -FIRMIN -FIRESTINE -FINFROCK -FINEBERG -FIGURES -FIEGEL -FICKLING -FESPERMAN -FERNADEZ -FELBER -FEIMSTER -FEAZEL -FAVRE -FAUGHN -FATULA -FASONE -FARRON -FARON -FARINO -FALVEY -FALKENBERG -FALEY -FALETTI -FAETH -FACKRELL -EZEKIEL -ESPE -ESKOLA -ESCOTT -ESAW -ERPS -ERKER -ERATH -ENFIELD -EMFINGER -EMBURY -EMBLETON -EMANUELE -EM -ELVERS -ELLWANGER -ELLEGOOD -EINSTEIN -EICHINGER -EGGE -EGELAND -EDGETT -ECHARD -EBLEN -EASTMOND -DUTEAU -DURLAND -DURE -DUNLAVY -DUNGEE -DUKETTE -DUGAY -DUBOISE -DUBEY -DSOUZA -DRUCK -DRALLE -DOUBEK -DORTA -DORCH -DORCE -DOPSON -DOLNEY -DOCKTER -DISTLER -DISS -DIPPEL -DIPERNA -DINA -DICHIARA -DICERBO -DEWINDT -DEWAN -DEVENEY -DEVARGAS -DEUTSCHER -DEUEL -DETTER -DESS -DERRINGTON -DEROBERTS -DERN -DEPONTE -DENOGEAN -DENARDI -DENARD -DEMARY -DEMARCUS -DEMARAIS -DELUCAS -DELOE -DELMONICO -DELISI -DELIO -DELDUCA -DELAINE -DEIHL -DEHMER -DEEP -DECOSTE -DECHICK -DECATUR -DEC -DEBRUCE -DEBOLD -DEBELL -DEATS -DAUNT -DAQUILANTE -DAMBROSI -DAMAS -DALIN -DAISY -DAHMAN -DAHLEM -DAFFIN -DACQUEL -CUTRELL -CUSANO -CURTNER -CURRENS -CURNOW -CUPPETT -CUMMISKEY -CULLERS -CULHANE -CRULL -CROSSIN -CROPSEY -CROMIE -CROFFORD -CRISCUOLO -CRISAFULLI -CREGO -CREEDEN -COVELLO -COVEL -CORSE -CORRERA -CORNERS -CORDNER -CORDIER -COPLEN -COPEMAN -CONTINI -CONTERAS -CONSALVO -CONDUFF -CONDO -COMPHER -COMAS -COLLIVER -COLAN -COHILL -COHENOUR -COGLIANO -CODD -COCKAYNE -CLUM -CLOWDUS -CLARIDA -CLANCE -CLAIRDAY -CLAGG -CITRON -CITINO -CIRIELLO -CICCIARELLI -CHROSTOWSKI -CHRISTLEY -CHRISTIANS -CHRISCO -CHRIS -CHREST -CHISLER -CHIEFFO -CHERNE -CHERICO -CHERIAN -CHEIRS -CHAUHAN -CHARTER -CHAMBLIN -CERRA -CEPERO -CELLINI -CELIA -CELESTE -CELEDON -CEJKA -CAVAGNARO -CAUFFMAN -CATANESE -CASTRILLO -CASTRELLON -CASSERLY -CASINO -CASERES -CARTHEN -CARSE -CARRAGHER -CARPENTIERI -CARMONY -CARMER -CARLOZZI -CARADINE -CAPPOLA -CAPECE -CAPALDI -CANTRES -CANTOS -CANEVARI -CANETE -CALCATERRA -CAL -CADIGAN -CABBELL -BYRN -BYKOWSKI -BUTCHKO -BUSLER -BUSHAW -BUSCHMANN -BUROW -BURI -BURGMAN -BUNSELMEYER -BUNNING -BUHRMAN -BUDNICK -BUCKSON -BUCKHANNON -BRUNJES -BRUMMEL -BRUMLEVE -BRUCKMAN -BROUHARD -BROUGHAM -BROSTROM -BROERMAN -BROCKS -BRISON -BRINING -BRINDISI -BRERETON -BREON -BREITLING -BREEDON -BRASSEAUX -BRANAMAN -BRAMON -BRACKENRIDGE -BOYAN -BOXLEY -BOUMAN -BOUILLION -BOTTING -BOTTI -BOSSHART -BORUP -BORNER -BORDONARO -BOOT -BONSIGNORE -BONSALL -BOLTER -BOJKO -BOHNE -BOHLMANN -BOGUS -BOGDON -BOEN -BODENSCHATZ -BOCKOVEN -BOBROW -BLONDIN -BLISSETT -BLIGEN -BLASINI -BLANKENBURG -BJORKMAN -BISTLINE -BISSET -BIRDOW -BIONDOLILLO -BIELSKI -BIELE -BIDDIX -BIDDINGER -BIANCHINI -BEVENS -BEVARD -BETANCUR -BERNSKOETTER -BERNET -BERNARDEZ -BERLINER -BERLAND -BERKHEIMER -BERENT -BENSCH -BENESCH -BELLEAU -BEDINGFIELD -BECKSTROM -BECKIM -BECHLER -BEACHLER -BAZZELL -BASA -BARTOSZEK -BARSCH -BARRELL -BARNAS -BARNABA -BARILLAS -BARBIER -BALTODANO -BALTIERRA -BALLE -BALINT -BALDI -BALDERSON -BALDERAMA -BALDAUF -BALCAZAR -BALAY -BAIZ -BAIROS -BABA -AZIM -AXE -AVERSA -AVELLANEDA -AUSBURN -AURELIO -AUILA -AUGUSTO -ATWILL -ARTILES -ARTERBERRY -ARO -ARNOW -ARNAUD -ARNALL -ARMANDO -ARGYLE -ARES -ARENZ -ARDUINI -ARCHILA -ARAKAWA -APPLEMAN -APLIN -ANTONINI -ANSTEY -ANGLEN -ANDROS -AMWEG -AMSTUTZ -AMARI -AMADEO -ALY -ALTERI -ALOI -ALLEBACH -ALLAH -ALEY -ALAMILLO -AIRHART -AHRENDT -AFRICA -AEGERTER -ADRAGNA -ADMAS -ADDERLY -ADDERLEY -ADDAIR -ABELAR -ABBAMONTE -ABADI -ZUREK -ZUNDEL -ZUIDEMA -ZUELKE -ZUCK -ZOGG -ZODY -ZETS -ZECH -ZECCA -ZAVALETA -ZARR -YOUSIF -YOES -YOAST -YEAGLEY -YANEY -YANDA -YACKEL -WYLES -WYKE -WOOLMAN -WOOLLARD -WOODIS -WOODIN -WONDERLY -WOMBLES -WOLOSZYN -WOLLAM -WNEK -WMS -WITTIE -WITHEE -WISSMAN -WISHAM -WINTLE -WINTHROP -WINOKUR -WINCH -WILMARTH -WILLHOITE -WILDNER -WIKEL -WIESER -WIEN -WICKE -WIATREK -WHITEHALL -WHETSTINE -WHEELUS -WEYRAUCH -WEYERS -WESTERLING -WENDELKEN -WELNER -WELDER -WEINREB -WEINHEIMER -WEILBACHER -WEIHE -WEIDER -WECKER -WEAD -WATLER -WATKINSON -WASMER -WASKIEWICZ -WASIK -WARNEKE -WARES -WANGERIN -WAMBLE -WALKEN -WAKER -WAKELEY -WAHLGREN -WAHLBERG -WAGLER -WACHOB -VORHIES -VONSEGGERN -VITTITOW -VIRGILIO -VINK -VILLARRUEL -VILLAMIL -VILLAMAR -VILLALOVOS -VIDMAR -VICTORERO -VESPA -VERTREES -VERISSIMO -VELTMAN -VECCHIONE -VEALS -VARRONE -VARMA -VANVEEN -VANTERPOOL -VANECK -VANDYCK -VANCISE -VANAUSDAL -VANALPHEN -VALDIVIEZO -URTON -UREY -UPDEGROVE -UNRUE -ULBRICH -TYSINGER -TYO -TWIDDY -TUNSON -TRUEHEART -TROYAN -TRIER -TRAWEEK -TRAFFORD -TOZZI -TOULOUSE -TOUCH -TOSTO -TOSTE -TOREZ -TOOKE -TONINI -TONGE -TOMERLIN -TOLMIE -TOBE -TIPPEN -TIERNO -TICHY -THUSS -THREAT -THRAN -THORNBURY -THONE -THEUNISSEN -THELMON -THEALL -TEXTOR -TETERS -TESH -TENNIS -TENG -TENCH -TEKAUTZ -TEHRANI -TEAT -TEAS -TEARE -TE -TAVENNER -TARTAGLIONE -TANSKI -TANIS -TANGUMA -TANGEMAN -TANEY -TAMMEN -TAMBURRI -TAMBURELLO -TALSMA -TALLIE -TAKEDA -TAIRA -TAHERI -TADEMY -TADDEI -TAAFFE -SZYMCZAK -SZCZEPANIAK -SZAFRANSKI -SWYGERT -SWEM -SWARTZLANDER -SUTLEY -SUPERNAW -SUNDELL -SULLIVANT -SUDERMAN -SUDBURY -SUARES -STUEBER -STROMME -STRIKER -STREEPER -STRECK -STREBE -STONEHOUSE -STOIA -STOHR -STODGHILL -STIREWALT -STICK -STERRY -STEPHANIE -STENSTROM -STENE -STEINBRECHER -STEAR -STDENIS -STANPHILL -STANISZEWSKI -STANARD -STAHLHUT -STACHOWICZ -SRIVASTAVA -SPONG -SPOMER -SPINOSA -SPINDEL -SPERA -SPARK -SOWARD -SOPP -SOOTER -SONNEK -SONNE -SOLAND -SOJOURNER -SOEDER -SOBOLEWSKI -SNELLINGS -SNARE -SMOLA -SMETANA -SMEAL -SMARR -SLOMA -SLIGAR -SKENANDORE -SKALSKY -SITTER -SISSOM -SIRKO -SIMKIN -SILVERTHORN -SILMAN -SIKKINK -SIGNORILE -SIDDENS -SHUMSKY -SHRIDER -SHOULTA -SHONK -SHOMAKER -SHIPPEY -SHIMADA -SHILLINGBURG -SHIFFLET -SHIELS -SHEPHEARD -SHEERIN -SHEDDEN -SHECKLES -SHARRIEFF -SHARPLEY -SHAPPELL -SHANEYFELT -SHAMPINE -SHAEFER -SHADDOCK -SHADD -SFORZA -SEVERTSON -SETZLER -SEPICH -SENNE -SENATORE -SEMENTILLI -SELWAY -SELOVER -SELLICK -SEIGWORTH -SEFTON -SEEGARS -SEBOURN -SEAQUIST -SEALOCK -SEABREEZE -SCRIVER -SCINTO -SCHUMER -SCHULKE -SCHRYVER -SCHRINER -SCHRAMEK -SCHOON -SCHOOLFIELD -SCHONBERGER -SCHNIEDER -SCHNIDER -SCHLITZ -SCHLATHER -SCHIRTZINGER -SCHERMAN -SCHENKER -SCHEINER -SCHEIBLE -SCHAUS -SCHAKEL -SCHAAD -SAXE -SAVELY -SAVARY -SARDINAS -SANTARELLI -SANSCHAGRIN -SANS -SANPEDRO -SANJOSE -SANDRA -SANDINE -SANDIGO -SANDGREN -SANDERFORD -SANDAHL -SALZWEDEL -SALZAR -SALVINO -SALVATIERRA -SALMINEN -SALIERNO -SALBERG -SAHAGUN -SAELEE -SABEL -RYNEARSON -RYKER -RUPPRECHT -RUNQUIST -RUMRILL -RUHNKE -ROVIRA -ROTTENBERG -ROSOFF -ROSETE -ROSEBROUGH -ROPPOLO -ROOPE -ROMAS -ROLEY -ROHRBACK -ROHLFS -ROGRIGUEZ -ROEL -RODRIGUIZ -RODEWALD -ROBACK -RIZOR -RITT -RIPPEE -RIOLO -RINKENBERGER -RIGGSBY -RIGEL -RIEMAN -RIEDESEL -RIDEAU -RICKE -RHINEBOLT -RHEAULT -REVAK -RELFORD -REINSMITH -REICHMANN -REI -REGULA -REDLINGER -REDHEAD -RAYNO -RAYCROFT -RAVE -RAUS -RAUPP -RATHMANN -RASTORFER -RASEY -RAPONI -RANTZ -RANNO -RANES -RANDAL -RAMP -RAMNAUTH -RAHAL -RADDATZ -QUATTROCCHI -QUANG -PURCHASE -PULLIS -PULANCO -PRYDE -PROHASKA -PRIMIANO -PREZ -PREVATT -PRECHTL -POTTLE -POTENZA -PORTES -POROWSKI -POPPLETON -PONTILLO -PONG -POLKA -POLITZ -POLITI -POGGI -PLONKA -PLASKETT -PLACZEK -PIZZUTI -PIZZARO -PISCIOTTA -PIPPENS -PINKINS -PINILLA -PINI -PINGITORE -PIERCEY -PICKUP -PICCOLA -PICCIONI -PICCIANO -PHY -PHILPS -PHILP -PHILO -PHILMON -PHILBIN -PFLIEGER -PEZZULLO -PETRUSO -PETREA -PETITTI -PETH -PESHLAKAI -PESCHEL -PERSICO -PERSICHETTI -PERSECHINO -PERRIS -PERLOW -PERICO -PERGOLA -PENNISTON -PEMBROKE -PELLMAN -PEKAREK -PEIRSON -PEARCEY -PEALER -PAVLICEK -PASSINO -PASQUARELLO -PASION -PARZYCH -PARZIALE -PARGA -PAPALIA -PAPADAKIS -PAINO -PACINI -OYEN -OWNES -OWCZARZAK -OUTLEY -OUELETTE -OTTOSEN -OTTING -OSTWINKLE -OSMENT -OSHITA -OSARIO -ORLOW -ORIORDAN -OREFICE -ORANTES -ORAN -ORAHOOD -OPEL -OLPIN -OLIVERIA -OKON -OKERLUND -OKAZAKI -OHTA -OFFERMAN -NYCE -NUTALL -NORTHEY -NORCIA -NOOR -NOH -NIEHOFF -NIEDERHAUSER -NICKOLSON -NGUY -NEYLON -NEWSTROM -NEVILL -NETZ -NESSELRODT -NEMES -NEALLY -NAUYEN -NASCIMENTO -NARDELLA -NANNI -MYREN -MURCHINSON -MUNTER -MUNSTER -MUNDSCHENK -MUJALLI -MUCKLEROY -MU -MOUSSA -MOURET -MOULDS -MOTTRAM -MOTTE -MOSEY -MORRE -MONTREUIL -MONTON -MONTELLANO -MONNINGER -MONHOLLEN -MONGEON -MONESTIME -MONEGRO -MONDESIR -MONCEAUX -MOLA -MOGA -MOENING -MOCCIA -MISKO -MISKE -MISHAW -MINTURN -MINGIONE -MINERVA -MILSTEIN -MILOS -MILLA -MILKS -MILHOUSE -MICHL -MICHELETTI -MICHALS -MESIA -MERSON -MERAS -MENIFEE -MELUSO -MELLA -MELICK -MEHLMAN -MEFFERT -MEDOZA -MECUM -MEAKER -MEAHL -MCZEAL -MCWATTERS -MCOMBER -MCMONIGLE -MCKIDDY -MCGRANOR -MCGEARY -MCGAW -MCENERY -MCELDERRY -MCDUFFEY -MCCUISTION -MCCRUDDEN -MCCROSSIN -MCCOSH -MCCOLGAN -MCCLISH -MCCLENAHAN -MCCLAM -MCCARTT -MCCARRELL -MCBANE -MC -MAYBURY -MAYBEN -MAW -MAULDEN -MAUCERI -MATKO -MATHIE -MATHEIS -MATHAI -MASUCCI -MASSIAH -MARTORANO -MARTNEZ -MARTINDELCAMP -MARSCHKE -MAROVICH -MARKIEWICZ -MARINACCIO -MARHEFKA -MARCRUM -MANTON -MANTEL -MANNARINO -MANLOVE -MANGHAM -MANASCO -MALPICA -MALLERNEE -MALINSKY -MALHOTRA -MAISH -MAISEL -MAINVILLE -MAHARREY -MAGID -MAERTZ -MADA -MACLAUGHLIN -MACINA -MACDERMOTT -MACALLISTER -MACADANGDANG -MAACK -LYNK -LYDIC -LUYANDO -LUTKE -LUPINACCI -LUNZ -LUNDSTEN -LULL -LUJANO -LUHN -LUECKE -LUEBBE -LUDOLPH -LUCKMAN -LUCKER -LUCKENBILL -LUCKENBACH -LUCIDO -LOWNEY -LOWITZ -LOVAGLIO -LOURO -LOUK -LOUDY -LOUDERBACK -LORICK -LORENZINI -LORENSEN -LORENC -LOMUSCIO -LOGUIDICE -LOCKNER -LOCKART -LOCHRIDGE -LITAKER -LISOWE -LIPTRAP -LINNANE -LINHARES -LINDFORS -LINDENMUTH -LINCOURT -LINA -LIKE -LIEW -LIES -LIEBOWITZ -LEVENGOOD -LESKOVEC -LESCH -LEONI -LENNARD -LEGNER -LEASER -LEAS -LEAN -LEADINGHAM -LAZARSKI -LAYLAND -LAURITO -LAULU -LAUGHNER -LAUGHMAN -LAUGHERY -LAUBE -LATIOLAIS -LASSERRE -LASSER -LARS -LARROW -LARREA -LAPSLEY -LANTRIP -LANTHIER -LANGWELL -LANGELIER -LANDAKER -LAMPI -LAMOND -LAMBLIN -LAMBIE -LAKINS -LAIPPLE -LAGRIMAS -LAFRANCOIS -LAFFITTE -LADAY -LACKO -LACAVA -LABOR -LABIANCA -KUTSCH -KUSKE -KUNERT -KUBLY -KUAMOO -KRUMMEL -KRISE -KRENEK -KREISER -KRAUSZ -KRASKA -KRAKOWSKI -KRADEL -KOZIK -KOZA -KOTOWSKI -KOSLOW -KORBER -KOJIMA -KOCHEL -KNABJIAN -KLUNDER -KLUGH -KLINKHAMMER -KLIEWER -KLEVER -KLEBER -KLAGES -KLAAS -KIZZIAR -KITCHEL -KISHIMOTO -KIRSCHENMAN -KIRSCHENBAUM -KINNICK -KINN -KINKLE -KINER -KINDLA -KINDALL -KINCAIDE -KILSON -KILLINS -KILL -KIGHTLINGER -KIENZLE -KIAH -KHIM -KETCHERSIDE -KERL -KELSOE -KELKER -KEIZER -KEIR -KEEPERS -KAWANO -KAWA -KAVENEY -KATH -KASPAREK -KAPLOWITZ -KANTROWITZ -KANT -KANOFF -KANO -KANN -KAMALII -KALT -KALETA -KALBACH -KALAULI -KALATA -KALAS -KAIGLER -KACHEL -JURAN -JUBB -JONKER -JONKE -JOLIVETTE -JOLES -JOAS -JIVIDEN -JEWEL -JEFFUS -JEANTY -JARVI -JARDON -JANVIER -JANOSKO -JANOSKI -JANISZEWSKI -JANISH -JANEK -IWANSKI -IULIANO -ISABELLA -IRLE -INGMIRE -IMBER -IJAMES -IIAMS -IHRIG -ICHIKAWA -HYNUM -HUTZEL -HUTTS -HUSKIN -HUSAK -HURNDON -HUNTSINGER -HUMM -HULETTE -HUITRON -HUGUENIN -HUGG -HUGEE -HUELSKAMP -HUCH -HOWEN -HOVANEC -HOSTON -HOSTETTLER -HORSFALL -HORODYSKI -HOLZHAUER -HOLLIMON -HOLLENDER -HOGARTH -HOFFELMEYER -HISTAND -HISSEM -HISEL -HIRAYAMA -HINEGARDNER -HINDE -HINCHCLIFFE -HILTBRAND -HILSINGER -HILLSTROM -HILEY -HICKENBOTTOM -HICKAM -HIBLEY -HEYING -HEWSON -HETLAND -HERSCH -HERLONG -HERDA -HENZEL -HENSHALL -HENDLER -HENCE -HELSON -HELFEN -HEINBACH -HEIKKILA -HEGGS -HEFFERON -HEBARD -HEATHCOTE -HEARL -HEABERLIN -HAUTH -HAUSCHILD -HAUGHNEY -HAUCH -HATTORI -HASTE -HASLEY -HARTPENCE -HARROUN -HARRIER -HARELSON -HARDGROVE -HARDEL -HANSBROUGH -HANDSOME -HANDSHOE -HANDLY -HALUSKA -HALLY -HALLING -HALFHILL -HALFERTY -HAKANSON -HAIST -HAIRGROVE -HAHNER -HAGG -HAFELE -HAALAND -GUTTIEREZ -GUTKNECHT -GUNNARSON -GUNLOCK -GUMMERSHEIMER -GULLATTE -GUITY -GUILMETTE -GUHL -GUENETTE -GUARDINO -GROSHONG -GROBER -GRIPP -GRILLOT -GRILLI -GREULICH -GRETZINGER -GREENWALDT -GRAVEN -GRASSMAN -GRANBERG -GRAESER -GRAEFF -GRAEF -GRABOW -GRABAU -GOTCHY -GOSWICK -GOSA -GORDINEER -GORCZYCA -GOODCHILD -GOLZ -GOLLIHUE -GOLDWIRE -GOLDBACH -GOFFREDO -GLASSBURN -GLAESER -GILLILAN -GIGANTE -GIERE -GIEGER -GIDCUMB -GIARRUSSO -GIANNELLI -GETTLE -GESUALDI -GESCHKE -GERWIG -GERVASE -GEOFFRION -GENTILCORE -GENTHER -GEMES -GEMBERLING -GELLES -GEITZ -GEESLIN -GEDNEY -GEBAUER -GAYE -GAWRON -GAVIA -GAUTNEY -GAUSTAD -GASMEN -GARGUS -GANSKE -GANGER -GALVIS -GALLINGER -GALLICHIO -GALLETTA -GAEDE -GADLIN -GABY -GABRIELSEN -GABORIAULT -FURLAN -FURGERSON -FUJIOKA -FUGETT -FUEHRER -FRISCO -FRINT -FRIGON -FREVERT -FRAUTSCHI -FRAKER -FRADETTE -FOULKES -FORSLUND -FORNI -FOO -FONTENETTE -FONES -FOLZ -FOLMER -FOLLMAN -FOLKMAN -FLOURNEY -FLICKNER -FLEMMINGS -FLEISCHACKER -FLANDER -FLAMENT -FITHIAN -FISTER -FIORELLO -FIORELLI -FIORAVANTI -FIECK -FICKE -FIALLOS -FIACCO -FEUER -FERRINGTON -FERNHOLZ -FERIA -FERGURSON -FEICK -FEBLES -FAVILA -FAULKINGHAM -FATH -FARNAM -FALTER -FAKHOURI -FAIRHURST -FAILING -FAHS -EVA -ESTRELLO -ESSICK -ESPREE -ESMOND -ESKELSON -ESCUE -ESCATEL -EREBIA -EPPERLEY -EPLER -ENYART -ENGELBERT -ENDERSON -EMMITT -EMCH -ELISONDO -ELI -ELFORD -EL -EKMAN -EICK -EICHMANN -EHRICH -EHLEN -EDWARDSON -EDLEY -EDGHILL -EDEL -EASTES -EASTERBROOKS -EAGLESON -EAGEN -EADE -DYLE -DUTKIEWICZ -DUNNAGAN -DUNCIL -DULING -DRUMGOOLE -DRONEY -DREYFUS -DRAGAN -DOWTY -DOSCHER -DORNAN -DOREMUS -DOOGAN -DONAHO -DONAHEY -DOMBKOWSKI -DOLTON -DOLEN -DOBRATZ -DIVELEY -DITTEMORE -DITSCH -DISQUE -DISHMON -DISCH -DIRICKSON -DIPPOLITO -DIMUCCIO -DILGER -DIEFENDERFER -DICOLA -DIBLASIO -DIBELLO -DEVAN -DETTMER -DESCHNER -DESBIENS -DERUSHA -DENKINS -DEMONBREUN -DEMCHAK -DELUCCHI -DELPRETE -DELOY -DELIZ -DELINE -DELAP -DEITER -DEIGNAN -DEGIACOMO -DEGAETANO -DEFUSCO -DEDE -DEBOARD -DEBIASE -DEAVILLE -DEADWYLER -DAVANZO -DAUGHTON -DARTER -DARRIN -DANSER -DANDRADE -DANDO -DAMPEER -DALZIEL -DALEN -DAIN -DAI -DAGUE -CZEKANSKI -CUTWRIGHT -CUTLIFF -CURLE -CUOZZO -CUNNINGTON -CUNNING -CUNNIGHAM -CUMINGS -CROWSTON -CROAK -CRITTLE -CRISPELL -CRISOSTOMO -CREAR -CREACH -CRAIGUE -CRABBS -COZZI -COZZA -COXE -COWSERT -COVIELLO -COUSE -COULL -COTTIER -COSTAGLIOLA -CORRA -CORPENING -CORMANY -CORLESS -CORKERN -CONTEH -CONQUEST -CONKEY -CONES -CONDITT -CONATY -COLOMB -COLLURA -COLLEDGE -COLINS -COLGATE -COLESON -COLEMON -COINS -COFFLAND -COCCIA -COAST -CLOUGHERTY -CLEWELL -CLECKLEY -CLEAVELAND -CLARNO -CLAMP -CIVILS -CILLO -CIFELLI -CIESLUK -CHUM -CHUI -CHRISTISON -CHRISTIANA -CHOWNING -CHOUTEAU -CHOUNG -CHILDRES -CHERRINGTON -CHENETTE -CHEEVES -CHEAIRS -CHADDOCK -CERNOCH -CERINO -CAZIER -CATHY -CASTEL -CASSELBERRY -CASERTA -CARVEY -CARTON -CART -CARRY -CARRIS -CARRIE -CARMANT -CARIELLO -CARDARELLI -CARAS -CARACCIOLO -CAPITANO -CANTONI -CANTAVE -CANCIO -CAMPILLO -CAM -CALLENS -CALDERO -CALAMIA -CAHEE -CAHAN -CAHALAN -CABANILLA -CABAL -BYWATER -BYNES -BYASSEE -BUTKUS -BUSKER -BUSHBY -BUSACK -BURTIS -BURROLA -BUROKER -BURNIAS -BURN -BURLOCK -BURHAM -BURAK -BULLA -BUFFIN -BUFFA -BUENING -BUDNEY -BUCHANNAN -BUCHALTER -BUA -BRULE -BRUGLER -BROXSON -BROUN -BROSH -BRISSEY -BRISBY -BRINLEE -BRINKMEYER -BRIMLEY -BRICKELL -BRETH -BREGER -BREES -BRANK -BRAKER -BOZAK -BOWLDS -BOWERSOCK -BOUSMAN -BOUSHIE -BOTZ -BORDWELL -BONKOWSKI -BONINE -BONIFAY -BONESTEEL -BOLDIN -BOHRINGER -BOHLANDER -BOECKER -BOCOOK -BOCOCK -BOBLETT -BOBBETT -BOAS -BOARMAN -BLESER -BLAZEJEWSKI -BLAUSTEIN -BLAUSEY -BLANCARTE -BLAIZE -BLACKSON -BLACKETER -BLACKARD -BISCH -BIRCHETT -BILLA -BILDER -BIERNER -BIENVENU -BIELINSKI -BIALAS -BIAGINI -BEYNON -BEYL -BETTINI -BETHANY -BETCHER -BESSENT -BESHARA -BESCH -BERND -BERGEMANN -BERGEAUX -BERDAN -BENS -BENEDICTO -BENDALL -BELTRON -BELTRAM -BELLVILLE -BEISCH -BEHNEY -BEEMER -BEECHLER -BECKUM -BECKS -BATZER -BATTE -BASTIDA -BASSETTE -BASLEY -BASE -BARTOSH -BARTOLONE -BARRACLOUGH -BARNICK -BARKET -BARKDOLL -BARINGER -BARGES -BARELLA -BARBIAN -BARBATI -BANNAN -BANDERAS -BALLES -BALDO -BALASUBRAMANI -BALA -BAIG -BAHN -BACHMEIER -BABYAK -BAAS -BAARS -AYUSO -AXT -AVINGER -AVELLA -AUSBROOKS -AULL -AUGELLO -ATKESON -ATKERSON -ATHERLEY -ATHAN -ASSAD -ASEBEDO -ARRISON -ARMON -ARMFIELD -ARMBRUST -ARLINGTON -ARKIN -ARCHAMBEAU -ANTONELLIS -ANGOTTI -ANDY -AMOROSE -AMINI -AMBORN -AMANO -ALUAREZ -ALMA -ALLGAIER -ALLEGOOD -ALES -ALEN -ALDAMA -ALBERTINE -AKI -AIRD -AHSING -AHMANN -AGUADO -AGOSTINO -AGOSTINELLI -AGNES -ADWELL -ADSIT -ADELSTEIN -ADE -ACTIS -ACIERNO -ACHEE -ABBS -ABBITT -ZWAGERMAN -ZUERCHER -ZINNO -ZETTLER -ZEFF -ZAVALZA -ZAUGG -ZARZYCKI -ZAPPULLA -ZANOTTI -ZACHMAN -ZACHER -YUNDT -YSLAS -YOUNES -YONTZ -YGLESIAS -YESKE -YELLOW -YEARGIN -YAUGER -YAMANE -XANG -WYLAM -WROBLESKI -WRATCHFORD -WORKER -WOODLEE -WOLSEY -WOLFINBARGER -WOHLENHAUS -WITTLER -WITTENMYER -WITKOP -WISHMAN -WINTZ -WINKELMANN -WINDUS -WINBORN -WIMS -WILTROUT -WILSHIRE -WILLMOTT -WILLISTON -WILEMON -WILBOURNE -WIEDYK -WIDMANN -WICKLAND -WICKES -WICHERT -WHITSELL -WHISENAND -WHIDBY -WETZ -WESTMEYER -WERTHEIM -WERNERT -WERLE -WERKHEISER -WENG -WELDIN -WEISSENBORN -WEINGARD -WEINFELD -WEIHL -WEIGHTMAN -WEICHEL -WEHRHEIM -WEGRZYN -WEGMANN -WEARING -WASZAK -WANKUM -WANGLER -WALTHOUR -WALTERMIRE -WALSTAD -WALDREN -WALBERT -WALAWENDER -WAHLUND -WAHLERT -WAHLERS -WACH -VUNCANNON -VROOM -VREDENBURGH -VONK -VOLLMAR -VOISINET -VLAHOS -VISCARDI -VIRES -VIPPERMAN -VIOLANTE -VIDRO -VESSEY -VESPER -VERON -VERGARI -VERBECK -VENTURINO -VELASTEGUI -VEGTER -VARAS -VANWEY -VANVRANKEN -VANVALKENBUR -VANORSDALE -VANOLI -VANOCHTEN -VANIER -VANEVERY -VANE -VANDUSER -VANDERSTEEN -VANDELL -VANDALL -VALLOT -VALLON -VALLEZ -VALLELY -VADENAIS -UTHE -USERY -UNGA -ULTSCH -ULLOM -TYMINSKI -TWOGOOD -TURSI -TURAY -TUNGATE -TRUXILLO -TRULOCK -TROVATO -TROISE -TRIPI -TRINKS -TRIMBOLI -TRICKEL -TREZISE -TREFRY -TREEN -TREBILCOCK -TRAVIESO -TRACHTENBERG -TOUHEY -TOUGAS -TORTORELLA -TORMEY -TORELLI -TORBORG -TORAN -TOMEK -TOMASSI -TOLLERSON -TOLDEN -TODA -TOBON -TJELMELAND -TITMUS -TILBURY -TIETJE -THURNER -THUM -THROPE -THORNBROUGH -THIBAUDEAU -THACKERAY -TESORO -TERRITO -TERNES -TEICH -TECSON -TEATER -TEAGARDEN -TATSCH -TARALLO -TAPANES -TANBERG -TAMM -SYLVIS -SWENOR -SWEDLUND -SWAGGER -SUTFIN -SURA -SUNDT -SUNDIN -SUMMERSON -SUMATZKUKU -SULTEMEIER -SULIVAN -SUGGITT -SUERMANN -STURKIE -STURGESS -STUMPH -STUEMKE -STRUCKHOFF -STROSE -STRODER -STRIDE -STRICKLEN -STRICK -STREIB -STREI -STRAWTHER -STRATIS -STRAHM -STORTZ -STORRER -STORINO -STOHLER -STOHL -STOCKEL -STINNETTE -STILE -STIEBER -STENSLAND -STEFFENHAGEN -STEFANOWICZ -STEEVER -STEAGALL -STATUM -STAPLEY -STANISH -STANDIFORD -STANDEN -STAMOS -STAHLECKER -STADTLER -SPRATLEY -SPRAKER -SPOSITO -SPICKARD -SPEHAR -SPEES -SPEARING -SPANGLE -SPALLONE -SOX -SOULARD -SOREL -SORA -SOPKO -SOOD -SONNEN -SOM -SOLLY -SOLESBEE -SOLDANO -SOBEY -SOBCZYK -SNEDEGAR -SNEDDON -SMOLINSKI -SMOLIK -SLOTA -SLOMAN -SLEIGH -SLAVICK -SKORUPSKI -SKOLNIK -SKIRVIN -SKEELS -SKAINS -SKAHAN -SKAAR -SIWIEC -SIVERLY -SIVER -SIVAK -SIRK -SINTON -SINOR -SINCELL -SILBERSTEIN -SIEMINSKI -SIDELINGER -SHURMAN -SHUNNARAH -SHIRER -SHIDLER -SHERLIN -SHEPPERSON -SHEMANSKI -SHARUM -SHARTRAND -SHAPARD -SHANAFELT -SHAMP -SHADER -SHACKELTON -SEYER -SEROKA -SERNAS -SERIGHT -SERANO -SENGUPTA -SEMPER -SELINGER -SEITH -SEIDLER -SEEHUSEN -SEEFRIED -SEED -SCOVELL -SCORZELLI -SCONIERS -SCHWIND -SCHWICHTENBER -SCHWERIN -SCHWENKE -SCHWADERER -SCHUSSLER -SCHUNEMAN -SCHUMPERT -SCHULTHEISS -SCHROLL -SCHROEPFER -SCHROEDEN -SCHRIMPF -SCHOOK -SCHOOF -SCHOMBURG -SCHOENFELDT -SCHOENER -SCHNOOR -SCHMICK -SCHLERETH -SCHINDELE -SCHILDT -SCHILDKNECHT -SCHEMMEL -SCHARFENBERG -SCHANNO -SCHANE -SCHAER -SCHAD -SCEARCE -SCARDINO -SAWKA -SAWINSKI -SAVOCA -SAVERY -SAULTS -SAUCER -SARPY -SARIS -SARDINHA -SARAFIN -SANKAR -SANJURJO -SANDERFER -SANAGUSTIN -SAMUDIO -SAMMARTINO -SAMAS -SALZ -SALMEN -SALLIE -SALKELD -SALAMON -SAKURAI -SAKODA -SAFLEY -SADA -SACHSE -RYDEN -RYBACK -RUSSOW -RUSSEY -RUPRECHT -RUMPLE -RUFFINI -RUDZINSKI -RUDEL -RUDDEN -RUD -ROVERO -ROUTLEDGE -ROUSSIN -ROUSSE -ROUSER -ROUGEAU -ROSIE -ROSICA -ROMEY -ROMANIELLO -ROLFS -ROGOFF -ROGNE -RODRIQUZ -RODREQUEZ -RODIN -ROCRAY -ROCKE -ROBBIN -RIVIERE -RIVETTE -RISKE -RISENHOOVER -RINDFLEISCH -RINAUDO -RIMBEY -RIHA -RIGHI -RIDNER -RIDLING -RIDEN -RHUE -REYOME -REYNOLDSON -REUSCH -RENSING -RENSCH -RENNELS -RENDEROS -REININGER -REINERS -REIGEL -REHMER -REGIER -REFF -REEF -REDLIN -RECCHIA -REAUME -REAGOR -RAYNE -RAWE -RATTIGAN -RASKA -RASHED -RANTA -RANFT -RANDLETT -RANDA -RAMIEZ -RAMELLA -RALLIS -RAJAN -RAISBECK -RAIMONDO -RAIBLE -RAGONE -RACKLIFFE -QUIRINO -QUIRING -QUERO -QUAIFE -PYKE -PURUGGANAN -PURSIFULL -PURKETT -PURDON -PUNCHES -PUN -PULOS -PULLING -PUCCIA -PROVANCE -PROPPER -PREIS -PREHN -PRATA -PRASEK -PRANGER -PRADIER -PORTOR -PORTLEY -PORTE -POPIEL -POPESCU -POMALES -POLOWY -POLLETT -POLITIS -POLIT -POLEY -POL -POHLER -POGGIO -POET -PODOLAK -POAG -PLYMEL -PLOEGER -PLANTY -PISKURA -PIRRONE -PIRRO -PIROSO -PINSKY -PILE -PILANT -PICKERILL -PICCOLOMINI -PICART -PIASCIK -PHANN -PETRUZZELLI -PETOSA -PERSSON -PERRETTA -PERKOWSKI -PERILLI -PERCIFIELD -PERAULT -PEPPEL -PEMBER -PELOTTE -PELCHER -PEIXOTO -PEHL -PEATROSS -PEARLSTEIN -PEACHER -PAYDEN -PAYA -PAWELEK -PAVEY -PAUDA -PATHAK -PARRILLO -PARNESS -PARLEE -PAOLI -PANNEBAKER -PALOMAR -PALO -PALMBERG -PAGANELLI -PAFFRATH -PADOVANO -PADDEN -PACHUCKI -OVER -OVANDO -OTHMAN -OSOWSKI -OSLER -OSIKA -ORSBURN -ORLOWSKY -OREGEL -OPPELT -OPFER -OPDYKE -ONELL -OMER -OLIVOS -OKUMURA -OKORO -OGAS -OFFER -OELSCHLAEGER -ODETTE -ODER -OCANAS -OBRION -OBARR -OAS -OARE -NYHUS -NYENHUIS -NUNNELLEY -NUNAMAKER -NUCKELS -NOYD -NOWLAN -NOVAKOVICH -NOTEBOOM -NORVIEL -NORTZ -NORMENT -NORLAND -NOLT -NOLIE -NIXSON -NITKA -NISSLEY -NISHIYAMA -NILAND -NIEWIADOMSKI -NIEMEIER -NIELAND -NICKEY -NICHOLSEN -NEWARK -NEUGENT -NETO -NERREN -NEIN -NEIKIRK -NEIGH -NEDROW -NEAVE -NAZAIRE -NAVARO -NAVALTA -NASWORTHY -NASIF -NANI -NALEPA -NAKAO -NAKAI -NADOLNY -MYKLEBUST -MUSSEL -MURTHY -MURATORE -MURAT -MUNDIE -MULVERHILL -MUILENBURG -MUETZEL -MUDRA -MUDGETT -MROZINSKI -MOURA -MOTTINGER -MORSON -MORETTO -MORENTIN -MORDAN -MOORELAND -MOOERS -MONTS -MONTONE -MONTONDO -MONTIERO -MONSERRATE -MONIE -MONAT -MONARES -MOLLO -MOLLET -MOLACEK -MOKRY -MOHRMANN -MOHABIR -MOGAVERO -MOES -MOCERI -MIYOSHI -MITZNER -MISRA -MIS -MIRR -MIRA -MINISH -MINGE -MINCKLER -MILROY -MILLE -MILESKI -MILANESI -MIKO -MIHOK -MIHALIK -MIECZKOWSKI -MESSERLI -MESKILL -MESENBRINK -MERTON -MERRYWEATHER -MERKL -MENSER -MENNER -MENK -MENDEN -MENAPACE -MELBOURNE -MEKUS -MEINZER -MEIN -MEERS -MCTIGUE -MCQUITTY -MCPHERON -MCMURDIE -MCLEARY -MCLAFFERTY -MCKINZY -MCKIBBIN -MCKETHAN -MCINTEE -MCGURL -MCEACHRAN -MCDOWALL -MCDERMITT -MCCUAIG -MCCREEDY -MCCOSKEY -MCCLOSKY -MCCLINTICK -MCCLEESE -MCCANLESS -MAZZUCCO -MAZZOCCO -MAZURKIEWICZ -MAZARIEGO -MAYHORN -MAXCY -MAVITY -MAUZEY -MAULDING -MATUSZEWSKI -MATTSSON -MATTKE -MATSUSHITA -MATSUNO -MATSKO -MATKIN -MATHUR -MATES -MASTERMAN -MASSETT -MASSART -MASSARI -MASHNI -MARTELLA -MARREN -MARGOTTA -MARDER -MARCZAK -MARAN -MARADIAGA -MANWARREN -MANTINI -MANTER -MANTELLI -MANSO -MANGONE -MANFREDONIA -MALDEN -MALBOEUF -MALANGA -MAKARA -MAISON -MAISANO -MAIRS -MAILHIOT -MAGRI -MAGIC -MADRON -MADOLE -MACKALL -MACDUFF -MACARTNEY -LYNDS -LUSANE -LUFFMAN -LUA -LOUTH -LOUGHMILLER -LOUGHEED -LOTSPEICH -LORENZI -LOREE -LOOSLI -LOOKER -LONGE -LONGANECKER -LONERO -LOHMEYER -LOEZA -LOBSTEIN -LOBNER -LOBER -LITTMAN -LITALIEN -LIPPE -LINTS -LINEAR -LIJEWSKI -LIGAS -LIEBERT -LIEBERMANN -LIBERATI -LEZCANO -LEVINTHAL -LESSOR -LESS -LESIEUR -LENNING -LENGEL -LEN -LEMPKE -LEMP -LEMAR -LEITZKE -LEINWEBER -LEGRONE -LEGE -LEDER -LAWNICKI -LAUTH -LAUN -LAUGHARY -LATIN -LASSLEY -LASHWAY -LARRIVEE -LARGEN -LARE -LANOUETTE -LANNO -LANGILLE -LANGEN -LANDING -LANA -LAMONTE -LALIN -LALA -LAIBLE -LAFRATTA -LAFORTE -LACUESTA -LACER -LABORE -LABOE -LABEAU -KWASNIEWSKI -KUNSELMAN -KUHR -KUCHLER -KUC -KRUGMAN -KRUCKENBERG -KROTZER -KROEMER -KRIST -KRIGBAUM -KREKE -KREISMAN -KREISLER -KREFT -KRASNOW -KRAS -KRAG -KOUYATE -KOUGH -KOTZ -KOSTURA -KORNER -KORNBLUM -KORCZYNSKI -KOPPA -KOPCZYK -KONZ -KOMOROWSKI -KOLLEN -KOLANDER -KOEPNICK -KOEHNE -KOCHIS -KNOCH -KNIPPERS -KNAEBEL -KLIPP -KLINEDINST -KLIMCZYK -KLIER -KLEMENT -KLAPHAKE -KISLER -KINZIE -KINES -KINDLEY -KIMPLE -KIMM -KIMBEL -KILKER -KILBORN -KIBBEY -KHONG -KETCHIE -KERBOW -KENNEMORE -KENNEBECK -KENNEALLY -KENNDY -KENMORE -KEMNITZ -KEMLER -KEMERY -KELNHOFER -KELLSTROM -KELLIS -KELLAMS -KEITER -KEIRSTEAD -KEENY -KEELIN -KEEFAUVER -KEAMS -KAUTZMAN -KAUS -KATAYAMA -KASSON -KASSIM -KASPARIAN -KASE -KARWOSKI -KAPUSCINSKI -KANEKO -KAMERLING -KAMADA -KALKA -KALAR -KAKACEK -KACZMARCZYK -JURICA -JUNES -JOURNELL -JOLLIFFE -JOHNSEY -JOEL -JINDRA -JIMENZ -JETTE -JESPERSON -JERIDO -JENRETTE -JENCKS -JECH -JAYROE -JAYO -JAYE -JAVENS -JASKOT -JAROS -JAQUET -JANOWIAK -JAME -JAEGERS -JACKEL -IZUMI -ITH -ITALIA -IRELAN -ION -INZUNZA -IMOTO -IMME -IGLEHART -IANNONE -IANNACONE -HUYLER -HUSSAINI -HURLOCK -HURLBUTT -HUPRICH -HUMPHRY -HULSLANDER -HUELSMAN -HUDELSON -HUDECEK -HSIA -HREHA -HOYLAND -HOWK -HOUSHOLDER -HOUSDEN -HOUFF -HORKEY -HONAN -HOMME -HOLTZBERG -HOLLYFIELD -HOLLINGS -HOLLENBAUGH -HOKENSON -HOGREFE -HOGLAND -HOEL -HODGKIN -HOCHHALTER -HJELLE -HITTSON -HINDERMAN -HINCHLIFFE -HIME -HILYER -HILBY -HIBSHMAN -HEYDT -HEWELL -HEWARD -HETU -HESTAND -HESLEP -HERRIDGE -HERNER -HERNANDE -HERMANDEZ -HERMANCE -HERBOLD -HEON -HENTHORNE -HENION -HENAO -HEMING -HELMKAMP -HELLBERG -HEIDGERKEN -HEICHEL -HEHL -HEGEDUS -HEFTY -HECKATHORNE -HEARRON -HAYMER -HAYCOOK -HAVLICEK -HAUSLADEN -HASEMAN -HARTSOOK -HARTOG -HARNS -HARNE -HARMANN -HAREN -HANSERD -HANNERS -HANEKAMP -HAMRA -HAMLEY -HAMELIN -HAMBLET -HAKIMI -HAGLE -HAGIN -HAEHN -HAECK -HACKLEMAN -HAACKE -GULAN -GUIRAND -GUILES -GUGGEMOS -GUERRIERI -GUERREIRO -GUERECA -GUDIEL -GUCCIONE -GUBLER -GRUENWALD -GRITZ -GRIESER -GREWE -GRENON -GREGERSEN -GREFE -GREENER -GRECH -GRECCO -GRAVETTE -GRASSIA -GRANHOLM -GRANER -GRANDI -GRAHAN -GRADOWSKI -GRADNEY -GRACZYK -GOUTHIER -GOTTSCHALL -GORACKE -GOOTEE -GOODKNIGHT -GOODINE -GONZALEA -GONTERMAN -GONALEZ -GOMM -GOLEMAN -GOLDTOOTH -GOLDSTONE -GOLDEY -GOLAN -GOES -GOEN -GOELLER -GOEL -GOECKE -GODEK -GOAN -GLUNZ -GLOYD -GLODOWSKI -GLINSKI -GLAWE -GIROD -GIRDLEY -GIOVANNI -GINDI -GILLINGS -GILDNER -GIGER -GIESBRECHT -GIERKE -GIER -GIBONEY -GIAQUINTO -GIANNAKOPOULO -GIAIMO -GIACCIO -GIACALONE -GESSEL -GEROULD -GERLT -GERHOLD -GERALDS -GENSON -GENEREUX -GELLATLY -GEIGEL -GEHRIG -GEHLE -GEERDES -GEAGAN -GAWEL -GAVINA -GAUSS -GATWOOD -GATHMAN -GASTER -GARSKE -GARRATT -GARMS -GARIS -GANSBURG -GAMMELL -GAMBALE -GAMBA -GALIMORE -GADWAY -GADOURY -FURRER -FURNISH -FURINO -FULLARD -FUKUI -FUHRER -FRYOU -FRIESNER -FRIEDLI -FRIEDL -FRIEDBERG -FREYERMUTH -FREMIN -FREDELL -FRAZE -FRANKEN -FOUGHT -FOTH -FOTE -FORTINI -FORNEA -FORMANEK -FORKER -FORGETTE -FOLAN -FOISTER -FOGLESONG -FLINCK -FLEWELLEN -FLATEN -FLAIG -FITGERALD -FISCHELS -FIRMAN -FINSTAD -FINKELMAN -FINISTER -FINDER -FINA -FETTES -FETTERHOFF -FERRITER -FERCH -FENNESSY -FELTUS -FELTES -FEINMAN -FARVE -FARRY -FARRALL -FARAG -FALZARANO -FALCK -FALANGA -FAKHOURY -FAIRE -FAIRBROTHER -FAGLEY -FAGGINS -FACTEAU -EWER -EWBANK -EVOLA -EVENER -EUSTIS -EUGENIO -ESTWICK -ESTEL -ESSA -ESPINOLA -ESCUTIA -ESCHMANN -ERPELDING -ERNSBERGER -ERLING -ENTZ -ENRIQUE -ENGELHART -ENBODY -EMICK -ELSINGER -ELLINWOOD -ELLINGSEN -ELLICOTT -ELKIND -EISINGER -EISENBEISZ -EISCHEN -EIMER -EIGNER -EICHHORST -EHMKE -EGLESTON -EGGETT -EGE -EFURD -EDGEWORTH -ECKELS -EBEY -EBERLING -EAGLETON -DWIGGINS -DWECK -DUNNINGS -DUNNAVANT -DUMLER -DUMAN -DUGUE -DUERKSEN -DUDECK -DREISBACH -DRAWDY -DRAWBAUGH -DRAINE -DRAGGOO -DOWSE -DOVEL -DOUGHTON -DOUDS -DOUBRAVA -DORT -DORSHORST -DORNIER -DOOLEN -DONAVAN -DOMINQUE -DOMINION -DOMINIK -DOMINGEZ -DOME -DOM -DOLDER -DOLD -DOBIES -DK -DISKIN -DISANO -DIRDEN -DIPONIO -DIPIRRO -DIMOCK -DILTZ -DILLABOUGH -DILEY -DIKES -DIGGES -DIGEROLAMO -DIEL -DICKER -DICHARRY -DICECCO -DIBARTOLOMEO -DIAMANT -DEWIRE -DEVONE -DESSECKER -DERTINGER -DEROUSSELLE -DERK -DEPAUW -DEPALO -DENHERDER -DEMEYER -DEMETRO -DEMASTUS -DELVILLAR -DELOYE -DELOSRIOS -DELGRECO -DELARGE -DELANGEL -DEJONGH -DEITSCH -DEGIORGIO -DEGIDIO -DEFREESE -DEFOE -DECAMBRA -DEBENEDETTO -DEADERICK -DAZA -DAUZAT -DAUGHENBAUGH -DATO -DASS -DARWISH -DANTUONO -DANTON -DAMMEYER -DALOIA -DALEO -DAGG -DACEY -CURTS -CUNY -CUNNEEN -CULVERHOUSE -CUERVO -CUCINELLA -CUBIT -CRUMM -CRUDO -CROWFORD -CROUT -CROTTEAU -CROSSFIELD -CROOKE -CROM -CRITZ -CRISTALDI -CRICKMORE -CRIBBIN -CREMEENS -CRAYNE -CRADDUCK -COUVERTIER -COTTAM -COSSIO -CORREY -CORDREY -COPLON -COPASS -COONE -COODY -CONTOIS -CONSLA -CONNELLEY -CONNARD -CONGO -CONGLETON -CONDRY -CONCEPTION -COLTEY -COLINDRES -COLGROVE -COLFER -COLASURDO -COCKER -COCHELL -COBBIN -CLOUTHIER -CLOSS -CLOONAN -CLIZBE -CLENNON -CLAYBURN -CLAYBOURN -CLAUSELL -CLASBY -CLAGETT -CISKOWSKI -CIRRINCIONE -CINQUE -CINELLI -CIMAGLIA -CIABURRI -CHRISTIANI -CHRISTESON -CHLADEK -CHIZMAR -CHINNICI -CHIARELLA -CHEVRIER -CHEVES -CHERNOW -CHEONG -CHELTON -CHARLETTE -CHANIN -CHAM -CHALIGOJ -CELESTINO -CAYCE -CAVEY -CAVARETTA -CAUGHRON -CATMULL -CATAPANO -CASIO -CASHAW -CARULLO -CARUALHO -CARTHON -CARTELLI -CARRUBA -CARRERE -CAROLUS -CARMINE -CARLSTROM -CARLI -CARFORA -CARELLO -CARBARY -CAR -CAPLETTE -CANNELL -CANCILLA -CAMPELL -CAMMAROTA -CAMILO -CAMEJO -CAMARATA -CAISSE -CACIOPPO -CABBAGESTALK -CABATU -CABANAS -BYLES -BUXBAUM -BUTLAND -BUTCH -BURRINGTON -BURNSED -BURNINGHAM -BURLINGHAM -BURGY -BUITRAGO -BUFFETT -BUETI -BUEHRING -BUDAY -BUCKS -BUCKNELL -BUCHBINDER -BUCEY -BRUSTER -BRUNSTON -BRUMBY -BRUINS -BROUILLET -BROSIOUS -BROOMES -BRODIN -BRODDY -BROCHARD -BRITSCH -BRITCHER -BRIERLEY -BREZINA -BRESSI -BRESSETTE -BRESLOW -BRENDEN -BREIER -BREI -BRAYMER -BRASUELL -BRASH -BRANSCOMB -BRANIN -BRANDLEY -BRAHLER -BRACHT -BRACAMONTES -BRABSON -BOYNE -BOXELL -BOWERY -BOVARD -BOUTELLE -BOULETTE -BOTTINI -BOTKINS -BOSEN -BOSCIA -BOSCARINO -BORICH -BORES -BOREMAN -BORDOY -BORDLEY -BORDENET -BOQUET -BOOCKS -BOLNER -BOISSY -BOILARD -BOHNEN -BOHALL -BOENING -BOCCIA -BOCCELLA -BOBE -BLYTH -BLITZ -BLEW -BLACKSMITH -BIVIANO -BITTO -BISEL -BINSTOCK -BINES -BILLITER -BIGSBY -BIGHORSE -BIELAWSKI -BICKMORE -BETTIN -BETTENHAUSEN -BESSON -BESEAU -BERTON -BERROA -BERNTSON -BERNAS -BERISFORD -BERHOW -BERGSMA -BENYO -BENYARD -BENTE -BENNION -BENKO -BELSKY -BELLAVANCE -BELASCO -BELARDO -BEIDLER -BEHRING -BEGNAUD -BEGA -BEFORT -BEEK -BEDORE -BEDDARD -BECKNELL -BEARDSLEE -BEARDALL -BEAGAN -BAYLY -BAUZA -BAUTZ -BAUSMAN -BAUMLER -BATTERSON -BATTENFIELD -BASSFORD -BASSE -BASEMORE -BARUCH -BARTHOLF -BARS -BARMAN -BARAY -BARABAS -BANGHART -BANEZ -BALSAM -BALLESTER -BALLAGH -BALDOCK -BAGNOLI -BAGHERI -BACUS -BACHO -BACCAM -AXSON -AVERHART -AVER -AVE -AUSTILL -AUBERRY -ATHANS -ATCITTY -ATAY -ASTARITA -ASCOLESE -ARTZER -ARTS -ARRASMITH -ARGENBRIGHT -ARESCO -ARB -ARANJO -APPLEYARD -APPENZELLER -APP -APILADO -ANTONETTI -ANTIS -ANNETT -ANNAS -ANGWIN -ANDRIS -ANDRIES -ANDREOZZI -ANDO -ANDIS -ANDEREGG -ANASTASIA -AMYOT -AMINOV -AMELUNG -AMELIO -AMASON -ALVIAR -ALLENDORF -ALLDAY -ALICE -ALDREDGE -ALCIVAR -ALAYA -ALAPAI -AIRINGTON -AINA -AILOR -AHRNS -AHMADI -AGRESTA -AGENT -AFFOLTER -AESCHLIMANN -ADNEY -ADERHOLD -ADELL -ADACHI -ACKISS -ABEN -ABDELHAMID -ABAR -AASE -ZORILLA -ZORDAN -ZOLLMAN -ZOCH -ZIPFEL -ZIMMERLE -ZIKE -ZIEL -ZHONG -ZENS -ZELADA -ZAMAN -ZAHNER -ZADORA -ZACHAR -ZABOROWSKI -ZABINSKI -YZQUIERDO -YOSHIZAWA -YORI -YIELDING -YERTON -YEHL -YEARGAIN -YEAKLEY -YAMAOKA -YAGLE -YABLONSKI -WYNIA -WYNE -WYERS -WRZESINSKI -WRYE -WRISTON -WOOLUMS -WOOLEN -WOODLOCK -WOODLE -WONSER -WOMBACHER -WOLLSCHLAGER -WOLLEN -WOLFLEY -WOLFER -WISSE -WISELL -WIRSING -WINSTANLEY -WINSLEY -WINIECKI -WINIARSKI -WINGE -WINESETT -WINDELL -WINBERRY -WILLYARD -WILLEMSEN -WILKOSZ -WILENSKY -WIKLE -WIFORD -WIENKE -WIENEKE -WIEDERHOLD -WIEBOLD -WIDICK -WICKENHAUSER -WHITROCK -WHISNER -WHINERY -WHERLEY -WHEDBEE -WHEADON -WHARY -WESSLING -WESSELLS -WENNINGER -WENDROTH -WENDE -WELLARD -WEIRICK -WEINKAUF -WEHRMAN -WEECH -WEATHERSBEE -WATERFORD -WARTON -WARNCKE -WARM -WARDRIP -WALSTROM -WALKS -WALKOWSKI -WALCUTT -WAIGHT -WAI -WAGMAN -WAGGETT -WADFORD -VOWLES -VORMWALD -VONDRAN -VOHS -VITT -VITALO -VISER -VINAS -VILLENA -VILLANEUVA -VILLAFRANCA -VILLAFLOR -VILAIN -VIGILANTE -VICORY -VIANA -VIAN -VIAL -VERUCCHI -VERRA -VENZKE -VENSKE -VELEY -VEILE -VEEDER -VASKE -VASCONEZ -VARGASON -VARBLE -VANWERT -VANTOL -VANSCOOTER -VANMETRE -VANMAANEN -VANHISE -VANETTA -VANEATON -VANDYK -VANDRIEL -VANDORP -VANDEWATER -VANDERVELDEN -VANDERSTELT -VANDERHOEF -VANDERBECK -VANBIBBER -VANALSTINE -VANACORE -VALDESPINO -VAILL -VAILES -VAGLIARDO -URSINI -URREA -URIVE -URIEGAS -UMPHRESS -UCCI -UBALLE -TYRONE -TYNON -TWINER -TUTTON -TUDELA -TUAZON -TROISI -TRIPPLETT -TRIAS -TRESCOTT -TREICHEL -TREDO -TRANTER -TOZER -TOXEY -TORTORICI -TORNOW -TOPOLSKI -TOPIA -TOPEL -TOPALIAN -TONNE -TONDRE -TOLA -TOEPKE -TIU -TISDELL -TISCARENO -THORNBORROW -THOMISON -THILGES -THEURET -THERIEN -THANG -THAGARD -THACHER -TEXTER -TERZO -TERESA -TEP -TENPENNY -TEMPESTA -TEETZ -TEAFF -TAVELLA -TAUSSIG -TATTON -TASLER -TARRENCE -TARDIE -TARAZON -TANTILLO -TANNEY -TANKSON -TANGEN -TAMBURO -TAKES -TABONE -SZILAGYI -SYPHERS -SWISTAK -SWIATKOWSKI -SWEIGERT -SWAYZER -SWAPP -SVEHLA -SUTPHEN -SUTCH -SUSA -SURMA -SURLS -SUNDERMEYER -SUNDEEN -SULEK -SUITE -SUGHRUE -SUDOL -STURMS -STUPAR -STUM -STUCKMAN -STROLE -STROHMAN -STREED -STREBECK -STRAUSSER -STRASSEL -STPAUL -STORTS -STORR -STOMMES -STMARY -STJULIEN -STIKA -STIGGERS -STHILL -STEVICK -STERMAN -STEPHANY -STEPANEK -STEMLER -STELMAN -STELMACK -STEINKAMP -STEINBOCK -STCROIX -STCHARLES -STAUDINGER -STARRY -STANLY -STALLSWORTH -STALLEY -STAINS -SROCK -SPRITZER -SPRACKLIN -SPINUZZI -SPIDELL -SPICE -SPEYRER -SPERBECK -SPENDLOVE -SPEEDY -SPECKMAN -SPARGUR -SPANGENBERG -SPAID -SOWLE -SOULIER -SOTOLONGO -SOSTRE -SOREY -SONIER -SOMOGYI -SOMERA -SOLO -SOLDO -SOFIA -SODERHOLM -SNOOTS -SNOOKS -SNOKE -SNODDERLY -SNIDE -SNEE -SMOKE -SMITHHART -SMILLIE -SMAY -SMALLMAN -SLIWINSKI -SLENTZ -SLEDD -SLAGER -SKOGEN -SKOG -SKARDA -SKALICKY -SIWEK -SITTERSON -SISTI -SISSEL -SIS -SINOPOLI -SIMILTON -SIMILA -SIMENSON -SILVERTOOTH -SILOS -SIGGINS -SIELER -SIBURT -SIANEZ -SHURLEY -SHULAR -SHUECRAFT -SHREEVES -SHON -SHOLLENBERGER -SHOEN -SHISHIDO -SHIPPS -SHIPES -SHINALL -SHERFIELD -SHAWE -SHARRETT -SHARRARD -SHANKMAN -SHAN -SHAM -SESSUM -SERVISS -SERVELLO -SERICE -SERDA -SEMLER -SEMENZA -SELMON -SELLEN -SELEY -SEIDNER -SEIB -SEHGAL -SEELBACH -SEDIVY -SEBREN -SEBO -SEANEZ -SEAGROVES -SEAGREN -SEAGRAVE -SEABRON -SCHWERTNER -SCHWEGEL -SCHWARZER -SCHRUNK -SCHRIEFER -SCHREDER -SCHRANK -SCHOPP -SCHONFELD -SCHOENWETTER -SCHNALL -SCHNACKENBERG -SCHNACK -SCHMUTZLER -SCHMIERER -SCHMIDGALL -SCHLUP -SCHLOEMER -SCHLITT -SCHERMANN -SCHERFF -SCHELLENBERG -SCHAIN -SCHAEDLER -SCHABEL -SCACCIA -SAYE -SAXMAN -SAUREZ -SASSEEN -SASNETT -SAS -SARTI -SARRA -SARBER -SARAN -SANTOY -SANTERAMO -SANSOUCY -SANDO -SANDLES -SANDBURG -SANDAU -SAMRA -SAMAHA -SALON -SALIZAR -SALAM -SAINDON -SAGASER -SAETEUN -SADUSKY -SACKMAN -SABATER -SAAS -RUTHVEN -RUSZKOWSKI -RUSCHE -RUMPF -RUHTER -RUHENKAMP -RUFO -RUDGE -RUDDLE -ROWLEE -ROWAND -ROUTHIER -ROUGEOT -ROTRAMEL -ROTAN -ROSWELL -ROSTEN -ROSILLO -ROOKARD -ROODE -RONGSTAD -ROLLIE -ROIDER -ROFFE -ROETTGER -RODICK -ROCHEZ -ROCHAT -ROADS -RIVKIN -RIVADENEIRA -RISTON -RISSO -RISE -RINDERKNECHT -RIIS -RIGGSBEE -RIFKIN -RIEKER -RIEGLE -RIEDY -RICHWINE -RICHMON -RICCIUTI -RICCARDO -RICARDSON -RHEW -REVOIR -REVIER -REMSBERG -REMISZEWSKI -REMBOLD -RELLA -REINKEN -REILAND -REIDEL -REICHART -REHAK -REDWAY -REDNOUR -REDIFER -REDGATE -REDENBAUGH -REDBURN -REAP -READUS -RAYBUCK -RAUHUFF -RAUDA -RATTE -RATHJE -RAPPLEY -RANDS -RAMSEYER -RAMSEUR -RAMSDALE -RAMO -RAMARIZ -RAITZ -RAISCH -RAINONE -RAHR -RAGASA -RAFALSKI -RADUNZ -QUENZER -QUEJA -QUEENAN -PYUN -PUZ -PUTZIER -PUSKAS -PURRINGTON -PURI -PUNT -PULLAR -PRUSE -PRING -PRIMEAU -PREVETTE -PREUETT -PRESTO -PRESTAGE -POWNELL -POWNALL -POTTHOFF -POTRATZ -POTH -POTER -POSTHUMA -POSEN -PORRITT -POPKIN -POORMON -POLIDORO -POLES -POLCYN -POKORA -POER -PLUVIOSE -PLOCK -PLEVA -PLACKE -PIOLI -PINGLETON -PINCHBACK -PINCH -PIERETTI -PICCONE -PIATKOWSKI -PHILLEY -PHIBBS -PHAY -PHAGAN -PFUND -PEYER -PETTERSEN -PETTER -PETRUCELLI -PETROPOULOS -PETRAS -PETIX -PESTER -PERKS -PEPPERMAN -PENNICK -PENADO -PELOT -PELIS -PEEDEN -PECHON -PEAL -PAZMINO -PATCHIN -PASIERB -PARRAN -PARILLA -PARDY -PARCELLS -PARAGAS -PARADEE -PAPIN -PANKO -PANGRAZIO -PANGELINAN -PANDYA -PANCHERI -PANAS -PALMITER -PALLARES -PALINKAS -PALEK -PAGLIARO -PACKHAM -PACITTI -OZIER -OVERBAUGH -OURSLER -OUIMETTE -OTTESON -OTSUKA -OTHON -OSMUNDSON -OROZ -ORGILL -ORDENEAUX -ORAMA -OPPY -OPHEIM -ONKST -OLTMANNS -OLSTAD -OLOFSON -OLLIVIER -OLEN -OLEJNICZAK -OKURA -OKUNA -OKEY -OHRT -OHARRA -OGUENDO -OGIER -OFFERMANN -OETZEL -OECHSLE -ODOR -ODOHERTY -ODDI -OCKERMAN -OCCHIOGROSSO -OBRYON -OBREMSKI -NYREEN -NYLUND -NYLEN -NYHOLM -NUON -NUANES -NORRICK -NORIS -NORDELL -NORBURY -NOONER -NONO -NOMURA -NOLE -NOLDEN -NOLA -NOFSINGER -NOCITO -NOBEL -NIEDBALA -NIEBERGALL -NICOLINI -NICOLE -NICKLAUS -NEVILS -NEUBURGER -NEMEROFSKY -NEMECEK -NAZARENO -NASTRI -NAST -NANCY -NAGORSKI -MYRE -MUZZEY -MUTTON -MUTSCHLER -MUTHER -MUSUMECI -MURANAKA -MURAMOTO -MURAD -MURACH -MUNS -MUNNO -MUNCRIEF -MUGRAGE -MUECKE -MOZER -MOYET -MOWLES -MOTTERN -MOSMAN -MOSCONI -MORINE -MORGE -MORAVEC -MORAD -MONEYMAKER -MONES -MONCUR -MONAREZ -MOLZAHN -MOGLIA -MOESCH -MODY -MODISETT -MITNICK -MITHCELL -MITCHINER -MISTRY -MISERCOLA -MIRABILE -MINVIELLE -MINO -MINKLER -MINIFIELD -MINICHIELLO -MINDELL -MINASIAN -MILTEER -MILLWEE -MILLSTEIN -MILLIEN -MIKRUT -MIHALY -MIGGINS -MICHARD -MEZO -METZNER -MESQUITA -MERVIN -MERRIWETHER -MERK -MERFELD -MERCIK -MERCADANTE -MENTION -MENNA -MENDIZABAL -MENDER -MEMBERS -MELUSKY -MELQUIST -MELLADO -MELER -MELENDES -MEKEEL -MEIGGS -MEGGINSON -MECK -MCWHERTER -MCWAYNE -MCSPARREN -MCREA -MCNEFF -MCNEASE -MCMURRIN -MCKEAG -MCHUGHES -MCGUINESS -MCGILTON -MCELREATH -MCELHONE -MCELHENNEY -MCELDOWNEY -MCCURTAIN -MCCURE -MCCOSKER -MCCORY -MCCORMIC -MCCLINE -MCCLEAVE -MCCLATCHEY -MCCARNEY -MCCANSE -MCALLEN -MAZZIE -MAZIN -MAZANEC -MAYETTE -MAUTZ -MAUSER -MAUN -MATTAS -MATHURIN -MATHIESEN -MASSMANN -MASRI -MASIAS -MASCOLO -MASCETTI -MASCAGNI -MARZOLF -MARUSKA -MARTAIN -MARTA -MARSZALEK -MAROLF -MARMAS -MARLOR -MARKWOOD -MARINES -MARINERO -MARIER -MARICH -MARCOM -MARCIANTE -MARCHMAN -MARCHIO -MARBACH -MANZONE -MANTEY -MANNINA -MANHARDT -MANFRED -MANAOIS -MALMGREN -MALLONEE -MALLIN -MALLARY -MALETTE -MAKINSON -MAKINS -MAKAREWICZ -MAINWARING -MAIDA -MAIAVA -MAGRO -MAGOUYRK -MAGETT -MAEDER -MADYUN -MADUENA -MADEN -MADEIRA -MACNAMARA -MACKINS -MACKEL -MACINNES -MACIA -MACGOWAN -LYSSY -LYERLY -LYALLS -LUTTER -LUNNEY -LUKSA -LUDEMAN -LUCIDI -LUCCI -LOWDEN -LOVIER -LOUGHRIDGE -LOSCH -LORY -LORSON -LORENZANO -LORDEN -LORBER -LOPARDO -LOOSIER -LOOMER -LONGSDORF -LONGCHAMPS -LONCAR -LOKER -LOGWOOD -LOEFFELHOLZ -LOCKMILLER -LIVOTI -LINFORD -LINENBERGER -LINDLOFF -LINDENBAUM -LIMOGES -LILLA -LILEY -LIGHTHILL -LIGHTBOURNE -LIESKE -LEZA -LEVELS -LEVANDOSKI -LEUCK -LEPERE -LEONHART -LENON -LEMMA -LEMLER -LEISING -LEINONEN -LEHTINEN -LEHAN -LEETCH -LEEMING -LEDYARD -LEDWITH -LEDINGHAM -LECLERE -LECK -LEBERT -LEANDRY -LAZZELL -LAYO -LAYE -LAXEN -LAWTHER -LAWN -LAWERANCE -LAVOY -LAVERTU -LAVERDE -LAUREN -LATOUCHE -LATNER -LATHEN -LAST -LASKIN -LASHBAUGH -LASCALA -LARROQUE -LARICK -LARAIA -LAPLUME -LANZILOTTA -LANNOM -LANDRIGAN -LANDOLT -LANDESS -LANCIA -LAMKINS -LALLA -LALK -LAKEMAN -LAKATOS -LAIB -LAHAY -LAGRAVE -LAGERQUIST -LAFOY -LAFLECHE -LADER -LABRADA -KWIECINSKI -KUTNER -KUNSHIER -KULAKOWSKI -KUJAK -KUEHNLE -KUBISIAK -KRZYMINSKI -KRUGH -KROIS -KRITIKOS -KRILL -KRIENER -KREWSON -KRETZSCHMAR -KRETZ -KRESSE -KREITER -KREISCHER -KREBEL -KRAUT -KRANS -KRALING -KRAHENBUHL -KOUNS -KOTSON -KOSSOW -KOPRIVA -KONKLE -KOLTER -KOLK -KOLICH -KOHNER -KOEPPEN -KOENIGS -KOCK -KOCHANSKI -KOBUS -KNOWLING -KNOUFF -KNOERZER -KNIPPEL -KLOBERDANZ -KLEINERT -KLARICH -KLAASSEN -KIZZIE -KISAMORE -KIRN -KIRALY -KIPPS -KINSON -KINNEMAN -KINGTON -KINE -KIMBRIEL -KILLE -KICK -KIBODEAUX -KHAMVONGSA -KEYLON -KEVER -KESER -KERTZ -KERCHEVAL -KENNETH -KENDRIX -KENDLE -KEN -KEMPT -KEMPLE -KEESEY -KEATS -KEATLEY -KAZMIERSKI -KAZDA -KAZARIAN -KAWASHIMA -KATSCH -KASUN -KASSNER -KASSEM -KASPERSKI -KASINGER -KASCHAK -KARELS -KANTOLA -KANA -KAMAI -KALTHOFF -KALLA -KALANI -KAHRS -KAHANEK -KACHER -JURASEK -JUNIPER -JUNGELS -JUKES -JUELFS -JUDICE -JUDA -JU -JOSSELYN -JONSSON -JONAK -JOENS -JOBSON -JEGEDE -JEE -JEANJACQUES -JAWOROWSKI -JASPERS -JANNSEN -JANNER -JANKOWIAK -JANK -JANIAK -JACKOWSKI -JACKLIN -JABBOUR -IYER -IVESON -IVAN -ISNER -INIQUEZ -INGWERSON -INGBER -INA -IMBROGNO -ILLE -IKEHARA -IANNELLI -HYSON -HUXFORD -HUSETH -HURNS -HURNEY -HURLES -HUNNINGS -HUMBARGER -HULAN -HUISINGA -HUGHETT -HUGHEN -HUDLER -HUBIAK -HRICKO -HOW -HOVERSTEN -HOTTEL -HOSAKA -HORSCH -HORMANN -HORDGE -HONZELL -HOMBURG -HOLTEN -HOLME -HOLLOPETER -HOLLINSWORTH -HOLLIBAUGH -HOLBERG -HOHMANN -HOENSTINE -HODELL -HODDE -HOBERT -HIVES -HITER -HIRKO -HIPOLITO -HINZMANN -HINRICHSEN -HINGER -HINCKS -HILZ -HILBORN -HIGHLEY -HIGASHI -HIEATT -HICKEN -HEVERLY -HESCH -HERVERT -HERSHKOWITZ -HERRERAS -HERMANNS -HERGET -HENRIGUEZ -HENNON -HENGEL -HELMLINGER -HELMIG -HELEN -HELDMAN -HEIZER -HEINITZ -HEIFNER -HEIDORN -HEGLIN -HEFFLER -HEBNER -HEATHMAN -HEASLIP -HAZLIP -HAYMES -HAYASE -HAWVER -HAW -HAVERMALE -HAVAS -HAUBER -HASHIM -HASENAUER -HARVEL -HARTNEY -HARTEL -HARSHA -HARPINE -HARKRIDER -HARKIN -HARER -HARCLERODE -HANZELY -HANNI -HANNAGAN -HAMPEL -HAMMERSCHMIDT -HAMAR -HALLUMS -HALLIN -HAINLINE -HAID -HAGGART -HAFEN -HAER -HADIARIS -HADAD -HACKFORD -HABEEB -GUYMON -GUTTERY -GUNNETT -GULL -GUILLETTE -GUILIANO -GUILBEAUX -GUIHER -GUIGNARD -GUERRY -GUDE -GUCMAN -GUADIAN -GRZYBOWSKI -GRZELAK -GRUSSENDORF -GRUMET -GRUENHAGEN -GRUDZINSKI -GROUND -GROSSMANN -GROF -GRISSO -GRISANTI -GRIFFITTS -GRIESBAUM -GRELLA -GREGSTON -GRAVELINE -GRANDUSKY -GRANDINETTI -GRAMM -GOYNES -GOWING -GOUDIE -GOSMAN -GORT -GORSLINE -GORALSKI -GOODSTEIN -GOODROE -GOODLIN -GOODHEART -GOODHART -GONZELEZ -GONTHIER -GOLDSWORTHY -GOLDADE -GOETTEL -GOERLITZ -GOEPFERT -GOEHNER -GOBEN -GOBEILLE -GLOCK -GLIEM -GLEICH -GLASSON -GLASCOE -GLADWELL -GIUSTO -GIRDNER -GIPPLE -GILLER -GIESING -GIAMMONA -GHORMLEY -GERMON -GERINGER -GERGELY -GERBERICH -GEPNER -GENS -GENIER -GEMME -GELSINGER -GEIGLE -GEBBIA -GAYNER -GAVITT -GATRELL -GASTINEAU -GASIEWSKI -GASCOIGNE -GARRO -GARIN -GANONG -GANGA -GALPIN -GALLUS -GALIZIA -GAJDA -GAHM -GAGEN -GAFFIGAN -FURNO -FURNIA -FURGASON -FRONCZAK -FRISHMAN -FRIESS -FRIERDICH -FRESH -FREESTONE -FRANTA -FRANKOVICH -FORS -FORRES -FORRER -FLORIS -FLORIDO -FLORIA -FLIS -FLICEK -FLENS -FLEGAL -FLAMENCO -FINKLER -FINKENBINDER -FINEFROCK -FILTER -FILPO -FILION -FIERMAN -FIELDMAN -FERREYRA -FERNENDEZ -FERGESON -FERA -FENCIL -FEITH -FEIGHT -FEDERICI -FEDERER -FECHTNER -FEAGAN -FAUSNAUGH -FAUBERT -FATA -FARMAN -FARINELLA -FANTAUZZI -FANARA -FALSO -FALARDEAU -FAGNANI -FABRO -EXCELL -EWTON -EVEY -EVERETTS -EVE -EVARTS -ETHERINGTON -ESTREMERA -ESTIS -ESTABROOKS -ESSIG -ESPLIN -ESPENSCHIED -ERNZEN -ERICH -EPPES -EPPARD -ENTWISLE -EMMI -EMISON -ELISON -ELGUEZABAL -ELEDGE -ELBAZ -EISLER -EIDEN -EICHORST -EICHERT -EGLE -EGGLER -EGGIMANN -EDEY -ECKERMAN -ECHELBERGER -EBBS -EBANKS -DZIAK -DYCHE -DYCE -DUSCH -DUROSS -DURLEY -DURATE -DUNSWORTH -DUMKE -DULEK -DUHL -DUGGIN -DUFFORD -DUDZIAK -DUCREPIN -DUBREE -DUBRE -DUBIE -DUBAS -DROSTE -DRISKO -DREWNIAK -DOXTATOR -DOWTIN -DOWNUM -DOUBET -DOTTLE -DOSIER -DOSHI -DORST -DORSET -DORNBUSCH -DOREN -DONZE -DONICA -DOMANSKI -DOMAGALA -DOHSE -DOERNER -DOERFLER -DOBLE -DOBKINS -DILTS -DIGIULIO -DIGAETANO -DIETZEL -DIDDLE -DICKEL -DEZARN -DEVOY -DEVOSS -DEVONSHIRE -DEVON -DEVILLA -DEVERE -DETERS -DESVERGNES -DESHAY -DESENA -DEROSS -DER -DEPEDRO -DENSLEY -DEMOREST -DEMORE -DEMORA -DEMIRJIAN -DEMERCHANT -DEMATTEIS -DEMATEO -DELGARDO -DELFAVERO -DELAURENTIS -DELAMAR -DELACY -DEITRICH -DEISHER -DEGRACIA -DEGRAAF -DEFRIES -DEFILIPPIS -DECOURSEY -DEBRUIN -DEBIASI -DEBAR -DEARDEN -DEALY -DAYHOFF -DAVINO -DARVIN -DARRISAW -DARBYSHIRE -DAQUINO -DAPRILE -DANIAL -DANH -DANAHY -DALSANTO -DALLAVALLE -DAINE -DAGEL -DADAMO -DACY -DACUNHA -DABADIE -CZYZ -CUTSINGER -CURNEY -CUPPERNELL -CUNLIFFE -CUMBY -CULLOP -CULLINANE -CUGINI -CUDMORE -CUDA -CUCUZZA -CUCH -CRUMBY -CROUSER -CROCK -CRITTON -CRITCHLEY -CRISTY -CREMONA -CREMAR -CREHAN -CREARY -CRASCO -CRALL -CRABBE -COZZOLINO -COZIER -COYNER -COUVILLIER -COUNTERMAN -COULTHARD -COUDRIET -COTTOM -CORZO -CORNUTT -CORKRAN -CORDS -CORDA -COPELIN -COONAN -CONSOLO -CONROW -CONRAN -CONNERTON -CONKWRIGHT -CONDREN -COMP -COMLY -COMISKY -COLLI -COLLET -COLELLO -COLBECK -COLARUSSO -COINER -COHRON -CODERE -COCKS -COBIA -CLY -CLUSTER -CLURE -CLOWSER -CLOVIS -CLINGENPEEL -CLENNEY -CLENDANIEL -CLEMENSON -CLEERE -CLECKLER -CLAYBAUGH -CLASON -CIRULLO -CIRAULO -CIOLEK -CIAMPI -CHRISTOPHERSE -CHRISTOPHE -CHOVANEC -CHOPRA -CHOL -CHIEM -CHESTNUTT -CHESTERMAN -CHERNOFF -CHERMAK -CHELETTE -CHECKETTS -CHARPIA -CHARO -CHARGOIS -CHAMPMAN -CHALLENDER -CHAFINS -CERRUTO -CELI -CEA -CAZENAVE -CAY -CAVALUZZI -CAUTHON -CAUDY -CATINO -CATERINA -CATANO -CASTELL -CASSARO -CASSARINO -CARRANO -CAROZZA -CAROW -CARMICKLE -CARLYON -CARLEW -CARDENA -CAPUTI -CAPLEY -CAPALBO -CANSECO -CANDELLA -CANAL -CAMPTON -CAMPOSANO -CALLEROS -CALLEJA -CALLEGARI -CALICA -CALARCO -CALAIS -CAILLIER -CAHUE -CADENHEAD -CADENAS -CABERA -BUZZO -BUSTO -BUSSMANN -BUSENBARK -BURZYNSKI -BURSLEY -BURSELL -BURLE -BURKLEO -BURKETTE -BURCZYK -BUMSTEAD -BULLETT -BUIKEMA -BUENAVENTURA -BUEGE -BUECHEL -BUDREAU -BUDHRAM -BUCKNAM -BRYE -BRUSHWOOD -BRUMBALOW -BRULOTTE -BRUINGTON -BRUDERER -BROWNS -BROUGHER -BROMFIELD -BROEGE -BRODHEAD -BROCKLESBY -BROADIE -BRIZUELA -BRITZ -BRISENDINE -BRILLA -BRIGGEMAN -BRIERTON -BRIDGEFORD -BREYFOGLE -BREVIG -BREUNINGER -BRESSE -BRESETTE -BRELSFORD -BREITBACH -BREAD -BRAYLEY -BRAUND -BRANSCOM -BRANDO -BRANDNER -BRAHM -BRABOY -BRABBLE -BOZMAN -BOYTE -BOYNES -BOYKEN -BOWELL -BOWAN -BOUTET -BOUSE -BOULET -BOULE -BOTTCHER -BOSQUEZ -BORRELL -BORIA -BORDES -BORCHARD -BONSON -BONINO -BONAS -BONAMICO -BOLSTAD -BOLSER -BOLLIS -BOLICH -BOLF -BOKER -BOILEAU -BOHAC -BOGUCKI -BOGREN -BOEGER -BODZIONY -BODO -BODLEY -BOBACK -BLYTHER -BLIGHT -BLENKER -BLAZINA -BLASE -BLAMER -BLACKNALL -BLACKMOND -BITZ -BISER -BISCARDI -BINZ -BILTON -BILLOTTE -BILLAFUERTE -BIGFORD -BIEGLER -BIBBER -BHANDARI -BEYERSDORF -BEVELLE -BETTENDORF -BESSARD -BERTSCHE -BERNE -BERLINGER -BERISH -BERANEK -BENTSON -BENTSEN -BENSKIN -BENOY -BENOIST -BENITZ -BELONGIA -BELMORE -BELKA -BELEN -BEITZEL -BEITER -BEITEL -BEHRNS -BECKWORTH -BECKA -BEAUDION -BEARY -BEARE -BEAMES -BEABOUT -BEABER -BAZZANO -BAZINET -BAUCUM -BATREZ -BASWELL -BASTOS -BASCOMB -BARTHA -BARSTAD -BARRILLEAUX -BARRETTO -BARRESI -BARONA -BARKHURST -BARKE -BARDALES -BARCZAK -BARCA -BARASH -BANFILL -BAMBINO -BALONEK -BALMES -BALLON -BALKO -BALESTRIERI -BALDINO -BALDELLI -BAKEN -BAIZA -BAHNER -BAEK -BADOUR -BADMAN -BADLEY -BADIA -BACKMON -BACICH -BACCA -AYSCUE -AYO -AYNES -AUSTEN -AUSIELLO -AURINGER -AUILES -ASPINWALL -ASKWITH -ARTIGA -ARROLIGA -ARNS -ARMAN -ARELLANES -ARACENA -ANTWINE -ANTUNA -ANSELMI -ANSEL -ANNEN -ANGELINO -ANGELI -ANGAROLA -ANDRAE -AMPARO -AMODIO -AMIE -AMEEN -ALWINE -ALVERIO -ALTRO -ALTOBELLO -ALTEMUS -ALQUICIRA -ALLY -ALLPHIN -ALLEMAND -ALLAM -ALESSIO -AKPAN -AKERMAN -AIONA -AIKMAN -AGYEMAN -AGREDANO -ADAMIK -ADAMCZAK -ACREY -ACHILLES -ACEVADO -ABU -ABREO -ABRAHAMSEN -ABILD -ZWICKER -ZWEIG -ZUVICH -ZUMPANO -ZULUAGA -ZUBEK -ZORNES -ZOGLMANN -ZIMINSKI -ZIMBELMAN -ZHANEL -ZENOR -ZECHMAN -ZAUNER -ZAMARRON -ZAFFINO -YUSUF -YTUARTE -YOKE -YETT -YERKOVICH -YELDER -YAW -YASUDA -YAPP -YANKEE -YADEN -YACKLEY -YACCARINO -XIA -WYTCH -WYRE -WUSSOW -WORTHING -WORMWOOD -WORMACK -WORLDS -WORDSWORTH -WORDELL -WOODROOF -WOODINGTON -WOODHAMS -WOODDELL -WOLLNER -WOJTKOWSKI -WOJCICKI -WOGAN -WLODARCZYK -WIXTED -WITHINGTON -WITHEM -WISLER -WIRICK -WINTERHALTER -WINSKI -WINNE -WINEMILLER -WIMETT -WILTFONG -WILLIBRAND -WILLES -WILKOS -WILBON -WIKTOR -WIGGERS -WIGG -WIEGMANN -WICKLIFF -WIBERG -WHITTLER -WHITTENTON -WHITLING -WHITLEDGE -WHITHERSPOON -WHITERS -WHITECOTTON -WHITEBIRD -WHEARY -WETHERILL -WESTMARK -WESTABY -WERTENBERGER -WENTLAND -WENSTROM -WENKER -WELLEN -WEIER -WEGLEITNER -WEDEKIND -WAWERS -WASSEL -WAREHIME -WANK -WANDERSEE -WALTMON -WALTERSHEID -WALBRIDGE -WAKELY -WAKEHAM -WAJDA -WAITHE -WAIDELICH -WAHLER -WAHINGTON -WAGSTER -WADEL -VUYOVICH -VUOLO -VULICH -VUKOVICH -VOLMER -VOLLRATH -VOLLBRECHT -VOGELGESANG -VOELLER -VLACH -VIVAR -VITULLO -VITANZA -VISKER -VISALLI -VIRAY -VINNING -VINIARD -VILLAPANDO -VILLAMAN -VIER -VIAR -VIALL -VERSTRAETE -VERMILYA -VERDON -VENN -VELTEN -VELIS -VASEY -VANOVEN -VANORDER -VANLUE -VANHEEL -VANDERWOUDE -VANDERHEIDE -VANDENHEUVEL -VANDENBOS -VANDEBERG -VANDAL -VANBLARCOM -VANAKEN -VANACKER -VALLIAN -VALINE -VALENT -VAINE -VAILE -VADNER -UTTECH -URIOSTE -URBANIK -UNRATH -UNNASCH -UNDERKOFLER -UEHARA -UDY -TYRER -TYBURSKI -TWADDLE -TURNTINE -TUNIS -TULLOCK -TRUNK -TROPP -TROILO -TRITSCH -TRIOLA -TRIGO -TRIBOU -TRIBLEY -TRI -TRETHEWEY -TRESS -TRELA -TREHARNE -TREFETHEN -TRAYLER -TRAX -TRAUT -TRANG -TRANEL -TRAGER -TRACZYK -TOWSLEY -TORRECILLAS -TORNATORE -TORK -TORIVIO -TORIELLO -TOOLES -TOODLE -TOMME -TOLOSA -TOLEN -TOCA -TITTERINGTON -TIPSWORD -TINKLENBERG -TIM -TIGNEY -TIGERT -THYGERSON -THURN -THUR -THREATS -THORSTAD -THORNBERG -THORESEN -THOMASTON -THOLEN -THICKE -THEILER -THEBEAU -THEAUX -THAKER -TEWANI -TEUFEL -TETLEY -TERREBONNE -TERRANO -TERPENING -TELLY -TELA -TEIG -TEICHERT -TEGETHOFF -TEELE -TATAR -TASHJIAN -TARTE -TANTON -TANIMOTO -TAMIMI -TAMAS -TALMAN -TAAL -SZYDLOWSKI -SZOSTAK -SWOYER -SWERDLOW -SWEEDEN -SWEDA -SWANKE -SWANDER -SWACKHAMMER -SUYAMA -SURIANO -SURI -SURDAM -SUPRENANT -SUNDET -SUMMERTON -SULT -SULEIMAN -SUFFRIDGE -SUBY -STYCH -STUDENY -STUBBINS -STRUPP -STRUCKMAN -STRIEF -STRICTLAND -STREMCHA -STREHL -STRAMEL -STOY -STOUTAMIRE -STOROZUK -STORDAHL -STOPHER -STOLLEY -STOLFI -STOEGER -STOCKHAUSEN -STJULIAN -STIVANSON -STINTON -STINCHFIELD -STIGLER -STIEGLITZ -STGERMAINE -STEUER -STEUBER -STEUART -STEPTER -STEPNOWSKI -STEPANIAN -STEIMER -STEFANELLI -STEBNER -STEARS -STEANS -STAYNER -STAUBIN -STATZ -STASIK -STARN -STARMER -STARGEL -STANZIONE -STANKOVICH -STAN -STAMOUR -STAIB -STADELMAN -STADEL -STACHURA -SQUADRITO -SPRINKLES -SPRINGSTEAD -SPRAGG -SPIGELMYER -SPIELER -SPIELBERG -SPAUR -SOVOCOOL -SOVEREIGN -SOUNDARA -SOULIA -SOUFFRANT -SOS -SORCE -SONKIN -SODHI -SOBLE -SNIFFEN -SMOUSE -SMITTLE -SMITHEE -SMEDICK -SMALLER -SLOWINSKI -SLOVACEK -SLOMINSKI -SLICE -SKOWRONEK -SKOKAN -SKANES -SIVERTSON -SINYARD -SINKA -SINARD -SIMONIN -SIMONIAN -SIMMIONS -SILCOTT -SILBERG -SIEFKEN -SIDDON -SHUTTLESWORTH -SHUBIN -SHUBECK -SHIRO -SHIRAKI -SHIPPER -SHINA -SHILT -SHIKLES -SHIDELER -SHENTON -SHELVEY -SHELLITO -SHELHORSE -SHAWCROFT -SHATTO -SHANHOLTZER -SHAMONSKY -SHALL -SHADDEN -SEYMER -SEYFARTH -SEWER -SETLOCK -SERVANT -SERRATOS -SERR -SEPULUEDA -SENAY -SEMMEL -SEMANS -SELVIG -SELKIRK -SELK -SELIGSON -SELDIN -SEIPLE -SEIERSEN -SEIDLING -SEIDENSTICKER -SECKER -SEARSON -SCORDO -SCOLLARD -SCOGGAN -SCOBEE -SCIANDRA -SCIALDONE -SCHWIMMER -SCHWIEGER -SCHWEER -SCHWANZ -SCHUTZENHOFER -SCHUETZE -SCHRODT -SCHRIEVER -SCHRIBER -SCHREMP -SCHRECONGOST -SCHRAEDER -SCHONBERG -SCHOLTZ -SCHOLLE -SCHOETTLE -SCHOENEMANN -SCHOENE -SCHNITKER -SCHMUHL -SCHMITH -SCHLOTTERBECK -SCHLEPPENBACH -SCHLEE -SCHICKEL -SCHIBI -SCHEIN -SCHEIDE -SCHEIBE -SCHEIB -SCHAUMBERG -SCHARDEIN -SCHAALMA -SCANTLIN -SCANTLEBURY -SAYLE -SAUSEDO -SAURER -SASSONE -SARRACINO -SARIC -SANZ -SANTINO -SANTARPIA -SANTANO -SANTANIELLO -SANGHA -SANDVIK -SANDORAL -SANDOBAL -SANDERCOCK -SANANTONIO -SALVIEJO -SALSBERRY -SALOIS -SALAZER -SAGON -SAGLIBENE -SAGEL -SAGAL -SAETERN -SAEFONG -SADIQ -SABORI -SABALLOS -RYGIEL -RUSHLOW -RUNCO -RULLI -RULLER -RUFFCORN -RUESS -RUEBUSH -RUDLONG -RUDIN -RUDGERS -RUDESILL -RUDERMAN -RUCKI -RUCINSKI -RUBNER -RUBINSON -RUBIANO -RUAN -ROZNOWSKI -ROZANSKI -ROWSON -ROWER -ROUNSAVILLE -ROUDABUSH -ROTUNDO -ROTHELL -ROTCHFORD -ROSILES -ROSHAK -ROSETTI -ROSENKRANZ -RORER -ROLLYSON -ROKOSZ -ROJEK -ROITMAN -ROHRS -ROGEL -ROEWE -RODRIGES -RODOCKER -RODGERSON -RODAN -RODAK -ROCQUE -ROCHHOLZ -ROCHEL -ROBICHEAU -ROBBINSON -ROADY -RITCHOTTE -RIPPLINGER -RIPPETOE -RINGSTAFF -RINGENBERG -RINARD -RIGLER -RIGHTMIRE -RIESEN -RIEK -RIDGES -RICHNER -RICHBERG -RIBACK -RIAL -RHYNER -RHEES -RESSE -RENNO -RENEE -RENDLEMAN -REN -REISZ -REISENAUER -REINSCHMIDT -REINS -REINHOLT -REINARD -REIFSNYDER -REHFELD -REHA -REGESTER -REFFITT -REDLER -REDISKE -RECKNER -RECKART -REBOLLOSO -REBOLLAR -REASONOVER -REASNER -REASER -REANO -REAGH -RAVAL -RATTERMAN -RATIGAN -RATER -RASP -RANESES -RANDOLF -RAMIL -RAMDAS -RAMBERG -RAJANIEMI -RAIL -RAID -RAGGIO -RAGEL -RAGAIN -RADE -RADAKER -RACIOPPI -RABINOVICH -QUICKLE -QUERTERMOUS -QUEAL -QUARTUCCI -QUANDER -QUAIN -PYNES -PUTZEL -PURL -PULIZZI -PUGLIARES -PRUSAK -PRUETER -PROTANO -PROPPS -PRIMACK -PRIEUR -PRESTA -PREISTER -PRAWL -PRATLEY -PRAIRIE -POZZO -POWLESS -POVEY -POTTORF -POTE -POSTLEY -PORZIO -PORTS -PORTNEY -PONZI -PONTORIERO -PONTO -PONT -PONCEDELEON -POLIMENI -POLHAMUS -POLE -POLAN -POETKER -POELLNITZ -PODGURSKI -PLOTTS -PLIEGO -PLAUGHER -PLANTENBERG -PLAIR -PLAGMANN -PIZZITOLA -PITTINGER -PITCAVAGE -PISCHKE -PIONTEK -PINTAR -PINNOW -PINNEO -PINLEY -PINGEL -PINELLO -PIMENTA -PILLARD -PIKER -PIETRAS -PIERE -PICASSO -PHILLPS -PFLEGER -PFAHL -PEZZUTI -PETRUCCELLI -PETRELLO -PETEET -PESCATORE -PERUZZI -PERUSSE -PEROTTA -PERONA -PERINI -PERETTI -PERELMAN -PERCIFUL -PEPPIN -PENNIX -PENNINO -PENALOSA -PEMBLE -PELZ -PELTZER -PELPHREY -PELOTE -PELLUM -PELLECCHIA -PELIKAN -PEITZ -PEELS -PEBWORTH -PEARY -PAWLICKI -PAVELICH -PASTER -PASQUARELLA -PASKEY -PASEUR -PASCHEL -PARSLOW -PARROW -PARROT -PARLOW -PARLETT -PARLER -PARGO -PARCO -PAPROCKI -PANEPINTO -PANEBIANCO -PANDY -PANDEY -PAMPHILE -PAMINTUAN -PAMER -PALUSO -PALEO -PAKER -PAGETT -PACZKOWSKI -OZBURN -OVINGTON -OVERMEYER -OUELLET -OSTERLUND -OSLIN -OSEGUERA -OSAKI -ORROCK -ORMSBEE -ORLIKOWSKI -ORGANISTA -OREGAN -OREBAUGH -ORABUENA -OPENSHAW -ONTIVEROZ -ONDO -OMOHUNDRO -OLLOM -OLLIVIERRE -OLIVENCIA -OLEY -OLAZABAL -OKINO -OKI -OFFENBERGER -OESTMANN -OCKER -OBAR -OAKESON -NUZUM -NURRE -NOWINSKI -NOVOSEL -NORQUIST -NORDLIE -NOORANI -NONNEMACHER -NOLDER -NJOKU -NIZNIK -NIWA -NISS -NINNEMAN -NINER -NIMTZ -NIEMCZYK -NIEDER -NICOLO -NICHLOS -NIBLACK -NEWYEAR -NEWTOWN -NEWILL -NEWCOM -NEVERSON -NEUHART -NEUENSCHWANDE -NESTLER -NENNO -NEJMAN -NEIFFER -NEIDLINGER -NEGLIA -NEEDS -NEARING -NAZARIAN -NAVOR -NARY -NARAYAN -NANGLE -NAKAMA -NAISH -NAIK -NADOLSKI -MUSCATO -MURPHREY -MURDICK -MURCHIE -MURATALLA -MUNNIS -MUNDWILLER -MUNCEY -MUNCE -MULLENBACH -MULHEARN -MULCAHEY -MUHAMMED -MUCHOW -MOUNTFORD -MOUDRY -MOSKO -MORVAY -MORRICAL -MORR -MOROS -MORMANN -MORGEN -MOREDOCK -MORDEN -MORDARSKI -MORAVEK -MORANDI -MORALE -MOORADIAN -MONTEJO -MONTEGUT -MONTAN -MONSANTO -MONFORD -MONCUS -MOLINAS -MOLEK -MOHD -MOEHRLE -MOEHRING -MODZELESKI -MODEL -MODAFFERI -MOALA -MOAKE -MIYAHIRA -MITANI -MISCHEL -MINGES -MINELLA -MIMES -MILLES -MILBRETT -MILANES -MIKOLAJCZYK -MIKAMI -MEUCCI -METLER -METHVEN -METGE -MESSMORE -MESSERSCHMIDT -MESROBIAN -MESERVEY -MERSEAL -MENOR -MENON -MENEAR -MELOTT -MELLEY -MELFI -MEINHART -MEGIVERN -MEGEATH -MEESTER -MEELER -MEEGAN -MEDOFF -MEDLER -MECKLEY -MEATH -MEARNS -MCQUIGG -MCPADDEN -MCLURE -MCKELLIPS -MCKEITHEN -MCGLATHERY -MCGINNES -MCGHAN -MCDONEL -MCCULLOM -MCCRAKEN -MCCRACKIN -MCCONATHY -MCCLOE -MCCLAUGHRY -MCCLAFLIN -MCCARREN -MCCAIG -MCAULAY -MCAFFEE -MAZZUCA -MAYTUBBY -MAYNER -MAYMI -MATTIELLO -MATTHIS -MATTHEES -MATTHAI -MATHIASON -MASTROGIOVANN -MASTELLER -MASHACK -MARUCCI -MARTORANA -MARTINIZ -MARTER -MARTELLARO -MARSTELLER -MARRIS -MARRARA -MARONI -MAROLDA -MAROCCO -MARITN -MARGO -MARESH -MAREADY -MARCHIONE -MARBUT -MARANAN -MARAGNO -MAPPS -MANRRIQUEZ -MANNY -MANNIS -MANNI -MANGINA -MANGANELLI -MANCERA -MAMON -MALOCH -MALLOZZI -MALLER -MAJCHRZAK -MAJANO -MAINELLA -MAHANNA -MAERTENS -MADON -MACUMBER -MACIOCE -MACHUGA -MACHLIN -MACHIDA -MACHALA -MABRA -LYNNE -LYBBERT -LUVERT -LUTTS -LUTTRULL -LUPEZ -LUKEHART -LUDEWIG -LUCHSINGER -LOYAL -LOVECCHIO -LOUISSAINT -LOUGHNEY -LOTTIE -LOSTROH -LOSE -LORTON -LORETTE -LOPEMAN -LOPARO -LONGS -LONER -LONDO -LOMBERA -LOKIETEK -LOIKO -LOHRENZ -LOHAN -LOFTIES -LOCKLAR -LOCKABY -LOBIANCO -LOADER -LOA -LLANO -LIVESEY -LITSTER -LITER -LISKE -LINSKY -LINNE -LINDBECK -LIMES -LICUDINE -LEYUA -LEVIE -LETTERMAN -LEONELLI -LENZO -LENZE -LENTS -LEITAO -LEIF -LEIDECKER -LEIBOLD -LEHNE -LEGAN -LEGACY -LEFAVE -LEEHY -LEDUE -LECOUNT -LECEA -LEADLEY -LAZZARA -LAZCANO -LAZALDE -LAYER -LAVI -LAVANCHA -LAVAN -LAV -LAUDE -LATU -LATTY -LATO -LARRANAGA -LAPIDUS -LAPENTA -LANGRIDGE -LANGEVELD -LANGEL -LANES -LANDOWSKI -LANDGREN -LANDFRIED -LAME -LAMATTINA -LALLIER -LAIRMORE -LAHAIE -LAGAZO -LAGAN -LAFOE -LAFLUER -LAFLAME -LAFEVERS -LADA -LACOSS -LACHNEY -LABRECK -LABRECHE -LABAY -LAA -KWASNIK -KUZYK -KUTZNER -KUSHNIR -KUSEK -KURTZMAN -KURIAN -KULHANEK -KUKLINSKI -KUH -KUENY -KUCZYNSKI -KUBITZ -KUANG -KRUSCHKE -KROUS -KROMPEL -KRITZ -KRIMPLE -KRIESE -KRENZER -KREIS -KRATZKE -KRANE -KRAGE -KRAEBEL -KOZUB -KOZMA -KOURI -KOUDELKA -KOTCHER -KOTAS -KOSTIC -KOSH -KOSAR -KOPKO -KOPKA -KOOY -KONIGSBERG -KONARSKI -KOLMER -KOHLMEYER -KOBBE -KNOOP -KNOEDLER -KNOCKE -KNIPPLE -KNIPPENBERG -KNICKREHM -KNEISEL -KLUSS -KLOSSNER -KLIPFEL -KLAWITER -KLASEN -KITTLES -KISSACK -KIRTLAND -KIRSCHENMANN -KIRCKOF -KIPHART -KINSTLER -KINION -KILTON -KILLMAN -KIEHL -KIEF -KETT -KESLING -KESKE -KERSTEIN -KEPPLE -KENEIPP -KEMPSON -KEMPEL -KELP -KEHM -KEHLER -KEH -KEERAN -KEEDY -KEBERT -KEAST -KEARBEY -KAWAGUCHI -KAUPU -KAUBLE -KATZENBACH -KATE -KATCHER -KARTES -KARPOWICZ -KARPF -KAREN -KARBAN -KANZLER -KANAREK -KAMPER -KAMAN -KALSOW -KALAFUT -KAESER -KAERCHER -KAEO -KAEDING -JUREWICZ -JULSON -JOZWICK -JOLLIE -JOHNIGAN -JOHLL -JOCHUM -JEWKES -JESTES -JESKA -JERSEY -JEREB -JAYSON -JAUREZ -JARECKI -JANSMA -JANOSIK -JANDRIS -JAMIN -JAHR -JACOT -JABS -IVENS -ITSON -ISENHOWER -IOVINO -IONESCU -INGRUM -INGELS -INCH -IMRIE -IMLAY -IHLENFELD -IHDE -IGOU -IBACH -HUYETT -HURRY -HUPPE -HULTBERG -HULLIHEN -HUGI -HUESO -HUESMAN -HSIAO -HRONEK -HOVDE -HOUSEWRIGHT -HOULAHAN -HOUGHAM -HOUCHEN -HOSTLER -HOSTER -HOSANG -HORNIK -HORNES -HORIO -HONYUMPTEWA -HONEYMAN -HONER -HOMMERDING -HOLSWORTH -HOLLOBAUGH -HOLLINSHEAD -HOLLANDS -HOLLAN -HOLECEK -HOLDORF -HOKES -HOGSTON -HOESLY -HODKINSON -HODGMAN -HODGENS -HOCHSTEDLER -HOCHHAUSER -HOBBIE -HOARE -HNAT -HISS -HISKEY -HIRSCHY -HINOSTROZA -HINK -HING -HILLMER -HILLIAN -HILLERMAN -HIETALA -HIERRO -HICKLING -HICKINGBOTTOM -HEYE -HEUBUSCH -HESSELSCHWARD -HERRIOT -HERNON -HERMIDA -HERMANS -HENTSCHEL -HENNINGSON -HENNEKE -HENK -HENINGER -HELTSLEY -HELMLE -HELMINIAK -HELMES -HELLNER -HELLMUTH -HELKE -HEITMEYER -HEIRD -HEINLE -HEINICKE -HEINANDEZ -HEIMSOTH -HEIMLICH -HEIBEL -HEGYI -HEGGAN -HEFEL -HEERALALL -HEDRINGTON -HEACOX -HAZLEGROVE -HAZELETT -HAYMORE -HAVENHILL -HAUTALA -HASCALL -HARVIE -HARTRICK -HARTLING -HARRER -HARLES -HARGENRADER -HANSHEW -HANLY -HANKLA -HANISCH -HANCOX -HAMMANN -HAMBELTON -HALSETH -HALLISEY -HALLECK -HALLAS -HAISLEY -HAIRR -HAINEY -HAINER -HAILSTOCK -HAERTEL -GUZEK -GUYETT -GUSTER -GUSSLER -GURWITZ -GURKA -GUNSOLUS -GUINANE -GUIDEN -GUGLIOTTI -GUEVIN -GUEVARRA -GUERARD -GUDAITIS -GUADELOUPE -GSCHWIND -GRUPE -GRUMBACH -GRUENES -GRUENBERG -GROSSER -GROM -GRODSKI -GRODEN -GRIZZEL -GRITTEN -GRISWALD -GRISHABER -GRINAGE -GRIMWOOD -GRIMS -GRIFFON -GRIFFIES -GRIBBEN -GREW -GRESSLEY -GREN -GREENSTREET -GREALISH -GRAVETT -GRANTZ -GRANFIELD -GRANADE -GOWELL -GOSSOM -GORSKY -GORING -GOODNOW -GOODFRIEND -GOODEMOTE -GOLOB -GOLLNICK -GOLLADAY -GOLDWYN -GOLDSBORO -GOLDS -GOLDRICK -GOHRING -GOHN -GOETTSCH -GOERTZEN -GOELZ -GODINHO -GOANS -GLUMAC -GLEISNER -GLEEN -GLASSNER -GLANZER -GLADUE -GJELAJ -GIVHAN -GIRTY -GIRONE -GIRGENTI -GIORGIANNI -GILPATRIC -GILLIHAN -GILLET -GILBAR -GIERUT -GIERHART -GIBERT -GIANOTTI -GIANNETTO -GIANELLI -GIAMBANCO -GHARING -GEURTS -GETTIS -GETTEL -GEST -GERMANI -GERDIS -GERBITZ -GEPPERT -GENNINGS -GEMMER -GELVIN -GELLERT -GEHLER -GEDDINGS -GEARON -GEACH -GAZAILLE -GAYHEART -GAULD -GAUKEL -GAUDIO -GATO -GATHING -GASQUE -GARSTKA -GARSEE -GARRINGER -GAROFANO -GARO -GARNSEY -GARIGEN -GARCIAS -GARBE -GANOUNG -GANFIELD -GANAWAY -GAMERO -GALUSKA -GALSTER -GALLACHER -GALINSKI -GALIMI -GALIK -GALEAZZI -GALDO -GALDAMES -GALAS -GALANIS -GAGLIO -GAFF -GAEDDERT -GADAPEE -FUSSNER -FURUKAWA -FUHS -FUERTE -FUERSTENBERG -FRYREAR -FRUITS -FROESE -FRINGER -FRIESON -FRIESENHAHN -FRIELER -FRIEDE -FREYMUTH -FREYMAN -FREUDENBERG -FREMAN -FREDRICKSEN -FRECH -FRASCH -FRANTUM -FRANKIN -FRANCA -FRAGO -FRAGNOLI -FOUQUET -FOSSEN -FOSKETT -FORNER -FORMOSA -FORMISANO -FORGET -FOOKS -FONS -FOLINO -FLOTT -FLOOR -FLESCH -FLENER -FLEMMONS -FLATTERY -FLANAGIN -FLAMINO -FLAMAND -FITZERALD -FINDLING -FILSINGER -FILLYAW -FILLINGER -FIECHTER -FERRE -FERDON -FELDKAMP -FAZZIO -FAVIA -FAULCONER -FAUGHNAN -FAUBEL -FASSLER -FASO -FARREY -FARRARE -FARNWORTH -FARLAND -FAIRROW -FAILLE -FAHERTY -FAGNANT -FABULA -FABBRI -EYLICIO -ESTEVE -ESTALA -ESPERICUETA -ESCAJEDA -ERLICH -EQUIA -EPSON -ENRRIQUEZ -ENOMOTO -ENMON -ENGEMANN -EMMERSON -EMMEL -EMLER -EMILIO -ELSTAD -ELLWEIN -ELLERSON -ELIOTT -ELIASSEN -ELCHERT -EISENBEIS -EISEL -EIKENBERRY -EICHHOLZ -EHMER -EDRIS -EDGERSON -ECHENIQUE -EBERLEY -EANS -DZIUK -DYKHOUSE -DWORAK -DUTT -DUPAS -DUNTZ -DUNSHEE -DUNOVANT -DUNNAWAY -DUMMERMUTH -DUERSON -DUDDY -DUCOTEY -DUCHON -DUCHESNEAU -DUCCI -DUBORD -DUBERRY -DUBACH -DRUMMONDS -DROEGE -DRISH -DRIER -DREXEL -DRESCH -DRESBACH -DRENNER -DRECHSLER -DOWEN -DOTTER -DOSREIS -DOSER -DORWARD -DORIN -DORF -DOOR -DOMEIER -DOLER -DOLEMAN -DOLBOW -DOLBIN -DOBRUNZ -DOBRANSKY -DOBBERSTEIN -DLOUHY -DIOSDADO -DINGMANN -DIMMER -DIMARINO -DIMARIA -DILLY -DILLENBURG -DILAURA -DIEKEN -DICKHAUS -DIBBLES -DIBBEN -DIAMANTE -DEWILDE -DEWAARD -DEVICH -DEVENNEY -DEVAUX -DETTINGER -DESROBERTS -DERSHEM -DERSCH -DERITA -DERICKSON -DEPINA -DEORIO -DEOLIVEIRA -DENZLER -DENTREMONT -DENOBLE -DEMSHAR -DEMOND -DEMINT -DEMICHELE -DEMEL -DELZER -DELVAL -DELORBE -DELLI -DELBRIDGE -DELANOY -DELANCY -DELAHOYA -DEKLE -DEITRICK -DEIS -DEHNERT -DEGRATE -DEFRANCE -DEETZ -DEEG -DECOSTER -DECENA -DEARMENT -DAUGHETY -DATT -DARROUGH -DANZER -DANTE -DANIELOVICH -DANDURAND -DANCAUSE -DALO -DALGLEISH -DAISLEY -DAFT -DADLANI -DADDONA -DADDIO -DACPANO -CYPRIAN -CUTILLO -CUSH -CURZ -CURVIN -CUNA -CUMBER -CULLOM -CUDWORTH -CUBAS -CRYSLER -CRYDERMAN -CRUMMEY -CRUMBLY -CROOKSHANKS -CROES -CRISCIONE -CRIMES -CRESPI -CRESCI -CREASER -CRATON -CRAMP -CRADLE -COWIN -COWDREY -COUTCHER -COTTERMAN -COSSELMAN -COSGRIFF -CORTNER -CORSINI -CORPORAN -CORNIEL -CORNICK -CORDTS -CORDIAL -COPENING -COOLMAN -CONNICK -CONLISK -CONELLI -COMMON -COMITO -COLTEN -COLLING -COLLETTA -COLDIVAR -COLCLASURE -COLANTUONO -COLAIZZI -COGGESHALL -COCKMAN -COCKFIELD -COBOURN -COBO -COBARRUBIAS -CLYATT -CLONEY -CLONCH -CLIMES -CLECKNER -CLEARO -CLAYBOURNE -CLAVIN -CLARIDGE -CLAFFEY -CIUFO -CISNERO -CIPOLLONE -CIESLIK -CIEJKA -CICHOCKI -CICCHETTI -CIANFLONE -CHRUSCIEL -CHRISTESEN -CHMIELOWIEC -CHIRINO -CHILLIS -CHIHUAHUA -CHHOUN -CHEVAS -CHEHAB -CHAVIANO -CHAVARIA -CHASTEN -CHARBONNET -CHANLEY -CHAMPOUX -CHAMPA -CHALIFOUX -CERIO -CEDOTAL -CECH -CAVETT -CAVENDISH -CATOIRE -CASTRONOVO -CASTELLUCCI -CASTELLOW -CASTANER -CASSO -CASSELS -CASSATT -CASSAR -CASHON -CARTRIGHT -CARROS -CARRISALEZ -CARRIG -CARREJO -CARNICELLI -CARNETT -CARLISE -CARLINE -CARHART -CAREN -CARDOVA -CARDELL -CARCHI -CARAM -CAQUIAS -CAPPER -CAPIZZI -CAPANO -CANNEDY -CAMPESE -CALVELLO -CALLON -CALLINS -CALLIES -CALLICUTT -CALIX -CALIN -CALIFF -CALDERARO -CALDEIRA -CADRIEL -CADMUS -CADMAN -CACCAMISE -BUYS -BUTTERMORE -BUTAY -BUSTAMENTE -BUSA -BURMESTER -BURKARD -BURHANS -BURGERT -BURE -BURDIN -BULLMAN -BULIN -BUELNA -BUEHNER -BUDIN -BUCO -BUCKHANON -BRYARS -BRUTGER -BRUS -BRUMITT -BRUM -BRUER -BRUCATO -BROYHILL -BROY -BROWNRIGG -BROWNIE -BROSSART -BROOKINGS -BRODEN -BROCKLEHURST -BROCKERT -BRISTO -BRISKEY -BRISBANE -BRINGLE -BRIES -BRIAR -BRESSMAN -BREN -BRANYAN -BRANDS -BRAMSON -BRAMMELL -BRALLIER -BOZICH -BOYSEL -BOWTHORPE -BOWRON -BOWIN -BOUTILIER -BOULOS -BOULLION -BOUGHTER -BOTTIGLIERI -BORRUSO -BORROW -BORREGGINE -BORNS -BORKOSKI -BORGHESE -BORENSTEIN -BORAN -BORA -BOOTON -BONVILLAIN -BONINI -BONG -BONELLO -BOLLS -BOITNOTT -BOIKE -BOHNET -BOHNENKAMP -BOHMER -BOESON -BOENEKE -BODEY -BOCCHINO -BOBROWSKI -BOBIC -BLUESTEIN -BLOOMINGDALE -BLOGG -BLEWITT -BLENMAN -BLECK -BLASZAK -BLANKENBECKLE -BLANDO -BLANCHFIELD -BLANCATO -BLALACK -BLAKENSHIP -BLACKETT -BISPING -BIRKNER -BIRCKHEAD -BINGLE -BINEAU -BILLIEL -BIGNESS -BIES -BIERER -BHALLA -BEYERLEIN -BEW -BETESH -BESLER -BERZINS -BERTALAN -BERNTSEN -BERNA -BERGO -BERGANZA -BENNIS -BENNEY -BENKERT -BENJAMEN -BENINCASA -BENGOCHIA -BENDLE -BENDANA -BENCHOFF -BENBROOK -BELSITO -BELSHAW -BELINSKY -BELAK -BELA -BEIGERT -BEIDLEMAN -BEHEN -BEFUS -BEEL -BEEBEE -BEDONIE -BECKSTRAND -BECKERLE -BEATO -BEARS -BAUGUESS -BAUGHAN -BAUERLE -BATTIS -BATIS -BASTONE -BASTILLE -BASSETTI -BASHOR -BARY -BARTUNEK -BARTOLETTI -BARRO -BARNO -BARNICLE -BARLAGE -BARKUS -BARKDULL -BARI -BARCELLOS -BARBARINO -BARANSKI -BARANICK -BANKERT -BANCHERO -BAN -BAMBRICK -BAMBERG -BAMBENEK -BALTHROP -BALMACEDA -BALLMAN -BALISTRIERI -BALCOMB -BALBONI -BALBI -BAKSHI -BAGNER -BAGENT -BADASCI -BACOT -BACHE -BABU -BABIONE -BABIC -BABERS -BABBS -AWKWARD -AVITABILE -AVERS -AVENA -AVANCE -AUSLEY -AUKER -AUDAS -AUD -AUBUT -ATHEARN -ATCHESON -ASTORINO -ASPLUND -ASLANIAN -ASKARI -ASHMEAD -ASBY -ASAI -ARTERBURY -ARTALEJO -ARQUETA -ARQUERO -AROSTEGUI -ARNELL -ARMELI -ARISTA -ARENDER -ARCA -ARBALLO -APREA -APPLEN -APPLEGARTH -APFEL -ANTONELLO -ANTOLIN -ANTKOWIAK -ANGIS -ANGIONE -ANGERMAN -ANGELILLI -ANDUJO -ANDRICK -ANDERBERG -AMIGON -AMBERS -AMALFITANO -ALVISO -ALVEZ -ALTICE -ALTES -ALMAREZ -ALLTON -ALLSTON -ALLGEYER -ALLEGRETTI -ALIAGA -ALGOOD -ALBERG -ALBAREZ -ALBALADEJO -AKRE -AITKIN -AHLES -AHLBERG -AGNELLO -ADRIEN -ADINOLFI -ADAMIS -ABRAMEK -ABOLT -ABITONG -ZURICH -ZURAWSKI -ZUFALL -ZUBKE -ZIZZO -ZIPPERER -ZINNER -ZINDA -ZILLER -ZILL -ZEVALLOS -ZESATI -ZENZEN -ZENTNER -ZELLMANN -ZELINSKY -ZBORAL -ZARCONE -ZAPALAC -ZALDANA -ZAKES -ZAKER -ZAHNISER -ZACHERL -ZABAWA -ZABANEH -YUM -YOUSE -YOUREE -YOUNIS -YORTY -YONCE -YERO -YERKEY -YECK -YEARGAN -YAUCH -YASHINSKI -YAMBO -XIANG -WRINN -WRIGHTSMAN -WORTON -WORTLEY -WORLAND -WOOLWORTH -WOOLFREY -WOODHEAD -WOLTJER -WOLFENDEN -WOLDEN -WOLCHESKY -WOJICK -WOESSNER -WITWER -WITTERS -WITCHARD -WISSLER -WISNIESKI -WISINSKI -WINNIKE -WINKOWSKI -WINKELS -WINGENTER -WINEMAN -WINEGARDNER -WIMPY -WILRIDGE -WILMONT -WILLY -WILLIANS -WILLIAMSEN -WILHIDE -WILHELMSEN -WILHELMI -WILDRICK -WILDEN -WILAND -WIKER -WIGGLESWORTH -WIEBUSCH -WIDDOWSON -WIANT -WIACEK -WHITTET -WHITTER -WHITELOCK -WHITEIS -WHILEY -WESTROPE -WESTPFAHL -WESTIN -WESSMAN -WESSINGER -WESEMANN -WESBY -WERTHEIMER -WEPPLER -WENKE -WENGLER -WENDER -WELP -WEITZNER -WEISSBERG -WEISENBORN -WEIPERT -WEIMAN -WEIDMANN -WEHRSIG -WEHRENBERG -WEEMES -WEEMAN -WAYNER -WASTON -WASICEK -WASCOM -WASCO -WARMATH -WARBRITTON -WALTNER -WALLENSTEIN -WALDOCH -WALDAL -WALA -WAIDE -WADLINGER -WADHAMS -VULLO -VOORHEIS -VONBARGEN -VOLNER -VOLLSTEDT -VOLLMAN -VOLD -VOGE -VITTORIO -VIRTUE -VIRGINIA -VIOLETT -VINEY -VINCIGUERRA -VINAL -VILLATA -VILLARRVEL -VILANOVA -VIGOR -VIGNEAULT -VIEW -VIELMA -VEYNA -VESSELLA -VERSTEEGH -VERDERBER -VENIER -VENICE -VENDITTI -VELOTTA -VEJARANO -VEIL -VECCHIA -VECCHI -VASTINE -VASGUEZ -VARELLA -VANRY -VANNAH -VANHYNING -VANHUSS -VANHOFF -VANHOESEN -VANDIVORT -VANDEVENDER -VANDERLIP -VANDERKOOI -VANDEBRINK -VANCOTT -VALLIEN -VALLAS -VALLANDINGHAM -VALIQUETTE -VALASEK -VAHEY -VAGOTT -UYEMATSU -URBANI -URAN -UPP -UNO -UNION -UMBACH -UDO -TYON -TYMA -TWYFORD -TWOMBLEY -TWOHIG -TUTTERROW -TURNES -TURKINGTON -TURCHI -TUNKS -TUMEY -TUMBAGA -TUINSTRA -TSUKAMOTO -TSCHETTER -TRUSSEL -TRUBEY -TROVILLION -TROTH -TROSTEL -TRON -TRINKA -TRINE -TRIBBEY -TRIARSI -TREVOR -TRETO -TRAUTZ -TRAGESSER -TOOMAN -TOOLSON -TONOZZI -TOMKIEWICZ -TOMB -TOMASSO -TOLIN -TOLFREE -TOELLE -TISOR -TIRY -TINSTMAN -TIMMERMANN -TILLIE -TICKNER -TIBURCIO -THUNBERG -THRONTON -THOMPSOM -THEIL -THAYNE -THAGGARD -TESCHNER -TENSLEY -TENERY -TEMPEST -TELLMAN -TELLADO -TELEP -TEIGEN -TEATOR -TEALL -TAYAG -TAVIS -TATTERSALL -TASSONI -TARSHIS -TAPPIN -TAPPE -TANSLEY -TALONE -TALFORD -TAINTER -TAHA -TAGUCHI -TACHENY -TABAK -SZYMCZYK -SZWAJA -SZOPINSKI -SZE -SYVERTSEN -SWOGGER -SWITCHER -SWIST -SWILLING -SWIERCZEK -SWIECH -SWICKARD -SWIATEK -SWEZEY -SWEPSON -SWEEZY -SWARINGEN -SWANAGAN -SWAILES -SWADE -SVEUM -SVENNINGSEN -SVEC -SUTTIE -SUPRY -SUNGA -SUMMERHILL -SUMMARS -SULIT -STYS -STUTESMAN -STUPAK -STUMPO -STULLER -STUEKERJUERGE -STUCKETT -STUCKEL -STUCHLIK -STUARD -STRUTTON -STROP -STROMSKI -STROEBEL -STREHLOW -STRAUSE -STRANO -STRANEY -STRADLING -STOYLE -STORMO -STOPYRA -STOOTS -STOOP -STONIS -STOLTENBURG -STOIBER -STOESSEL -STITZER -STIEN -STICHTER -STEZZI -STEWERT -STEPLER -STEINKRAUS -STEGEMANN -STEEPLES -STEENBURG -STEELEY -STASZAK -STASKO -STARKSON -STANWICK -STANKE -STANIFER -STANGEL -STAIN -STAI -SQUIERS -SPROUT -SPRINGSTEEN -SPRAGLIN -SPRAGINS -SPRABERRY -SPOELSTRA -SPISAK -SPIRKO -SPILLE -SPIDEL -SPEYER -SPERONI -SPENST -SPEAK -SPARTZ -SPARLIN -SPARACIO -SPAMAN -SPAINHOWER -SOW -SOUERS -SOUCHET -SOSBEE -SORN -SORICE -SORBO -SOQUI -SOMER -SOLON -SOEHL -SODERGREN -SOCORRO -SOBIE -SMUCKER -SMSITH -SMOLEY -SMOLENSKY -SMOLENSKI -SMOLDER -SMETHERS -SLUSAR -SLOWEY -SLONSKI -SLEMMONS -SLATKIN -SLATES -SLAPPY -SLANEY -SLAGTER -SLACUM -SKUTNIK -SKRZYPEK -SKIBBE -SJOSTROM -SJOQUIST -SIVRET -SITKO -SISCA -SINNETT -SINEATH -SIMONI -SIMAR -SIMAO -SILVESTRO -SILLEMAN -SILKWOOD -SILHA -SILFIES -SILBERHORN -SILACCI -SIGRIST -SIECZKOWSKI -SIECZKA -SHURE -SHULZ -SHUGRUE -SHRODE -SHOWN -SHOVLIN -SHORTELL -SHONKA -SHIYOU -SHIRAISHI -SHIPLETT -SHEU -SHERMER -SHERICK -SHENG -SHEEKS -SHED -SHARRON -SHANTZ -SHAKIR -SHAHEED -SHADOAN -SHADID -SHACKFORD -SHABOT -SEUNG -SEUFERT -SETTY -SETTERS -SERVIS -SERVER -SERRES -SERRELL -SERPICO -SERPAS -SERAFINE -SENSENIG -SENFT -SEMENEC -SEMEN -SEMAS -SEMAAN -SELVERA -SELLMEYER -SEK -SEGAR -SEEVER -SEENEY -SEELIGER -SEEHAFER -SEEBACH -SEBBEN -SEAWARD -SEARY -SEARL -SEARBY -SCOTLAND -SCORDINO -SCOLIERI -SCOLARO -SCHWIEBERT -SCHWARTZE -SCHWANER -SCHUUR -SCHUPBACH -SCHUMACKER -SCHUM -SCHUDEL -SCHUBBE -SCHROADER -SCHRAMEL -SCHOLLMEYER -SCHOENHERR -SCHOEFFLER -SCHOEDER -SCHNURR -SCHNORR -SCHNEEMAN -SCHNAKE -SCHNAIBLE -SCHMAUS -SCHLOTTER -SCHINKE -SCHIMMING -SCHIMEK -SCHIKORA -SCHEULEN -SCHERPING -SCHERMER -SCHERB -SCHEMBER -SCHELLHASE -SCHEDLER -SCHANCK -SCHAFFHAUSER -SCHAFFERT -SCHADLER -SCAROLA -SCARFO -SCARFF -SCANTLING -SCAFF -SAYWARD -SAYAS -SAXBURY -SAVIN -SAVEL -SAVASTANO -SAVANNAH -SAULT -SATRE -SARKAR -SANTELLAN -SANDMEIER -SAMPICA -SALVESEN -SALTIS -SALLOUM -SALLING -SALCE -SALATINO -SALATA -SALAMY -SAFE -SADOWSKY -SADLIER -SABBATINI -SABATELLI -SABAL -SABADOS -RYDZEWSKI -RYBKA -RYBCZYK -RUZ -RUSCONI -RUPRIGHT -RUFINO -RUFFALO -RUDIGER -RUDIG -RUDA -RUBYOR -ROYEA -ROXBERRY -ROVER -ROUZER -ROUMELIOTIS -ROSTON -ROSSMANN -ROSKO -ROSETTA -ROSENE -ROSENBLUTH -ROSELAND -ROSASCO -ROSANO -ROSAL -RORABAUGH -ROMIE -ROMARO -ROLSTAD -ROLLOW -ROHRICH -ROGHAIR -ROGALA -ROETS -ROEN -ROEMMICH -ROELFS -ROEKER -ROEDL -ROEDEL -RODEHEAVER -RODDENBERRY -ROCKSTAD -ROCCHI -ROBIRDS -ROBBEN -ROBASCIOTTI -ROBAINA -RIZZOTTO -RIZZIO -RITTLE -RITCHER -RISSMAN -RISEDEN -RIPA -RION -RINTHARAMY -RINEHIMER -RINCK -RILING -RIKE -RIETSCHLIN -RIESENBERG -RIEMENSCHNEID -RIELAND -RICKENBAUGH -RICKENBACH -RICHES -RHODY -REVELLS -REUTTER -RESPRESS -RESNIK -RENTON -REMMEL -REITMEYER -REITAN -REISTER -REINSTEIN -REINO -REINKEMEYER -REIFSCHNEIDER -REIERSON -REICHLE -REHMEIER -REHL -REGINE -REEDS -REDE -RECORDS -RECAR -REBEIRO -RAYBOURN -RAWL -RAUTIO -RAUGUST -RAUDENBUSH -RAUDALES -RATTAN -RASHAD -RAPUANO -RAPOPORT -RANTANEN -RANSBOTTOM -RANER -RAMKISSOON -RAMBOUSEK -RAIO -RAINFORD -RADAKOVICH -RAD -RABENHORST -QUIVERS -QUISPE -QUINTIN -QUINOES -QUINCE -QUILICI -QUATTRONE -QUATES -QUANCE -QUALE -PURSWELL -PURPORA -PULERA -PULCHER -PUCKHABER -PRYER -PRUYNE -PRUIT -PRUDENCIO -PROWS -PROTZMAN -PROTHERO -PROSPERO -PROSPERI -PROSPAL -PRIVOTT -PRITCHET -PRIEM -PREST -PRELL -PREER -PREE -PREDDY -PREDA -PRAVATA -PRADHAN -POTOCKI -POSTIER -POSTEMA -POSSE -POSADAS -POREMBA -POPPER -POPICHAK -PONTI -POMRENKE -POMPONI -POMARICO -POLLOK -POLKINGHORN -POLINO -POCK -PLOUGH -PLENTY -PLATER -PLAGMAN -PIPHER -PINZONE -PINKLETON -PILLETTE -PILLERS -PILL -PILAPIL -PIGNONE -PIGNATELLI -PIERSOL -PIEPHO -PICTON -PICKREL -PICKET -PICHARD -PICCHI -PIATEK -PHARO -PHANTHANOUVON -PETTINGILL -PETTINATO -PETROVITS -PETHTEL -PETERSHEIM -PERSHING -PERREZ -PERRA -PERGRAM -PERETZ -PEREGO -PERCHES -PENNELLO -PENNELLA -PENNANT -PENDRY -PENAZ -PELLISH -PEEKS -PECANTY -PEARE -PAYSOUR -PAVLOVICH -PAVICK -PAVELKO -PAUSTIAN -PATZER -PATSY -PATETE -PATADIA -PASZKIEWICZ -PASE -PASCULLI -PASCASCIO -PARROTTE -PARLOR -PARAJON -PAPARO -PAPANDREA -PAONE -PANTALEON -PANNING -PANICCIA -PANCHO -PANARELLO -PALMETER -PALLAN -PALARDY -PAHMEIER -PADGET -PADEL -OYSTER -OYA -OXBORROW -OVESON -OUTWATER -OTTAWAY -OTAKE -OSTERMEYER -OSMER -OSINSKI -OSIECKI -OROAK -ORNDOFF -ORMS -ORKIN -OREGON -ORDIWAY -OPATZ -ONSUREZ -ONISHI -OLIGER -OKUBO -OKOYE -OHLMANN -OFFORD -OFFNER -OFFERDAHL -OESTERLE -OESCH -ODONNEL -ODEH -ODEBRALSKI -OBIE -OBERMEIER -OBERHAUSEN -OBENSHAIN -OBENCHAIN -OATS -NUTE -NULTY -NORRINGTON -NORLIN -NORE -NORDLING -NORDHOFF -NORDER -NORDAN -NORALS -NOGALES -NOBOA -NITSCHE -NIERMANN -NIENHAUS -NIEDRINGHAUS -NIEDBALSKI -NICOLELLA -NICOLAIS -NICKLEBERRY -NICEWANDER -NEWFIELD -NEUROHR -NEUMEIER -NETTERVILLE -NERSESIAN -NERN -NERIO -NERBY -NERBONNE -NEITZ -NEIGHBOURS -NEIGHBOR -NEIDECKER -NEAT -NEASON -NEAD -NAVRATIL -NAVES -NASTASE -NASIR -NASCA -NARINE -NARIMATSU -NARD -NARAYANAN -NAPPO -NAMM -NALBONE -NAKONECHNY -NABARRO -MYOTT -MUTHLER -MUSCATELLO -MURRIEL -MURIN -MURDERS -MUOIO -MUNDEL -MUNAFO -MULCH -MUKHERJEE -MUFFOLETTO -MUESSIG -MUCKEY -MUCHER -MRUK -MOYD -MOWELL -MOWATT -MOUTRAY -MOURNING -MOU -MOTZER -MOSTER -MORTIS -MORGENROTH -MORGA -MORATAYA -MONTROSS -MONTEZUMA -MONTERROZA -MONTEMARANO -MONTELLO -MONTBRIAND -MONTAVON -MONTAQUE -MONIGOLD -MONFORTE -MOLGARD -MOLESKI -MOHSIN -MOHEAD -MOFIELD -MOERBE -MOEDER -MOCHIZUKI -MIYAZAKI -MIYASAKI -MITAL -MISKIN -MISCHLER -MINUS -MINNIEAR -MINERO -MILOSEVIC -MILDENHALL -MILA -MIKHAIL -MIELSCH -MIDDEN -MICHONSKI -MICHNIAK -MICHITSCH -MICHELOTTI -MICHELI -MICHELFELDER -MICHAND -MIAO -METELUS -MERKT -MERANDO -MERANDA -MENTZ -MENELEY -MENAKER -MEMORY -MELINO -MEIR -MEHAFFY -MEEHL -MEECH -MECZYWOR -MCWEENEY -MCUMBER -MCREDMOND -MCNEER -MCNAY -MCMIKLE -MCMAKEN -MCLAURINE -MCLAUGLIN -MCLANEY -MCKUNE -MCKINNIES -MCKAGUE -MCHATTIE -MCGRAPTH -MCGLOTHEN -MCGATH -MCFOLLEY -MCDANNELL -MCCURTY -MCCORT -MCCLYMONDS -MCCLIMON -MCCLAMY -MCCAUGHAN -MCCARTAN -MCCAN -MCCADDEN -MCBURNIE -MCBURNETT -MCBRYAR -MCANNALLY -MCALEVY -MCALEESE -MAYTORENA -MAYRANT -MAYOL -MAYLAND -MAYEAUX -MAUTER -MATTHEWSON -MATHIEW -MATERN -MATERA -MASLOW -MASHORE -MASAKI -MARUCO -MARTORELL -MARTENEZ -MARRY -MARRUJO -MARRISON -MAROUN -MARKWAY -MARKOS -MARKOFF -MARKMAN -MARIAN -MARELLO -MARBRY -MARBAN -MARANDA -MAPHIS -MANUELE -MANSEL -MANGANELLO -MANDRELL -MANDOZA -MANARD -MANAGO -MALTBA -MALLICK -MALLAK -MALINE -MALIKOWSKI -MAJURE -MAJCHER -MAISE -MAHL -MAFFIT -MAFFEO -MADUENO -MADLEM -MADARIAGA -MACVANE -MACKLER -MACCONNELL -MACCHI -MACCARONE -LYNG -LYNCHARD -LURA -LUNNING -LUNEAU -LUNDEN -LUMBRA -LUMBERT -LUETH -LUDINGTON -LUCKADO -LUCCHINI -LUCATERO -LUALLEN -LOZEAU -LOWEN -LOVERA -LOVELOCK -LOUCK -LOTHIAN -LORIO -LORIMER -LORGE -LORETTO -LONGHENRY -LONAS -LOISEAU -LOHRMAN -LOGEL -LOFT -LOCKS -LOCKIE -LLERENA -LIVINGTON -LIUZZI -LISCOMB -LIPPEATT -LIOU -LINHARDT -LINDELOF -LINDBO -LIMEHOUSE -LIMAGE -LILLO -LILLIAN -LILBURN -LIGGONS -LIDSTER -LIDDY -LIDDICK -LICH -LIBERATO -LIAN -LIA -LEYSATH -LEWELLING -LESNEY -LESER -LESCANO -LEONETTE -LENTSCH -LENIUS -LEMMO -LEMMING -LEMCKE -LEIN -LEGGETTE -LEGERSKI -LEGARD -LEEVER -LEETE -LEDIN -LECOMTE -LECOCQ -LEAKES -LEAB -LAZARZ -LAYOUS -LAWREY -LAWERY -LAUZE -LAUTZ -LAUGHINGHOUSE -LATULIPPE -LATTUS -LATTANZIO -LATER -LASCANO -LARMER -LARIS -LARCHER -LAPRISE -LAPIN -LAPAGE -LANO -LANGSETH -LANGMAN -LANGLAND -LANDSTROM -LANDSBERG -LANDSAW -LANDRAM -LAMPHIER -LAMENDOLA -LAMBERTY -LAKHANI -LAKER -LAJARA -LAGROW -LAGMAN -LADEWIG -LADERMAN -LADDEN -LACRUE -LACLAIRE -LACHUT -LACHNER -KWIT -KVAMME -KVAM -KUTSCHER -KUSHI -KURGAN -KUNSCH -KUNDERT -KUN -KULJU -KUKENE -KUDO -KUBIN -KUBES -KUBERSKI -KRYSTOFIAK -KRUPPA -KRUL -KRUKOWSKI -KRUEGEL -KRONEMEYER -KROCK -KRISTON -KRETZER -KRENN -KRALIK -KRAFFT -KRABILL -KOZISEK -KOVICH -KOVERMAN -KOVATCH -KOVARIK -KOTLOWSKI -KOSMALA -KOSKY -KOSIR -KOSA -KORPI -KORNBLUTH -KOPPEN -KOOISTRA -KOHLHEPP -KOFAHL -KOENEMAN -KOEBEL -KOCZUR -KOBRIN -KOBASHIGAWA -KOBA -KNUTESON -KNOFF -KNOBLE -KNIPPER -KNIERIM -KNEISLEY -KLUSMAN -KLOC -KLITZING -KLINKO -KLINEFELTER -KLEMETSON -KLEINPETER -KLAUSER -KLATTE -KLAREN -KLARE -KISSAM -KIRKHART -KIRCHMEIER -KINZINGER -KINDT -KINCY -KINCEY -KIMOTO -KILLINGWORTH -KILCULLEN -KILBURY -KIETZMAN -KIENLE -KIEDROWSKI -KIDANE -KHAMO -KHALILI -KETTERLING -KETCHEM -KESSENICH -KESSELL -KEPP -KENON -KENNING -KENNADY -KENDZIOR -KEMPPAINEN -KELLERMANN -KEIRNS -KEILEN -KEIFFER -KEHEW -KEELAN -KEAWE -KEATOR -KEALY -KEADY -KATHMAN -KASTLER -KASTANES -KASSAB -KARREN -KARPIN -KARAU -KARATHANASIS -KARA -KAPS -KAPLUN -KAPAUN -KANNENBERG -KANIPE -KANDER -KANDEL -KANAS -KANAN -KAMKE -KALTENBACH -KALLENBERGER -KALLAM -KALI -KALEY -KAFTON -KAFER -KABLER -KAAIHUE -JUPITER -JUNDT -JUBILEE -JOVANOVICH -JOJOLA -JOHNSTAD -JODON -JOACHIN -JINRIGHT -JEW -JESSICK -JERONIMO -JERALD -JENNE -JELSMA -JEANNOTTE -JEANGILLES -JAWORSKY -JAUBERT -JARRY -JARRETTE -JARREAU -JARETT -JANOS -JANECKA -JANCZAK -JALOMO -JAGODA -JAGLA -JACQUIER -JABER -IWATA -IVANOFF -ISOLA -ISERMAN -ISAIS -ISAACKS -IRON -INVERSO -INFINGER -IBSEN -HYSER -HYLAN -HYBARGER -HWEE -HUTCHENSON -HUTCHCROFT -HUSAR -HURLEBAUS -HUNSLEY -HUNKER -HUMMINGBIRD -HUMBERSON -HULST -HULON -HUHTALA -HUGILL -HUGGHINS -HUFFMASTER -HUCKEBA -HRABOVSKY -HOWDEN -HOVERSON -HOUTS -HOUSKEEPER -HOUSH -HOSTEN -HORRAS -HORCHLER -HOR -HOPKE -HOOKE -HONIE -HOLTSOI -HOLSOMBACK -HOLOWAY -HOLMSTEAD -HOISTION -HOHNSTEIN -HOHEISEL -HOGUET -HOGGLE -HOGENSON -HOFFSTETTER -HOFFLER -HOFFA -HOFE -HOEFLING -HOAGUE -HIZER -HIRSCHFIELD -HIRONAKA -HIRALDO -HINOTE -HINGSTON -HIND -HINAMAN -HILLIE -HILLESHEIM -HILDERMAN -HIESTAND -HEYSER -HEYS -HEWS -HEW -HERTLER -HERRERO -HERRANDEZ -HEPPE -HENLE -HENKENSIEFKEN -HENIGAN -HENANDEZ -HENAGAN -HEMBERGER -HEMAN -HELSER -HELMICH -HELLINGER -HELFRICK -HELDENBRAND -HEINONEN -HEINECK -HEIKES -HEIDKAMP -HEGLAR -HEFFREN -HEELAN -HEDGEBETH -HECKMANN -HECKAMAN -HECHMER -HAZELHURST -HAWKEN -HAVERKAMP -HAVATONE -HAUSAUER -HASCH -HARWICK -HARTSE -HARTS -HARROWER -HARLE -HARGRODER -HARDWAY -HARDINGER -HARDEMON -HARBECK -HANT -HAMRE -HAMBERG -HALLBACK -HAISTEN -HAILSTONE -HAHL -HAGNER -HAGMAN -HAGEMEYER -HAEUSSLER -HACKWELL -HABY -HAATAJA -GVERRERO -GUSTOVICH -GUSTAVE -GUSKE -GUSHEE -GURSKI -GURNETT -GURA -GUNTO -GUNSELMAN -GUGLER -GUDMUNDSON -GUDINAS -GUARNERI -GRUMBINE -GRUIS -GROTZ -GROSSKOPF -GROSMAN -GROSBIER -GRINTER -GRILLEY -GRIEGER -GREWAL -GRESSLER -GREASER -GRAUS -GRASMAN -GRASER -GRANNAN -GRANATH -GRAMER -GRABOSKI -GOYNE -GOWLER -GOTTWALD -GOTTESMAN -GOSHAY -GORR -GOROVITZ -GORES -GOOSSENS -GOODIER -GOODHUE -GONZELES -GONZALOS -GONNELLA -GOLOMB -GOLICK -GOLEMBIEWSKI -GOEKE -GODZIK -GOAR -GLOSSER -GLENDENNING -GLENDENING -GLATTER -GLAS -GITTINGS -GITTER -GISIN -GISCOMBE -GIMLIN -GILLITZER -GILLICK -GILLIAND -GILB -GIGLER -GIDDEN -GIBEAU -GIBBLE -GIANUNZIO -GIANNATTASIO -GERTELMAN -GEROSA -GEROLD -GERLAND -GERIG -GERECKE -GERBINO -GENZ -GENOVESI -GENET -GELRUD -GEITGEY -GEISZLER -GEHRLEIN -GAZZO -GAWRYS -GAVILANES -GAULDEN -GATE -GARTHWAITE -GARMOE -GARGIS -GARA -GANNETT -GALLIGHER -GALLER -GALLEHER -GALLAHAN -GALFORD -GAL -GAHN -GACEK -GABERT -FUSTER -FURUYA -FURSE -FUJIHARA -FUHRIMAN -FRUIT -FRUEH -FROMME -FROM -FROEMMING -FRISKNEY -FRIETAS -FREILER -FREELOVE -FREBER -FREAR -FRANKL -FRANKENFIELD -FRANEY -FRANCKE -FOXWORTHY -FORMELLA -FORINGER -FORGUE -FORGE -FONNESBECK -FONCECA -FOLLAND -FODERA -FODE -FLORESCA -FLEURENT -FLESHNER -FLENTGE -FLEISCHHACKER -FLEEGER -FLECHER -FLAM -FLAIR -FLAIM -FIVECOAT -FIREBAUGH -FIORETTI -FINUCANE -FILLEY -FIGUROA -FIGUERDA -FIDDELKE -FEURTADO -FETTERLY -FESSEL -FEMIA -FEILD -FEHLING -FEGETT -FEDDE -FECHTER -FAWVER -FAUSTINO -FAULHABER -FATCHETT -FASSNACHT -FASHAW -FASEL -FARRUGIA -FARRAN -FARNESS -FARHART -FARBMAN -FAMA -FALWELL -FALVO -FALLING -FALKENSTEIN -FALIN -FAILOR -FAIGIN -FAGUNDO -FAGUE -FAGNAN -FAGERSTROM -FADEN -EYTCHISON -EYLES -EWY -EVON -EVERAGE -EVANGELIST -ESTRIN -ESTORGA -ESPONDA -ESPINDOLA -ESCHER -ESCHE -ESCARSEGA -ESCANDON -ERVEN -ERDING -EPLIN -ENIX -ENGLADE -ENGDAHL -ENCK -EMMETTE -EMBERY -EMBERSON -ELTZROTH -ELSE -ELSAYED -ELLERBY -ELLENS -ELHARD -ELFERS -ELAZEGUI -EISERMANN -EILERTSON -EIBEN -EHRHARD -EHRESMAN -EGOLF -EGNEW -EGGINS -EFRON -EFFLAND -EDUARDO -EDMINSTER -EDGESTON -EDE -ECKSTROM -ECKHARD -ECKFORD -ECHOLES -EBSEN -EATHERLY -EASTLICK -EARNHEART -EAR -DYKHUIZEN -DYAS -DUTTWEILER -DUTKA -DUTCH -DUSENBURY -DUSENBERY -DURRE -DURNIL -DURNELL -DURIE -DURHAN -DURANDO -DUPRIEST -DUNSMOOR -DUNSEITH -DUNNUM -DUNMAN -DUNLEVY -DUMA -DULUDE -DULONG -DUIGNAN -DUGAR -DUFEK -DUCOS -DUCHAINE -DUCH -DUBOW -DROWNE -DROSS -DROLLINGER -DROKE -DRIGGARS -DREDGE -DRAWHORN -DRACH -DRABEK -DOYNE -DOUKAS -DORVIL -DOROW -DOROSKI -DORNAK -DORMER -DORIAN -DONNELSON -DONNA -DONN -DONIVAN -DONDERO -DOMPE -DOLLE -DOAKES -DIZA -DIXIE -DIVIRGILIO -DITORE -DISTEL -DISIMONE -DISBRO -DIPIERO -DINGSON -DILUZIO -DILLEHAY -DILBERT -DIGIORGIO -DIFLORIO -DIETZLER -DIETSCH -DIETERLE -DIEROLF -DIERKER -DICOSTANZO -DICESARE -DEXHEIMER -DEWITTE -DEWING -DEVOTI -DEVINCENTIS -DEVARY -DEUTSCHMAN -DETTLOFF -DETIENNE -DESTASIO -DEST -DESPARD -DESMET -DESLATTE -DESFOSSES -DERISE -DERENZO -DEPPNER -DEPOLO -DENOYER -DENOON -DENNO -DENNE -DENISTON -DENIKE -DENES -DEMOYA -DEMICK -DEMICCO -DEMETRIOU -DEMANGE -DELVA -DELORGE -DELLEY -DELISIO -DELHOYO -DELGRANDE -DELGATTO -DELCOUR -DELAIR -DEINERT -DEGRUY -DEGRAVE -DEGEYTER -DEFINO -DEFFENBAUGH -DEENER -DECOOK -DECANT -DEBOE -DEBLANC -DEATLEY -DEARMITT -DEALE -DEAGUIAR -DAYAN -DAUS -DAUBERMAN -DATZ -DASE -DARY -DARTT -DAROCHA -DARIO -DARI -DARDIS -DAPPER -DANOWSKI -DANCEL -DAMI -DALLMANN -DALERE -DALBA -DAKAN -DAISE -DAILING -DAHAN -DAGNAN -DAGGS -DAGAN -CZARKOWSKI -CZAPLINSKI -CUTTEN -CURTICE -CURENTON -CURE -CURBOY -CURA -CULLITON -CULBERTH -CUCCHIARA -CUBBISON -CSASZAR -CRYTSER -CROTZER -CROSSGROVE -CROSSER -CROSHAW -CROISSANT -CROCCO -CRITZER -CREVELING -CRESSY -CREPS -CREESE -CRATIC -CRATE -CRAIGO -CRAIGEN -CRAIB -CRACCHIOLO -CRABLE -COYKENDALL -COWICK -COVILLE -COUZENS -COUTCH -COUSENS -COUSAIN -COUNSELMAN -COULT -COTTERELL -COTT -COTHAM -CORSAUT -CORRIERE -CORREDOR -CORNET -CORNELIA -CORKUM -COREAS -CORDOZA -CORBET -CORATHERS -CONWILL -CONTREAS -CONSUEGRA -CONSTANZA -CONOLLY -CONEDY -COMPANION -COMINS -COMBEE -COLOSI -COLOM -COLMENARES -COLLYMORE -COLLERAN -COLINA -COLAW -COLATRUGLIO -COLANTRO -COLANTONIO -COHEA -COGILL -CODNER -CODE -CODDING -COCKRAM -COCANOUGHER -COBINE -CLUCKEY -CLUCAS -CLOWARD -CLOKE -CLISHAM -CLIPPER -CLINEBELL -CLIFFE -CLENDENEN -CISOWSKI -CIRELLI -CIRAOLO -CIOCCA -CINTORA -CIESCO -CIBRIAN -CHUPKA -CHUGG -CHRISTMANN -CHOMA -CHIVERTON -CHIRINOS -CHINEN -CHIMENTI -CHIMA -CHEUVRONT -CHESLA -CHESHER -CHESEBRO -CHERN -CHEHEBAR -CHEATUM -CHASTINE -CHAPNICK -CHAPELLE -CHAMBLEY -CERCY -CELIUS -CELANO -CAYEA -CAVICCHI -CATTELL -CATANACH -CATACUTAN -CASTELLUCCIO -CASTELLANI -CASSMEYER -CASSETTA -CASSADA -CASPI -CASHMORE -CASEBIER -CASANAS -CARROTHERS -CARRIZAL -CARRIVEAU -CARRETERO -CARRADINE -CAROSELLA -CARNINE -CARMEL -CARLONI -CARKHUFF -CARDOSI -CARDO -CARCHIDI -CARAVELLO -CARANZA -CARANDANG -CAPES -CANTRALL -CANPOS -CANOY -CANNIZZARO -CANION -CANIDA -CANHAM -CANGEMI -CANGE -CANDLE -CANCELLIERE -CANARD -CAMARDA -CALVERLEY -CALOGERO -CALLENDAR -CALAME -CADRETTE -CACHERO -CACCAVALE -CABREROS -CABRERO -CABRARA -CABLER -BUTZER -BUTTE -BUTRICK -BUTALA -BUSTIOS -BUSSER -BUSIC -BUSHORN -BUSHER -BURMASTER -BURL -BURKLAND -BURKINS -BURKERT -BURGUENO -BURGRAFF -BUREN -BUREL -BURDON -BURCK -BURBY -BUOY -BUNK -BUMFORD -BULOCK -BUJNOWSKI -BUGGIE -BUFFY -BUDINE -BUCCIERO -BUBIER -BRZOSKA -BRYDGES -BRUMLOW -BROSSEAU -BROOKSHER -BROKKE -BROEKER -BRITTIN -BRISTLE -BRIANO -BRIAND -BRETTSCHNEIDE -BRESNAN -BRENTSON -BRENNEIS -BRENDER -BRAZLE -BRASSIL -BRASINGTON -BRANSTROM -BRANON -BRANKER -BRANDWEIN -BRANDAU -BRANA -BRALLEY -BRAILEY -BRAGUE -BRADE -BOZZI -BOWNDS -BOWMER -BOURNES -BOUR -BOUCHEY -BOTTO -BOTELER -BORROEL -BORRA -BOROSKI -BOOTHROYD -BOORD -BONNY -BONGA -BONATO -BONADONNA -BOLEJACK -BOLDMAN -BOISER -BOGGIO -BOGACKI -BOERBOOM -BOEHNLEIN -BOEHLE -BODAH -BOBST -BOAK -BLUEMEL -BLOCKMON -BLITCH -BLINCOE -BLEIER -BLAYDES -BLASIUS -BITTEL -BIR -BINSFELD -BINDEL -BILOTTI -BILLIOTT -BILBREW -BIHM -BIERSNER -BIELAT -BIDROWSKI -BICKLER -BIASI -BIANCA -BHOLA -BHAT -BEWICK -BETZEN -BETTRIDGE -BETTI -BETSCH -BESLEY -BESHERO -BESA -BERTOLI -BERSTEIN -BERRIEN -BERRIE -BERRELL -BERMEL -BERENGUER -BENZER -BENSING -BENNIE -BENEDIX -BEMO -BELILE -BEILMAN -BEHUNIN -BEHRMANN -BEDIENT -BECHT -BEAULE -BEAUDREAULT -BEALLE -BEAGLEY -BAYUK -BAYOT -BAYLIFF -BAUGESS -BATTISTONI -BATRUM -BASINSKI -BASGALL -BARTOLOMEI -BARTNIK -BARTL -BARTKO -BARTHOLOMAY -BARTHLOW -BARTGIS -BARSNESS -BARSKI -BARLETTE -BARICKMAN -BARGEN -BARDON -BARCLIFF -BARBU -BARBAR -BARAKAT -BARACANI -BARABAN -BANOS -BANKO -BANIA -BAMBACH -BALOK -BALOGUN -BALLY -BALDINI -BALCK -BALCER -BALASH -BAIM -BAILOR -BAHM -BAHAR -BAGSHAW -BAGGERLY -BADIE -BADAL -BACKUES -BABINO -BA -AYDELOTT -AWBREY -AVERSANO -AVANSINO -AUYON -AUKAMP -AUJLA -AUGENSTEIN -ASTACIO -AST -ASPLIN -ASATO -ASANO -ARUIZU -ARTALE -ARRICK -ARNEECHER -ARMELIN -ARMBRESTER -ARMACOST -ARKELL -ARGUE -ARGRAVE -AREIZAGA -AREAS -APOLO -ANZURES -ANZUALDA -ANTWI -ANTILLON -ANTENOR -ANNAND -ANHALT -ANGOVE -ANGLEMYER -ANGLADA -ANGIANO -ANGELONI -ANDAYA -ANCRUM -ANAGNOS -AMMIRATI -AMESCUA -AMERICA -AMBROSIUS -AMACKER -AMACHER -AMABILE -ALVIZO -ALVERNAZ -ALVARA -ALTOBELLI -ALTOBELL -ALTHAUSER -ALTERMAN -ALTAVILLA -ALSIP -ALPHONSO -ALMEYDA -ALMETER -ALMAN -ALLSCHEID -ALLAMAN -ALIOTTA -ALICIA -ALIBERTI -ALGHAMDI -ALFONZO -ALBISTON -ALBERTA -ALBERDING -ALARIE -ALANO -AJA -AILES -AHSAN -AHRENSTORFF -AHLER -AERNI -ACKLAND -ACHOR -ACERO -ACEBO -ACE -ABSHIER -ABRUZZO -ABROM -ABOOD -ABNET -ABEND -ABEGG -ABBRUZZESE -AABERG -ZYSK -ZUTELL -ZUMSTEIN -ZUMMO -ZUHLKE -ZUEHLSDORFF -ZUCH -ZUCCONI -ZORTMAN -ZOHN -ZIV -ZINGONE -ZINGG -ZINGALE -ZIMA -ZIENTEK -ZIEG -ZERVAS -ZERGER -ZENK -ZELDIN -ZEISS -ZEIDERS -ZEDIKER -ZEA -ZAVODNY -ZARAZUA -ZAPPONE -ZAPPALA -ZAPANTA -ZANIBONI -ZANCHI -ZAMPEDRI -ZALLER -ZAKRAJSEK -ZAGAR -ZADROZNY -ZABLOCKI -ZABLE -YUST -YUNK -YOUNGKIN -YOSTEN -YOCKERS -YOCHIM -YERKE -YERENA -YEAST -YANOS -YAM -WYSINGER -WYNER -WRISLEY -WOZNICKI -WORTZ -WORSELL -WOOTERS -WOON -WOOLCOCK -WOODKE -WONNACOTT -WOLNIK -WITTSTOCK -WITTING -WITRY -WITFIELD -WITCRAFT -WISSMANN -WISSINK -WISEHART -WISCOUNT -WIRONEN -WIPF -WINTERROWD -WINGETT -WINDON -WINDISH -WINDISCH -WINDES -WILTBANK -WILLMARTH -WILLICK -WILER -WIESELER -WIEDMAIER -WIEDERSTEIN -WIEDENHEFT -WIEBERG -WICKWARE -WICKKISER -WICKELL -WHITTMORE -WHITKER -WHITEGOAT -WHITCRAFT -WHISONANT -WHISBY -WHETSELL -WHEDON -WESTRY -WESTCOAT -WERNIMONT -WENTLING -WENDLANDT -WENCL -WEISGARBER -WEININGER -WEIKLE -WEIGOLD -WEIGL -WEICHBRODT -WEHRLI -WEHE -WEEGE -WEARE -WATLAND -WASSMANN -WARZECHA -WARRIX -WARRELL -WARNACK -WAPLES -WANTLAND -WANGER -WANDREI -WANDER -WANAT -WAMPOLE -WALTJEN -WALTERSCHEID -WALIGORA -WALDING -WALDIE -WALCZYK -WAKINS -WAITMAN -WAIR -WAINIO -WAHPEKECHE -WAHLMAN -WAGLEY -WAGENKNECHT -WADLE -WADDOUPS -WADDING -WACK -VUONO -VUILLEMOT -VUGTEVEEN -VOSMUS -VORKINK -VORIES -VONDRA -VOELZ -VLASHI -VIVO -VITELLI -VITALI -VISCARRA -VIRGO -VINET -VIMONT -VILLEGA -VILLARD -VIGNOLA -VIERECK -VIDETTO -VICOY -VESSELL -VESCOVI -VERROS -VERNIER -VERNAGLIA -VERGIN -VERDONE -VERDIER -VERASTEQUI -VEJAR -VASILE -VASI -VARNADORE -VARDARO -VANZANTEN -VANSUMEREN -VANSCHUYVER -VANLEEUWEN -VANHOWE -VANHOOZER -VANESS -VANDEWALKER -VANDEVOORDE -VANDEVEER -VANDERZWAAG -VANDERWEIDE -VANDERHYDE -VANDELLEN -VANAMBURG -VANALST -VALLIN -VALK -VALERIE -VALENTINI -VALCARCEL -VALASCO -VALADAO -VACHER -URQUIJO -UNTERREINER -UNSICKER -UNSER -UNRAU -UNDERCOFFLER -UHM -UFFELMAN -UEMURA -UEDA -TYSZKO -TYSKA -TYMON -TYCE -TYACKE -TWINAM -TUTAS -TUSSING -TURMEL -TURKOWSKI -TURKEL -TURCHETTA -TUPICK -TUMBLIN -TUKES -TUFTE -TUFO -TUEY -TUELL -TUCKERMAN -TSUTSUMI -TSUCHIYA -TRY -TROSSBACH -TRIVITT -TRIPPI -TRIPPENSEE -TRIMBACH -TRILLO -TRILLER -TRIBLE -TRIBE -TRIBBY -TREVISAN -TRESCH -TRAMONTE -TRAFF -TRAD -TOUSEY -TOTARO -TORREGROSA -TORRALBA -TORN -TOLLY -TOFIL -TOFANI -TOBIASSEN -TIPPY -TIOGANGCO -TINO -TINNES -TINGSTROM -TINGEN -TINE -TINDOL -TIFFT -TIFFEE -TIET -THUESEN -THRUSTON -THRONDSON -THORNSBURY -THORNES -THIERY -THIELMAN -THIE -THEILEN -THEDE -THATE -THANE -THALACKER -THADEN -TEUSCHER -TERRACINA -TERELL -TERADA -TEPFER -TENNESSEE -TENNESON -TENANT -TEMORES -TEMKIN -TELLERS -TELLERIA -TEAQUE -TEALER -TEACHEY -TAVAKOLI -TAURAS -TAUCHER -TATOR -TARTAGLINO -TARPY -TAPE -TANNERY -TANI -TAMS -TAMLIN -TAMBE -TALLIS -TALAMANTE -TAKAYAMA -TAKAKI -TAKAGI -TAIBL -TAFFE -TADESSE -TADE -TABELING -TABAG -SZOKE -SZOC -SZALA -SZADY -SYSAK -SYLVER -SYLER -SWONGER -SWIGGETT -SWENSSON -SWEIS -SWEERS -SWEENE -SWEANY -SWEANEY -SWARTWOUT -SWAMY -SWALES -SWAB -SUSMAN -SURMAN -SURGEON -SUNDBLAD -SUMMERSET -SUMMERHAYS -SUMERALL -SULE -SUGIMOTO -SUBRAMANIAN -STURCH -STUPP -STUNKARD -STUMPP -STRUIKSMA -STROPES -STROMYER -STROMQUIST -STREDE -STRAZZA -STRAUF -STORNIOLO -STORJOHANN -STONUM -STONIER -STONECYPHER -STONEBERGER -STOLLAR -STOKKE -STOKAN -STOETZEL -STOECKEL -STOCKNER -STOCKINGER -STOCKHOLM -STOCKERT -STOCKDILL -STOBBE -STITZEL -STITELY -STIRGUS -STIGERS -STETTNER -STETTLER -STERLIN -STERBENZ -STEMP -STELLUTI -STEINMEYER -STEININGER -STEINAUER -STEIGERWALT -STEIDER -STEADY -STAVROU -STAUFENBERGER -STASSI -STARIN -STANKUS -STANAWAY -STAMMER -STAKEM -STAINO -STAHLNECKER -STAGNITTA -STAELENS -STAAL -SRSEN -SPROTT -SPRIGG -SPRENKLE -SPRENKEL -SPREITZER -SPRAQUE -SPRANDEL -SPOTTED -SPORN -SPIVAK -SPIRA -SPIEWAK -SPIETH -SPIERING -SPEROW -SPEH -SPECKING -SPEASE -SPEAD -SPARGER -SPANIER -SPALL -SOWER -SOUTHCOTT -SOSNA -SORAN -SOOKRAM -SONDERS -SOLAK -SOHR -SOHL -SOFRANKO -SODERLING -SOCHOR -SOBON -SMUTZ -SMUDRICK -SMITHJ -SMID -SLOSSER -SLIKER -SLENKER -SLEIGHT -SLEGER -SLEET -SLABY -SKOUSEN -SKILLING -SKIBINSKI -SKEETERS -SKEET -SKEES -SKANE -SKAFIDAS -SIVIC -SIVERTSEN -SIVERS -SITRA -SITO -SIRACUSA -SINICKI -SIMPERS -SIMLEY -SIMBECK -SILBERBERG -SIEVER -SIEGWARTH -SIDMAN -SIDDONS -SIDDLE -SIBBETT -SI -SHUMARD -SHUBROOKS -SHOUGH -SHORB -SHOPTAW -SHOLTY -SHOFFSTALL -SHIVERDECKER -SHININGER -SHIMASAKI -SHIFRIN -SHIFFLER -SHESTON -SHERR -SHERILL -SHERE -SHEPEARD -SHELQUIST -SHELLS -SHELER -SHAVE -SHAUF -SHARRAR -SHARPNACK -SHANON -SHAMSIDDEEN -SHAMBLEY -SHALLENBERGER -SHADLER -SHABAN -SHA -SFERRA -SEYS -SEXAUER -SEVEY -SEVERO -SETLAK -SETA -SESKO -SERSEN -SERRATORE -SERDULA -SENECHAL -SELDOMRIDGE -SEILHAMER -SEIFER -SEIDLITZ -SEHNERT -SEDAM -SEBRON -SEBER -SEBEK -SEAVERS -SEAR -SCULLARK -SCROGER -SCOVILL -SCIASCIA -SCIARRA -SCHWEERS -SCHWARZE -SCHUMMER -SCHULTES -SCHUCHARDT -SCHUCHARD -SCHRIEBER -SCHRENK -SCHREIFELS -SCHOWALTER -SCHOULTZ -SCHOLER -SCHOFILL -SCHOFF -SCHNUERER -SCHNETTLER -SCHMITKE -SCHMIEGE -SCHLOOP -SCHLINGER -SCHLESSMAN -SCHLESSER -SCHLAGETER -SCHIESS -SCHIEFER -SCHIAVONI -SCHERZER -SCHERICH -SCHECHTMAN -SCHEBEL -SCHARPMAN -SCHAICH -SCHAAP -SCAPPATICCI -SCADLOCK -SAVOCCHIA -SAVINI -SAVERS -SAVE -SAVAGEAU -SAUVAGE -SAUSE -SAUERWEIN -SARY -SARWARY -SARNICOLA -SANTONE -SANTOLI -SANTALUCIA -SANTACRUCE -SANSOUCIE -SANKOFF -SANES -SANDRI -SANDERMAN -SAMMARTANO -SALMONSON -SALMELA -SALMANS -SALLAZ -SALIS -SAKUMA -SAKOWSKI -SAJDAK -SAHM -SAGREDO -SAFRIT -SADE -SACKEY -SABIO -SABINO -SABINA -RYBOLT -RUZZO -RUTHSTROM -RUTA -RUSSIN -RUSSIAN -RUSSAK -RUSKO -RUSKIN -RUSIECKI -RUSCHER -RUPAR -RUMBERGER -RULLAN -RULIFFSON -RUHLMAN -RUGER -RUFENACHT -RUELLE -RUDISELL -RUDI -RUCCI -RUBLEE -RUBERTO -RUBECK -ROWETT -ROUGE -ROTTINGHAUS -ROTON -ROTHGEB -ROTHGABER -ROTHERMICH -ROSTEK -ROSSINI -ROSKELLEY -ROSING -ROSI -ROSEWELL -ROSEBUSH -ROSBERG -ROON -RONIN -ROMESBURG -ROMELUS -ROLLEY -ROLLERSON -ROLLEFSON -ROLINS -ROLENS -ROIS -ROHRIG -ROHRBACHER -ROHLAND -ROHEN -ROH -ROGNESS -ROES -ROERING -ROEHRICK -ROEBKE -RODREGEZ -RODABAUGH -ROCKS -ROCKINGHAM -ROBLEE -ROBEL -ROADCAP -RIZZOLO -RIVIEZZO -RIVEST -RIVERON -RISTO -RISSLER -RISEN -RIPPENTROP -RIPKA -RINN -RINGUETTE -RINGERING -RINDONE -RINDELS -RIM -RIEFFER -RIEDMAN -RIEDE -RIECKE -RIEBOW -RIDDLEBARGER -RHOME -RHODD -RHATIGAN -RHAME -REYERS -REWITZER -REVALEE -RETZER -RETTINGER -RESCHKE -REQUA -REPER -REOPELL -RENZELMAN -RENNE -RENKER -RENK -RENICKER -RENDINA -RENDEL -REMUND -REMMELE -REMIASZ -REMAKLUS -REMAK -REITSMA -REITMEIER -REISWIG -REISHUS -REINING -REIM -REIDINGER -REICK -REICHE -REGANS -REFFETT -REESOR -REEKIE -REDPATH -REDDITT -RECHTZIGEL -RECHT -REBEL -REARDEN -RAYNOSO -RAXTER -RATKOWSKI -RASULO -RASSMUSSEN -RASSEL -RASPBERRY -RASER -RAPPLEYE -RAPPE -RANDY -RANDRUP -RANDLEMAN -RAMSON -RAMPEY -RAMMING -RAMA -RAINIER -RAIDER -RADZIEWICZ -QUIRARTE -QUINTYNE -QUICKEL -QUERY -QUATTRINI -QUARRY -QUAKENBUSH -QUAILE -PYTEL -PUTTY -PUSHAW -PUSCH -PURSLOW -PUNZO -PULLAM -PUGMIRE -PUELLO -PU -PRZEKOP -PRUSS -PRUIETT -PROVOW -PROPHETE -PROCACCINI -PRITZ -PRILLAMAN -PRIESS -PRETLOW -PRESTIA -PRESHA -PRESCOD -PREAST -PRAYTOR -PRASHAD -PRAINO -POZZI -POUNDER -POTTENGER -POTASH -PORADA -POPPLEWELL -PONZO -PONTER -POMMIER -POLLAND -POLIDORI -POLASKY -POLA -POK -POITIER -POISSO -POIRE -POINT -POFAHL -PODOLSKY -PODELL -PLUEGER -PLOWE -PLOTZ -PLOTNIK -PLOCH -PLISKA -PLESSNER -PLAUT -PLATZER -PLAKE -PIZZINO -PIZZA -PIROG -PIQUETTE -PIPHO -PIOCHE -PINTOS -PINKERT -PINET -PILKERTON -PILCH -PILARZ -PIGNATARO -PIERMATTEO -PICOZZI -PICKLER -PICKETTE -PICHLER -PHILOGENE -PHEASANT -PHARE -PHANG -PFROGNER -PFISTERER -PETTINELLI -PETRUZZI -PETROVIC -PETRETTI -PETERMEIER -PESTONE -PESTERFIELD -PESSIN -PESCH -PERSKY -PERRUZZA -PERROTT -PERRITT -PERRETTI -PERRERA -PEROUTKA -PERONI -PERON -PERET -PERDEW -PERAZZO -PEPPE -PENO -PENBERTHY -PENAGOS -PELES -PELECH -PEIPER -PEIGHT -PEFFERMAN -PEDDIE -PECKENPAUGH -PEAN -PAYEN -PAVLOSKI -PAVLICA -PAULLIN -PATTIE -PATTESON -PASSON -PASSEY -PASSE -PASSALACQUA -PASQUINI -PASKEL -PARTER -PARTCH -PARRIOTT -PARRELLA -PARRAZ -PARMELY -PARIZO -PARISIAN -PAPELIAN -PAPASERGI -PANTOJZ -PANTO -PANICH -PANCHAL -PALYS -PALMS -PALLONE -PALINSKI -PALI -PALEVIC -PALE -PAGELS -PACIOREK -PACHO -PACELLA -PAAR -OZBUN -OVERWEG -OVERHOLSER -OVALLES -OUTHOUSE -OUTCALT -OTTERBEIN -OTTA -OSTERGREN -OSHER -OSBON -ORZECH -ORWICK -ORRICO -OROPESA -ORN -ORMES -ORILLION -OPAL -ONORATI -ONNEN -OMARY -OLK -OLDING -OKONSKI -OKIMOTO -OHLRICH -OHAYON -OGUIN -OGLEY -OFTEDAHL -OFFEN -OFALLON -OELTJEN -ODAM -OCKMOND -OCKIMEY -OCEAN -OBERMEYER -OBERDORF -OBANNER -OBALLE -OARD -OAKDEN -NYHAN -NYDAM -NUMAN -NOYER -NOTTE -NOTHSTEIN -NOTESTINE -NOSER -NORK -NOLDE -NOA -NISHIHARA -NISHI -NIKOLIC -NIHART -NIETUPSKI -NIESEN -NIEHUS -NIECE -NIDIFFER -NICOULIN -NICOLAYSEN -NICKLOW -NICKL -NICKESON -NICHTER -NICHOLL -NGYUN -NEWSHAM -NEWMANN -NEVEUX -NEUZIL -NEUMAYER -NETLAND -NESSEN -NESHEIM -NELLI -NELKE -NECOCHEA -NAZARI -NAVY -NAVORRO -NAVAREZ -NAVAN -NATTER -NATT -NATER -NASTA -NARVAIZ -NARDELLI -NAPP -NAKAHARA -NAIRN -NAGG -NAGER -NAGANO -NAFZIGER -NAFFZIGER -NADELSON -MUZZILLO -MURRI -MURREY -MURGIA -MURCIA -MUNO -MUNIER -MULQUEEN -MULLINIKS -MULKINS -MULIK -MUHS -MUFFLEY -MOZELL -MOYNAHAN -MOUNGER -MOTTLEY -MOTIL -MOSEMAN -MOSEBY -MOSAKOWSKI -MORTEN -MORTELL -MORRISROE -MORRERO -MORMINO -MORLAND -MORGER -MORGENTHALER -MOREN -MORELLE -MORAWSKI -MORASCA -MORANG -MORAND -MOOG -MONTNEY -MONTERA -MONTEE -MONTANE -MONTAGNE -MONS -MONOHAN -MONNETT -MONKHOUSE -MONCURE -MOMPHARD -MOLYNEAUX -MOLLES -MOLLENKOPF -MOLETTE -MOLAND -MOHS -MOHMAND -MOHLKE -MOESSNER -MOERS -MOCKUS -MOCCIO -MLINAR -MIZZELLE -MITTLER -MITRI -MITCHUSSON -MITCHEN -MISTROT -MISTLER -MISCH -MIRIELLO -MINKIN -MININGER -MINERICH -MINEHART -MINDERMAN -MINDEN -MINAHAN -MILONAS -MILLON -MILLHOLLAND -MILLESON -MILLERBERND -MILLAGE -MILITANTE -MILIONIS -MILHOAN -MILDENBERGER -MILBURY -MIKOLAJCZAK -MIKLOS -MIKKOLA -MIKES -MIGNEAULT -MIFSUD -MIETUS -MIESZALA -MIELNICKI -MIDY -MICHON -MICHIOKA -MICHEAU -MICHAELI -MICALI -METHE -METALLO -MESSLER -MESCH -MEROW -MERONEY -MERGENTHALER -MERES -MERCY -MENUEY -MENOUSEK -MENNING -MENN -MENGHINI -MENDIA -MEMMER -MELOT -MELLOW -MELLENTHIN -MELLAND -MELAND -MEIXNER -MEISENHEIMER -MEINEKE -MEINDERS -MEHRENS -MEHLIG -MEGLIO -MEDSKER -MEDICINE -MEDERO -MEDERIOS -MEABON -MCWRIGHT -MCRIGHT -MCREATH -MCRARY -MCQUIRTER -MCQUERRY -MCQUARY -MCPHIE -MCNURLEN -MCNELLEY -MCNEE -MCNAIRY -MCMANAMY -MCMAHEN -MCKOWEN -MCKIVER -MCKINLAY -MCKEARIN -MCIRVIN -MCINTRYE -MCHORSE -MCHAFFIE -MCGROARTY -MCGOFF -MCGIVERN -MCENIRY -MCELHINEY -MCDIARMID -MCCULLARS -MCCUBBINS -MCCRIMON -MCCOVERY -MCCOMMONS -MCCLOUR -MCCARRICK -MCCAREY -MCCALLEN -MCBRIEN -MCARTHY -MAYONE -MAYBIN -MAXIMO -MAXAM -MAURAIS -MAUGHN -MATZEK -MATTS -MATIN -MATHRE -MATHIA -MATEEN -MATAVA -MASSO -MASSAR -MASSANET -MASINGALE -MASCARO -MARTHALER -MARTES -MARSO -MARSHMAN -MARSALIS -MARRANO -MAROLT -MAROLD -MARKINS -MARGULIS -MARDIROSIAN -MARCHIANO -MARCHAK -MARANDOLA -MARANA -MANUES -MANTIS -MANTE -MANSUKHANI -MANSI -MANNAN -MANICCIA -MANGINE -MANERY -MANDIGO -MANDA -MANCELL -MAMO -MALSTROM -MALOUF -MALENFANT -MALENA -MALDENADO -MALANDRUCCOLO -MALAK -MALABANAN -MAKINO -MAJ -MAISONAVE -MAINORD -MAINO -MAINARD -MAILLARD -MAIA -MAHMUD -MAHDI -MAHAPATRA -MAHALEY -MAHAFFY -MAGOUIRK -MAGLARAS -MAGAT -MAGAN -MAGA -MAFFIA -MADRAZO -MADRANO -MADITZ -MACKERT -MACKELLAR -MACKELL -MACHT -MACCHIA -MACCARTHY -MAAHS -LYTAL -LYE -LUZAR -LUZADER -LUTJEN -LUNGER -LUNAN -LUMA -LUKINS -LUHMANN -LUERS -LUDVIGSEN -LUDLAM -LUDEMANN -LUCHINI -LUCENTE -LUBRANO -LUBOW -LUBER -LUBECK -LOWING -LOVEN -LOUP -LOUISE -LOUGE -LOSCO -LORTS -LORMAND -LORENZETTI -LONGFORD -LONGDEN -LONGBRAKE -LOKHMATOV -LOGE -LOEVEN -LOESER -LOCKET -LOCEY -LOCATELLI -LITKA -LISTA -LISONBEE -LISENBEE -LISCANO -LIRANZO -LIQUORI -LIPTROT -LIONETTI -LIO -LINSCOMB -LINKOVICH -LININGTON -LINGEFELT -LINDLER -LINDIG -LINDALL -LINCKS -LINANDER -LINAN -LIMBURG -LIMBRICK -LIMBACH -LIKOS -LIGHTHALL -LIFORD -LIETZKE -LIEBE -LIDDICOAT -LICKLEY -LICHTER -LIBEL -LIAS -LIAPIS -LEZO -LEWAN -LEVITZ -LEVESGUE -LEVERSON -LEVANDER -LEUTHAUSER -LETBETTER -LESUER -LESMEISTER -LESLY -LERER -LEPPANEN -LEPINSKI -LEOTA -LENHERR -LEMBRICK -LELONEK -LEISTEN -LEISS -LEINS -LEINGANG -LEINBERGER -LEINBACH -LEIKAM -LEIDIG -LEHTONEN -LEHNERT -LEHEW -LEGIER -LEFCHIK -LECY -LECONTE -LECHER -LEBRECHT -LEATHER -LEAPER -LAWTER -LAWRENZ -LAVY -LAUR -LAUDERBAUGH -LAUDEN -LAUDATO -LATTING -LATSKO -LATINI -LASSERE -LASSEIGNE -LASPINA -LASO -LASLIE -LASKOWITZ -LASKE -LASER -LASENBY -LASCOLA -LARIOSA -LARCADE -LAPETE -LAPEROUSE -LANUZA -LANTING -LANTAGNE -LANSDALE -LANPHIER -LANGMAID -LANGELLA -LANESE -LANDRUS -LAMPROS -LAMENS -LAIZURE -LAITINEN -LAIGLE -LAHM -LAGUEUX -LAGORIO -LAGOMARSINO -LAGASCA -LAGANA -LAFONT -LAFLEN -LAFAVOR -LAFARGE -LADUCER -LADNIER -LADESMA -LACOGNATA -LACKLAND -LACERTE -LABUFF -LABORIN -LABINE -LABAUVE -KUZIO -KUSTERER -KUSSMAN -KUSEL -KUSCH -KURUTZ -KURDYLA -KUPKA -KUNZLER -KUNSMAN -KUNI -KUNEY -KUNC -KULISH -KULIGA -KULAGA -KUILAN -KUHRE -KUHNKE -KUEMMERLE -KUEKER -KUDLA -KUDELKA -KUBINSKI -KUBICKI -KUBAL -KRZYZANOWSKI -KRUPICKA -KRUMWIEDE -KRUMME -KROSS -KROPIDLOWSKI -KROKOS -KROELL -KRITZER -KRIBS -KREITLOW -KREISHER -KRAYNAK -KRASS -KRANZLER -KRAMB -KOZYRA -KOZICKI -KOVALIK -KOVALCHIK -KOVACEVIC -KOTULA -KOTRBA -KOTELES -KOSOWSKI -KOSKELA -KOSIBA -KOSCINSKI -KOSCH -KORY -KORAB -KOPPLE -KOPPER -KOPPELMAN -KOPPEL -KONWINSKI -KON -KOLOSKY -KOLOSKI -KOLINSKY -KOLINSKI -KOLBECK -KOLASA -KOEPF -KODA -KOCHEVAR -KOCHERT -KOBS -KNUST -KNUEPPEL -KNOY -KNIERIEM -KNIER -KNELLER -KNAPPERT -KLITZ -KLINTWORTH -KLINKENBERG -KLINCK -KLEINDIENST -KLEEB -KLECKER -KJELLBERG -KITTEN -KITSMILLER -KISOR -KISIEL -KISE -KIRBO -KIO -KINZLE -KINKAID -KINGSFORD -KINGRY -KIMPTON -KIMEL -KIMBERLEY -KILLMON -KILLICK -KILGALLON -KILCHER -KIHN -KIGGINS -KIECKER -KHER -KHALEEL -KEZIAH -KETTELL -KETCHEN -KESHISHIAN -KERSTING -KERSCH -KERINS -KERCHER -KENO -KENEFICK -KEMPH -KEMPA -KELSHEIMER -KELLN -KELLENBERGER -KEKAHUNA -KEISLING -KEIRNAN -KEIMIG -KEHN -KEAL -KE -KAUPP -KAUFHOLD -KAUFFMANN -KATZENBERG -KATONA -KASZYNSKI -KASZUBA -KASSEBAUM -KASA -KARTYE -KARTCHNER -KARSTENS -KARPINSKY -KARMELY -KAREL -KARASEK -KAPRAL -KAPER -KANELOS -KANAHELE -KAMPMANN -KAMPE -KALP -KALLUS -KALLEVIG -KALLEN -KALISZEWSKI -KALEOHANO -KALCHTHALER -KALAMA -KALAHIKI -KAILI -KAHAWAI -KAGEY -JUSTISS -JURKOWSKI -JURGENSMEYER -JUILFS -JOSUE -JOPLING -JONDAHL -JOMES -JOICE -JOHANNESSEN -JOECKEL -JEZEWSKI -JEZEK -JESWALD -JERVEY -JEPPSEN -JENNIGES -JENNIFER -JENNETT -JEMMOTT -JEFFS -JEFFRY -JAUREQUI -JANISCH -JANICK -JANICE -JACEK -JACARUSO -IWANICKI -ISHIHARA -ISENBERGER -ISBISTER -IRUEGAS -INZER -INYART -INSCORE -INNOCENTI -INGLISH -INFANTOLINO -INDOVINA -INABA -IMONDI -IMDIEKE -IMBERT -ILLES -IDA -IAROCCI -IANNUCCI -HUVER -HUTLEY -HUSSER -HUSMANN -HUPF -HUNTSBERGER -HUNNEWELL -HULLUM -HUIT -HUISH -HUH -HUGHSON -HUFT -HUFSTETLER -HUESER -HUDNELL -HOVDEN -HOUSEN -HOUGHTLING -HOTH -HOSSACK -HOSHAW -HORSFORD -HORRY -HORNBACHER -HORDE -HOPPENSTEDT -HOPKINSON -HONZA -HONOR -HOMANN -HOLZMEISTER -HOLYCROSS -HOLVERSON -HOLTZLANDER -HOLROYD -HOLMLUND -HOLLYWOOD -HOLDERNESS -HOLDERFIELD -HOLCK -HOJNACKI -HOHLFELD -HOHENBERGER -HOGANSON -HOGANCAMP -HOFFSES -HOERAUF -HOELL -HOEFERT -HODUM -HODER -HOCKENBURY -HOAGE -HISSERICH -HISLIP -HIRONS -HIPPENSTEEL -HIPPEN -HINKSTON -HINDES -HINCHCLIFF -HIN -HIMMEL -HILLBERRY -HILDRING -HIESTER -HIEFNAR -HIDES -HIBBERD -HIBBEN -HEYLIGER -HEYL -HEYES -HEVIA -HEU -HETTRICK -HERT -HERSHA -HERNANDZ -HERKEL -HERBER -HENSCHEID -HENNESY -HENLY -HENEGAN -HENEBRY -HENCH -HEMSATH -HEMM -HEMKEN -HEMANN -HELTZEL -HELLRIEGEL -HEJNY -HEINL -HEINKE -HEIDINGER -HEGEMAN -HEFFERAN -HEDGLIN -HEBDON -HEARNEN -HEARING -HEAPE -HEAGY -HEADINGS -HEADD -HAZELBAKER -HAVLICK -HAUSCHILDT -HAURY -HASSENFRITZ -HASENBECK -HASELTINE -HARTSTEIN -HARTRY -HARTNELL -HARSTON -HARPOOL -HARMEN -HARDISTER -HARDEY -HARDERS -HARBOLT -HARBINSON -HARAWAY -HAQUE -HANSMANN -HANSER -HANSCH -HANSBERRY -HANKEL -HANIGAN -HANELINE -HAMPE -HAMONS -HAMMERSTONE -HAMMERLE -HAMME -HAMMARGREN -HAMELTON -HAMBERGER -HAMASAKI -HALPRIN -HALMAN -HALLIHAN -HALEN -HALDANE -HAILS -HAIFLEY -HAI -HAGES -HAGADORN -HADWIN -HABICHT -HABERMEHL -GYLES -GUTZMAN -GUTEKUNST -GUSTASON -GUSEWELLE -GURNSEY -GURNEE -GUNTERMAN -GUMINA -GULLIVER -GULBRANDSON -GUITEREZ -GUERINO -GUEDRY -GUCWA -GUARDARRAMA -GUAGLIANO -GUADAGNO -GRULKE -GROOTE -GROODY -GROFT -GROENEWEG -GROCHOW -GRIPPE -GRIMSTEAD -GRIEPENTROG -GREENFELD -GREENAWAY -GREBE -GRAZIOSI -GRAW -GRAVINA -GRASSIE -GRAPES -GRANZOW -GRANDJEAN -GRANBY -GRAMACY -GRACES -GOZALEZ -GOYER -GOTCH -GOSDEN -GORNY -GORMONT -GOODNESS -GOODGION -GONYA -GONNERMAN -GOMPERT -GOLISH -GOLIGOSKI -GOLDMANN -GOIKE -GOETZE -GODEAUX -GLENNA -GLAZA -GLASSEL -GLASPY -GLANDER -GLADY -GIUMARRO -GITELMAN -GISONDI -GISMONDI -GIRVAN -GIRTEN -GIRONDA -GIOVINCO -GINKEL -GILSTER -GIESY -GIERMAN -GIDDINS -GIARDINI -GIANINO -GHEA -GEURIN -GETT -GETSON -GERRERO -GERMOND -GERE -GENTSY -GENTA -GENNETTE -GENITO -GENIS -GENE -GENDLER -GELTZ -GEISS -GEHRET -GEGENHEIMER -GEFFERT -GEETING -GEBEL -GAVETTE -GAVENDA -GAUMOND -GAUDIOSO -GATZKE -GATZA -GATTSHALL -GATON -GATCHEL -GASPERI -GASKA -GASIOROWSKI -GARRITSON -GARRIGUS -GARNIER -GARNICK -GARDINIER -GARDENAS -GARCY -GARATE -GANDOLFI -GAMM -GAMEL -GAMBEL -GALLMON -GALLEMORE -GALLATI -GAINOUS -GAINFORTH -GAHRING -GAFFEY -GAEBLER -GADZINSKI -GADBURY -GABRI -GABE -GABA -FYKE -FURTAW -FURNAS -FURCRON -FUNN -FUNCK -FULWOOD -FULVIO -FULLMORE -FUKUMOTO -FUEST -FUERY -FUENTE -FUEL -FRYMIRE -FRUSH -FROHLICH -FROEDGE -FRODGE -FRITZINGER -FRICKER -FRERICKS -FREIN -FREID -FREGGIARO -FRATTO -FRANZI -FRANCISCUS -FRALIX -FOWBLE -FOTHERINGHAM -FOSLIEN -FOSHIE -FORTMANN -FORSEY -FORKNER -FOPPIANO -FONTANETTA -FONOHEMA -FOGLER -FOCKLER -FLUTY -FLUSCHE -FLUD -FLORIN -FLORI -FLENORY -FLEHARTY -FLEEKS -FLAXMAN -FLASH -FLAMING -FIUMARA -FITZMORRIS -FINNICUM -FINKLEY -FINERAN -FILLHART -FILIPI -FIJAL -FIELDSON -FICKEN -FICARRA -FETCH -FESTERMAN -FESS -FERRYMAN -FERNER -FERGASON -FERELL -FENNERN -FEMMER -FELDMEIER -FEESER -FEENAN -FEDERICK -FEDAK -FEBBO -FEAZELL -FEARING -FAZZONE -FAUTH -FAUSET -FAUROTE -FAULKER -FAUBION -FATZINGER -FASICK -FANGUY -FAMBROUGH -FALKS -FAHL -FABIO -FAAITA -EXLER -EWENS -ESTRADO -ESTEN -ESTEEN -ESQUIVEZ -ESPEJO -ESMIOL -ESGUERRA -ESCO -ERTZ -ERSPAMER -ERNSTES -ERISMAN -ERHARD -EREAUX -ERCANBRACK -ERBES -EPPLE -ENTSMINGER -ENTRIKEN -ENSLOW -ENNETT -ENGQUIST -ENGLEBERT -ENGLANDER -ENGESSER -ENGERT -ENGEMAN -ENGE -ENERSON -END -EMHOFF -EMGE -EMERALD -ELTING -ELLNER -ELLENBERG -ELLENBECKER -ELIO -ELFERT -ELDEN -ELAWAR -EKSTRAND -EISON -EISMONT -EISENBRANDT -EISEMAN -EISCHENS -EHRGOTT -EGLEY -EGERT -EDDLEMON -ECONOMY -ECKERSON -ECKERSLEY -ECKBERG -ECHEVERRY -EBERTS -EARTHMAN -EARNHART -EAPEN -EACHUS -DYKAS -DUST -DUSI -DURNING -DURING -DURDAN -DUNOMES -DUNCOMBE -DUME -DULLEN -DULLEA -DULAY -DUL -DUFFETT -DUBS -DUBARD -DROOK -DRENTH -DRAHOS -DRAGONE -DOWNIN -DOWNHAM -DOWIS -DOWHOWER -DOWARD -DOVALINA -DOST -DOPAZO -DOOSE -DONSON -DONNAN -DOMINSKI -DOLLARHIDE -DOLINAR -DOLECKI -DOLBEE -DOEGE -DOCKUS -DOBLER -DOBKIN -DOBIAS -DIVOLL -DIVINEY -DITTER -DITMAN -DISSINGER -DISMANG -DIRLAM -DINNEEN -DINI -DINGWALL -DINE -DIN -DILORETO -DILMORE -DILLAMAN -DIKEMAN -DIIORIO -DIGHTON -DIFFLEY -DIEUDONNE -DIETEL -DIERINGER -DIERCKS -DIENHART -DIEKRAGER -DIEFENDORF -DICKE -DICAMILLO -DIBRITO -DIBONA -DEZEEUW -DEWHURST -DEVINS -DEVINEY -DEUPREE -DETHERAGE -DESPINO -DESMITH -DESJARLAIS -DESHNER -DESHA -DESANCTIS -DERRING -DEROUSSE -DEROBERTIS -DERIDDER -DEREGO -DERDEN -DEPROSPERO -DEPROFIO -DEPPING -DEPERRO -DENTY -DENONCOURT -DENCKLAU -DEMLER -DEMIRCHYAN -DEMICHIEL -DEMESA -DEMERE -DEMAGGIO -DELUNG -DELUISE -DELMORAL -DELMASTRO -DELMAS -DELLIGATTI -DELLE -DELENA -DELASBOUR -DELARME -DELARGY -DELAGRANGE -DELAFONTAINE -DEIST -DEISS -DEIGHAN -DEHOFF -DEGRAZIA -DEGMAN -DEFOSSES -DEFORREST -DEEKS -DECOUX -DECAROLIS -DEBUHR -DEBERG -DEBARR -DEBARI -DEARMON -DEARE -DEARDURFF -DAYWALT -DAYER -DAVOREN -DAVIGNON -DAVIAU -DAUTEUIL -DAUTERIVE -DAUL -DARNLEY -DARLIN -DARAKJY -DAPICE -DANNUNZIO -DANISON -DANIELLO -DAMARIO -DALONZO -DALLIS -DALESKE -DALENBERG -DAIZ -DAINS -DAINES -DAGNESE -DADY -DADEY -CZYZEWSKI -CZAPOR -CZAPLEWSKI -CZAJKA -CYGANIEWICZ -CUTTINO -CUTRONA -CUSSINS -CUSANELLI -CUPERUS -CUNDY -CUMISKEY -CUMINS -CUIZON -CUFFIA -CUFFE -CUFFARI -CUCCARO -CUBIE -CRYDER -CRUSON -CROUNSE -CROMEDY -CRING -CREER -CREDEUR -CREA -COZORT -COZINE -COWEE -COWDERY -COVENTRY -COUSER -COURTWAY -COURINGTON -COTMAN -COSTLOW -COSTELL -CORTON -CORSARO -CORRIERI -CORRICK -CORRADINI -CORON -COREN -CORD -CORBI -CORADO -COPUS -COPPENGER -COOPERWOOD -COONTZ -COONCE -CONTRERA -CONNEALY -CONELL -COMTOIS -COMPERE -COMMINS -COMMINGS -COMEGYS -COMA -COLYAR -COLO -COLLISTER -COLLICK -COLLELLA -COLER -COLBORN -COHRAN -COGBILL -COFFEN -COCUZZO -CLYNES -CLOSTER -CLOCK -CLIPP -CLINGINGSMITH -CLEMENCE -CLAYMAN -CLASSON -CLAS -CLAREY -CLARENCE -CLAGUE -CIUBAL -CITRINO -CITARELLA -CIRONE -CIPPONERI -CINDRICH -CIMO -CILIBERTO -CICHOWSKI -CICCARELLO -CICALA -CHURA -CHUBBUCK -CHRONIS -CHRISTLIEB -CHRISS -CHIZEK -CHITTESTER -CHIQUITO -CHIMENTO -CHILDREE -CHIANESE -CHEVRETTE -CHEESE -CHECO -CHASTANG -CHARGUALAF -CHAPMON -CHANTRY -CHAHAL -CHAFETZ -CEZAR -CERUANTES -CERRILLO -CERRANO -CERECEDES -CERAMI -CEGIELSKI -CAVALLERO -CATINELLA -CASSATA -CASLIN -CASANO -CASACCHIA -CARUTH -CARTRETTE -CARTEN -CARODINE -CARNRIKE -CARNALL -CARMICLE -CARLAN -CARLACCI -CARIS -CARIAGA -CARDINE -CARDIMINO -CARDANI -CARBONARA -CARANO -CAPUA -CAPPONI -CAPPELLANO -CAPORALE -CAPELLI -CANUPP -CANTREL -CANTONE -CANTERBERRY -CANNIZZO -CANNAN -CANELO -CANEER -CANDILL -CANDEE -CAMPBEL -CAMINERO -CAMBLE -CALUYA -CALLICOTT -CALK -CAITO -CAFFIE -CADEN -CADAVID -CACY -CACHU -CACHOLA -CABREJA -CABILES -CABADA -CAAMANO -BYRAN -BYON -BUYCK -BUSSMAN -BUSSIE -BUSHNER -BURSTON -BURNISON -BURKMAN -BURKHAMMER -BURES -BURDESHAW -BUMPASS -BULLINGER -BULLERS -BULGRIN -BUGAY -BUFFALO -BUDAK -BUCZYNSKI -BUCKENDORF -BUCCIERI -BUBRIG -BRYNTESON -BRUNZ -BRUNMEIER -BRUNKOW -BRUNETTO -BRUNELLI -BRUMWELL -BRUGGMAN -BRUCKI -BRUCCULERI -BROZOVICH -BROWING -BROTMAN -BRODA -BROCKER -BROADSTREET -BRIX -BRITSON -BRINCK -BRIMMAGE -BRIGHTLY -BRIERRE -BRIDENSTINE -BREZENSKI -BREZEE -BREVIK -BREST -BRENTLINGER -BRENTLEY -BREIDENBACH -BRECKEL -BRECH -BREAKER -BRAZZLE -BRAUGHTON -BRAUCH -BRATTIN -BRATTAIN -BRANHAN -BRANFORD -BRANER -BRANDER -BRALY -BRAEGELMANN -BRABEC -BOYT -BOYACK -BOWREN -BOWL -BOVIAN -BOUGHAN -BOTTON -BOTNER -BOSQUES -BORZEA -BORRE -BORON -BORNHORST -BORGSTROM -BORELLA -BOOP -BONTEMPO -BONNIWELL -BONNES -BONJOUR -BONILLO -BONANO -BOLEK -BOHOL -BOHATY -BOFFA -BOETCHER -BOESEN -BOEPPLE -BOEHLER -BOEDECKER -BOECKX -BODI -BOAL -BLOODSWORTH -BLOODGOOD -BLOME -BLOCKETT -BLIXT -BLANCHETT -BLACKHURST -BLACKABY -BJORNBERG -BITZER -BITTENBENDER -BITLER -BIRCHALL -BINNICKER -BINGGELI -BILLETT -BILBERRY -BIJOU -BIGLOW -BIERLY -BIELBY -BIEGEL -BEU -BERZAS -BERTE -BERTAGNOLLI -BERRETH -BERNHART -BERGUM -BERENTSON -BERENSON -BERDY -BERCEGEAY -BENTLE -BENTIVEGNA -BENTHAM -BENSCOTER -BENNS -BENNICK -BENJAMINE -BENEZE -BENETT -BENEKE -BENDURE -BENDIX -BENDICK -BENAUIDES -BELMAN -BELLUS -BELLOTT -BELLEFLEUR -BELLAS -BELJAN -BELGARD -BEITH -BEINLICH -BEIERLE -BEHME -BEEVERS -BEERMANN -BEECHING -BEDWARD -BEDROSIAN -BEDNER -BEDEKER -BECHEL -BECERA -BEAUBRUN -BEARDMORE -BEALMEAR -BAZIN -BAZER -BAUMHOER -BAUMGARNER -BAUKNECHT -BATTSON -BATTIEST -BASULTO -BASTER -BASQUES -BASISTA -BASILIERE -BASHI -BARZEY -BARZ -BARTUS -BARTUCCA -BARTEK -BARRERO -BARRECA -BARNOSKI -BARNDT -BARKLOW -BARIBEAU -BARETTE -BARES -BARENTINE -BAREILLES -BARCH -BARBRE -BARBERI -BARBAGELATA -BARAW -BARATTO -BARANOSKI -BAR -BAPTISE -BANKSON -BANKEY -BANKARD -BANIK -BALTZLEY -BALLEN -BALKEY -BALIUS -BALDERSTON -BAKULA -BAKALAR -BAFFUTO -BAERGA -BADONI -BACKOUS -BACHTEL -BACHRACH -BACCARI -BABINE -BABILONIA -BAAR -AZBILL -AZAD -AYCOX -AYALLA -AVOLIO -AUSTERBERRY -AUGHTRY -AUFDERHEIDE -AUCH -ATTANASIO -ATHAYDE -ATCHER -ASTOR -ASSELTA -ASLIN -ASLAM -ASHWOOD -ASHRAF -ASHBACHER -ASBRIDGE -ASAKURA -ARZAGA -ARRIAZA -ARREZ -ARREQUIN -ARRANTS -ARMIGER -ARMENTEROS -ARMBRISTER -ARKO -ARGUMEDO -ARGUIJO -ARDOLINO -ARCIA -ARBIZO -ARAVJO -APER -ANZALDO -ANTU -ANTRIKIN -ANTONY -ANTONIA -ANTONETTY -ANTINORO -ANTHON -ANTENUCCI -ANSTEAD -ANNESE -ANKRUM -ANDREASON -ANDRADO -ANDAVERDE -ANASTOS -ANABLE -AMSTERDAM -AMSPOKER -AMRINE -AMREIN -AMORIN -AMEL -AMBROSINI -AMBER -ALSBROOK -ALNUTT -ALMASI -ALLESSIO -ALLATEEF -ALISON -ALDOUS -ALDERINK -ALDAZ -AKMAL -AKARD -AITON -AITES -AINSCOUGH -AIKEY -AHRENDS -AHLM -AGUADA -AGANS -ADELMANN -ADEBISI -ADDESSO -ADAWAY -ADAMAITIS -ACKISON -ABUD -ABENDROTH -ABDUR -ABDOOL -AAMODT -ZYWIEC -ZWIEFELHOFER -ZWAHLEN -ZUNINO -ZUEHL -ZMUDA -ZMOLEK -ZIZZA -ZISKA -ZINSER -ZINKIEVICH -ZINGER -ZINGARELLI -ZIESMER -ZIEGENFUSS -ZIEBOL -ZETTLEMOYER -ZETTEL -ZERVOS -ZENKE -ZEMBOWER -ZELECHOWSKI -ZELASKO -ZEISE -ZEEK -ZEEB -ZARLENGA -ZAREK -ZAIDI -ZAHNOW -ZAHNKE -ZAHARIS -ZACH -ZACATE -ZABROCKI -ZABORAC -YURCHAK -YUENGLING -YOUNIE -YOUNGERS -YOUELL -YOTT -YOSHINO -YORKS -YORDY -YOCHEM -YERICO -YERDON -YEISER -YEAROUS -YEARICK -YEANEY -YBARRO -YASUTAKE -YASIN -YANKE -YANISH -YANIK -YAMAZAKI -YAMAT -YAGGI -XIMENEZ -WYZARD -WYNDER -WYLY -WYKLE -WUTZKE -WUORI -WUERTZ -WUEBKER -WRIGHTSEL -WOROBEL -WORLIE -WORFORD -WOREK -WOOLSON -WOODROME -WOODLY -WOODLING -WONTOR -WONDRA -WOLTEMATH -WOLLMER -WOLINSKI -WOLFERT -WOJTANIK -WOJTAK -WOHLFARTH -WOESTE -WOBBLETON -WITZ -WITTMEYER -WITCHEY -WISOTZKEY -WISNEWSKI -WISMAN -WIRCH -WIPPERT -WINEBERG -WIMPEE -WILUSZ -WILTSEY -WILLIG -WILLIAR -WILLERS -WILLADSEN -WILFRED -WILDHABER -WILDAY -WIGHAM -WIGGEN -WIEWEL -WIETING -WIETBROCK -WIESEL -WIESEHAN -WIERSEMA -WIEGERT -WIDNEY -WIDMARK -WICKSON -WICKINGS -WICHERN -WHTIE -WHITTIE -WHITLINGER -WHITFILL -WHITEBREAD -WHISPELL -WHETTEN -WHEELEY -WHEELES -WHEELEN -WHATCOTT -WEYLAND -WETER -WESTRUP -WESTPHALEN -WESTLY -WESTLAND -WESSLER -WESOLICK -WESLER -WESCHE -WERRY -WERO -WERNECKE -WERKHOVEN -WELLSPEAK -WELLINGS -WELFORD -WELANDER -WEISSGERBER -WEISHEIT -WEINS -WEILL -WEIGNER -WEHRMANN -WEHRLEY -WEHMEIER -WEGE -WEERS -WEAVERS -WATRING -WASSUM -WASSMAN -WASSIL -WASHABAUGH -WASCHER -WARY -WARTH -WARBINGTON -WANCA -WAMMACK -WAMBOLDT -WALTERMAN -WALKINGTON -WALKENHORST -WALINSKI -WAKLEY -WAGG -WADELL -VUCKOVICH -VOOGD -VOLLER -VOKES -VOGLE -VOGELSBERG -VODICKA -VISSERING -VISAGE -VIPOND -VINCIK -VILLALONA -VIL -VICKERMAN -VETTEL -VETETO -VESSEL -VESPERMAN -VESCO -VERTUCCI -VERSAW -VERBA -VENTRIS -VENECIA -VENDELA -VENANZI -VELDHUIZEN -VEHRS -VEER -VEE -VAY -VAUGHEN -VASILOPOULOS -VASCOCU -VARVEL -VARNO -VARLAS -VARLAND -VARIO -VARESCHI -VANWYHE -VANWEELDEN -VANSCIVER -VANNAMAN -VANLUVEN -VANLOO -VANLANINGHAM -VANKOMEN -VANHOUT -VANHAMPLER -VANGORP -VANGORDEN -VANELLA -VANDRESAR -VANDIS -VANDEYACHT -VANDEWERKER -VANDEVSEN -VANDERWALL -VANDERCOOK -VANDERBERG -VANBERGEN -VALKO -VALESQUEZ -VALERIANO -VALEN -VACHULA -VACHA -UZEE -UVA -USELMAN -URIZAR -URION -URBEN -UPTHEGROVE -UNZICKER -UNSELL -UNICK -UMSCHEID -UMIN -UMANZOR -ULLO -ULICKI -UHLIR -UDDIN -TYTLER -TYMESON -TYGER -TWISDALE -TWEDELL -TWEDDLE -TURREY -TURES -TURELL -TUR -TUPA -TUITT -TUBERVILLE -TUBBY -TRYNER -TRUMPOWER -TRUMBORE -TRULY -TROGLEN -TROFF -TROESCH -TRIVISONNO -TRITTO -TRITTEN -TRITLE -TRIPPANY -TRINGALI -TRETHEWAY -TREON -TRENCH -TREJOS -TREGONING -TREFFERT -TRAYCHEFF -TRAVALI -TRAUTH -TRAUERNICHT -TRANSOU -TRANE -TRANA -TOVES -TOSTA -TORP -TORNQUIST -TORNES -TORCHIO -TOPPINGS -TOOR -TOOKS -TONKS -TOMBLINSON -TOMALA -TOLLINCHI -TOLLES -TOKICH -TOH -TOFTE -TODMAN -TODDY -TITZE -TIMPONE -TILLEMA -TIER -TIENKEN -TIBLIER -THYBERG -THURSBY -THURRELL -THURM -THRUMAN -THORSTED -THORLEY -THOMER -THOEN -THISSEN -THEIMER -THEE -THAYN -THANPAENG -THAMMAVONGSA -THALMAN -TEXIERA -TEXIDOR -TEVERBAUGH -TESKA -TERNULLO -TEPLICA -TEPE -TENO -TENHOLDER -TENBUSCH -TENBRINK -TEMBY -TEJEDOR -TEITSWORTH -TEICHMANN -TEHAN -TEGTMEYER -TEES -TEEM -TAYS -TAUBERT -TAUARES -TASCHLER -TARTAMELLA -TARQUINIO -TARBUTTON -TAPPENDORF -TAPIJA -TANSIL -TANNAHILL -TAMONDONG -TALAHYTEWA -TAKASHIMA -TAECKER -TABORA -TABIN -TABBERT -SZYMKOWSKI -SZYMANOWSKI -SYVERSEN -SYRETT -SYRACUSE -SYNNOTT -SYDNES -SWIMM -SWENEY -SWEAREGENE -SWARTZEL -SWANSTROM -SVEDIN -SUSS -SURYAN -SURREY -SUPPLICE -SUPNET -SUOBODA -SUNDBY -SUMAYA -SUMABAT -SULZEN -SUKOVATY -SUKHU -SUGERMAN -SUGALSKI -SUGAI -SUDWEEKS -SUDBECK -SUCHARSKI -STUTHEIT -STUMFOLL -STUFFLE -STRUYK -STRUTZ -STRUMPF -STROWBRIDGE -STROTHMAN -STROJNY -STROHSCHEIN -STROFFOLINO -STRIBBLE -STREVEL -STRENKE -STREMMING -STREHLE -STRATTMAN -STRANAK -STRAM -STRACKE -STOUDAMIRE -STORKS -STOPP -STONEBREAKER -STOLT -STOICA -STOFER -STOCKHAM -STOCKFISCH -STJUSTE -STITELER -STIMAN -STILLIONS -STILLABOWER -STIERLE -STERLACE -STERK -STEPPS -STENQUIST -STENNER -STELLMAN -STEINES -STEINBAUGH -STEINBACHER -STEILING -STEIDEL -STEFFEE -STAVINOHA -STAVER -STASTNY -STASIUK -STARRICK -STARLIPER -STARLIN -STANIFORD -STANER -STANDRE -STANDEFER -STANDAFER -STANCZYK -STALLSMITH -STAGLIANO -STAEHLE -STAEBLER -STADY -STADTMILLER -SQUYRES -SPURBECK -SPRUNK -SPRANGER -SPOONAMORE -SPODEN -SPILDE -SPEZIO -SPEROS -SPERANDIO -SPECCHIO -SPEARIN -SPAYER -SPALLINA -SPADAFINO -SOVIE -SOTELLO -SORTOR -SORTINO -SORROW -SOROS -SOROLA -SORBELLO -SONNER -SONDAY -SOMES -SOLOWAY -SOLEDAD -SOENS -SOELLNER -SODERBLOM -SOBIN -SNIEZEK -SNEARY -SMYLY -SMUTNICK -SMOOTS -SMOLDT -SMITZ -SMITRESKI -SMALLEN -SMADES -SLUNAKER -SLUKA -SLOWN -SLOVICK -SLOCOMB -SLINGER -SLIFE -SLICKER -SLEETER -SLANKER -SKUFCA -SKUBIS -SKROCKI -SKOV -SKJEI -SKILTON -SKILL -SKARKE -SKALKA -SKALAK -SKAFF -SIXKILLER -SITZE -SITER -SISKO -SIRMAN -SIRLS -SINOTTE -SINON -SINCOCK -SINCEBAUGH -SIMMOMS -SIMILIEN -SILVIUS -SILTON -SILLOWAY -SIKKEMA -SIERACKI -SIENKO -SIEMON -SIEMER -SIEFKER -SIEBERG -SIEBENS -SIEBE -SICURELLA -SICOLA -SICKLE -SHUMOCK -SHUMILOFF -SHUFFSTALL -SHUEMAKER -SHUART -SHU -SHROFF -SHREEVE -SHOSTAK -SHORTES -SHORR -SHIVLEY -SHINTAKU -SHINDO -SHIMOMURA -SHIIGI -SHEROW -SHERBURN -SHEPPS -SHENEFIELD -SHELVIN -SHELSTAD -SHELP -SHEILD -SHEAMAN -SHAULIS -SHARRER -SHARPS -SHARPES -SHAREEF -SHAPPY -SHAPERO -SHANOR -SHANDY -SHAD -SEYLLER -SEVERN -SESSOM -SESLEY -SERVIDIO -SERRIN -SERO -SERGE -SEPTON -SEPTER -SENNOTT -SENGSTOCK -SENFF -SENESE -SEMPRINI -SEMONE -SEMBRAT -SELVA -SELLA -SELBIG -SEINER -SEIF -SEIDT -SEHRT -SEEMANN -SEELBINDER -SEDLAY -SEBERT -SEARING -SEAHOLM -SEACORD -SEABURG -SE -SCUNGIO -SCROGGIE -SCRITCHFIELD -SCRIPTURE -SCRIMPSHER -SCRABECK -SCORE -SCORCA -SCOBEY -SCIVALLY -SCHWULST -SCHWINN -SCHWIESON -SCHWERY -SCHWEPPE -SCHWARTZENBUR -SCHURZ -SCHUMM -SCHULENBURG -SCHUFF -SCHUERHOLZ -SCHRYER -SCHRAGER -SCHORSCH -SCHONHARDT -SCHOENFELDER -SCHOECK -SCHOEB -SCHNITZLER -SCHNICK -SCHNAUTZ -SCHMIG -SCHMELTER -SCHMEICHEL -SCHLUNEGER -SCHLOSBERG -SCHLOBOHM -SCHLENZ -SCHLEMBACH -SCHLEISMAN -SCHLEINING -SCHLEIFF -SCHLEIDER -SCHINK -SCHILZ -SCHIFFLER -SCHIAVI -SCHEUER -SCHEMONIA -SCHEMAN -SCHELB -SCHAUL -SCHAUFELBERGE -SCHARER -SCHARDT -SCHARBACH -SCHABACKER -SCEE -SCAVONE -SCARTH -SCARFONE -SCALESE -SAYNE -SAYED -SAVITZ -SATTERLUND -SATTAZAHN -SATOW -SASTRE -SARR -SARJEANT -SARFF -SARDELLA -SANTOYA -SANTONI -SANTAI -SANKOWSKI -SANFT -SANDOW -SANDOE -SANDHAUS -SANDEFER -SAMPEY -SAMPERI -SAMMARCO -SAMIA -SAMEK -SAMAY -SAMAAN -SALVADORE -SALTNESS -SALSGIVER -SALLER -SALAZ -SALANO -SAKAL -SAKA -SAINTLOUIS -SAILE -SAHOTA -SAGGESE -SAGASTUME -SAGAN -SADRI -SADAK -SACHEZ -SAALFRANK -SAAL -SAADEH -RYU -RYNN -RYLEY -RYLE -RYGG -RYBARCZYK -RUZICH -RUYTER -RUVO -RUPEL -RUOPP -RUNDLETT -RUNDE -RUNDALL -RUNCK -RUKAVINA -RUGGIANO -RUFI -RUEF -RUBRIGHT -RUBBO -ROWBOTTOM -ROUTE -ROTNER -ROTMAN -ROTHWEILER -ROTHLISBERGER -ROSSEAU -ROSSEAN -ROSSA -ROSO -ROSIEK -ROSHIA -ROSENKRANS -ROSENER -ROSENCRANTZ -ROSENCRANS -ROSELLO -ROQUES -ROOKSTOOL -RONDO -ROMASANTA -ROMACK -ROKUS -ROHWEDER -ROG -ROETHLER -ROEDIGER -RODWELL -RODRIGUS -RODENBECK -RODEFER -RODARMEL -ROCKMAN -ROCKHOLT -ROCKFORD -ROCHOW -ROCHES -ROBLIN -ROBLEZ -ROBLE -ROBERS -ROAT -RIZZA -RIZVI -RIZK -RIXIE -RIVEIRO -RIUS -RITSCHARD -RITROVATO -RISI -RISHE -RIPPON -RINKS -RINGS -RINGLEY -RINGGENBERG -RINGEISEN -RIMANDO -RILLEY -RIJOS -RIEKS -RIEKEN -RIECHMAN -RIDDLEY -RICORD -RICKABAUGH -RICHMEIER -RICHESIN -REYOLDS -REXACH -REVERE -REQUENA -REPPUCCI -REPOSA -RENZULLI -RENTER -RENAULT -REMONDINI -RELIC -REITHER -REISIG -REIFSNIDER -REIFER -REIBSOME -REIBERT -REHOR -REHMANN -REEDUS -REDSHAW -REDFOX -RECZEK -RECUPERO -RECOR -RECKARD -RECHER -REAR -REALBUTO -RAZER -RAYMAN -RAYCRAFT -RAYAS -RAWLE -RAVISCIONI -RAVETTO -RAVENELLE -RAUTH -RAUP -RATTLIFF -RATTLEY -RATHFON -RATAJ -RASNIC -RAPPLEYEA -RAPAPORT -RANSFORD -RANN -RAMPERSAD -RAMIS -RAMCHARAN -RAINHA -RAINFORTH -RAGANS -RAGAINS -RAFIDI -RAFFETY -RADUCHA -RADSKY -RADLER -RADATZ -RACZKOWSKI -RACK -RABENOLD -QURAISHI -QUINERLY -QUIET -QUERCIA -QUARNSTROM -QIAN -PUSSER -PUPPO -PULLAN -PULIS -PUGEL -PUCCINI -PUCA -PRUNA -PROWANT -PROVINES -PRONK -PRINKLETON -PRINDALL -PRIMAS -PRIESMEYER -PRIDGETT -PREVENTO -PRETI -PRESSER -PRESNALL -PRESEREN -PRESAS -PRESA -PRCHAL -PRATTIS -PRATILLO -PRASKA -PRAK -POWIS -POWDERLY -POSTLEWAIT -POSTLE -POSCH -PORTEUS -PORTAL -PORRAZ -POPWELL -POPOFF -POPLASKI -PONIATOSKI -POLLINA -POLLE -POLHILL -POLETTI -POLASKI -POKORNEY -POKE -POINTDEXTER -POINSETTE -PO -PLOSZAJ -PLITT -PLETZ -PLETSCH -PLEMEL -PLEITEZ -PLAYFORD -PLAXCO -PLATEK -PLAMBECK -PLAGENS -PLACIDO -PISARSKI -PINUELAS -PINNETTE -PINICK -PINELL -PINCIARO -PINAL -PILZ -PILTZ -PILLION -PILKINTON -PILAR -PIKUL -PIEPENBURG -PIENING -PIEHLER -PIEDRAHITA -PIECHOCKI -PICKNELL -PICKER -PICKELSIMER -PICH -PICARIELLO -PHOEUK -PHILLIPSON -PHILBERT -PHERIGO -PHELKA -PEVERINI -PETRONIS -PETRINA -PETRASH -PETRAMALE -PETRAGLIA -PERY -PERSONIUS -PERRINGTON -PERRILL -PERPALL -PEROT -PERMAN -PERAGINE -PENTLAND -PENNYCUFF -PENNINGER -PENNIE -PENNACHIO -PENHALL -PENDEXTER -PENCIL -PENALVER -PELZEL -PELTER -PELOW -PELO -PELI -PEINADO -PEDLEY -PECUE -PECORE -PECHAR -PEAIRS -PAYNES -PAYANO -PAWELK -PAVLOCK -PAVLICH -PAVICH -PAVEK -PAUTLER -PAULIK -PATMORE -PATELLA -PATEE -PATALANO -PASSINI -PASSERI -PASKELL -PARRIGAN -PARMAR -PARAYNO -PAPARELLI -PANTUSO -PANTE -PANICO -PANDURO -PANAGOS -PAMA -PALMO -PALLOTTA -PALING -PALAMINO -PAKE -PAJTAS -PAILTHORPE -PAHLER -PAGON -PAGLINAWAN -PAGLEY -PAGET -PAETZ -PAET -PADLEY -PACLEB -PACIFIC -PACHELO -PACER -PACCIONE -PABEY -OZLEY -OZIMEK -OZAWA -OWNEY -OUTRAM -OUN -OUILLETTE -OUDEKERK -OUCH -OSTROSKY -OSTERMILLER -OSTERMANN -OSTERLOH -OSTERFELD -OSSENFORT -OSORIA -OSHELL -ORSINO -ORSCHELN -ORRISON -ORORKE -ORF -ORELLANO -OREJUELA -ORDOYNE -OPSAHL -OPLAND -ONOFRE -ONAGA -OMAHONY -OLSZOWKA -OLSHAN -OLLIG -OLIFF -OLIEN -OLEXY -OLDRIDGE -OLDFATHER -OLDER -OLALDE -OKUN -OKUMOTO -OKTAVEC -OKIN -OKA -OHME -OHLEMACHER -OHANESIAN -ODNEAL -ODGERS -ODERKIRK -ODDEN -OCAIN -OBRADOVICH -OAKEY -NUSSEY -NUNZIATO -NUNOZ -NUNNENKAMP -NUNCIO -NOVIELLO -NOVACEK -NOTHSTINE -NOSTRAND -NORTHUM -NORSEN -NORLANDER -NORKUS -NORGAARD -NORENA -NORED -NOBREGA -NIZIOLEK -NINNEMANN -NIEVAS -NIERATKO -NIENG -NIEDERMEYER -NIEDERMAIER -NICOLLS -NIANG -NEWHAM -NEWCOME -NEWBERGER -NEVILLS -NEVENS -NEVEL -NEUMILLER -NETTI -NET -NESSLER -NERIA -NEMET -NELON -NELLON -NELLER -NEISEN -NEILLY -NEIFER -NEID -NEGRO -NEERING -NEEHOUSE -NEEF -NEEDLER -NEBERGALL -NEALIS -NAUMOFF -NAUFZINGER -NARUM -NARRO -NARRAMORE -NARAINE -NAPPS -NANSTEEL -NAMISNAK -NAMANNY -NALLIE -NAKHLE -NAITO -NACCARI -NABB -MYRACLE -MYRA -MYHAND -MWAKITWILE -MUZZY -MUSCOLINO -MUSCO -MUSCENTE -MUSCAT -MUSCARA -MUSACCHIA -MUSA -MURRISH -MURFIN -MURAY -MUNNELLY -MUNLEY -MUNIVEZ -MUNDINE -MUNDAHL -MUNARI -MULLING -MULLENNEX -MULLENDORE -MULKHEY -MULINIX -MULDERS -MUHL -MUENCHOW -MUELLNER -MUDGET -MUDGER -MUCKENFUSS -MUCHLER -MOZENA -MOVIUS -MOULDIN -MOTOLA -MOSSERI -MOSSA -MOSELLE -MORY -MORSELL -MORRISH -MORLES -MORIE -MORGUSON -MORESCO -MORCK -MOPPIN -MOOSMAN -MOONS -MONTUORI -MONTONO -MONTOGOMERY -MONTIS -MONTERIO -MONTER -MONSALVE -MONGOMERY -MONGAR -MONDELLO -MONCIVAIS -MONARD -MONAGAN -MOLT -MOLLENHAUER -MOLDREM -MOLDONADO -MOLANO -MOKLER -MOISANT -MOILANEN -MOHRMAN -MOHAMAD -MOGER -MOGEL -MODINE -MODIN -MODIC -MODHA -MODENA -MLYNEK -MIYA -MITTIGA -MITTAN -MITCHELTREE -MISS -MISFELDT -MISENER -MIRCHANDANI -MIRALLES -MIOTKE -MIOSKY -MINTY -MINTEY -MINS -MINNIE -MINCE -MINASSIAN -MINAR -MIMIS -MILON -MILLOY -MILLISON -MILITO -MILFORT -MILBRADT -MIKULICH -MIKOS -MIKLAS -MIHELCIC -MIGLIORISI -MIGLIORI -MIESCH -MIDURA -MICLETTE -MICHELE -MICHELA -MICALE -MEZEY -MEWS -MEWES -METTERT -MESKER -MESICH -MESECHER -MERTHIE -MERSMAN -MERSEREAU -MERRITHEW -MERRIOTT -MERRING -MERENDA -MERCHEN -MERCARDO -MERATI -MENTZEL -MENTIS -MENTEL -MENOTTI -MENO -MENGLE -MENDOLIA -MELLICK -MELLETT -MELICHAR -MELHORN -MELENDRES -MELCHIORRE -MEITZLER -MEHTANI -MEHRTENS -MEGAN -MEDITZ -MEDEIRAS -MECKES -ME -MCTEER -MCTEE -MCPARLAND -MCNIELL -MCNEALEY -MCMANAWAY -MCLEON -MCLAY -MCLAVRIN -MCKLVEEN -MCKINZEY -MCKEN -MCKEAND -MCKALE -MCILWRAITH -MCILROY -MCGREAL -MCGOUGAN -MCGETTIGAN -MCGAREY -MCFEETERS -MCELHANY -MCDARIS -MCCOMIS -MCCOMBER -MCCOLM -MCCOLLINS -MCCOLLIN -MCCOLLAM -MCCOACH -MCCLORY -MCCLENNON -MCCATHERN -MCCARTHEY -MCCARSON -MCCARREL -MCCARGAR -MCCANDLES -MCCAMISH -MCCALLY -MCCAGE -MCBREARTY -MCANENY -MCANALLEN -MCALARNEY -MCAFERTY -MAZZO -MAZY -MAZUROWSKI -MAZIQUE -MAYORAS -MAYDEN -MAXBERRY -MAULLER -MATUSIAK -MATTSEN -MATTHEY -MATTERS -MATKINS -MATHIASEN -MATHE -MATEUS -MATE -MATALKA -MASULLO -MASSAY -MASHAK -MASCROFT -MARTINEX -MARTENSON -MARSIGLIA -MARSELLA -MARSEILLE -MAROUDAS -MAROTTE -MARNER -MARLO -MARKES -MARINA -MARET -MARENO -MAREAN -MARCINKIEWICZ -MARCHEL -MARASIGAN -MANZUETA -MANZANILLA -MANTERNACH -MANRING -MANQUERO -MANONI -MANNE -MANKOWSKI -MANJARRES -MANGEN -MANGAT -MANDONADO -MANDIA -MANCIAS -MANBECK -MAMROS -MAM -MALTEZ -MALLIA -MALLAR -MALLA -MALL -MALEN -MALASPINA -MALAHAN -MALAGISI -MALACHOWSKI -MAKOWSKY -MAKINEN -MAKEPEACE -MAJKOWSKI -MAJID -MAJESTIC -MAJERCIN -MAISEY -MAINGUY -MAILLIARD -MAIGNAN -MAHLMAN -MAHA -MAGSAMEN -MAGPUSAO -MAGNANO -MAGLEY -MAGEDANZ -MAGARELLI -MAGADDINO -MAENNER -MADNICK -MADDREY -MADAFFARI -MACNAUGHTON -MACMULLEN -MACKSEY -MACKNIGHT -MACKI -MACISAAC -MACIEJCZYK -MACIAG -MACHO -MACHENRY -MACHAMER -MACGUIRE -MACDOUGAL -MACDANIEL -MACCORMACK -MACCABE -MABBOTT -MABB -LYNOTT -LYNDON -LYM -LYDIA -LYCAN -LUY -LUTWIN -LUSCOMBE -LUSCO -LUSARDI -LURIA -LUNETTA -LUNDSFORD -LUMAS -LUISI -LUEVANOS -LUECKENHOFF -LUDGATE -LUDD -LUCHERINI -LUBBS -LOZADO -LOVIE -LOURENS -LOUNSBERRY -LOUGHREY -LOUGHARY -LOTTON -LOSSER -LOSHBAUGH -LOSER -LOSEKE -LOSCALZO -LOS -LORTZ -LOPERENA -LOOTS -LOOSLE -LOOMAN -LONGSTAFF -LONGOBARDI -LONGBOTTOM -LOMAY -LOMASNEY -LOHRMANN -LOHMILLER -LOGALBO -LOETZ -LOEFFEL -LODWICK -LODRIGUE -LOCKREM -LLERA -LLARENA -LIV -LITTREL -LITTMANN -LISSER -LIPPA -LIPNER -LINNEMANN -LINGG -LINDEMUTH -LINDEEN -LIMBO -LILLIG -LIKINS -LIGHTS -LIEURANCE -LIESMANN -LIESMAN -LIENDO -LICKERT -LICHLITER -LEYVAS -LEYRER -LEWY -LEUBNER -LETTERS -LESSLIE -LESNICK -LESMERISES -LERNO -LEQUIRE -LEPERA -LEPARD -LENSKE -LENEAU -LEMPKA -LEMMEN -LEMM -LEMERE -LEINHART -LEICHNER -LEICHER -LEIBMAN -LEHMBERG -LEGGINS -LEBEDA -LEAVENGOOD -LEANARD -LAZAROFF -LAVENTURE -LAVANT -LAUSTER -LAUMEA -LATIGO -LASOTA -LASHURE -LASECKI -LASCURAIN -LARTIGUE -LAROUCHE -LAPPE -LAPLAUNT -LAPLACE -LANUM -LANSDELL -LANPHER -LANOIE -LANKARD -LANIADO -LANGOWSKI -LANGHORN -LANGFIELD -LANGFELDT -LANDT -LANDINGHAM -LANDERMAN -LANDAVAZO -LAMPO -LAMPKE -LAMPER -LAMERY -LAMBEY -LAMADRID -LALLEMAND -LAISURE -LAIGO -LAGUER -LAGERMAN -LAGEMAN -LAGARES -LACOSSE -LACHAPPELLE -LABS -LABORN -LABONNE -KYUNG -KUZIA -KUTT -KUTIL -KUS -KURYLO -KUROWSKI -KURIGER -KUPCHO -KULZER -KULESA -KULES -KUHS -KUHNE -KRUTZ -KRUS -KRUPKA -KRONBERG -KROMKA -KROESE -KRIZEK -KRIVANEK -KRISHNA -KRINGEL -KREISS -KRATOFIL -KRAPP -KRAKOWSKY -KRACKE -KOZLOW -KOY -KOWALD -KOVER -KOVALESKI -KOTHAKOTA -KOSTEN -KOSKINEN -KOSITZKE -KORFF -KOREY -KORBAR -KOR -KOPPLIN -KOPLIN -KOOS -KONYN -KONCZAK -KOMP -KOMO -KOLBER -KOLASH -KOLAKOWSKI -KOHM -KOGEN -KOESTNER -KOEGLER -KODAMA -KOCIK -KOCHHEISER -KOBLER -KOBARA -KNEZEVICH -KNEIFL -KNAPCHUCK -KNABB -KLUTZ -KLUGMAN -KLOSNER -KLINGEL -KLIMESH -KLICE -KLEY -KLEPPE -KLEMKE -KLEINMANN -KLEINHANS -KLEINBERG -KLEFFNER -KLECKLEY -KLASE -KISTO -KISSICK -KISSELBURG -KIRSTEN -KIRSCHMAN -KIRKS -KIRKNER -KIRKEY -KIRCHMAN -KIPLING -KINVILLE -KINNUNEN -KINGDOM -KIMMEY -KIMMERLE -KIMBLEY -KILTY -KILTS -KILLMEYER -KILLILEA -KILLAY -KIEST -KIERCE -KIEPERT -KIELMAN -KHALID -KEWAL -KESZLER -KESSON -KESICH -KERWOOD -KERKSIEK -KERKHOFF -KERBO -KERANEN -KEOMUANGTAI -KENTER -KENNELLEY -KENIRY -KENDZIERSKI -KEMPNER -KEMMIS -KEMERLING -KELSAY -KELCHNER -KELA -KEITHLY -KEIPE -KEGG -KEER -KEAHEY -KAYWOOD -KAYES -KAWAHARA -KASUBOSKI -KASTENDIECK -KASSIN -KASPRZYK -KARRAKER -KARNOFSKI -KARMAN -KARGER -KARGE -KARELLA -KARBOWSKI -KAPPHAHN -KAP -KANNEL -KAMRATH -KAMINER -KAMANSKY -KALUA -KALTZ -KALPAKOFF -KALKBRENNER -KAKU -KAIB -KAEHLER -KACKLEY -KABER -JUSTO -JURIS -JURICH -JURGENSON -JUREZ -JUNOR -JUNIEL -JUNCKER -JUGO -JUBERT -JOWELL -JOVANOVIC -JOSIAH -JOOSTEN -JONCAS -JOMA -JOHNSO -JOHANNS -JODOIN -JOCKERS -JOANS -JINWRIGHT -JINENEZ -JIMESON -JERRETT -JERGENS -JERDEN -JERDEE -JEPPERSON -JENDRAS -JEANFRANCOIS -JAZWA -JAUSSI -JASTER -JARZOMBEK -JARENCIO -JANOCHA -JAKAB -JADLOWIEC -JACOBSMA -JACH -IZAQUIRRE -IWAOKA -IVASKA -ITURBE -ISRAELSON -ISMAEL -ISLES -ISACHSEN -ISAAK -IRLAND -INZERILLO -INSOGNA -INGEGNERI -INGALSBE -INCIONG -INAGAKI -IDOL -ICENOGLE -HYON -HYETT -HYERS -HUYCK -HUTTI -HUTTEN -HUTNAK -HUSSAR -HUSKY -HURRLE -HURFORD -HURDE -HUPPER -HUNKIN -HUNKELE -HUNKE -HUN -HUMANN -HUHTASAARI -HUGGER -HUGEL -HUGE -HUFFT -HUEGEL -HROBSKY -HREN -HOYLES -HOWLIN -HOVSEPIAN -HOVENGA -HOVATTER -HOUDEK -HOTZE -HOSSLER -HOSSFELD -HOSSEINI -HORTEN -HORT -HORR -HORGEN -HOREN -HOOPII -HOON -HOOGLAND -HONTZ -HONNOLD -HOMEWOOD -HOLWAY -HOLTGREWE -HOLTAN -HOLSTROM -HOLSTEGE -HOLLWAY -HOLLINGSHED -HOLLING -HOLLENBACK -HOLLARD -HOLBERTON -HOINES -HOGELAND -HOFSTAD -HOETGER -HOEN -HOAGLUND -HIROTA -HINTERMEISTER -HINNEN -HINDERS -HINDERER -HINCHEE -HIMELFARB -HIMBER -HILZER -HILLING -HILLERS -HILLEGAS -HILDINGER -HIGNIGHT -HIGHMAN -HIERHOLZER -HEYDE -HETTICH -HESKETH -HERZFELD -HERZER -HERSHENSON -HERSHBERG -HERNANDO -HERMENEGILDO -HERETH -HERERRA -HEREDA -HERBIN -HERATY -HERARD -HEPA -HENSCHEL -HENRICHSEN -HENNES -HENNEBERGER -HENINGBURG -HENIG -HENDRON -HENDERICKS -HEMPLE -HEMPE -HEMMINGSEN -HEMLER -HELVIE -HELMLY -HELMBRECHT -HELING -HELIN -HELFREY -HELBLE -HELAIRE -HEIZMAN -HEISSER -HEINY -HEINBAUGH -HEIGH -HEIDEMANN -HEIDEMA -HEIBERGER -HEGEL -HEERDT -HEEG -HEEFNER -HECKERMAN -HECKENDORF -HEAVIN -HEADMAN -HAYNESWORTH -HAYLOCK -HAYAKAWA -HAWKSLEY -HAWKING -HAVERSTICK -HAUT -HAUSEN -HAUKE -HAUBOLD -HATTAN -HATTABAUGH -HASTEN -HASSTEDT -HASHEM -HASELHORST -HARRIST -HARPST -HAROLDSEN -HARMISON -HARKEMA -HARK -HARISON -HARIRI -HARCUS -HARCUM -HARCOURT -HARCHARIK -HANZEL -HANVEY -HANTZ -HANSCHE -HANSBERGER -HANNIG -HANKEN -HANHARDT -HANF -HANAUER -HAMBERLIN -HALWARD -HALSALL -HALS -HALLQUIST -HALLMON -HALK -HALBACH -HALAT -HAJDAS -HAINSWORTH -HAIK -HAHM -HAGGER -HAGGAR -HADER -HADEL -HADDICK -HACKMANN -HAASCH -HAAF -GUZZETTA -GUZY -GUTTERMAN -GUTMANN -GUTKOWSKI -GUSTINE -GURSKY -GURNER -GUNSOLLEY -GUMPERT -GUMBEL -GULLA -GUILMAIN -GUILIANI -GUIER -GUERS -GUERERO -GUERENA -GUEBARA -GUADIANA -GRUNDER -GROTHOFF -GROSLAND -GROSH -GROOS -GROHS -GROHMANN -GROEPPER -GRODI -GRIZZAFFI -GRISSINGER -GRIPPI -GRINDE -GRIFFEE -GRETHER -GRENINGER -GREIGO -GREGORSKI -GREGER -GREGA -GREENBERGER -GRAZA -GRATTAN -GRASSE -GRAS -GRANO -GRAMBY -GRADILLA -GOVIN -GOUTREMOUT -GOULAS -GOTAY -GOSLING -GOREY -GOREN -GORDNER -GOOSSEN -GOON -GOODWATER -GONZAGA -GONYO -GONSKA -GONGALVES -GOMILLION -GOMBOS -GOLONKA -GOLLMAN -GOLDTRAP -GOLDAMMER -GOLAS -GOLAB -GOLA -GOGAN -GOFFMAN -GOEPPINGER -GODKIN -GODETTE -GLORE -GLOMB -GLAUNER -GLASSEY -GLASNER -GIVIDEN -GIUFFRIDA -GISHAL -GIOVANELLI -GINOZA -GINNS -GINDLESPERGER -GINDHART -GILLEM -GILGER -GIGGEY -GIEBNER -GIBBSON -GIACOMO -GIACOLONE -GIACCONE -GIACCHINO -GHERE -GHERARDINI -GHERARDI -GFELLER -GETTS -GERWITZ -GERVIN -GERSTLE -GERFIN -GEREMIA -GERCAK -GENERAL -GENER -GENCARELLI -GEHRON -GEHRMANN -GEFFERS -GEERY -GEATER -GAWLIK -GAUDINO -GARSIA -GARRAHAN -GARRABRANT -GAROFOLO -GARIGLIANO -GARFINKLE -GARELICK -GARDOCKI -GARAFOLA -GAPPA -GANTNER -GANTHER -GANGELHOFF -GAMARRA -GALSTAD -GALLY -GALLIK -GALLIER -GALIMBA -GALI -GALASSI -GAIGE -GADSBY -GABBY -GABBIN -GABAK -FYALL -FURNEY -FUNEZ -FULWIDER -FULSON -FUKUNAGA -FUJIKAWA -FUGERE -FUERTES -FUDA -FRYSON -FRUMP -FROTHINGHAM -FRONING -FRONCILLO -FROHLING -FROBERG -FROATS -FRITCHMAN -FRISCHE -FRIEDRICHSEN -FRIEDMANN -FRIDGE -FRIDDELL -FRID -FRESCH -FRENTZEL -FRENO -FRELOW -FREIMUTH -FREIDEL -FREEHAN -FREEBY -FREEBURN -FREDIEU -FREDERIKSEN -FREDEEN -FRAZELL -FRAYSER -FRATZKE -FRATTINI -FRANZE -FRANICH -FRANCESCON -FRANCESCO -FRAMES -FRAMER -FRAISER -FRAGMAN -FRACK -FOXE -FOWLSTON -FOSBERG -FORTNA -FORNATARO -FORDEN -FOOTS -FOODY -FOGT -FOGLIA -FOGERTY -FOGELSON -FLYGARE -FLOWE -FLORENTINE -FLINNER -FLEM -FLATTEN -FLATH -FLATER -FLAHAVEN -FLAD -FJELD -FITANIDES -FISTLER -FISHBAUGH -FIRSCHING -FIREMAN -FINZEL -FINICAL -FINGAR -FILOSA -FILICETTI -FILBY -FIERST -FIERRA -FICKLEN -FICHER -FERSNER -FERRUFINO -FERRUCCI -FERO -FERNS -FERLENDA -FERKO -FERGERSTROM -FERGE -FENTY -FENT -FENNIMORE -FENDT -FEMAT -FELUX -FELMAN -FELDHAUS -FEISTHAMEL -FEIJOO -FEIERTAG -FEHRMAN -FEHL -FEEZELL -FEENY -FEEBACK -FEDIGAN -FEDDER -FECHNER -FEARY -FAYSON -FAYLOR -FAUTEUX -FAUSTINI -FAURE -FAUCI -FAUBER -FATTIG -FARRUGGIO -FARRENS -FARE -FARACI -FANTINI -FANTIN -FANNO -FANNINGS -FANIEL -FALLAW -FALKER -FALKENHAGEN -FAJEN -FAHRNER -FABEL -FABACHER -EYTCHESON -EYSTER -EXFORD -EXEL -EXE -EVETTS -EVENSTAD -EVANKO -EURESTI -EUBER -ETCITTY -ESTLER -ESTHER -ESSNER -ESSINGER -ESPLAIN -ESPENSHADE -ESPANOL -ESPAILLAT -ESCRIBANO -ESCORCIA -ERRINGTON -ERRETT -ERRERA -ERLANGER -ERENRICH -EREKSON -ERBER -ENTINGER -ENSWORTH -ENSELL -ENNO -ENNEN -ENGLIN -ENGBLOM -ENGBERSON -ENCINIAS -ENAMA -EMEL -ELZIE -ELSBREE -ELMO -ELMAN -ELM -ELLEBRACHT -ELKAN -ELFSTROM -ELERSON -ELEAZER -ELEAM -ELDRIGE -ELCOCK -EINSPAHR -EIKE -EIDSCHUN -EID -EICKMAN -EICHELE -EICHE -EHLKE -EGUCHI -EGGINK -EDOUARD -EDGEHILL -ECKES -EBLIN -EBBERTS -EAVENSON -EARVIN -EARDLEY -EAGON -EADER -DZUBAK -DYLLA -DYCKMAN -DWIRE -DUTROW -DUTILE -DUSZA -DUSTMAN -DUSING -DURYEE -DURUPAN -DURTSCHI -DURTSCHE -DURELL -DUNNY -DUNNEGAN -DUNKEN -DUN -DUMM -DULAK -DUKER -DUKELOW -DUFORT -DUFILHO -DUFFEE -DUETT -DUECK -DUDZINSKI -DUDASIK -DUCKWALL -DUCHEMIN -DUBROW -DUBIS -DUBICKI -DUBA -DRUST -DRUCKMAN -DRINNEN -DREWETT -DREWEL -DREITZLER -DRECKMAN -DRAPPO -DRAFFEN -DRABANT -DOYEN -DOWDING -DOUB -DORSON -DORSCHNER -DORRINGTON -DORNEY -DORMAIER -DORFF -DORCY -DONGES -DONELLY -DONEL -DOMANGUE -DOLS -DOLLAHITE -DOLESE -DOLDO -DOILEY -DOHRMAN -DOHN -DOHENY -DOCETI -DOBRY -DOBRINSKI -DOBEY -DIVINCENZO -DISCHINGER -DIRUSSO -DIROCCO -DIPIANO -DIOP -DINITTO -DINEHART -DIMSDALE -DIMINICH -DIMALANTA -DILLAVOU -DILELLO -DIFUSCO -DIFFEY -DIFFENDERFER -DIFFEE -DIFELICE -DIFABIO -DIETZMAN -DIETEMAN -DIEPENBROCK -DIECKMANN -DICEY -DICAMPLI -DIBARI -DIAZDELEON -DIALLO -DEWITZ -DEWIEL -DEVOLL -DEVOL -DEVINCENT -DEVIER -DEVENDORF -DEVALK -DETTEN -DETRAGLIA -DETHOMAS -DETER -DETEMPLE -DESLER -DESHARNAIS -DESANTY -DEROCCO -DERMER -DERKS -DERITO -DERICK -DERHAMMER -DERANEY -DEQUATTRO -DEPASS -DEPADUA -DEON -DENZEL -DENYES -DENYER -DENTINO -DENLINGER -DENEAL -DEMORY -DEMOPOULOS -DEMONTIGNY -DEMONTE -DEMEZA -DELSOL -DELROSSO -DELPIT -DELPAPA -DELOUISE -DELONE -DELO -DELMUNDO -DELMORE -DELMAR -DELLAPAOLERA -DELFIN -DELFIERRO -DELEONARDIS -DELENICK -DELCARLO -DELCAMPO -DELCAMP -DELAWYER -DELAWARE -DELAROCA -DELALUZ -DELAHUNT -DELAGUARDIA -DEKEYSER -DEKAY -DEJAEGER -DEJACKOME -DEHAY -DEHASS -DEGRAFFENRIED -DEGENHART -DEGAN -DEEVER -DEEDRICK -DECKELBAUM -DECHICO -DECENT -DECECCO -DECASAS -DEBROCK -DEBONA -DEBEAUMONT -DEBARROS -DEBACA -DEARMORE -DEANGELUS -DEALMEIDA -DAWOOD -DAVNEY -DAUDT -DATRI -DASGUPTA -DARRING -DARRACOTT -DARIUS -DARCUS -DAOUD -DANSBURY -DANNELS -DANISH -DANIELSKI -DANEHY -DANCEY -DAMOUR -DAMBRA -DAMAN -DALCOUR -DAISEY -DAHLHEIMER -DAGON -DADISMAN -DACUNTO -DACAMARA -DABE -CYRULIK -CYPHERT -CWIK -CUSSEN -CURLES -CURIT -CURBY -CURBO -CUNAS -CUNARD -CUNANAN -CUMPTON -CULCASI -CUI -CUCINOTTA -CUCCO -CSUBAK -CRUTHIRD -CRUMWELL -CRUMMITT -CRUMEDY -CROUTHAMEL -CRONCE -CROMACK -CRISTINA -CRISAFI -CRIMIN -CRESTO -CRESCENZO -CREMONESE -CREEDON -CREDIT -CRANKSHAW -COZZENS -COVE -COVAL -COURTWRIGHT -COURCELLE -COUPLAND -COUNIHAN -COULLARD -COTRELL -COSGRAVE -CORNFIELD -CORNELIO -CORISH -CORDOUA -CORBIT -COPPERSMITH -COONFIELD -COOLS -CONVILLE -CONTRELL -CONTENTO -CONSER -CONROD -CONNOLE -CONGROVE -CONERY -CONDRAY -COLVER -COLTMAN -COLFLESH -COLCORD -COLAVITO -COLAR -COILE -COGGAN -COENEN -CODLING -CODA -COCKROFT -COCKREL -COCKERILL -COCCA -COBERLEY -COASTER -CLOUDEN -CLOS -CLIVE -CLISH -CLINT -CLINKSCALE -CLESTER -CLAMMER -CITY -CITTADINO -CITRANO -CIRESI -CILLIS -CICCARELLI -CIBOROWSKI -CIARLO -CIARDULLO -CHRITTON -CHOPP -CHOO -CHIRCO -CHILCOAT -CHEVARIE -CHESLAK -CHERNAK -CHAY -CHATTERJEE -CHATTEN -CHATAGNIER -CHASTIN -CHAPPUIS -CHANNING -CHANNEY -CHAMPLAIN -CHALUPSKY -CHALFIN -CHAFFER -CHADEK -CHADDERTON -CESTONE -CESTERO -CESTARI -CERROS -CERMENO -CENTOLA -CEDRONE -CAYOUETTE -CAVAN -CAVALIERO -CASUSE -CASTRICONE -CASTORENO -CASTEN -CASTANADA -CASTAGNOLA -CASSTEVENS -CASSIO -CASSI -CASSANOVA -CASPARI -CASHER -CASHATT -CASCO -CASASSA -CASAD -CARVILLE -CARVEL -CARTLAND -CARTEGENA -CARSEY -CARSEN -CARRINO -CARRILO -CARPINTEYRO -CARMLEY -CARLSTON -CARLSSON -CARIE -CARIDDI -CARICOFE -CAREL -CARDY -CARDUCCI -CARBY -CARANGELO -CAPRIOTTI -CAPRIA -CAPRARIO -CAPELO -CANUL -CANTUA -CANTLOW -CANNY -CANGIALOSI -CANEPA -CANDLAND -CAMPOLO -CAMPI -CAMORS -CAMINO -CAMFIELD -CAMELO -CAMARERO -CAMAEHO -CALVANO -CALLUM -CALLISTE -CALDARELLA -CALCUTT -CALCANO -CAISSIE -CAGER -CACCAMO -CABOTAGE -CABBLE -BYMAN -BUZBY -BUTKOWSKI -BUSSLER -BUSICO -BUSHY -BUSHOVISKY -BUSBIN -BUSARD -BUSALACCHI -BURTMAN -BURROUS -BURRIDGE -BURRER -BURNO -BURIN -BURGETTE -BURDOCK -BURDIER -BURCKHARD -BUNTEN -BUNGAY -BUNDAGE -BUMBY -BULTEMA -BULINSKI -BULAN -BUKHARI -BUGANSKI -BUERKLE -BUEN -BUEHL -BUE -BUDZYNSKI -BUCKHAM -BUB -BRYK -BRYDON -BRUYERE -BRUNSVOLD -BRUNNETT -BRUNKER -BRUNFIELD -BRUMBLE -BRUE -BROZINA -BROSSMAN -BROSEY -BROOKENS -BROERSMA -BRODRICK -BROCKMEIER -BROCKHOUSE -BRISKY -BRINKLY -BRINE -BRINCEFIELD -BRIGHENTI -BRIGANTE -BRIENO -BRIEDE -BRIDENBAUGH -BRIDEGROOM -BRICKETT -BRIA -BRESKE -BRENER -BRENCHLEY -BREITKREUTZ -BREITBART -BREISTER -BREINING -BREIGHNER -BREIDEL -BREHON -BREHENY -BREARD -BREAN -BREAKELL -BREACH -BRAZILL -BRAYMILLER -BRAUM -BRAU -BRASHAW -BRANSOM -BRANDOLINO -BRANCATO -BRANAGAN -BRAFF -BRADING -BRACKER -BRACKENBURY -BRACHER -BRAASCH -BOYLEN -BOYDA -BOYANTON -BOWLUS -BOWDITCH -BOUTOT -BOUTHILLETTE -BOURSIQUOT -BOURJOLLY -BOURET -BOUQUET -BOULERICE -BOUER -BOUCHILLON -BOUCHIE -BOTTIN -BOTEILHO -BOSKO -BOSACK -BORYS -BORS -BORLA -BORJON -BORGHI -BORAH -BOOTY -BOOTEN -BOORE -BONUZ -BONNE -BONGERS -BONETA -BONAWITZ -BONANNI -BOMER -BOLLEN -BOLLARD -BOLLA -BOLIO -BOISSEAU -BOIES -BOIANI -BOHORQUEZ -BOGHOSSIAN -BOESPFLUG -BOESER -BOEHL -BOEGEL -BODRICK -BODKINS -BODENSTEIN -BODELL -BOCKOVER -BOCCI -BOBBS -BOALS -BOAHN -BOADWAY -BLUMA -BLUETT -BLOOR -BLOMKER -BLEVENS -BLETHEN -BLEECKER -BLAYNEY -BLASKE -BLASETTI -BLANCAS -BLACKNER -BLACKIE -BJORKQUIST -BJERK -BIZUB -BISONO -BISGES -BISAILLON -BIRR -BIRNIE -BIRES -BIRDTAIL -BIRDINE -BINA -BILLOCK -BILLINGER -BILLIG -BILLET -BIGWOOD -BIGALK -BIELICKI -BIDDICK -BICCUM -BIAFORE -BHAGAT -BEZA -BEYAH -BEX -BEVIER -BEVELL -BEUTE -BETZER -BETTHAUSER -BETHAY -BETHARD -BESHAW -BERTHOLF -BERTELS -BERRIDGE -BERNOT -BERNATH -BERNABEI -BERKSON -BERKOVITZ -BERKICH -BERGSTEN -BERGET -BEREZNY -BERDIN -BEOUGHER -BENTHIN -BENHAIM -BENENATI -BENEJAN -BEMISS -BELOATE -BELLUCCI -BELLS -BELLOTTI -BELLING -BELLIDO -BELLAIRE -BELLAFIORE -BEKINS -BEKELE -BEISH -BEHNKEN -BEERLY -BEDDO -BECKET -BECKE -BEBEAU -BEAUCHAINE -BEAUCAGE -BEADLING -BEACHER -BAZAR -BAYSMORE -BAYERS -BAUN -BAULCH -BAUCHER -BATTO -BATON -BATHE -BASORA -BARUFFI -BARTIMUS -BARTHOLEMEW -BARRICKMAN -BARRIBEAU -BARREDA -BARRACK -BAROODY -BARNESS -BARN -BARMER -BARILLARI -BARIAS -BARGINEAR -BARG -BARDE -BARBONE -BARBATO -BARBARIN -BAOLOY -BANSAL -BANGLE -BANDUCCI -BANDEL -BAMBECK -BALTER -BALLIF -BALLER -BALLADARES -BALKUS -BALDY -BALDIVIA -BALCERZAK -BALAZS -BAKSH -BAKR -BAKEMEIER -BAISEY -BAINER -BAILLY -BAGGE -BADUA -BADINI -BACHTELL -BACHRODT -BACHORSKI -BACAK -BABULA -BABLE -BABJECK -BABECKI -AZBELL -AYUDAN -AWAI -AVITA -AVINO -AVELLAR -AUZAT -AUTMAN -AUTIO -AUTERY -AUSMAN -AUSLAND -AULABAUGH -AUGLE -AUGHENBAUGH -AUGERI -AUDI -ATTLESON -ATTIG -ATTAL -ATOR -ASSELMEIER -ASKLAND -ASIELLO -ASCH -ARYA -ARTOLA -ARSLANIAN -ARRON -ARREZOLA -ARNESEN -ARNAU -ARMSTER -ARMINTROUT -ARMENTO -ARMATO -ARKENBERG -ARIAZA -ARGUIN -ARENSON -AREIAS -ARCHUT -ARCHIBOLD -ARAVE -ARAND -APPELMAN -APPELLO -ANTONSON -ANTONIEWICZ -ANTILL -ANTIGUA -ANNINO -ANNESS -ANNELER -ANGUSTIA -ANGRY -ANGIOLILLO -ANGELICO -ANDREULA -ANDREEN -ANDREASSI -ANDESON -ANDER -ANDA -ANANIA -ANADIO -AMICONE -AMENTA -ALZAGA -ALWARDT -ALUARADO -ALTRECHE -ALTIC -ALSOBROOKS -ALPERN -ALMODOVA -ALMAS -ALLTOP -ALLISTON -ALLIO -ALIPIO -ALICANDRO -ALIBOZEK -ALGUIRE -ALFF -ALCALDE -ALBORN -ALBERY -ALBERRY -ALBANY -ALBANI -ALBANEZ -ALAVI -AKKERMAN -AHLHEIM -AGRESTI -AGNELLI -AGILAR -AGIB -AGGAS -AFTON -AFONSO -ADIL -ADI -ADANK -ADAMSKY -ACRI -ACCURSO -ABRUZZESE -ABREW -ABELN -ABDULLAI -ABDULKARIM -ABDELRAHMAN -ABBENANTE -ABATIELL -ABALOZ -ZYSKOWSKI -ZWIEFEL -ZURMILLER -ZUPANCIC -ZUNO -ZUMSTEG -ZUMBRENNEN -ZUMAYA -ZULLINGER -ZULEGER -ZOZAYA -ZOURKOS -ZORRILLA -ZORKO -ZOLOCSIK -ZITTEL -ZIOBRO -ZIMMERLY -ZIMMERLI -ZILLMER -ZIGMOND -ZIERER -ZIEBER -ZIDE -ZEVENBERGEN -ZEPHIER -ZEMEL -ZELAZO -ZEITLIN -ZEISER -ZEHRING -ZEGER -ZEDIAN -ZEARFOSS -ZBRANEK -ZAYA -ZATARAIN -ZASSO -ZARN -ZARILLA -ZARI -ZAPP -ZAPF -ZANGHI -ZANGE -ZAMACONA -ZALESKY -ZALAZAR -ZAKI -ZAFAR -ZADE -YUSKO -YURMAN -YURKOVICH -YUHASZ -YOUNGE -YIU -YEASTED -YARRITO -YARK -YARBORO -YANNUZZI -YANKOVICH -YANAGAWA -YAGO -YAFFE -WYNDHAM -WYMS -WYAND -WUENSCH -WRYALS -WRUBEL -WOROSZ -WOOLSTENHULME -WOLPE -WOLNER -WOLGAMOT -WOLFMAN -WOJTASZEK -WOEPPEL -WOEHR -WODARSKI -WIZWER -WITTKOP -WISSEMAN -WISOR -WISHUM -WISCHMANN -WISCH -WIRKKALA -WION -WINTJEN -WINTERMUTE -WINTERMANTEL -WINKS -WINKEY -WINHAM -WINDSCHITL -WILLOW -WILLITZER -WILLIER -WILLETS -WILLENBRINK -WILLEN -WILLAIMSON -WILFAHRT -WILENKIN -WILEN -WILDEBOER -WILCHEK -WIGREN -WIGNALL -WIGGINGTON -WIERSON -WIEGMAN -WIEGEL -WIDMAYER -WIDER -WIDDER -WICKEY -WICKERS -WICAL -WHITON -WHITENTON -WHITELEATHER -WHISTON -WHIRLEY -WHETHAM -WHEATLY -WETENKAMP -WESTENBERGER -WESTENBARGER -WESTALL -WERBLOW -WENGEL -WELSON -WELSCHMEYER -WELLMANN -WELLBROCK -WELA -WEKENBORG -WEITER -WEISENSTEIN -WEHMANN -WEEDA -WEDE -WEBLEY -WAVER -WAUFORD -WATERWORTH -WATCHORN -WASSINGER -WASSELL -WASP -WASIUTA -WARNIX -WARNING -WARNES -WARMOTH -WARLING -WARILA -WARGA -WARBURG -WANZER -WANT -WANER -WANEK -WALWYN -WALLE -WALKNER -WALIN -WALETZKO -WALER -WALENTA -WAINER -WAILES -WAHR -WADDEL -WACTOR -WACHTLER -WACHSMAN -WACHOWSKI -VULGAMORE -VUKELICH -VOTE -VOST -VOSKAMP -VORWERK -VONGPHAKDY -VOLPI -VOLLE -VOLINO -VOEKS -VODOPICH -VITTONE -VIRDIN -VIRAG -VINROE -VINEGAR -VINDIOLA -VILMONT -VILLERREAL -VILLANEVA -VILLALOBAS -VILLADA -VILHAUER -VILCHIS -VILCHES -VIGGIANI -VIG -VIEUX -VIETS -VIENT -VIELLE -VIEJO -VIDOVICH -VICHI -VEYS -VEVERKA -VERSER -VERONESI -VERNOY -VERMONT -VERHINES -VERHEYEN -VEREN -VEREB -VERANO -VENUTO -VENTRY -VENTRONE -VELTZ -VELO -VELAZGUEZ -VEESER -VASSEY -VASQUE -VARIN -VARAZA -VARADY -VAQUEZ -VAQUERANO -VANSTEENWYK -VANSCHOICK -VANROEKEL -VANNORDEN -VANLENT -VANGROUW -VANGELDER -VANES -VANELLI -VANDERKAR -VANDERBEEK -VANDENBURGH -VANDEKIEFT -VANDEKAMP -VANCURA -VANCOOTEN -VANCONEY -VANCAMPEN -VANARIA -VALVANO -VALLETTE -VALLERO -VALITON -VALIN -VALERI -VALEK -VALDOVINO -VALDIVIESO -VAKAS -VAGAS -VADALA -VACCARELLA -VACANTI -URRABAZO -URGUHART -URDA -URBINO -URBAS -UPMEYER -UMPHLETT -ULERIO -UITZ -UCHIMURA -UCCELLO -TYSDAL -TY -TWEEDLE -TURRUBIATES -TURRUBIARTES -TURRI -TURNHAM -TURKO -TURBEN -TUPIN -TUMULTY -TUFFEY -TUCKEY -TUCKETT -TUCHOLSKI -TUBOLINO -TUBERGEN -TSUBOI -TSCHUMPERLIN -TSCHOEPE -TRYNOWSKI -TRYBA -TRUSLOW -TRUOG -TRUMBALL -TRUDELLE -TROJILLO -TRNKA -TRIZARRY -TRIGUEIRO -TRIGLETH -TRICOMI -TRESSELT -TRENTACOSTE -TRENDELL -TRENARY -TREML -TRELEVEN -TREHERNE -TREASURE -TRAYER -TRAVINO -TRAUGOTT -TRAPPEY -TRANBARGER -TRAMONTANO -TRAMELL -TRAINUM -TRAINO -TRAILL -TRABUCCO -TOWNSELL -TOURTILLOTT -TOUAR -TOSCANI -TORRELLA -TORGUSON -TORDA -TOP -TOOMES -TONNER -TOMMASINO -TOMARO -TOLVE -TOLEFREE -TOGUCHI -TOFFLEMIRE -TOFANELLI -TODY -TOCE -TOBACCO -TOAN -TOALSON -TKACIK -TIRONE -TIPPLE -TIPPERY -TINSON -TINNELL -TIMPER -TIMMERS -TIMES -TIMBLIN -TILOTTA -TILLBERG -TIJERNIA -TIGGES -TIGAR -TIELKING -THYNG -THONEN -THOMLEY -THOMBS -THIMMESCH -THIER -THEVENIN -THEODOROV -THEODOROPOULO -THARNISH -THARALDSON -THACKABERRY -TEWARI -TETU -TETTER -TERSIGNI -TEPEZANO -TENNON -TENNENT -TEICHMAN -TEEHAN -TAYLOE -TAUS -TATIS -TATA -TAT -TASHIMA -TARUFELLI -TARLOW -TARKOWSKI -TARKA -TARGETT -TARAN -TARABOKIJA -TAPPEN -TANZER -TANOUS -TANIGAWA -TANEJA -TAMMO -TALLERICO -TALLADA -TALK -TALHELM -TAKEHARA -TAKATA -TAGLIAVIA -TAFFER -TADMAN -TACDOL -TACCONI -TABLES -SZEWCZAK -SZEREDY -SZANTO -SYMPSON -SYMMES -SYERS -SYDNEY -SYAS -SWINNY -SWIERK -SWENDSEN -SWEIGARD -SWEEZEY -SWEESY -SWEEN -SWEELY -SWEED -SWEAZY -SWAUGER -SWANSBROUGH -SWANGO -SWANDA -SWAMP -SWALLOWS -SWAGGERTY -SVATEK -SURVANT -SUROWKA -SURINA -SUOZZI -SUNSTROM -SUNFORD -SUNDSETH -SUNDAHL -SUMMERILL -SUMIDA -SUMBLER -SUMA -SULYMA -SULLA -SULIEMAN -SUIT -SUGIYAMA -SUELL -SUDO -SUDDRETH -SUCHER -STURN -STURKEY -STUDZINSKI -STUDLER -STUCKMEYER -STRYJEWSKI -STROY -STROTMAN -STROLLO -STROIK -STROEDE -STREEBY -STREDNY -STRAZI -STRAY -STRAWDERMAN -STRAITON -STOWER -STOUDMIRE -STORMONT -STOPKA -STONEBACK -STOLDT -STOLARZ -STOLARSKI -STOCKMASTER -STOBB -STIVASON -STIRK -STIPP -STIPES -STINGEL -STIKE -STIEBEL -STIDD -STEURER -STERLEY -STERLE -STEPRO -STEPOVICH -STEPHSON -STENSETH -STENERSON -STELLO -STEINBROOK -STEIDLEY -STEHLIN -STEGMAIER -STEFANOW -STEESE -STEENHUIS -STAVELY -STAVE -STAUTZ -STAUNTON -STATER -STAS -STARTUP -STARTT -STARTIN -STARRATT -STARGELL -STARCEVICH -STANK -STANIS -STANDING -STANCLIFF -STANCHFIELD -STANBROUGH -STAKES -STAHMER -STAHELI -STAEBELL -STADTLANDER -STADHEIM -SROUFE -SROCZYNSKI -SRNSKY -SREAVES -SRADER -SQUEO -SPULER -SPROAT -SPRINGMEYER -SPRENGELER -SPORT -SPOLAR -SPIVACK -SPINALE -SPIEGLER -SPICKERMAN -SPESSARD -SPENNER -SPEICH -SPAZIANO -SPARACO -SPALTER -SOWELLS -SOVICH -SOUTHMAYD -SOUTHGATE -SOTTO -SOTOMAYER -SOSAYA -SORVILLO -SORREL -SOOS -SONGCO -SOMERSET -SOMERO -SOLL -SOLDAN -SOLARZANO -SOLANA -SOKAL -SOIBELMAN -SOESBE -SOBOTTA -SOBINA -SOBECK -SOARD -SNORTON -SNOPEK -SNOOZY -SNETHEN -SMITHHISLER -SMEE -SMANIOTTO -SLUSARSKI -SLOWE -SLOTNICK -SLEVA -SLEIGHTER -SLAPPEY -SKYERS -SKUTT -SKORCZ -SKOCZYLAS -SKILLICORN -SKIFFINGTON -SKIBICKI -SKERL -SKEHAN -SKALLA -SIWINSKI -SIVLEY -SITTLOH -SITTERLY -SITH -SIT -SISE -SIROKY -SIRLES -SIRIN -SIRIGNANO -SIREN -SINSABAUGH -SINKS -SINISI -SINIBALDI -SINGSON -SINDLINGER -SIMPKIN -SIMINSKI -SIMCOE -SIFORD -SIEGERT -SIDOR -SIDHOM -SIDDIQUE -SIDDELL -SICOTTE -SICHTING -SICARI -SIC -SIANO -SHUFFLEBARGER -SHRAMEK -SHORTNACY -SHOLLER -SHOLETTE -SHOLDERS -SHOGREN -SHOENBERGER -SHOEMATE -SHOAT -SHINODA -SHINES -SHIMSHAK -SHIGLEY -SHEWARD -SHETRONE -SHETLAR -SHERRETTS -SHEROD -SHENKLE -SHELY -SHELTRA -SHELPMAN -SHELLABARGER -SHELITE -SHELDRICK -SHELBURN -SHEINBEIN -SHEBBY -SHAWLEY -SHATRAU -SHARTLE -SHARIFI -SHANKER -SHAMI -SHAMEL -SHAMBURG -SHAMAS -SHALLOW -SHAFFSTALL -SHADOWENS -SHACKLETON -SHAAK -SEYKORA -SEYFERT -SEVILLANO -SEVCIK -SEUBERT -SEU -SETTER -SESLER -SERVATIUS -SERRANT -SERRAMO -SERL -SERINI -SERENIL -SERAPION -SEPT -SENSIBAUGH -SENS -SENICH -SENGBUSCH -SENDRA -SENATE -SEMRAU -SEMRAD -SEMPERTEGUI -SEMONS -SEMKE -SELMA -SELLINGER -SELIGA -SEKEL -SEILHEIMER -SEIGFRIED -SEESHOLTZ -SEEFELD -SEECHARRAN -SEDRAKYAN -SEAVY -SEARCH -SEAMSTER -SEABOLD -SCYOC -SCULLEY -SCULLAWL -SCROGHAM -SCOW -SCOPA -SCONTRAS -SCIULLI -SCIOLA -SCIFRES -SCHWEYEN -SCHWERING -SCHWERDTFEGER -SCHWEIM -SCHWEIKERT -SCHWEDER -SCHWEBEL -SCHWARTZWALDE -SCHUSTERMAN -SCHUHMANN -SCHUERMAN -SCHUCHMAN -SCHROTENBOER -SCHREURS -SCHOPPERT -SCHOPPER -SCHOOLS -SCHONEMAN -SCHOLFIELD -SCHOEPPNER -SCHOENLEBER -SCHOEMAN -SCHOEL -SCHNURBUSCH -SCHNEPEL -SCHNADER -SCHLARB -SCHLAPPI -SCHLANGEN -SCHLAHT -SCHIRALDI -SCHINKEL -SCHIMIZZI -SCHIFO -SCHIESHER -SCHEYER -SCHETTLER -SCHEPPKE -SCHEPPER -SCHEINOST -SCHEIDEL -SCHEETS -SCHATZMAN -SCHARWATH -SCHARP -SCHAARSCHMIDT -SCHAACK -SCARNATO -SCARNATI -SCARINGI -SCARCIA -SCARANO -SBERNA -SAWINA -SAWER -SAWAYA -SAWATZKY -SAVCEDO -SAUSER -SAUMIER -SAUCHEZ -SAUCEMAN -SATHRE -SATAWA -SASALA -SARTORIS -SARE -SARCHET -SARACCO -SANTULLI -SANTORY -SANTORELLI -SANTOPIETRO -SANSING -SANSEVERINO -SANIATAN -SANGIACOMO -SANGES -SANFRATELLO -SANFLIPPO -SANDONA -SANDELIN -SANDATE -SAMONA -SAMMIS -SAMBOR -SAMANO -SALVITTI -SALVIETTI -SALVI -SALUM -SALSA -SALONEK -SALM -SALLES -SALL -SALERA -SALEMO -SALEE -SALAK -SAKIHARA -SAKASEGAWA -SAKAGUCHI -SAGASTEGUI -SAETURN -SADAN -SACAYANAN -SABORIO -SABEIHA -SABEDRA -SABAGH -RZEPECKI -RZASA -RYSER -RYNER -RYDMAN -RYCROFT -RYBIJ -RUYES -RUTTAN -RUSSON -RUSHE -RUSERT -RUSELL -RUNNELLS -RUNDSTROM -RUMSCHLAG -RULLMAN -RUKA -RUILOBA -RUH -RUGGS -RUFFER -RUEST -RUELUAS -RUEGER -RUEDIGER -RUBINOFF -RUBENDALL -ROZMUS -ROXBURGH -ROWLS -ROUSCH -ROTHOVE -ROTELLI -ROSZEL -ROSKE -ROSKAM -ROSENSTEEL -ROSENDO -ROOME -ROMBOUGH -ROMASH -ROMANSON -ROMANELLO -ROMANCE -ROLISON -ROGOL -ROGAS -ROESE -ROEHRS -ROEGNER -ROEGER -RODRGUEZ -RODEMAN -RODEBAUGH -ROCKENBAUGH -ROCCONI -ROBLETO -ROBATEAU -ROARTY -ROAF -RIVENBERG -RIVARA -RIVALI -RISSE -RISBY -RIPPERGER -RIOPELLE -RINGROSE -RINEBARGER -RILE -RIGGEN -RIGANO -RIFF -RIFENBARK -RIEPER -RIEFFENBERGER -RIEDMAYER -RIDOLFI -RIDDERHOFF -RICKON -RICKERS -RICKELS -RICHOUX -RICHENS -RIBAO -RHODARMER -RHEINGANS -REZNIK -REVERON -REUS -REPH -RENKO -REMME -REMLINGER -REMKE -REMILY -REITANO -REISSIG -REISHER -REINITZ -REINHOLTZ -REINES -REIGSTAD -REIGH -REICHELDERFER -REHNERT -REHAGEN -REDLINE -REDIGER -REDHOUSE -REDEPENNING -RECLA -RECHKEMMER -REANDO -RAZAVI -RAYSON -RAYNA -RAX -RAVELING -RAUSER -RAUSCHENBERG -RAUPACH -RAUM -RAUEN -RATULOWSKI -RATTERREE -RATERING -RAPIN -RANNELS -RANE -RANDHAWA -RAMUS -RAMSFIELD -RAMS -RAMROOP -RAMANO -RAJ -RAINA -RAIKES -RAGONESE -RAFANIELLO -RAETZ -RAETHER -RAESIDE -RADWAN -RADMAN -RADEMAKER -RADAR -RACKI -RACHLIN -RABENA -RABASSA -RABADAN -RAAD -QUOSS -QUIZON -QUITO -QUINTELA -QUIMET -QUILTY -QUILIMACO -QUIDLEY -QUEZAIRE -QUAVE -QUARTO -QUARANTO -QUANDEL -QIU -QAZI -PYRDUM -PYON -PYEATT -PUZINSKI -PUTNAL -PUNTER -PUMPHERY -PUMPER -PUMP -PUMMELL -PUMAREJO -PULVERMACHER -PULTZ -PULLY -PULLENS -PULKRABEK -PULK -PUDLINSKI -PUCCETTI -PRZYGOCKI -PRZYBYSZEWSKI -PRUSHA -PRUDENTE -PRUCNAL -PROTTSMAN -PROSCH -PRODOEHL -PROCELL -PRINZIVALLI -PRIMES -PREY -PRESNAR -PRESHO -PRENTIS -PREISLER -PREISEL -PRATKA -PRATCHER -PRASS -POZZUOLI -POWANDA -POUNDSTONE -POTTERS -POTRA -POTESTIO -POTEMPA -POSTLETHWAIT -POSAS -PORTRUM -PORTLAND -PORTILLA -PORTIE -POPOVITCH -POPKEN -PONZIO -PONTREMOLI -PONTARELLI -POMBO -POMAINVILLE -POLYCARPE -POLLART -POLITOWSKI -POLITANO -POLIQUIN -POLCZYNSKI -POKOJ -POITEVINT -POISSONNIER -POEPPEL -POELLOT -POEHLMAN -POEHLEIN -PODRATZ -POCIASK -PLOCHER -PLINE -PLESSINGER -PLAUTZ -PLATTEN -PLASS -PLAGEMAN -PLACKO -PIZZOLA -PIZZELLA -PITTSENBARGER -PITTNER -PITSTICK -PITSCH -PITNEY -PITANIELLO -PISTORESI -PIRC -PINSKI -PINERA -PINCOCK -PINCKLEY -PINCINCE -PILIERO -PILAT -PIGUE -PIETSCHMAN -PIERPOINT -PIERINI -PICON -PICKING -PICARDI -PHLEGM -PHIPPIN -PHETTEPLACE -PHAREL -PFUNDT -PFLUGER -PFEUFFER -PFEFFERLE -PEZZULO -PEZZANO -PEVELER -PETTERSSON -PETSCH -PETRUSKY -PETRUSKA -PETRULIS -PETROSSIAN -PETROSKE -PETRINI -PETITTE -PETITO -PETELA -PETACCIO -PESTO -PESTKA -PESTA -PESSOA -PERUN -PERROW -PERRICONE -PEROS -PERNEY -PERLIN -PERIGO -PERELLA -PERCLE -PEPPLE -PENZ -PENTTILA -PENSIERO -PENIGAR -PENEZ -PENDRAK -PENAS -PELLOWSKI -PELLOW -PELLIN -PELISSIER -PELINI -PEKRUL -PEEVEY -PEDRAJA -PECHER -PEASEL -PAYMENT -PAVOLINI -PAVIOLITIS -PAULSELL -PAULINA -PAULE -PATRUM -PATRONE -PATRIE -PATRAS -PATERA -PATEK -PATANE -PASTRANO -PASTORA -PASSOW -PASSLEY -PASSARETTI -PASSANTINO -PASKE -PARTIBLE -PARSA -PARNES -PARLIMAN -PARLATO -PARAVATI -PARADOWSKI -PAPALEO -PAPAGNI -PAOLETTA -PANZARINO -PANNUNZIO -PANIS -PANDIT -PALUZZI -PALOMIN -PALOMAKI -PALLANES -PALLA -PALL -PALINO -PALFREYMAN -PALAZZI -PALANZA -PALAGI -PAINTON -PAIN -PAHULU -PAGANICO -PAETH -PADLO -PADILLIA -PADDY -PADDICK -PACIOLLA -PACHOLSKI -PAAP -PAA -OWOLABI -OVERSHOWN -OVEROCKER -OVERGAARD -OUCHI -OTTOSON -OSTRYE -OSTERLAND -OSLAND -OSLAN -OSICK -OSEN -OSDOBA -OSBERG -ORZEL -ORTMEIER -ORREN -ORMEROD -ORIO -ORGERON -ORENGO -ORBAKER -OPIELA -OPDAHL -ONKS -OLTROGGE -OLNICK -OLIVARRES -OLIDE -OLEKSY -OLAYA -OKRAY -OKONEK -OKINAKA -OJIMA -OJALA -OINONEN -OHOTTO -OHAN -OGWIN -OGBORN -OFLAHERTY -OFFILL -OETKEN -OERTLE -OEHLERT -ODEMS -OCONNEL -OCHA -OCARROLL -OBY -OBLAK -OBERST -OBERMANN -OBAS -OACHS -NYDEGGER -NYBO -NUUANU -NUTILE -NUSE -NURIDDIN -NUNGESSER -NUBER -NOY -NOVINGER -NOURI -NORTHAN -NORSEWORTHY -NORROD -NORMINGTON -NORI -NORENBERG -NORDINE -NOP -NOORI -NOBLET -NIVES -NIST -NISKALA -NILAN -NIKOLAI -NIGL -NIGHTENGALE -NICHOLE -NI -NHEK -NGVYEN -NEWVILLE -NEWSAM -NEWNHAM -NEWMEYER -NEWLAN -NEWBERT -NEUSCHWANDER -NEUSCH -NEUN -NETHKEN -NETHERCUTT -NESSER -NESKE -NEMAN -NELTON -NELLES -NEKOLA -NEILING -NEESER -NEELLY -NEDVED -NEANG -NAVEJAR -NAVEJA -NAUARRO -NATHO -NATHE -NATCHER -NASER -NASBY -NARLOCK -NANTON -NAILLON -NAILL -NAGUIN -NAGELE -NAFTZGER -NAEGLE -NAEGELE -NAEF -NACKE -NABRITT -MYNHIER -MYART -MUZQUIZ -MUTTY -MUSOLINO -MUSHERO -MURTAUGH -MURIE -MURESAN -MURDOUGH -MURA -MUNUZ -MUNSTERMANN -MUNSEN -MUNSELLE -MUNISE -MUNGLE -MUNERLYN -MUNCHER -MULROONEY -MULLEE -MULANEY -MULANAX -MUHLHAUSER -MUHLESTEIN -MUGLESTON -MUGG -MUGFORD -MUCKEL -MUCERINO -MT -MROTEK -MRNAK -MOZDZIERZ -MOYLER -MOURY -MOULIN -MOULDING -MOUL -MOTTAI -MOSTYN -MOSIMANN -MOSHOLDER -MOSBURG -MORRISSEAU -MORON -MORICE -MORGANTE -MORETA -MORCOS -MORASCO -MORANTE -MOOE -MONTORI -MONTMINY -MONTEFORTE -MONTANTE -MONTANARI -MONSEES -MONDIER -MONDEN -MONCKTON -MONCE -MONARCH -MONARCA -MOMPOINT -MOLLEMA -MOLIN -MOLIMA -MOLEN -MOLASH -MOHER -MOGLE -MOGANNAM -MOEL -MOEHN -MODESITT -MOBILIA -MOAG -MIYAGAWA -MIVSHEK -MIU -MITTMAN -MITTLEMAN -MITTELSTEADT -MITTELSTAEDT -MITSCH -MITHELL -MISCIONE -MIRBAHA -MIRABELLI -MIR -MINON -MINNITI -MINNERLY -MINGRONE -MINERVINI -MINERD -MINARCIN -MIMNAUGH -MILORD -MILNOR -MILNIK -MILLERS -MILKOWSKI -MIKROT -MIKLES -MIGLORIE -MIENTKA -MIDTHUN -MIDDLESWORTH -MICKLOS -MICKLER -MICHETTI -MICHELLI -MICHELET -MICALLEF -MEYN -MEULLION -METTE -METOXEN -MESSORE -MESSANO -MESAROS -MERTEL -MERRITTS -MERRION -MERRIL -MERMIS -MERLINI -MERKER -MERIDITH -MERGEL -MERBAUM -MENTE -MENSI -MENNINGER -MENNEN -MENLOVE -MENKEN -MENEZES -MENETTE -MENDYK -MENDOCA -MENDIVEL -MENDIAS -MENASCO -MELLOY -MELLEMA -MELLARD -MELIS -MELDAHL -MELBERG -MEIRICK -MEINEL -MEILER -MEILE -MEIDL -MEERDINK -MEER -MEDUS -MEDUNA -MEDOVICH -MEDINE -MEDICO -MEDICI -MCVAIGH -MCTIER -MCQUIRK -MCNIGHT -MCMURREY -MCMURDO -MCMORRIES -MCMILLEON -MCMICKELL -MCMICHEAL -MCMEEL -MCLEESE -MCLEE -MCLAWS -MCLANAHAN -MCLAIRD -MCKUSKER -MCKIBBENS -MCKENLEY -MCKENIZE -MCKENDALL -MCKELLOP -MCKELLIP -MCKEIRNAN -MCINVALE -MCGUFFEE -MCGRUE -MCGREGORY -MCGRANN -MCGOEY -MCGLINN -MCGILLICUDDY -MCGILLEN -MCGEACHY -MCGARRELL -MCGANNON -MCGALLIARD -MCFARLEN -MCEVERS -MCERLEAN -MCENNIS -MCELVANY -MCELVAINE -MCDONAL -MCDAVITT -MCCULLICK -MCCRONE -MCCREADIE -MCCOUN -MCCONCHIE -MCCONAUGHY -MCCONAHY -MCCONAGHY -MCCOMSEY -MCCOGGLE -MCCLIMANS -MCCLEOD -MCCLEAF -MCCLAFFERTY -MCCATTY -MCCARRY -MCCANCE -MCCAMENT -MCCAGHREN -MCBREEN -MCARDELL -MCABIER -MAZELL -MAYOTTE -MAYBRIER -MAVIS -MAUTONE -MATUSZEK -MATTIMOE -MATTEY -MATTERSON -MATTEN -MATSUSHIMA -MATSUBARA -MATRONE -MATRAS -MATO -MATIER -MATHEUS -MASSUCCI -MASSONI -MASSARE -MASLIN -MASHAW -MASE -MASCOLA -MASCI -MARZE -MARVRAY -MARUSAK -MARTOWSKI -MARTINY -MARTIE -MARTABANO -MARSHA -MARSCHEL -MARSACK -MARSAC -MAROHNIC -MARKVE -MARKIS -MARKING -MARKEN -MARIONI -MARICHALAR -MARGOSIAN -MARETTI -MARDESICH -MARCUSSEN -MARCHESSAULT -MARCEY -MARALDO -MARAFIOTI -MANZANERO -MANWILL -MANUAL -MANOCCHIO -MANKO -MANISTA -MANIRE -MANIKOWSKI -MANGANIELLO -MANETTA -MANDY -MANDINO -MANDARINO -MANCINELLI -MANASSE -MANARY -MANALANG -MALLING -MALLAHAN -MALISKA -MALET -MALESKI -MALDONALDO -MALATERRE -MALANEY -MALAGARIE -MALABE -MAKS -MAKINSTER -MAKAR -MAITA -MAIOLO -MAHLEY -MAGOS -MAGO -MAGNOTTI -MAGNANT -MAGLOTT -MAGLORI -MAENIUS -MADKIN -MADARANG -MADAGAN -MACRINA -MACQUARRIE -MACPHEE -MACNEAL -MACMAHON -MACLELLAN -MACKEEN -MACIVER -MACHKOVICH -MACHAN -MACEWEN -MACERA -MACER -MACEACHERN -MACDONELL -MACASKILL -MAASKE -LYSAGHT -LYNUM -LYNEMA -LYAS -LUTTON -LUTTMAN -LUTSKY -LUTHI -LUTFY -LUPOE -LUNDRIGAN -LUNDERVILLE -LUKAN -LUEDEMAN -LUDKE -LUCORE -LUCKSINGER -LUCKS -LUCKNER -LUCARELL -LUBELSKI -LUARCA -LUACES -LOZINSKI -LOYNES -LOWIS -LOVORN -LOVERDE -LOVASZ -LOUGHERY -LOTZER -LOSITO -LOSCHIAVO -LORSUNG -LORQUET -LORKOWSKI -LORINO -LOREY -LORENTE -LOREMAN -LOPAZ -LOOFT -LONIE -LONGMAN -LONGHOFER -LONGAN -LOMASCOLO -LOMACK -LOLAGNE -LOKAPHONE -LOGINS -LOGGIN -LOFREDO -LOFFLER -LOESCHER -LOENDORF -LOCUS -LOCKYER -LOCKHEART -LOBENDAHN -LOBASSO -LOB -LIZANA -LIVSHITS -LITZAU -LITTY -LITTEER -LITSEY -LITRENTA -LITNER -LISZEWSKI -LISMAN -LISBOA -LIQUET -LIPTOK -LINEWEAVER -LINDENPITZ -LINDEL -LIME -LILLYWHITE -LIFE -LIEVANO -LIEBLONG -LIEBLER -LIDEY -LIBUTTI -LIBORIO -LIBENGOOD -LEYSON -LEYLAND -LEWCZYK -LEWARK -LEVINER -LEVENSTEIN -LEUENBERGER -LESZCZYNSKI -LESTAGE -LESKE -LERWICK -LERAY -LEPKOWSKI -LEONOR -LENYARD -LENGER -LENDON -LEMARIE -LEMAN -LELLE -LEISNER -LEISEY -LEISCHNER -LEIMER -LEIGERS -LEIFERMAN -LEIBFRIED -LEHOULLIER -LEHNORTT -LEGGET -LEGATO -LEGATH -LEGASSIE -LEGARRETA -LEFTRIDGE -LEEWRIGHT -LEDSOME -LECRONE -LECOURT -LECKY -LECHMAN -LEBSACK -LEBOUF -LEBON -LEAZER -LEAVINS -LEADBEATER -LAWWILL -LAWALL -LAVORINI -LAVIERO -LAVERTUE -LAVALAIS -LAUTENBACH -LAUSIER -LAURITA -LAURIANO -LAURANGE -LAUNEY -LAUGHEAD -LAUFENBERG -LAUDERMAN -LAUBHAN -LATUNSKI -LATULAS -LASTRAPE -LASTIRI -LASON -LASKOSKI -LASANTA -LAROUX -LARIZZA -LARIVE -LARISH -LAQUERRE -LAPPAS -LAPILIO -LAPADULA -LAPA -LANZI -LANZAFAME -LANTIER -LANSKI -LANINGHAM -LANGON -LANGDALE -LANDRON -LANDERO -LANDAUER -LANDACRE -LAMPORT -LAMPING -LAMOTT -LAMONDA -LAMMI -LAMBIASE -LAITE -LAHAYE -LAFRAMBOISE -LAFONE -LAFERTE -LAEGER -LADIEU -LADABOUCHE -LACHAT -LABONVILLE -LABBEE -LABATT -LABAN -KYNASTON -KWATERSKI -KUZNIAR -KUTHE -KUTER -KUTCHAR -KURTIN -KURAMOTO -KUPSTAS -KUPERMAN -KUNS -KULLMANN -KULIGOWSKI -KUKIELKA -KUEHLER -KUDRNA -KUBIE -KUBERA -KUBAS -KUBA -KUALII -KRYSINSKI -KRYDER -KRONBERGER -KROFT -KROENCKE -KRISTIANSEN -KRIGGER -KRIESER -KRETSCHMAN -KRENTZ -KRENKE -KREMERS -KREITNER -KREIMER -KRAY -KRAWCHUK -KRAVS -KRANICH -KRAMPITZ -KRAGH -KRAGER -KOZUCH -KOZLOSKI -KOZATEK -KOZAKIEWICZ -KOVALSKY -KOVALCIK -KOVACK -KOTERA -KOT -KOSZYK -KOSTEL -KOSMICKI -KOSHY -KORONA -KOROMA -KORBA -KOOPMANN -KONSTANTINIDI -KOLODZIK -KOLODZIESKI -KOLLE -KOLKMANN -KOLKER -KOLDA -KOKALY -KOFFORD -KOEPPER -KOEING -KOEHNEN -KODISH -KODANI -KOCUR -KOCOUREK -KOBZA -KOBLE -KOBACK -KNUTZEN -KNOWS -KNOLTON -KNOBLAUCH -KNISPEL -KNIEPER -KNEPSHIELD -KLYCE -KLUNK -KLUKA -KLOSTERMANN -KLOSINSKI -KLISH -KLINT -KLINNER -KLINDT -KLIMKO -KLICKER -KLEMAN -KLEINSORGE -KLEINFELDER -KLEIER -KLAS -KLAMAN -KIZZEE -KITTO -KITKA -KIRTDOLL -KIRSCHT -KINTZER -KINSTLE -KINNING -KINNIBURGH -KINNETT -KINKER -KINKELAAR -KINGS -KINGHAM -KINGFISHER -KIMMET -KILLINGBECK -KILBERG -KIKUCHI -KIKKERT -KIESOW -KIENITZ -KIDNER -KIDA -KID -KHUU -KHATAK -KHALECK -KEZAR -KEYTON -KETELHUT -KESLEY -KESHISHYAN -KERZMAN -KERTESZ -KERSLAKE -KERSCHER -KERNES -KERIN -KER -KENIMER -KENFIELD -KEMPE -KEMICK -KEM -KEITSOCK -KEISKER -KEERY -KEBLISH -KEBALKA -KEARNY -KEARBY -KAYLER -KAVIN -KAUER -KATTAN -KATOA -KASSIS -KASHUBA -KASHAN -KARTMAN -KARRY -KARPEL -KARO -KARNOPP -KARMAZYN -KARJALA -KARCZ -KARASTI -KARAGIANNIS -KAPOI -KAPANKE -KANZ -KANIEWSKI -KANEMOTO -KANEHOLANI -KANDT -KAMPFER -KAMMANN -KAMLER -KAMAL -KALVIG -KALMEN -KALMAR -KALLSTROM -KALLIN -KALLBRIER -KAKAVIATOS -KAKAR -KAHAHANE -KAGEL -KABAT -KABANUCK -KAAS -JURCZAK -JURASIN -JURAS -JUNKE -JUNGHANS -JUNGEN -JUND -JULIUSSON -JUHNKE -JUETT -JOLLA -JOKINEN -JOKELA -JOFFE -JOECKS -JOCHUMSEN -JOA -JEZIORSKI -JESSEMAN -JESSAMY -JERNEJCIC -JERGENSON -JERDON -JENSRUD -JELLINEK -JEDREY -JEDELE -JEANNETTE -JAURON -JATHO -JARREL -JANUSZEWSKI -JANSKI -JANOVSEK -JANNING -JANIKOWSKI -JANE -JANDRES -JAMAICA -JALONEN -JAINLETT -JAHNSEN -JAHDE -JAGOW -JAGIELSKI -JAFFRAY -JAECKS -JACQUOT -JACOWAY -JACOCKS -IWAMI -ISADORE -IRMEGER -IRIE -IREDALE -IQBAL -INSCOE -INKLEBARGER -INGEMI -IMMEN -IMIG -IMBERG -IMAMURA -ILLIES -ILACQUA -IJAMS -IHA -IDEN -IBRAHAM -IBEY -IALONGO -IAFRATE -HYZER -HYACINTHE -HUYARD -HUXMAN -HUTCHKISS -HUTCHINGSON -HUSSON -HUSSMAN -HURM -HUPKA -HUNYADI -HUNSTAD -HUMPERT -HUMMONS -HULTZ -HULTON -HULES -HUISENGA -HUHTA -HUGUELEY -HUGHE -HUGGLER -HUFTON -HUFFSTICKLER -HUDDELSTON -HUBA -HRIVNAK -HOYSRADT -HOWORTH -HOWENSTINE -HOVDA -HOURANI -HOUGLUM -HOUCH -HOTALEN -HOSSE -HORWICH -HORVITZ -HOROSCHAK -HORNOR -HORNBROOK -HORITA -HOQUE -HOPMAN -HOOVLER -HOOPLE -HOOKFIN -HONEYSUCKER -HONEYCUT -HONERKAMP -HOMYAK -HOMA -HOLZWART -HOLZERLAND -HOLYOKE -HOLTRY -HOLTERMAN -HOLOHAN -HOLLINSHED -HOLLINGTON -HOLLENSHEAD -HOLEY -HOLDERBY -HOLAK -HOKKANEN -HOHNER -HOGSED -HOGLEN -HOGEN -HOGBERG -HOFLAND -HOFIUS -HOFFIS -HOFFERBER -HOFFARTH -HOFACKER -HOEKMAN -HODOR -HOCHSTETTER -HOCHNADEL -HOBBINS -HOA -HLAVATY -HITTNER -HITSON -HIRTZ -HIRSCHI -HINKES -HINKE -HINDLEY -HINCE -HILSE -HILKE -HILFERTY -HILDESHEIM -HIKES -HIGNITE -HIGMAN -HIEMER -HIDDEN -HICKINBOTHAM -HEWATT -HETZ -HETSLER -HESSIAN -HERSHAW -HERRA -HERNANDER -HERLOCKER -HEPPER -HENSELER -HENRI -HENNICK -HENNECKE -HENDRIKSON -HENDERLIGHT -HELLSTROM -HELDERMAN -HEITLAND -HEISTAND -HEISKELL -HEISINGER -HEISERMAN -HEINRITZ -HEINLY -HEINLEN -HEIMERDINGER -HEIMBIGNER -HEIDBREDER -HEGWER -HEDEEN -HEBRANK -HEBERLEIN -HEASLET -HEARIN -HAZLE -HAZELBUSH -HAYZLETT -HAYRE -HAYMANS -HAYENGA -HAYDUK -HAWARD -HAVNER -HAUSHALTER -HAUF -HATKE -HATCHEL -HASSARD -HASKOVEC -HASHMI -HARVEST -HARVATH -HARTILL -HARTEAU -HARSHFIELD -HARRIGILL -HARRIET -HAROS -HAROLDSON -HARMESON -HARL -HARKLEY -HARISTON -HARINGTON -HARIAN -HARGUS -HARGENS -HARDINA -HARALDSON -HARAJLY -HAPKE -HAPEMAN -HANZ -HANTHORN -HANRY -HANNEN -HANNASCH -HANNAM -HANIFAN -HANFT -HANDON -HANDFORD -HANCHER -HANCEY -HAMPLE -HAMMRICH -HAMMERSTROM -HAMBRIC -HALWICK -HALMA -HALLGREN -HALLET -HALLADA -HALLA -HALIK -HALGAS -HALCON -HALBROOKS -HAKEL -HAIRFIELD -HAINESWORTH -HAGGARTY -HAGENHOFF -HAGEBUSCH -HAGADONE -HAFT -HAFLETT -HAEFELE -HADDOW -HACKBART -HABERER -HAASS -GWINNER -GWATHNEY -GWARTNEY -GUTTERREZ -GUTOSKI -GUTKIN -GUTHERIE -GUTCHES -GUSTUS -GUSTISON -GUSTAVESON -GURTNER -GURKIN -GUMMO -GULLIKSEN -GULKE -GULDIN -GULDEN -GUITIEREZ -GUILE -GUILDFORD -GUIDICE -GUGERTY -GUFFY -GUENINGSMAN -GUDGELL -GUDERJAHN -GUASTELLA -GUARIGLIA -GUARDIA -GRYNIUK -GRUESER -GRUDEM -GROWDEN -GROSSETT -GROPPER -GRON -GRODIN -GROCH -GRISMORE -GRIPPER -GRINVALSKY -GRIMA -GRIFFTH -GRIESS -GREYNOLDS -GRESH -GREMINGER -GREGORIA -GREENWADE -GREENLIEF -GREENIER -GRAYES -GRAVELL -GRASSMYER -GRAPPE -GRANTLAND -GRANDIN -GRANDEL -GRANDBOIS -GRANAHAN -GRAMHAM -GRAFFEO -GRAETER -GRADWELL -GRADEL -GRABO -GRABAN -GOY -GOVONI -GOVERNALE -GOVERN -GOUTY -GOUGHNOUR -GOUDE -GOUBEAUX -GOTH -GOSLINE -GOSLEE -GOSHEN -GOSEWISCH -GORZYNSKI -GORTMAN -GORTER -GORDIN -GORD -GOOS -GOODWINE -GOODRICK -GOODLEY -GOMBERT -GOLETZ -GOLDY -GOLDTHWAITE -GOLDTHWAIT -GOLDIZEN -GOLAR -GOIST -GOFMAN -GOFFER -GOERGES -GOELTZ -GOEDICKE -GOEDECKE -GODNICK -GOCKE -GOADE -GNEISER -GLUTH -GLOVIER -GLOMSKI -GLODO -GLODEN -GLENISTER -GLAWSON -GLASIER -GLADYSZ -GLADSTEIN -GJERTSEN -GIUDICE -GITTO -GITTELMAN -GIRVIN -GIROLAMO -GIONFRIDDO -GINGELL -GIMBLE -GILHOUSEN -GILBOY -GILBERTI -GIGANTINO -GIETZEN -GIESEKING -GIANIKAS -GHOSN -GHOSH -GEYMAN -GEVARA -GETSINGER -GESSERT -GERRITS -GERRIOR -GERIS -GERHAUSER -GERETY -GENZONE -GENUARIO -GENTLES -GENTILLE -GENTER -GENETTI -GELLE -GELFAND -GELABERT -GEKAS -GECK -GEARIN -GDOVIN -GAYDOSH -GAWITH -GAVE -GAUNTLETT -GAUGLER -GAUDY -GAUB -GATTEN -GATHJE -GASPERINI -GASNER -GASCO -GASCHO -GASBARRO -GARVIS -GARRA -GARNETTE -GARING -GARICK -GARDUNIO -GARDON -GARDEMAL -GARDE -GARCZYNSKI -GARANT -GANUS -GANTNIER -GANIS -GANGLOFF -GANGLER -GANER -GANEM -GANDOLFO -GAMPP -GALLIHUGH -GALLETTI -GALLENSTEIN -GALLARELLO -GALLA -GALKA -GALAYDA -GALARNEAU -GALAPON -GAITO -GAGLIONE -GADY -GADSEN -GACHUPIN -GABOURY -FUTTERMAN -FUSCH -FURUTA -FURTH -FURBER -FUNE -FUNAI -FUESS -FRUTCHEY -FRUMKIN -FRUHLING -FROMMER -FROMDAHL -FROEHNER -FRIZZLE -FRIENDS -FRIEDERICH -FREYRE -FREILICH -FREGIA -FREDIANI -FREDERICO -FRATER -FRAILE -FOSTE -FOSSELMAN -FOSNAUGH -FOSBURG -FORTIS -FORTGANG -FORSTNER -FORSON -FORSETH -FORKIN -FORISTER -FORINASH -FOOTER -FONTILLAS -FONTENELLE -FONESCA -FOLKER -FOGERSON -FOGELQUIST -FLYE -FLUMMER -FLOTH -FLORO -FLORINE -FLIES -FLEXER -FLESSNER -FLATNESS -FLANK -FLAND -FLAHIVE -FLAGER -FIVEASH -FITZNER -FITZKE -FITCHEARD -FISHERMAN -FISHBECK -FIPPS -FIORINO -FINSTER -FINKEN -FINIGAN -FINGAL -FINER -FILSAIME -FILLINGIM -FILIPPONI -FILA -FIES -FIEBELKORN -FIDUCIA -FIALLO -FETHERSTON -FETHEROLF -FESMIRE -FESENMYER -FERRONI -FERRISS -FERRINI -FERRICK -FERRARIS -FERNIZA -FERNADES -FERDIG -FERANDEZ -FEOLI -FENNINGER -FENNEY -FEMI -FEJES -FEHLMAN -FEGER -FEDE -FEBO -FEBBRAIO -FEASEL -FEAGLEY -FAYAD -FAVALORO -FAUERBACH -FAUBLE -FASHEH -FARRANT -FARRA -FARO -FARINACCI -FARFAGLIA -FARELL -FARB -FARACE -FANJOY -FANGMANN -FAMULARE -FALSETTA -FALLOWS -FALLERT -FALERO -FALDYN -FALCONI -FALCE -FAIT -FAIRBURN -FAIOLA -FAIELLA -FAHLSING -FAGGETT -FAFINSKI -FADNESS -FABROS -FABERT -EVERIDGE -EVARISTO -EUSTACHE -ETZKORN -ETIER -ESTABILLO -ESQUIVIAS -ESQUIREL -ESLAVA -ESCHETE -ESAU -ERWAY -ERTZBISCHOFF -ERON -ERNER -ERMITANO -ERMITANIO -ERMERT -ERIE -ERDLEY -EQUIHUA -ENZOR -ENSING -ENNS -ENGLEKING -ENGELKES -ENDLICH -ENDLER -EMRY -EMMS -EMMERLING -EMERICH -ELLSBURY -ELLIE -ELIZARRARAS -ELIOT -ELIOPOULOS -ELERY -ELEK -ELDERIDGE -ELBAUM -EKINS -EKIN -EISLEY -EILDERTS -EIKLEBERRY -EIGO -EIGHMY -EICHEL -EHLY -EGLOFF -EGLAND -EGGINGTON -EGGENBERGER -EGAR -EGANS -EFTEKHARI -EFFORD -EEDS -EDVALSON -EDIN -EDGMAN -EDEMANN -EDELMANN -EDDENS -ECKL -ECKERLE -ECKELMAN -EBRAHIM -EBERTH -EBERSPACHER -EBBIGHAUSEN -EBAUGH -EASLY -EASH -DZLEDZIC -DYETT -DYBA -DWORACZYK -DUTTRY -DUTHIE -DUSZYNSKI -DUSO -DUSHAJ -DUSETT -DUS -DURMAN -DURKINS -DURICK -DUPLECHAIN -DUNNIVAN -DUNLOW -DUNIVAN -DUMARS -DUMAINE -DULIBA -DULANY -DUKA -DUFT -DUFRANE -DUFFEK -DUELLMAN -DUCKING -DUBOURG -DRZEWIECKI -DRUGAN -DROZDOWSKI -DROZDA -DRONET -DRILLING -DRIESENGA -DREYFUSS -DREVS -DREBEN -DRAUDT -DRALEAU -DRAGOS -DRAGHI -DOYER -DOWLIN -DOUMA -DOTTERWEICH -DOTTAVIO -DOROFF -DORNON -DORLAND -DOOP -DONNDELINGER -DONEHOO -DONATE -DONADO -DOMMER -DOMINICI -DOMANN -DOLIO -DOLENCE -DOLAND -DOLAK -DOERSAM -DOERRER -DOEDE -DOCKHAM -DOBRICH -DOBOSZ -DOBIN -DOBBRATZ -DIVLIO -DIVEL -DITZEL -DISALVATORE -DIOTTE -DINNEN -DINKIN -DIMLER -DIMICELI -DIMEGLIO -DIMASCIO -DIMARE -DILUCA -DILSAVER -DILLEN -DILIBERO -DILE -DIGIOIA -DIFEDE -DIEFENBACH -DIEDRICK -DICKMANN -DICKES -DICKASON -DICAPUA -DICAPRIO -DIBRELL -DIBLEY -DIBATTISTA -DEYON -DEVOTIE -DEVOID -DEVAL -DETLEFSEN -DESTRO -DESTICHE -DESPOSITO -DESOLA -DESHOTELS -DESCOMBES -DESCHEPPER -DESAUTEL -DESANO -DEROY -DEROSSET -DEROSBY -DEROECK -DEROCHER -DERGANCE -DEREN -DEPTULA -DEPREY -DEPOLIS -DEPNER -DEPETRO -DENUNZIO -DENSFORD -DENNINGTON -DENE -DENDER -DENBO -DEMURO -DEMORANVILLE -DEMLING -DEMERSON -DEMELIS -DEMEGLIO -DEMBO -DEMATTIA -DEMARINIS -DELPRINCIPE -DELORIA -DELNOCE -DELMEDICO -DELLOW -DELLES -DELLAVALLE -DELLAMORA -DELGUIDICE -DELGATO -DELFS -DELCOURT -DELCOLLE -DELBERT -DELAPORTILLA -DELAHOZ -DELACUEVA -DEISCH -DEIKE -DEGRO -DEGONIA -DEGOLLADO -DEGOLIER -DEGIROLAMO -DEGENER -DEGELE -DEGEEST -DEGEARE -DEFINA -DEFABIO -DEELEY -DECRAENE -DECOU -DECORTE -DECLERCQ -DECINTI -DECHAMBEAU -DEBUTTS -DEBRO -DEBLIECK -DEBLASI -DEBEM -DEAVILA -DEASES -DEANGELES -DEAHL -DAYMUDE -DAVEN -DATIL -DAROS -DARNICK -DARIENZO -DARDY -DAPONTE -DANNHAUS -DANNEMAN -DANIELLE -DANI -DANGER -DANGEL -DANES -DANEKAS -DANDROW -DAMBROSE -DALPE -DALESANDRO -DAITON -DAINELS -DAIGH -DAHNKE -DAHME -DAHLING -DAGATA -DACK -CZAPLICKI -CZACHOROWSKI -CUTTITTA -CUTAIA -CUSTANCE -CURLESS -CURIE -CURI -CUPELLI -CUMENS -CUMBASS -CUMBA -CULLARS -CULLAR -CUKAJ -CUBITO -CUASCUT -CRYTZER -CRYE -CRUZEN -CRUSER -CRUNKLETON -CRUMMETT -CRUMBLISS -CROPLEY -CRONQUIST -CRONKITE -CRONIC -CROMBIE -CROCKWELL -CRNKOVICH -CRITCHER -CRISTO -CRISTALES -CRISANTI -CRIER -CRETSINGER -CREST -CRESON -CRELIA -CRECCO -CRAZE -CRAVEIRO -CRATCH -CRAPPS -CRAN -CRAIGMILES -CRAIGER -CRAIGE -CRADY -CRADIC -CRADDIETH -COWELS -COVENEY -COURCY -COULBOURNE -COTSIS -COTRONE -COTNEY -COTILLA -COSTANEDA -COSTABILE -COSSEL -COSSA -COS -CORTE -CORSINO -CORRIA -CORNOG -CORNELY -CORIO -CORINO -CORINGTON -CORESSEL -CORDONE -CORBISIERO -CORBELLI -COPPS -COOVERT -COOPWOOD -COONER -COOKMAN -CONZALES -CONVER -CONTRATTO -CONRADY -CONRADI -CONNEL -CONNEELY -CONMY -COMUNALE -COMBER -COMANS -COLVERT -COLUMBO -COLUCCIO -COLP -COLOP -COLLINI -COLLEGE -COLESTOCK -COLEBANK -COLASANTE -COLASACCO -COLAPIETRO -COKELEY -COIA -COCUZZA -COALSON -CO -CLOWES -CLICHE -CLEVETTE -CLEVEN -CLERICO -CLEARWATER -CIVIELLO -CIULLO -CITRO -CIROCCO -CIOPPA -CILEK -CIESZYNSKI -CIERI -CICERCHIA -CIASCHI -CIANI -CIANCHETTI -CHUDY -CHUC -CHRYST -CHRISTODOULOU -CHRISTIN -CHRISLEY -CHOKSHI -CHMELA -CHKOURI -CHIODINI -CHIO -CHIMILIO -CHILEN -CHILEK -CHILDREY -CHIER -CHICAS -CHIARO -CHIAPPONE -CHIAPPINELLI -CHIADO -CHHOM -CHESTERFIELD -CHESTEEN -CHESHIER -CHERREZ -CHEREP -CHENE -CHEEVERS -CHECKETT -CHEANEY -CHAYKA -CHAWLA -CHASIN -CHASEN -CHARVAT -CHAR -CHAPOTON -CHANTOS -CHANTLER -CHANT -CHADEZ -CHAD -CHACO -CHABEZ -CERRITO -CEPPETELLI -CENTANNI -CELSO -CEDERBERG -CEDAR -CECCHETTI -CAVEL -CAVANAH -CAVAGNA -CATUS -CATTON -CATTERTON -CATRAMBONE -CATHERWOOD -CATHERMAN -CATALDI -CASTELLANA -CASTELLAN -CASSEY -CASPARIS -CASILLA -CASHDOLLAR -CASACELI -CARVANA -CARRIEDO -CARRECTER -CARRAHER -CARRABINE -CARPINELLI -CAROUTHERS -CARNOVALE -CARMANY -CARLES -CARETTO -CAREAGA -CARDOSA -CARDELLI -CARBINE -CARATHERS -CARAKER -CARACCI -CAPUCHIN -CAPPELLETTI -CAPISTRAN -CAPDEVILLE -CAPARROS -CANUTE -CANTE -CANIZARES -CANEL -CANCLINI -CANCINO -CAMPUS -CAMPISE -CAMPEN -CAMMARANO -CAMILLI -CAMIC -CAMEY -CALWELL -CALVEY -CALVARY -CALLO -CALLINAN -CALLAIS -CALIZO -CALIXTO -CALISTO -CALIP -CALIBUSO -CAIRA -CAHILLANE -CAHALANE -CAHAL -CAFFERY -CAFFARELLI -CAFARELLI -CADLETT -CACCIATORI -CABEBE -BYUS -BYRNSIDE -BYRER -BYONE -BUZA -BUTTRUM -BUTTEL -BUTREMOVIC -BUTANDA -BUSTIN -BUSSEN -BUSHLEN -BUSHART -BURTCHELL -BURREL -BURNARD -BURLETT -BURKEEN -BURCE -BUOTE -BUNYAN -BUNTROCK -BUNCK -BUMPAS -BULLERI -BUGLIONE -BUGGE -BUETER -BUERK -BUENGER -BUEHRLE -BUECHELE -BUDROW -BUDDENHAGEN -BUCOLO -BUCHENAU -BUCCO -BUCCINO -BUBAR -BRUZAS -BRUTSCH -BRUSCHKE -BRUNOT -BRUNGARD -BRUND -BRUENDER -BRUCKS -BRUCHEY -BROZOWSKI -BROWND -BROTHERN -BROOMHEAD -BRONW -BROM -BROG -BRODIGAN -BROCKHAUS -BROCKEL -BROADAWAY -BRLETICH -BRISTON -BRISSETT -BRINES -BRILLON -BRILLIANT -BRIGHTBILL -BRIGGES -BRIEL -BRESCIANI -BRENTS -BREITMEYER -BREITHAUPT -BREIDENTHAL -BREDEN -BREDEMEIER -BRECKINRIDGE -BRECHEISEN -BRECHEEN -BREAZEAL -BREAM -BRAZZEL -BRAWDY -BRAVE -BRASHERS -BRANZ -BRANYON -BRANTZ -BRANNAM -BRANKOVICH -BRANDLE -BRANCHAUD -BRANCA -BRAMLEY -BRAMANTE -BRAMALL -BRAKEMAN -BRADBY -BOZZO -BOZELLE -BOYARSKI -BOWLINE -BOWEY -BOWERIZE -BOWDON -BOWDLER -BOUTROS -BOUTEN -BOURDIER -BOURAS -BOUFFORD -BOTTEX -BOTTEMILLER -BOTHMAN -BOTCHER -BOSHERS -BORRIS -BORNEMANN -BONUS -BONNOT -BONIFANT -BONGIARDINA -BONENBERGER -BONASERA -BOLLIER -BOLAR -BOKMAN -BOKANOVICH -BOISSONNAULT -BOILES -BOHRN -BOHLKE -BOGENSCHUTZ -BOGEL -BOGDA -BOEVERS -BOEVER -BOENDER -BOEHRINGER -BOEHNE -BODOR -BODDA -BODAK -BOCKER -BOCKENKAMP -BOCHE -BLYDEN -BLUTO -BLUDWORTH -BLOXSOM -BLOMSTROM -BLOISE -BLOEBAUM -BLIER -BLEIWEISS -BLEGEN -BLEACHER -BLAUM -BLASZ -BLASINGIM -BLASENGAME -BLANDA -BLAGMAN -BLACKSTAD -BLACKHAM -BLACHE -BIXEL -BITTERS -BISSEGGER -BISKER -BISHOFF -BISARD -BIS -BIRTWELL -BIRLEY -BIRKENMEIER -BIRKENHOLZ -BIRKELAND -BIRDSEY -BIRDO -BIRDINGROUND -BINNER -BILSBOROUGH -BILLOT -BILLOPS -BILLINGHAM -BIGNEY -BIGG -BIENKOWSKI -BIENEK -BIELEFELD -BIELEC -BIDDIE -BICKELL -BICHLER -BIBO -BIAVA -BIAGI -BIAGAS -BHAYANI -BEZ -BEYENE -BEYDA -BEVELS -BETTNER -BETTINSON -BETSON -BETO -BESSIX -BESSIRE -BERTSCHY -BERTOZZI -BERTONCINI -BERTELSON -BERTEAU -BERRONG -BERRONES -BERRINGER -BERRIGAN -BERNSEN -BERLINGERI -BERKEN -BERKA -BERGES -BERGDORF -BERGARA -BERGANT -BERGAMINI -BEREN -BERDUGO -BERDINE -BERBERIAN -BENVENUTI -BENISH -BENINCASE -BENEK -BENEDITH -BENDAS -BENAK -BENA -BELTRAME -BELSHEIM -BELOTTI -BELLRICHARD -BELLEVILLE -BELILES -BELGRADE -BELCASTRO -BEKIUS -BEKHIT -BEIGHTOL -BEHEL -BEETZ -BEDSON -BECZE -BECKMEYER -BECKEY -BECKERS -BECKELHIMER -BECCUE -BEBERWYK -BEBBER -BEAMESDERFER -BEACOM -BAZZLE -BAZIL -BAYNHAM -BAYHONAN -BAYAS -BAWANY -BAVA -BAUMGARDT -BAUERKEMPER -BAUDRY -BAUDINO -BATTKO -BATTISTI -BATTA -BASSANO -BASKAS -BASELER -BASANTA -BARTUCCI -BARTRON -BARTHOLD -BARTAMIAN -BARSALOU -BARRINEAU -BARRIGER -BARRENECHE -BARKIE -BARICH -BARDES -BARBANO -BARAL -BARAGAR -BAQUE -BANTHER -BANOME -BANNOWSKY -BANKE -BANIAGA -BANDLEY -BANAHAN -BANAAG -BAMBA -BALTZER -BALSTER -BALNIS -BALKIN -BALI -BALFE -BALERIO -BALENT -BALDYGA -BALDOR -BALDINGER -BALDASSANO -BALDACCI -BALANOFF -BALADO -BALABAN -BALAAM -BAKES -BAJWA -BAISCH -BAHNSEN -BAHLS -BAHLER -BAHAMONDE -BAGDASARIAN -BAGAOISAN -BAFIA -BAESE -BADOLATO -BADO -BADDER -BACURIN -BACKERS -BACHOR -BABE -BABBIT -BABAUTA -BAADSGAARD -AZZARA -AZEBEDO -AVRIL -AVELLO -AVELINE -AUTHUR -AUSBY -AURICCHIO -AUNA -AUKERMAN -AUCKERMAN -AUCK -AUBLE -ATTERSON -ATTARD -ASWEGAN -ASTE -ASTA -ASSAF -ASPEN -ASKEN -ASIF -ASIEDU -ASHNER -ASEL -ASCHENBACH -ARVAY -ARVAN -ARTUS -ARTLEY -ARROLLO -AROYO -ARONOV -AROMIN -ARNSWORTH -ARNSPIGER -ARNN -ARMANT -ARINGTON -ARGUBRIGHT -ARENTZ -ARCORACI -ARBUTHNOT -ARBO -AQUILINA -AQUILERA -APT -APSEY -APPOLONIA -APOLLO -APANA -ANTISTA -ANSHUTZ -ANON -ANNO -ANNALA -ANKLAM -ANGOLD -ANGELONE -ANGELINE -ANGELETTI -ANDREN -ANDREADIS -ANDERA -ANDELMAN -ANDEL -ANCTIL -ANCHORS -ANACKER -AMPY -AMONS -AMIRAULT -AMIR -AMEZAGA -AMEIGH -ALYEA -ALTVATER -ALTIG -ALTERMATT -ALO -ALMENGOR -ALME -ALLVIN -ALLOCCO -ALLEGRINI -ALIMENT -ALGEE -ALEXANIAN -ALER -ALDO -ALBERO -ALARID -AKIONA -AKEMON -AJELLO -AITCHESON -AINLEY -AILEY -AHLUWALIA -AHLF -AHLBRECHT -AGUNDEZ -AGRO -AGINS -AGGARWAL -AFALAVA -ADRIANO -ADOMAITIS -ADOLPHUS -ADLAM -ADIE -ADEY -ADDUCI -ADDLEMAN -ADAMYAN -ACOTHLEY -ACKLEN -ACKERT -ACKERLY -ACENCIO -ACCOSTA -ABUNDIZ -ABEDI -ABBASSI -ABBASI -AANERUD -AAKRE -AAGAARD -ZWICKL -ZUVER -ZURASKY -ZUMBO -ZUMBA -ZUCKERWAR -ZUCCARELLI -ZUBRIS -ZOUCHA -ZORNS -ZORC -ZITZOW -ZITZLOFF -ZIRKLES -ZIPPE -ZIOLA -ZINZ -ZINSMEISTER -ZINCKE -ZIESCHANG -ZIERDT -ZIEN -ZIEMKE -ZIDEK -ZICKLER -ZEUNER -ZERBA -ZERA -ZENGER -ZELTMANN -ZELLE -ZELINKA -ZELEK -ZELE -ZEINER -ZEIMET -ZEIDLER -ZECCHINI -ZEBLEY -ZDANOWICZ -ZBELL -ZARO -ZAREMSKI -ZAR -ZANI -ZANCANELLA -ZANA -ZAMBARANO -ZAKAR -ZADOROZNY -ZADER -ZACCARO -YSQUIERDO -YOXALL -YOUST -YOUNGSTROM -YOUN -YOUKER -YOSS -YOSHINA -YONKE -YONEMURA -YOHANNES -YOCK -YERHOT -YENGO -YEHLE -YANOFSKY -YAKER -YAGUES -YACH -YA -XUE -WYROSDICK -WYGLE -WYGAND -WURZER -WURL -WUNDERLIN -WUNDERLE -WUERTH -WRITER -WRIGHTEN -WRICH -WOZNY -WOZNEY -WOWK -WOUTERS -WORMINGTON -WORF -WOOLEM -WOODRICH -WOODERSON -WONDER -WOMELDORF -WOLZ -WOLTMANN -WOLSTENHOLME -WOLLMUTH -WOLLE -WOLFARD -WOLDRIDGE -WOJTANOWSKI -WOJNER -WOITOWITZ -WOEHL -WITTENBURG -WITTEL -WITSCHI -WITASZEK -WITAKER -WISZYNSKI -WISWALL -WISS -WISHER -WISENBAKER -WIRES -WINSKY -WINFOUGH -WINDLER -WINCKLER -WIMES -WILTBERGER -WILM -WILLRICH -WILLOBY -WILLIMON -WILLENBORG -WILDA -WILCZEWSKI -WILCOCK -WIGGENS -WIGBOLDY -WIESLER -WIES -WIENHOFF -WIELGUS -WIEBERS -WIEBER -WICKIZER -WICHROWSKI -WIBBENS -WHYARD -WHOLEY -WHITSEY -WHITLINGUM -WHITLACH -WHIRRY -WHARRY -WHARFF -WHACK -WEYMAN -WEYLER -WETHJE -WESTVEER -WESTMORLAND -WESTERHOLD -WESSELMAN -WESLOH -WERY -WERMERS -WERLINGER -WERKSMAN -WENZINGER -WENINGER -WENDELN -WENDELIN -WENCK -WEMBER -WELTERS -WELLAND -WELCHMAN -WELCHEL -WEITNAUER -WEISSLER -WEINGER -WEIMANN -WEIGERT -WEIDERT -WEHBY -WEHBE -WECK -WECHTER -WEAVING -WEATHER -WEAL -WEAGLE -WDOWIAK -WAYNS -WAYCOTT -WAYCHOFF -WATERFALL -WATCHER -WATAHOMIGIE -WASOWSKI -WASNER -WASHKO -WASHING -WASHELL -WARTENBERG -WARSON -WARRENFELTZ -WARP -WARMBRODT -WARHURST -WARDSWORTH -WANZEK -WANTA -WANSING -WANKEL -WANGBERG -WANBERG -WAMACK -WALTZER -WALTHERS -WALTERSON -WALSHE -WALROND -WALLSCHLAEGER -WALLGREN -WALEMA -WALDRAM -WALDHAUSER -WALDECKER -WALBY -WAKIN -WAKABAYASHI -WAH -WAGY -WAGGNER -WAGENAAR -WAGE -WAFFLE -WADZINSKI -WADEMAN -WACKERLY -WACHS -WABLE -VREDENBURG -VRANA -VRABLE -VOYER -VOTO -VOSPER -VOSBERG -VORHEES -VORAN -VORA -VONSTEIN -VONDOLOSKI -VOLTIN -VOLPICELLI -VOLLAND -VOLENTINE -VOLCKO -VOJTKO -VOICE -VOGELER -VIZZINI -VIZENA -VIX -VITKO -VISTE -VISOR -VISCO -VIROCK -VINUP -VINION -VINCENZO -VILLAS -VILLARTA -VILLARI -VILELLO -VIGNE -VIENER -VIELMAS -VIELHAUER -VIEHMAN -VIDULICH -VIDINHA -VIDEEN -VICKERSON -VICKER -VERTZ -VERRY -VERMEESCH -VERHULST -VERHOFF -VERHAGEN -VERHAEGHE -VERGO -VERGEER -VERDINO -VENUS -VENTRELLA -VENTOLA -VENTER -VENNES -VENNERI -VENDITTO -VELZY -VELILLA -VELIE -VELANDIA -VECKER -VECELLIO -VEAR -VAVRICKA -VAUTRIN -VATES -VASSALL -VASMADJIDES -VARTY -VARRIANO -VARRIALE -VARRATO -VARNEDOE -VARILLAS -VARDAMAN -VARAJAS -VAQUERO -VANZYL -VANVLEET -VANVLECK -VANSOEST -VANSKIVER -VANSKIKE -VANRULER -VANPUTTEN -VANOY -VANOUS -VANOORT -VANLIEW -VANLEW -VANHULLE -VANHOOZIER -VANHOFWEGEN -VANHAITSMA -VANECEK -VANDRUNEN -VANDIXON -VANDIVIER -VANDIFORD -VANDEZANDE -VANDEWEGE -VANDERZANDEN -VANDERWERFF -VANDERWERF -VANDERSCHEL -VANDERGIESSEN -VANDENBERGHE -VANDEHEI -VANDEE -VANCHERI -VANBRAMER -VALSIN -VALLI -VALIDO -VALENZANO -VAJDA -VAILLENCOURT -VACHERESSE -VA -UZDYGAN -UYETAKE -USILTON -URUETA -URSPRUNG -URSIAK -URQUILLA -URQUIDI -URFER -URETA -URBANCIC -URA -UPWALL -UPTEGROVE -UPHAUS -UPADHYAYA -UNTERBURGER -UNCH -UNAVAILABLE -UNANGST -UMPHENOUR -UMBENHAUER -ULSETH -ULATOWSKI -UKOSATA -UHYREK -UHRMACHER -UHLICH -UENO -UELMEN -UDOH -UDE -UCHYTIL -TZENG -TYPHAIR -TWELVES -TWEHOUS -TUXHORN -TURYBURY -TURRO -TURNE -TURNBLOM -TURKUS -TURKS -TURBIN -TURBES -TUNICK -TUMPKIN -TUHOLSKI -TUGGIE -TUFNELL -TUBERTINI -TUBAUGH -TSUTSUI -TSUHA -TSUDA -TSINNIE -TRUPP -TRUPIANO -TRUPIA -TRUNER -TRUNDLE -TRUMM -TRULLINGER -TRUELL -TRUCCO -TROWERS -TROVER -TROSIEN -TRONNES -TROMPETER -TROMP -TROLIO -TROENDLE -TROBAUGH -TRISKA -TRIMARCO -TRIFILETTI -TRIDLE -TRICOCHE -TRESVANT -TREST -TRESLER -TRESCA -TREMONT -TREMAYNE -TREINEN -TREICHLER -TREGLIA -TREAMER -TRAXSON -TRAUGH -TRASHER -TRAPASSO -TRANT -TRANCOSO -TRAISTER -TRAILOR -TRAGESER -TRAFICANTE -TRAC -TOYA -TOWSON -TOVREA -TOTHEROW -TOTE -TORTORELLI -TORRI -TORNABENE -TORIGIAN -TORELLO -TOPPA -TOPOR -TOOTHILL -TOOP -TONSIL -TOMSICH -TOMMIE -TOMLISON -TOLMICH -TOLLNER -TOLLEFSRUD -TOLEDANO -TOLAYO -TOENGES -TOEFIELD -TOCK -TOBIASZ -TOBERY -TOBERT -TOBAN -TOBACK -TJARKS -TIZNADO -TITLOW -TISHLER -TIRABASSI -TIPPET -TINKEY -TIMSON -TIMPERMAN -TIMMIS -TIMMERMANS -TIMME -TIMBERMAN -TIKKANEN -TIETZE -TIERMAN -TIBERI -THURINGER -THUL -THU -THRO -THORNWELL -THOMLISON -THOMLINSON -THOMASSEN -THIMMES -THILKING -THIERMAN -THIELEMANN -THIBOUTOT -THIBIDEAU -THERESA -THEARD -THAVICHITH -THAUT -TEZAK -TETZLOFF -TETO -TETLOW -TESSLER -TESSEYMAN -TESKEY -TES -TERZIAN -TERWILLEGAR -TERVO -TERRONEZ -TERNASKY -TERMINI -TERBOSS -TERAMOTO -TEPLEY -TENUTA -TENEN -TELLIO -TELLEFSON -TELECKY -TEKELL -TEFERTILLER -TEECE -TEDESKO -TEDEROUS -TEBEAU -TEAR -TEAHAN -TAZEWELL -TAZELAAR -TAVANO -TATSAPAUGH -TATLOCK -TATARIS -TASSINARI -TASSIE -TARVIS -TARKEY -TARANGELO -TAPPA -TANNA -TANIKELLA -TAMBLYN -TAMARO -TALYOR -TALLAS -TALAYUMPTEWA -TALASKA -TAJ -TAGLIARINI -TAGATA -TAFLINGER -TADDONIO -TACDERAN -TABLANG -TABISULA -TABICAS -TABAR -SZWED -SZUMSKI -SZUMIGALA -SZOLLOSI -SZCZESNY -SYPNIEWSKI -SYON -SYLVAN -SYAL -SWOR -SWOOPES -SWOAP -SWIRE -SWIMMER -SWILER -SWIDA -SWEEZER -SWEEP -SWEELEY -SWEDE -SWEARENGEN -SWEADNER -SWARTZWELDER -SWANHART -SVEEN -SVAY -SUTYAK -SUTTEN -SUTLER -SUSKI -SURPRISE -SUPERNAULT -SUOZZO -SUNS -SUNDER -SUMNEY -SUMMARELL -SUMERA -SULZBACH -SULFRIDGE -SUKHRAM -SUK -SUITOR -SUGHROUE -SUGAHARA -SUDLOW -SUDAN -SUDAK -SUBIDO -STYLE -STWEART -STURZ -STURDY -STURCHIO -STULCE -STUKENBORG -STUCKEMEYER -STSAUVEUR -STROLL -STROHMEIER -STRISSEL -STRIMPLE -STREMMEL -STRECZYWILK -STRAWHORN -STRATZ -STRATOS -STRATON -STRASSNER -STRAMA -STRADA -STOSS -STORTI -STOMBERG -STOLZE -STOLIKER -STOLER -STOLBERG -STOLARIK -STOHLTON -STOFKO -STOFFLET -STOFF -STOESSER -STOEBER -STODDEN -STOBIERSKI -STOBBS -STJOHNS -STIRRUP -STIRMAN -STINEHELFER -STIMMELL -STIMITS -STIGGER -STIERS -STIEFF -STIDAM -STEWARTS -STEVINSON -STEVEY -STERETT -STER -STEPPELLO -STEPNOSKI -STENTZEL -STENCIL -STENCEL -STEMPIEN -STEKETEE -STEINBRUCKNER -STEINBORN -STEIGMAN -STEIBER -STEGENT -STEFFANI -STEERMAN -STEENKEN -STEENHARD -STEEDMAN -STECKLEY -STEALEY -STAYROOK -STAVNES -STAUSS -STASH -STARY -STARE -STANT -STANFA -STANDFIELD -STANDBERRY -STANDAGE -STANCO -STANAGE -STAMPE -STAMDIFER -STALWORTH -STALMA -STAIRES -STAINES -STAINE -STAHLBERG -STADDEN -STABERG -STABEL -SPURGERS -SPRUCE -SPRINKEL -SPRINGMAN -SPRIGGLE -SPORLEDER -SPORCIC -SPONTAK -SPONHOLZ -SPOHR -SPITTLE -SPIRY -SPIECE -SPICUZZA -SPERLICH -SPERDUTE -SPERAZZA -SPELTS -SPEARES -SPEAKES -SPARHAWK -SPANIEL -SPAAR -SOYARS -SOVERNS -SOUTHAM -SOUR -SOUPHOM -SOUN -SOULA -SOSSAMON -SOSH -SOSBY -SORSBY -SOROKA -SORICELLI -SORGI -SORBERA -SOPLOP -SOOHOO -SONODA -SONNY -SONNEBORN -SOMODI -SOMMESE -SOLMAN -SOLLIE -SOLLA -SOLINA -SOLIANI -SOLEY -SOLECKI -SOLAGES -SOHRE -SOENKSEN -SODEMAN -SOBIECH -SOBERANIS -SNOBECK -SNERLING -SNEIDER -SNAZA -SMOLIC -SMIGEL -SMIGAJ -SMIECHOWSKI -SMIDA -SMERKAR -SMEBY -SLOTHOWER -SLOTEMAKER -SLODYSKO -SLIVKA -SLIMMER -SLIGHT -SLIFKO -SLAYTER -SLAWSKI -SLAUSON -SLATTEN -SLAIN -SKULTETY -SKRIP -SKOWYRA -SKORUPA -SKORDAHL -SKOMSKY -SKOFF -SKLENAR -SKELDON -SKEESICK -SKEA -SKAGEN -SJOSTRAND -SIXTOS -SIVYER -SIVERSON -SIVERLING -SIVAN -SIVA -SITZLER -SITHER -SISKIND -SISKE -SIRON -SIREGAR -SIRBAUGH -SIRAK -SIPTAK -SINSTACK -SINS -SINISCALCHI -SINGLTON -SINDEN -SINAGRA -SINA -SIMPON -SIMMONEAU -SIMLER -SIMKULET -SIMI -SIMEONA -SIMENS -SILVERSTONE -SILVERNESS -SILSBEE -SILLAS -SILEO -SILBERT -SIKULA -SIGLIN -SIGLEY -SIGAFUS -SIEW -SIETSMA -SIERRAS -SIEMBIDA -SIEKER -SIEDLIK -SIDUR -SIDELL -SIDDOWAY -SIBILLE -SIBILIA -SIBBALD -SHUSTA -SHUSKEY -SHURTS -SHRYACK -SHROLL -SHOWELL -SHOVE -SHOULARS -SHORTINO -SHOPP -SHMIDT -SHIU -SHIRAR -SHINNERS -SHINGLES -SHINABERY -SHIMKO -SHIBLES -SHERTZER -SHERRIN -SHERRIL -SHELLHAMER -SHELLHAAS -SHELDRUP -SHELADIA -SHEHAB -SHEFF -SHECK -SHEARMAN -SHEAFF -SHAUER -SHATSWELL -SHASKE -SHARICK -SHAPPARD -SHALLCROSS -SHALA -SHAKLEE -SHAKESPEAR -SHAFE -SHADY -SHADWELL -SHACKLETT -SEYMOR -SETTLEMIRE -SETTING -SETHER -SESMA -SESAREO -SERYAK -SERVEN -SERS -SERBUS -SERB -SEPPI -SEPHUS -SENTINELLA -SENSEL -SENF -SENATO -SEMPEK -SEMIDEY -SEMASKO -SELZ -SELTZ -SELMER -SELITTO -SELIM -SEISER -SEIKEL -SEIGLE -SEID -SEGOUIA -SEGNER -SEGERSON -SEGALA -SEFCIK -SEEHOLZER -SEEGERT -SEDITA -SEDENKO -SEDAR -SECONDO -SECKINGER -SEBALD -SEBA -SEAHORN -SEABRIGHT -SCOTTY -SCOTHORN -SCORDATO -SCOMA -SCOBIE -SCIPIONE -SCIARA -SCHWIETERMAN -SCHWENDEMANN -SCHWEDE -SCHWARTZBACH -SCHWARCZ -SCHWALEN -SCHUTZMAN -SCHUNEMANN -SCHULWEIS -SCHUL -SCHUFFERT -SCHUCKERS -SCHRULL -SCHRUBBE -SCHREYER -SCHRECKHISE -SCHREADER -SCHOONHOVEN -SCHOOLMAN -SCHOL -SCHOETTMER -SCHOEPF -SCHOENLE -SCHOENECKER -SCHOBERT -SCHNYER -SCHNOKE -SCHNIPPER -SCHNEITER -SCHNEEKLOTH -SCHNAPP -SCHMITS -SCHMELZLE -SCHMELZ -SCHMEISSER -SCHMEISER -SCHMAHL -SCHLOTZHAUER -SCHLOTT -SCHLOSSBERG -SCHLIPF -SCHLICKER -SCHLEUDER -SCHLEIMER -SCHLAUCH -SCHLAU -SCHLAEFER -SCHIESSER -SCHIELER -SCHIED -SCHIE -SCHEUVRONT -SCHEUMANN -SCHERZ -SCHEPERLE -SCHENEWERK -SCHEMM -SCHELLENGER -SCHAUPP -SCHAUF -SCHAUDEL -SCHAU -SCHATZBERG -SCHARR -SCHAPPERT -SCHAPP -SCHAMEL -SCHALLHORN -SCHAEFERS -SCHADT -SCHADEL -SCHACKOW -SCHABOWSKI -SCHABES -SCHABERT -SCHAB -SCHAAB -SCAVOTTO -SCARVER -SCARSELLA -SCARBRO -SCAMPOLI -SCAMMON -SCALLON -SCALLEY -SCALE -SCAFURI -SCADDEN -SCACCO -SAWCHUK -SAVIANO -SAVERCHENKO -SAVELLI -SAVARINO -SATSKY -SATOE -SARWINSKI -SARTORIO -SARTORELLI -SARRIA -SARO -SARNA -SARKIN -SARISKY -SARIO -SARAZIN -SARA -SAPIA -SANTMYER -SANTMIER -SANTILLANA -SANTANNA -SANTACROCE -SANSOUCI -SANNES -SANEZ -SANDVIG -SANDINO -SANDELLA -SANBURG -SAMY -SAMMER -SAMIT -SALVUCCI -SALVEY -SALVATORI -SALVANT -SALVAGE -SALTS -SALTON -SALTARELLI -SALT -SALOME -SALLADE -SALETTA -SALEHI -SALEEBY -SALAMEH -SALAMA -SALAIZ -SALAFIA -SAKRY -SAKO -SAKASH -SAITTA -SAHU -SAHARA -SAGUIL -SAGRERA -SAGLIMBEN -SAGI -SAGGIO -SAGEN -SAFRANEK -SAFKO -SAELI -SADAR -SACRE -SACCARDI -SABORIDO -SABINS -SABET -SABBAH -SAALE -RYNNE -RYNDERS -RYLANDS -RYKOWSKI -RUZBASAN -RUWE -RUTIAGA -RUTHLEDGE -RUTECKI -RUSU -RUSSLER -RURUP -RUOZZO -RUOT -RUNELS -RUMPHOL -RUMPEL -RUMPCA -RULLO -RUISI -RUIC -RUHLE -RUFFANER -RUFER -RUETZ -RUESINK -RUEHLE -RUEDY -RUDEN -RUBULCABA -RUA -ROYA -ROWALD -ROVNER -ROUSELLE -ROURA -ROULSTON -ROUGEAUX -ROTTY -ROTHERY -ROTERT -ROSSLER -ROSKOWINSKI -ROSIAK -ROSH -ROSENSTOCK -ROSELIUS -ROSCIGNO -ROSARO -ROSADA -ROPERTO -ROPERS -ROOKWOOD -RONGO -RONDINELLI -RONDA -RONCHETTI -ROMRELL -ROLLINGER -ROLA -ROKOS -ROHWER -ROHRSCHEIB -ROHLF -ROGAL -ROGACION -ROESCHLEY -ROERS -ROEMEN -ROELOFS -ROEKLE -ROEHRICH -RODRIGUEL -RODGES -RODEEN -RODDEY -RODDAM -ROCQUEMORE -ROCKERS -ROCCIA -ROBISHAW -ROBIDA -ROBICHAU -ROBERTSHAW -ROBERTON -ROBERTA -ROBERG -ROB -ROARY -RIZZUTI -RIZAL -RIVEROS -RITTENOUR -RISPER -RIPPIN -RIPP -RIOLA -RIOGAS -RINNER -RINGUS -RINGHAND -RINEHARDT -RINDERER -RIGOTTI -RIGHETTI -RIGGI -RIGGANS -RIGAZIO -RIGATTI -RIFENBURG -RIEU -RIEHM -RIEGLER -RIECH -RIEBAU -RIDGEL -RIDENS -RIDENER -RIDDEL -RICKNER -RICHARDT -RICCIARDONE -RHYNARD -RHYAN -RHODERICK -RHO -RHEINSCHMIDT -REZAK -REUSING -RETTKOWSKI -RETTERATH -RETTA -RESHID -REPPE -REPKE -REOS -REOME -RENSEN -RENSCHLER -RENOVA -RENOLLET -RENISON -RENINGER -RENGERS -RENGEL -RENART -RENA -RELIHAN -REISEN -REINIGER -REINDEL -REIL -REIER -REH -REGGIO -REGENER -REEKERS -REEGER -REDMANN -REDDINGER -REDCAY -RECKLING -REBERT -REATEGUI -REAGIN -REAGEN -READNOUR -RAZZANO -RAYNOLDS -RAYER -RAYBOULD -RAWDON -RAVOTTA -RAVO -RAVITZ -RAVERT -RATHERT -RATERMAN -RATEL -RAQUE -RAPKO -RANSONE -RANSBURG -RANGNOW -RANDON -RANCIFER -RAMOTAR -RAMONES -RAMONE -RAMIRE -RAMIN -RAMERES -RAKOSKI -RAJALA -RAITHEL -RAINIE -RAINGE -RAINBOW -RAIGOZA -RAHMING -RAGAZZO -RADOMSKI -RADISH -RADILLA -RADEN -RADDE -RACANO -RABINE -RABIL -RABELL -RABASCA -QUITERIO -QUINZI -QUINK -QUINCI -QUILLIAMS -QUILLER -QUIDER -QUENNEVILLE -QUELCH -QUEELEY -QUEAR -QUATTRO -QUASTAD -QUAGLIERI -PYSCHER -PUST -PURTLE -PURTILL -PURDIN -PUORTO -PUNJA -PULLEM -PULFER -PULEIO -PUJIA -PUETZ -PUEHLER -PUEBLA -PTOMEY -PRZEWOZMAN -PRYSOCK -PRUTER -PRUNIER -PRUESS -PRUDOM -PRUCHNIK -PROVEAUX -PROPHIT -PROMISE -PROCKNOW -PROBY -PRO -PRIVE -PREZIOSI -PREZA -PREM -PREITE -PREISSER -PREGLER -PRECELLA -PRAZMA -PRATS -PRATOR -PRAKASH -PRAHM -PRADER -POZNIAK -POXON -POWLEDGE -POUGE -POTT -POSTLEWAITE -POSTHUMUS -POSNICK -POSLEY -POSKEY -PORRO -POREDA -POPPEMA -POPAT -PONDEXTER -PONCIANO -POMPILIO -POMMER -POLOSKY -POLLOM -POLLO -POLLICA -POLLARO -POLIZIO -POLEK -POLACK -POLACEK -POIROT -POERTNER -PODUSKA -POCKRUS -POCHINTESTA -PLUYM -PLUHAR -PLUCK -PLINER -PLIML -PLESE -PLEASENT -PLAYLE -PLASKY -PLANE -PLACK -PIZANI -PITZ -PITTARI -PITRUZZELLO -PISTORIUS -PISTILLI -PISHA -PISELLI -PISCO -PIROS -PIRONE -PIROLLI -PIRMAN -PIRKL -PIRIE -PIQUE -PINTADO -PINKEY -PINGREY -PINGER -PINELO -PILSNER -PILLEY -PILGREEN -PILES -PILA -PIGNATELLO -PIETIG -PIERROTT -PIERRON -PIERCEALL -PIERATT -PIENTA -PIEKOS -PIECHOTA -PICQUET -PICKAR -PICERNO -PICENO -PHYFIHER -PHORNG -PHEARSDORF -PHARMES -PHARISS -PFUHL -PFENNING -PEZZETTI -PEVY -PETZOLDT -PETTREY -PETTAS -PETTA -PETROSS -PETROCHELLO -PETRIELLO -PETRELLI -PETCH -PESTONI -PESTANO -PESICK -PESAVENTO -PERZANOWSKI -PERRIEN -PERRENOUD -PERQUE -PEROFF -PERLAS -PERKERSON -PERISHO -PERICH -PERFECT -PEREGRINO -PEREGOY -PERCH -PEQUENO -PENZA -PENSIS -PENQUITE -PENISTON -PENISTER -PENDOLA -PENDERGRAPH -PELLE -PELCZAR -PELCH -PELA -PEHLER -PEGODA -PEELLE -PEELING -PEDRONI -PEDLAR -PEDDER -PECORAINO -PECKMAN -PECHAL -PEBSWORTH -PEASNALL -PEASANT -PEAD -PEACEMAKER -PAYTES -PAYSEN -PAYN -PAVLETIC -PAVLAT -PAVLAS -PAVESE -PAUP -PAULIS -PATRICE -PATOCKA -PAT -PASTORINO -PASCOCELLO -PARTHEMER -PARREIRA -PARIDO -PARETTI -PARDUN -PARCHMENT -PAPSTEIN -PAPPS -PAPETTI -PAPAKOSTAS -PANTONI -PANIK -PANFILOV -PANFIL -PANA -PAMPUSCH -PAMPERIN -PALMITESSA -PALMERO -PALLETT -PALILLA -PALESE -PALESANO -PALANGE -PAGENKOPF -PADON -PADMANABHAN -PADINHA -PACKEN -PACITTO -PACCHIANA -PABICH -OZA -OYABU -OVERDORF -OURADA -OTUKOLO -OTTERBINE -OTTALAGANO -OTO -OTHER -OTANO -OSTING -OSTIGUY -OSTERHOLT -OSLEY -OSCARSON -OSAILE -ORTZ -ORTOLANO -ORTEA -ORTE -ORTAGA -ORSZULAK -ORSER -ORIHUELA -OREJEL -ORDORICA -ORDING -ORDAL -ORBIN -ORANSKY -OPPEL -ONSGARD -ONDRICK -OLSIN -OLLMANN -OLIVES -OLAVARRIA -OLANO -OLAFSON -OKUNO -OKUNIEWSKI -OKUHARA -OKRENT -OKONIEWSKI -OKEKE -OHS -OHOTNICKY -OHNO -OHLUND -OHLENDORF -OHAIRE -OGAZ -OGANDO -OFFIELD -ODIORNE -OCLAIR -OCKENFELS -OCHOCKI -OCAMB -OCALLAHAN -OBLETON -OBERLY -OBERHELMAN -OBERBECK -NYLIN -NYDICK -NWACHUKWU -NUTZMANN -NUQUE -NUNZ -NULLE -NUFFER -NOTTI -NOTHUM -NOTHNAGEL -NOTAH -NOSSETT -NOSE -NOSBISCH -NORRIX -NORLIEN -NORKIN -NORDON -NORDMEYER -NORAT -NOOE -NOKLEBY -NOFZIGER -NOENS -NIVISON -NIU -NITTLER -NISSALKE -NISHIKAWA -NINNESS -NIN -NIMON -NIFONG -NIEWIEROSKI -NIETZER -NIEMELA -NICOLETTE -NICOLETTA -NICO -NICKOLAS -NICKLESS -NICKLAW -NICCOLI -NIBBS -NEYLAND -NEWMARK -NEWEY -NEWBAUER -NEVWIRTH -NEVERMAN -NEUSER -NEUMAIER -NEUFVILLE -NETZLEY -NETZEL -NETTLE -NEISWONGER -NEISWENDER -NEILAN -NEIDHARDT -NEESMITH -NEBGEN -NAVIA -NATE -NASUTI -NASSO -NASSIMI -NASHE -NASES -NARO -NARDO -NARASIMHAN -NAQVI -NANKA -NAMAN -NAHRSTEDT -NAGURA -NAGARAJAN -NADILE -NABOURS -NABERS -MYSINGER -MYNEAR -MUZZARELLI -MUTHIG -MUSTIAN -MUSKUS -MUSKELLY -MUSI -MUSHTAQ -MUSCA -MURZYNSKI -MURZYN -MURRILLO -MURELLO -MURDY -MURAKAWA -MUNSINGER -MUNNELL -MUNKS -MUNKBERG -MUNDORF -MUMMEY -MULLICK -MULKIN -MULHOLLEN -MULGREW -MULDERIG -MULAC -MUEHL -MUDDIMAN -MUCKERMAN -MUCKENTHALER -MUCH -MUCCIOLO -MRUCZEK -MRAZEK -MOWAT -MOURE -MOULD -MOTTS -MOSURE -MOSSOR -MOSSBERG -MOSLER -MOSHA -MOSCRIP -MOSCHETTI -MOSBARGER -MORUA -MORSS -MORRON -MORRALL -MORONI -MORIOKA -MORICCA -MORGENSEN -MORGANSON -MORESHEAD -MORELY -MORCH -MORAS -MORAR -MORANVILLE -MORALAS -MORAK -MORADEL -MOOTHART -MOONEN -MONZINGO -MONTPETIT -MONTJOY -MONTEAGUDO -MONOZ -MONGRAIN -MONGON -MONDEJAR -MONAS -MONACHINO -MOMPLAISIR -MOMIN -MOMENT -MOLPUS -MOLONY -MOLNER -MOLLEDA -MOLINSKI -MOLINELLI -MOLFETTA -MOLENDA -MOLCHAN -MOHSENI -MOGG -MOERKE -MOENIUS -MOEHLMAN -MODUGNO -MODI -MODEST -MODER -MOCH -MOAT -MIYAMURA -MITTLESTADT -MITTELSTEDT -MITTELMAN -MITSCHELEN -MITRO -MITCHAN -MISTY -MISSEY -MISENHIMER -MIRRA -MIRJAH -MIRANTE -MIOSEK -MINTEER -MINROD -MINNING -MINNEY -MINNEMA -MINIUM -MINIHANE -MINICUCCI -MINECCI -MINCHEY -MILOTA -MILLSON -MILLOWAY -MILLONZI -MILLIER -MILLEY -MILLAM -MILILLO -MILBRATH -MIKOWSKI -MIKOLA -MIKLER -MIHELIC -MIHAILA -MIESEN -MIERZEJEWSKI -MICKELS -MICHIENZI -MICHALKE -MIAZGA -MEZYDLO -MEZICK -MEYNARD -MEYLOR -MEXICANO -METSKER -METRICK -METER -MESTAD -MESKE -MERTINS -MERTA -MERSINGER -MERSCHMAN -MERNA -MERILA -MERIDIETH -MERGEN -MEREL -MENZELLA -MENZE -MENTNECH -MENSON -MENSICK -MENNIG -MENDILLO -MEMOS -MELROY -MELOCHICK -MELLS -MELLGREN -MELINE -MELICH -MELENA -MELCHIORI -MELCHING -MELAHN -MEISLER -MEINERDING -MEILLEUR -MEIDLINGER -MEHNER -MEGRABYAN -MEGEE -MEEUWSEN -MEDLAR -MEDICK -MEDEMA -MECHLER -MECHANIC -MEADOWCROFT -MCPIKE -MCPEAKE -MCNELL -MCNEARY -MCMUTRY -MCMEEKIN -MCMANNUS -MCLUEN -MCLOUTH -MCLERRAN -MCLEOUD -MCLAGAN -MCKONE -MCKNEELY -MCKISSIC -MCKINNELL -MCKILLIPS -MCKIBBON -MCKENTY -MCKENNAN -MCKEEMAN -MCKASSON -MCINTURF -MCINERNY -MCHAN -MCGURN -MCGUIRL -MCGUE -MCGRAIN -MCGONNELL -MCGLUMPHY -MCGLAUFLIN -MCGINITY -MCGIBBONEY -MCGEOUGH -MCGAULEY -MCGARVIE -MCFATTER -MCENTEGART -MCENROE -MCELMURY -MCELHINNY -MCDONNEL -MCDONIEL -MCDOE -MCDERMOND -MCDEARMON -MCDEARMAN -MCDAY -MCDANNALD -MCDAID -MCCURREN -MCCROSKY -MCCRANE -MCCRAIG -MCCOOEY -MCCOO -MCCOLPIN -MCCOLLOCH -MCCLUCAS -MCCLESTER -MCCLEMENT -MCCLAMROCH -MCCLAMMY -MCCLALLEN -MCCARTE -MCCAIE -MCCADDON -MCANELLY -MCALMOND -MCALARY -MAZZINI -MAZZARINO -MAZZARA -MAZZANTI -MAZURK -MAZOR -MAYERLE -MAYENSCHEIN -MAYARD -MAYANS -MAXEDON -MAVROMATIS -MAVINS -MAVES -MAUSSER -MAULSBY -MATYA -MATUKE -MATTO -MATTLER -MATTIACE -MATKOWSKI -MATHERN -MATERO -MATCHETTE -MATAYOSHI -MATAR -MASTINE -MASSING -MASSIMO -MASSERIA -MASSENBERG -MASSARD -MASOUD -MASOTTI -MASLAK -MASEY -MASELLA -MASCARENA -MASCALL -MARZELLA -MARYOTT -MARWICK -MARUGG -MARTT -MARTINIS -MARTIAN -MARTHA -MARSTALLER -MARSINGILL -MARSICEK -MAROTTO -MARKET -MARKEGARD -MARKE -MARINELLA -MARIEN -MARGISON -MARGHEIM -MARGASON -MARGARIS -MARGARET -MARETT -MARENTES -MARCOTT -MARCON -MARCHENA -MARCELLINO -MAPSTON -MANTIONE -MANTANONA -MANSOURI -MANOI -MANKUS -MANKINS -MANIN -MANIKAS -MANGIERI -MANFREDINI -MANE -MANDT -MANDOLINI -MANDLEY -MANCINA -MANAS -MALTSBERGER -MALTAIS -MALMIN -MALLIS -MALLICOAT -MALLECK -MALLACH -MALKOWSKI -MALKANI -MALITO -MALENSEK -MALANDRA -MALANDER -MAKOS -MAKANANI -MAILLE -MAIL -MAIDENS -MAID -MAHOWALD -MAHALA -MAHAJAN -MAGNOTTA -MAGGIORE -MAGEL -MAESTOS -MAERZ -MAEDCHE -MADISE -MADI -MADES -MADDALONI -MADAYAG -MADARAS -MACNAIR -MACKINLAY -MACKESY -MACHON -MACHIA -MACHEY -MACHESKY -MACHACEK -MACEYAK -MACCHIO -MACBRIDE -MABRAY -MAASCH -LYSESKI -LYKKEN -LUZANIA -LUXENBERG -LUTRELL -LUPKES -LUPINO -LUPARDUS -LUNNON -LUNGHOFER -LUNDVALL -LUNDBY -LUNDBORG -LULOW -LUKMAN -LUKIN -LUKASZEWSKI -LUKACS -LUGONES -LUGER -LUEDER -LUDEKE -LUCEK -LUCCHETTI -LUCCHESE -LOZOWSKI -LOZARO -LOYER -LOWTHERT -LOWDERMILK -LOVITZ -LOVINGGOOD -LOVENDUSKI -LOURA -LOUNG -LOUNDER -LOUKS -LOUGHRY -LOUDERMILL -LOTTA -LOSTETTER -LOSKOT -LOSIEWSKI -LORMAN -LOREN -LORELLI -LORANGE -LONSINGER -LONGINOTTI -LONGHURST -LOMEDICO -LOLA -LOHWASSER -LOHN -LOHDEN -LOGRASSO -LOGIE -LOFTMAN -LOFTEN -LOFASO -LOEWER -LOEHRS -LOCY -LOCONTE -LOCKERMAN -LOCKERBY -LOCKEN -LOBATON -LOATMAN -LLERAS -LIZAK -LIVINGOOD -LITWILER -LITVIN -LITTLEDAVE -LITES -LISEE -LIPSZYC -LIPPY -LIONELLO -LINSDAY -LINNEAR -LINKLATER -LINGBECK -LINDIE -LINDENFELSER -LINDENBERGER -LINAREZ -LIMBER -LILY -LIGHTNING -LIFFICK -LIETO -LIESTMAN -LIEPINS -LIENG -LIEBROSS -LICCIARDI -LICAVOLI -LIBBEE -LHUILLIER -LHOMMEDIEU -LEYRA -LEWMAN -LEVREAULT -LEVITRE -LEVINGS -LEVICK -LEVECKE -LEVANGER -LEVAL -LEVA -LEUTHOLD -LEUENTHAL -LETZE -LETTERLOUGH -LESKI -LERWILL -LERTORA -LEPPLA -LEOPOLDO -LEONIDES -LEONARDIS -LENOUE -LENOCH -LENGERICH -LEMONT -LEMMERT -LEMERY -LEMAITRE -LELLA -LEKO -LEITHAUSER -LEISHER -LEISE -LEISCH -LEIENDECKER -LEIBER -LEIALOHA -LEHTOMAKI -LEHIGH -LEGGS -LEGATE -LEFLAR -LEFEBER -LEEZER -LEDDEN -LECLEIR -LECHLITER -LEBRANE -LEBARRON -LEASON -LEAPHEART -LEADMAN -LAZARTE -LAWIN -LAVOLE -LAVESQUE -LAVERDURE -LAUTNER -LAUTHERN -LAURILA -LAURENDEAU -LAUNDERVILLE -LAUMEYER -LATINA -LASZLO -LASSAN -LARZELERE -LARZAZS -LARUBBIO -LARRIUZ -LAREW -LAREMONT -LAREDO -LARDIZABAL -LARANCE -LAPPA -LAPOLLA -LAPATRA -LAPAGLIA -LANTIERI -LANNAN -LANN -LANGWITH -LANGOLF -LANGLOSS -LANGLO -LANGHOLZ -LANGHART -LANGFITT -LANGENDORF -LANGENBACH -LANGBEHN -LANEHART -LANDONI -LANDHERR -LANDBERG -LANDAZURI -LANCEY -LAMUS -LAMUNYON -LAMPITT -LAMPIASI -LAMMON -LAMME -LAMIRAND -LAMBES -LAMARTA -LAMARRA -LALIM -LALANDE -LAKY -LAITILA -LAIDLER -LAICH -LAHUE -LAHTINEN -LAGRASSE -LAGRAND -LAGLE -LAGERSTROM -LAGERBERG -LAFERNEY -LACSON -LACHENAUER -LABLUE -LABEAN -LAB -KUZARA -KUZA -KUY -KUTCHERA -KUSTRA -KURTYKA -KURSCHNER -KURKA -KUNSTLINGER -KUNKA -KUNICKI -KUNDA -KULLING -KULLA -KULBIDA -KUKER -KUJATH -KUJALA -KUHTA -KUHNER -KUHLE -KUFALK -KUENNEN -KUEN -KUDLEY -KUCHARIK -KUCA -KUBIC -KRYST -KRYSH -KRUMENAUER -KRUCZEK -KROSCHEL -KRONK -KROELLS -KRIVAK -KRISTOFF -KRISTIN -KREUZIGER -KREITZ -KREISBERG -KREIMAN -KREIGHBAUM -KREH -KRECK -KRASZEWSKI -KRASON -KRAMMES -KRAKE -KOZUSKO -KOZOLA -KOZIKOWSKI -KOZIELSKI -KOWIS -KOWALSKE -KOTTMAN -KOTTLER -KOTTENSTETTE -KOSTELNICK -KOSMOWSKI -KOSKA -KOSINAR -KOSIK -KOSANOVIC -KOSANKE -KORTGE -KORSAK -KORNBAU -KORDAS -KORBY -KORBEL -KOPPERMAN -KOPPENHAVER -KOPISCHKE -KOPER -KOPELMAN -KOPEL -KOPAS -KOOSER -KOORS -KOOR -KOONE -KOOGLE -KONZEN -KONIECZKA -KONDRACKI -KONDOS -KOMATSU -KOLO -KOLARIK -KOLACKI -KOKESH -KOHRT -KOHRS -KOGEL -KOFRON -KOFMAN -KOEWLER -KOETTING -KOES -KOELLNER -KOELLMANN -KOCZELA -KOCON -KNOTH -KNOLLMAN -KNOEBEL -KNKNOWN -KNITTLE -KNIPHFER -KNIGHTLY -KNIFFIN -KNAPHUS -KNAAK -KLOTH -KLONOSKI -KLOKE -KLOER -KLINETOB -KLIGER -KLICH -KLEYMAN -KLEPCHICK -KLEMISH -KLEEN -KLEBE -KLAKOWICZ -KLAFT -KITHCART -KISTER -KISKER -KISHEL -KISHBAUGH -KIRT -KIROUAC -KIRLEY -KIRKLEN -KIRKEGAARD -KIRCHEN -KIPKA -KIPFER -KINSINGER -KINIRY -KINIKINI -KINGMA -KINDERKNECHT -KINAHAN -KIMMES -KIMAK -KILLIANY -KILLELEA -KILKUS -KILFOYLE -KIFLEZGHIE -KIFFER -KIESEWETTER -KIENOW -KIELER -KIEBLER -KICKS -KICKER -KIBEL -KIBE -KIBBEE -KIANG -KHOUNTHAVONG -KHATRI -KHAMSYUORAUON -KHAM -KEYE -KEUP -KETO -KETCH -KESS -KERTH -KERO -KERNELL -KERKVLIET -KEOMANY -KEOMANIVONG -KENNEMUR -KENNEL -KENNDEY -KENDI -KEMPTER -KEMPINSKI -KEMNA -KELLAN -KELIIKOA -KELEDJIAN -KEITHAN -KEISEL -KEIB -KEHS -KEDLEY -KEAY -KEARIN -KAWULOK -KAWAI -KAWAA -KAVA -KAUNISTO -KAUMO -KAUAHI -KATTNER -KATRA -KASTEL -KASTEIN -KASSULKE -KASSMAN -KASSING -KASHANI -KASCH -KARTY -KARSTETTER -KARRENBERG -KARPER -KAROW -KARMO -KARHOFF -KARDELL -KARDAS -KARAPETIAN -KAPPER -KAPPEN -KAPICHOK -KANIS -KANEAKUA -KANARIS -KAMUDA -KAMIREZ -KAMAT -KALOUDIS -KALLBERG -KALLAHER -KALKWARF -KALKMAN -KALK -KALISEK -KALEHUAWEHE -KALCHIK -KALBFLEISCH -KALBERER -KALAL -KALA -KAKIMOTO -KAING -KAIGLE -KAHILL -KAHANAOI -KAEMMERLING -KADRI -KADLE -KADING -KADI -KADAR -KACHMAR -KACHIROUBAS -KACHELMEYER -KAASE -JUVE -JUUL -JUSTINGER -JUNGWIRTH -JUNGMAN -JUNGCK -JULANDER -JUENEMANN -JUBIE -JOUN -JOSWICK -JOSSUND -JOSS -JORY -JONNSON -JONGSMA -JOLIET -JOHNGRASS -JOCOY -JING -JIMEREZ -JIMBO -JEUDY -JEROWSKI -JERNSTROM -JERNSTAD -JERNBERG -JEOFFROY -JENTRY -JENNIE -JENG -JENAYE -JEMERSON -JELTEMA -JEANPAUL -JEANMARD -JAX -JAVERY -JAUDON -JASPERSE -JASMER -JARRED -JARRAR -JARGAS -JARDOT -JARDELL -JAQUAY -JAPPA -JANOWER -JANKOSKI -JANISE -JANDREY -JANDL -JAKUBIAK -JAKOBSON -JAKOBSEN -JAHNCKE -JAGERS -JACOBITZ -JACKON -IZARD -IVEL -ITZKOWITZ -ITANI -ISSACS -ISOME -ISLE -ISLAR -ISIDRO -ISIDORO -ISCH -IRVAN -IRIZARY -IRENE -IPSON -IP -IOELE -INTERIANO -INSALACO -INIESTRA -INGARGIOLA -IMPSON -ILLIANO -ILLER -ILLA -ILARDI -IIDA -IHRKE -IGNERI -IGBAL -IGARTUA -IFFLAND -IDELL -IBERRA -IBA -IANACONE -HYSONG -HYRKAS -HUZZARD -HUTTLE -HUSSELBEE -HUSSEINI -HUPE -HUNZEKER -HUNNICUT -HUMPREY -HUMBIRD -HUMASON -HUGLE -HUFANA -HUESTIS -HUESING -HUELL -HUDY -HUDLEY -HUDAS -HUDALLA -HUDACK -HUCKFELDT -HUBKA -HUBENTHAL -HUANTE -HSING -HROMEK -HRITZ -HRDLICKA -HOWZELL -HOWLES -HOWAT -HOVARTER -HOUY -HOUSLER -HOUSKA -HOUSEAL -HOULBERG -HOSTERT -HOSMAN -HOSCHEID -HORVERS -HORTIN -HORNISH -HORNBEAK -HORNADAY -HOPPMAN -HOPFER -HOOT -HONTS -HONSBERGER -HONS -HONNEN -HONBERGER -HONAHNIE -HOMMA -HOMESLEY -HOLYOAK -HOLWEGER -HOLUBAR -HOLTZER -HOLTROP -HOLTBERG -HOLPP -HOLMQUEST -HOLLINGHEAD -HOLJE -HOLGERSON -HOLABAUGH -HOITT -HOFFORD -HOFFMASTER -HOFFINE -HOFFELT -HOES -HOELLWARTH -HOEGH -HOEGERL -HOEGER -HODRICK -HODGKISS -HODEK -HOCKEY -HOBDAY -HLAVACEK -HLAD -HITZEMAN -HITZEL -HITSMAN -HISSONG -HISSAM -HISCOCK -HIRZ -HIRSHBERG -HIPKINS -HINSCH -HINKEN -HINCKLE -HINCHLIFF -HIMMONS -HIMMELWRIGHT -HIMMELSPACH -HIMEBAUGH -HILST -HILMES -HILLSGROVE -HILLESTAD -HILLESLAND -HILLEGASS -HILFIGER -HILADO -HIGHSHAW -HIGHERS -HIGGINBOTHAN -HIGBIE -HIERONYMUS -HIDY -HICKORY -HICKERNELL -HIBMA -HIBBETS -HEXIMER -HEWGLEY -HEUTMAKER -HEUSCHKEL -HEUPEL -HEUMANN -HEUMAN -HETZER -HETHERMAN -HESTERMAN -HESPE -HERTWECK -HERSON -HERRY -HERRBOLDT -HERMS -HERMOSILLA -HERL -HERBOLSHEIMER -HERBEL -HERA -HEPTINSTALL -HEPPLER -HEPPELL -HENSLIN -HENSCHEN -HENNINGTON -HENNAGIR -HENKHAUS -HENKEN -HENGGELER -HEMPFLING -HEMMERLING -HEMISH -HEMA -HELVESTON -HELSEY -HELSCHER -HELO -HELINE -HELFIN -HELDER -HEITNER -HEIPLE -HEINZELMAN -HEINRICHER -HEINES -HEIMSNESS -HEILER -HEIDELBURG -HEIBERG -HEGNER -HEGLER -HEFFERMAN -HEFFELBOWER -HEEBNER -HEDIGER -HEDDING -HECKBERT -HEARNSBERGER -HEAIVILIN -HEAGLE -HEAFNER -HAZELRIG -HAYTH -HAYOZ -HAYDU -HAYBARGER -HAYA -HAVERS -HAVERFIELD -HAUZE -HAUGABROOK -HAUB -HATHCOAT -HASYCHAK -HASSIN -HASSEY -HASENBERG -HASEK -HARVAT -HARUTA -HARTVIGSEN -HARTONG -HARTKE -HARRE -HARRADON -HARNISCH -HARMOND -HARMENING -HARLEM -HARKRADER -HARKLERODE -HARGITT -HARDON -HARDGRAVE -HARDESTER -HARBESON -HARBEN -HANRATH -HANDVILLE -HANDCOCK -HAMZA -HAMSON -HAMMING -HAMIC -HAMBLEY -HALPHEN -HALPAIN -HALMES -HALLAWAY -HALLAUER -HALF -HALDIMAN -HALBUR -HAKKILA -HAKIMIAN -HAIMES -HAHS -HAGMANN -HAGGLUND -HAGERT -HAGEE -HAFEMAN -HAEBER -HADDAN -HADA -HACKNER -HACKEL -HACHER -HABISCH -HAARSTAD -HAARE -HAAKER -GYGER -GUZOWSKI -GUZI -GUZALAK -GUYON -GUYLL -GUTZMER -GUTTIREZ -GUTT -GUTIERREX -GUTIERRE -GUT -GUSTIS -GUSHWA -GURKE -GUREVICH -GUNYAN -GUMZ -GUISBERT -GUIRE -GUINTANILLA -GUIMARAES -GUILLEREAULT -GUIDOS -GUIDERA -GUFFIN -GUERERRO -GUENTHNER -GUEDES -GUARENO -GUARDIAN -GRUSSING -GRUSKA -GRUDZIEN -GROWCOCK -GROSSENBACHER -GROSJEAN -GROSHANS -GRONDAHL -GROLLIMUND -GROENEVELD -GROENENDYK -GRINNAN -GRINDELL -GRINDELAND -GRIMAUD -GRIGOROV -GRIFFARD -GRIERSON -GRICH -GRIBBINS -GRIBBIN -GREVER -GRETTER -GRENNON -GRENFELL -GREMER -GREISING -GREENHOWARD -GRAVITZ -GRAVIS -GRAVINO -GRAUBARD -GRATES -GRANSTROM -GRANNELL -GRANDT -GRANAT -GRAMBLING -GRAMAJO -GRALAK -GRAISE -GRAFE -GRADE -GRAD -GRACY -GOYCO -GOYAL -GOVINDEISAMI -GOVERT -GOVERO -GOURAS -GOULBOURNE -GOULARTE -GOUKER -GOTWALT -GOTTSHALL -GOTTSCH -GORUM -GORDO -GORDILS -GORBET -GOONAN -GOOMBI -GOOLEY -GOOLESBY -GOODLET -GOODLAND -GOMAZ -GOLT -GOLOMBEK -GOLOM -GOLOJUCH -GOLIGHTLEY -GOLDYN -GOLDKAMP -GOLDFINE -GOLDERMANN -GOFFINET -GOETTER -GOETHALS -GOERDT -GOEHL -GOEDKEN -GOEDE -GOEDDE -GOECKEL -GODSHALL -GODLESKI -GODINO -GODINE -GODDEN -GODAR -GOCKLEY -GOCKEL -GOCHNOUR -GOBLER -GOARD -GNIEWEK -GNERRE -GLUSZEK -GLUNT -GLOTZBACH -GLORY -GLISTA -GLISAN -GLENDE -GLEE -GLEAVE -GLAUS -GLAU -GLASSING -GLADHILL -GIZZO -GIULIAN -GITTINS -GIRVEN -GIRT -GIRLING -GIRARDOT -GIPP -GIOVANNINI -GIONET -GINS -GINOLFI -GIMAR -GILVIN -GILLIOM -GILLING -GILLECE -GILIO -GILDOW -GILBERG -GIESER -GIERISCH -GIELOW -GIECK -GICA -GIBBONEY -GIARRAPUTO -GIANOPOULOS -GIANNECCHINI -GIAMBRUNO -GHRIST -GHILONI -GEVING -GETTO -GESSFORD -GESNER -GESICK -GERSTENKORN -GERSBACH -GEROGE -GERLEMAN -GERL -GERKIN -GERDING -GERCHAK -GEORGIADES -GEOFFROY -GENTES -GENRE -GENOUS -GENGE -GENEY -GENDUSA -GENDEL -GEMMA -GEMBLER -GEMAEHLICH -GELDMACHER -GEHRIS -GEFFRARD -GEFFKEN -GEANS -GAVEL -GAVALDON -GAUGHRAN -GAUD -GAUCIN -GAUCH -GATTUSO -GATLIFF -GATHER -GASTONGUAY -GASSEN -GASIOR -GARZIA -GARTZ -GARTLEY -GARSKI -GARRAMONE -GARONER -GARONE -GARNOW -GARLEY -GARIBAI -GARGUILO -GARFUNKEL -GARDLEY -GARDECKI -GARCILAZO -GARBARINI -GARAN -GARAFALO -GANI -GANDERT -GAMPONG -GAMONS -GAMMA -GAMBONE -GAMBLER -GALVES -GALO -GALM -GALLUCCIO -GALLINARI -GALLENTINE -GALLAMORE -GALEOTTI -GALELLA -GAJICA -GAISFORD -GAIETTO -GAHLMAN -GAHL -GAGLIA -GAFFKE -GAETZ -GADWAH -GABAREE -GAAR -FUST -FURUTANI -FURNER -FURNACE -FURGISON -FURGESON -FUNDIS -FULLEM -FULLAGAR -FUJISAWA -FUGIT -FUGH -FUEMMELER -FUELLING -FUDE -FRUSCI -FROSCH -FRONTERA -FRONEK -FRITZMAN -FRISTOE -FRISHKORN -FRILLING -FRIGGE -FRIELS -FRIEHE -FRIEDLINE -FRIDLINGTON -FREZZO -FREZZA -FRESTA -FREISE -FREIMAN -FREIDHOF -FREIBERGER -FREETAGE -FREET -FREEMYER -FREDIN -FREDENBERG -FRAYNE -FRAUGHTON -FRANZEL -FRANKIE -FRANKENSTEIN -FRANKENBERG -FRANCHER -FRANCH -FRANCESCONI -FRANC -FRAIZE -FRAGMIN -FRABOTT -FOXMAN -FOUTY -FOURNET -FOULCARD -FOUHY -FOUGERE -FOTOPOULOS -FORSMARK -FORNELL -FORM -FORLINE -FORGUSON -FONTUS -FONTANELLA -FOLKNER -FOK -FOGGIE -FOGELMAN -FLUMERFELT -FLUEGGE -FLUEGEL -FLUCK -FLOE -FLOCCO -FLITSCH -FLIRT -FLINDERS -FLETCHEN -FLECHSIG -FLEBBE -FLATHERS -FLATAU -FLAMER -FLAHARTY -FLADGER -FITTEN -FITCHPATRICK -FISSORI -FISSEL -FISCHLER -FIORITTO -FIORI -FIORENTINI -FIORELLA -FINNEMORE -FINKELSON -FINGLETON -FINGERHUT -FINAZZO -FILMER -FILLIP -FILLINGHAM -FILIPEK -FILAN -FIGURSKI -FIGUERON -FIGUEIRAS -FIGLEY -FIEDOR -FICKER -FICKAS -FEVIG -FEUTZ -FETNER -FERTAL -FERRAIOLO -FERNSLER -FERNET -FERNATT -FERGUSEN -FERG -FERACO -FENNY -FENGLER -FELSTED -FELLNER -FELLIN -FELLENZ -FELKNER -FELKEL -FELIU -FELEPPA -FELDERMAN -FELDE -FEIGEL -FEICKERT -FEIBUSCH -FEDOREK -FEDORA -FEDERGREEN -FEDALEN -FECK -FEBRE -FEARNOW -FEAGLER -FAVORITO -FAVILLE -FAVALORA -FAULS -FAUDREE -FASULO -FASSINO -FARSON -FARLIN -FARETRA -FARENBAUGH -FARELLA -FARAONE -FARAGOZA -FANUCCHI -FANTROY -FANNY -FANGMAN -FAMIGLIETTI -FALTUS -FALTIN -FALT -FALLEY -FALLDORF -FALICK -FALA -FAHRNEY -FAGGS -FAFARD -FAES -FADELY -FADEL -FACCHINE -FABIONAR -EZAGUI -EVOY -EVILSIZER -EVICK -EVERSOLL -EVERSMAN -EVERLEY -EVELO -EUVRARD -EUN -ETKIN -ETHEN -ESTRELA -ESTEB -ESTAIN -ESTACION -ESQUERRA -ESPOSTO -ESPERT -ESKRA -ESKIN -ESKENAZI -ESHOM -ESHENBRENNER -ESERA -ESCOBIO -ESCHIEF -ESCHENBRENNER -ERSCHEN -ERLEWINE -ERDNER -ERCK -ERCEG -ERBACH -EPOLITO -EPHRIAM -ENWRIGHT -ENWALL -ENTRIKIN -ENTRESS -ENTLER -ENSTAD -ENGWALL -ENGROFF -ENGLEMANN -ENGELSON -ENDERLIN -ENAMORADO -EMME -EMLAY -EMKE -EMERTON -EMBERTSON -ELWORTHY -ELWICK -ELWARD -ELOY -ELLYSON -ELLSTROM -ELLINGBOE -ELLIAM -ELIFRITZ -ELGART -ELERICK -EITZEN -EISMANN -EISENTROUT -EISCHEID -EIRICH -EIKNER -EICKHORST -EHRLER -EHRLE -EGLINTON -EGERER -EGELHOFF -EDMUNSON -ECORD -ECKRICH -ECKLAND -ECHEVARIA -EBERSOLD -EBERENZ -EBENER -EBADI -EALAND -EAKS -EAGLESTON -EAGLEN -EAGIN -DYALS -DWELLEY -DUY -DUVA -DUTTER -DUTKO -DUSTER -DUSKIN -DUSEL -DURRENBERGER -DURKE -DURIAN -DUPAY -DUNTLEY -DUNSFORD -DUNDEE -DULEMBA -DUGI -DUFFICY -DUENSING -DUENO -DUEITT -DUCLO -DUBROCK -DUBITSKY -DRUMGO -DROZDOWICZ -DROMGOOLE -DROBOT -DRIVAS -DRINKWINE -DREWING -DRESSMAN -DREESSEN -DRAINVILLE -DRAGNA -DRAFFIN -DOWGIALLO -DOVEY -DOUGHER -DOTTIN -DOSSOUS -DOSSIE -DOSE -DORONIO -DORNING -DORKO -DORION -DORINIRL -DORING -DOORN -DONOHOO -DONNALLY -DONKIN -DONEZ -DONERSON -DONDLINGER -DONCHEZ -DONAWAY -DONATIEN -DONATH -DOMMEL -DOMINE -DOMIN -DOMIANO -DOMHOFF -DOMEK -DOLLER -DOLINSKY -DOLBERRY -DOKER -DOIL -DOIDGE -DOHMAN -DOEDEN -DODRIDGE -DODGSON -DOBKOWSKI -DOBIE -DOBES -DOBERT -DIWAN -DITOMASSO -DISTAFFEN -DISTAD -DISPENZA -DISORBO -DISKIND -DISERENS -DISCIPIO -DIRICO -DIRE -DIRAGO -DIPRIMA -DINWOODIE -DINN -DINKENS -DINIUS -DINGELDEIN -DIMON -DIMITT -DIMITRIADIS -DILLIARD -DILICK -DILAURO -DILALLO -DILALLA -DIHEL -DIGILIO -DIFONZO -DIFEO -DIETZE -DIETL -DIESI -DIESEL -DIEPPA -DIENES -DIEMERT -DIEGEL -DIEFFENBACHER -DIEC -DICKHOFF -DICKENSHEETS -DIBONAVENTURA -DIBBLEE -DIBARTOLO -DIBACCO -DHONDT -DEWER -DEVELBISS -DEVAZIER -DEVARA -DEUSER -DEUR -DEUELL -DETZEL -DETTLING -DETRO -DESTINE -DESTEFANIS -DESORCY -DESOMMA -DESLANDES -DESISTO -DESIGA -DESHLER -DESHAW -DESGROSEILLIE -DESAULNIERS -DERWITSCH -DERRIG -DEROUCHIE -DERMADY -DERIDER -DERFUS -DERBES -DEPPERSCHMIDT -DEPOYSTER -DEPAULA -DENSE -DENNIN -DENIRO -DENIO -DENGEL -DENEEN -DEMPSY -DEMMY -DEMMERT -DEMICHELIS -DEMEDEIROS -DEMBROSKI -DEMBITZER -DEMARSE -DEMARANVILLE -DEMAGISTRIS -DELUZ -DELSON -DELROSSI -DELRIE -DELOSSANTO -DELOS -DELMOLINO -DELLIS -DELLAROCCO -DELLANO -DELLA -DELISSER -DELILLE -DELESTON -DELERME -DELEONE -DELEHANTY -DELBALSO -DELAVINA -DELAUTER -DELASHMIT -DEKALB -DEGUIRE -DEGROSS -DEGROOTE -DEGRASSE -DEGRANGE -DEGRACE -DEGASPERIS -DEFFIBAUGH -DEFABER -DECROSTA -DECRISTOFORO -DECHERT -DECELLE -DECAPUA -DECAPITE -DECANDIA -DEBUSE -DEBRULER -DEBLAUW -DEBELLA -DEBEER -DAYRIT -DAVIDIAN -DAVICK -DAVICH -DAVIA -DAVERSA -DAVERN -DAVAULT -DAUTRICH -DAUSCH -DATHE -DASTRUP -DASSOW -DARRAS -DARNOLD -DARKS -DARGIS -DARGATZ -DARBOUZE -DANNENFELSER -DANNARD -DAMPF -DALZEN -DALPHONSE -DALLUGE -DALHOVER -DAIVS -DAINACK -DAHER -DAGLE -DAGHITA -DAGDAG -DAFONSECA -DAFFERN -DAEHLER -DADSON -CZUBA -CZLAPINSKI -CZARNIK -CZAP -CYNOVA -CWIKLINSKI -CUZCO -CUTNO -CURT -CURBOW -CUNNINGHAN -CUNIS -CUNINGHAM -CUNICO -CULMER -CUHEL -CUESTAS -CUEBAS -CUCHARES -CUBR -CSIZMADIA -CRUMPACKER -CRUELL -CROUSORE -CROSTEN -CROSMAN -CROOKED -CROMUEL -CROMEY -CROCKARELL -CROAN -CRISSLER -CRISPEN -CRISMON -CRISE -CRISCILLIS -CRIPPIN -CRILLY -CRESTA -CREGAR -CRAGUN -COYE -COWING -COWER -COVERSTONE -COVERDELL -COUTY -COUTANT -COURTNAGE -COURTEAU -COUPER -COUNTEE -COULTAS -COUGHRAN -COTTEW -COTLER -COTELESSE -COSTEN -COSSIN -COSKREY -COSEN -COSDEN -CORVERA -CORTIS -CORSELLO -CORRION -CORRIGEUX -CORREIRO -CORO -CORNETTA -CORNEIL -CORLEE -CORIN -CORGAN -CORFMAN -CORELL -CORDOVI -CORDIA -CORDAS -CORCINO -CORCHERO -CORAL -COPPOLINO -COPPERNOLL -COPPENS -COOTE -COOPERSTEIN -COOPERRIDER -CONTERRAS -CONSOLAZIO -CONS -CONNIN -CONNERLEY -CONKIN -CONGRESS -CONCIENNE -CONAGHAN -COMREY -COMINSKY -COMELLA -COMEE -COME -COMBE -COLN -COLLUMS -COLLAMORE -COLICCHIO -COLEE -COLDING -COLDER -COLBENSON -COLAGIOVANNI -COKELY -COIN -CODDE -COBRIN -COAK -CLUXTON -CLUESMAN -CLOUSTON -CLOSSER -CLOPP -CLIATT -CLENDENNEN -CLEARMAN -CLATTENBURG -CLARKS -CLAPSADDLE -CIUS -CIRA -CIOLLI -CINOTTI -CIMKO -CIMA -CIENEGA -CICATELLO -CICALE -CIARLANTE -CIANFRINI -CIANCIULLI -CHURLEY -CHURCHES -CHUONG -CHUKES -CHRISTOU -CHRISTESCU -CHRISTE -CHRISMON -CHRISLER -CHOUN -CHOBOT -CHISEM -CHIONG -CHIMERA -CHILA -CHICCA -CHIARITO -CHHUN -CHHUM -CHHIM -CHESTANG -CHESLER -CHERUBIN -CHERNOSKY -CHEREBIN -CHEPIGA -CHELLIS -CHELL -CHEDA -CHECCA -CHEATER -CHEATEM -CHAULK -CHAUDHURI -CHAUCA -CHATCHO -CHARTRAW -CHARPING -CHARNLEY -CHARM -CHARLSON -CHARBONNEAUX -CHARAN -CHAPP -CHANGO -CHANEZ -CHANCER -CHAMNANPHONY -CHALEPAH -CHAIKEN -CHADDLESONE -CHACONAS -CHABAUD -CESTIA -CESSOR -CERVETTI -CERVENY -CERISE -CERECER -CERASOLI -CERA -CENTINI -CENCI -CEMBURA -CELLI -CEDERSTROM -CDEBACA -CAYO -CAWTHRON -CAVIGGIA -CAVERS -CAVENEY -CAUSLEY -CAUGHLIN -CATHIE -CATAN -CATALA -CASTROGIOVANN -CASTLETON -CASTILO -CASTILLIO -CASTELLAW -CASTELLARI -CASTEJON -CASPERSEN -CASIVANT -CASHIO -CASCIOLI -CASCIANO -CASAMENTO -CASADEI -CARWIN -CARVIN -CARUCCI -CARTIN -CARTEZ -CARSTON -CARRIO -CARRIAGA -CARRETINO -CAROTENUTO -CAROSIELLO -CAROLFI -CARNATHAN -CARNALLA -CARNAGEY -CARLILL -CARINIO -CARIKER -CARIDE -CARE -CARDERO -CARDENAL -CARASQUILLO -CARABEZ -CAPWELL -CAPURRO -CAPULONG -CAPPUCCI -CAPPETTA -CAPPA -CAPOUCH -CAPORALI -CAPONIGRO -CAPILLA -CAPATA -CAPAN -CANZONERI -CANTINE -CANTARANO -CANNELLOS -CANNARD -CANNADA -CANLAS -CANGEY -CANAAN -CAMPOY -CAMPANY -CAMPAINHA -CAMBI -CAMBA -CAMASTRO -CAMANO -CALRK -CALLIN -CALLARI -CALICUTT -CALEMINE -CALEB -CALDON -CALDAS -CAJAS -CADELINA -CACAL -CABRIALES -CABLES -BYTHEWAY -BYLAND -BYES -BYAN -BUZICK -BUZIAK -BUZHARDT -BUTZLAFF -BUTTOLPH -BUTTA -BUTRON -BUTORAC -BUTAUD -BUTAC -BUSUTTIL -BUSQUE -BUSING -BUSBOOM -BURWOOD -BURRIGHT -BURRI -BURRALL -BURNESS -BURLINGTON -BURLIN -BURKHAM -BURICK -BURICH -BURGNER -BURDEX -BURDELL -BURDE -BURBA -BUOL -BUNDI -BULICK -BULGIN -BUKOVSKY -BUKOVAC -BUJAK -BUGETT -BUFFO -BUESCHEL -BUECKERS -BUDNIK -BUCKEY -BUCKEL -BUCHKO -BUCHINSKI -BUCHANA -BUCHAMAN -BUCEK -BUBA -BRYANS -BRUSTKERN -BRUSSEL -BRUSSEAU -BRUNTZ -BRUNSCHEEN -BRUNKEN -BRUMBACH -BRUESS -BRUECKMAN -BRUECK -BRUCKEN -BROZENA -BROZEK -BROWNLEY -BROWERS -BROSMAN -BROSCH -BROODY -BROOD -BRONZO -BRONN -BROMWELL -BROME -BROMAGEN -BROLL -BROFMAN -BROEKEMEIER -BRODI -BRIXNER -BRISBAN -BRINKMEIER -BRINGHAM -BRIDGFORTH -BRIDGETTE -BREZNAK -BREWBAKER -BREITWEISER -BREITEN -BREITBARTH -BREHAUT -BREEDAN -BREECH -BREE -BREDERNITZ -BRECHNER -BRECHBIEL -BREASHEARS -BRAZINSKI -BRAZILLE -BRATZ -BRATU -BRATSCH -BRAS -BRANTING -BRANNIN -BRAMSEN -BRAILFORD -BRAGAS -BRADNEY -BRADNER -BRADIGAN -BRADICA -BRAD -BRABSTON -BOZWELL -BOYS -BOYN -BOYAR -BOYANCE -BOXTON -BOWERING -BOWAR -BOURNAZIAN -BOURGUE -BOURGOINE -BOURDAGE -BOULIER -BOULDS -BOULDING -BOUCH -BOTTUM -BOTTORF -BOTERO -BOSSLER -BOSSHARDT -BOSSART -BOSMAN -BORZILLO -BORSTAD -BORSOS -BORSELLINO -BORRAYO -BOROWIAK -BORIO -BORGOS -BORGLUM -BORGHOFF -BORELAND -BORDELEAU -BORCHELT -BOORMAN -BOOLE -BOOKWALTER -BOOKHART -BONVENTRE -BONUCCHI -BONNEMA -BONGARD -BONARDI -BONADIO -BOMSTAD -BOMBACI -BOLUS -BOLOGNESE -BOLNICK -BOLEBRUCH -BOLDRIN -BOLDER -BOJE -BOHO -BOHMKER -BOGOSH -BOGNAR -BOGIN -BOGATITUS -BOGAERT -BOGA -BOEHMKE -BOEH -BODWAY -BODEMANN -BOCKHORST -BOCHNER -BOCEK -BOBLITT -BOBBIT -BOATFIELD -BOAST -BOARDLEY -BO -BLUMHARDT -BLOWER -BLONDELL -BLOEMER -BLOCZYNSKI -BLINT -BLENDEN -BLEND -BLEM -BLEININGER -BLEILE -BLEHM -BLECHMAN -BLEAK -BLATTLER -BLATTEL -BLATHERWICK -BLATCHLEY -BLASING -BLASEN -BLANDIN -BLAIRE -BLAD -BLACKLER -BIZZLE -BISON -BISOGNO -BISKING -BISHOPP -BISCHKE -BISCARO -BISARRA -BIRTON -BIRRUETA -BIRRELL -BIRKLID -BINKERD -BINETTI -BINEGAR -BINDRUP -BILLERBECK -BILKA -BILEY -BILECKI -BIGLIN -BIEVENUE -BIERWAGEN -BIERNAT -BIENVENUE -BIELIK -BIEDRZYCKI -BIDEAUX -BIDDING -BICKMAN -BIBER -BIBEL -BIANCARDI -BIALY -BIALKE -BIALECKI -BHATTACHARYA -BEZAK -BEVILAQUA -BEUTH -BEUTER -BEUTEL -BEUCLER -BETTIES -BETTERIDGE -BETSCHART -BETRAN -BETHLEY -BETETA -BESWICK -BESSMER -BESSEMER -BESHERSE -BESERRA -BERVER -BERTUZZI -BERTKE -BERTHELSEN -BERTHELETTE -BERTAGNA -BERSCH -BERRIO -BERNOSKI -BERNATOWICZ -BERNARDY -BERLING -BERL -BERGMEIER -BERGLAND -BERGFIELD -BERGESEN -BERGEM -BERGANTZEL -BERGAMO -BERDECIA -BERARDO -BERARDINO -BEQUILLARD -BENZINGER -BENYAMIN -BENTZEN -BENNICE -BENKE -BENET -BENEKER -BENEDUM -BENEDICK -BEND -BENCOSME -BEMROSE -BEMILLER -BEMER -BELZUNG -BELMAREZ -BELLINA -BELLENDIR -BELLEMARE -BELLANTUONO -BELLANCA -BELKIN -BELINSKI -BELCOURT -BEJARAN -BEHL -BEEKER -BEEGHLY -BEDNEY -BEDKER -BEDEAU -BEDDOME -BEDDOE -BECVAR -BECCARIA -BEAZ -BEAUSHAW -BEAULAC -BEATLEY -BEARDON -BEACHEM -BEACHEL -BAZYDLO -BAYDAL -BAXI -BAUSERMAN -BAUDLER -BATZLI -BATTINO -BATTEE -BATLEY -BATESOLE -BATCHER -BASURTO -BASU -BASTIANELLI -BASSAGE -BASNER -BASHFORD -BASHER -BASHARA -BASHA -BASELICE -BARTOSIEWICZ -BARTOLOMUCCI -BARTNICK -BARTHOLIC -BARTHE -BARTELSON -BARSUHN -BARSON -BARRIES -BARRICELLI -BARRENA -BARREDO -BARRAZ -BARRALE -BAROLDY -BARNE -BARMETTLER -BARJAS -BARIS -BAREIS -BARDACH -BARCROFT -BARCELLO -BARBUTO -BARBRICK -BARBO -BARBISH -BARBARIA -BARAS -BARAGONA -BAQUET -BANWELL -BANOWETZ -BANDLE -BAMBHROLIA -BALTHAZAR -BALSON -BALLIETT -BALLESTAS -BALIN -BALFANY -BALETTE -BALDRIGE -BALDENEGRO -BALDASSARA -BALDASARO -BALCORTA -BALCKWELL -BALCITIS -BALASCO -BAKA -BAISH -BAINUM -BAILIN -BAILE -BAHLMANN -BAHER -BAGOYO -BAGGETTE -BAFFORD -BADDLEY -BADANGUIO -BADAMO -BADAME -BACZEWSKI -BACORN -BACOLOR -BACIGALUPI -BACHTOLD -BACHA -BABICK -AZZANO -AZUA -AZHOCAR -AYRE -AYDT -AYDLETT -AXSOM -AWADA -AVERBACH -AVENOSO -AUZSTON -AUYONG -AUTAUBO -AUSTAD -AUS -AURORA -AULTZ -AULDS -AULDRIDGE -AUL -AUGE -AUEL -AUDIRSCH -AUDAIN -AUCHMOODY -AUBERTINE -AUBER -ASTRY -ASQUITH -ASP -ASHDOWN -ASEN -ASELAGE -ASCENSIO -ASAM -ASAD -ARTUSO -ARTINGER -ARRITOLA -ARRE -ARRAIOL -ARRA -AROURI -ARNZEN -ARNTSON -ARNSTEIN -ARNOLDY -ARNHART -ARNET -ARMENTOR -ARMEL -ARGANBRIGHT -ARGALL -ARGABRIGHT -ARENSTAM -ARDINGER -ARCUO -ARAMBULO -ARAMBOLES -ARABIAN -APPELT -APPELGREN -APODOCA -APE -ANZAI -ANTTILA -ANTONIOU -ANTONIOTTI -ANTONAKOS -ANTELL -ANTEE -ANTAYA -ANSCHUTZ -ANO -ANNON -ANNE -ANNARUMMO -ANICK -ANGELOVICH -ANES -ANDROES -ANDRLE -ANDREOLI -ANDREASSEN -ANDERL -ANCIRA -ANASTASI -ANASTACIO -ANALLA -ANA -AMUNRUD -AMPARAN -AMORY -AMORES -AMODEI -AMDAHL -AMAZAN -ALWAY -ALVIRA -ALUISE -ALTOMONTE -ALTIDOR -ALTADONNA -ALSTOTT -ALSINA -ALSHOUSE -ALPIZAR -ALONGE -ALMESTICA -ALMARAS -ALMAND -ALLWARDT -ALLUM -ALLGIER -ALLERMAN -ALKBSH -ALIER -ALIANO -ALFSON -ALFERO -ALEXENDER -ALESSANDRO -ALESCI -ALDAS -ALDABA -ALCIDE -ALBY -ALBELO -ALBARES -ALBAIR -ALBACH -ALAMIN -ALAGNA -AKUNA -AKRIGHT -AKIM -AKES -AKEN -AKBARI -AKAU -AITKINS -AITA -AIROLA -AINES -AIMONE -AILTS -AHRENT -AHNE -AHLMAN -AHLIN -AGUIRE -AGOR -AGNER -AGERTER -AGE -AGCAOILI -AFZAL -AFSHARI -AFFLECK -ADUDDELL -ADU -ADOLFO -ADOLF -ADJEI -ADHAM -ADERHOLDT -ADENS -ADEE -ADAUTO -ACOCELLA -ACKROYD -ACKERS -ACKEN -ACK -ACHTER -ACHEAMPONG -ACERET -ACCORNERO -ABTS -ABRUZZINO -ABRECHT -ABRAMOV -ABOUD -ABO -ABES -ABED -ABBY -AAMOT -AALBERS -ZWOLENSKY -ZWIENER -ZWANZIG -ZVORSKY -ZUTTER -ZUROWSKI -ZUPFER -ZUNKER -ZUMBACH -ZUBIK -ZUBIATE -ZOTTOLA -ZOSS -ZORMAN -ZONKER -ZOMER -ZOLLO -ZOLEZZI -ZNIDARSIC -ZMIJEWSKI -ZMICH -ZLATEN -ZISK -ZINTER -ZINGLER -ZINDEL -ZIMLICH -ZILLMAN -ZILLIOX -ZIGICH -ZIESEMER -ZIELONKA -ZIEBART -ZIA -ZHUANG -ZEYER -ZERKLE -ZEPF -ZENISEK -ZEMPEL -ZEMAITIS -ZELTNER -ZELLMAN -ZELASCO -ZEISLER -ZEINERT -ZEIER -ZEGARRA -ZEEMAN -ZEDAKER -ZECHER -ZEAGLER -ZBINDEN -ZAUNBRECHER -ZARLENGO -ZANNINO -ZANNI -ZANGARA -ZANETTI -ZANES -ZANDERIGO -ZANAYED -ZAMBITO -ZALUSKY -ZAKUTNEY -ZAISS -ZAHAR -ZAGRODNIK -ZAESKE -ZADROGA -ZADEH -ZACEK -YZAQUIRRE -YURO -YUPE -YUNT -YUE -YOUNS -YOUNGERMAN -YOUKHANA -YOSHIZUMI -YOSHIYAMA -YOSHIKAWA -YOSHIHARA -YORE -YONEDA -YOH -YEPSEN -YEPIZ -YENTZER -YELIN -YEDID -YEDDO -YEBOAH -YEAH -YAUCK -YATTAW -YARROW -YAROSH -YARN -YANUARIA -YANKO -YAMPOLSKY -YAMIN -YAMAGATA -YAKOW -YAEGLE -YACONO -YACKO -XAYAVONG -WYTHE -WYRICH -WYDEVEN -WYANDT -WURTZEL -WURDEMAN -WUNNER -WULFFRAAT -WUJCIK -WRY -WRIGHTON -WREATH -WRAIGHT -WRAGGE -WOZNICK -WOTEN -WORMUTH -WOOFTER -WOODMORE -WOODE -WOMELDORFF -WOLVIN -WOLMAN -WOLGAST -WOLFGRAMM -WOJTAS -WOJENSKI -WOHLETZ -WOETZEL -WOELKE -WOELK -WOEHRLE -WITTLINGER -WITTKE -WITTHUHN -WITTHOFT -WITTEKIND -WITKUS -WITBECK -WIST -WISSINGER -WISNOSKI -WISLEY -WISHARD -WISH -WIPPERFURTH -WINTERLING -WINTERHOLLER -WINTERFELD -WINSMAN -WINKENWERDER -WINGERSON -WINEGARD -WINDLAND -WINCHEL -WILMOTT -WILLWERTH -WILLOUGBY -WILLINGER -WILLIMS -WILLIBY -WILLIAN -WILLIAMON -WILLHELM -WILLGING -WILLENS -WILLENBRING -WILLCOTT -WILLARDSON -WILHELMY -WILDSMITH -WILDONER -WILDBERGER -WIKHOLM -WIGNER -WIGLESWORTH -WIGGETT -WIGET -WIGDOR -WIEMAN -WIED -WIEBOLDT -WIDEN -WICKETT -WICKARD -WICHTERMAN -WICHLAND -WICHER -WHYSONG -WHYMS -WHOOPER -WHOOLEY -WHITVER -WHITMOYER -WHITEHORSE -WHITEBEAR -WHISH -WHIPPO -WHELER -WHELEHAN -WHEETLEY -WHEELAND -WHEELAN -WHATONAME -WHALAN -WEYGANDT -WEXELL -WETHERALD -WESTFAHL -WESTERHOLM -WESTERHEIDE -WESTENHAVER -WESTEN -WESSENDORF -WESCOM -WERSTEIN -WERSAL -WERRA -WERNTZ -WERNICKI -WERNETT -WERGER -WERBER -WENSKOSKI -WENK -WENDZEL -WENDELBOE -WENCIKER -WEMHOFF -WELSHANS -WELDE -WELBY -WELBURN -WEISFELD -WEISENFELS -WEINREICH -WEIKERT -WEIGLEIN -WEIDA -WEGWEISER -WEGLEY -WEFLEN -WEELER -WEDO -WEDIN -WEDGEWOOD -WEDDERSPOON -WEDD -WEBERG -WEATHINGTON -WEARS -WEAKLY -WEAFER -WEABER -WAZ -WAXLER -WAVE -WAUSON -WAUGAMAN -WATERER -WASMUTH -WASHMUTH -WARTERS -WARSAW -WARNS -WARNKEN -WARNEY -WARINER -WARCHOL -WANSITLER -WANLESS -WANKER -WANDRIE -WANDLER -WANCZYK -WALTMANN -WALTERSDORF -WALSWORTH -WALSETH -WALP -WALNER -WALMER -WALLOCH -WALLINGER -WALLETT -WALKLEY -WALKINGSTICK -WALENTOSKI -WALEGA -WALE -WALDOCK -WALDENMYER -WALDE -WALDBAUER -WALCHAK -WAKAYAMA -WAIAU -WADDICK -WACYK -VREEKEN -VRBKA -VRADENBURG -VOUNAS -VOTOLATO -VOSQUEZ -VOSIKA -VORWALD -VORSE -VOROS -VORGAS -VOREL -VOORHES -VONCANNON -VOLSTAD -VOLO -VOLKMER -VOLDEN -VOLBRECHT -VOISARD -VOETSCH -VOETBERG -VOELTNER -VOEGELI -VOCK -VLLOA -VIVONA -VIVINO -VIVENZIO -VITUCCI -VITTITOE -VITI -VITEAUX -VITATOE -VISCOME -VIRZI -VIRULA -VIRREY -VIRELLA -VIRANI -VIOX -VIOLETTA -VINALL -VILLATORA -VILCAN -VIK -VIGEN -VIETHS -VIELMAN -VIDRA -VIDOT -VIDALEZ -VICENT -VIBERT -VIBBARD -VETH -VESTERING -VESHEDSKY -VERSOZA -VERRELL -VEROEVEN -VERNOLA -VERNIA -VERJAN -VERITY -VERIATO -VERHAGUE -VERDUSCO -VERDEROSA -VERDERAME -VERDELL -VERCH -VERBEKE -VENTURE -VENESS -VENER -VENDRICK -VENCES -VELLUCCI -VELLONE -VELK -VEGH -VEDIA -VECCHIARELLI -VAZZANA -VAUX -VAUPEL -VAUDRAIN -VATALARO -VASTANO -VASSO -VASILIOU -VASHER -VASCONES -VAS -VARUZZO -VARRELMAN -VARNEDORE -VARI -VAREL -VANWRIGHT -VANVOORHEES -VANVOLKINBURG -VANTRUMP -VANSTRATEN -VANSTONE -VANSICE -VANSCOTER -VANSCOIT -VANORD -VANOOSTEN -VANNORTWICK -VANNETTE -VANNATTEN -VANLOON -VANLIERE -VANIS -VANHESE -VANGALDER -VANELDEREN -VANDRE -VANDOVER -VANDINTER -VANDEWALLE -VANDEVANDER -VANDERROEST -VANDERMAY -VANDERLOO -VANDERLEE -VANDERLAAN -VANDERGRAPH -VANDEREN -VANDENBRINK -VANDENBOOM -VANDENBERGE -VANDEL -VANDEGRIFF -VANDALE -VANBRUGGEN -VANBOERUM -VANBELLE -VANAUKER -VANASTEN -VANARSDALL -VALLERAND -VALLADAO -VALIS -VALINTINE -VALENZIANO -VALENTIA -VALENSUELA -VAISMAN -VAHENA -VAGLIENTY -VACCHIANO -UZIEL -UYEMURA -UTSLER -USIE -URZUA -URESTE -URBY -URBINE -URABE -UPTGRAFT -UNTERZUBER -UNTALAN -UNGERMAN -UNGERLAND -UNDERLAND -UNDERBERG -UMHOLTZ -UMBRIGHT -ULWELLING -ULSTAD -ULMEN -ULCENA -ULANSKI -UHLENKOTT -UHER -UHAS -UGLOW -UGLAND -UERKWITZ -UCCELLINI -TYSARCZYK -TYRON -TWYMON -TWOHEY -TWISSELMAN -TWICHELL -TWETEN -TUZZOLO -TUZZO -TUTOKY -TUSLER -TURNNER -TURJA -TURICK -TURIANO -TUNNICLIFF -TUMMONS -TUMLISON -TUMANENG -TUDER -TUCZYNSKI -TUCHMAN -TUBVILLE -TSUKIYAMA -TSELEE -TRUXON -TRUXLER -TRUSSLER -TRUSLER -TRUSILLO -TRUDILLO -TRUDE -TRUCHAN -TROWERY -TROTOCHAUD -TROPIANO -TRONSTAD -TROLINGER -TROCINSKI -TRIVENO -TRITES -TRIPLET -TRICK -TRICHELL -TRICHEL -TREVEY -TRESTER -TREISCH -TREGER -TREFZ -TREDWELL -TREBBE -TREAKLE -TRAVILLION -TRAVILLIAN -TRAVAGLIO -TRAUSCHT -TRAUBE -TRAPPER -TRANUM -TRANI -TRAIN -TOWLSON -TOWLERTON -TOWEY -TOVMASYAN -TOUSLEY -TOURTELLOTTE -TOURE -TOULSON -TOTIN -TOSTI -TOSADO -TORUNO -TORRISI -TORRIS -TORRENT -TORRADO -TORNER -TORINO -TORELL -TOPOLANSKY -TOOZE -TOOT -TONTARSKI -TONNESSEN -TONNESON -TONES -TOMISIN -TOMILSON -TOMASETTI -TOLOMEO -TOLLMAN -TOLHURST -TOLCHIN -TOLBENT -TOHER -TOFFTON -TOEPEL -TOELKES -TODOROVICH -TODISCO -TOCZEK -TOCKEY -TOCHTERMAN -TOBIASSON -TLUCEK -TITZER -TITMAN -TISE -TIPPETS -TIO -TINGWALD -TIMMEL -TIMBROOK -TILMON -TIJERINO -TIGERINO -TIGANO -TIEKEN -TIEGS -TIEFENBRUN -TICHACEK -TICA -THURMER -THUOTTE -THRAMER -THOROUGHMAN -THORNOCK -THORNDYKE -THONGCHANH -THOMEN -THOE -THODY -THIGPIN -THIELEMIER -THI -THERRES -THAL -THAKUR -TEWES -TEVES -TESMER -TESLOW -TESLER -TERUEL -TERRON -TERRIS -TERRE -TERRASI -TERRACE -TERO -TERMAN -TERESKA -TERESI -TEPP -TEO -TENZER -TENNILLE -TENNIES -TENCZA -TENAMORE -TEJADILLA -TECKLENBURG -TECHAIRA -TAYSE -TAWWATER -TAVOLACCI -TAVERNER -TAURINO -TAULMAN -TAUBLEE -TAUAREZ -TATTERSHALL -TATSUTA -TATSUNO -TASCHNER -TASBY -TARRATS -TARRANTS -TARONE -TARLEY -TARABORELLI -TAPER -TANNIEHILL -TANKS -TANKARD -TANGRI -TANEQUODLE -TAMPORELLO -TAMER -TAMBURRO -TAMBUNGA -TALIMAN -TALIB -TALAS -TAKALA -TAKACH -TAIWO -TAIBI -TAGHON -TAGABAN -TADENA -TACCONE -TACCETTA -TABATABAI -SZYSZKA -SZMALC -SZERSZEN -SZCZEPANIK -SZAREK -SZAFRANIEC -SZAFRAN -SZABLEWSKI -SYTA -SYSYN -SYNDERGAARD -SYMANSKI -SYLVIAN -SYCK -SWYMER -SWOFFER -SWOAGER -SWIGGUM -SWIAT -SWETNAM -SWESTKA -SWENTZEL -SWEETWOOD -SWEDENBURG -SWEARINGIN -SWARTZENDRUBE -SWARM -SWANT -SWANCEY -SVERCHEK -SVENSON -SUTOR -SUTHOFF -SUTHAR -SUSONG -SUSKIN -SURRA -SURANO -SUPPLEE -SUPINO -SUNDBORG -SUMMONS -SUMMEROUR -SUMERS -SULTZER -SULOUFF -SULECKI -SUHOSKI -SUHAR -SUGERAK -SUGANUMA -SUDDOTH -SUDBERRY -SUD -STYMIEST -STVRESTIL -STUVE -STURRUP -STURMER -STUMER -STUHLSATZ -STUENKEL -STUDIER -STUCZYNSKI -STUBBOLO -STRUEBING -STRUCHEN -STROZZI -STROWDER -STROHBEHN -STROER -STROBRIDGE -STROBECK -STRITMATER -STRIKE -STRIETER -STRICKLING -STREU -STREIFEL -STRAUGTER -STRATAKOS -STRASBURGER -STRAFACE -STRAATMANN -STPETERS -STOVEL -STOUDENMIRE -STOTSKY -STOTHART -STORZ -STORMES -STORMAN -STOPPEL -STOOKS -STONELAKE -STONEBROOK -STOMBAUGH -STOLTZMAN -STOLSIG -STOLPE -STOGLIN -STOFFLE -STODGELL -STOCKE -STIRNA -STIPETICH -STINNER -STIMPERT -STIMER -STILPHEN -STIKELEATHER -STIFEL -STIELY -STIELAU -STIEGER -STIDMAN -STICKRATH -STICKMAN -STICKELS -STGERARD -STERNBERGER -STERGIOS -STEPIEN -STEPANSKI -STENT -STENKAMP -STENEHJEM -STEMPEL -STEMMER -STELB -STEISKAL -STEINMULLER -STEINMACHER -STEINHORST -STEINHAUS -STEINHARTER -STEINHAGEN -STEINBURG -STEIFLE -STEFANICK -STEFANICH -STEEBER -STAY -STAWARZ -STAVROPOULOS -STAVES -STAUP -STAUCH -STAUBS -STATHOPOULOS -STATHIS -STARTZ -STAROWITZ -STAROWICZ -STARKIE -STARCIC -STANELY -STANDROD -STANDAHL -STANCZAK -STAMPLE -STAMPKA -STAMER -STALLINS -STALFORD -STAHOSKI -STAGGER -STADER -STAACK -SRSIC -SREY -SQUITIERI -SPYRES -SPUHLER -SPROUFFSKE -SPROSTY -SPRINZL -SPRINGLE -SPOTH -SPLETZER -SPIZER -SPITSBERG -SPITALE -SPIROFF -SPIRER -SPIOTTA -SPINOLA -SPINGLER -SPIKE -SPIERLING -SPICKLER -SPHON -SPETTEL -SPERLE -SPERKA -SPERBERG -SPELTZ -SPAW -SPASIANO -SPARE -SPANCAKE -SPAGNA -SOWERBY -SOVERN -SOUVANNASAP -SOUTHERLY -SOUS -SOURWINE -SOULT -SOTIRIOU -SOTHMAN -SOTA -SORTORE -SORLEY -SORIN -SORELLS -SORATOS -SOOSE -SOONG -SONSINO -SONNABEND -SONIA -SONGSTER -SONDROL -SONDERGAARD -SOLTAU -SOLINSKI -SOLINGER -SOLID -SOJDA -SOHNS -SOFTLEIGH -SOFFEL -SOFFA -SODARO -SODANO -SODA -SOBRAN -SOBCZYNSKI -SNEEDEN -SNATER -SNAIR -SMOKER -SMITHINGELL -SMINK -SMILES -SMIALEK -SMETAK -SMEJKAL -SMECK -SMALDONE -SLUYTER -SLOT -SLOSTAD -SLINGERLAND -SLIFFE -SLEMMER -SLAWTER -SLAVINSKI -SLAGOWSKI -SLAFF -SKUSE -SKULSKI -SKORNIA -SKOLFIELD -SKOGSTAD -SKINKLE -SKIDGEL -SKEFFINGTON -SKEETS -SKEELE -SKARUPA -SKARPHOL -SKAARE -SJOLANDER -SJAARDA -SITTS -SITTERUD -SITT -SISSELL -SIPRASOEUTH -SIPPER -SIPLA -SIPKEMA -SINNING -SINITIERE -SINGLE -SIMMENS -SIMM -SIMISKEY -SIMELTON -SILVERTHORNE -SILVERNALE -SILVAN -SILIADO -SILBAUGH -SIKET -SIKER -SIGURDSON -SIGNORE -SIGERS -SIFFERT -SIEVING -SIEVERDING -SIETSEMA -SIERING -SIENICKI -SIEMSEN -SIEMONSMA -SIEMERING -SIELSKI -SIEDLECKI -SIEBERS -SIDBURY -SICKMAN -SICKINGER -SICILIAN -SIBLE -SIBILIO -SIBBLE -SHUTLER -SHURGOT -SHUPING -SHULDA -SHULA -SHRIEVES -SHREINER -SHRECKENGOST -SHRECK -SHOWES -SHOWE -SHOUPE -SHOUMAKER -SHORTEY -SHORTEN -SHORROCK -SHORKEY -SHONES -SHOCKENCY -SHOATS -SHIVEL -SHIPMEN -SHINSEL -SHINDLEDECKER -SHINABARGER -SHIMINSKI -SHILOH -SHILLINGFORD -SHIGO -SHIFMAN -SHIERS -SHIBUYA -SHEWCHUK -SHETTSLINE -SHETTER -SHETRAWSKI -SHEFFEL -SHEESLEY -SHEEKEY -SHEEDER -SHEARES -SHAUGER -SHARKO -SHANNA -SHANKIN -SHANI -SHANDLEY -SHANAA -SHAMMO -SHAMLIN -SHAMBROOK -SHADOW -SHACKLEY -SGAMBATI -SFERRAZZA -SEYDEL -SEWALD -SEVENBERGEN -SEVAAETASI -SEUMANU -SEUELL -SETTLER -SETTERBERG -SETERA -SESSO -SESAY -SERVOSS -SERVINO -SERPE -SERMENO -SERLES -SERENA -SERAPIO -SENSKE -SEMMLER -SEMINOLE -SEMEL -SELVAGGI -SELLAI -SELISSEN -SELING -SELEG -SELEDON -SELBO -SELAN -SEKUTERSKI -SEKULA -SEIWELL -SEIVERT -SEISE -SEIN -SEILS -SEIER -SEIDITA -SEIBERLING -SEHER -SEGROVES -SEGOVIANO -SEGEL -SEGEE -SEFTICK -SEES -SEEKELL -SEEGOBIN -SEEBOLD -SEDLACK -SEDBROOK -SECTION -SECREASE -SECORE -SECKLER -SEASTRAND -SEARGENT -SEACRIST -SEACHORD -SEABROOKE -SCUDIERI -SCRIM -SCOZZAFAVA -SCOTTEN -SCONCE -SCIRCLE -SCIPIONI -SCIARRETTA -SCIALLO -SCHWINGLER -SCHWINGHAMMER -SCHWINGEL -SCHWIESOW -SCHWEINFURTH -SCHWEDA -SCHWEBKE -SCHWARZKOPF -SCHWANDER -SCHWALLER -SCHWALL -SCHUT -SCHURKAMP -SCHUNTER -SCHULDER -SCHUENEMANN -SCHUE -SCHUCKMAN -SCHUCHART -SCHROFF -SCHOVILLE -SCHORZMAN -SCHORDER -SCHOONER -SCHONES -SCHOLLER -SCHOFELL -SCHOEWE -SCHOENINGER -SCHOENHALS -SCHOENBECK -SCHOEFIELD -SCHOBERG -SCHNITTKER -SCHNEIDERMANN -SCHNECKLOTH -SCHNEBLY -SCHNATHORST -SCHNARRS -SCHNAKENBERG -SCHMITZER -SCHMIDBAUER -SCHMEECKLE -SCHMECKPEPER -SCHMANDT -SCHMALZRIED -SCHMAL -SCHLINKER -SCHLIEP -SCHLETTE -SCHLESIER -SCHLEIG -SCHLEHUBER -SCHLARBAUM -SCHLAFFER -SCHKADE -SCHISSEL -SCHINDELDECKE -SCHIMANDLE -SCHIERMEIER -SCHEUNEMANN -SCHERRMAN -SCHEPP -SCHEMMER -SCHELP -SCHEHR -SCHAYER -SCHAUNAMAN -SCHAULAND -SCHATZEL -SCHARRER -SCHARPING -SCHARPF -SCHARNBERG -SCHARMER -SCHARBOR -SCHALOW -SCHAF -SCHADER -SCHACTER -SCELFO -SCARPELLO -SCARLET -SCARINGE -SCARDUZIO -SCAMARDO -SCAMAN -SBANO -SAYMAN -SAYLEE -SAXENA -SAWDEY -SAWADA -SAVITSKY -SAVICKAS -SAVIC -SAVAGLIO -SAURIOL -SAURET -SAULO -SATAR -SASPORTAS -SARVAS -SARULLO -SARSFIELD -SARNE -SARMENTO -SARJENT -SARELLANO -SARDIN -SAPUTO -SANTHESON -SANTELLANA -SANTARSIERO -SANTAGO -SANSALONE -SANOS -SANNA -SANKO -SANKER -SANGHANI -SANGALLI -SANDVEN -SANDMANN -SANDHOFF -SANDELIUS -SANDALL -SANCHIOUS -SANCEDO -SANCE -SAMPOGNA -SAMPILO -SAMPAYAN -SAMPAIA -SAMPAGA -SAMO -SAMLAL -SAMELA -SAMEC -SAMAD -SALZBERG -SALWAY -SALWASSER -SALVESON -SALVEMINI -SALUS -SALQUERO -SALOWITZ -SALIZZONI -SALINA -SALIN -SALIMI -SALGERO -SALEMI -SALATO -SALASSI -SALAMACHA -SALAHUBDIN -SALADA -SAINTIGNON -SAINTAMAND -SAINES -SAHL -SAHA -SAGONA -SAGEDAHL -SAFFEL -SAEMENES -SADOW -SADLOW -SADGER -SACRAMENTO -SACKAL -SACHTLEBEN -SABOTA -SABOT -SABE -SABATA -SABASTIAN -SABAD -RZEPKA -RYZINSKI -RYTUBA -RYON -RYNES -RYKIEL -RYKERT -RYKARD -RYDOLPH -RYDELL -RUZICKI -RUTKO -RUTENBAR -RUSTRIAN -RUSINSKI -RUSHMORE -RUSHENBERG -RUSHEN -RUSCHAK -RURY -RUPER -RUOTOLO -RUMMERFIELD -RUMER -RUMBOLT -RULON -RULEMAN -RUFE -RUDO -RUDKIN -RUDICK -RUBINICH -RUBIDOUX -RUBERO -ROYS -ROWMAN -ROVERE -ROUSU -ROUILLIER -ROTTON -ROTONDI -ROTHENBACH -ROSZELL -ROSSOTTO -ROSSMILLER -ROSSEY -ROSHANNON -ROSENFELDT -ROSCIOLI -ROSANDER -RORRER -ROREX -ROPES -ROPAC -ROOTH -ROORDA -RONSANI -RONNE -RONG -RONFELDT -RONDY -ROMP -ROMON -ROMNESS -ROMM -ROMERA -ROMEIRO -ROMBACH -ROMAR -ROMANSKY -ROMAGNOLI -ROM -ROLSON -ROJOS -ROHANNA -ROGSTAD -ROGILLIO -ROGG -ROGACKI -ROFFMAN -ROETHLE -ROETH -ROETCISOENDER -RODIBAUGH -RODERIQUES -RODENBURG -RODEMEYER -RODBERG -ROCKOVICH -ROCHER -ROCCIO -ROBECK -ROBE -ROBAYO -ROBAR -RIZZARDO -RIVIE -RIVAL -RITTERBUSH -RITCHKO -RITCHHART -RISTIG -RISHTY -RIPPSTEIN -RIPPELMEYER -RIOSECO -RINGWALD -RINGQUIST -RINGHAM -RINELLA -RINEER -RIMPLE -RILLING -RILL -RIJO -RIIHIMAKI -RIGLOS -RIGGENS -RIGAUD -RIGALI -RIETZ -RIETDORF -RIESSEN -RIESGRAF -RIENSTRA -RIEKENA -RIEDLE -RIEDINGER -RIEB -RICKENBAKER -RICHCREEK -RICHBOURG -RICCELLI -RIBERDY -RIBB -RHODIE -RHEOME -RHEINHARDT -REZAI -REYNALDS -REYMAN -REYEZ -REWENKO -REVILLE -REVELLO -REVELEZ -REUL -RESUE -RESTUCCIA -REPLENSKI -REON -RENTAR -RENSBERGER -RENS -RENNAKER -RENELL -REMSON -RELL -RELACION -REKUC -REKER -REITLER -REISCHL -REINTS -REINOEHL -REINART -REIMUND -REIMOLD -REIKOWSKY -REIGER -REIFMAN -REICKS -REICHLER -REICHHARDT -REHLING -REGOS -REGINO -REGALBUTO -REFFNER -REENTS -REENDERS -REEKS -REEK -REECK -REDMER -REDICAN -REDDOCH -REDDIG -REDDICKS -REDBIRD -RECTENWALD -RECEK -REBILLARD -REBICH -REBECK -REAGON -RAZIANO -RAYMORE -RAVENEL -RAVEL -RAUSE -RAUSCHENBACH -RAUER -RAUCHWERGER -RATELLE -RASINSKI -RASBURY -RARDON -RAPSON -RAPKIN -RAOOF -RANNELLS -RANKE -RANGITSCH -RANGASAMMY -RANDT -RAN -RAMSER -RAMSAROOP -RAMSAHAI -RAMREZ -RAMPLEY -RAMIREC -RAMESH -RALBOVSKY -RAKOCZY -RAKOCI -RAJWANI -RAJARATNAM -RAIDEN -RAHMANI -RAGNO -RAGHUNANDAN -RAGAS -RAGAR -RAFUSE -RADVANY -RADOS -RADMACHER -RADICK -RADECKI -RACZYNSKI -RACHELL -QURESHI -QUIRIN -QUIRE -QUINTONA -QUINNETT -QUINALTY -QUIAMBAO -QUELLA -QUATRARO -QUARTARARO -QUALLE -QIN -PYTKO -PYER -PYANOWSKI -PUZIO -PUSHCAR -PURVIANCE -PURTLEBAUGH -PUPO -PULTE -PULSE -PULLOM -PULLINGS -PULLANO -PULKKINEN -PULIAFICO -PULFREY -PUJOLS -PUHALA -PUCHALLA -PUCCIARELLI -PRUTZMAN -PRUTT -PRUNEAU -PRUCHA -PROVITT -PROTIN -PROSE -PROCO -PROA -PRISK -PRIOLETTI -PRIODE -PRINKEY -PRINCIOTTA -PRICH -PRIBNOW -PRIAL -PREYER -PRESTINO -PRESSIMONE -PRESKITT -PRELI -PREISSLER -PREHODA -PREDOVICH -PRECISE -PRAZENICA -PRAWDZIK -PRAST -POZZOBON -POZOS -POWLES -POV -POULLARD -POUCH -POTUCEK -POSTERT -POSTEN -POSSON -POSA -PORTUONDO -PORTEN -PORST -POREE -PORA -POQUE -POPIOLEK -POOT -POOCK -PONGKHAMSING -PONESSA -PONE -PONCIO -POLUMBO -POLLUTRO -POLLET -POLLEN -POLJAK -POLEMENI -POKSWINSKI -POISEL -POETTE -POELMAN -PODY -PODEWILS -PODARAS -POCIUS -POBANZ -PLYMPTON -PLY -PLUSH -PLUME -PLUFF -PLUES -PLUE -PLONA -PLEXICO -PLEW -PLEISS -PLEIL -PLEASANTON -PLATTSMIER -PLATHE -PLANKEY -PLAHS -PLAGGE -PLACKER -PLACHA -PIZIRA -PIWOWAR -PIWETZ -PITTELKOW -PITTA -PITHAN -PITCHERELLO -PISCIOTTI -PIPILAS -PINTEA -PINTA -PINKSTAFF -PINKOS -PINC -PILOTTE -PILLO -PIHL -PIGNOTTI -PIGGS -PIETRZYK -PIERMONT -PIECZYNSKI -PIECHOWSKI -PIECH -PICKERSGILL -PICETTI -PICCIUTO -PICCININI -PICARELLO -PICARDO -PICADO -PIANTANIDA -PIANKA -PIAN -PHOTHIRATH -PHIPPARD -PHILMAN -PHILIPSON -PHILAVANH -PHELTS -PHANOR -PHANCO -PFLUGHOEFT -PFLUGH -PFLIGER -PFEISTER -PFEIFLE -PEYRE -PEYATT -PETTINE -PETTETT -PETRU -PETRONIO -PETRICKA -PETRAK -PETKO -PETITTO -PETERSSON -PESNELL -PESHEK -PESH -PESCADOR -PERZE -PERTEET -PERTEE -PERT -PERSCHBACHER -PERRUZZI -PERRISH -PERRIGAN -PERRIELLO -PERR -PEROZO -PERLICH -PERKING -PERKES -PERFATER -PERCE -PEPEZ -PEON -PENUNURI -PENUEL -PENSO -PENNISI -PENKINS -PENKALSKI -PENDON -PELLON -PELLISSIER -PELINO -PEL -PEICK -PEGUESE -PEGGS -PEFANIS -PEETERS -PEEDIN -PEDUTO -PEDULLA -PEDROZO -PEDROTTI -PEDRONCELLI -PEDROGO -PEDRI -PEDREGON -PEDERZANI -PEDDE -PECUKONIS -PECKLER -PECKA -PECHA -PECCI -PEATMAN -PEALS -PAZO -PAYE -PAWLUSIAK -PAWLITSCHEK -PAVLOSKY -PAVLO -PAVEGLIO -PAULMAN -PAUKSTIS -PAUK -PATTS -PATTER -PATRISS -PATNEAUDE -PASZEK -PASWATERS -PASTULA -PASTUCH -PASTEL -PASSY -PASSARELLA -PASQUIN -PASQUALETTI -PASQUAL -PASCUZZI -PASCERI -PARVIAINEN -PARRAL -PAROLINI -PARMELE -PARMA -PARLAVECCHIO -PARFITT -PAREZ -PARDIECK -PARDEW -PARDA -PARAZ -PARAT -PAPAY -PAPARELLO -PAPAIOANNOU -PAOLELLO -PANSINI -PANELLI -PANELL -PANDER -PANCHOLI -PANARO -PANAGIOTOPOUL -PALOMAREZ -PALMROSE -PALMISCIANO -PALMESE -PALLOTTO -PALLESCHI -PALK -PALHEGYI -PALENZUELA -PALEAAE -PALCZYNSKI -PALAKIKO -PALAIA -PAITH -PAGONIS -PAGO -PAGLIUCA -PAGLIARI -PAGANINI -PADOVANI -PADFIELD -PADAMADAN -PACQUETTE -PACO -PACKWOOD -PACHERO -PACHAR -PACEWICZ -PAASCH -PA -OZOLS -OZGA -OZENNE -OXMAN -OVERPECK -OVERBEEK -OVERBEE -OULETTE -OTSU -OTREMBA -OTOOL -OTAR -OTANICAR -OSUMI -OSUCHA -OSTROV -OSTHOFF -OSTERTAG -OSTERGARD -OSTABA -OSPITAL -OSOSKIE -OSOFSKY -OSISEK -OSHINSKY -ORZALLI -ORWIN -ORTWEIN -ORTUNO -ORTS -ORTELL -ORPEN -ORNELAZ -OREWILER -ORES -ORDONES -OPUNUI -OPPENLANDER -OPOIEN -OPALKA -OOLEY -ONTKO -ONDREY -OMURA -OMTIVEROS -OMLAND -OLUP -OLTHOFF -OLSTEN -OLLILA -OLIVIA -OLINSKY -OLINICK -OLEKSA -OLEJARZ -OLDAKOWSKI -OKORONKWO -OKINS -OHMER -OHLSSON -OHERRON -OHERON -OHANIAN -OGANESIAN -OGALDEZ -OEST -OEHLENSCHLAGE -OEDEKERK -ODON -ODEKIRK -OCRAN -OCONOR -OBRZUT -OBRIST -OBRINGER -OBORNY -OBLANDER -OBI -OBERLEY -OBERER -OBENG -OATRIDGE -OAJACA -NYPAVER -NUZZI -NUZBACK -NUXOLL -NUSSBAUMER -NURMI -NUHN -NUGEN -NUARA -NQUYEN -NOZICKA -NOXON -NOWICK -NOWACZYK -NOVIELLI -NOVEMBRE -NOVEMBER -NOVAS -NOUN -NOTTO -NOTOWICH -NORZAGARAY -NORWAY -NORTHOVER -NORTHCROSS -NOREM -NORDMANN -NORDENSON -NOLET -NOJIRI -NOHEL -NOETHIGER -NODD -NITZEL -NITA -NISBIT -NINA -NIKAS -NIGON -NIGLIO -NIGHSWANDER -NIGHBERT -NIEMIETZ -NIEDZIELSKI -NIEDERKORN -NIEDERHAUS -NIEDERER -NICOMETO -NICOLAIDES -NICKOLICH -NGUYN -NEYRA -NEYMEYER -NEWMON -NEWGENT -NEWBERY -NEVALA -NEUWEG -NEUHOFF -NEUHAUSER -NEUBECKER -NETTIK -NETTERS -NESTINGEN -NESSPOR -NERAD -NENEZ -NELDON -NEIZER -NEIVES -NEILS -NEIGER -NEIDICH -NEIBERT -NEGRONI -NEEMANN -NEEDLE -NEEB -NEDRY -NEDLEY -NEAS -NAZE -NAZAROFF -NAYES -NAYAR -NATTRESS -NATONABAH -NASSR -NASSERI -NASSEF -NASO -NARKIER -NARET -NARDINI -NARDECCHIA -NARAGON -NAPUTI -NAPIERALA -NANNY -NANKE -NAMDAR -NAJI -NAIDOO -NAHM -NAHAS -NAGELSCHMIDT -NAES -NAEGELI -NACOL -NACLERIO -NACHOR -NABOZNY -NABARRETE -NAB -MYRLIE -MYKINS -MUZIO -MUTOLO -MUTA -MUSTOE -MUSTER -MUSKE -MUSCHAMP -MUSCARELLO -MUSACCHIO -MURZYCKI -MURRUFO -MURNAN -MURASKI -MURANY -MURANO -MUNZER -MUNIS -MUNION -MUMBY -MUMBOWER -MULRAIN -MULLINEX -MULLINEAUX -MULLENNIX -MULLAHEY -MUKHTAR -MUINA -MUHA -MUEHLMAN -MUCCIGROSSO -MROZOSKI -MOZIER -MOW -MOVA -MOUSTAFA -MOUSSER -MOUSE -MOUSA -MOURITSEN -MOURAD -MOTTET -MOTTEN -MOTAMEDI -MOSTOWY -MOSTAFAVI -MOSIMAN -MOSCONE -MOSCICKI -MOSBRUCKER -MORVA -MORTINEZ -MORTEL -MORSEY -MORRIN -MORREN -MOROSCO -MORLEDGE -MORLA -MORISKY -MORISHITA -MORISEY -MORGIA -MORETTA -MORERA -MORENZ -MORDUE -MORDHORST -MORDAUNT -MORBER -MORAWA -MORAVICK -MORARITY -MOOTY -MOOSER -MOOCK -MOOCHLER -MONTOURE -MONTOOTH -MONTONEZ -MONTIERTH -MONTICELLO -MONTEVERDE -MONTERRANO -MONTELLA -MONTECILLO -MONSRUD -MONSMA -MONSERRAT -MONRREAL -MONRO -MONETTI -MONDOK -MONDELLA -MONCION -MONALDI -MOLTZ -MOLON -MOLLICONE -MOLLE -MOLITERNO -MOLINERE -MOLINARY -MOLESWORTH -MOH -MOGUSH -MOGREN -MOELLERS -MOECK -MODERT -MOCKBEE -MOCHER -MOCHEL -MOC -MOBERLEY -MOAN -MOALLANKAMP -MIYOSE -MIYATA -MIYASHITA -MIYAGI -MITSUDA -MISUMI -MISSEL -MISKELLY -MISIASZEK -MIRZADEH -MIRTO -MIRSCH -MIRLES -MIOLEN -MINZEL -MINUTILLO -MINUGH -MINTZER -MINSKEY -MINNAERT -MINKOFF -MINIARD -MINGLEDORFF -MINAS -MINAAI -MILLY -MILLINOR -MILLIE -MILLERD -MILLEA -MILKEY -MILHAM -MILFELD -MILEHAM -MILAS -MILAR -MILAK -MIKULSKI -MIHARA -MIHALEK -MIHALCHIK -MIHAL -MIGNOT -MIGNANO -MIGHTY -MIESSE -MIERZWINSKI -MICTHELL -MICKUS -MICKOLICK -MICKIEWICZ -MICHLIN -MICHELENA -MICHA -MICCIO -MICARI -MEZZATESTA -MEWBOURN -MEUSE -MEURIN -METZKER -METTLING -METTING -METTERS -METROPOULOS -METEVIA -MESTETH -MESKO -MESI -MESEROLE -MERVYN -MERNIN -MERMELSTEIN -MERLING -MERLI -MERKOWITZ -MERKLIN -MERKERSON -MERICA -MERENDINO -MERCURY -MERAY -MERANTO -MERANCIO -MENSIK -MENSE -MENONI -MENNIE -MENGSTEAB -MENES -MEND -MENCY -MEMOLO -MELTZ -MELING -MELEN -MELCER -MELAMED -MEKEE -MEISTE -MEISE -MEINHARD -MEIEROTTO -MEHOK -MEHARG -MEGINNES -MEENACH -MEDICUS -MEDIANO -MEDIA -MEDELL -MEDE -MEDDAUGH -MECONI -MECH -MEARSE -MEARDON -MEALOR -MEADVILLE -MEACHEN -MCVICAR -MCSPARIN -MCRORIE -MCROBBIE -MCOY -MCOWEN -MCNORTON -MCNERTNEY -MCNAMER -MCNAIL -MCMANAMON -MCMAIN -MCLYMAN -MCLELAND -MCKIRGAN -MCKEW -MCKEVITT -MCKERCHER -MCKENSIE -MCKEEGAN -MCKEANE -MCKAHAN -MCINTURE -MCINDOE -MCILVENNY -MCILLWAIN -MCIFF -MCGWIN -MCGUFF -MCGROTTY -MCGRONE -MCGRANT -MCGOOGAN -MCGLON -MCGLOIN -MCGIVERON -MCGHEHEY -MCGHAY -MCGAVIN -MCGAHEN -MCFANN -MCELWAINE -MCELDUFF -MCEACHRON -MCDILDA -MCDERMID -MCDANNOLD -MCDALE -MCCULOUGH -MCCUIEN -MCCRUMB -MCCROREY -MCCRELESS -MCCRAVY -MCCOURTNEY -MCCORRISON -MCCORKELL -MCCOREY -MCCONNEY -MCCONNAUGHHAY -MCCOLLESTER -MCCLURKAN -MCCLUER -MCCLOUDY -MCCLENAGHAN -MCCLAVE -MCCLARNON -MCCLARIN -MCCLANEY -MCCLANAN -MCCLAIR -MCCHRISTION -MCCASKELL -MCCARTHA -MCCARL -MCCAMANT -MCCALMONT -MCCALMAN -MCCAINE -MCCAHILL -MCCAGUE -MCBROWN -MCANANY -MCALVAIN -MAZZURCO -MAZUC -MAZO -MAZINGO -MAWHORTER -MAVRO -MAVRAGANIS -MAUTNER -MAUTINO -MAUCELI -MATZINGER -MATURI -MATTURRO -MATTLIN -MATTHEIS -MATSUOKA -MATSUKI -MATRO -MATLACK -MATICE -MATHSON -MATHEU -MATHENIA -MATH -MATEJKA -MATEJA -MATANANE -MASZTAL -MASTROPAOLO -MASTROMARINO -MASTROLIA -MASTEL -MASSY -MASSOUD -MASSIMINO -MASLANKA -MASINI -MASCIOLI -MARZEC -MARVIER -MARUYAMA -MARUSARZ -MARUM -MARTORELLA -MARTIRE -MARTINKUS -MARTINAS -MARTIEZ -MARTHE -MARTENEY -MARSCHALL -MARRUFFO -MARRAZZO -MARPLES -MAROHL -MARN -MARLBOROUGH -MARKUNAS -MARKI -MARJAN -MARITNEZ -MARINKOVIC -MARINEAU -MARGAITIS -MARENTIS -MARE -MARCOU -MARCIEL -MARCI -MARCHIORI -MARCHELLO -MARCHELL -MARCELLE -MARCELIN -MARALES -MAPEL -MANZANAREZ -MANTILIA -MANSMITH -MANON -MANNSCHRECK -MANNICK -MANKIEWICZ -MANKEL -MANILA -MANIFOLD -MANHA -MANGRICH -MANGIAPANE -MANGIAMELE -MANERA -MANDES -MANDELLA -MANDELIK -MANDALONIZ -MAND -MANCUSI -MANCINE -MANA -MAMULA -MAMMOCCIO -MALZHAN -MALZAHN -MALSOM -MALOON -MALNAR -MALLONE -MALLINSON -MALLIE -MALLEK -MALLE -MALINOSKI -MALINCONICO -MALICOAT -MALICDEM -MALHI -MALFATTI -MALANDRINO -MALAMUD -MALAKOWSKY -MAKOVEC -MAKEY -MAJERCIK -MAJER -MAJAMAY -MAISENBACHER -MAINEY -MAILEY -MAILANDER -MAHUNA -MAHOMES -MAHOE -MAHNKEN -MAHERAS -MAHAXAY -MAHANA -MAHAM -MAGNIA -MAGNI -MAGNANTI -MAGLIANO -MAGLIACANE -MAGLAUGHLIN -MAGISTRALE -MAGIERSKI -MAGGINI -MAGANO -MAFNAS -MADREN -MADOR -MADERIOS -MADENA -MADDRON -MADAN -MADALINSKI -MACMANUS -MACLEAD -MACKOWSKI -MACKINAW -MACKESSY -MACKERL -MACKER -MACIVOR -MACHOLD -MACHAIN -MACEDONIO -MACDIARMID -MACCHIAROLI -MACBEAN -MACAYAN -MACARI -MABIN -MABEL -LYTER -LYSTER -LYSNE -LYNSKEY -LYNESS -LYNDAKER -LYMASTER -LYKKE -LYELL -LUXMORE -LUTTMER -LUTGEN -LUSIGNAN -LUPOLD -LUNGSTROM -LUNFORD -LUNDEBY -LUMBARD -LULE -LUKASKIEWICZ -LUINSTRA -LUEVAND -LUER -LUEKING -LUEHRS -LUECKING -LUDVIGSON -LUDGOOD -LUCICH -LUCHETTI -LUBMAN -LUBIC -LOZITO -LOWHORN -LOWD -LOVERICH -LOVEMAN -LOVAS -LOVAAS -LOUVIER -LOUTHEN -LOURY -LOUKANIS -LOUGHNER -LOUGHNANE -LOUATO -LOTSHAW -LOTHER -LOTHAMER -LOTER -LOSINSKI -LOSINGER -LOSHEK -LOSECCO -LORTIE -LORIN -LORENT -LORELLO -LORAS -LORAH -LOPAU -LOOSEN -LONTZ -LONGPRE -LONGIE -LONCARIC -LOMBRANA -LOMBA -LOHREY -LOHOFF -LOGGHE -LOGES -LOFSTEAD -LOFFT -LOERTSCHER -LOEPER -LOEBLEIN -LODATO -LOCHEN -LOBBINS -LOBBAN -LIZARRAGO -LIVIGNI -LIVERNASH -LIUKKO -LITTICH -LITTERER -LITTAU -LITCHMORE -LISY -LISSY -LISHMAN -LISCHAK -LIRAG -LIPTOW -LINS -LINKHART -LINKERT -LINGREN -LINGELBACH -LINGEL -LINGAD -LINET -LINEGAR -LINEBRINK -LINDROTH -LINDELAND -LINDBOE -LINARDI -LINARD -LIGMAN -LIGGANS -LIFLAND -LIFF -LIEUALLEN -LIESVELD -LIESS -LIENHARD -LIEHR -LIEDY -LIEDKE -LIEBAU -LIDTKE -LIDSTROM -LICANO -LIBRA -LEYS -LEYMEISTER -LEWERKE -LEWAND -LEVOCI -LEVITON -LEVIEN -LEVESTON -LEVERENZ -LEVERE -LEVANGIE -LEUY -LEUKUMA -LETTMAN -LETRAN -LETLOW -LETHCO -LETERSKY -LESTRONGE -LESSO -LESSEY -LESHEM -LERUD -LEPS -LEONESIO -LEONES -LENTO -LENTE -LENNERTZ -LENIOR -LENHARD -LENFEST -LENE -LENDRUM -LEMPICKI -LEMONIER -LEMLE -LEMKAU -LEMINGS -LEM -LELLI -LEKAS -LEITTEN -LEITHEISER -LEINO -LEINER -LEINENBACH -LEIDY -LEIDICH -LEID -LEICH -LEHNHOFF -LEH -LEGUM -LEGOULLON -LEGEYT -LEGALLEY -LEGACE -LEFTON -LEFTHAND -LEFORGE -LEFORE -LEFLEUR -LEERAR -LEEF -LEED -LEDL -LEDDON -LEDAIN -LECKIE -LECATES -LEBEOUF -LEBEN -LEBECK -LEBEAUX -LEBAN -LEAVERTON -LEARMAN -LEARDI -LEAMY -LAZARE -LAZARCZYK -LAYSSARD -LAYSON -LAYHEW -LAYEL -LAYCHOCK -LAWERNCE -LAVZON -LAVALLA -LAUTERBORN -LAUT -LAUSENG -LAUSEN -LAURINO -LAURI -LAURENZANO -LAURENZA -LAUNDRY -LAUMBACH -LAUINGER -LAUENROTH -LATZKE -LATULIPE -LATTIG -LATRONICA -LATOUF -LATKO -LATIKER -LATHERN -LATERZA -LATCHAW -LATAQUIN -LASURE -LASHOMB -LASELL -LASASSO -LARTEY -LARRIVA -LARO -LARDNER -LARDIERI -LAPRARIE -LAPPING -LAPITAN -LAPEYROLERIE -LAPAR -LANZETTA -LANTIS -LANKA -LANI -LANGSHAW -LANGMYER -LANGIN -LANGERMAN -LANGELAND -LANGBEIN -LANDRO -LANDRIAN -LANDMESSER -LANDMANN -LANDFAIR -LANDESBERG -LANCIOTTI -LAMPREY -LAMPEY -LAMOS -LAMORA -LAMOINE -LAMFERS -LAMBKA -LAMANCE -LAMANA -LALIOTIS -LAJZA -LAJAUNIE -LAINSON -LAHER -LAHAR -LAGROTTA -LAGRANT -LAGRAIZE -LAGNESE -LAFRAZIA -LAFOUNTAINE -LAFLIN -LAFASO -LAFARGA -LADAGE -LACSAMANA -LACROSSE -LACRONE -LACHOWSKI -LABRUYERE -LABRAKE -LABOSSIERE -LABA -LAACK -KYZAR -KYNARD -KWEK -KUZMIN -KUTTNER -KUSIAK -KUSER -KUSE -KURTZER -KURTZEBORN -KURPINSKI -KUROHARA -KURODA -KURNIK -KURIHARA -KURDZIEL -KURBAN -KURAS -KUPPER -KUPFERER -KUPEC -KUNZELMAN -KUNKLER -KUNIN -KUNESH -KUMRO -KUMPF -KULON -KULKA -KUKUCKA -KUK -KUHSE -KUHLS -KUHLO -KUHAR -KUERBITZ -KUENZI -KUEHNEMAN -KUDRON -KUCZENSKI -KUCHLE -KUCHENMEISTER -KUCHENBECKER -KUCAN -KUBU -KUBSCH -KUBISZEWSKI -KUBISH -KUBICZ -KUBICK -KUBASKA -KUAREZ -KSIAZEK -KSHYWONIS -KRZYKOWSKI -KRZAK -KRYSL -KRUZEWSKI -KRUZAN -KRUMRINE -KRUMINS -KRUCKER -KROUPA -KROUGH -KROTZ -KRONSTEDT -KROMREY -KROGSTAD -KROGMANN -KROEZE -KROETZ -KROC -KRISTIANSON -KRISTEN -KRISER -KRIPS -KRINGAS -KRIETE -KREUTER -KRETSCHMANN -KRESHA -KREIDEL -KREGGER -KREATSOULAS -KRATOCHWIL -KRASOVEC -KRASE -KRAPF -KRANAWETTER -KRAJNIK -KOZUBAL -KOYANAGI -KOWALKOWSKI -KOVAROVIC -KOVALCIN -KOU -KOTZEN -KOTNIK -KOSTELECKY -KOSTEK -KOSTECKI -KOSTAL -KOSSE -KOSLOWSKI -KOSKIE -KOSICKI -KOSHAR -KOSEK -KORTRIGHT -KORPAL -KORNHAUSER -KORMOS -KORINEK -KORGIE -KORDSMEIER -KORDISH -KORAL -KOPS -KOPPS -KOPPERUD -KOPPANG -KOPFER -KOPET -KOOK -KONNO -KONIK -KONEK -KONEFAL -KOMM -KOMIS -KOMER -KOMAREK -KOLSRUD -KOLP -KOLOPAJLO -KOLLMORGEN -KOLIS -KOLESNIK -KOLES -KOLDING -KOHS -KOHLHOFF -KOHATSU -KOHARA -KOETTER -KOESTLER -KOEPSEL -KOEPPE -KOENIGSMAN -KOELEWYN -KOE -KODADEK -KOCI -KOCHLER -KOCAB -KOBYLINSKI -KOBRYN -KOBERG -KNOWER -KNOLLENBERG -KNOCK -KNIZLEY -KNISS -KNIES -KNEZOVICH -KNESEK -KNEPEL -KNEHANS -KNEESKERN -KNAUST -KNAPKE -KMET -KLUZ -KLUKAS -KLOSKA -KLOPF -KLINGLESMITH -KLINEKOLE -KLIMES -KLIMENT -KLIMASZEWSKI -KLEPFER -KLEPACKI -KLEPAC -KLEMASH -KLEINKOPF -KLEINKNECHT -KLEIMOLA -KLEIBOEKER -KLEI -KLEHN -KLEGIN -KLAVUHN -KLAUER -KLASINSKI -KLASING -KLARR -KLAPEC -KLAASS -KLAAMEYER -KJELLAND -KIYUNA -KITCHING -KISTLE -KISSI -KISHI -KIRVIN -KIRTNER -KIROVAC -KIRNON -KIRKBY -KIRITSY -KIRCHGESLER -KIPPLEY -KIPPING -KINZIG -KINS -KINNARE -KINNA -KINGCADE -KINATYAN -KIMME -KIMBROW -KIMBRIL -KILZER -KILTZ -KILLMER -KILLIBREW -KILLEAGLE -KILGER -KILES -KIEVIT -KIENTZY -KIELTY -KIEKBUSCH -KIEHNE -KIEFERT -KHOU -KHIEV -KHAT -KHARE -KEYWAN -KEYT -KEVIN -KEVILLE -KEVERN -KEULER -KETOLA -KETELAAR -KERTIS -KERSON -KERNEN -KERKMAN -KERKER -KEOGAN -KENWOOD -KENNE -KENAAN -KEMPLER -KEMPISTY -KEMPFER -KEMPEN -KEMMERLIN -KELTER -KELMAN -KELLIE -KELIIHOOMALU -KELEMAN -KEKIWI -KEISWETTER -KEISS -KEILTY -KEIDONG -KEGEL -KEETS -KEENETH -KEEFNER -KEDZIERSKI -KEBORT -KEATE -KEAT -KAZMORCK -KAZI -KAZ -KAWACHI -KAUSHIVA -KAUK -KATZNER -KATZMARK -KATZEN -KATSUDA -KATS -KATER -KATEN -KASTING -KASSERMAN -KASSAY -KASSABIAN -KASPROWICZ -KASPEREK -KASOWSKI -KASMIR -KASKA -KASIK -KASCAK -KARTH -KARSNAK -KARSHNER -KARSH -KARMEL -KARLSTAD -KARLEY -KARINS -KARIMI -KARCICH -KARCH -KARAPETYAN -KARAKAS -KAPSALIS -KAPPELER -KAPKE -KAPERONIS -KAPAHU -KANTHAK -KANSKY -KANSAS -KANOY -KANNO -KANNADY -KANDARIAN -KANAI -KANAE -KANAAN -KAMPHOEFNER -KAMMLER -KAMINETZKY -KAMINAKA -KAMIENSKI -KAMAUNU -KAMAKEA -KAMA -KALTEFLEITER -KALOUSTIAN -KALOI -KALLMEYER -KALISCH -KALINSKI -KALIHER -KALGREN -KALFAS -KALES -KALAFATIS -KAGLE -KADISH -KACHERMEYER -KABINA -KAAWA -KAAUA -KAATZ -JUVERA -JUTTE -JUSTEN -JUSKO -JURIGA -JURE -JUNGQUIST -JUNGBLUTH -JUNEJA -JUNCAJ -JULIET -JUHAS -JUENGER -JUELL -JUCEAN -JUBINVILLE -JOVICH -JORRES -JORIS -JORE -JONHSON -JONESON -JONASSEN -JOLISSAINT -JOINTER -JOHNNY -JOHENGEN -JOHAR -JOH -JOERN -JODWAY -JOBS -JOANETTE -JIRIK -JIRASEK -JIPSON -JINKERSON -JINKENS -JIMINIAN -JIMENO -JIAU -JEVNIKAR -JESSEL -JERAULD -JEPHSON -JENTZEN -JENKERSON -JENISTA -JENIFER -JEMMETT -JELOVICH -JEHLICKA -JEFFRIS -JEDZINIAK -JEANTET -JEANCLAUDE -JAYME -JAVOR -JAVAUX -JAURIGUE -JAUREGUY -JARVINEN -JAROCKI -JAPP -JANSZEN -JANSONS -JANS -JANKAUSKAS -JANKA -JANHUNEN -JANECZEK -JANDRIN -JANCZEWSKI -JANACK -JAMIR -JAKUBOSKI -JAKUBIK -JAKUBEK -JAHNEL -JAGEMAN -JAENICKE -JACQUEM -JACQUAY -JACONSKI -JACOBELLIS -JABLON -IYO -IVANCEVIC -IURATO -IULIANETTI -ITRI -ISSLER -ISLA -ISIP -ISHMON -ISHIZU -ISGRIGG -ISERI -ISELI -ISELEY -ISBRECHT -ISASSI -ISAIAH -IRSIK -IRIAS -INZANA -INTVELD -INTRIERI -INTERDONATO -INSTASI -INSCHO -INGWELL -INGEBRETSEN -INGA -INDA -INCLE -INABINETT -IMUS -IMMORDINO -IMBESI -IMBACH -ILLSLEY -ILLIG -ILL -IGNOWSKI -IDLER -IDLEBURG -IDEUE -IBARA -IANUZZI -IANNIELLO -IACOVONE -HYTER -HYLES -HYLE -HYKES -HYAMS -HUXLEY -HUTCH -HUSTEAD -HUSCHER -HURTZ -HURSE -HURREN -HURET -HUOTARI -HUNTRESS -HUNTING -HUNSTIGER -HUNKING -HUMPRIES -HUMBLES -HUM -HULVEY -HULCY -HUIZINGA -HUHMAN -HUHAMMAD -HUFTY -HUESSO -HUEFTLE -HUEBSCHMAN -HUEBERT -HUE -HUDMON -HUBERMAN -HUBBARTT -HUBACH -HSUEH -HRYCENKO -HRABAL -HOXIT -HOWSARE -HOWMAN -HOWITT -HOWERTER -HOULTON -HOUIS -HOTTMAN -HOTOVEC -HOSTIN -HOSHALL -HOSFELD -HOSCHEK -HORWATH -HORSELY -HORSBURGH -HOROVITZ -HORNSTROM -HORNBARGER -HORKLEY -HORKA -HOREY -HORETH -HORDYK -HORACK -HOPPIN -HOPPEL -HOPFENSPERGER -HOOEY -HOOE -HONHART -HONGA -HONECK -HOMS -HOMMELL -HOMLES -HOMEN -HOME -HOLZNER -HOLZHEIMER -HOLZEM -HOLSOPPLE -HOLSMAN -HOLOWELL -HOLLIWAY -HOLIZNA -HOLESOVSKY -HOLDERBAUM -HOLBACH -HOLAN -HOIT -HOIST -HOHENBRINK -HOGER -HOFMANS -HOFHEIMER -HOFFHINES -HOFBAUER -HOESING -HOESCHEN -HOERTER -HOEPFNER -HOEMANN -HODGEMAN -HOCKERSMITH -HOCHADEL -HOBOCK -HOBEL -HLUSKA -HLAVAC -HISRICH -HIRSBRUNNER -HIRPARA -HIRE -HINNERS -HINDBAUGH -HIMENEZ -HILLES -HILLEARY -HILLANBRAND -HILLAN -HILDNER -HILDING -HILDERBRANDT -HILAND -HIGHTREE -HIGHNOTE -HIGHBERGER -HIGGASON -HIGANEDA -HIDINGER -HICKOCK -HEYMANN -HEUSINKVELD -HEUSEL -HEURING -HETTLER -HESSELTINE -HESSELINK -HESFORD -HERTH -HERSKOVITS -HERSCHELL -HEROMAN -HERNTON -HERNE -HERNANDAZ -HERMEZ -HERMANSTORFER -HERLING -HERKE -HERIMANN -HERIFORD -HERGENRADER -HERFORTH -HERDES -HERCHER -HERCEG -HERBICK -HENTZE -HENNIGER -HENNEY -HENNESS -HENNEGAN -HENKES -HENEISEN -HENDERICKSON -HENARD -HEMRICK -HEMRIC -HEMPTON -HEMP -HEMME -HEMEON -HEMBRY -HEMBROUGH -HEMBREY -HELSTAD -HELMUS -HELLINGS -HELLGREN -HELIE -HELGERT -HELGERMAN -HELGER -HELGASON -HELFINSTINE -HELFGOTT -HELFENSTEIN -HELDRETH -HELANDER -HEITZMANN -HEISSERER -HEISING -HEISEL -HEINOLD -HEINIS -HEINEMEYER -HEIMARK -HEILIGER -HEIDERMAN -HEIDENESCHER -HEIDEBRINK -HEHIR -HEGAN -HEERSINK -HEEP -HEDQUIST -HECKFORD -HEBETS -HEBERLY -HEBERLE -HEBENSTREIT -HEAVILIN -HEARTZ -HEAPHY -HEANY -HAZER -HAZELGROVE -HAYNSWORTH -HAYDOCK -HAWELU -HAVNEN -HAVELY -HAUSS -HAUSAM -HAUMESSER -HAUMAN -HAULK -HAULEY -HAUBRICK -HAUBNER -HATTMAN -HATMAN -HATHERLY -HATCHCOCK -HASTERT -HASSENPLUG -HASKO -HASER -HASELHUHN -HASBERRY -HAS -HARTHORNE -HARTHCOCK -HARRIETT -HAROUFF -HAROOTUNIAN -HARKAVY -HARELL -HARDRIDGE -HARDACRE -HARBORTH -HARAGUCHI -HAPTONSTALL -HAPPENNY -HANTMAN -HANSES -HANNEMANN -HANNAY -HANNAFIN -HANLE -HANGARTNER -HANDERSON -HANBERG -HAMZIK -HAMSTRA -HAMMANS -HAMANO -HALSEMA -HALONEN -HALIM -HALEK -HALEAMAU -HALAMA -HAKEEM -HAINLEY -HAGLEY -HAGIST -HAGIE -HAGGBERG -HAGGAN -HAGELE -HAFENSTEIN -HAFEMEISTER -HADY -HADGES -HADEF -HACKEY -HACH -HABBYSHAW -HAAGA -HAAB -GYSIN -GWIRTZ -GUZZIO -GUZZARDO -GUZMA -GUTZMANN -GUTTA -GUTERMUTH -GUTERMAN -GUTENBERGER -GURGANIOUS -GURAL -GUPPY -GUNZALEZ -GUNTERT -GUMS -GUMB -GULLOTTA -GULLIXSON -GULLING -GULLACE -GULER -GULBRANSEN -GUITIAN -GUINTA -GUINASSO -GUILBOARD -GUICHARD -GUGLIOTTA -GUGLIELMINA -GUGGENHEIM -GUGEL -GUETIERREZ -GUETHLE -GUETH -GUERRIDO -GUEITS -GUDENKAUF -GUCCIARDO -GUARNERA -GUADAGNOLO -GSELL -GSCHWEND -GRUSH -GRUPP -GRUNDMANN -GRUNAU -GRUENINGER -GRUCA -GROUPE -GROTZINGER -GROTHEER -GROSSMEYER -GROSSETETE -GROSSACK -GROMER -GROENKE -GROENING -GROEHLER -GROEBNER -GROCHMAL -GROBY -GROBES -GRITMAN -GRISWOULD -GRISSET -GRIME -GRIFFO -GRIESINGER -GREUEL -GRETH -GRESSMAN -GREMEL -GREIWE -GREIS -GREIL -GREIFE -GREIDER -GREFRATH -GREFF -GREENMYER -GREANY -GRAZIOPLENE -GRAVLIN -GRAVITO -GRAVERT -GRAV -GRATER -GRAP -GRANZIN -GRANNUM -GRANLUND -GRANDO -GRAMMES -GRAMLEY -GRAMBO -GRALA -GRAHL -GRADWOHL -GRADILLAS -GRADERT -GRACIANA -GRABNER -GRABINSKI -GRABINGER -GRABEL -GRAAF -GOUZY -GOUGER -GOTTRON -GOTTARDO -GOTHRO -GOSSO -GOSSI -GORRINGE -GORNEAULT -GORN -GORMLY -GORENFLO -GORAL -GOPEN -GOOSEY -GOODNOE -GOODIE -GOODHILE -GOODFIELD -GOODARD -GONNEVILLE -GONGALEZ -GONDOLA -GOMPF -GOMMER -GOLLEHON -GOLIE -GOLEBIEWSKI -GOLDINGER -GOLDHABER -GOLDFEDER -GOLDBAUM -GOLASZEWSKI -GOJCAJ -GOGERTY -GOETTSCHE -GOETHE -GOESSL -GODSON -GODBE -GOCHANOUR -GOCHA -GNAU -GNATEK -GLUD -GLORIUS -GLORDANO -GLOODT -GLOD -GLINKA -GLIME -GLEIM -GLEICHER -GLAZEWSKI -GLAY -GLASFORD -GLASCOTT -GLANZMAN -GLAHN -GLADISH -GJERDE -GIZINSKI -GITZEN -GIRSH -GIROTE -GIRMAN -GIOVINO -GIOVANINI -GIORGINI -GINTY -GINSKY -GINNINGS -GINGUES -GINGG -GINGER -GINER -GIMM -GILRUTH -GILLUND -GILLENWATERS -GILDAY -GILCREST -GILCHER -GILANI -GIGSTAD -GIERNOTH -GIENGER -GIDARO -GICZEWSKI -GIBAS -GIARRATANO -GIANTONIO -GIANNITTI -GIANNETTI -GIAMPAPA -GIACOPELLI -GIACONE -GIACOMELLI -GHERMAN -GHERA -GHAN -GEVORKYAN -GETTIG -GETCHMAN -GESINSKI -GERUNDO -GERSHENSON -GERRARO -GERNERT -GERMUNDSON -GERLOFF -GERGEL -GERDEMAN -GERDEL -GERALDO -GERALDES -GEORGOPOULOS -GEORGIS -GEORGEVIC -GEORGESON -GENZEL -GENUNG -GENTZLER -GENTILI -GENICH -GELZINIS -GEIKEN -GEIDNER -GEIDL -GEHRER -GEHO -GEHLBACH -GEEDING -GEDYE -GEBERTH -GEATHERS -GEARAN -GEALY -GAZZOLA -GAZELLA -GAWRYCH -GAVIDIA -GAUTAM -GAUMONT -GAUDENZI -GAUCHER -GAUBERT -GATTAS -GATLEY -GATERS -GATCHALIAN -GASSEL -GASMAN -GASLIN -GARUFI -GARRIEPY -GARRELL -GARRAND -GARNTO -GARNS -GARNO -GARLINGER -GARIVAY -GARHART -GARDINO -GARCEA -GARBIN -GARAVENTA -GARAVAGLIA -GARAHAN -GARAFANO -GARACIA -GAPEN -GANIRON -GANINO -GANIM -GANGWISH -GANGE -GANES -GANDIA -GANDEZA -GAMLIN -GAMELIN -GALWAY -GALOW -GALLOB -GALLISHAW -GALLINARO -GALLICCHIO -GALLESE -GALLERO -GALLEGAS -GALEOTO -GALEAS -GALBRETH -GALBAVY -GALAVIS -GALAM -GAJATE -GAIR -GAGNEY -GAGEL -GAGARIN -GAETE -GAETANI -GADBAW -GACK -GABRYSCH -GABARDI -FYKSEN -FUTRELLE -FURL -FURCHES -FURBECK -FUNNYE -FUNICELLO -FUMAGALLI -FULLFORD -FULGINITI -FULENWIDER -FULENA -FUGLER -FUERSTENBERGE -FUENTAS -FUCILLO -FUAPAU -FRYBERGER -FRUSCIANTE -FRUEHLING -FROMBERG -FROESCHLE -FROCK -FRITZGERALD -FRITCHER -FRISBEY -FRIHART -FRIELING -FRIEDLER -FRIE -FRIDELL -FREUDEN -FREUD -FRETT -FREND -FREILING -FREIJE -FREIE -FREIDMAN -FREIBERT -FREGOZO -FREEHLING -FREDO -FREDLUND -FREDLEY -FREDE -FREBERG -FRAYRE -FRAUNFELTER -FRASCELLA -FRANSSEN -FRANKOWSKI -FRANCOUR -FRANCOM -FRANCILLON -FRANCEY -FRAIOLI -FRACASSA -FOSTERVOLD -FOSSEY -FOSHAY -FOSCUE -FORSELL -FORRISTER -FORREN -FORNICOLA -FORNES -FORGIE -FORBS -FOPPE -FOORE -FONTECCHIO -FONGEALLAZ -FOLLICK -FOLIO -FODER -FLYZIK -FLUHMAN -FLUET -FLOW -FLOTO -FLOROS -FLORIANO -FLOREN -FLORAN -FLOERKE -FLITCROFT -FLIPP -FLINTROY -FLESCHNER -FLENNER -FLEETING -FLAMIO -FLAGGS -FLAGGE -FJESETH -FITHEN -FISSELL -FISCHMAN -FIRE -FIORANELLI -FINSETH -FINOCCHIARO -FINERTY -FINEMAN -FINCHMAN -FILYAW -FILIPOVICH -FILAS -FIGLER -FIGGE -FIERS -FIERECK -FIDELL -FICORILLI -FICO -FICKS -FICKLE -FIALKOWSKI -FEYEN -FETZ -FETSKO -FERULLO -FERTITTA -FERRIMAN -FERREBEE -FERRAND -FERRALES -FERNELIUS -FERNBERG -FERIOLI -FERGOSON -FERENC -FEREIRA -FEQUIERE -FENNEMA -FENELUS -FENELON -FENEIS -FEMRITE -FELTENBERGER -FELSENTHAL -FELS -FELMET -FELGENHAUER -FELARCA -FEITEIRA -FEIRER -FEINEN -FEIGENBAUM -FEHLINGER -FEDERLE -FECKO -FEAVEL -FEATHERINGHAM -FAYER -FAXON -FAURRIETA -FAULL -FATONE -FATIGATE -FASY -FASULA -FASSIO -FASS -FARWICK -FARRILL -FARQUER -FARMWALD -FANTOZZI -FANOELE -FANNELL -FANIZZA -FANDRICH -FALLO -FALLAGO -FAIST -FAINES -FAINE -FAHRENDORFF -FAGGARD -FAESSLER -FADALE -FABRIZI -EYCHANER -EXON -EXILUS -EWIG -EVITTS -EVINGER -EVERHEART -EVERHARDT -EVELETH -EVELEIGH -EURBIN -ESWORTHY -ESTUS -ESTOCK -ESTERBROOK -ESSLER -ESQUE -ESPINA -ESPALIN -ESCHENBURG -ESCHBERGER -ESBENSHADE -ERTLEY -ERSTAD -ERP -EROMAN -ERNO -ERMATINGER -ERKKILA -ERKELA -ERIQUEZ -ERIN -ERICKS -ERDAHL -ERCOLANI -EQUILS -EPPINETTE -EON -ENTER -ENKE -ENGLEY -ENGLEBRECHT -ENGLEBERG -ENGLAR -ENGELSTAD -ENGELSMAN -ENGELLANT -ENCE -EMSLIE -EMPIE -EMOTO -EMONS -EMLEY -EMILE -EMBLY -EMBLER -EMANUELSON -EMAL -ELZINGA -ELWER -ELVIS -ELVINGTON -ELSHERE -ELMQUIST -ELLOUT -ELLIFRITZ -ELLERD -ELLERBUSCH -ELIZANDO -ELIZABETH -ELICK -ELIASEN -ELGERT -ELGER -ELENA -ELBERS -EKSTEIN -EKMARK -EISER -EINCK -EIMERS -EILERT -EIDINGER -EICKE -EHSAN -EHN -EGLETON -EGEL -EFFNER -EDNILAO -EDNER -EDMONS -EDMISTER -EDMISON -EDLOW -EDHOLM -EDGEMAN -EDGCOMB -EDELL -EDELBLUTE -ECLARINAL -ECKROAD -ECHAVE -EBESU -EBERWEIN -EBEID -EBE -EBBING -EASTLUND -EARY -EARPS -DZURO -DZIUBAN -DYSINGER -DYNER -DYMEK -DYLL -DYL -DYDELL -DWELLE -DWAN -DUVERNOIS -DUTSON -DUTRO -DUTCHOVER -DUSKY -DUSKEY -DUSIK -DUSHKIN -DUSHANE -DURRANI -DUROSEAU -DURNFORD -DURK -DUREPO -DURANCEAU -DUPRAT -DUPLECHIN -DUPERRY -DUNSCOMB -DUNKLEBERGER -DUNG -DUNEGAN -DUNDLOW -DUMPSON -DUMPHY -DUMPERT -DUMESNIL -DULLUM -DULDULAO -DULAR -DUKART -DUHAN -DUGDALE -DUGAT -DUFFNEY -DUESING -DUENOW -DUCE -DUBSON -DRZEWICKI -DRUETTA -DRUBE -DROZDENKO -DROP -DROHAN -DRIVERS -DRINSKI -DRIEVER -DREWER -DRESSEN -DREHMER -DRAWE -DRAPKIN -DRANEY -DRAHOTA -DOWERS -DOWDALL -DOVENBARGER -DOUSAY -DOUIN -DOUGHAN -DOUCETT -DOUCE -DORSHIMER -DORSAINT -DORRIES -DOROSKY -DORL -DORICH -DORENFELD -DORCELUS -DOOL -DONOSO -DONNICK -DONNELY -DONART -DONALDS -DONAGHEY -DONAGHE -DOMINGES -DOMEBO -DOLLINGS -DOLEJSI -DOGGETTE -DOELL -DOCKWILLER -DOCKAL -DOBOSH -DOBIS -DOBIESZ -DLUHY -DIXONS -DIVIN -DIVENTURA -DIVENERE -DIVELBISS -DITTRICK -DITOMMASO -DIROSA -DIRCKS -DIOGO -DIODONET -DINNING -DININNO -DIMODICA -DIMITROFF -DIMINNO -DIMASSIMO -DILLIE -DILAN -DIGSBY -DIGRANDE -DIGMANN -DIGIROLOMO -DIGIAN -DIGIACINTO -DIETZEN -DIETLIN -DIETERT -DIERSEN -DIENST -DIEFFENBACH -DICORCIA -DICKHAUT -DIBERARDINO -DIAB -DHEIN -DHAR -DHAMER -DEZAN -DEZ -DEWISPELAERE -DEWHIRST -DEVONISH -DEVINCENZO -DEVILLEZ -DEVANY -DEVALCOURT -DEUBLER -DETTORI -DETONE -DETOMMASO -DETOMA -DESUE -DESTREE -DESTEPHEN -DESSO -DESSELLE -DESIMONI -DESADIER -DERHAM -DERFLER -DERCOLE -DERASMO -DEPUGH -DEPORTER -DEPOLITO -DEPA -DENINNO -DENI -DENENBERG -DENARO -DENARDIS -DEMRY -DEMRO -DEMMEL -DEMME -DEMIEL -DEMERITTE -DEMARZIO -DEMALINE -DEMAINE -DELUCO -DELTON -DELSORDO -DELOSA -DELONGIS -DELOIS -DELOFF -DELMURO -DELMORO -DELMONACO -DELMAGE -DELLEN -DELLARIPA -DELLAMORE -DELHIERRO -DELFUENTE -DELEPPO -DELEMOS -DELEA -DELCARMEN -DELAURA -DELANUEZ -DELANG -DELAMARTER -DELAMARE -DELAGE -DELACUESTA -DEKORTE -DEKENIPP -DEKANY -DEINHARDT -DEILY -DEIERLEIN -DEGRAVELLE -DEGLOW -DEGLER -DEGIULIO -DEFOORE -DEFONCE -DEFLORIO -DEFIORE -DEFILIPPI -DEED -DEDEKE -DEDECKER -DEDAJ -DECOST -DECILLIS -DECHELLIS -DECHAINE -DECARR -DECAPRIO -DEBUTIACO -DEBSKI -DEBRY -DEBRUHL -DEBOUSE -DEBLASE -DEBEY -DEBENEDETTI -DEBACKER -DEANG -DEANDRADE -DEADMOND -DEACY -DAYKIN -DAYHUFF -DAYAL -DAVION -DAVIDSEN -DAUTREMONT -DAUGHRITY -DAUBS -DATWYLER -DATKO -DASMANN -DARUSZKA -DARUGAR -DARROCH -DARO -DARKIS -DARICEK -DARAS -DAR -DAPOZ -DAPINTO -DANUSER -DANOFF -DANKMEYER -DANESI -DANESH -DANEKER -DAMMEN -DAMIEN -DAMBERGER -DALMORO -DALLMIER -DALLER -DALKA -DALIVA -DAHLINE -DAHLHAUSER -DAGUERRE -DAGRELLA -DAGRACA -DAGESSE -DAGE -DAEHN -DADO -DABBRACCIO -DABATO -CZOLBA -CZEPIEL -CZELUSNIAK -CZECHOWSKI -CZARNY -CZAR -CZAPSKI -CYWINSKI -CYRAN -CYPRET -CWIEK -CUZZORT -CUZZI -CUTTY -CUTRONE -CUTHRELL -CUTHILL -CUTBIRTH -CUSTEAU -CUSHINGBERRY -CURVEY -CURSON -CURRELL -CURLY -CURLL -CURDY -CURCURU -CUPSTID -CUOCO -CULVERSON -CULNANE -CULLIVER -CULLIVAN -CULLETON -CUDDEBACK -CUCKLER -CUBILLO -CUBIAS -CUA -CRYAR -CRUTSINGER -CRUSAN -CRUPE -CRUMMIE -CRUICE -CRUEA -CROWTHERS -CROWERS -CROWDIS -CROVO -CROSON -CROSNO -CROSDALE -CRONWELL -CRONON -CROCETTI -CRNICH -CRISTAL -CRISSON -CRISMOND -CRIGHTON -CRIDLAND -CRICKARD -CRETEN -CRETELLA -CRESPINO -CREMINS -CREMERS -CREEHAN -CREECY -CREDELL -CRANNEY -CRANKER -CRAKER -CRAFFEY -COZZY -COYAZO -COXUM -COWDIN -COVINO -COVEN -COURTENAY -COURSE -COURIER -COURCHENE -COUP -COULEY -COUCHENOUR -COTUGNO -COTTONGIM -COTTI -COTILLO -COSTINE -COSTAIN -COSMO -COSLAN -COSE -CORYEA -CORTWRIGHT -CORSORO -CORRENTE -CORREL -CORNFORD -CORNELUIS -CORNELIOUS -CORNEAU -CORNE -CORKINS -CORIPPO -CORGIAT -COREIL -CORDWELL -CORDOVANO -CORDILL -CORDANO -CORAZZA -CORAN -COPPESS -COONRAD -COONFARE -COOMBER -COOKSLEY -COOKIS -COODEY -CONTRINO -CONTEE -CONSORTI -CONSOLE -CONORICH -CONOLE -CONNOLY -CONNLEY -CONNINGTON -CONNIE -CONNESS -CONLY -CONKRIGHT -CONER -CONCHAS -COMRIE -COMPSTON -COMPAGNO -COMNICK -COMMISKEY -COMMER -COMISO -COMISH -COMDEN -COLONDRES -COLLICA -COLLEEN -COLLE -COLLAER -COLINGER -COLFORD -COLAO -COLANERO -COHENS -COFRESI -COERVER -COCKRIEL -COCKRAN -COCKERELL -COBHAM -COBERT -COBERN -COBELL -CLUNIE -CLUBS -CLUBBS -CLOUTMAN -CLISE -CLIPPINGER -CLERKLEY -CLER -CLEMMENS -CLEMEN -CLEARE -CLEAMONS -CLAYCAMP -CLAWGES -CLAVERIE -CLARKSTON -CLARITY -CLANTZ -CLAKLEY -CLAIN -CIZEK -CIUFFREDA -CITRONE -CIRACO -CINOTTO -CINI -CINADR -CILENTO -CILANO -CIHON -CIGANEK -CIESLINSKI -CICORIA -CICCO -CIBULA -CIARROCCHI -CIAK -CIAFARDONI -CHUBBS -CHRZAN -CHRISTOPHEL -CHRISTOPH -CHRISTOFOROU -CHRISTEL -CHRISTAN -CHREENE -CHRABASZCZ -CHRABASZ -CHOWHAN -CHOULES -CHORNEY -CHORLEY -CHOLICO -CHOLEWINSKI -CHOLAKYAN -CHOJNOWSKI -CHLEBEK -CHITTAM -CHISZAR -CHISAM -CHIRAFISI -CHIPREAN -CHINETTI -CHIMES -CHIERA -CHICON -CHIARELLI -CHIARAVALLE -CHIAPPETTA -CHESNER -CHESER -CHESBROUGH -CHERUBINO -CHERRETTE -CHERPAK -CHELF -CHEESEBROUGH -CHEENEY -CHEELY -CHEAN -CHEAK -CHAVANA -CHAUVETTE -CHATT -CHASSER -CHASKEY -CHARRIEZ -CHAPPIE -CHAPPELEAR -CHAPPARO -CHAPEK -CHANOINE -CHANDLEY -CHALLENGER -CHALLBERG -CHALLACOMBE -CHALEUN -CHAINEY -CHAFFEY -CETTA -CERZA -CERVENAK -CERTOSIMO -CERRUTI -CERQUEIRA -CERNOHOUS -CERECERES -CEOVANTES -CEO -CENTRICH -CENTORE -CELLUCCI -CEGLINSKI -CECONI -CECILIO -CECCHINATO -CECCHI -CAZORLA -CAYNE -CAYABYAB -CAVILL -CAVICCHIA -CAVEZ -CAVENER -CAVASOS -CAVANESS -CAVALCANTE -CAULK -CAUDEL -CATTANO -CATRETT -CATLOW -CATELLA -CATAQUET -CATALINO -CATALINE -CATALANOTTO -CATALANATTO -CATA -CASTENANOS -CASTELO -CASSIDAY -CASPARIAN -CASILLO -CASEWELL -CASARRUBIAS -CASALMAN -CASAL -CARVALNO -CARSKADON -CARRUS -CARRISON -CARRIKER -CARRAZCO -CARRATALA -CARPANINI -CAROVSKI -CAROLI -CARNE -CARMELLA -CARLIS -CARFAGNO -CARETHERS -CARELLA -CARDONIA -CARDNO -CARDA -CARCIERI -CARCANO -CARCANA -CARBONEAU -CARBON -CARAVANTES -CARATTINI -CARAMANICA -CAPRIOLA -CAPPELLUTI -CAPOSSELA -CAPONI -CAPERON -CAPER -CAPATI -CANTV -CANTORE -CANTELL -CANTATORE -CANTARELLA -CANTADORE -CANSLOR -CANONICO -CANNONIER -CANNONE -CANNAVO -CANNATELLA -CANGIANO -CAMPOLI -CAMPELLONE -CAMPEAN -CAMPANILE -CAMERA -CAMCAM -CAMBEL -CALTA -CALLSEN -CALLARMAN -CALICOTT -CALHAUN -CALEGARI -CALCO -CALCIANO -CALABRETTA -CAKE -CAIRONE -CAHELA -CAGLIOSTRO -CAFLISCH -CAFFERKY -CAETANO -CADICE -CADDLE -CADARETTE -CACKOWSKI -CACCIA -CABRENA -CABOTAJE -CABORN -CABERTO -BYSTROM -BYNDON -BUZEK -BUYSSE -BUX -BUTTRICK -BUTTARO -BUTSCHER -BUTSCH -BUTOR -BUTMAN -BUTEUX -BUTCHEE -BUT -BUSTARD -BUSTA -BUSSY -BUSSON -BUSSING -BUSSA -BUSI -BUSEMAN -BUSCHNER -BUSCAGLIA -BURTTRAM -BURTH -BURSCH -BURNSWORTH -BURLAND -BURKOWSKI -BURGLIN -BURGDORFER -BURDMAN -BURAU -BURAN -BURAKOWSKI -BUQUET -BUONOMO -BUNTYN -BUNGO -BUNCHE -BUNAL -BULT -BULLINER -BULLARO -BULKELEY -BULCAO -BULA -BUISSON -BUISSERETH -BUGNI -BUETOW -BUESGENS -BUDZISZEWSKI -BUDINICH -BUDDINGTON -BUCHTEL -BUCHLI -BUCHERT -BUCHAR -BUBEN -BRZUCHALSKI -BRUMMELL -BRULL -BRUDNICKI -BRUCZ -BRUCHMAN -BRUBACH -BROWNWOOD -BROWEN -BROWE -BROSSETT -BROSCO -BROOKSHEAR -BROOKFIELD -BRONSTAD -BRONSKY -BRONAUGH -BRON -BROHAWN -BROGNA -BRODZIK -BRODSHO -BRODOWSKI -BRODNICKI -BRODELL -BROD -BROCKNEY -BROAS -BROADRICK -BRIZ -BRITSCHGI -BRINT -BRINICH -BRINGARD -BRINDAMOUR -BRINCAT -BRIMFIELD -BRILLANT -BRILHANTE -BRIHON -BRIGNONI -BRIGHTFUL -BRIGGMAN -BRIED -BRICKLE -BRICKEL -BREZEALE -BREWEN -BREUTZMAN -BRETADO -BRESTER -BRESKO -BRENNON -BRENNAMAN -BRENISER -BRENDON -BREMS -BREISCH -BREIDENSTEIN -BRECHTEL -BREA -BRAZINGTON -BRAZEN -BRAYER -BRAWER -BRAVATA -BRAUNE -BRAUNBECK -BRAUE -BRAUCHT -BRASETH -BRANTLY -BRANTER -BRANSKI -BRANDLER -BRAMHAM -BRAHNEY -BRADAC -BRACKLEY -BRACKEY -BRACKEMYRE -BRACH -BOYARSKY -BOWLAN -BOWHALL -BOWDRE -BOVIE -BOUYEA -BOUSTEAD -BOURGEAULT -BOUNTHAPANYA -BOULTINGHOUSE -BOUILLON -BOUDRIE -BOUDINOT -BOTTGENBACH -BOTTARI -BOTOS -BOTHOF -BOTHA -BOSTEN -BOSTELMANN -BOSSLEY -BOSSICK -BOSSEN -BOSQUET -BOSCIO -BOSCHE -BOSA -BORSKI -BORSH -BOROWIK -BOROM -BORKE -BORGERDING -BORGATTI -BORDWINE -BOOSER -BOOKBINDER -BOOKARD -BOOCK -BONTE -BONOMI -BONNING -BONITO -BONILLAS -BONDURA -BOMBICH -BOLTINGHOUSE -BOLLOZOS -BOLLIGER -BOLLIE -BOLKA -BOLITHO -BOLDENOW -BOLCH -BOLAY -BOISSONEAULT -BOISJOLIE -BOISCLAIR -BOIE -BOHRMAN -BOHLEY -BOGLIOLI -BOGHOSIAN -BOGGUS -BOGGIANO -BOGDEN -BOEY -BOESENHOFER -BOERST -BOERMA -BOENISCH -BOEMIG -BOEBINGER -BODAY -BODAMER -BOCKLAGE -BOCCHINI -BOBSEINE -BOBIAN -BOBERG -BOBEK -BLYLER -BLUMENSTEIN -BLOYER -BLOTTER -BLORE -BLOMME -BLOMDAHL -BLISKE -BLINSTON -BLIEK -BLESSMAN -BLEGGI -BLEEKER -BLEDSAW -BLAUCH -BLASKOVICH -BLANKLEY -BLANKENBERG -BLANKEN -BLAKELOCK -BLAIDA -BJORGEN -BIVEN -BITZEL -BITTMAN -BITONTI -BISSEN -BISOM -BISHER -BIRMAN -BIRKY -BIRKES -BIPPUS -BINTZ -BINTNER -BINTLIFF -BINNIE -BINKS -BINKIEWICZ -BINIENDA -BINGLEY -BILOTTO -BILLHEIMER -BILLEN -BILLECK -BILLEAUDEAU -BILINSKI -BILELLO -BILD -BIHARI -BIGDA -BIEZ -BIERWIRTH -BIERLE -BIERBOWER -BIENENSTOCK -BIEMER -BIELER -BIELAK -BIDLE -BIDDLEMAN -BIDDISCOMBE -BICKNESE -BICKERTON -BICKELHAUPT -BICHSEL -BIBLES -BIBIAN -BIASE -BIANCUZZO -BIANCANIELLO -BIAMONTE -BIA -BHATNAGAR -BHARDWAJ -BHAN -BEYETT -BEWIG -BEUCHAT -BETTER -BETSILL -BETHEY -BETENBAUGH -BETANCE -BETACOURT -BESKE -BESENDORFER -BESEMER -BESCO -BERY -BERTRAN -BERTLING -BERTIE -BERNSON -BERNOSKY -BERNON -BERNINGER -BERNES -BERNECKER -BERNASCONI -BERNARDIN -BERLO -BERLIEW -BERKY -BERHE -BERHALTER -BERGSJO -BERGHOLM -BERGENER -BERGEMAN -BERAUN -BENWARD -BENUSA -BENSE -BENNAGE -BENISCHEK -BENION -BENINATO -BENGEL -BENEDEK -BENE -BENDZUS -BENDLER -BENDIT -BENDERMAN -BENBERRY -BENALLIE -BEMRICH -BELYEA -BELTRAIN -BELTER -BELLUE -BELLOCCHIO -BELLISLE -BELLIPANNI -BELLION -BELLESSA -BELLAVIA -BELAY -BEJJANI -BEISSER -BEIRIGER -BEIK -BEIEN -BEHYMER -BEHRENWALD -BEHANNA -BEED -BEECHUM -BEECHNER -BEDNARIK -BEDNAREK -BEDENBAUGH -BECWAR -BECKTON -BECKOM -BECH -BEBO -BEATIE -BEAT -BEARMAN -BEANER -BEAKLEY -BEAHAN -BEACHAMP -BAZZI -BAYMAN -BAYARDO -BAYALA -BAWCUM -BAVIER -BAUSWELL -BAURES -BAUNE -BAUMGARTER -BAULT -BAUGHEY -BAUGATZ -BAUERNFEIND -BAUERLEIN -BAU -BATUN -BATTISTONE -BATTEEN -BATKO -BATISTICH -BATER -BATCHELLER -BATARSE -BASTOW -BASSUK -BASSOLINO -BASSEL -BASON -BASILONE -BASICH -BASCLE -BASCETTA -BARTUSH -BARTRUM -BARTLET -BARTHELMES -BARTBERGER -BARTASH -BARSOUM -BARSANTI -BARROTT -BARROM -BARRINER -BARNHURST -BARNELL -BARKLE -BARKES -BARILLARO -BARGERSTOCK -BARGANIER -BAREMORE -BARDNEY -BARDA -BARBOT -BARBIE -BARAYUGA -BARAGER -BANTZ -BANDULIN -BANASIAK -BALZARINI -BALWIN -BALTON -BALSIGER -BALMOS -BALMIR -BALLESTERO -BALLEK -BALICK -BALIAN -BALESTRA -BALENSIEFEN -BALDUF -BALCKBURN -BALASA -BALAFOUTAS -BAKSI -BAKOWSKI -BAKLUND -BAKKO -BAKEY -BAKANAUSKAS -BAJ -BAIO -BAINARD -BAIMA -BAILLET -BAICH -BAHRMASEL -BAHRKE -BAHOORA -BAGSBY -BAGGER -BADENA -BADDERS -BACKFISCH -BACIK -BACHLER -BACHLEDA -BACHHUBER -BACHERT -BABIRACKI -BAATZ -AZZARITO -AZZARELLA -AZULAY -AZOTEA -AZEEM -AYOOB -AYOLA -AYLES -AYERSMAN -AYAIA -AXTHELM -AX -AWTRY -AVRETT -AVILAR -AVENI -AVELLINO -AURELIA -AUMEND -AULETTA -AUGUSTSON -AUGUSTAVE -AUGHE -AUERSWALD -AUBRECHT -ATHALONE -ATANACIO -ATAMIAN -ASTROLOGO -ASTRELLA -ASPINALL -ASMAN -ASHLIN -ASHENFELTER -ASCHENBRENER -ASCHEMAN -ASCENZO -ASANTE -ASA -ARVAYO -ARTMANN -ARTICE -ART -ARSLAN -ARROTT -ARROJO -ARRIZOLA -ARRIANO -ARRENDELL -ARPS -ARONSTEIN -ARONOW -ARONICA -ARNTZ -ARNST -ARNIO -ARNE -ARMENGOL -ARMANTROUT -ARLT -ARKADIE -ARJUNE -ARISMENDEZ -ARIMAS -ARIES -ARIEL -ARGANDONA -ARFLACK -AREOLA -ARENALES -ARDMAN -ARCIGA -ARCIBA -ARCHACKI -ARCARO -ARCANO -ARBOGUST -ARAUZ -ARANAS -AQUIL -AQUERO -APRESA -APPIAH -APPERT -APOSTAL -APODACE -APADOCA -ANTROBUS -ANTONIUK -ANTIONE -ANTINARELLI -ANTICH -ANSLOW -ANSBRO -ANNICCHIARICO -ANGLEBERGER -ANGELSON -ANGELLO -ANDRUZZI -ANDROSKY -ANDROLEWICZ -ANDRION -ANDRINGA -ANDRACKI -ANDRA -ANCELET -ANASTAS -ANAST -ANAGNOST -AMSLEY -AMSDELL -AMSBERRY -AMSBAUGH -AMORUSO -AMOA -AMICI -AMESBURY -AMBROSIA -AMBROGI -AMACK -ALVIA -ALVARO -ALVANAS -ALTROGGE -ALTOMARE -ALTMIRE -ALTENBACH -ALSHEIMER -ALQUISIRA -ALOUF -ALOISI -ALOE -ALMIRON -ALLFORD -ALLEX -ALLERY -ALLENBACH -ALLEGRUCCI -ALIG -ALICUBEN -ALFISI -ALFEREZ -ALFANDRE -ALF -ALEXION -ALEVRAS -ALESSANDRINI -ALESI -ALESCIO -ALEGRE -ALEA -ALDECOA -ALCINI -ALBRITTAIN -ALBRASHI -ALAWDI -ALA -AKSAMIT -AKIMA -AKEL -AKAHI -AJOSE -AJAYI -AIVAO -AIU -AINGE -AILSHIRE -AIDT -AICKLEN -AHUJA -AHR -AHOLT -AGLE -AGAMAO -AFFELD -AESCHBACHER -AELING -ADRIANCE -ADKIN -ADHAMI -ADEYEMO -ADES -ADELGREN -ADDICKS -ADAMITIS -ADA -ACOR -ACIMOVIC -ACCOMANDO -ACCOLA -ACAMPORA -ABUAITA -ABSHEAR -ABRANTES -ABRAMOVICH -ABRACHINSKY -ABILAY -ABELLERA -ABELES -ABDULA -ABDON -ABBED -ABATI -ABASCAL -AAVANG -AADLAND -ZYLKA -ZWOLAK -ZWINGMAN -ZWERSCHKE -ZWACK -ZURIN -ZUPP -ZUMBRUNNEN -ZUKOSKI -ZUKOR -ZUKAS -ZUANICH -ZOUMIS -ZOULEK -ZOU -ZORRA -ZORICH -ZOMORODI -ZOLTY -ZOLONDEK -ZOLNOSKE -ZOLDESY -ZOLDAK -ZOCKLEIN -ZLOTNIK -ZIRALDO -ZIPF -ZINSLI -ZINIEWICZ -ZINDELL -ZIN -ZIMMEREBNER -ZIMMEL -ZIMM -ZILLS -ZILLA -ZILKA -ZIETZ -ZIETLOW -ZIEMSKI -ZIELESCH -ZIELER -ZIEGLEN -ZIEGENBEIN -ZIEGELBAUER -ZIEGEL -ZIECH -ZICKER -ZICHERMAN -ZICH -ZICCARDI -ZGODA -ZESCHKE -ZERKO -ZERHUSEN -ZEPKA -ZENTS -ZENI -ZEME -ZEMATIS -ZEMA -ZELLA -ZELKIN -ZELENSKI -ZEILINGER -ZEIDAN -ZEGARELLI -ZEANAH -ZDON -ZBIKOWSKI -ZAZULA -ZAVESKY -ZAVASKY -ZARUBA -ZARRINEH -ZARRILLO -ZARRALUQUI -ZARLING -ZARING -ZARETSKY -ZAREBSKI -ZANINI -ZANIN -ZANGL -ZANER -ZAND -ZAMPIERI -ZALTZ -ZALOUDEK -ZALL -ZALK -ZALAR -ZAKOWSKI -ZAJC -ZAHRAN -ZAHNEN -ZAGROBA -ZAGEL -ZAGARA -ZAGAMI -ZAFFUTO -ZACHMANN -ZACHARIADES -ZACCAGNINO -ZACCAGNINI -ZABORSKI -ZABLOUDIL -ZABARKES -YVON -YUSEF -YURICIC -YUILL -YUENGER -YUASA -YSBRAND -YOURSHAW -YOUNKERS -YOUNGDAHL -YOUNGBLUT -YOUKERS -YOUKANAA -YORKEY -YONEYAMA -YONAMINE -YOECKEL -YODIS -YOCIUS -YOCHAM -YOBST -YEUBANKS -YETTO -YERIGAN -YERBIC -YENTSCH -YENNARD -YEMCHUK -YAX -YAUN -YASUREK -YASUI -YASKIEWICZ -YANTZER -YANTZ -YANOSKY -YANEK -YANDLE -YANCE -YANAGI -YAMBAO -YAMAKAWA -YAGODA -YAEKEL -YACKEREN -YACAVONE -YACANO -XIMINES -XAIMOUNGKHOUN -WYSOCK -WYONT -WYNOTT -WYNANS -WYLDE -WYETT -WYDNER -WURZBACHER -WULFING -WRUCK -WROE -WROBLISKI -WROBBEL -WRIGHTS -WRASPIR -WRAPE -WOYTOWICZ -WOY -WORTHAN -WORSTEL -WORSFOLD -WORREL -WORBINGTON -WOOLS -WOOLLEN -WOOLEMS -WOODMANCY -WOODHULL -WOODGATE -WOODFIELD -WOODCOX -WOOCK -WONSIK -WOLVEN -WOLSLEGEL -WOLNY -WOLMA -WOLLYUNG -WOLLIN -WOLLEY -WOLLAN -WOLKOW -WOLKE -WOLEVER -WOLESLAGLE -WOLANSKY -WOJNICKI -WOHNER -WOHLFAHRT -WOHLER -WLOCH -WITTLIN -WITTKOPP -WITTENBORN -WITTELS -WITHIAM -WITHFIELD -WISZ -WISSEL -WISSEH -WISLOCKI -WISCOMBE -WISCHMEYER -WISCHMAN -WIREBAUGH -WINZELBERG -WINTERSTEIN -WINTERSMITH -WINTERROTH -WINRICH -WINOGRAD -WINLOCK -WINLEY -WINKLEY -WINGS -WINFRED -WINEBAUGH -WINDOVER -WINDLY -WINARSKI -WIMBS -WIMBER -WILTGEN -WILLMSCHEN -WILLIVER -WILLINGHURST -WILLIAMSTON -WILLENBROCK -WILLARS -WILLAMSON -WILEMAN -WILECZEK -WILDENBERG -WILDEMAN -WILCUTT -WILCH -WILBY -WILBERS -WIKSTROM -WIGMAN -WIGLE -WIGELSWORTH -WIETZEL -WIESNESKI -WIENERT -WIENECKE -WIENANDT -WIELOCH -WIELGOSZ -WIEDMANN -WIECKOWSKI -WIECE -WIEAND -WIDMAR -WIDHALM -WIDGEON -WIDERSKI -WIDDOWS -WIDDOP -WIDDISON -WIDBY -WIDA -WHYNE -WHYEL -WHYBREW -WHITTMAN -WHITTALL -WHITLER -WHITINGER -WHITEWATER -WHITESCARVER -WHITEMARSH -WHITECLOUD -WHIT -WHISTLEHUNT -WHINNERY -WHILLOCK -WHILE -WHILBY -WHELDON -WHEATCROFT -WHAPHAM -WHAITE -WETTLAUFER -WETTERER -WETTACH -WETSEL -WETHERN -WESTRUM -WESTLIE -WESTGAARD -WESTERHOF -WESTERFELD -WESTAD -WESLY -WESBERRY -WERRING -WERRE -WERNZ -WERMTER -WERKMEISTER -WERBELOW -WENTZLAFF -WENIGER -WENGREEN -WENDOLSKI -WENDELBERGER -WEMPA -WELTZIN -WELTI -WELTCH -WELLNITZ -WELLENSTEIN -WEKENMANN -WEITZE -WEITMAN -WEISHOLZ -WEISHAR -WEISBAUM -WEINRAUB -WEINBAUER -WEINBACH -WEIDIG -WEIDERHOLD -WEHRWEIN -WEHRS -WEHRLY -WEHNES -WEHN -WEGGE -WEERTS -WEEMHOFF -WEEKEY -WEDMAN -WEDER -WECKMAN -WECKHORST -WEAKLEND -WAUTERS -WAUER -WAUD -WATTENBERG -WATTE -WATLING -WASZKIEWICZ -WASMUS -WASILKO -WASHOR -WARTCHOW -WARSHAUER -WARSHAM -WARRENDER -WARNSTAFF -WARMUTH -WARMINGTON -WARDRUP -WARDHAUGH -WARDALL -WARCHAL -WARBOYS -WANTY -WANOUS -WANLASS -WANGSTAD -WANEKA -WANDLESS -WANDEL -WANDA -WAMSER -WAMHOFF -WALVATNE -WALTEMEYER -WALSINGHAM -WALLJASPER -WALLET -WALLERICH -WALKLING -WALKERS -WALEZAK -WALDROFF -WALDHOFF -WALDALL -WALBRIGHT -WALAT -WAKITA -WAKA -WAISNER -WAIKI -WAIDEN -WAGLE -WAGENBLAST -WADUSKY -WADDEN -WACLAWSKI -WACKENHUT -WACKENHEIM -WACHAL -WAANANEN -WAACK -VY -VUKCEVIC -VREUGDENHIL -VREEMAN -VRAZEL -VRANES -VRANEK -VOYTEK -VOVES -VORMELKER -VORACHEK -VONTUNGELN -VONNIEDERHAUS -VONNER -VONHAGEN -VONDRAK -VONDIELINGEN -VONASEK -VONALLMEN -VOLTAIRE -VOLLUCCI -VOLLICK -VOLLENWEIDER -VOLANTE -VOITIER -VOGTS -VOCU -VOCI -VOCCIA -VLIET -VLIEM -VIZARRO -VIZARD -VITTORINI -VITRO -VITOLAS -VITITOE -VITEO -VISNIC -VISHER -VISEL -VISCIA -VISCERA -VIS -VIRRUETA -VIROLA -VIREN -VINZ -VINKE -VINGER -VIND -VINAGRE -VILTZ -VILLWOCK -VILLIFANA -VILLIARD -VILLETAS -VILLASANA -VILLARIN -VILLANTE -VILLACANA -VILE -VILCHECK -VILARDI -VIGUERAS -VIGOREN -VIGNOVICH -VIGNAUX -VIGNARATH -VIGIER -VIEWEG -VIETTI -VIETOR -VIEGAS -VIEBROCK -VIDALS -VICTORIN -VICSIK -VICIC -VICENS -VIAPIANO -VETSCH -VETRI -VERTIZ -VERSLUIS -VERRILLI -VERRELLI -VERRECCHIA -VERNI -VERNETTI -VERMEER -VERLING -VERLATO -VERKLER -VERKAMP -VERGHESE -VERDUCCI -VERANT -VENZEIO -VENTURELLA -VENTRESS -VENTON -VENHORST -VENERABLE -VENEMAN -VEN -VELVERTON -VELUNZA -VELMONTES -VELLUTINI -VELLEKAMP -VELETA -VELDKAMP -VELAZQUES -VEINO -VEIGEL -VEENEMAN -VAVRO -VAUTERS -VATTES -VASZILY -VASTAKIS -VASILOFF -VASILAUSKAS -VASCONCELOS -VARS -VAROS -VARNON -VARKEY -VARES -VARENHORST -VARDY -VARCOE -VANWYE -VANWOERT -VANWIEREN -VANVICKLE -VANTREESE -VANSYCKLE -VANSTRANDER -VANSTEENBURG -VANSTEE -VANSLANDER -VANPROOSDY -VANPOUCKE -VANPOPPELEN -VANPATTON -VANOSDEL -VANNELLI -VANMIDDLESWOR -VANLOH -VANLITH -VANKOTEN -VANISOUVONG -VANHOLLAND -VANHEKKEN -VANHARLINGEN -VANHANDEL -VANGEMERT -VANEYCK -VANERT -VANEPS -VANEGDOM -VANDESTEENE -VANDERSCHAEGE -VANDERKAM -VANDERHEIDEN -VANDERGRIEND -VANDERARK -VANDEPUTTE -VANDENBERGH -VANDEGRAAFF -VANDEBOGART -VANDAMME -VANDALSEN -VANDAGRIFF -VANCLIEF -VANBOVEN -VANBECELAERE -VANARTSDALEN -VANALLER -VANAKIN -VANABEL -VALRIE -VALREY -VALOTTA -VALLANGEON -VALLADOLID -VALAITIS -VALA -VAIR -VAIDYA -VAID -VAGT -VAGLE -UYENO -USON -US -URWIN -URTADO -URSINO -URRY -URQUIZA -URPS -URMENETA -URLAUB -URIBAZO -URHAHN -URE -URCH -URBANIC -URATA -URANKAR -UR -UPPINGHOUSE -UNTHANK -UNLAND -UNIKEL -UNGVARSKY -UNGERLEIDER -UNGERECHT -UNDERKOFFLER -UMLAUF -UMBDENSTOCK -ULRICK -ULIANO -ULDRICH -ULCH -ULBERG -UKNOWN -UKENA -UK -UHRI -UHDE -UDLEY -UBOLDI -TZEREMES -TYSOR -TYRUS -TYROL -TYL -TYKSINSKI -TYCER -TYBERG -TWITT -TWEDEN -TUY -TUTON -TUTER -TUSTISON -TUSCHHOFF -TURSO -TURRIGIANO -TUROWSKI -TURNBO -TURNBALL -TURLICH -TURLI -TURLA -TURKIN -TURKE -TURI -TUONG -TULK -TULIP -TUGMAN -TUGGLES -TUFANO -TUCKNOTT -TUCCILLO -TUBESZEWSKI -TUASON -TSUZUKI -TSUNODA -TSCHANNEN -TRYTTEN -TRYBALA -TRUSKOWSKI -TRUEBA -TRUEAX -TRUDEN -TRUCCHI -TROTTI -TRONGONE -TROMBLE -TROMBLAY -TROKEY -TROIANI -TROGLIN -TRODDEN -TROCCOLI -TRITZ -TRITCH -TRISCHITTA -TRISCH -TRIPPET -TRIPLETTE -TRINCA -TRIMMELL -TRILLING -TRIEGER -TREWORGY -TREVORROW -TREVILLION -TREVIGNE -TREVETT -TRETTER -TRESTON -TREPAGNIER -TRENTINELLA -TRENKLE -TRENH -TRENBEATH -TREMELLING -TREIDER -TREIB -TREFTZ -TREDENNICK -TRECROCI -TREBIL -TRAVES -TRAVERSA -TRATAR -TRASTER -TRASPORT -TRANK -TRAMPE -TRAMMER -TRAME -TRACHTE -TOYOSHIMA -TOWLEY -TOVIAS -TOUVELL -TOUT -TOUSSANT -TOURIKIS -TOTEN -TOSTEN -TOSIC -TOSCHES -TORTORIELLO -TORTORICE -TORSTRICK -TORSET -TORRIJOS -TORRIE -TORRESS -TORRED -TORRA -TORMA -TORKILDSEN -TOPPI -TOPOREK -TOPOLOSKY -TOPICK -TOPEZ -TOPER -TONCREY -TOMPSETT -TOMPKIN -TOMORY -TOMMOLINO -TOMJACK -TOMBS -TOMBRELLO -TOMASZYCKI -TOMASKI -TOLZMANN -TOLSTON -TOLOSKY -TOLDNESS -TOKUOKA -TOKIHIRO -TOKAY -TOK -TOJO -TOINTON -TOHILL -TOGNI -TOGNAZZINI -TODESCHI -TOBOLA -TOBECK -TOALA -TOADVINE -TLLO -TKACZ -TITCHENER -TITCH -TISSOT -TISO -TIRRI -TIPKA -TINTLE -TINNEBERG -TINIUS -TINELLI -TIN -TIMMRECK -TIMMERBERG -TIMINSKY -TIMI -TIMCHAK -TILLBERRY -TILGNER -TIFF -TIESZEN -TIEMEYER -TIEMENS -TIELL -TIEHEN -TIDEY -TICK -TICAS -TIBONI -TIBERIO -TIBBERT -THYNE -THURTON -THURAU -THUNE -THRUNE -THREETS -THORNGREN -THORNBRUGH -THORIN -THONGDY -THOMMARSON -THOENE -THOBEN -THOAMS -THIXTON -THISTLETHWAIT -THINGVOLD -THIESFELD -THIERAUF -THIELBAR -THIEBEAULT -THIARA -THEWS -THEOPHILUS -THEODORATOS -THENHAUS -THEAM -THAY -THALMANN -THAKE -THADY -TEVLIN -TEVEBAUGH -TESTEN -TESSENEER -TERVORT -TERRI -TERREY -TERRES -TERRASAS -TERNEY -TERMEER -TERLECKI -TERHEGGEN -TERHARK -TERHAR -TEREPKA -TERAULT -TERANDO -TEPPO -TEPLER -TEPER -TENT -TENPAS -TENNILL -TENNETT -TENLEY -TEMPLER -TEMPE -TEMP -TELTSCHIK -TELSCHOW -TELLE -TEKIPPE -TEITSORT -TEITENBERG -TEI -TEGARDEN -TEFFETELLER -TEFERA -TEESDALE -TEEMER -TEEKASINGH -TEDDICK -TEBAY -TEBAR -TEATS -TEANO -TEAGUES -TEACHMAN -TEABO -TCHAKIAN -TAZZARA -TAYOR -TAVORN -TAVIRA -TAVERNA -TAVE -TAUTUIAKI -TATTERS -TATEVOSIAN -TASSEY -TASCHEREAU -TARZIA -TARRING -TARRIEN -TARRAS -TARKENTON -TARIQ -TARDIO -TARASCIO -TARA -TAPPEINER -TANNEN -TANKERSLY -TANIOUS -TANGREN -TANGREDI -TANGERT -TAMULIS -TAMBURRINO -TAMBASCO -TAMARGO -TAMANAHA -TALLUTO -TAKI -TAKESHITA -TAKEMURA -TAKAOKA -TAJIRI -TAINTOR -TAHU -TAGS -TAGLIERI -TAFEL -TADIELLO -TACKET -TABORDA -TABOLT -TABISOLA -TABIAN -TABACK -SZYMANSKY -SZWEJBKA -SZWEDA -SZUFAT -SZUBINSKI -SZERLONG -SZEKULA -SZCZYGIEL -SZCZEPANEK -SZALAY -SZAFRYK -SYREK -SYPHARD -SYNAN -SYMMONDS -SYDNER -SWIRSKY -SWIRES -SWIETONIOWSKI -SWICKHEIMER -SWETS -SWETLAND -SWENK -SWEETIN -SWAVELY -SWATT -SWATSWORTH -SWATSKI -SWARTZMILLER -SWARTZBECK -SWARTZBAUGH -SWANSEN -SWALLEY -SWAISGOOD -SWAILS -SWAGGERT -SVRCEK -SVINTH -SVETZ -SVETLIK -SUTULOVICH -SUTTELL -SUSSWEIN -SUSSEX -SUSOR -SUSOEV -SUSICH -SUSANA -SURWILLO -SURAN -SUNN -SUNKEL -SUNDLING -SUNDHOLM -SUMSION -SUMP -SUMMAR -SUMLAR -SUMINSKI -SUMI -SUMAS -SULZMAN -SULTANA -SULLINGER -SULESKI -SULCER -SUL -SUKEFORTH -SUING -SUGLIA -SUGIKI -SUGGETT -SUELTENFUSS -SUDERS -SUDAR -SUCHECKI -SUCHARZEWSKI -SUCHANEK -SUBLER -SUBEN -SUBASIC -STYBORSKI -STVIL -STUMME -STULICK -STUDYVIN -STUBSON -STUBLE -STUBITS -STUBENRAUCH -STRYSKO -STRUGGS -STRUDWICK -STROWD -STROUB -STROTH -STROPKO -STROINSKI -STRNAD -STRITZKE -STRITZINGER -STRITTMATER -STRIEKER -STRICKERT -STRENGTH -STREMLOW -STREMEL -STREJCEK -STREITMATTER -STREIF -STREB -STREAMS -STRAWS -STRAUSBERG -STRATHY -STRATHMAN -STRATER -STRASESKIE -STRAPP -STRANGER -STRANDE -STRAMIELLO -STRAKBEIN -STRACHN -STOYER -STOYANOFF -STOWMAN -STOWBRIDGE -STOVE -STOUTT -STOUTENBURG -STOUER -STOUDER -STORE -STOPPKOTTE -STOPA -STOLTS -STOLINSKI -STOLECKI -STOLE -STOJANOVIC -STOFSKY -STOFFREGEN -STOFFELS -STOFFA -STOESZ -STODOLSKI -STOCKETT -STITTSWORTH -STIPEK -STINETT -STILLION -STILLINGER -STIEL -STIEHL -STIEGLER -STIEG -STICKROD -STICHT -STIBBINS -STEVENER -STEUDEMAN -STETZEL -STERR -STERNAL -STERBACK -STEPHCO -STENMAN -STEMMERMAN -STEMME -STEMARIE -STELTING -STELLINGS -STEIR -STEINLICHT -STEINIGER -STEINBRENNER -STEIDINGER -STEHNEY -STEHLY -STEFKA -STEFFEL -STEFANOVICH -STEENO -STEENECK -STEENBURGH -STECKLINE -STECKELBERG -STAZENSKI -STAVIS -STAUM -STAUFFACHER -STAUDER -STAUDE -STATZER -STASINOS -STARWALT -STARRS -STARNAULD -STAREK -STAPLEFORD -STAPF -STAPELS -STANSIFER -STANOJEVIC -STANICK -STANDRING -STANDREW -STANDKE -STANDFORD -STANCLE -STANCIEL -STAMNOS -STAMISON -STALLONS -STALLION -STALLBAUMER -STAILEY -STAIE -STAIANO -STAHNKE -STAHLE -STAGEMAN -STACKEN -STACHECKI -STABLEFORD -STABB -SRAMEK -SQUINES -SPURZEM -SPROCK -SPRINGATE -SPRENG -SPRATTE -SPRANG -SPRAKE -SPOTWOOD -SPLAIN -SPIWAK -SPITZNOGLE -SPIRITO -SPIREK -SPINGOLA -SPINCIC -SPILLETT -SPIKA -SPIGELMAN -SPIELMANN -SPETTER -SPERL -SPENARD -SPEILMAN -SPEIGEL -SPEICE -SPEACH -SPAUGH -SPATAFORE -SPATAFORA -SPAR -SPANSKI -SPANNAUS -SPANISH -SPANFELLNER -SPALINGER -SPAGNOLIA -SPADEA -SPADAFORE -SPADACCINI -SPACHTHOLZ -SPACH -SPACEK -SOZZI -SOWELS -SOULASINH -SOUFFRONT -SOUCIER -SOTOLO -SOTEROS -SOTERO -SOTER -SOSSAMAN -SOSHNIK -SORRICK -SORON -SOROA -SORNSEN -SORGENTE -SORDAHL -SONZA -SONTHEIMER -SONSTROEM -SONOSKI -SONNENFELD -SONDERUP -SOMANI -SOMAN -SOMALSKI -SOLYMANI -SOLTON -SOLOVEICHIK -SOLMONSON -SOLLBERGER -SOLKOWITZ -SOLIMINI -SOLEMAN -SOLDERS -SOLDAVINI -SOLANKI -SOHM -SODEK -SODE -SOCKS -SOCKALOSKY -SOCHAN -SOBILO -SOAPES -SNYDERS -SNOWMAN -SNOWDY -SNIFFIN -SNETTING -SNELLMAN -SNELLENBERGER -SNELLEN -SNELLBAKER -SNEATHEN -SNEATH -SMYRL -SMULL -SMOLKO -SMITHHEART -SMIHT -SMESTAD -SLUTER -SLUPE -SLOMKOWSKI -SLOMKA -SLOMBA -SLIZ -SLIPP -SLIM -SLIGHTAM -SLEPER -SLEDZ -SLECHTA -SLAUGHTERBECK -SLAUGHENHOUPT -SLAIGHT -SLADICK -SLADER -SKYE -SKUPSKI -SKROCH -SKRIPKO -SKRINE -SKREEN -SKRADSKI -SKORSKI -SKORNIK -SKOKOWSKI -SKOK -SKOCILICH -SKINNEN -SKILLINGTON -SKEMP -SKAY -SKATTEBO -SKAGERBERG -SIWIK -SIVIK -SITAR -SITACA -SISSION -SISSAC -SISNEY -SIRUTA -SIRMON -SIRKOCH -SIRIANO -SIRACUSE -SIPLER -SIPHO -SINKOVICH -SINKEY -SINISTORE -SINGO -SINCLAIRE -SIMUNOVICH -SIMUEL -SIMRIL -SIMPTON -SIMPLICIANO -SIMOSON -SIMONIS -SIMONCINI -SIMISTER -SIMISON -SIMENEZ -SIMCO -SIMCHECK -SILVI -SILVERI -SILVANO -SILLETTO -SILLAVAN -SILES -SILBERNAGEL -SIGWART -SIGONA -SIGNS -SIGNAIGO -SIGMOND -SIGARS -SIEMEK -SIEM -SIELOFF -SIELIGOWSKI -SIEFKE -SIEBENECK -SIEBENBERG -SIDERMAN -SIDERINE -SIDBERRY -SICILIA -SICHTA -SIBREL -SIBELL -SIBAYAN -SHYU -SHVEY -SHUTER -SHUMSKI -SHULUND -SHULTE -SHUKER -SHUGARS -SHUFFORD -SHUBRICK -SHUB -SHOULDICE -SHOTTON -SHOTKOSKI -SHOST -SHORTSLEEVE -SHORETTE -SHOPEN -SHONT -SHONERD -SHONE -SHOMIN -SHOMER -SHOLL -SHOGER -SHIRTS -SHIROTA -SHINHOLSTER -SHINDLE -SHINABERRY -SHIMURA -SHIMSKY -SHIMO -SHILLINGER -SHILLEH -SHIHADEH -SHIERLING -SHEWBRIDGE -SHEVITZ -SHEUMAKER -SHETTLE -SHERS -SHERREN -SHERN -SHERLING -SHERLE -SHERIDON -SHERDON -SHELTER -SHELMON -SHELLING -SHELKO -SHELINE -SHELHAMER -SHEKEY -SHEKARCHI -SHEINBERG -SHEHATA -SHEFFO -SHEBCHUK -SHEARING -SHEAKS -SHAZIER -SHAYNE -SHAWNEE -SHAWHAN -SHAUD -SHASTRI -SHARR -SHARLIN -SHARK -SHARITS -SHARF -SHARE -SHAPSKINSKY -SHAPE -SHANKLAND -SHAMES -SHALHOUP -SHAFTIC -SHADIACK -SHACKLE -SHABALA -SEVICK -SEVEDGE -SEURER -SETTE -SERVAN -SERVA -SERRETT -SERRAND -SERISKY -SERING -SERIE -SERIANNI -SEREDA -SEQUIN -SENTI -SENOSK -SENNO -SENNER -SENNA -SENERCHIA -SENDRO -SENCABAUGH -SEMONICK -SEMETARA -SEMBLER -SELVAGGIO -SELTZEN -SELSER -SELLEK -SELLBERG -SELKING -SELIBA -SELFE -SEKI -SEIFARTH -SEIELSTAD -SEHORN -SEHL -SEGUR -SEGRAVE -SEFCOVIC -SEETON -SEEK -SEECHARAN -SEEBERGER -SEDMAN -SEDANO -SECUNDA -SEBURG -SEBOLD -SEBASTION -SEATE -SEASHORE -SEARD -SEANG -SEANEY -SEACE -SEABERT -SCZYGIEL -SCURTI -SCULLEN -SCROGGY -SCRIPTER -SCOWDEN -SCORSONE -SCOLERI -SCOCCA -SCIRE -SCIOTTI -SCIERA -SCIBILIA -SCIABICA -SCHWISOW -SCHWIER -SCHWEINERT -SCHWEINBERG -SCHWEIKER -SCHWEIGART -SCHWEICKERT -SCHWASS -SCHWARZENBACH -SCHWARTS -SCHWARM -SCHWAMBERGER -SCHWALENBERG -SCHWABENBAUER -SCHWABAUER -SCHUTTLER -SCHUTJER -SCHURING -SCHURE -SCHUPPERT -SCHUNER -SCHULTHESS -SCHULTEIS -SCHULLE -SCHUHMACHER -SCHUERMANN -SCHUEPFER -SCHUELE -SCHROTT -SCHROPE -SCHRAUDER -SCHRANDT -SCHOUVILLER -SCHONERT -SCHONACK -SCHOLZEN -SCHOLNICK -SCHOFFSTALL -SCHOENTHAL -SCHOENSTEIN -SCHOENHUT -SCHOENHARD -SCHOENEMAN -SCHOEMER -SCHOBORG -SCHNICKE -SCHNEIDTMILLE -SCHNEIDERS -SCHMUNK -SCHMOYER -SCHMEIDER -SCHMALE -SCHLOTTMAN -SCHLITZER -SCHLIPP -SCHLINK -SCHLIESSER -SCHLIEPER -SCHLESSELMAN -SCHLENSKER -SCHLEIS -SCHLEIN -SCHLECK -SCHLABAUGH -SCHIVER -SCHIRPKE -SCHINDEL -SCHIMLER -SCHILTZ -SCHILLINGS -SCHIFFELBEIN -SCHIEBEL -SCHIAFFINO -SCHETTIG -SCHETROMPF -SCHESSLER -SCHERLER -SCHEPPE -SCHEPENS -SCHELLMAN -SCHELLHAMMER -SCHEIRMAN -SCHEIBELHUT -SCHEI -SCHECH -SCHEAFFER -SCHATTNER -SCHATT -SCHARTE -SCHAPPELL -SCHANDING -SCHANBACHER -SCHAN -SCHAMING -SCHAMBUREK -SCHAEFFLER -SCHADLE -SCHADEGG -SCHABOT -SCHABERG -SCHAADT -SCERRA -SCERCY -SCATTERGOOD -SCARSET -SCARROW -SCARRITT -SCARPACI -SCARLES -SCARCE -SCANLIN -SCALICE -SCALI -SCAHILL -SAZAMA -SAYSITHIDETH -SAYRES -SAYAVONG -SAWLIVICH -SAWCZYSZYN -SAVO -SAVINA -SAVILLA -SAVELA -SAVASTA -SAUREL -SAUPE -SAUBERAN -SATUNAS -SATTLEY -SATTERLEY -SATIAGO -SATCHEL -SASKA -SARVEY -SAROUKOS -SARNOWSKI -SARNOFF -SARLI -SARLEY -SARELAS -SARDI -SARCONI -SARBACHER -SARAGUSA -SARACENO -SAR -SAPPENFIELD -SANZOTTA -SANTY -SANTORELLA -SANTOPOLO -SANTIN -SANTIESTEBAN -SANTHUFF -SANTELL -SANSBURN -SANPAOLO -SANOCKI -SANNON -SANNELLA -SANLUCAS -SANJABI -SANGREY -SANGI -SANGHVI -SANGH -SANFIORENZO -SANDROWICZ -SANDOUAL -SANDORA -SANDLIAN -SANDI -SANDHOLM -SAMUELSEN -SAMU -SAMPEDRO -SAMORANO -SAMOK -SAMIDE -SAMBER -SAMAIN -SALTZGABER -SALTONSTALL -SALTERN -SALTE -SALONIA -SALMOND -SALLAS -SALIVA -SALER -SALEK -SALDIBAR -SALABARRIA -SAKON -SAKELARIS -SAKE -SAJORDA -SAJOR -SAHNI -SAGOES -SAGLIMBENI -SAGEHORN -SAGAYAGA -SAFDEYE -SAFA -SADLON -SADBURY -SADAHIRO -SACHE -SACAVAGE -SACARELLO -SABLES -SABEAN -SABATES -SABATASO -SAAGER -SAA -RZUCIDLO -RZESZUTKO -RYTHER -RYLANT -RYKS -RYHERD -RYHAL -RYGALSKI -RYBACKI -RVIZ -RUYS -RUUSKA -RUTTMAN -RUTTINGER -RUTS -RUTER -RUTANA -RUSTEN -RUSSNAK -RUSINKO -RUSI -RUSHITI -RUSHIA -RUSHDAN -RUSCETTI -RUSBOLDT -RUPPENTHAL -RUPKE -RUNDAHL -RUND -RUMMER -RUMMANS -RUMLER -RUMINSKI -RUMFOLA -RULL -RUISE -RUGGLE -RUESCHER -RUEGSEGGER -RUEGGER -RUDZIK -RUDNEY -RUDISAIL -RUDIS -RUDDUCK -RUCKY -RUCKDESCHEL -RUBINS -RUBENZER -ROZO -ROX -ROWZEE -ROWND -ROWEY -ROWCLIFFE -ROVINSKY -ROUP -ROTTNER -ROTHMILLER -ROTHGERY -ROTHBART -ROTENBERG -ROTANDO -ROSWICK -ROSU -ROSSUM -ROSSETTO -ROSSETER -ROSSELLI -ROSKOS -ROSKOPF -ROSENHOLM -ROSENCRANZ -ROSENBROOK -ROSELLA -ROSEBAUGH -ROSBOUGH -ROSAN -ROOFE -RONSON -RONHAAR -RONES -RONCHETTO -ROMENO -ROMBS -ROMANOSKI -ROMANINI -ROMANICK -ROLOSON -ROLLOCK -ROLLHEISER -ROLLANS -ROLD -ROLARK -ROKISKY -ROJA -ROIK -ROHALEY -ROGNSTAD -ROFKAHR -ROETHEL -ROESSNER -ROESSER -ROEHRMAN -ROEHRENBECK -ROEGGE -ROEFARO -RODY -RODRIGO -RODRICKS -RODINO -RODILLAS -RODIA -RODENBAUGH -RODELL -RODEIGUEZ -RODARTA -ROCKENBACH -ROBLEY -ROBES -ROBERTELLO -ROBELLO -ROBELLA -ROBAK -ROARX -RIVLIN -RIVIRA -RIVENA -RITZERT -RITELL -RITCHESON -RISKA -RISBERG -RIPKE -RINKEL -RINIKER -RINGMAN -RINGLEIN -RINGELHEIM -RINGBLOOM -RINDE -RINCONES -RIMSON -RIMAR -RILIFORD -RIHN -RIHANEK -RIGONI -RIGGOTT -RIFFON -RIEVLEY -RIEVE -RIESENWEBER -RIEG -RIEFF -RIEDELL -RIECHERS -RIEBER -RIEBEN -RIEBELING -RIDPATH -RIDLER -RIDDOCK -RICKSON -RICKMON -RICKLEY -RICKIE -RICHRDSON -RIBOT -RIBLET -RHYME -RHONEY -RHED -RHEAD -REZEK -REYNVAAN -REYNOZA -REYE -REXWINKLE -REVORD -REVEN -REVEAL -REUTLINGER -REULAND -REUER -RETZLER -RETTKE -RETTERBUSH -RETORT -RETH -RESURECCION -RESTIFO -RESNIKOFF -RERKO -REPSHER -REPRESS -REPPELL -REPINSKI -REPENNING -RENZE -RENNIX -RENNING -RENNEY -RENNELL -RENFER -RENER -RENDINO -RENAKER -REMMEN -REMENTER -REMENARIC -RELKIN -REITERMAN -REIST -REISSER -REISLING -REISERT -REISE -REIO -REINMILLER -REINE -REILL -REIGNER -REIFLER -REIFEL -REIDENBACH -REHNQUIST -REHLER -REHFIELD -REHFELDT -REHBERGER -REGLER -REGEL -REGEHR -REFSELL -REEN -REEM -REEHER -REECH -REEBER -REDSTONE -REDO -REDISH -REDHAGE -REDENZ -REDELL -REDDRICK -REDDER -RECKLEY -RECKLEBEN -RECINE -REBUSI -REBULDELA -REBERA -REBELL -REBELES -REAVLEY -REAU -REATHERFORD -REANEY -REAID -REAGANS -READO -RAZINGER -RAZEY -RAZA -RAYSIDE -RAYMOS -RAYGOSA -RAWDING -RAW -RAVENS -RAVENHORST -RAV -RAUZMAN -RAUTENBERG -RAUSIN -RAUNER -RAUDEBAUGH -RATTNER -RATLEFF -RATHMELL -RATHGEB -RATERMANN -RATACZAK -RASHER -RASHDI -RASHADA -RASBERY -RARANG -RAPOSE -RAPA -RANSICK -RANOS -RANKHORN -RANIERO -RANG -RANDZIN -RANCHER -RANCES -RANCATTI -RAMOUTAR -RAMNARASE -RAMLAKHAN -RAMIRO -RAMIRIZ -RAMEZ -RAMERIEZ -RAMBUS -RAMASWAMY -RAMAGOS -RAMADANOVIC -RAMADAN -RALKO -RALAT -RAKEL -RAJU -RAJTAR -RAJA -RAIRDON -RAIMO -RAIF -RAICHE -RAHEJA -RAHEEM -RAHALL -RAGUSO -RAFANAN -RAFALKO -RAES -RADZAVICH -RADUNE -RADULESCU -RADUENZ -RADSEK -RADOM -RADELL -RACKETT -RACILIS -RACHI -RACH -RACEDO -RABOLD -RABNER -RABERN -RABENSTEIN -RABELO -QUINTAS -QUINLISK -QUINE -QUINCEY -QUILANTANG -QUICKSEY -QUERETO -QUELETTE -QUARESMA -QUANN -QUALL -QUAILS -QUAAS -QADIR -PYTLOVANY -PYBUS -PUTASKI -PURWIN -PURTER -PURPLE -PUROL -PURKISS -PUMMEL -PULTS -PULTORAK -PULLIAN -PULLER -PULHAM -PULETASI -PUIDOKAS -PUHUYAOMA -PUFFINBURGER -PUESEY -PUELO -PUDDEPHATT -PUCILLO -PUC -PRZEPIORA -PRYS -PRUZANSKY -PRUYN -PRUST -PRUSINSKI -PRUS -PRUETTE -PROVIS -PROVINE -PROUE -PROTZ -PROSONIC -PROPHETT -PRONTO -PRONOVOST -PROKSCH -PROK -PROIETTO -PROIA -PROENZA -PROBUS -PRIZZI -PRIVALSKY -PRISOCK -PRINTY -PRIMOZICH -PRIEFERT -PRIDHAM -PREUS -PRETTNER -PRESTER -PRESSEL -PRESKAR -PREMER -PREMEAUX -PREISINGER -PREISENDORF -PREHM -PREGEANT -PREEDOM -PRALLE -PRAG -PRADEL -PRABHAKAR -POYSER -POUPARD -POTTERSON -POTTEBAUM -POTOLSKY -POTO -POTES -POSTLETHWAITE -POSTIN -POSPISHIL -POSKUS -POSIK -PORTSCHE -PORTOLESE -PORRINI -PORO -PORIETIS -POPPENHAGEN -POPPEN -POPPEL -PONTONIO -PONTING -PONO -POMPOSO -POMPONIO -POMPLUN -POMO -POMERANZ -POMELLA -POMBERG -POMARES -POLUCHA -POLSELLI -POLNAU -POLLINS -POLLARA -POLISKY -POLIO -POLICZ -POLICAR -POLCHINSKI -POLASHEK -POLAKOWSKI -POLACO -POITEVIN -POISTER -POINTON -POINSON -POINSETT -POGAR -POETTER -PODMORE -POCZOBUT -POCKETTE -POCASANGRE -POBRE -PLYS -PLUNKET -PLUMPTON -PLUEMER -PLOVER -PLOETZ -PLOENSE -PLOCEK -PLIKERD -PLEET -PLEASURE -PLAZZA -PLAXICO -PLATKO -PLATANIA -PLASSMANN -PLANTIER -PLANTENGA -PLANCARTE -PLAKKE -PLADSON -PIZZANO -PIVIN -PITTSINGER -PITTMANN -PITSENBARGER -PITONYAK -PITMON -PITFIELD -PITEK -PITASSI -PISTULKA -PISTOLE -PISKE -PISHKO -PISEGNA -PIRNIE -PIRKEY -PIPPITT -PIORKOWSKI -PINNA -PINKTON -PINKS -PINKERMAN -PINCHBECK -PIMPARE -PILLOUD -PILLITTERI -PILAKOWSKI -PIKUS -PIKULA -PIKKARAINEN -PIJANOWSKI -PIGAO -PIETTE -PIETRZYKOWSKI -PIETRYGA -PIETROPAOLO -PIES -PIERSAUL -PIERI -PIEPENBRINK -PIELOCH -PIEFFER -PICUCCI -PICKL -PICKHARDT -PICINI -PICERNI -PICARO -PIATAK -PIANALTO -PIACQUADIO -PHOUN -PHONHARATH -PHOMSOUKHA -PHOMMASENG -PHINAZEE -PHILLIPPY -PHILLIANS -PHILAVONG -PHERNETTON -PHEONIX -PHENES -PFOTENHAUER -PFLEIDERER -PFLEIDER -PFLANZ -PFIEFFER -PFEIFF -PFAUTZ -PEZZICA -PEVEZ -PEVEHOUSE -PETRUNGER -PETRULLO -PETRUCCO -PETRSON -PETRILLA -PETRIDES -PETRAUSKAS -PETKUS -PETIET -PETGRAVE -PETERSCHICK -PETAWAY -PESNER -PESIRI -PESIN -PESA -PERVINE -PERTUBAL -PERSCHALL -PERRUCCI -PEROW -PERODDY -PEROCHO -PERNO -PERLOFF -PERIA -PERGERSON -PEREYDA -PERERIA -PEREIRO -PERDZOCK -PERCHINSKI -PERARO -PEQUES -PEPITO -PENTEK -PENTARIS -PENNISON -PENNEWELL -PENNACCHIO -PENINGTON -PENINGER -PENGELLY -PENEGAR -PENCEK -PENALE -PENAHERRERA -PEMBROOK -PELYO -PELLIGRA -PELE -PEKALA -PEINE -PEIGHTAL -PEERS -PEERBOLT -PEDACI -PED -PECTOL -PECOT -PECOS -PECORELLI -PECHART -PEBBLES -PEATRY -PEARLE -PEARD -PEAKES -PEACHES -PAYWA -PAYSINGER -PAYES -PAWELCZYK -PAVONI -PAVLOVIC -PAVELEC -PAVAN -PAULLUS -PAULDO -PATUTO -PATRUNO -PATOINE -PATOCK -PATKA -PATA -PASTIVA -PASTICK -PASSWATER -PASSINEAU -PASSI -PASQUINO -PASQUEL -PASQUARELLI -PASON -PASKERT -PASHLEY -PASHIA -PARTIS -PARTIDO -PARSI -PARRILL -PAROLARI -PARISIO -PARISER -PARENTS -PARDUHN -PARDEN -PARCEL -PARBO -PARAY -PAPSON -PAPPA -PAPILLION -PAPIK -PAPARELLA -PAPAI -PAOLETTO -PANTONE -PANNHOFF -PANKOWSKI -PANGELINA -PANGALLO -PANDA -PANCIERA -PANCHANA -PANASCI -PANARELLA -PALTANAVAGE -PALSGROVE -PALOVICK -PALOMA -PALMIOTTO -PALMIERO -PALMERTON -PALMERIN -PALLET -PALLESEN -PALLAZZO -PALITTI -PALISCHAK -PALIOTTA -PALIFKA -PALENIK -PALECEK -PALCZEWSKI -PALASIK -PALACIOUS -PALA -PAHNKE -PAHLS -PAGUIRIGAN -PAGNOZZI -PAGLIARINI -PADUANO -PADDISON -PADAVANO -PACUBAS -PACKINGHAM -PACKEBUSH -PACIUS -PACI -PACEY -PACAS -PAC -OZOLINS -OZOG -OZMINKOWSKI -OYUELA -OWSTON -OVSANIK -OVERLIE -OVERBO -OVEN -OVARD -OURSO -OUDERKIRK -OTTIS -OTTERHOLT -OTOMO -OTLEY -OSUCH -OSTLING -OSTLIE -OSTHEIMER -OSTERSTUCK -OSTERDYK -OSTENSON -OSTEN -OSSOWSKI -OSSO -OSMON -OSLE -OSKINS -OSENDORF -OSBURNE -OSAWA -ORTIC -ORTENZIO -ORRANTIA -ORRALA -OROUKE -ORONE -OROFINO -ORKWIS -ORIZETTI -ORIS -ORINES -ORGOVAN -ORGAIN -ORENDORFF -ORENDAIN -OREE -OREA -ORDNER -ORDAS -ORBECK -ORAVEC -OPRAY -OPHUS -OPELA -OPATRNY -OPARA -OOSTERHOF -ONUSKO -ONSTEAD -ONORATA -ONITSUKA -ONISHEA -ONEEL -ONDRUSEK -OMUNDSON -OMOYOSI -OMDAHL -OLTZ -OLTON -OLRICH -OLQUIN -OLP -OLMSCHEID -OLM -OLIVIO -OLIVERSON -OLIVEN -OLIS -OLINE -OLEXA -OLESNEVICH -OLESKY -OLEKSIAK -OLDANI -OLCUS -OKSEN -OKOLO -OKOJIE -OKERBLOM -OKAJIMA -OHRENICH -OHMS -OHMANN -OHLAND -OGUINN -OGIBA -OGEEN -OGE -OGANYAN -OFFENBACKER -OESTERREICH -OERTHER -OELSCHLAGER -ODORE -ODONAL -ODONAHUE -ODIASE -ODENWALD -ODENS -ODEAR -OCTAVE -OCKEY -OCHWAT -OCHOTORENA -OCHILTREE -OCH -OCEJO -OCANO -OBSTFELD -OBLENESS -OBIESIE -OBERLOH -OBERFELL -OBANNION -OAKLEAF -OAK -NYSWONGER -NYSETH -NY -NUVALLIE -NUSOM -NUSH -NURNBERGER -NUNZIATA -NUNEV -NUDELMAN -NUCKLOS -NUCE -NOVIK -NOURY -NOTIK -NOTARI -NOSIS -NOSEL -NORTHCRAFT -NORTHCOTE -NORSKOG -NORRID -NORQUEST -NORMANN -NORMA -NORLUND -NORLEY -NORCOTT -NORBECK -NOONON -NOONEY -NONAKA -NOLLORA -NOLLMAN -NOLDA -NOLAU -NOL -NOGUERAS -NOGOWSKI -NOGOSEK -NOFTSGER -NOELDNER -NOCUM -NOCKET -NOCAR -NOAKS -NIVERSON -NITTINGER -NITTERHOUSE -NITKOWSKI -NITEN -NITCHALS -NISSILA -NISHIGUCHI -NIPPERT -NIPPE -NINOS -NINE -NIMOCKS -NIMMER -NILSBY -NILL -NIKOLAS -NIKIRK -NIIMI -NII -NIHEU -NIHEI -NIGG -NIFOROS -NIEZGODA -NIEVA -NIETHAMER -NIESMAN -NIENOW -NIEDERMAYER -NIEDECKEN -NIED -NIEBYL -NIE -NICOTERA -NICOLET -NICOLAISEN -NICKOLLS -NICKOL -NICKLESON -NICKELSTON -NICHOIS -NICEWARNER -NICESWANDER -NICARRY -NICAR -NHEP -NGUEYN -NGUEN -NGOV -NGHE -NEWSTED -NEWNUM -NEWER -NEWBURG -NEWALL -NEVLAND -NEUGIN -NEUENFELDT -NEUBY -NESTEL -NESSETH -NERVIS -NERPIO -NENNINGER -NEMZEK -NEMOEDE -NEMER -NELMARK -NELLEM -NEITHERCUTT -NEISWANDER -NEISIUS -NEISH -NEIHART -NEIDERHISER -NEHMER -NEGRISOR -NEGRETTE -NEFZGER -NEEPER -NEELON -NEEDELS -NEEDAM -NEALLEY -NEALEN -NEALEIGH -NAYEE -NAWN -NAVONE -NAVEJAS -NAVEDO -NAVAR -NAUD -NATIELLO -NATHOO -NASSON -NASELLI -NASE -NASCHKE -NAREZ -NARES -NAPPIER -NAPOLETANO -NAPIHAA -NAONE -NANNINI -NANNIE -NANIA -NANDA -NAMPEL -NALEPKA -NAJJAR -NAHASS -NAEVE -NAECKER -NADELL -MYRUM -MYINT -MYHR -MYERSCOUGH -MUTERSPAW -MUTANA -MUSZAR -MUSTAFAA -MUST -MUSSENDEN -MUSSEN -MUSHETT -MUSETTI -MUSEMECHE -MUSEL -MUSCARO -MURROCK -MURRIE -MURRAIN -MURILLA -MURELLI -MURAYAMA -MURAI -MUNZELL -MUNTEANU -MUNT -MUNSHOWER -MUNLIN -MUNI -MUNDING -MUNDA -MULVEHILL -MULRY -MULLINER -MULLICE -MULLALY -MUHR -MUHN -MUGICA -MUETHER -MUEHLBERGER -MUEHLBACH -MUCCIA -MROWKA -MROTZ -MROCHEK -MRACEK -MOZNETT -MOYSE -MOXHAM -MOWRIS -MOUTOUX -MOUSSETTE -MOUSLEY -MOUN -MOULINOS -MOSTROM -MOSTERT -MOSSES -MOSKOVITZ -MOSINSKI -MOSGROVE -MOSEBACH -MOSCHETTO -MORWAY -MORTHLAND -MORTA -MORSBACH -MORREAU -MOROWSKI -MOROLES -MORLAS -MORGENSTEIN -MORASCH -MORANDA -MORALIS -MORAITIS -MORAITES -MOOTE -MOORCROFT -MONTIER -MONTIE -MONTESA -MONTEROS -MONTEFUSCO -MONTECALVO -MONTAZAMI -MONTAYA -MONSKY -MONSEGUR -MONNET -MONJARAS -MONIOT -MONHOLLAND -MONET -MONESTINE -MONDS -MONDRY -MONDO -MONDINO -MOMSEN -MOMAYA -MOLSKI -MOLLINS -MOLITORIS -MOKBEL -MOISTNER -MOILIEN -MOHRING -MOHRBACHER -MOGRO -MOERMAN -MOELLMAN -MODERO -MOCZO -MOCCO -MOCARSKI -MOBUS -MIZUKAMI -MIYARES -MIYAHARA -MIYAGISHIMA -MITTENDORF -MITTELSTADT -MITSAKOS -MITH -MITA -MISURA -MISSLER -MISRAHI -MISNICK -MISEMER -MISCOVICH -MISCAVAGE -MISASI -MIRICH -MIRAVALLE -MIRAS -MIRAMON -MIODUSZEWSKI -MIO -MINSTER -MINNIER -MINNEWEATHER -MINNEHAN -MINKEL -MINERS -MINEAH -MINCHER -MINATRA -MINATO -MINARI -MINARDO -MILUSH -MILTNER -MILSTER -MILOVICH -MILMAN -MILLRANEY -MILLOT -MILLISOR -MILLIREN -MILLIMAKI -MILLICH -MILLAND -MILKOVICH -MILITANO -MILETI -MILEK -MILDREN -MILDER -MILCH -MILBERT -MILBAUER -MILANOWSKI -MILANESE -MIKULECKY -MIKULAK -MIKITA -MIKELSEN -MIHLFELD -MIHATSCH -MIHALKOVIC -MIHALKO -MIGNOGNA -MIGL -MIESSNER -MIERAS -MIDCAP -MICKLEBERRY -MICHOCKI -MICHELMAN -MICHALES -MICHALENKO -MIAS -MHOON -MEZZA -MEZQUITA -MEZERA -MEYETTE -MEYERHOFFER -MEYERHOFER -MEURY -MEULLER -METTLE -METTER -METTEE -METTA -METROKA -METEVIER -METAXAS -MESTROVICH -MESSA -MESIDOR -MESCHINO -MERYMAN -MERRETT -MERRBACH -MERONE -MERKLING -MERICKEL -MERCANTE -MEO -MENSINGER -MENIST -MENINO -MENHENNETT -MENGARELLI -MENEZ -MENESEZ -MENDELOWITZ -MENCL -MEN -MELLORS -MELLOM -MELLENCAMP -MELLEKAS -MELKONIAN -MELISH -MELESKI -MELERO -MELCHIN -MELBERT -MELANDEZ -MELANDER -MEISELS -MEIGHEN -MEHTALA -MEHSERLE -MEHOLICK -MEHALIC -MEGNA -MEGINNIS -MEGGITT -MEGGERS -MEGER -MEETER -MEESKE -MEEDER -MEDOWS -MEDNICK -MEDICH -MEDIATE -MEDIAN -MEDEZ -MEDBERY -MEDAK -MEBUS -MEASON -MEANOR -MEAGER -MCWETHY -MCVEAN -MCTHUNE -MCSWEENY -MCSPEDON -MCSHARRY -MCRAVIN -MCRAVEN -MCQUISTION -MCQUILKIN -MCQUAIDE -MCQUAGE -MCPHERREN -MCPECK -MCNANEY -MCMINDES -MCMILLIAM -MCMENOMY -MCMARLIN -MCMAHILL -MCLOY -MCLOONE -MCLEAR -MCLAUGHLAN -MCKOAN -MCKERLEY -MCKERCHIE -MCKEONE -MCKENNIE -MCKELLAN -MCKAIG -MCINALLY -MCHENDRY -MCGWIER -MCGUIRT -MCGUGIN -MCGREADY -MCGRAFF -MCGRADE -MCGORRY -MCGLOTHIAN -MCGLORY -MCGAVISK -MCGARRIGLE -MCEVER -MCELMURRY -MCELHENY -MCELHATTAN -MCDARIES -MCDARGH -MCCUMISKEY -MCCREDIE -MCCRAVEN -MCCOYLE -MCCOPPIN -MCCOMBIE -MCCLOUGHAN -MCCLEVE -MCCLENTY -MCCLENNAN -MCCLEES -MCCLEER -MCCLEAREN -MCCASKIN -MCCARTIN -MCCAMY -MCCAMMACK -MCCAMAN -MCCALOP -MCCAFFITY -MCBURROWS -MCBURROUGH -MCBRADY -MCALPHIN -MCALHANEY -MCABOY -MAZIKOWSKI -MAZAR -MAYZES -MAYMON -MAYESKI -MAYCUMBER -MAYALA -MAXIN -MAUTE -MAUSS -MAURITZ -MAUREY -MAULIN -MATUSZESKI -MATUSIK -MATUSESKI -MATTU -MATTIER -MATTHYS -MATTEUCCI -MATSUHARA -MATSEN -MATREJEK -MATLICK -MATHEWES -MATHAL -MATEY -MATESIC -MATERNA -MATELIC -MATARESE -MATALAVAGE -MATAALII -MASTROCOVI -MASTROBUONO -MASTORIS -MASTERA -MASTENBROOK -MASTELLA -MASSAGLIA -MASLYN -MASLEY -MASIN -MASICLAT -MASHIAH -MASHEK -MASCOT -MASCHKE -MASCHIO -MASCH -MARZINSKE -MARXEN -MARVILLE -MARUSHIA -MARUNGO -MARUFFO -MARUCA -MARTINZ -MARTINETTO -MARTINETTI -MARTINEA -MARTINCIC -MARTIG -MARSKE -MARSHALSEA -MARSETTE -MARROGUIN -MARREO -MARQUENA -MARONA -MAROLA -MARMIE -MARKSTROM -MARKSBURY -MARKROF -MARKOVITZ -MARKEVICH -MARKETTE -MARIUS -MARITT -MARIONNEAUX -MARINOS -MARINESE -MARICICH -MARHOEFER -MARGIOTTA -MAREN -MARECKI -MARCONE -MARCOLINE -MARCOLINA -MARCHUK -MARCELYNAS -MARCAIDA -MARBUS -MARAZZI -MARAZAS -MARASHIO -MARANVILLE -MARANI -MARANDI -MARANDER -MARADE -MAPALO -MANZA -MANYLATH -MANVELYAN -MANUSYANTS -MANTUANO -MANTSCH -MANTELL -MANTANO -MANSMANN -MANSHIP -MANOZCA -MANNIE -MANNES -MANLIGUIS -MANIGOLD -MANIATIS -MANIA -MANGON -MANGINELLI -MANGICAVALLO -MANGIARACINA -MANGAS -MANGAOANG -MANFORD -MANDIOLA -MANCHINI -MAMORAN -MAMMUCARI -MAMER -MALYS -MALVIN -MALVAEZ -MALUSKY -MALTIE -MALTBIE -MALPHURS -MALOTTE -MALLOCH -MALKASIAN -MALIT -MALIS -MALINSKI -MALINCHALK -MALICOTE -MALICH -MALETZ -MALESKY -MALER -MALEKZADEH -MALEH -MALECH -MALBAURN -MALARA -MALAKAN -MALAKAI -MALAFRONTE -MALADY -MAKLEY -MAKEKAU -MAJMUNDAR -MAJERSKY -MAITEN -MAINIERO -MAINELLO -MAILES -MAIGRET -MAHUSAY -MAHARG -MAHANY -MAGUET -MAGOWAN -MAGONE -MAGNALL -MAGLEBY -MAGLAYA -MAGINN -MAGIN -MAGIL -MAGGS -MAGGIE -MAGELSSEN -MAGAW -MAGARIO -MAGALLANEZ -MAEWEATHER -MADURA -MADRUENO -MADINGER -MADHO -MADERAS -MADDRY -MADARIS -MACZKO -MACUGAY -MACROWSKI -MACOMB -MACNAB -MACLAURIN -MACLAUCHLAN -MACKYNEN -MACKSOUD -MACKS -MACKNEY -MACKINTOSH -MACKINDER -MACIEJ -MACIE -MACHOWSKI -MACHOL -MACHINSKY -MACHALEK -MACCHIONE -MACALL -MACAFEE -MABUS -MABINS -MABANE -MAASSEN -LYSEN -LYNAUGH -LYKENS -LUVIAN -LUTTENEGGER -LUTKINS -LUTCHMAN -LUTAO -LUSKIN -LUSKEY -LUNGREN -LUNDBURG -LUMM -LULIC -LULEWICZ -LUKASZEWICZ -LUISO -LUHNOW -LUGG -LUGARDO -LUFSEY -LUETMER -LUEPKE -LUDTKE -LUCZKOWIAK -LUCKHARDT -LUCKENBAUGH -LUCKEN -LUCHENBILL -LUBKE -LUBELL -LUBE -LUBBOCK -LOZON -LOZE -LOZAYA -LOYND -LOXLEY -LOWTHORP -LOWEK -LOVISKA -LOVIG -LOVGREN -LOVERINK -LOVENSHEIMER -LOUNSBERY -LOUKOTA -LOUGHNAN -LOUGHBOROUGH -LOUDENSLAGER -LOTSON -LOTHSPEICH -LOTAN -LOSSA -LOSOLLA -LOSIER -LORNA -LORIMOR -LORI -LORETT -LORENS -LOREG -LOREAUX -LORANDEAU -LOQUE -LOPUS -LOPRIORE -LOOTENS -LOOKADOO -LONNEMAN -LONN -LONGIOTTI -LONGHINI -LONGENDYKE -LONGBOTHAM -LONDRE -LONDAGIN -LONABAUGH -LOMU -LOMINY -LOMBOY -LOMARTIRE -LOLLIE -LOKKER -LOIA -LOI -LOGRONO -LOGOSSO -LOGGAINS -LOFLEN -LOFINK -LOFGREEN -LOEWENTHAL -LOEURM -LOERZEL -LOEPPKE -LOEPP -LOEGERING -LODHOLZ -LOCKEY -LOCKBAUM -LOCHTE -LOCHAN -LOBUR -LOBAN -LLORCA -LLOID -LLEWLYN -LLANEZ -LIWANAG -LIVERNOCHE -LITZENBERG -LITANO -LISSARD -LISKO -LISCIO -LIPSKAR -LIPSCOMBE -LIPSCHUTZ -LIPPHARDT -LIPINSKY -LIPANI -LIONS -LINNERTZ -LINKS -LINKOWSKI -LINKO -LINGAFELTER -LINGAFELT -LINDZY -LINDMAN -LINDERT -LINDERSMITH -LINDERS -LINDERHOLM -LINDBURG -LINDAMAN -LINCICOME -LINBERG -LINAMEN -LIMKE -LILYQUIST -LILOIA -LILLPOP -LILLICK -LILLICH -LILIEN -LIGHTER -LIGGIN -LIFTON -LIFSEY -LIFFORD -LIFER -LIEST -LIEM -LIDKE -LIDDIARD -LICK -LICHTENWALNER -LICHTENFELD -LICHAK -LICERIO -LICAUSI -LICAUSE -LIBMAN -LIBERA -LIAW -LEYA -LEWITT -LEWANDOSKI -LEVOY -LEVITIN -LEVISTON -LEVENTER -LEVENHAGEN -LEVEILLEE -LEVE -LETTRE -LETSCHE -LESIAK -LESHINSKY -LERICHE -LERI -LEPRI -LEPPKE -LEPPING -LEPP -LEPO -LEONHARD -LEONELLO -LEONA -LEOFSKY -LENSING -LENOCI -LENNINGTON -LENNIHAN -LENN -LENKIEWICZ -LENIS -LENERTZ -LENEHAN -LENCI -LENARZ -LEMUCCHI -LEMICK -LELAH -LELACHEUR -LEJENNE -LEITMAN -LEITHOFF -LEISTIKO -LEIPERT -LEIBERT -LEIBE -LEHNERTZ -LEHENY -LEHAR -LEHANE -LEGORRETA -LEGOFF -LEGLEU -LEGIONS -LEGGAT -LEGGANS -LEGAARD -LEFT -LEESMANN -LEEMASTER -LEEMANS -LEDWIG -LEDLIE -LEDERHOS -LECORCHICK -LECLEAR -LECLARE -LECKMAN -LECKBEE -LEBRECQUE -LEBAHN -LEAVENWORTH -LEATHERBERRY -LEAMER -LEADY -LAZZERI -LAZARINI -LAZARINE -LAZA -LAYNG -LAWSHE -LAWMAN -LAWER -LAWARE -LAVISTA -LAVIS -LAVIOLA -LAVINDER -LAVERN -LAVENE -LAVELETT -LAVANWAY -LAVANCHY -LAVALETTE -LAVALA -LAVADIE -LAVA -LAUTZENHEISER -LAUTT -LAUSER -LAURIMORE -LAURIDSEN -LAUREY -LAURENTI -LAURENTE -LAURENITIS -LAURELLI -LAUKITIS -LAUD -LATTRELL -LATTNER -LATTERELL -LATTEN -LATTARI -LATTANZI -LATIF -LASTUFKA -LASSWELL -LASSESON -LASSA -LASLO -LASKI -LASHUTE -LASHMET -LARRIEU -LARRIER -LARRIBEAU -LARONDA -LARNEY -LARITA -LARICCIA -LARGIN -LAREZ -LARDIN -LARCH -LAPUSNAK -LAPRETE -LAPRE -LAPRADD -LAPORE -LAPINSKY -LAPID -LAPERRIERE -LAOS -LANTTO -LANTAFF -LANSON -LANOIS -LANIUS -LANINI -LANGUIRAND -LANGUELL -LANGSTRAAT -LANGRECK -LANGKABEL -LANGILL -LANGENESS -LANGEFELS -LANGARICA -LANGAGER -LANFRANCO -LANFEAR -LANFAIR -LANDVATTER -LANDOLFI -LANDBORG -LANAGAN -LAMPSON -LAMPSHIRE -LAMOREUX -LAMBRUKOS -LAMBRAKIS -LAMBORNE -LAMBING -LAMAX -LAMARCH -LALLAVE -LALKA -LAIS -LAIRY -LAIBEN -LAHREN -LAHN -LAHMERS -LAH -LAGORY -LAFORREST -LAFLORE -LAFKAS -LAFIELD -LAFAY -LADUC -LADERER -LADELL -LADAKAKOS -LACOY -LACKI -LACIO -LACINSKI -LACHOWSKY -LACERDA -LACE -LACASA -LABRUZZO -LABRE -LABOVE -LABERPOOL -LABBADIA -LABARBA -LABADY -KYTLE -KYM -KY -KWASNICKI -KWAPNIEWSKI -KWANG -KUZMINSKI -KUZEL -KUWAHARA -KUT -KUSKO -KUSICK -KURUVILLA -KURTULUS -KURTIS -KURTICH -KURKOWSKI -KURKEYERIAN -KURITZ -KURELKO -KURCABA -KURALT -KUPREWICZ -KUPETZ -KUNTZMAN -KUNISHIGE -KUNDTZ -KULWICKI -KULOW -KULIS -KUHLMEY -KUFEL -KUES -KUEHNEL -KUDRICK -KUDLACIK -KUDEJ -KUCHEL -KUCHAN -KUCHA -KUBOUSHEK -KUBISHTA -KUBILUS -KUBERT -KUBEIKA -KUBASIK -KUAKINI -KRZYSTON -KRZECZKOWSKI -KRYZAK -KRYGIER -KRY -KRUPSKI -KRUPKE -KRUPANSKY -KRUMVIEDA -KRUMHOLZ -KRUMBHOLZ -KRUDOP -KRSTIC -KROVIOUS -KROMMES -KROMM -KROLAK -KROES -KROENING -KROENER -KRITTER -KRISTY -KRISMAN -KRIEGE -KRIDEL -KREUL -KRETSINGER -KRETLOW -KRESAL -KREJSA -KREINES -KREIG -KREFFT -KRAUSKOPF -KRATT -KRASSOW -KRASNECKY -KRANCE -KRAJCIK -KRAIL -KRAHAM -KRACK -KOZLOFF -KOZLAK -KOZERA -KOZEE -KOYAMA -KOWALOWSKI -KOWALCHUK -KOVALOVSKY -KOVALCHECK -KOUTZ -KOTTS -KOSTYK -KOSTY -KOSTOHRYZ -KOSTIUK -KOSTIS -KOSTICK -KOSOFSKY -KOSMAN -KOSIN -KOSIER -KOSEN -KOSCO -KOSCHNITZKI -KOSBAB -KOSACK -KORZEP -KORVIN -KORTKAMP -KORNRUMPF -KORFHAGE -KORDUS -KORCHNAK -KOPPINGER -KOPINSKI -KOPALD -KOOYMAN -KOOPMANS -KOONZ -KOOKER -KOOCH -KONZAL -KONYE -KONTOGIANNIS -KONRUFF -KONOWAL -KONOPNICKI -KONOPACKY -KONOPACKI -KONIG -KONICKI -KONECNI -KONDEL -KONAKOWITZ -KOMLOS -KOMBE -KOMATZ -KOLM -KOLLMEYER -KOLLASCH -KOLIN -KOLDEN -KOLBO -KOLATA -KOLAGA -KOKOCINSKI -KOKO -KOINZAN -KOHRMAN -KOHNZ -KOGLER -KOETS -KOERWITZ -KOEP -KOENECKE -KOEHLY -KOCKLER -KOCKA -KOCIOLEK -KOBIE -KNUDSUIG -KNOTEN -KNOTEK -KNOLE -KNOCHEL -KNOBBE -KNIGHTSTEP -KNIGGE -KNIFE -KNIESS -KNICKELBEIN -KNEISLER -KNEEDLER -KNEDLER -KNALL -KNABLE -KLYM -KLUSSMANN -KLUEVER -KLUDT -KLOUDA -KLOTZBACH -KLOSOWSKI -KLOCKARS -KLINKER -KLINGSHIRN -KLINGELHOETS -KLINGELHOEFER -KLENA -KLEMPA -KLEMISCH -KLEMENS -KLEMENCIC -KLEMEN -KLEINHENZ -KLECHA -KLEBANOW -KLEBANOFF -KLAVE -KLANG -KLAMMER -KLAMET -KLAERS -KLACIC -KJAR -KIVISTO -KIVEL -KITZROW -KITZEROW -KITZ -KISZKA -KISTENMACHER -KISICKI -KISAK -KIRYLO -KIRSON -KIRSCHKE -KIRMER -KIRAKOSYAN -KINTON -KINT -KINSLAND -KINLOCK -KINI -KINGSOLVER -KINGDON -KINDSCHUH -KINDLIMANN -KINDL -KINDBERG -KINAS -KINAJ -KIMBERL -KILLOY -KILLETTE -KILLER -KILLARY -KILGOR -KILDOO -KILBORNE -KILBERT -KIL -KIJEK -KIEWIET -KIEVER -KIESZ -KIESSLING -KIELAR -KIEHN -KHOSRAVI -KHOLODIVKER -KHO -KHATIB -KHATCHERIAN -KEYWORTH -KEYLOR -KEWANWYTEWA -KETTMAN -KETTLEWELL -KETTL -KETTELLE -KETHCART -KETAY -KESLAR -KESBY -KERNE -KERK -KERCY -KERCHAL -KERBEL -KENRICK -KENNIS -KENNIN -KENNEMUTH -KENNELTY -KENKEL -KEMMERLING -KEMFORT -KELSTROM -KELLOW -KELLOM -KELK -KELIIHOLOKAI -KELCOURSE -KEKUA -KEIGER -KEGLOVIC -KEESECKER -KEEHNE -KEEDAH -KEDING -KEAVNEY -KEANU -KEAGY -KEAFFABER -KEADLE -KAZEMI -KAZANOWSKI -KAZANJIAN -KAZAN -KAWELO -KAVANAH -KAUTZER -KAUKOLA -KAUFUSI -KAUFFELD -KATOWICZ -KATOS -KATHEDER -KATELY -KATA -KASTOR -KASTL -KASSOUF -KASSLER -KASSAM -KASKEY -KASIMIS -KASDON -KASCHMITTER -KASCHEL -KARRATTI -KARPINEN -KARPEN -KARMANN -KARLOVICH -KARLEN -KARKUT -KARIN -KARIGER -KARAFFA -KAPSOS -KAPPS -KAPNICK -KANOA -KANNEY -KANNAS -KANDUTH -KAMPMAN -KAMIMURA -KAMENS -KAMEMOTO -KALVAITIS -KALTENHAUSER -KALLOCH -KALLER -KALLENBERG -KALISZUK -KALINOSKI -KALINGER -KALICH -KALFUS -KALFAYAN -KALERT -KALENKOSKI -KALEN -KALEIWAHEA -KALEEL -KALDAS -KALAWE -KALATHAS -KAKOS -KAISERMAN -KAIS -KAILIPONI -KAIGHN -KAHUHU -KAHOUN -KAHEN -KAHALEUA -KAH -KAGY -KAGER -KAGARISE -KAFFKA -KAEMPFER -KAEMMERER -KAELKER -KADY -KADNER -KADLUBOWSKI -KADAKIA -KACYNSKI -KACIC -KACH -KABRICK -JUSTMAN -JUSTINE -JURINA -JURIK -JURCIK -JUNIUS -JUMALON -JULCA -JUI -JUGAN -JUART -JOVE -JOURNEAY -JOUNG -JOU -JOSILOWSKY -JOSEPHSEN -JOSEPHPAULINE -JORDE -JOOR -JONTE -JOLIE -JOHNKE -JOHANNINGMEIE -JOERG -JOCHEMS -JILK -JI -JHONSTON -JEZ -JETHVA -JETHRO -JEST -JESKO -JERREL -JERICH -JENTSCH -JENSVOLD -JENNRICH -JENIOUS -JENCK -JEMENEZ -JELLE -JELINSKI -JELENIEWSKI -JELEN -JEFFRIE -JEFFORD -JEDIK -JEBBETT -JAYES -JAVARONE -JAUSS -JAUS -JASKOLSKI -JASIONOWSKI -JASIN -JARZYNKA -JARVA -JARUIS -JAROSS -JARET -JAQUESS -JANOVICH -JANNUSCH -JANN -JANKINS -JANITZ -JANICKE -JANGULA -JAMON -JAMMER -JAMIE -JAMEEL -JAKUPCAK -JAKUBCZAK -JAKOWICH -JAKEMAN -JAGNEAUX -JAGHER -JAEKEL -JADIN -JACOBOWITZ -JACKSTADT -JACKOWIAK -JACKIEWICZ -JACKELS -JABOUR -IZSAK -IZARRARAS -IWASA -IWANYSZYN -IULO -IULIUCCI -ITURBIDE -ITKIN -ISBY -ISAM -ISALES -ISACKSON -IRIZARRI -IRIBARREN -IRANI -IRACHETA -IOTT -IOLI -IODICE -IOANNIDIS -INTRIAGO -INTERRANTE -INTERMILL -INSCO -INLOES -INGRIM -INGLIN -INGLESE -INGALA -INFIELD -INESTROZA -INESON -INDEST -INCORVAIA -INACIO -IMPARATO -IMM -IMFELD -IMAIZUMI -ILLESCAS -IKUTA -IINO -IGNASIAK -IGLER -IGEL -IFFERT -IDRIS -IDEMA -ICHINOTSUBO -ICHINOSE -IBURG -IAROSSI -IANNACCONE -IAMS -IACOVISSI -HYTROS -HYTEN -HYSINGER -HYLLE -HYLINSKI -HVIZDOS -HUYGHE -HUUS -HUTSLER -HUTCHEN -HUSTUS -HUSO -HUSNI -HUSLANDER -HUSKA -HUSH -HUSCHLE -HUSAYKO -HUSANINI -HURTIS -HURTER -HURRINGTON -HURRIGAN -HURL -HURBAN -HUNTEN -HUNDEMER -HUMERICKHOUSE -HUMBEL -HULSTINE -HULM -HUITZACUA -HUGHLETT -HUGER -HUEWE -HUELS -HUDRICK -HUDEK -HUCKEBY -HUBRIGHT -HUBRIC -HUBEL -HSI -HRYNIEWICH -HROVAT -HRONICK -HRIBAR -HOZEMPA -HOXWORTH -HOWRYLA -HOWISON -HOWIESON -HOWDESHELL -HOVING -HOVI -HOVELSON -HOVELL -HOUTEN -HOUSTEN -HOUSEKEEPER -HOUPE -HOUP -HOUMAN -HOUGHLAND -HOUGAS -HOTHAN -HOTCHKIN -HOSTE -HOSIE -HOSENDOVE -HOSEMAN -HOSECK -HOSCHOUER -HORWOOD -HORUATH -HORTILLOSA -HORTH -HORSFIELD -HORNIAK -HORNBY -HORMANDER -HORII -HORES -HORANEY -HORAL -HOPSKINS -HOPPESCH -HOOPENGARDNER -HOOMANA -HOOLIHAN -HOOF -HONZEL -HONSE -HONOHAN -HONGO -HONGERHOLT -HOMOLA -HOMERDING -HOMCHICK -HOLY -HOLVEY -HOLSING -HOLSHUE -HOLLENBERG -HOLLEMON -HOLLA -HOLKA -HOLIFEILD -HOLETS -HOLDT -HOLDNESS -HOLDINESS -HOLDA -HOLCEY -HOLBEIN -HOIUM -HOISL -HOHSTADT -HOHOWSKI -HOH -HOGY -HOGSTEN -HOGSETTE -HOGGINS -HOFLER -HOFFSTOT -HOFFSCHNEIDER -HOFFEE -HOEVEL -HOERNEMANN -HOEPER -HOENER -HOENE -HOEKE -HOEG -HOEFLICH -HOEFFNER -HOEFFLIGER -HOECKER -HOECK -HOE -HODGEN -HODAN -HOCKEMA -HOCHSCHILD -HOBKIRK -HNATOW -HLEDIK -HJALMARSON -HITZLER -HITTMAN -HISMAN -HIRSTEIN -HIRSCHHORN -HIRSCHE -HIRKALER -HIRAOKA -HIRAKI -HIPWELL -HIPPO -HINSEY -HINKEY -HINISH -HINGST -HINGLE -HINDIN -HINAHON -HIMELSTEIN -HILLBURG -HILLAIRE -HILGERT -HILDRED -HILDAHL -HILCHER -HIGUEROS -HIGLE -HIGINBOTHAM -HIESERICH -HIDVEGI -HIDROGO -HICKTON -HICKONBOTTOM -HICKERT -HIBL -HEYVELD -HEYDEL -HEVNER -HEVESY -HEVERLEY -HEVERIN -HEUSLEY -HEUBERGER -HETTWER -HETT -HETER -HESTERS -HESSONG -HESSING -HESSENTHALER -HESSELL -HESSEE -HESBY -HERZBERGER -HERWOOD -HERTING -HERSCHER -HERSCHEL -HERRLING -HERRIG -HERRIAGE -HERREL -HERRE -HERPOLSHEIMER -HERNANDERS -HERMOSURA -HERMIE -HERMENS -HERKLOTZ -HERKERT -HERBY -HERBSTER -HERBISON -HERBERS -HERBEIN -HEPPEARD -HENRICK -HENREY -HENRETTA -HENNEBERG -HENNAGIN -HENINGTON -HENIFIN -HENEY -HENESEY -HENEHAN -HENDY -HENDEROSN -HENDER -HENDEE -HENBY -HENAIRE -HEMRICH -HEMMIE -HEMMES -HEMLEPP -HEMINOVER -HEMAUER -HELVY -HELSING -HELMY -HELMSTETLER -HELMINK -HELMCAMP -HELLAR -HELLAMS -HELKER -HELGESEN -HELFRITZ -HELENA -HELE -HEKTNER -HEJL -HEITSCHMIDT -HEITGER -HEINZMANN -HEINZEN -HEININGER -HEINEKEN -HEIMRICH -HEIMBAUGH -HEIERMANN -HEHR -HEGRE -HEGMANN -HEFLER -HEFFLINGER -HEESE -HEENEY -HEEMSTRA -HEDRICH -HEDGESPETH -HEDEMANN -HEDEGORE -HEDDLESTEN -HECKENBERG -HEBIG -HEBDEN -HEBDA -HEATLY -HEATHERSHAW -HEARSON -HEALLY -HEALAN -HEADS -HAZLETON -HAZARIKA -HAYHOE -HAYDAL -HAYBURN -HAWTHRONE -HAWMAN -HAWKEY -HAWF -HAVICE -HAVERCROFT -HAUTAMAKI -HAUSKINS -HAULTER -HAUGRUD -HAUAN -HATZENBUHLER -HATZENBUEHLER -HATTUB -HATTIER -HATTEYER -HATSTAT -HATHWAY -HATAWAY -HASSICK -HASSIAN -HASSELMAN -HASSELBARTH -HASPER -HASPEL -HASKE -HASGILL -HASEN -HARVISTON -HARVILLA -HARVILICZ -HARVER -HARTZER -HARTUP -HARTSOUGH -HARTSCH -HARTLY -HARTLEP -HARTLEIN -HARTKOPF -HARTHUN -HARTFIEL -HARTERY -HARTERT -HARTAGE -HARSEY -HARREY -HARRETT -HARRAL -HAROUTUNIAN -HARMEYER -HARLOWE -HARLOFF -HARDYMAN -HARDS -HARDRICT -HARDMON -HARDIGREE -HARDENBURG -HARDELL -HARDEBECK -HARDAMAN -HARDAKER -HARCEY -HARBICK -HARAJLI -HAPPER -HAPGOOD -HANSTEIN -HANSBURY -HANOLD -HANOHANO -HANO -HANNS -HANNIFAN -HANNES -HANKO -HANIS -HANENKRAT -HANEMANN -HANEK -HANDZEL -HANDWERKER -HANDWERK -HANDSAKER -HANDRICK -HANDELSMAN -HANDAL -HANCIN -HANBURY -HANAWAY -HANAHAN -HAMS -HAMMERLY -HAMMEREN -HAMMATT -HAMMARLUND -HAMLING -HAMISS -HAMIEL -HAMELINCK -HAMBRECHT -HALO -HALLINGER -HALLICK -HALIFAX -HALGRIMSON -HALFMANN -HALDER -HALD -HALBURNT -HALBERSTAM -HALABY -HAKER -HAKEN -HAINE -HAGOS -HAGMAIER -HAGENSON -HAGENE -HAGENBROK -HAGENBAUGH -HAFTER -HAFFLING -HAEGER -HAEGELE -HADE -HADDER -HADCOCK -HACZYNSKI -HACKLE -HACHIGIAN -HACHEZ -HABROCK -HABOWSKI -HABINA -HABERKAMP -HABBEN -HABASH -HAABY -GYATSO -GWALTHNEY -GUZIEC -GUZIAK -GUYS -GUYNUP -GUTZWILLER -GUTTMANN -GUTTING -GUTTERIDGE -GUTERREZ -GUSZAK -GUSKY -GUSCIORA -GURRY -GURRIERI -GURITZ -GUNST -GUNDRY -GUNDERT -GULSVIG -GULISANO -GULINSON -GUITTAR -GUITARD -GUISTI -GUISKI -GUINTO -GUINTHER -GUINNIP -GUILLIAM -GUILLERAULT -GUILFOIL -GUIJARRO -GUIDETTI -GUIBERTEAU -GUGER -GUEVERA -GUETERSLOH -GUERINI -GUELLA -GUEDEA -GUECHO -GUDIS -GUCKIN -GUBERMAN -GUARDIPEE -GUANIO -GUAGLIARDO -GRZEGOREK -GRYBEL -GRUNST -GRUNLIEN -GRUNDMEIER -GRUNDHOEFER -GRUN -GRUMER -GRUM -GRUHN -GRUGER -GRUDT -GROWNEY -GROTTS -GROTON -GROTELUESCHEN -GROTBERG -GROSSWILER -GRONOWSKI -GRONOSKY -GRONEWALD -GRONERT -GROHOLSKI -GROETKEN -GROESCHEL -GROENE -GRODECKI -GROCEMAN -GRISWELL -GRISETA -GRINKLEY -GRINIE -GRINBERG -GRIMMIUS -GRIEME -GREYTAK -GRETT -GRENKE -GRENDA -GREINKE -GREEVES -GREEVER -GREET -GREENLUN -GREENLER -GREENHAM -GREBIN -GRBOYAN -GRAWBURG -GRATTELO -GRASSHAM -GRANVOLD -GRANTHAN -GRANSKY -GRANDOLFO -GRANDMAISON -GRANDCHILD -GRANBOIS -GRAMOLINI -GRAMMATICA -GRAMC -GRAJEK -GRAHE -GRAGSON -GRAGERT -GRAGE -GRAFENSTEIN -GRAETZ -GRACELY -GRACEFFO -GRABARCZYK -GOUZALEZ -GOUSE -GOURDIN -GOUDELOCK -GOUD -GOTTLOB -GOTTKE -GOTTHELF -GOTTHARD -GOTTER -GOTSCHE -GOTSCHALL -GOSZ -GOSTON -GOSSACK -GOSDIN -GORZ -GORRILL -GORNTO -GORNIE -GORENBERG -GORELLI -GORDINIER -GORA -GOPIN -GOPIE -GOOLMAN -GOOLDEN -GOODSITE -GOODMANSON -GOODLY -GOODKIN -GOODIEL -GONZOLAS -GONSIOR -GONSETH -GONEZ -GONCHOFF -GONALES -GOMZALES -GOMORA -GOLLY -GOLLIHAR -GOLLHOFER -GOLKA -GOLINSKI -GOLEN -GOLEMBESKI -GOLEMBA -GOLDWATER -GOLDSTOCK -GOLDKLANG -GOLDBECK -GOLDA -GOJMERAC -GOICH -GOHLKE -GOGER -GOGEL -GOGA -GOFTON -GOFFE -GOETTING -GOESER -GOERNER -GOERKE -GOERDEL -GOEPPNER -GODSMAN -GODERT -GODEL -GOBELI -GNAS -GLUCKSMAN -GLOTZBECKER -GLOECKNER -GLOCKNER -GLISH -GLICKSON -GLICKEN -GLEW -GLESSING -GLEICHMAN -GLAZENER -GLAVE -GLAUSIER -GLATZEL -GLASSETT -GLASBRENNER -GLADU -GLAB -GLAAB -GIZA -GITTLER -GITTLEMAN -GITTINGER -GITTING -GITTHENS -GISSEL -GISCHER -GIRST -GIRSCH -GIRONA -GIRILLO -GIRE -GIRA -GIOVANETTI -GIONEST -GINGLES -GINGERY -GING -GILLSTRAP -GILLSON -GILLOTTI -GILLMOR -GILLISS -GILLIG -GILLERT -GILLCREST -GILGOUR -GILGORE -GILDING -GILDERMAN -GILCREAST -GIESEMAN -GIESELMAN -GIERINGER -GICK -GIANGROSSO -GIANGREGORIO -GIAMBRA -GIAMBATTISTA -GHIBAUDY -GHIANNI -GHELFI -GHAZIANI -GHANTT -GHANT -GHAEMMAGHAMI -GEY -GETLER -GETCHIUS -GESUALDO -GESMONDI -GERWECK -GERWE -GERULA -GERTSEN -GERSHEY -GERSHEN -GERS -GERRITSEN -GERDSEN -GERCZAK -GERBATZ -GERBA -GERACHE -GEORGL -GEORGIADIS -GEORGELIS -GEORGALAS -GENUALDO -GENTERY -GENNOCK -GENNETT -GENETT -GENDERNALIK -GENAS -GENA -GEMMEN -GELSTON -GELLMAN -GELFO -GELEN -GELBOWITZ -GEIBIG -GEHLHAUSEN -GEFFRE -GEESAMAN -GEEL -GEDMAN -GECKLES -GEBBIE -GEARWAR -GEARLDS -GAYNE -GAYFIELD -GAWLAS -GAUWAIN -GAUFIN -GAUANI -GASTLEY -GASTELLO -GASSOWAY -GASPARINO -GASKEY -GASER -GASCOT -GARUTI -GARRINGTON -GARREH -GARNAND -GARLITS -GARITY -GARITTY -GARIETY -GARIA -GARI -GARETSON -GARELIK -GARDING -GARB -GARASHA -GANZER -GANTERT -GANOTISI -GANNER -GANISON -GANIE -GANGELL -GANGEL -GANESH -GANDRUD -GANAS -GAMBY -GAMBLES -GALYAN -GALUSKI -GALPER -GALLWAS -GALLUZZI -GALLUPS -GALLOSA -GALLIPEAU -GALLET -GALLERANI -GALLEGLY -GALLATY -GALLASPY -GALLANDER -GALIOTO -GALICINAO -GALER -GALDON -GALARDI -GALAMAY -GALABEAS -GALA -GAITOR -GAGG -GAGAN -GAERLAN -GADLEY -GACKE -GACIA -GACH -GABRELCIK -GABAY -GABARD -FYLNN -FYDENKEVEZ -FUTTER -FUSE -FUSCALDO -FURSTENBERG -FURMANIK -FURLONE -FURIA -FURER -FURCI -FURBISH -FUNT -FULKER -FUKANO -FUJINO -FUHRMEISTER -FUGO -FUERMAN -FRYMYER -FRYLING -FRONTZ -FRONCEK -FRONCE -FROLICH -FROIO -FROID -FROEHLE -FRISCHMAN -FRIOU -FRIOT -FRIEZE -FRIESZ -FRIEMERING -FRIEMAN -FRIEDRICK -FRIEDLE -FRICKSON -FRICKEL -FRICHETTE -FRICANO -FRIBLEY -FREWING -FREVER -FREUDENSTEIN -FRERKING -FRENGER -FREISNER -FREGEAU -FREEDLE -FREASE -FRAZEY -FRASCONE -FRANZMANN -FRANZETTI -FRANKFORTER -FRANCY -FRANCKOWIAK -FRANCIES -FRANCHETTE -FRALIN -FRALEIGH -FRAINT -FRAGOZO -FRACCHIA -FRABIZZIO -FOUSEK -FOURAKER -FOUCAULT -FOSSON -FOSSATI -FOSNOUGH -FORTS -FORTHMAN -FORSTING -FORSTEDT -FORSHAY -FORSHAW -FORSHA -FORRO -FORNO -FORLIVIO -FORKOSH -FORKAN -FORCELLO -FORADORI -FONTANE -FONGER -FONEY -FONDY -FONDOW -FOLTA -FOLLIN -FOLLIARD -FOLLEY -FOLKEN -FOILES -FOHN -FOGGS -FOESCH -FOERTSCH -FOECKING -FODNESS -FOAT -FLOT -FLOSI -FLORENZ -FLORENS -FLORENCIO -FLOREA -FLORCZAK -FLODIN -FLOCKE -FLO -FLENTROY -FLENARD -FLEISNER -FLECTHER -FLAKS -FLAGSTAD -FLAGEL -FJETLAND -FIXICO -FIUME -FITTERER -FISETTE -FIRLIT -FIRESTEIN -FIOTODIMITRAK -FIOTO -FINNER -FINNEFROCK -FINGADO -FINELY -FINCEL -FINAU -FIMBREZ -FILOTEO -FILLPOT -FILLARE -FILIPSKI -FILIPPO -FILIPOVIC -FILIPELLI -FILIMAUA -FILHIOL -FILGO -FILEDS -FILBERT -FIGUERA -FIGLIOLA -FIGART -FIETSAM -FIESELMAN -FIENE -FIELDHOUSE -FIEBIG -FIDEL -FIDA -FICKERT -FIATO -FEVOLD -FEUERBORN -FETCHKO -FESH -FESER -FERRUSO -FERRIOLO -FERRIOLA -FERRENCE -FERRAR -FERRAN -FERRAIZ -FEROZ -FERONE -FERNSTROM -FERNSTAEDT -FERNOW -FERKOVICH -FERGEN -FERDOLAGE -FERDINANDSEN -FERBRACHE -FENNEWALD -FENK -FENIX -FENDLER -FENCHEL -FELSKE -FELLINGER -FELICETTI -FELDPAUSCH -FEIGHAN -FEICHTER -FEHRLE -FEHRINGER -FEGARO -FEENER -FEELER -FEDORCHAK -FEDEROWICZ -FEDD -FEAUTO -FEAGEN -FEAGANES -FAZZINA -FAZZI -FAYKOSH -FAYARD -FAVUZZA -FAVOLISE -FAUSSET -FAUSKE -FAUSEL -FAUSCETT -FAULKNEN -FAULKENBURG -FATICA -FASTLABEN -FASTIC -FARZAN -FARSTVEDT -FARIN -FARGUHARSON -FARGNOLI -FARFALLA -FARESE -FARER -FARALDO -FARAJ -FARA -FANZO -FANTON -FANNEY -FANIZZI -FANION -FANELLE -FALTERMAN -FALSETTI -FALLONE -FALKIEWICZ -FALCONIO -FAKE -FAIRLEIGH -FAHRINGER -FAHRENKRUG -FAERBER -FADLEY -FADELEY -FACUNDO -FACK -FACE -FABY -FABRIZIUS -FABOZZI -FABISZEWSKI -FABIN -EZPELETA -EZPARZA -EYRICH -EYERMAN -EWOLDT -EWARDS -EVASCO -EVANICH -EVANGELO -EUSTACE -EUGLEY -EUERTZ -ETULAIN -ETCHELLS -ESSON -ESSKEW -ESSERY -ESSELINK -ESPINOL -ESPENOZA -ESPELIEN -ESPELAND -ESPADAS -ESLER -ESKE -ESKA -ESCURIEX -ESCOVAR -ESCORT -ESCHRICH -ESCHETTE -ESCHEN -ESCHBAUGH -ESCALON -ESCALERO -ESBRANDT -ESARY -ERTMAN -EROH -ERNESTO -ERLENBUSCH -ERLE -ERKE -ERICHSEN -ERIC -ERHOLM -ERBSTEIN -ERBST -EPPOLITO -EPPIHIMER -EPPICH -ENTIN -ENSLINGER -ENSLEN -ENOCKSON -ENNENGA -ENMAN -ENGLETT -ENGLESON -ENGLERTH -ENGL -ENGHOLM -ENGELKEN -ENGELKEMIER -ENGELHAUPT -ENGELBACH -ENDRIES -ENDOW -ENDITO -ENDERBY -ENCALLADO -EMZIAH -EMBT -EMBS -EMBELTON -EMARD -ELWONGER -ELVSAAS -ELUMBAUGH -ELSTNER -ELSMORE -ELSKAMP -ELSHANT -ELMBLAD -ELLSON -ELLIAS -ELLETSON -ELLESTAD -ELLERT -ELLERMANN -ELLERBROCK -ELLEMAN -ELLARS -ELLAND -ELIEZRIE -ELDIB -ELDERT -ELBE -EKWALL -EKHOLM -EKEN -EITNIER -EITNIEAR -EISENZIMMER -EISENSTADT -EISENSMITH -EISELMAN -EISBACH -EISAMAN -EIKEN -EIBELL -EHRKE -EHRISMANN -EHRENFELD -EHLMAN -EGIZI -EGITTO -EGGEMAN -EFFRON -EDNIE -EDELBROCK -EDDE -EDD -ECONOMOS -ECKOLS -ECKLOFF -ECHEGOYEN -EBIA -EBERLIN -EBBERS -EASTERBROOK -EARNEY -EARLEYWINE -EANNI -EADENS -DYRON -DYKHOFF -DYERS -DYDA -DYBALA -DWANE -DWAILEEBE -DUVERNE -DUVE -DUSEN -DUSATKO -DUSABLON -DURRETTE -DURPHEY -DURNIN -DURKES -DURETTE -DURDY -DURCH -DURACHER -DUPRAY -DUPOUX -DUPONTE -DUPERCLAY -DUPASS -DUPAR -DUNWIDDIE -DUNSING -DUNNAVILLE -DUNCOMB -DUNCKLEE -DUNAY -DUNAKIN -DUMPE -DUMES -DUMDEI -DUMAY -DULKIS -DUKICH -DUKAS -DUIN -DUGO -DUEWALL -DUEMMEL -DUELM -DUEBER -DUDMAN -DUDAK -DUCKHORN -DUCHSCHERER -DUCAT -DUCAS -DUBYK -DUBILL -DUBIANSKY -DUBALDI -DUA -DSPAIN -DRZAZGOWSKI -DRYMON -DRYLIE -DRUVENGA -DRUSCHEL -DRUNGO -DROZE -DROUSE -DROTT -DROSICK -DRONEBURG -DROESSLER -DROESCH -DROBNY -DRIZIN -DRIPPS -DRINKLEY -DRILLOCK -DRIESBACH -DRETZKA -DRESNER -DRENTLAW -DRENON -DREHS -DREHOBL -DRDA -DRAXLER -DRATH -DRAPEAUX -DRAGULA -DRAFTS -DRAFT -DOZER -DOXTATER -DOXIE -DOWST -DOWSON -DOWNTON -DOWLEN -DOWEY -DOWERY -DOUTY -DOUGHTRY -DOUGHTERY -DOTZLER -DOTTERER -DOTHARD -DOSHER -DOSAL -DORSO -DORSETTE -DORO -DORNFELD -DORKIN -DORKA -DORGE -DORCHY -DORAME -DOPLER -DOPICO -DOORE -DOOMS -DONNIE -DONNELLEY -DONNEL -DONAYRE -DONATELLO -DONACHIE -DOMINIGUEZ -DOMINGOS -DOMINGA -DOMINEY -DOMENGET -DOLORES -DOLLYHIGH -DOLLEN -DOLLAK -DOLEAC -DOLCH -DOLBEARE -DOKKA -DOKES -DOIRE -DOING -DOHRING -DOHOGNE -DOHNAL -DOHAN -DOERLE -DOERHOFF -DOEMELT -DOEHRING -DOEGG -DODSWORTH -DODOO -DODIER -DOCKENDORF -DOCKEN -DOBROWSKI -DOBRIN -DOBINE -DOBERSTEIN -DIZER -DIXEY -DIVITA -DIVEN -DIVALERIO -DITURI -DITTON -DISSPAIN -DISPARTE -DISMORE -DISILVESTRO -DISHONG -DISHIAN -DISETH -DISCENZA -DIRKSON -DIRKSE -DIRKER -DIRK -DIPIPPO -DIPINTO -DIPIERRO -DINNOCENZO -DINIZIO -DINIS -DINGIVAN -DINGFELDER -DINCHER -DIMUCCI -DIMPSON -DIMPFL -DIMITROV -DIMARZO -DILS -DILISIO -DILIBERTO -DILIBERTI -DILES -DILEONARDO -DILENA -DIJULIO -DIIULIO -DIGIUSEPPE -DIGA -DIFILLIPPO -DIFEBBO -DIENG -DIEKMAN -DIDYK -DIDRIKSEN -DICKUS -DICKOW -DICKESON -DICASTRO -DIBENEDETTI -DHALIWAL -DEZENZO -DEWYSE -DEWINTER -DEWATERS -DEWAELE -DEVOTO -DEVOR -DEVOOGD -DEVIVA -DEVITIS -DEVIT -DEVEYRA -DEVERICKS -DEVENUTO -DEVEJA -DEVAUGHAN -DEUTSCHENDORF -DEUINK -DEUBNER -DETZLER -DETULLIO -DETORE -DETHLEFSEN -DETHLEFS -DETAMBLE -DESREVISSEAU -DESOTEL -DESO -DESMEULES -DESMARIS -DESILVIO -DESHPANDE -DESCHAMBAULT -DESCAMPS -DESATNIK -DESAMITO -DESALLE -DESAK -DERWIN -DERTING -DERRAH -DEROVEN -DEROSSO -DEROMER -DERMOTT -DERINGER -DERICO -DERGA -DERFLINGER -DEREZINSKI -DERCK -DERBACHER -DERANICK -DEPUYDT -DEPUNG -DEPREE -DEPPERT -DEPIERRE -DEPHILLIPS -DEOJAY -DENZIN -DENTEN -DENTEL -DENNIES -DENINA -DENGER -DENEKE -DENEGRE -DENBOER -DENAPOLI -DEMSKY -DEMSEY -DEMOTTA -DEMMONS -DEMMAN -DEMENDONCA -DEMEESTER -DEMBOWSKI -DEMARCE -DEMAN -DEMALLIE -DEMAIRE -DELWICHE -DELPHIA -DELORE -DELLENBAUGH -DELLBRINGGE -DELLARATTA -DELLAPORTA -DELLAPENNA -DELLACIOPPA -DELIBERTO -DELIBERTIS -DELGENIO -DELCUETO -DELAURIE -DELAUDER -DELATRINIDAD -DELASH -DELAET -DEL -DEKREY -DEJOIE -DEITERS -DEIMUND -DEGRENIER -DEGRE -DEGRAND -DEGON -DEGESTON -DEGELBECK -DEGAUST -DEGASPARRE -DEFREECE -DEFENDERFER -DEFEE -DEEKEN -DEDON -DEDINAS -DEDICKE -DEDIC -DECRISTOFARO -DECOUD -DECOS -DECONTI -DECKERS -DECIO -DECENZO -DEBROUX -DEBROT -DEBRAY -DEBOEF -DEBIASIO -DEBETTIGNIES -DEBENEDITTIS -DEBBINS -DEBAECKE -DEARSON -DEARO -DEARDON -DEAQUINO -DEACETIS -DAYNE -DAYEM -DAX -DAWOUD -DAVITT -DAVITO -DAVIDOFF -DAUTERMAN -DAUGHTERTY -DAUGAARD -DAUDELIN -DAUBENDIEK -DATTILIO -DATCHER -DASOVICH -DASO -DASILUA -DASHEM -DAROU -DARKE -DARGIN -DARGA -DARCO -DARCEY -DAPAS -DANTOS -DANSON -DANNY -DANIELIAN -DANCHETZ -DANBY -DAMROW -DAMOURS -DAMBOISE -DAMBAKLY -DAMBACH -DAMASCO -DAMANN -DALLMEYER -DALLESANDRO -DALFONSO -DAKINS -DAKES -DAIRE -DAHILL -DAGUIO -DAGIS -DABDOUB -CZERKIES -CZARNOTA -CZACHOR -CZACH -CYPRESS -CYNTHIA -CYLKOWSKI -CYFERS -CWIAKALA -CVETKOVIC -CUZMAN -CUZICK -CUTTLER -CUTT -CUTI -CUTFORTH -CUTCHINS -CUTCHALL -CUSHWA -CURO -CURBEAM -CUNNICK -CUNEIO -CUNDICK -CUMBAA -CULTICE -CULLITY -CULLIP -CULLIFER -CUCVAS -CUCULICH -CUCINO -CUBETA -CSER -CRUPPER -CRUNKILTON -CRUDEN -CROVER -CROUTER -CROUGH -CROUCHET -CROSTHWAITE -CROON -CRONSHAW -CRONENBERG -CROME -CROMAN -CROGNALE -CROGAN -CROASMUN -CRISTOFORI -CRISTIANO -CRISAN -CRINGLE -CRINCOLI -CRILL -CRIEGHTON -CRIDGE -CRIBLEZ -CRELLIN -CREGEEN -CREEKS -CREATH -CREACY -CRAZIER -CRAWMER -CRAWHORN -CRATIN -CRAPSER -CRAPSE -CRANMORE -CRAMM -CRAMBLIT -CRAMBLET -CRAGIN -CRACAS -COZZONE -COYCO -COXEY -COWPER -COWETT -COVONE -COVILL -COVERTON -COUNCILMAN -COULTRAP -COULAS -COUGHENOUR -COUGH -COTTY -COTHERMAN -COTHER -COSTANTINI -COSSELL -COSSANO -COSLEY -COSLETT -COSKEY -COSGRAY -CORZA -CORVI -CORVAN -CORSETTI -CORSCADDEN -CORSA -CORROW -CORRICE -CORRERO -CORREALE -CORRE -CORNA -CORKE -CORID -CORELLI -CORDONNIER -CORDONA -CORAK -COPPLER -COPELAN -COORE -COONRADT -COONES -COOKUS -CONVENIENCIA -CONTRERRAS -CONTRENAS -CONTORNO -CONSTANTINI -CONSTANTINEAU -CONSOLVER -CONRATH -CONNET -CONNERLY -CONLIFFE -CONFORTO -CONDA -CONCA -CONALES -COMPONO -COMPAU -COMMENDATORE -COMINGS -COMBOY -COMBASS -COLTRIN -COLPETZER -COLONEL -COLOMBINI -COLOGIE -COLLA -COLBETH -COLBAUGH -COLASUONNO -COLAPINTO -COLAMARINO -COLALUCA -COLAIANNI -COLAFRANCESCO -COLACE -COLABELLA -COGGSDALE -COFFILL -CODISPOTI -CODELL -COCOROS -COCOPOTI -COCOLA -COCKLEY -COCKEY -COCHRON -COCH -COBDEN -COATSWORTH -COARSEY -COAR -CLYMORE -CLUMPNER -CLOUGHER -CLOLINGER -CLINKINGBEARD -CLINEMAN -CLEWES -CLEMMENTS -CLAYPOLE -CLAYBURG -CLAYBRON -CLAYBON -CLAUGHTON -CLASE -CLARENBACH -CLANKSCALES -CLAMPETT -CLAESSENS -CLABURN -CITRIN -CISNEY -CIRRI -CIPRO -CIPKOWSKI -CIONE -CINQUANTI -CINK -CIMIANO -CIERVO -CIERS -CICORA -CICIORA -CICIONE -CICERELLI -CICCOLINI -CICCARONE -CICARELLA -CIARLETTA -CIACCIO -CHUTA -CHUSTZ -CHURAN -CHUMBLER -CHUBA -CHRUCH -CHRISTLER -CHRISTINSEN -CHRISTINAT -CHRISTELLO -CHRISPIN -CHRISMER -CHRISLIP -CHRISJOHN -CHRESTMAN -CHOUTE -CHOUGH -CHORLTON -CHOMKA -CHMELICEK -CHIULLI -CHISLOM -CHIRAS -CHINZI -CHINNERY -CHINICK -CHIM -CHILVERS -CHILO -CHIARMONTE -CHIARENZA -CHIAPETTI -CHHUON -CHHOUR -CHHEANG -CHETRAM -CHESSHER -CHERRIER -CHEREPY -CHERENFANT -CHENOT -CHELI -CHECA -CHEATHAN -CHEARS -CHAUVAUX -CHAUDOIN -CHAUARRIA -CHATTERS -CHATLOS -CHATLEY -CHASEY -CHARVES -CHARSKY -CHARANIA -CHAPLEN -CHAPLE -CHANNER -CHANDER -CHAMPEY -CHAMPEAU -CHALLEN -CHALL -CHALKLEY -CHALET -CHALCRAFT -CHAIX -CHADICK -CHADBOURN -CHABAN -CESARI -CERVONI -CERVIN -CERTALICH -CERNI -CERNEY -CEREO -CERCE -CERAVOLO -CEPARANO -CENTRELLA -CENTNER -CENTANO -CENAT -CELMER -CELENZA -CELADON -CEFARATTI -CEFALO -CEDILLOS -CECILIA -CECHINI -CECALA -CEASE -CEARNS -CAZEAU -CAYSON -CAYANAN -CAVALLARIO -CAUTHRON -CATTRELL -CATTERSON -CATRONE -CATONE -CATOGGIO -CATERINO -CATCHING -CATALANI -CASTRATARO -CASTOE -CASTLES -CASTILLANOS -CASTELLONESE -CASTELHANO -CASSMAN -CASSIUS -CASSISSE -CASSEM -CASSANI -CASSANDRA -CASOLA -CASELLI -CASCONE -CASBURN -CASBEER -CASBARRO -CARRIN -CARREKER -CARREA -CARRE -CARRAUZA -CARRANZO -CARPINELLO -CAROLIN -CARMOLLI -CARMENA -CARMELL -CARMAIN -CARLYE -CARLSTEN -CARLOUGH -CARLONE -CARINGI -CARINE -CARIN -CARELA -CARDONO -CARDLE -CARDINALI -CARDI -CARDERA -CARBACK -CAPUZZI -CAPRACOTTA -CAPPO -CAPPLEMAN -CAPPARELLI -CAPONERA -CAPLENER -CAPANNA -CAOILI -CAOILE -CANZIO -CANTORAN -CANTILLO -CANTA -CANONICA -CANNINGTON -CANNIFF -CANGAS -CANEVAZZI -CANES -CANELES -CANDIDO -CANDERS -CANCE -CANAWAY -CANARTE -CANARIO -CANAN -CAMREN -CAMPUSANO -CAMPMAN -CAMM -CAMINOS -CAMFERDAM -CAMERENA -CAMELL -CAMAK -CAMAJ -CALWAY -CALVINO -CALVETTI -CALVANI -CALTABIANO -CALNIMPTEWA -CALNICK -CALNEN -CALMESE -CALLANDER -CALLABRASS -CALIZ -CALIJA -CALGER -CALENDINE -CALDERARA -CALCARA -CALAMITY -CAILLER -CAHO -CAGUIMBAL -CADOFF -CADDICK -CADAVIECO -CABOS -CABILTES -CABIBBO -CABELLERO -CABASSO -CABALLES -CABADING -CAAL -BYRA -BYOD -BYNON -BYNER -BYNAM -BYKER -BUZZI -BUZZEO -BUTZEN -BUTTZ -BUTTERIS -BUTKIEWICZ -BUTEAUX -BUSTAD -BUSSONE -BUSMAN -BUSHMAKER -BUSCHE -BURWINKEL -BURUM -BURTLESS -BURSI -BURRUP -BURROSS -BURRIES -BURRICHTER -BURRELLI -BURON -BURO -BURNSTEIN -BURNAUGH -BURNAP -BURKDOLL -BURIS -BURINGTON -BURGUN -BURGIE -BURGHARD -BURGH -BURGAS -BURGARDT -BURGA -BURDESS -BURCIN -BURCHFIEL -BURCHESS -BURANDT -BUONANNO -BUONAMICI -BUNTJER -BUNGERT -BUNDSCHUH -BUMPS -BUMAN -BULOSAN -BULLOCKS -BULLIE -BULARZ -BULAND -BUJARSKI -BUHMANN -BUHMAN -BUGNA -BUGLISI -BUGGY -BUEMI -BUDKE -BUDER -BUDDS -BUDDIE -BUCZAK -BUCKWALD -BUCKOVITCH -BUCKHOLTZ -BUCKHANAN -BUCHETTO -BUCHAUER -BUCCIARELLI -BUCCHERI -BUCARAM -BUBIS -BUBASH -BUBAK -BRZOSTEK -BRZEZOWSKI -BRYTON -BRUSUELAS -BRUSSELL -BRUSCHI -BRUNDRETT -BRUNDIN -BRUMET -BRULEY -BRUK -BRUG -BRUESTLE -BRUDNER -BRUCCOLERI -BROZIE -BROXTERMAN -BROX -BROWY -BROWNLE -BROWM -BROWARD -BROUWERS -BROUSARD -BROUGHT -BROTHERSON -BROTEMARKLE -BROSSOIT -BROSCIOUS -BROOMS -BROOMHALL -BROOKSHAW -BROOKHOUSE -BRONCHETTI -BROKS -BROIDA -BROHL -BROGLIE -BROFFT -BROERMANN -BROENNEKE -BRODNEX -BRODKA -BRODISH -BROCKELMEYER -BROCKBERG -BROCH -BROCCOLI -BROBECK -BROADSTONE -BRITTMAN -BRISLAN -BRISK -BRISENTINE -BRINGHURST -BRINDEL -BRINDA -BRINCKS -BRIMEYER -BRIHM -BRIGNOLO -BRIGLIA -BRIGHI -BRIENT -BRIDENBAKER -BRIDDELL -BRIANTE -BRIANS -BRIAGAS -BREVO -BREU -BRETTO -BRETTHAUER -BRESLAUER -BRESEMANN -BRENTARI -BRENNING -BRENHAUG -BRENGETTEY -BRENEK -BRENDAL -BRENAGH -BREILING -BREIDENBAUGH -BREHANT -BREGEL -BREDEWEG -BREDEHOFT -BRECEDA -BRAYLOCK -BRAUSE -BRAUNING -BRAULIO -BRAUKUS -BRAUCHER -BRATCHETT -BRASSEUR -BRASSER -BRANSTUTTER -BRANSTAD -BRANSCOMBE -BRANNICK -BRANDOLINI -BRANDLY -BRANDENBERG -BRANDEIS -BRANDAL -BRANCIFORTE -BRANCHEAU -BRANCATI -BRAMLETTE -BRAMLET -BRAKHAGE -BRAITMAN -BRAISTED -BRADFUTE -BRACKS -BRACKET -BRACCIA -BRAAM -BOZZONE -BOZENSKI -BOZARD -BOYSON -BOYLSTON -BOXWELL -BOWLEN -BOWDLE -BOWDICH -BOWARD -BOVIA -BOVEY -BOVEN -BOUZA -BOUWMAN -BOUWKAMP -BOUTIETTE -BOURSAW -BOURRET -BOURGOYNE -BOUNLEUT -BOUND -BOUMA -BOULERIS -BOULER -BOUGHMAN -BOUGHAMER -BOUDOIN -BOUDEWYNS -BOTWINICK -BOTTONE -BOTTINO -BOTTICELLO -BOTTEN -BOTTARO -BOTTALICO -BOSTEL -BOSHES -BOSHARD -BOSELL -BOSCARELLO -BORY -BORSARI -BOROK -BORODEC -BORNMANN -BORMUTH -BORMET -BORLING -BORLACE -BORKIN -BORKENHAGEN -BOREEN -BORDIN -BORCHERDING -BOOTE -BOORAS -BOODY -BONTON -BONTEMPS -BONOMINI -BONINA -BONIFER -BONGARTZ -BONESS -BONEFONT -BONEFIELD -BONDER -BONDE -BONDANZA -BONAVIA -BONAMO -BONADURER -BOMKAMP -BOLOGNIA -BOLLICH -BOLLACKER -BOLINSKY -BOLDOSSER -BOLDON -BOLDA -BOLADO -BOKEN -BOK -BOISSELLE -BOISEN -BOIS -BOHS -BOHNENBLUST -BOHLIG -BOHINC -BOGUMIL -BOGIE -BOGGIONI -BOGGI -BOGENSCHNEIDE -BOGEMA -BOGE -BOGDANSKI -BOGDANOVICH -BOETTNER -BOESIGER -BOESEL -BOENSCH -BOELE -BOEKEN -BOEHNING -BOEHLAR -BODWELL -BODREAU -BODOVSKY -BODA -BOCZAR -BOCLAIR -BOCKEMEHL -BOCHENSKI -BOCHAT -BOCH -BOCCIO -BOCCHICCHIO -BOCCANFUSO -BOBZIEN -BOBSON -BOBINO -BOBIER -BOBECK -BOBAK -BOARTS -BOARDWINE -BOALDIN -BOAKYE -BOADY -BLUNDEN -BLUMENSTOCK -BLOVIN -BLOUIR -BLOSCHICHAK -BLOOME -BLOODOUGH -BLONDER -BLOMMER -BLOK -BLOESER -BLINKS -BLINKA -BLINE -BLICKEM -BLEYL -BLEWS -BLESS -BLENNER -BLEIMEHL -BLECKER -BLEASDALE -BLEAKNEY -BLATNICK -BLASKI -BLARE -BLANZY -BLANKUMSEE -BLANCETT -BLAICH -BLADA -BLACKBUM -BJORSETH -BJORLIN -BIZZARO -BIVIN -BITETTO -BISSO -BISKUP -BISKACH -BISIO -BISI -BISHARD -BISESI -BISACCIA -BIRTCHER -BIRRITTELLA -BIRKHIMER -BIRKEY -BIRINGER -BIREN -BIRDETTE -BIRAK -BIO -BINKER -BINK -BINGLER -BINGERT -BINGAMON -BINDAS -BILSON -BILLOW -BILLON -BILLO -BILLE -BILIS -BILICH -BILER -BILEK -BILDEN -BILAZZO -BILA -BIGUS -BIGGART -BIGGAR -BIGAUD -BIESHEUVEL -BIERNACKI -BIERLEY -BIERLEIN -BIELEFELDT -BIEDERMANN -BIEDENBENDER -BIDDULPH -BICKSLER -BICKES -BICEK -BICA -BIBIANO -BIANGONE -BI -BEZZO -BEZDICEK -BEYT -BEYDLER -BEVELACQUA -BEUTHER -BEUCKE -BETZOLD -BETTMAN -BETTINO -BETTERLEY -BETANCOURTH -BESSEL -BESKA -BESCHORNER -BERWALD -BERUM -BERTOTTI -BERTORELLI -BERTOLDO -BERTOLAMI -BERTLEY -BERTEOTTI -BERTAINA -BERSTLER -BERNIARD -BERNDSEN -BERNADETTE -BERLINSKI -BERKSTRESSER -BERKS -BERKOVICH -BERKOFF -BERKHIMER -BERKERY -BERGMARK -BERGA -BERFIELD -BEREZNAK -BERESKY -BERENGER -BERENDZEN -BERENDT -BERCZEL -BERCH -BERBES -BERARDINELLI -BEPPU -BENZIGER -BENZIE -BENZANGO -BENTHALL -BENTANCOURT -BENSBERG -BENNO -BENNIN -BENNES -BENKEN -BENIKE -BENIGNI -BENESTAD -BENDTSEN -BENDIS -BENDIG -BENDETTI -BENDELE -BENASHER -BENACK -BEMBEN -BELTS -BELROSE -BELNAS -BELLUSCI -BELLOSO -BELLIZZI -BELLINGHAUSEN -BELLIARD -BELLETTO -BELLETTIERE -BELKO -BELITZ -BELFANTI -BELDON -BEKIS -BEJCEK -BEITLER -BEISER -BEINE -BEILEY -BEIERSCHMITT -BEHRLE -BEHRAN -BEHLMER -BEHLKE -BEGUELIN -BEGHTOL -BEGER -BEGEAL -BEEZLEY -BEESMER -BEERER -BEERE -BEERBOHM -BEENEL -BEELBY -BEECKEN -BEDOR -BEDE -BEDDOWS -BEDDOW -BEDDIA -BECKY -BECKIUS -BECKFIELD -BECKEM -BECENA -BEAVIS -BEAUMONTE -BEAUMAN -BEAUHARNOIS -BEAUDINE -BEASLY -BEALES -BE -BAZYLEWICZ -BAZNER -BAZEL -BAYTOS -BAYTON -BAYT -BAYLOCK -BAYIRD -BAYGENTS -BAXA -BAWNER -BAWDEN -BAVELAS -BAUSKE -BAUMBERGER -BAUL -BATTUELLO -BATTIG -BATTERMAN -BATTANI -BATTAGLINO -BATIMON -BATHKE -BATERS -BATCH -BATAS -BATARA -BATALA -BASTINE -BASSANI -BASSALI -BASKIND -BASEMAN -BASEHORE -BASARA -BARZE -BARWELL -BARUT -BARUFFA -BARTLOME -BARTIN -BARTHOL -BARTHELL -BARTERS -BARSWELL -BARSHAW -BARRIGAN -BARRIA -BARRASA -BARRACO -BARNTHOUSE -BARNT -BARMES -BARKHIMER -BARIOS -BARIO -BARINO -BARIE -BARICK -BARFUSS -BARFKNECHT -BARER -BAREFORD -BARDIS -BARCLEY -BARCHICK -BARCENA -BARBUR -BARBOR -BARBIN -BARBEN -BARBELLA -BARBAGLIA -BARANSKY -BARAGAN -BAQUIRAN -BANZHAF -BANTER -BANKOWSKI -BANET -BANDT -BANASZEK -BANANA -BALQUE -BALOWSKI -BALLOG -BALLINA -BALLENSKY -BALLATO -BALIGA -BALDOMERO -BALDEN -BALDE -BALDASSARE -BALBONTIN -BALBAS -BALASSI -BALANDRAN -BAKKALA -BAKHSHIAN -BAKERVILLE -BAKALER -BAJAJ -BAITES -BAISTEN -BAIRAM -BAILARD -BAIERL -BAICHAN -BAI -BAHRS -BAGOZZI -BAGNI -BAGNATO -BAGLIONE -BAGGIO -BAGGESEN -BAGGENSTOSS -BAGAN -BAESSLER -BAERMAN -BAERLOCHER -BADGERO -BADDOUR -BADAMI -BACULPO -BACIO -BACIGALUPO -BACHTA -BACHAR -BACCHI -BABROW -BABONIS -BABISH -BABICKE -BABEU -BAAB -AZZOPARDI -AZORE -AZEN -AYKROID -AXON -AXELRAD -AWKARD -AWENDER -AVON -AVIRETT -AVERITTE -AVERBECK -AVELLANO -AVARY -AUWAERTER -AUTRANO -AUTERI -AUSTGEN -AUSDEMORE -AURICH -AUMEN -AULER -AUGUSTYNIAK -AUGLIANO -AUGHTMAN -AUE -AUDUONG -AUCTER -ATTIANESE -ATILES -ATHAS -ASTURIAS -ASTRUP -ASTLEY -ASSANTE -ASPDEN -ASPACIO -ASLEY -ASLESON -ASKVIG -ASKEGREN -ASKAM -ASHMEN -ASHAUER -ASFOUR -ASCHOFF -ASCHIM -ASCHAN -ASAL -ARZO -ARVESEN -ARROW -ARROCHA -ARRIS -ARRIBAS -ARQUITT -ARONE -AROCHE -ARNT -ARNOUX -ARNOLDI -ARNING -ARNHOLT -ARNDORFER -ARMSON -ARMENT -ARLOTTA -ARLINGHAUS -ARLIA -ARKEMA -ARIZAGA -ARISUMI -ARISTIDE -ARIS -ARIF -ARIANO -ARGUILEZ -ARGUDO -ARGROW -ARGIRO -ARGETSINGER -ARFMAN -ARENBURG -AREDONDO -AREA -ARDRY -ARDNER -ARDIZONE -ARCUDI -ARCIZO -ARCILA -ARCHILLA -ARCHANGEL -ARCEGA -ARBUCCI -ARATO -ARANO -ARAN -ARAGAN -APOSTOL -APOLITO -APLAND -APKIN -APERGES -APALATEGUI -APAEZ -ANZORA -ANTONSEN -ANTOLOS -ANTOLINI -ANTMAN -ANTER -ANSPAUGH -ANSELM -ANNONIO -ANNICHIARICO -ANNIBALE -ANNARUMO -ANLIKER -ANKRAPP -ANKENMAN -ANHORN -ANGTON -ANGRISANO -ANGON -ANGOLO -ANGLETON -ANGLEBRANDT -ANGLEA -ANGLADE -ANGILLETTA -ANGERON -ANGELOTTI -ANGELBECK -ANGELA -ANEZ -ANDUEZA -ANDRULIS -ANDRONIS -ANDREU -ANDREONI -ANDERT -ANDERLIK -ANAUO -ANASTASIADES -ANANIAS -ANAND -AMUSO -AMRICH -AMR -AMOUR -AMOSS -AMOROSI -AMOAKO -AMOAH -AMMIRATO -AMMAR -AMIRIAN -AMIOT -AMIDI -AMEDURI -AMDERSON -AMBUEHL -AMASS -AMANZA -AMADIO -ALWANG -ALWAN -ALVINE -ALVARRAN -ALVARRACIN -ALVANEZ -ALUQDAH -ALTSHULER -ALTONEN -ALTMILLER -ALTKEN -ALTIERY -ALTHISER -ALTARAS -ALSTROM -ALSTAD -ALSBURY -ALSBERRY -ALQUIJAY -ALPHA -ALONZA -ALOIA -ALNAS -ALMERICO -ALMENAR -ALMEN -ALLWOOD -ALLSTOTT -ALLRIDGE -ALLEVA -ALLENSON -ALLENBAUGH -ALLEGRETTA -ALLEGRA -ALLBRITTEN -ALLARA -ALLAMON -ALKEN -ALIZADEH -ALIREZ -ALIRES -ALINE -ALIM -ALGIRE -ALGIER -ALGIEN -ALFONSI -ALEXY -ALEXNDER -ALESSANDRONI -ALERT -ALEMANY -ALEKSEY -ALDERTON -ALDERFER -ALDAVA -ALDAPA -ALCONCEL -ALBORNOZ -ALBINI -ALBERGOTTI -ALBEN -ALBEA -ALBANG -ALARIO -ALAMILLA -ALALEM -AKONI -AKLES -AKANDE -AKAMINE -AJASIN -AIYER -AIHARA -AHRENDES -AHERNS -AHARONI -AGUNOS -AGULIAR -AGUILLAR -AGUDO -AGORAS -AGNOR -AGNI -AGERS -AGEL -AERY -AERTS -ADON -ADESSA -ADERSON -ADERMAN -ADEMA -ADELSBERG -ADELBLUE -ADEL -ADDIEGO -ADAS -ADAMCIK -ACQUILLA -ACKMANN -ACHTERHOF -ACHANE -ABUHL -ABRIAL -ABREAU -ABOULAHOUD -ABOUDI -ABLAO -ABILEZ -ABETE -ABERSON -ABELMAN -ABELARDO -ABEDELAH -ABDULMATEEN -ABATO -AAS -AARESTAD -AANENSON -ZYMOWSKI -ZYLA -ZYBIA -ZWOLSKI -ZWIGART -ZUWKOWSKI -ZUROVEC -ZURKUHLEN -ZUPPA -ZUNICH -ZUMPFE -ZUMALT -ZULKOWSKI -ZULFER -ZUGG -ZUERLEIN -ZUEHLS -ZUCKERBERG -ZUCHELKOWSKI -ZUCCHETTO -ZUCCA -ZUBROWSKI -ZUBIZARRETA -ZSADANYI -ZRAKE -ZOTTI -ZOSEL -ZOLTEK -ZOLLA -ZOGOPOULOS -ZOGBY -ZMEK -ZITZMANN -ZITZELBERGER -ZIRKER -ZINZOW -ZIMICK -ZIMERMAN -ZILK -ZIGOMALAS -ZIESMAN -ZIERNICKI -ZIERKE -ZIERK -ZIERENBERG -ZIERDEN -ZIEMS -ZIEGER -ZIEBERT -ZICAFOOSE -ZIC -ZIBELL -ZIADA -ZIAD -ZHEN -ZETZER -ZETINO -ZERPHEY -ZERCHER -ZERAN -ZEPHYR -ZELONIS -ZELLINGER -ZELKO -ZELIFF -ZELEZNIK -ZEKRIA -ZEIDMAN -ZEHRER -ZEHRBACH -ZEHERQUIST -ZEHENDER -ZEGAR -ZEGA -ZECHIEL -ZECCARDI -ZEBRACKI -ZEAVALA -ZBIERSKI -ZAZA -ZAYICEK -ZAWISTOWSKI -ZAWASKY -ZAVITZ -ZAVERL -ZAVCEDO -ZAVATTIERI -ZAVACKY -ZAUSCH -ZATORSKI -ZARRABI -ZARLINGO -ZARIN -ZARILLO -ZAREN -ZAPEL -ZAPATERO -ZANTOW -ZANT -ZANNINI -ZANGGER -ZANFARDINO -ZANARDI -ZAN -ZAMPELLA -ZAMORO -ZAMBORANO -ZAMBELLI -ZALAMEA -ZAJDEL -ZAIS -ZAHOUREK -ZAHAREK -ZAGULSKI -ZAGACKI -ZADINA -ZACZEK -ZACHTER -ZACHARIAH -ZACCHINI -ZABENKO -ZABBO -YUSKA -YUSCAK -YUROVIC -YUREK -YUNES -YUMAS -YUK -YUDELL -YSAGUIRRE -YRAY -YOZZO -YOVAN -YOUSSEFI -YOUSKO -YOUNGHANS -YOUMON -YOULA -YOTTER -YOSHI -YOSEPH -YORCK -YONO -YONEOKA -YONASHIRO -YOMES -YOKEL -YOEST -YNOCENCIO -YEWELL -YETZER -YETSKO -YERTY -YEROPOLI -YERKA -YERGIN -YENOR -YEM -YELEY -YEAREGO -YEAKEL -YAZZLE -YAZZI -YAZDANI -YAWS -YASIKA -YARWOOD -YARRIS -YAROCH -YARMITSKY -YARA -YANTZI -YANNUCCI -YANNAYON -YANNANTUONO -YANKOVSKI -YANKOVITCH -YANDOW -YANCHIK -YANAGIHARA -YANAGIDA -YANACEK -YAMANOHA -YAMAKI -YALON -YAKLIN -YAKE -YAIVA -YAISH -YAHNE -YAFUSO -YAFAIE -YACULLO -YACOVONE -YACOUB -XYONG -XAYASITH -WYZE -WYROSTEK -WYNES -WYKER -WYGAL -WYBENGA -WURZ -WUNG -WUESTE -WUBNIG -WUBBENA -WUBBEN -WRZESIEN -WRYNN -WRIGHTINGTON -WRIDE -WREYFORD -WOYTOWICH -WOYTEK -WOSICK -WORKOWSKI -WORELL -WORDLOW -WORCHESTER -WOOWARD -WOOLHISER -WOODLIN -WOODKA -WOODBECK -WOODAL -WONDOLOSKI -WONDERLING -WOLSDORF -WOLPER -WOLLERT -WOLLENBURG -WOLINE -WOLFING -WOLFENSPERGER -WOLBRECHT -WOJNOWSKI -WOJEWODA -WOJDAK -WOHLFEIL -WOHLERT -WOGE -WOELFL -WODICKA -WOBSER -WOBBE -WNUKOWSKI -WNOROWSKI -WMITH -WLODAREK -WIZA -WITUCKI -WITTRUP -WITTNEBEL -WITTHOEFT -WITTENBRINK -WITTBRODT -WITKOWSKY -WISNOWSKI -WISELY -WIRTZFELD -WIRFS -WIPFLI -WINTERBERG -WINSLETTE -WINSCOTT -WINNICKI -WINNEN -WINIK -WINGEIER -WINDSHEIMER -WINDROW -WINDHORST -WINDFIELD -WINDAUER -WINCAPAW -WIN -WIMBROW -WIMBLE -WILUND -WILSHUSEN -WILSEN -WILLOCK -WILLMERT -WILLIES -WILLIEMAE -WILLIAMIS -WILLIA -WILLI -WILLETO -WILLBORN -WILKUS -WILKSON -WILKOFF -WILDRIDGE -WILCZAK -WILCUT -WIKLUND -WIGGAN -WIGAND -WIG -WIESEMANN -WIESEMAN -WIERSTEINER -WIENBERG -WIELOCK -WIELGASZ -WIEGARD -WIEDRICH -WIEDERHOLT -WIEBEN -WIDJAJA -WIDERA -WIDE -WICKLIN -WICKERSHEIM -WIBORG -WIATROWSKI -WHY -WHITTUM -WHITTINGHILL -WHITTENBECK -WHITIKER -WHITEY -WHITER -WHITELIGHTNIN -WHITCOME -WHISTED -WHIRLOW -WHILES -WHILDEN -WHETZELL -WHELIHAN -WHEELDON -WHEATER -WHALTEY -WEYNAND -WEYKER -WEYDERT -WEUVE -WETZSTEIN -WETZELL -WESTLER -WESTERMEIER -WESTERMARK -WESTERMANN -WESTERHOFF -WESTBROOKE -WESKE -WESER -WERST -WERREMEYER -WERNSMAN -WERNEX -WERN -WERME -WERLINE -WERK -WERGIN -WERDLOW -WERDERMAN -WENT -WENSMAN -WENSKE -WENDORFF -WELZEL -WELTHA -WELLINGHOFF -WELDING -WEIT -WEISSENBACH -WEISPFENNING -WEISMANTLE -WEISBECKER -WEIRAUCH -WEINZIERL -WEINRIB -WEINLAND -WEINFURTER -WEINBURG -WEIHER -WEIG -WEIDOWER -WEICHT -WEIBE -WEHKING -WEGLAGE -WEGIEL -WEDIGE -WECKWERTH -WEATHERINGTON -WEASEL -WEANT -WEALER -WEAGRAFF -WEADER -WAYTS -WAYSON -WAYMON -WAYGOOD -WAYFORD -WAYCHOWSKY -WAVERLY -WATTIGNY -WATSKY -WATRY -WATES -WATAH -WASURICK -WASSAM -WASKOM -WASKIN -WASHUM -WASHPUN -WASHLER -WASER -WARZYBOK -WARSTLER -WARRILOW -WARRAN -WAROWAY -WARNTZ -WARNBERG -WARMKA -WARMBROD -WARLOW -WARLOCK -WARDE -WAR -WAPP -WANTUCK -WANNLUND -WANNARKA -WANKO -WANDELL -WALUND -WALTOS -WALTHO -WALSTRUM -WALROD -WALPER -WALN -WALLWORK -WALLO -WALLMAN -WALLISER -WALLIE -WALLENBROCK -WALLAU -WALKA -WALIZER -WALGREN -WALEY -WALEN -WALDROOP -WALDERON -WAL -WAKEFORD -WAITZ -WAISS -WAISANEN -WAIS -WAINKRANTZ -WAHN -WAHDAN -WAHBA -WAGNOR -WAGGY -WAGEMANN -WAGATSUMA -WAFFENSCHMIDT -WAEGNER -WADDUPS -WADDLES -WADAS -WACHT -WAAS -WAAGA -VUOSO -VUKELJ -VRIENS -VREDEVELD -VRBAS -VRANICAR -VOVAK -VOTSMIER -VOSTAL -VORSBURGH -VORNES -VOPAVA -VONSEEGER -VONSCHRILTZ -VONHOLT -VONGSAMPHANH -VONGKHAMPHANH -VONGKHAMCHANH -VONFELDEN -VONER -VONDRASEK -VONDRACEK -VONDERHAAR -VONDERAHE -VONBANK -VOLPONE -VOLMAR -VOLLMERS -VOLLETTE -VOLINSKY -VOLEK -VOLBERT -VOJNA -VOIGTLANDER -VOGELZANG -VOELTZ -VOELKERDING -VOCELKA -VLJERIC -VLEMING -VLCHEK -VIZZI -VIXAYACK -VIXAY -VIVYAN -VIVION -VITRANO -VITEZ -VITELLARO -VISOUNNARAJ -VISICK -VISCOSI -VIROSTKO -VIRGILE -VIRGADAMO -VIRANT -VINTILA -VINTI -VINT -VILVEN -VILT -VILLNAVE -VILLESCAZ -VILLE -VILLASIS -VILLAPLANA -VILLAO -VILLANVEUA -VILLANVERA -VILLANDRY -VILLAMAYOR -VILLAMARIN -VILLALUZ -VILLALUAZO -VILLAIRE -VILLACRUSIS -VILEGAS -VILDOSOLA -VIKER -VIJIL -VIJAYAN -VIGNEAU -VIGILO -VIGIANO -VIEU -VIETZKE -VIERK -VIENGXAY -VIEAU -VIDAS -VIDACA -VICUNA -VICUEROA -VICENTENO -VIAS -VIARD -VIANO -VIALE -VIAFARA -VEZZA -VEVEA -VETTERKIND -VETTERICK -VETO -VESSAR -VESPERAS -VESLEY -VERWERS -VERUNZA -VERSO -VERSAGE -VERRUE -VERRONE -VERRASTRO -VERPLANCK -VERONE -VERNAZZA -VERLINDEN -VERLIN -VERKUILEN -VERFAILLIE -VENZOR -VENTURELLI -VENSKOSKE -VENNING -VENNEMAN -VENERI -VENDIG -VENCE -VELTKAMP -VELTHUIS -VELOVIC -VELLER -VELKY -VELEGA -VELARDES -VEKSLER -VEITINGER -VEHRENKAMP -VEGERANO -VEDOVELLI -VEASMAN -VBILES -VAUTIER -VAULET -VATTEROTT -VASUDEVAN -VASOS -VASEK -VASALLO -VARQUEZ -VARQUERA -VAROZ -VARONE -VARISCO -VARIEUR -VARANDA -VANZIE -VANWYCK -VANWHY -VANWEERD -VANWECHEL -VANVUREN -VANVORST -VANVELDHUIZE -VANUDEN -VANTUYLE -VANTULL -VANSTEENHUYSE -VANSTEENBERG -VANSON -VANSISE -VANSCHOOR -VANSCHOIACK -VANROSSUM -VANOSDOL -VANOS -VANORSOUW -VANONI -VANNUCK -VANLINDEN -VANLIER -VANLAERE -VANINETTI -VANHOVE -VANHOUTTE -VANHOECKE -VANHEUSEN -VANHAMME -VANHAM -VANGORDON -VANEEKELEN -VANDONSEL -VANDEVANTER -VANDESANDE -VANDERNOOT -VANDERJAGT -VANDERIET -VANDERHURST -VANDERBIE -VANDAWALKER -VANDAELE -VANBLARICUM -VANBEVEREN -VANAMERONGEN -VANAMBURGH -VANALSTIN -VALTAS -VALME -VALLOW -VALLOTTON -VALLIANT -VALLEGOS -VALLAR -VALLADORES -VALERINO -VALERIANI -VALELA -VALDO -VALANT -VALADO -VAJNAR -VAIS -VAGNIER -VADLAMUDI -VACTOR -VACCARELLO -VACARRO -UZZO -UUTELA -UTZIG -USETED -URTZ -URTIZ -URTIAGA -URTEAGA -URQUIDES -URMSTON -URMOS -URBANY -URBAEZ -UPTMOR -UPOLE -UPHOLD -UOY -UNVERZAGT -UNVARSKY -UNTERSEHER -UNTERMAN -UNGLESBEE -UNDERDUE -UNCAPHER -UMEH -ULVEN -ULVAN -ULSHAFER -ULSAMER -ULJEVIC -ULBRICHT -ULABARRO -UJANO -UIMARI -UIHLEIN -UGOLINI -UGLUM -UFFORD -UECKERT -UDANI -UCHIYAMA -UBL -UBALDO -TYRIE -TYNDAL -TYMS -TYLWALK -TYERYAR -TWILLIGEAR -TWIDWELL -TWARDY -TUZZIO -TUTTEROW -TUTAJ -TURZIANO -TURZAK -TURTURA -TURTLE -TURRIETTA -TURNS -TURNELL -TURNEER -TURNBILL -TURELLO -TURBACUSKI -TUPAJ -TUPACYUPANQUI -TUOMI -TUOMALA -TUOHEY -TUNING -TUMOLO -TUMAN -TULLAR -TULINO -TUGGERSON -TUCKERSON -TUCKE -TUCHY -TUCEK -TUCCIARONE -TUAMOHELOA -TUAI -TUA -TSU -TSIRONIS -TSING -TSIATSOS -TSEMETZIS -TSCRIOUS -TSAU -TSASIE -TSAKONAS -TRYPALUK -TRYGG -TRUXELL -TRUVER -TRUSSO -TRUSH -TRUSELLO -TRUOCCHIO -TRUNCELLITO -TRUMPS -TRUMPER -TRUMBLEY -TRULLI -TRUHE -TRUGLIA -TRUFIN -TRUDNOWSKI -TRUDICS -TRUDGEON -TRUCKS -TRUCKER -TROYANO -TROYANI -TROUSER -TROTTY -TRONAAS -TROMLEY -TROMBURG -TROLLER -TROJECKI -TROJAHN -TROIKE -TROIDL -TROGE -TROFHOLZ -TROCHESSET -TRISH -TRIO -TRINKLEY -TRINKL -TRINGHAM -TRINDLE -TRIMNELL -TRILLI -TRILL -TRIGURO -TRIGUEROS -TRIECE -TRIDER -TREXEL -TREWIN -TREWHITT -TREUTER -TREUTEL -TRETTIN -TRETT -TRESO -TRENTON -TRENTINI -TRENHOLME -TREMEL -TRELL -TREGAN -TRECARICHI -TRBOVICH -TRAVERSE -TRAUNFELD -TRAPANESE -TRAMP -TRAMM -TRAJILLO -TRAHIN -TRAHER -TRADUP -TOYNE -TOYAMA -TOWNZEN -TOWBER -TOUSSIANT -TOUSOM -TOURTELOTTE -TOUMA -TOULMIN -TOUHY -TOTTINGHAM -TOTTER -TOTT -TOTOSZ -TOTI -TOTA -TOSTANOSKI -TOSO -TORY -TORRESON -TORREON -TORRELL -TORRALVA -TORNO -TORNGREN -TORNESE -TORDSEN -TORBIT -TORBECK -TOPPINS -TOPPEN -TOPPAH -TOPOLINSKI -TOPLK -TOPLISS -TOPLIN -TOPINKA -TOPI -TOOMSEN -TOOLS -TOOF -TOO -TONIC -TONIATTI -TONI -TONGREN -TONCHE -TONAS -TOMSICK -TOMSCHE -TOMOPOULOS -TOMKOWICZ -TOMASKO -TOLIONGCO -TOLESTON -TOKUNAGA -TOKITA -TOHONNIE -TOGNETTI -TOEVS -TODORA -TODAHL -TOD -TOCHER -TOCCHIO -TOBOSA -TOBIASON -TJEPKEMA -TIZON -TIXIER -TIWALD -TITTL -TISUE -TISINGER -TISA -TIRONA -TIRO -TIRK -TIRINO -TIOTUICO -TINNEA -TININ -TIMONE -TIMBER -TILLEMAN -TILLE -TILEY -TIJING -TIGG -TIFFNER -TIETJENS -TIEGER -TIDRINGTON -TIDRICK -TIBWELL -TIBOLLA -TIBBIT -TIANGCO -TIAN -THYFAULT -THURSTONSON -THUNDERCLOUD -THUMAN -THRUN -THRILL -THORSTEN -THORNQUIST -THORNER -THORMINA -THORMER -THORAN -THOMSPON -THOENY -THOENNES -THOELE -THOBY -THILLET -THIESSE -THIBEDEAU -THEUNER -THESSING -THERURER -THERO -THEO -THEMOT -THEM -THEIN -THEIM -THEILING -THEESFELD -THEAKER -THANIEL -THAMPHIA -THAMMORONGSA -THALHEIMER -THAIN -THAEMERT -THACKXTON -THACKREY -THACKERY -TEYLER -TEWMEY -TEVADA -TETZ -TETTEH -TETRO -TETREAU -TESTMAN -TESSNER -TESORIERO -TESNOW -TESAURO -TERSTEEG -TERRETT -TERRERO -TERRENCE -TERRALL -TERR -TERKELSEN -TERBUSH -TERANISHI -TEPPERBERG -TENTLER -TENOR -TENHARMSEL -TENGWALL -TENEROWICZ -TENEBRUSO -TENDICK -TENCER -TEN -TEMOSHENKA -TELMAN -TELLINGHUISEN -TELEGA -TELCHIK -TEJEIRO -TEITEL -TEICHROW -TEICHMILLER -TEGTMEIER -TEGENKAMP -TEET -TEEPLES -TEEPE -TEBOW -TEBBETTS -TEBBE -TEASE -TEACH -TAYO -TAYMON -TAYLAN -TAYDUS -TAVOLARIO -TAVES -TAUTEOLI -TATU -TATSAK -TATNALL -TATES -TASTO -TASSE -TASHMAN -TARTAR -TARSIS -TARRIS -TARRICONE -TARRAN -TARNER -TARBOR -TARBET -TARASUIK -TARASCHKE -TAPS -TAPPIS -TAPIO -TAPAT -TAPALES -TAPAHA -TAOMOTO -TANZOSCH -TANZMAN -TANWEER -TANOUE -TANORI -TANON -TANNAZZO -TANKER -TANKE -TANGO -TANEN -TANDON -TANDETZKE -TANCER -TAMMINEN -TAMIYA -TAMERON -TALLADINO -TALIULU -TALBURT -TALBOTI -TALAT -TALAMAS -TAKIGUCHI -TAKENAKA -TAK -TAHIR -TAGLIENTE -TAGLIALATELA -TAGGE -TAGAMI -TAFURI -TAFRESHI -TACDEREN -TACCARIELLO -TACATA -TACADINA -TABLADA -TABET -TABERSKI -TABBAA -TAAKE -SZYPOWSKI -SZYNKOWICZ -SZYMULA -SZYCHOWSKI -SZWARC -SZUSZKIEWICZ -SZUMNY -SZUMILAS -SZUMIESZ -SZUCH -SZUBA -SZNEJKOWSKI -SZMIDT -SZLOSEK -SZIGETHY -SZENASI -SZCZUREK -SZCZESNIAK -SZALANKIEWICZ -SZALAI -SZAL -SZAFLARSKI -SYRSTAD -SYROP -SYNOWIEC -SYNAKOWSKI -SYMORE -SYMON -SYDDALL -SYBOUNHEUAN -SWONKE -SWISSHELM -SWILLER -SWENTON -SWELL -SWELEY -SWEGER -SWEFFORD -SWEERE -SWEE -SWEDEEN -SWEAZEY -SWEARNGEN -SWAYNOS -SWATLOSKI -SWATEK -SWARY -SWARTLEY -SWARR -SWARN -SWARB -SWARAT -SWANZY -SWANTNER -SWANTKO -SWANTECK -SWANICK -SWAINE -SWADLING -SVOB -SVENSEN -SUTT -SUTO -SUTHERBURG -SUSMILCH -SUSLA -SUSKO -SUSAN -SURRIDGE -SURRAN -SURKAMER -SUON -SUOMINEN -SUNESON -SUNDMAN -SUMSTAD -SUMRULD -SUMEY -SUMBERA -SUMARAN -SULTAIRE -SULLY -SULLOWAY -SULKOWSKI -SULC -SUKUT -SUKUP -SUKOVICH -SUIHKONEN -SUGA -SUFFERN -SUEYOSHI -SUET -SUENNEN -SUELLENTROP -SUEDA -SUDDATH -SUCCOP -SUB -SUALEVAI -STYLER -STVICTOR -STUZMAN -STUSSE -STURWOLD -STURINO -STURIALE -STURDNANT -STUPKE -STUMM -STUMB -STUKEL -STUFFLEBEAN -STUEVER -STUESSY -STUEDEMANN -STUECKRATH -STUECK -STUDWELL -STUBLER -STUBBERT -STRZYZEWSKI -STRZELCZYK -STRUTYNSKI -STRUCKMANN -STRUBER -STROW -STROPUS -STROPLE -STROOT -STROHECKER -STRING -STRIMEL -STRIGHT -STRIFFLER -STRIDIRON -STRICKLAN -STREM -STRELLER -STREKAS -STREK -STREITZ -STREITENBERGE -STRECH -STREAT -STRAZZULLO -STRAWBERRY -STRATTER -STRATHMANN -STRASSELL -STRASSBERG -STRANGSTALIEN -STOYANOV -STOUTEN -STOUTAMYER -STOTELMYER -STOSKOPF -STORTON -STORBECK -STOPPENBACH -STOOT -STOOR -STONEWALL -STONEFIELD -STOLZENBERG -STOLLSTEIMER -STOKEL -STOHS -STOHRER -STOFFERAHN -STOERMER -STOEN -STOECKLIN -STOCKHOFF -STOCKBURGER -STOAKLEY -STOA -STLUCIEN -STITZ -STITTGEN -STITCH -STIRES -STIPPICH -STINSER -STINEMETZ -STINDE -STINAR -STIMUS -STILINER -STILGENBAUER -STIFFLEMIRE -STICKFORT -STICHER -STIBB -STEWARDSON -STEVISON -STEUBE -STERNOD -STERGER -STEPTORE -STEPPIG -STEPLETON -STEPHANSKI -STEPHANO -STEPCHINSKI -STEPANIK -STEPANIAK -STENSLIEN -STENSLIE -STENGLE -STENGELE -STENDAL -STEMPERT -STEMAN -STELMACH -STEITZER -STEINWORTH -STEINWAY -STEINS -STEINOUR -STEINMILLER -STEINHOUSE -STEINHOUR -STEINGER -STEINDORF -STEINAU -STEINACKER -STEGMANN -STEFF -STEFANSKY -STEENSLAND -STEENROD -STEENLAND -STEEBY -STECH -STEALY -STEAGELL -STEADINGS -STEACH -STAWASZ -STAVSVICK -STAVRIDES -STAVISH -STATHES -STATE -STASSINOS -STASSER -STASIO -STASA -STARZYNSKI -STARRITT -STARRING -STARNOLD -STARCHMAN -STARCH -STARACE -STAPELTON -STANUSZEK -STANOVICH -STANKOVIC -STANKEY -STANISLAW -STANIFORTH -STANIER -STANGARONE -STANGANELLI -STANDLEE -STANDERWICK -STANDBACK -STANCOMBE -STANCER -STANCATO -STAMMEL -STAMBOUGH -STALLONES -STAKELIN -STAGNITTO -STAFIEJ -STAFFON -STAFFIERI -STAFFEN -STADE -STACHNIW -STACHNIK -STACER -STABER -STABELL -STABACK -STAADT -SPUNT -SPUELER -SPRUIT -SPRUEL -SPRIGGINS -SPRATLEN -SPRAIN -SPRAFKA -SPORTSMAN -SPORTS -SPORLE -SPOERL -SPOERER -SPLONSKOWSKI -SPLINTER -SPLANE -SPIZZIRRI -SPINOSO -SPINKA -SPINEY -SPINE -SPINDOLA -SPINDLE -SPINAS -SPILSKI -SPIELMAKER -SPIEGLE -SPEVACEK -SPERREY -SPERGER -SPERDUTI -SPERANZA -SPERANDEO -SPENDER -SPENA -SPELLA -SPEITH -SPEIS -SPEIDEN -SPEIDELL -SPEESE -SPECTER -SPEAKE -SPEAGLE -SPAUN -SPARA -SPANTON -SPANSWICK -SPANNBAUER -SPANA -SPAIDE -SPADLIN -SOWASH -SOVEY -SOVAK -SOUVANNAVONG -SOUVANNARITH -SOUVANNAKHIRY -SOUSER -SOULEK -SOUKKHAVONG -SOUCEK -SOTTOSANTI -SOTLAR -SOTAK -SOSSONG -SOSSO -SOSINSKY -SOSCIA -SOROTZKIN -SOROKIN -SORMAN -SORGATZ -SOREN -SORAVILLA -SOR -SOPRYCH -SOPATA -SOORUS -SOOKOO -SONNENBURG -SONKENS -SONDRINI -SONDELSKI -SOMSANA -SOMMERDORF -SOMMELLA -SOLVERSON -SOLTREN -SOLTES -SOLONIKA -SOLOMONS -SOLLOCK -SOLLMAN -SOLLE -SOLIMENO -SOLIECE -SOLGOVIC -SOLDOW -SOLAS -SOLARZ -SOKORAI -SOKOLIK -SOISSON -SOHRABI -SOHO -SOGOL -SOGA -SOFKA -SODOMKA -SODACHANH -SOCHOCKI -SOCCI -SOBROWSKI -SOBRINO -SOBOLESKI -SOBERANO -SOBBA -SOBANIA -SOANS -SNUFFER -SNOWDON -SNOWDEAL -SNODERLY -SNOCK -SNITKER -SNITH -SNIFF -SNEDEGER -SNEARLY -SNACHEZ -SMURTHWAITE -SMOLSKI -SMITHMYER -SMITHEN -SMITHBERGER -SMISEK -SMILY -SMIGLEWSKI -SMIETANA -SMIALOWSKI -SMELTZ -SMELKO -SMEENK -SMEDSRUD -SMAYDA -SMAW -SMARSH -SMALT -SMALARZ -SLUTZKY -SLUIS -SLOUP -SLOTKIN -SLOSEK -SLOON -SLOMSKI -SLOCOMBE -SLOCKBOWER -SLISZ -SLINSKY -SLICER -SLEEK -SLAYMAN -SLAVIS -SLATIN -SLANINA -SLAGEL -SLADKY -SLADEK -SKYBERG -SKWARA -SKURSKY -SKURSKI -SKURA -SKROBACKI -SKRETOWICZ -SKOREPA -SKOMO -SKNERSKI -SKINSACOS -SKILLOM -SKILLEN -SKIBOSH -SKIBISKY -SKEWIS -SKENE -SKENDER -SKALECKI -SKAFEC -SIXON -SIVIA -SIVERT -SITTO -SITA -SISSMAN -SISNEROZ -SISKEY -SISCHO -SIRWET -SIRUCEK -SIRRINE -SIRNIO -SIRIANI -SIREK -SIPPIAL -SIONESINI -SIOMA -SINKIEWICZ -SININGER -SINGUEFIELD -SINGS -SINGHISEN -SINGELTARY -SINGCO -SINER -SINDT -SINDORF -SINDONI -SINDEL -SIMZER -SIMUNEK -SIMPLOT -SIMPELO -SIMONETTA -SIMONETT -SIMONEAVD -SIMMELINK -SIMLICK -SIMKOWITZ -SIMINO -SIMERS -SIMER -SIMCIC -SIMANK -SILVERWOOD -SILVERHORN -SILQUERO -SILLITTI -SILLERY -SILLA -SILKER -SILERIO -SILAGY -SILAGO -SIKORRA -SIKKILA -SIKEL -SIKAT -SIKANDER -SIGWORTH -SIGNORINO -SIGAFOOS -SIEWERS -SIEVEL -SIERZENGA -SIERER -SIEPKER -SIENA -SIEN -SIEGFREID -SIEGERS -SIEFKES -SIEFFERMAN -SIEBEL -SIDLES -SIDE -SIDDIQ -SIDA -SICKMEIR -SICKENDICK -SICHLER -SICHENEDER -SICHEL -SIANGCO -SIAD -SHYMSKE -SHUTTE -SHUTES -SHURKUS -SHUMAY -SHUKERT -SHUHI -SHUGA -SHUCKHART -SHRYER -SHROEDER -SHRIMPLIN -SHRIER -SHREFLER -SHRAKE -SHOYER -SHOWDEN -SHOUTS -SHOTO -SHONTS -SHOEMAN -SHODDIE -SHIRILLA -SHIRD -SHIRAI -SHIPWASH -SHIPLET -SHIPLER -SHINTANI -SHINNEY -SHINKO -SHINDORF -SHIMONISHI -SHIMANUKI -SHILLER -SHIIBA -SHIGEMITSU -SHIGEMATSU -SHIFLEY -SHIFFLETTE -SHIEVER -SHIDO -SHIDEMANTLE -SHIDEL -SHIBAHARA -SHEY -SHEVENELL -SHETZ -SHESKEY -SHERRATT -SHERIF -SHERFY -SHERBO -SHEPP -SHENBERGER -SHENASSA -SHEMPER -SHELTROWN -SHELLUM -SHELLNUT -SHELLHORN -SHELLGREN -SHELENBERGER -SHEIVE -SHEASBY -SHEARIER -SHEARHART -SHAWLER -SHAWAIKI -SHAULL -SHAU -SHATT -SHARRATT -SHARRAI -SHARPSTEEN -SHARPEY -SHARLEY -SHARIFF -SHARIAT -SHARAR -SHAPIN -SHANSKY -SHANNONHOUSE -SHANGRAW -SHAMMAA -SHAMAPANDE -SHALAM -SHAKER -SHAHINIAN -SHAGINAW -SHAGGY -SHAFTO -SHAFI -SHAER -SHAE -SHADIX -SHADBURN -SFERA -SFATCU -SEYMOURE -SEY -SEWESTER -SEVERYN -SEUTTER -SEUSS -SEUFER -SETTECASE -SESPINOSA -SERVEY -SERVANO -SERUM -SERTUCHE -SERT -SERRO -SERRET -SERRE -SERMON -SERMANIA -SERGOVIA -SEREMET -SERABIA -SER -SEPHTON -SEP -SENTA -SENSENBACH -SENNEKER -SENK -SENION -SENEMOUNNARAT -SENEKER -SEMO -SEMENICK -SELTRECHT -SELLAR -SELISKI -SELIS -SELIGMANN -SELIA -SELESTEWA -SELEM -SELE -SELCA -SELBERT -SELBE -SEKERAK -SEJKORA -SEIZ -SEIVER -SEIRER -SEILHYMER -SEILEY -SEIGER -SEIGART -SEIFTS -SEIFFERT -SEIDLE -SEIDE -SEIBERLICH -SEGOTA -SEGOBIA -SEEWALD -SEEPERSAUD -SEEN -SEDY -SEDTAL -SEDOTAL -SEDLER -SEDLACHEK -SECRETO -SECORA -SECKY -SECKINGTON -SEBESTYEN -SEBERS -SEARCHWELL -SEARCHFIELD -SEARCEY -SEANOR -SEAN -SEAMEN -SEALANDER -SEAFORD -SCULLION -SCRUDATO -SCRONCE -SCROBOLA -SCRIBELLITO -SCOZZARI -SCORESBY -SCOLNIK -SCOH -SCOBLE -SCLAVI -SCIUTO -SCISCO -SCIGLIANO -SCIESZKA -SCIERKA -SCIBETTA -SCIAVILLO -SCIARINI -SCIANCALEPORE -SCHWUCHOW -SCHWOYER -SCHWOERER -SCHWIEN -SCHWETZ -SCHWERTFAGER -SCHWENTKER -SCHWENT -SCHWENDINGER -SCHWEMM -SCHWEINER -SCHWARZENBERG -SCHWARTZER -SCHWARTEN -SCHWANEBECK -SCHWANBECK -SCHWALLIE -SCHWALD -SCHUYLEMAN -SCHUSTRICH -SCHURER -SCHUPPENHAUER -SCHUMUCKER -SCHUMANS -SCHUILING -SCHUETH -SCHUCKERT -SCHUCHMANN -SCHUBLE -SCHUB -SCHROY -SCHROMEN -SCHROEPPEL -SCHROEDEL -SCHREUR -SCHREIMANN -SCHRECKER -SCHOUWEILER -SCHOU -SCHORNICK -SCHOREPLUM -SCHOOLING -SCHOOL -SCHOO -SCHONTZ -SCHONINGER -SCHONECK -SCHONE -SCHONAERTS -SCHOMBERG -SCHOLLMEIER -SCHOEPFLIN -SCHOENEGGE -SCHOENECK -SCHOELLER -SCHOEBEL -SCHNITMAN -SCHNETTER -SCHNELZER -SCHNEIDMILLER -SCHNAIR -SCHNABL -SCHMUFF -SCHMOLDT -SCHMIDER -SCHMEER -SCHLUSSEL -SCHLISSEL -SCHLETT -SCHLESNER -SCHLESENER -SCHLEPPHORST -SCHLEPP -SCHLECHTEN -SCHLAACK -SCHIVELEY -SCHIRM -SCHIMANSKI -SCHILMOELLER -SCHILLE -SCHILAWSKI -SCHIFFNER -SCHIFFERT -SCHIEDLER -SCHICKLER -SCHIAPPA -SCHEURING -SCHEULE -SCHEPKER -SCHENZ -SCHENKELBERG -SCHEMBRI -SCHEMBRA -SCHELLHORN -SCHELLENBERGE -SCHELLE -SCHEITLIN -SCHEIDECKER -SCHEIBNER -SCHEIBLICH -SCHEHL -SCHEFERS -SCHEE -SCHEARER -SCHAUBERT -SCHATTSCHNEID -SCHARICH -SCHARES -SCHARBER -SCHAPPACH -SCHANEMAN -SCHAMBERGER -SCHAK -SCHAETZLE -SCHAECHER -SCERBO -SCELBA -SCAVONA -SCATTON -SCARSDALE -SCARR -SCARPONE -SCARLATA -SCARIANO -SCANDURRA -SCANDURA -SCANDALIS -SCAMMAHORN -SCAFUTO -SCAFFE -SCACHETTE -SAYYED -SAYKO -SAYCO -SAYASANE -SAYAPHON -SAWNEY -SAWDO -SAWATZKE -SAWALLICH -SAVKO -SAVKA -SAVITTS -SAVIOLA -SAVIO -SAVINE -SAVICH -SAVELLS -SAULPAUGH -SAULINO -SAULER -SAUGIS -SAUBER -SAU -SATURNIO -SATTEL -SATOMBA -SATERFIELD -SATAVA -SASSEVILLE -SASAHARA -SARZYNSKI -SARTORIUS -SARTORE -SARTELL -SARSOUR -SARSON -SARP -SARNOSKY -SARNI -SARLINAS -SARKA -SARINSKY -SARIN -SARDO -SARDEN -SARCHETT -SARAULT -SARATE -SARAO -SARANTAKIS -SARALEGUI -SAPPER -SAPPAH -SAPINSKI -SAPARDANIS -SAPARA -SANYARO -SANTWIRE -SANTRMIRE -SANTORIELLA -SANTOR -SANTOMASSIMO -SANTISTEBAN -SANTILLANEZ -SANTAMARINA -SANSOTTA -SANPSON -SANNUTTI -SANKOH -SANGASY -SANFELIX -SANDVILL -SANDUS -SANDSTEDE -SANDLING -SANDLAND -SANDHOP -SANDEEN -SANDBLOM -SANDAY -SANDAGER -SANCRANT -SANCKEN -SANCHIRICO -SANCHER -SANCES -SANBERG -SANACORE -SAMYN -SAMUL -SAMROV -SAMRAH -SAMPERE -SAMPANG -SAMLAND -SAMII -SAMIENTO -SAMES -SAMBROOK -SAMBORSKI -SAMBERG -SAMAROO -SALZL -SALVIO -SALVATI -SALVADGE -SALUAN -SALTZBERG -SALTUS -SALTMAN -SALSTROM -SALOTTI -SALMONSEN -SALLMEN -SALLE -SALLACH -SALINES -SALESKY -SALEME -SALEHA -SALDANO -SALB -SALAZAK -SALASAR -SALADO -SALACH -SAKUMOTO -SAKAMAKI -SAJOVIC -SAJOUS -SAINTE -SAINLIERE -SAINATO -SAILS -SAIK -SAIEVA -SAICE -SAHE -SAHADY -SAGO -SAFT -SAFIER -SAFFO -SAFER -SAETHER -SAENS -SAELER -SAELENS -SADVARY -SADOSKI -SADORRA -SADOLSKY -SADIN -SADIK -SADEGHI -SADAT -SACRAMED -SACHETTI -SACCHI -SACCA -SABERI -SAARELA -SAADAT -SAABATMAND -RZECZYCKI -RYSZ -RYNKOWSKI -RYNERSON -RYNEER -RYMUT -RYMES -RYMASZ -RYLAARSDAM -RYKACZEWSKI -RYEN -RYEA -RYDIN -RYDELEK -RYDEL -RYDEEN -RYBINSKI -RUVALCAVA -RUTSKI -RUTSKE -RUTMAN -RUTKIN -RUTHS -RUTHMAN -RUTHERS -RUTHEFORD -RUTGERS -RUTENBERG -RUTAR -RUSSWURM -RUSSOMANO -RUSSOMANNO -RUSSER -RUSSELLO -RUSHANAN -RUSEN -RUSCHMEYER -RUSAW -RUPNICK -RUPLEY -RUPINSKI -RUOPOLI -RUMPS -RUMBACH -RULAPAUGH -RUIVO -RUITER -RUHOFF -RUHN -RUHMAN -RUGGIRELLO -RUFFELL -RUFFEL -RUEZGA -RUESGA -RUELAR -RUEHTER -RUEHLING -RUEHLEN -RUEDAS -RUED -RUECK -RUDOY -RUDIO -RUDH -RUDELL -RUDAT -RUDACK -RUCKEY -RUCKEL -RUCKDASCHEL -RUBSAM -RUBIE -RUBICK -RUBERTI -RUBEO -RUBENFIELD -RUBENFELD -RUBASH -RUBALCAVE -ROZZELLE -ROZON -ROYLE -ROXBURY -ROWLISON -ROWELS -ROWBOTHAM -ROVELL -ROUW -ROUTZEN -ROUTZAHN -ROUTTE -ROUSSO -ROUSELL -ROUS -ROUNSVILLE -ROULY -ROULHAC -ROULETTE -ROULE -ROUHOFF -ROUGHEN -ROUCH -ROTTINGHOUS -ROTTIER -ROTRUCK -ROTKOWSKI -ROTKOVECZ -ROTHFELD -ROTHERHAM -ROTCH -ROTANELLI -ROSUL -ROSSIE -ROSSEN -ROSSEEL -ROSKY -ROSIAN -ROSHER -ROSEWALL -ROSEUM -ROSETH -ROSENWINKEL -ROSENTRATER -ROSENLOF -ROSENHAGEN -ROSENGREN -ROSENDORF -ROSENDALE -ROSENBUSH -ROSEMORE -ROSEK -ROSEBUR -ROSCUP -ROSCA -ROSBORIL -ROSAZZA -ROSANE -RORABACHER -ROPKA -ROOFNER -RONSINI -RONNIE -RONNFELDT -RONN -RONERO -RONER -RONAYNE -RONA -RON -ROMPREY -ROMMELFANGER -ROMKEMA -ROMIRO -ROMAY -ROMANOWICZ -ROMANOV -ROMANOFF -ROMANISZYN -ROMANEK -ROMANE -ROLLF -ROLLAG -ROLFSON -ROLACK -ROKICKI -ROHRDANZ -ROHDENBURG -ROHAL -ROGOWICZ -ROGISH -ROGIAN -ROGENS -ROGADO -ROESSLEIN -ROESING -ROERIG -ROENIGK -ROELLE -ROEHLER -RODVOLD -RODRIGRES -RODREGUES -RODOLPH -RODKIN -RODIQUEZ -RODINA -RODERO -RODERMAN -RODERIQUEZ -RODENIZER -RODENBOUGH -RODEBUSH -RODDE -ROCLE -ROCHLITZ -ROCHKES -ROCHEFORD -ROBYN -ROBUSTO -ROBERSTON -ROBBIE -ROBBERT -ROBBERSON -ROBAIR -ROAM -ROADRUCK -ROADES -ROADEN -ROADARMEL -RIZZARDI -RIVINIUS -RIVERAS -RIVELLO -RIVELLI -RIVADULLA -RITTINGER -RITTIE -RITTICHIER -RITTHALER -RITMILLER -RISKIN -RISIEN -RISHOR -RISATTI -RIPSON -RINGOLD -RINGEN -RINFRET -RINEHEART -RINDAL -RINCAN -RINAURO -RINALDIS -RINA -RIMKUS -RIMI -RIMEL -RIMBACH -RILY -RILLIE -RILLER -RIHNER -RIHERD -RIGLEY -RIGHTMYER -RIGHTHOUSE -RIGGERT -RIGGERS -RIGERMAN -RIGAS -RIFAI -RIESNER -RIENZO -RIEMERSMA -RIEFER -RIDGEBEAR -RIDES -RIDELL -RIDALL -RICUCCI -RICLEY -RICKERL -RICHEMOND -RICHELIEU -RICHEL -RICHARDVILLE -RICCITELLI -RICCIARDELLI -RICARDEZ -RIBLETT -RIBAR -RIASE -RIAN -RHYM -RHULE -RHUDE -RHONDES -RHODEHAMEL -RHIM -RHEINGOLD -RHEAVES -REZNICK -REYNERO -REVOLORIO -REVETTE -REVELO -REUVEN -REUSSWIG -REUSSER -REUHL -REUBER -RETTELE -RETKA -RETERSDORF -RESSEGUIE -RESPER -RESNER -RESIDES -RESHARD -RESEK -RESEIGH -REPACI -RENZULLO -RENUART -RENTFROW -RENNEMEYER -RENNEKER -RENKES -RENIER -RENDLE -RENBURG -REMSBURG -REMOS -REMMIE -REMMICK -REMLIN -REMKUS -REMFERT -REMEY -REMEREZ -REMEDIES -REMALY -RELPH -RELLIHAN -RELLES -RELAFORD -REKSTEN -REKAS -REITZES -REITEN -REITEMA -REISIN -REINMANN -REINICKE -REINHOLDT -REINHEIMER -REINFELD -REINEMAN -REINEKING -REINARTZ -REIMEL -REIK -REIHE -REIDLING -REIDLER -REICHENBERG -REICHENBACK -REHO -REHNBORG -REHNBERG -REHART -REGUSTERS -REGULUS -REGLIN -REGINAL -REGES -REGENSBURG -REGEN -REGAS -REEVERS -REEVER -REETER -REEDHOLM -REDLE -REDIC -REDFEAR -REDDEKOPP -RECHEL -REBICK -REBHOLZ -REAZER -REAUISH -REATH -REASINGER -REAS -REARY -REALMUTO -REAGER -READENOUR -RAZZE -RAWICKI -RAWHOOF -RAVI -RAVETTI -RAVENSCRAFT -RAVA -RAUF -RAUELO -RATTEE -RATTAY -RATTANACHANE -RATTANA -RATHMANNER -RATHGEBER -RATHE -RATHBUM -RASUL -RASTOGI -RASTELLI -RASSMAN -RASMUSON -RASELY -RASCHKO -RASCHILLA -RASCHE -RASANEN -RARY -RARING -RARIDON -RAREY -RAQUEL -RAPPENECKER -RAPELYEA -RANSIER -RANSBERGER -RANNALLI -RANJEL -RANFORD -RANDOLL -RANDKLEV -RAMY -RAMUNDO -RAMU -RAMSUER -RAMSTAD -RAMSBOTTOM -RAMPHAL -RAMNARINE -RAMMER -RAMISCAL -RAMGEL -RAMESAR -RAMENTO -RAMBEAU -RAMALES -RALON -RALLISON -RAKICH -RAITH -RAIOLA -RAINWATERS -RAINBOTT -RAIMUNDO -RAIMER -RAIMANN -RAILING -RAHL -RAHAMA -RAGUSANO -RAFLA -RAFIQ -RAFI -RAFFONE -RAFFO -RAFAIL -RAELSON -RAEHL -RAEBEL -RADWAY -RADUE -RADONA -RADISOVICH -RADICS -RADEMAN -RADEKE -RADDER -RADDEN -RACKOW -RACITANO -RACINA -RACHAR -RACANELLO -RABUCK -RABKIN -RABIDOUX -RABELLO -RABEL -RABARA -QUNNARATH -QUIRINDONGO -QUINTEL -QUINTANO -QUINLIN -QUINCHIA -QUINCEL -QUILLING -QUILLIAN -QUILLIAM -QUILLENS -QUIHUIZ -QUIETT -QUICKSALL -QUEST -QUERTA -QUERIDO -QUENT -QUEALY -QUAYE -QUANTE -QUAMME -QUALIA -QUAKER -QUAGLIANO -QUADER -PYTLEWSKI -PYO -PYLVAINEN -PYLAND -PYCH -PY -PUYEAR -PUULEI -PUTHIYAMADAM -PUTALAVAGE -PURZYCKI -PURKERSON -PURCELLA -PURCE -PUPPE -PUPA -PULLON -PULLIE -PULGARIN -PULFORD -PUJALS -PUIATTI -PUGEDA -PUFFETT -PUFFENBARGER -PUERTAS -PUDDY -PUCIO -PUCELLA -PTASZYNSKI -PSOMIADES -PSENCIK -PRZYBYSZ -PRZYBYCIEN -PRZEDWIECKI -PRYZGODA -PRVITT -PRUSKOWSKI -PRUGH -PRUDENT -PRUDDEN -PROVAZEK -PROTASEWICH -PROTAIN -PROO -PRONDZINSKI -PROKES -PROHONIC -PROGACZ -PROESCHER -PRODAN -PRIVATSKY -PRIVATEER -PRIORE -PRINZING -PRINZI -PRINTERS -PRIGMORE -PRIEWE -PRIER -PRIBBENO -PREZZIA -PREYOR -PREWER -PREVETT -PREUITT -PREPOTENTE -PRENCE -PREKKER -PREISACH -PRECYTHE -PREBISH -PREATO -PRCHLIK -PRAZERES -PRAZAK -PRAUNER -PRATTELLA -PRATI -PRAT -PRASSER -PRASOMSACK -PRAML -PRABHAKARAN -PRABEL -POYNEER -POWROZNIK -POWAL -POUX -POULLION -POULIOTTE -POTTIER -POTTHAST -POTOCNIK -POTIES -POTHS -POSTUCI -POSTAL -POSSO -POSER -PORTWINE -PORTUNE -PORTARO -PORRELLO -PORRECA -PORRAZZO -POREMSKI -PORE -PORCELLO -POPPLE -POPPERT -POPOWSKI -POPOVEC -POPKE -POPIK -POPIELARCZYK -POPICK -POPI -POPER -POPELKA -POPEC -POORTINGA -POORTE -POONI -PONYAH -PONTIN -POMERANCE -POMAR -POLYNICE -POLYAK -POLVERARI -POLTORAK -POLOVOY -POLLMANN -POLLIO -POLLINGER -POLLACCO -POLIVKA -POLIAN -POLEYESTEWA -POLERA -POLDRACK -POLCOVICH -POLAKOFF -POLAKIS -POLADIAN -POKORSKI -POITER -POFFENROTH -POETZSCH -POESCHL -POESCHEL -POEPPLEIN -POEPPING -POELING -PODVIN -PODSIAD -PODRASKY -PODLAS -PODE -PODBIELSKI -PODANY -POCHIBA -POCCHIA -POALINO -POAIPUNI -PLYMIRE -PLYER -PLUVOISE -PLUNGY -PLUID -PLOUDE -PLOSKER -PLOMMA -PLOHR -PLOCICA -PLILER -PLEVIN -PLESSIS -PLESNARSKI -PLESHA -PLENSKOFSKI -PLECKER -PLATENBURG -PLATAS -PLANSINIS -PLANA -PLAMER -PLACENCIO -PIZZOLATO -PIZUR -PIUS -PIURKOWSKI -PITUCH -PITTILLO -PITEL -PITCAK -PISZCZATOWSKI -PISULA -PISHNER -PIRNER -PIRILLO -PIPPERT -PIPE -PINYAN -PINSONNAULT -PINNT -PINKELTON -PINENA -PINELA -PINEAULT -PINAULT -PILOTTI -PILLIPS -PILBIN -PILATI -PIKEY -PIH -PIGUET -PIGNA -PIGLER -PIGAT -PIETZSCH -PIETRAFESA -PIETERS -PIERZCHALA -PIERRIE -PIERFAX -PIERCEFIELD -PIEDMONT -PIEDIGROSSI -PIEDE -PIECHOSKI -PIEARCY -PIDCOCK -PICOLET -PICKREN -PICKINGS -PICHT -PICCO -PI -PHOMPHITHAK -PHOMMATHETH -PHLIEGER -PHIPPEN -PHILPOTTS -PHILLIPI -PHILIPPON -PHILIPOSE -PHILBEN -PHERSON -PHERGUSON -PHATDOUANG -PHANTHAUONG -PHANORD -PFIRSCH -PFENDLER -PFANNENSTEIN -PFAHLERT -PFAHLER -PEZZUTO -PEZZIMENTI -PEXTON -PEXSA -PEWO -PEVSNER -PETZEL -PETTS -PETTNER -PETTINELLA -PETTICREW -PETTIBON -PETTES -PETROV -PETROSYAN -PETRON -PETROCELLI -PETROCCO -PETRIZZO -PETRIS -PETRINO -PETRICONE -PETRALBA -PETRAKIS -PETRAIN -PETKOFF -PETITJEAN -PETGES -PETEUIL -PETET -PETERSDORF -PETCHULIS -PESTRONK -PESKIND -PESENTI -PERTSOVSKY -PERSONETTE -PERSIA -PERSAMPIERI -PERSALL -PERS -PERRE -PERPER -PEROLTA -PERNG -PERLER -PERKOSKI -PERISH -PERILLOUX -PEREY -PERESSINI -PERCONTINO -PERCIBALLI -PERAL -PEPPAS -PEPITONE -PENZERO -PENTICO -PENT -PENSKI -PENSE -PENRICE -PENOYER -PENOVICH -PENNIMPEDE -PENNIGTON -PENNIG -PENISSON -PENDL -PENDILL -PENCEAL -PENATAC -PENASA -PENANEGRA -PELMAN -PELLIGRINI -PELLICCIA -PELLANT -PELKOWSKI -PELAK -PEIN -PEIGHTELL -PEGLER -PEGELOW -PEFFERS -PEETZ -PEELMAN -PEE -PEDRIN -PEDLOW -PEDELTY -PEDE -PEDDY -PECKINPAUGH -PECKENS -PECHT -PECHIN -PECHE -PECCIA -PECA -PEAKER -PAZIK -PAZDERSKI -PAZAN -PAYNO -PAYENDA -PAWLUK -PAWLOSKY -PAWELL -PAVLIKOWSKI -PAVLIDES -PAVISH -PAVIOL -PAULICK -PAUKERT -PATTUM -PATRYLAK -PATRONELLA -PATRICH -PATRIARCO -PATRAW -PATIERNO -PATIENT -PATIENCE -PATEN -PASTORIN -PASTERNACK -PASTANO -PASSARO -PASQUALINO -PASKOFF -PASKIN -PASKIEWICZ -PASHEL -PASEY -PASCHER -PASAYE -PASANEN -PARVIS -PARTMANN -PARTHEMORE -PARSHOTAM -PARSENS -PARRAGA -PARONTO -PARODA -PAROBEK -PARMANN -PARMALEE -PARLET -PARLE -PARKERS -PARIENTE -PAREE -PARDEY -PARDE -PARDALL -PARBS -PARBOL -PARANADA -PARAH -PARADO -PAPPY -PAPPENHEIM -PAPLOW -PAPKA -PAPICH -PAPI -PAPALLO -PAOLICELLI -PANZARELLA -PANYIK -PANTLE -PANTERA -PANTALONE -PANSULLO -PANONE -PANO -PANNY -PANNENBACKER -PANKIEWICZ -PANKHURST -PANKE -PANKAU -PANGAN -PANESSA -PANDOLFI -PANDIANI -PANCHIK -PANCHAK -PANAKOS -PANAK -PANAGAKOS -PALUBIAK -PALSO -PALOWODA -PALMUCCI -PALMOUR -PALMINO -PALMERINO -PALME -PALLINO -PALLERINO -PALISI -PALISANO -PALIS -PALAZZOLA -PALAY -PALASPAS -PALAMARA -PALADINI -PALADIN -PAIRE -PAILLET -PAILET -PAIDER -PAGUIN -PAGODA -PAGLIONE -PAGLIALUNGA -PAGEAU -PAGDANGANAN -PAFUNDI -PADIONG -PADBERG -PADAREBONES -PADALECKI -PACOL -PACILIO -PACHTER -PACHEW -PABELICK -PAASKE -OZZELLA -OWOC -OWCA -OVITZ -OVERMANN -OVERLEE -OVERHULSER -OVERHOLTZER -OVENS -OVALL -OUTHIER -OUREN -OUINONES -OTTUM -OTTOMANIELLO -OTTEMAN -OTSMAN -OTINGER -OSZUST -OSTORGA -OSTOLAZA -OSTERHOUSE -OSTERBERGER -OSTBERG -OSOSKI -OSMERS -OSMERA -OSHEY -OSEQUERA -OSENKOWSKI -OSCHMANN -OSBMENT -OSBEY -OSAZUWA -OSAYANDE -OSAKO -ORZELL -ORVIN -ORTWINE -ORTMEYER -ORTELT -ORTELLI -ORSTEN -ORSON -ORRILL -ORPHEY -ORNDORF -ORLOSKI -ORLICH -ORLANDER -ORLAND -ORK -ORJI -ORISON -ORIELLY -ORIELLEY -ORI -ORGANEK -OREY -ORENDER -ORDONA -ORDON -ORDMAN -ORAZINE -ORAVETZ -ORANDELLO -ORABONE -ORA -OR -OQUENDA -OPYD -OPTEYNDT -OPOKA -OPIOLA -OPIELSKI -OPELL -OPEKA -ONYEAGU -ONEZNE -ONDECK -ONA -OMS -OMMEN -OMINELLI -OMERNIK -OMELIA -OLYNGER -OLWIN -OLVEY -OLUFSON -OLUBUNMI -OLTEN -OLSHEFSKI -OLSBY -OLORES -OLMA -OLLI -OLLECH -OLLAR -OLIVIERA -OLIVARRI -OLIGSCHLAEGER -OLHEISER -OLGIN -OLEVERA -OLERUD -OLENSKI -OLENIUS -OLDOW -OLDERSHAW -OLDENBURGER -OLAUSEN -OLAES -OKUTSU -OKKEN -OKITSU -OKIE -OKESON -OKELBERRY -OKEL -OJITO -OJANO -OHYAMA -OHR -OHNSTAD -OHMEN -OHLHAUSER -OHLENSEHLEN -OHLE -OHASHI -OHANLEY -OGZEWALLA -OGUTU -OGSTON -OGRODOWICZ -OGINSKI -OGIAMIEN -OGER -OGARRO -OFSAK -OFLYNN -OFF -OFER -OELZE -OEHM -OEHLSCHLAGER -OEHL -ODOME -ODO -ODMARK -ODIL -ODGEN -ODERMOTT -ODAIR -OCZON -OCKMAN -OCKLEBERRY -OCKEN -OCHAL -OCHAKOVSKY -OCENASEK -OCCHUIZZO -OCANAZ -OBREIN -OBRAY -OBORNE -OBLINSKI -OBIN -OBIERNE -OBHOLZ -OBHOF -OBERSKI -OBERMIER -OBERLIES -OBERGFELL -OBENAUER -OBEID -OBBINK -OBAKER -OATNEY -OATFIELD -NYULASSY -NWAGBARA -NUTLEY -NUTH -NURTHEN -NUNTARAY -NUNNO -NUNLEE -NUNER -NUMKENA -NUHFER -NUGAL -NUESSEN -NUDING -NUCHOLS -NOYE -NOYA -NOWOSIELSKI -NOVICKIS -NOVI -NOVENCIDO -NOVEL -NOVAD -NOUJAIM -NOTOMA -NOTICE -NOTH -NOTCH -NOTARNICOLA -NOSWORTHY -NOSACKA -NORUM -NORTHOUSE -NORTESANO -NORSTRAND -NORSINGLE -NORRIE -NORR -NORN -NORMOYLE -NORISE -NORDSTRAND -NORDMARK -NORDES -NORALES -NOPACHAI -NOORDA -NOOMAN -NONROE -NONEMAKER -NONAMAKER -NOMMAY -NOMAN -NOLLET -NOLLE -NOLI -NOICE -NOERR -NODLAND -NOCON -NOCKS -NOCKELS -NOCELLA -NOCEK -NJIE -NIZO -NITCHMAN -NISTENDIRK -NISSAN -NISLY -NISHITANI -NISHIO -NISHINA -NIRSCHL -NIRO -NIRENBERG -NIQUETTE -NIP -NINDORF -NINCEHELSOR -NIMZ -NIMURA -NILMEIER -NIKULA -NIKACH -NIK -NIGHTWINE -NIGHT -NIGHMAN -NIGHBOR -NIFFENEGGER -NIEZ -NIESPOREK -NIER -NIEMINEN -NIEMIE -NIEDERMEIER -NIEDERBERGER -NIDO -NICOME -NICOLOZAKES -NICOLIA -NICOLES -NICOLAU -NICKODEM -NICKLOUS -NICKISCH -NICKA -NICI -NIBLER -NIBBE -NHATSAVANG -NGOUN -NEYER -NEWMYER -NEWITT -NEWGARD -NEWENLE -NEWBRAUGH -NEWBOUND -NEWAND -NEVUE -NEVISON -NEVIS -NEV -NEUJAHR -NEUFER -NETTE -NETKOWICZ -NETHKIN -NESVIG -NESTICO -NESSNER -NESSLEIN -NESSET -NESSEL -NESHEM -NESBETH -NERIS -NERENBERG -NEREN -NEPOMUCENO -NEMITH -NELDER -NEITZKE -NEITA -NEINER -NEIMEYER -NEIGENFIND -NEIFORD -NEIDENBACH -NEHLSEN -NEGRETA -NEGRANA -NEENAN -NEDDENRIEP -NECH -NEBORAK -NEBESNY -NAZAR -NAWFEL -NAVO -NAVARETE -NAUSS -NAUMES -NAUGLER -NAUER -NATVIG -NATALIZIO -NATALIE -NATALIA -NASTASIA -NASAIRE -NARUAEZ -NARROW -NARKEVICIUS -NARDOZZI -NARDINO -NARAIN -NAPUE -NAPENAS -NAP -NAOMI -NAO -NANZ -NANTWI -NANNEN -NANG -NANFITO -NANES -NAN -NAMSALY -NAMEY -NAMER -NAMAUU -NAMANWORTH -NALEVANKO -NALDER -NAKAOKA -NAKAMATSU -NAKAJIMA -NAKADA -NAKAAHIKI -NAIMOLI -NAHMIAS -NAHHAS -NAGTALON -NAGELKIRK -NAGASAWA -NAFTEL -NADINE -NADERMAN -NACHBAR -NACCI -NABZDYK -NABOR -NABAVIAN -NABAROWSKY -NAASZ -MYSLIM -MYREE -MYLAR -MYALL -MUZII -MUYRES -MUWWAKKIL -MUTTERS -MUTSCHELKNAUS -MUSULIN -MUSTARO -MUSTACHE -MUSSLEWHITE -MUSSELL -MUSSA -MUSNI -MUSLIM -MUSKRAT -MUSKOPF -MUSKETT -MUSITANO -MUSILLI -MUSIELAK -MUSGUIRE -MUSGRAVES -MUSCOTT -MUSCHIK -MUSCHAWECK -MURSCH -MURRIL -MURRA -MUROS -MURI -MUREL -MURCKO -MURAK -MUPHY -MUNTEAN -MUNDZ -MUNDINGER -MUNDER -MUMAUGH -MULVILLE -MULRENIN -MULNIX -MULLENAUX -MULLAHY -MULKERN -MULKERIN -MULCHRONE -MULATO -MUINOS -MUHLSTEIN -MUGNOLO -MUGGEO -MUGGE -MUFFETT -MUENZENBERGER -MUELLERLEILE -MUDIE -MUCKELROY -MUCCIO -MRVAN -MRKVICKA -MRAW -MOZICK -MOZGA -MOZAK -MOXNESS -MOXEY -MOUNKES -MOUND -MOTONAGA -MOTHERSHEAD -MOTAYNE -MOTAYEN -MOSTY -MOSTAD -MOSSBARGER -MOSKWA -MOSKOP -MOSENA -MOSEN -MOSCOFFIAN -MORYL -MORVILLO -MORTIN -MORTIER -MORSBERGER -MORREY -MORRALES -MORRAL -MORPHY -MOROCK -MORLINO -MORKERT -MORKEN -MORISSEAU -MORISHITO -MORINVILLE -MORICI -MORGANO -MORGANA -MORESCHI -MORENCO -MORENCE -MORELLA -MORDECI -MORATTO -MORATH -MORARIO -MORANDO -MORADIAN -MORADA -MOOTRY -MOOMEY -MONVILLE -MONTOTO -MONTORE -MONTONEY -MONTFORT -MONTEY -MONTESI -MONTERRUBIO -MONTEMBEAU -MONTAYES -MONTALBAN -MONTAIVO -MONSAY -MONOT -MONOPOLI -MONNERJAHN -MONKOWSKI -MONKA -MONJURE -MONIOS -MONINGTON -MONGES -MONFILS -MONEYHUN -MONEAUX -MONDT -MONDOZA -MONDLOCH -MONDELLI -MONDALE -MONCLOVA -MONCHER -MONATH -MONAGAS -MOMINEE -MOMA -MOLZ -MOLSTAD -MOLSAN -MOLNAU -MOLLURA -MOLLEUR -MOLLA -MOLANDS -MOITOZA -MOISA -MOINE -MOHRLOCK -MOHRE -MOHOMED -MOHMED -MOHAIR -MOGUS -MOEUY -MOESER -MOEHR -MOEHLE -MODIQUE -MODGLING -MODGLIN -MODERSKI -MOCZULSKI -MOCCASIN -MOAYYAD -MOATZ -MLODZIANOWSKI -MLECZYNSKI -MIZWICKI -MIZUTANI -MIZIA -MIZENKO -MIYATAKI -MIYANAGA -MIVILLE -MITSDARFFER -MITRANI -MITMAN -MITKOWSKI -MISURACA -MISKINIS -MISKIEWICZ -MISKA -MISIK -MISHULOVIN -MISHULOUIN -MISHKIN -MISHAR -MISENTI -MISCHO -MISCHNICK -MIRISOLA -MIRICLE -MIRICK -MIRAMONTEZ -MIRAFUENTES -MIRAFLORES -MIQUEL -MIONE -MINZY -MINZENMAYER -MINZENBERGER -MINTKEN -MINTEN -MINOT -MINORS -MINN -MINKOWITZ -MINKINS -MINISTER -MINIC -MINHAS -MINGIONI -MINGEE -MINERT -MINCHOW -MINCER -MINALGA -MIMOZO -MILWARD -MILSON -MILOSCH -MILLINGS -MILLICK -MILLARE -MILKE -MILINAZZO -MILIN -MILICH -MILETTE -MILE -MILDRUM -MILDON -MILCHER -MILBERGER -MIKUSZEWSKI -MIKLITZ -MIKKO -MIHALIOS -MIHALICK -MIETH -MIERZWIAK -MIERZWA -MIEROW -MIEREZ -MIERAU -MIELCAREK -MIECZNIKOWSKI -MIEARS -MIDDLEKAUFF -MICUCCI -MICKELBERRY -MICHNO -MICHLICH -MICHIELI -MICHELSTEIN -MICHELINI -MICHALICEK -MICHAL -MICCICHE -MICALIZZI -MGUYEN -MEZZINA -MEZZENGA -MEYDID -MEUSEL -MEUSA -METTY -METTIG -METTENBURG -METIER -METH -METELKO -MESTEMACHER -MESSAMORE -MESPLAY -MESPELT -MESITI -MESINA -MESHYOCK -MESENBRING -MESCHKE -MERZLAK -MERRIH -MERNER -MERKWAN -MERKLEIN -MERKEY -MERINGOLO -MERINE -MERGIST -MERGANTHALER -MERCKLING -MENZER -MENSALVAS -MENNECKE -MENNE -MENJIVA -MENGWASSER -MENGER -MENEDEZ -MENEAL -MENCK -MENCIA -MENCHEN -MENCHAVEZ -MELZER -MELVE -MELSO -MELOAN -MELMAN -MELLISON -MELLERSON -MELLENDORF -MELLBERG -MELIKIAN -MELIAN -MELGAARD -MELEO -MELBYE -MELBER -MEJA -MEIXELBERGER -MEITZ -MEITNER -MEISS -MEISCH -MEINEN -MEINBERG -MEIGEL -MEIERHOFER -MEHRINGER -MEHRER -MEHLE -MEHALL -MEGAHAN -MEGA -MEFFERD -MEENAN -MEECHAM -MEDVEC -MEDINGER -MEDDOCK -MEDAWAR -MEDARIES -MECIAS -MECANNIC -MEAZELL -MEASOM -MEADEN -MEACH -MCWHINNIE -MCWHINNEY -MCWELLS -MCVINNEY -MCVENES -MCTHIGE -MCTHAY -MCSHAW -MCROYAL -MCRENOLDS -MCRATT -MCQUILLIAMS -MCQUESTEN -MCPHETRIDGE -MCONNELL -MCNOLTY -MCNEISH -MCNANY -MCNAMAR -MCMULLINS -MCMULEN -MCMENIMEN -MCMELLEN -MCMANUIS -MCMANEMY -MCLERNON -MCLAUREN -MCLAMORE -MCKUSICK -MCKOSKY -MCKIRRYHER -MCKINDRA -MCKIN -MCKEVER -MCKERNIN -MCKERLIE -MCKENNZIE -MCKELVIN -MCKELPHIN -MCKEAGUE -MCKAUGHAN -MCIWRAITH -MCILHINNEY -MCHARDY -MCGURIE -MCGREVEY -MCGREEN -MCGOHAN -MCGLOCKLIN -MCGLEW -MCGLAUN -MCGIBNEY -MCGHINNIS -MCGAUGHAN -MCGATHY -MCFERRAN -MCFEELY -MCFATTEN -MCEWIN -MCENDARFER -MCENANY -MCELVY -MCELMARRY -MCEATHRON -MCEADDY -MCDUGLE -MCDOULETT -MCDANELD -MCCULLOH -MCCULLIN -MCCULLAN -MCCULLAGH -MCCUBREY -MCCROBIE -MCCRAIN -MCCRAIGHT -MCCRACKER -MCCRABB -MCCOWIN -MCCOUBREY -MCCOON -MCCONOMY -MCCONNICO -MCCONAHAY -MCCOMISH -MCCOID -MCCLOUDE -MCCLINSEY -MCCLENIC -MCCLEE -MCCIER -MCCATHRAN -MCCASH -MCCARVY -MCCARROL -MCCARRAHER -MCCALPANE -MCCALEBB -MCCALANAHAN -MCCADE -MCCADAMS -MCBROOME -MCASKILL -MCARTOR -MCAREE -MBONU -MAZZILLO -MAZZETTI -MAZUERA -MAZOWIESKI -MAZIERSKI -MAZELLA -MAYZE -MAYWALT -MAYHER -MAWK -MAVRIS -MAUSHARDT -MAURAS -MAURACHER -MAUPINS -MATYSIAK -MATYE -MATUSZ -MATUSKA -MATUSIEWICZ -MATULEWICZ -MATTOCK -MATTINGLEY -MATTINA -MATTICK -MATTAN -MATSKIN -MATROS -MATRISCIANO -MATONE -MATONAK -MATLOW -MATKOVIC -MATISON -MATHELIER -MATELSKI -MATEIRO -MASUNAGA -MASTERTON -MASTALSKI -MASSINI -MASSENA -MASSED -MASSARELLI -MASSANELLI -MASO -MASLEN -MASLAKOWSKI -MASINCUP -MASILKO -MASHER -MASHALL -MASELLO -MASELL -MASCHMEYER -MASCHECK -MASCHAK -MASCARI -MASAR -MASAK -MASAITIS -MARXSEN -MARUSCHAK -MARUSCAK -MARUS -MARUMOTO -MARTYR -MARTSOLF -MARTORELLI -MARTLING -MARTISCHNIG -MARTIRANO -MARTINSONS -MARTINOV -MARTINON -MARTINOLLI -MARTINET -MARTINELL -MARTINEL -MARTINAT -MARTICH -MARTEY -MARTELLES -MARTELLE -MARSOLAIS -MARSILI -MARSHBANKS -MARSHAK -MARSEILLES -MARSAW -MARRIER -MARRETT -MARRAPODI -MARRAPESE -MARQUITZ -MAROUSEK -MARONGE -MARO -MARMERCHANT -MARLENE -MARKWORTH -MARKWARDT -MARKUSON -MARKOU -MARKAKIS -MARJENHOFF -MARITATO -MARISKA -MARIACHER -MARGOT -MARGIS -MARFLAK -MARFIL -MARER -MARDIROSSIAN -MARCUSEN -MARCONIS -MARCISAK -MARCILLE -MARCHIONNI -MARCHESI -MARCHALAND -MARCET -MARCELLI -MARCA -MARBLEY -MARASH -MARASCALCO -MARANTE -MARANGONI -MARANDO -MAPUA -MAPSTONE -MAPA -MAOHU -MANZUR -MANWEILER -MANUIA -MANTO -MANTIFEL -MANTIA -MANTEUFFEL -MANTELLA -MANTECA -MANSPEAKER -MANSBACH -MANOUS -MANOSO -MANOLIS -MANOCCHIA -MANNHEIM -MANNELLO -MANLANGIT -MANINO -MANIERI -MANICCHIO -MANIAR -MANIACI -MANIACE -MANGLONA -MANGIS -MANGIAFICO -MANGHANE -MANERO -MANELY -MANEAFAIGA -MANDRIL -MANDOLFO -MANDER -MANDELBERG -MANDALA -MANCO -MANCILL -MANCHER -MANCHE -MANAUGH -MANASSA -MANASARES -MANANSALA -MANALILI -MAMUDOSKI -MAMMO -MAMMENGA -MAMARIL -MAMACLAY -MALUEG -MALTER -MALTBIA -MALTAS -MALOOL -MALLAS -MALLALIEU -MALLACARA -MALKIEWICZ -MALINOVSKY -MALEWSKI -MALETT -MALDOMADO -MALCOMSON -MALCIK -MALAVET -MALAVER -MALASKY -MALAS -MALANGO -MALANAPHY -MALACH -MAKOFSKY -MAKO -MAKLER -MAKA -MAJUSTE -MAJIED -MAJESKE -MAJEROWSKI -MAJERA -MAIXNER -MAISTO -MAIOCCO -MAILO -MAILE -MAIKOKSOONG -MAHUNIK -MAHRER -MAHRAUN -MAHOLMES -MAHLKE -MAHLI -MAHFOUZ -MAHEIA -MAHALKO -MAGWIRE -MAGPURI -MAGOUN -MAGNONE -MAGNETTI -MAGLIULO -MAGLIOLO -MAGLIOCCO -MAGITT -MAGGINSON -MAGGERT -MAGERA -MAGED -MAGE -MAGBITANG -MAGALONG -MAGAHA -MAFFITT -MAFFEY -MAESTRI -MAENPAA -MAENHOUT -MAENDEL -MADY -MADURO -MADU -MADRAY -MADRAS -MADOCK -MADLUNG -MADLER -MADENFORD -MADEAU -MADDALENO -MACVEAN -MACURA -MACRUM -MACROSTIE -MACNAUGHT -MACNAMEE -MACMURRAY -MACMILLEN -MACLAY -MACKLE -MACKIMMIE -MACKEDANZ -MACIEJKO -MACIASZ -MACIAK -MACHTLEY -MACHENS -MACENTEE -MACEDA -MACDOUGALD -MACCAULEY -MACCARTNEY -MACARENO -MACARAIG -MACAPAGAL -MACAHILAS -MACADAMIA -MABONE -MABARY -MAATTA -MAALOUF -LYSAK -LYNGE -LYNADY -LYKAM -LYERLA -LYCHWALA -LUZURIAGA -LUZINSKI -LUXON -LUVENE -LUTZI -LUTHE -LUSS -LUSHBAUGH -LUSCAVAGE -LUREY -LUQUIN -LUPUL -LUPU -LUPKIN -LUPFER -LUOTO -LUNDMAN -LUNDIE -LUNDI -LUNDEMO -LUNCSFORD -LUMUKANDA -LUMPP -LUMMIS -LUMANTAS -LULOFF -LUKAVSKY -LUITJENS -LUHRING -LUGA -LUFFY -LUELF -LUEHRING -LUEDI -LUECKENOTTE -LUECHT -LUEBANO -LUDVIK -LUDOVICI -LUDKOWSKI -LUDERMAN -LUDDY -LUCKSOM -LUCKRITZ -LUCKADOO -LUCION -LUCI -LUCHESSA -LUCHESI -LUCEAR -LUCARIO -LUBEN -LUANGSINGOTHA -LOZZI -LOZO -LOYST -LOYED -LOWIN -LOWBER -LOVICH -LOVENBURY -LOVEH -LOVEC -LOUSER -LOURIS -LOURENCE -LOUREIRO -LOURAS -LOUNDS -LOUKIDIS -LOUKAS -LOUISSANT -LOUER -LOUCH -LOTZE -LOTTHAMMER -LOTTER -LOTERBAUER -LOTEMPIO -LOSTRACCO -LOSTON -LOSSMAN -LOSON -LOSKILL -LOSKE -LOSHE -LORZ -LORION -LOPUZZO -LOPILATO -LOPERA -LOOSEY -LOOI -LOOCK -LONSWAY -LONS -LONGUEVILLE -LONGTON -LONGKNIFE -LONGIN -LONGFIELD -LONGCOR -LONDNER -LOMPA -LOMMEL -LOMG -LOLLING -LOLLI -LOLI -LOLAR -LOKUTA -LOKKE -LOKHMATOR -LOJEK -LOIS -LOIL -LOHMEIER -LOGERO -LOEWE -LOESSBERG -LOESCHNER -LOESCHE -LOEHLEIN -LOECKLE -LOEBS -LODUCA -LODENSE -LODEIRO -LOCSIN -LOCORRIERE -LOCKLIER -LOCKETTE -LOCHOTZKI -LOCHE -LOCANTORE -LOCANTE -LOBOSCO -LOBINGIER -LOATS -LOARCA -LLYOD -LLOPIS -LLARENAS -LJUNGQUIST -LIZER -LIZARDA -LIVI -LIVEZEY -LIVERANI -LIVAS -LIUZZA -LITZSINGER -LITZA -LITTLEHALE -LITTER -LITEHISER -LITECKY -LISKOVEC -LISKIEWICZ -LISKAI -LISIUS -LISIECKI -LISHERNESS -LISANTI -LIPSTONE -LIPSITZ -LIPPI -LIPOVSKY -LIPKIND -LIPKE -LIPITZ -LIPA -LIONTOS -LINZIE -LINSTROM -LINSSEN -LINSNER -LINSAY -LINNECKE -LINNAN -LINKKILA -LINGINFELTER -LINGBERG -LINGARDO -LINGAO -LINEA -LINDWALL -LINDSKOG -LINDLINE -LINDESMITH -LINCICUM -LINAHAN -LIMTHONG -LIMESAND -LIMAURO -LIMARDO -LILLEBERG -LILJEDAHL -LILJEBERG -LILJA -LIKIO -LIGONS -LIFSHITZ -LIESCH -LIERLE -LIENKE -LIENEMANN -LIEKHUS -LIEDERBACH -LIEDER -LIECHTI -LIEBSKIND -LIEBHARDT -LIEBELT -LIE -LIDDIE -LIDBOM -LICOR -LICO -LICKNESS -LICKISS -LICKEY -LICHTIG -LICHTENWALTER -LICHTE -LICHSTEIN -LICHORAT -LICHLYTER -LICCIONE -LICALZI -LIBRIZZI -LIBRE -LIBRANDI -LIBKE -LIBERT -LIANO -LIANES -LEZON -LEZER -LEZAK -LEYNES -LEWTON -LEWRY -LEWANDOWSKY -LEVO -LEVITES -LEVITCH -LEVITAS -LEVISTER -LEVINSKY -LEVERENTZ -LEVENDOSKY -LEUTY -LEUTERS -LEUSINK -LEUPOLD -LEUCHS -LETTENEY -LETTEER -LETRENT -LETOURNEAUX -LETOFSKY -LETMAN -LETKO -LETANG -LETALIEN -LESTELLE -LESSIN -LESSENBERRY -LESSEN -LESSA -LESPIER -LESKY -LESHURE -LESHKO -LESCAVAGE -LERMOND -LEREW -LEONTI -LEONAGGEO -LENZA -LENTERS -LENORD -LENNY -LENNERT -LENIX -LENING -LENGLE -LENGACHER -LENER -LENEAVE -LENCIONI -LEMPE -LEMONE -LEMIN -LEMICH -LEMERT -LELIS -LELE -LEKWA -LEJUNE -LEITZE -LEITEM -LEISTNER -LEIPHEIMER -LEIMKUEHLER -LEIDING -LEIDEL -LEIDALL -LEICHTY -LEICHTMAN -LEIBENSTEIN -LEIBA -LEHRIAN -LEHRFELD -LEGROW -LEGRANT -LEGORE -LEGHORN -LEGEL -LEGALLO -LEFEW -LEEMOW -LEEBRICK -LEDY -LEDUKE -LEDON -LEDLEY -LEDEC -LEDEBUHR -LECOULTRE -LECONEY -LECKINGTON -LECHLAK -LECHEL -LEBOVIC -LEBOURGEOIS -LEBERMAN -LEBARIO -LEAVELLE -LEASY -LEAH -LEAGJELD -LEAFE -LEABOW -LAZZAR -LAZER -LAZENSON -LAZENBERRY -LAYHER -LAWE -LAVON -LAVINA -LAVETTE -LAVERNE -LAVERETTE -LAVEE -LAVEAR -LAVATCH -LAUWERS -LAUW -LAUTURE -LAUTMAN -LAUTERS -LAURION -LAURENS -LAURENCEAU -LAUNT -LAUNELEZ -LAUGHBAUM -LAUERMAN -LAUDAT -LAUBACHER -LATZKA -LATZIG -LATORTUE -LATHON -LATHIM -LATESSA -LATELLA -LATAILLE -LASYONE -LASTOVICA -LASSELLE -LASK -LASHUTVA -LASERNA -LASCODY -LASAINT -LARVE -LARUFFA -LARSH -LARRETA -LARKO -LARGAY -LAREY -LARDYDELL -LARDE -LARAVIE -LARATE -LAQUAY -LAPUZ -LAPRAIRIE -LAPORA -LAPIANA -LANZONI -LANZILLOTTI -LANZILLO -LANZER -LANZALOTTI -LANTON -LANTEY -LANSDOWNE -LANSDEN -LANSANG -LANQUIST -LANOSGA -LANOSA -LANINGA -LANGSDALE -LANGONI -LANGLANDS -LANGHOUT -LANGHORST -LANGENHEIM -LANGEHENNIG -LANEVE -LANDUCCI -LANDSBERRY -LANDREY -LANDOLFO -LANDKAMER -LANDHAM -LANDGREBE -LANDEFELD -LAMPP -LAMPARSKI -LAMORGESE -LAMORELLA -LAMMIE -LAMIELLE -LAMELA -LAMBOURNE -LAMBINO -LAMBERTO -LAMBER -LAMBECK -LAMASCOLO -LAMARSH -LAMANTAGNE -LAMAITRE -LALUMIERE -LALLO -LALIBERTY -LALATA -LALANNE -LALAND -LAKNER -LAITY -LAHRMAN -LAHMANN -LAHIP -LAGROON -LAGOA -LAGINESS -LAGGE -LAGATELLA -LAGASSIE -LAGANGA -LAFRANCA -LAFOSSE -LAFFREDO -LAFERTY -LAFERA -LAFAVER -LAFAUCI -LAESSER -LADYMAN -LADTKOW -LADITKA -LADEAU -LADAS -LACOUETTE -LACOSTA -LACOCK -LACKS -LACKMAN -LACKIE -LACHLEY -LACASSAGNE -LABRUNE -LABRODE -LABREQUE -LABREC -LABOG -LABKOVSKY -LABITA -LABBIE -LABABIT -LAAKER -KYLISH -KYHN -KWIAT -KWASNY -KWACK -KVILHAUG -KUZNICKI -KUZMISH -KUZMANIC -KUZEMCHAK -KUTTLER -KUTELLA -KUTCHIN -KUSZLYK -KUSUMOTO -KUSUMA -KUSTES -KUSINSKI -KUSHLAN -KUSHINER -KUSHIN -KUSAK -KURZYNIEC -KURY -KURTER -KURRIE -KURPIEL -KURKJIAN -KURK -KURISU -KUPRES -KUOKKANEN -KUNZIE -KUNZEL -KUNIS -KUNING -KUNDRICK -KUNDLA -KUNDINGER -KULLY -KULLAS -KULKARNI -KULCONA -KULAK -KULACZ -KUKS -KUKLIS -KUKA -KUJA -KUIZINAS -KUHTZ -KUHNLE -KUHNEN -KUHNEMUND -KUHNEL -KUHENS -KUHARIK -KUFNER -KUFELDT -KUENSTLER -KUEHNERT -KUDZMA -KUDASIK -KUCZKOWSKI -KUCINSKAS -KUCHTO -KUCH -KUCEL -KUCEK -KUBICA -KUBECKA -KUBAN -KSZASZCZ -KRZYWICKI -KRZYNOWEK -KRZAL -KRYSTAL -KRYSIAK -KRYS -KRUTSCH -KRUSS -KRUSEN -KRUSEMARK -KRUPIAK -KRUMSIEK -KRUML -KRULISH -KRULIK -KRULICKI -KRUETH -KRUER -KRUEL -KROWS -KROSSEN -KROLIKOWSKI -KROLCZYK -KROETCH -KRITICOS -KRITES -KRISHER -KRINKE -KRIENKE -KRIEGH -KRICHBAUM -KRIBBS -KRETCHMAR -KREITZBENDER -KREITLER -KREINBRING -KREB -KREAMALMEYER -KREAGER -KRAWIECZ -KRAWETZ -KRASLEY -KRAPFL -KRANZE -KRANENDONK -KRAMPER -KRAMPE -KRAMM -KRALICEK -KRAJNOVICH -KRAJCER -KRAIN -KRACKER -KOZINSKI -KOWNACKI -KOWN -KOWING -KOWALLIS -KOWALL -KOWALCYK -KOWALCHICK -KOVACIC -KOURT -KOURKOUMELLIS -KOUNTER -KOUNLAVONG -KOUNCE -KOULABOUT -KOUALESKI -KOTZUR -KOTTSICK -KOTTRE -KOTTE -KOTRYS -KOTOW -KOTHENBEUTEL -KOTARA -KOSTYLA -KOSTICH -KOSTENKO -KOSSMANN -KOSSIN -KOSSAKOWSKI -KOSSACK -KOSOFF -KOSMATKA -KOSHIOL -KOSCIELAK -KOSCHO -KORZENSKI -KORTZ -KORTUM -KORTHAUER -KORSHAK -KORSEN -KOROL -KORNS -KORNPROBST -KORNMAN -KORMANN -KORINECK -KORF -KORETSKY -KORENIC -KORBAL -KORALEWSKI -KOPPELMANN -KOPIS -KOPIAK -KOPERA -KOPCHICK -KOOKEN -KONTOGIANIS -KONON -KONN -KONIECZKO -KONICK -KONICEK -KONEVAL -KONDRATOWICZ -KONCAN -KONAT -KOMSTHOEFT -KOMOSINSKI -KOMMER -KOMINEK -KOMAN -KOLTHOFF -KOLOGY -KOLNIK -KOLMETZ -KOLLING -KOLKOWSKI -KOLKEMEYER -KOLIAS -KOLEN -KOLEHMAINEN -KOLBY -KOLBERG -KOLAT -KOKOSKA -KOISTINEN -KOHNERT -KOHLMYER -KOFUTUA -KOFOID -KOFLER -KOFA -KOETZ -KOETJE -KOERPER -KOEPPL -KOENNING -KOENIGSTEIN -KOENIGSFELD -KOELLE -KOEGEL -KOEBLEY -KOCZERA -KOCHMANSKI -KOCAJ -KOC -KOBLICK -KOBIS -KOBIALKA -KOBERNICK -KOBAK -KNOST -KNORI -KNOPINSKI -KNOEPFLER -KNOCHE -KNIPPING -KNIPFEL -KNIGHTER -KNIEFEL -KNIE -KNICKMAN -KNEZEVIC -KNEWTSON -KNESTRICK -KNESEL -KNEIFEL -KNAVEL -KNAPPE -KNACKSTEDT -KLUSMEYER -KLUS -KLUND -KLUN -KLOOS -KLOOCK -KLOIBER -KLOHR -KLOEPPER -KLOCEK -KLIS -KLINGERMAN -KLINGEN -KLINES -KLIMKOWICZ -KLIEVER -KLIEM -KLEYPAS -KLEVENE -KLEPPINGER -KLEPAREK -KLEPACZ -KLEMENC -KLEMANSKI -KLEINWOLTERIN -KLEINSMITH -KLEINKE -KLEINBERGER -KLEIDON -KLEESPIES -KLEESE -KLEEKAMP -KLEBAN -KLAYMAN -KLAY -KLAVER -KLARMAN -KLARBERG -KLAPPERICH -KJETLAND -KIZEWSKI -KIYABU -KIVIOJA -KITTNER -KITTELBERGER -KISSIK -KISSER -KISHABA -KISCH -KIRNER -KIRKPATRIC -KIRCHHOFER -KIRCHGESSNER -KIRCHAUSEN -KIRBIE -KIRAL -KIPPES -KIPPER -KIPPEL -KINTSEL -KINTOP -KINSETH -KINROTH -KINNION -KINNINGHAM -KINNIER -KINNIE -KINKIN -KINKELLA -KINGSHOTT -KINGORE -KINGEN -KINERSON -KINDERMANN -KINART -KINAN -KINABREW -KIMBRAL -KILLEAN -KILCREST -KILB -KILARJIAN -KIFFE -KIENTZ -KIENING -KIELICH -KIEGER -KIEFT -KIEFF -KIEFEL -KIE -KHUM -KHU -KHOV -KHOUNBORINE -KHOUN -KHOO -KHENSOVAN -KHELA -KHAY -KHANSARI -KHANPONAPHAN -KHANO -KHAMMIXAY -KHALIFE -KHALIFAH -KHACHATOORIAN -KEYNA -KEXEL -KEWISH -KETTMANN -KETRING -KETLER -KETCHESIDE -KET -KESTLE -KESSNER -KERZER -KERSS -KERSKA -KERSHBAUMER -KEROS -KERNTKE -KERKEL -KERI -KERGER -KERELUK -KERECHANKO -KERCADO -KEPPERS -KEOHANE -KENNET -KENNEALY -KENELY -KENEALLY -KENDREW -KENDERDINE -KENAGY -KENADY -KEMNER -KEMMLER -KEMME -KEMERER -KELZER -KELLON -KELLO -KELLIN -KELLEBREW -KELLAWAY -KELIIPIO -KELDER -KELASH -KEITZER -KEIGLEY -KEICHER -KEGERRIES -KEENS -KEEMER -KECKLER -KEAVENY -KEATH -KEASLEY -KEARS -KEANY -KEANUM -KEAMO -KEALOHANUI -KAZMI -KAZMER -KAZIN -KAZECK -KAZAKOS -KAYROUZ -KAYLO -KAWATA -KAVENY -KAVADIAS -KAUPHUSMAN -KAUNE -KAULL -KAUB -KATZBERG -KATYNSKI -KATULA -KATTEN -KATSBULAS -KATNIK -KATECHIS -KATCSMORAK -KATAN -KASTNING -KASTMAN -KASSELL -KASSABAUM -KASPRAK -KASICA -KASACK -KARVONEN -KARVIS -KARPOWICH -KARPIAK -KARNISH -KARMA -KARELL -KAREEM -KARDASHIAN -KARCZEWSKI -KARAYAN -KARATZ -KARADIMAS -KAPUSNIAK -KAPRAUN -KAPPE -KAPPA -KAPITULA -KAPFER -KAPELKE -KAPA -KAOPUA -KANTARIAN -KANTA -KANOZA -KANNARD -KANISH -KANIECKI -KANEVSKY -KANER -KANDRA -KANDA -KANATZAR -KANABLE -KAMPH -KAMNIK -KAMMES -KAMMERDIENER -KAMERAD -KAMELAMELA -KAMEALOHA -KAME -KAMB -KALUZNY -KALUPA -KALUNA -KALTVED -KALTER -KALSCHEUER -KALMUS -KALMER -KALLAND -KALIMA -KALICHMAN -KALFA -KALBAUGH -KAKUDJI -KAITZ -KAINOA -KAILEY -KAIAMA -KAHRER -KAHOLA -KAHANA -KAGAY -KAFEL -KAETZEL -KAESEMEYER -KAER -KAEA -KADUK -KADIS -KADERLIK -KADE -KACIK -KACHIKIAN -KACERSKI -KABOOS -KABBA -KAAZ -KAAUAMO -JUZA -JUSTINO -JUSTASON -JURS -JURISCH -JURGENSMEIER -JURDEN -JURA -JUNGLING -JULYE -JULUKE -JULOCK -JULIAS -JULEN -JUFER -JUEDES -JUBIC -JUARIQUI -JUAIRE -JOZSA -JOULWAN -JOSTES -JOSTEN -JOSICH -JOSIAS -JOSHLIN -JOSEFY -JOSEF -JORSKI -JORN -JORINSCAY -JORDA -JONS -JONGELING -JONGEBLOED -JONDLE -JOLLS -JOHNSHOY -JOHNICO -JOHANEK -JIRJIS -JIRAN -JIMMISON -JILL -JEWELS -JEVTIC -JETTY -JESMER -JES -JERONE -JERKO -JENSCHKE -JENQUIN -JENNINS -JENNELLE -JENISON -JENDRICK -JEMINEZ -JELLIS -JEKOT -JEKEL -JEHL -JEBB -JEAVONS -JEANNERET -JEANE -JEANCHARLES -JEANBAPTISE -JAWOROWICZ -JAVELLANA -JAURIGUI -JAUCH -JASTRZEBSKI -JASS -JASMINE -JARZEMBOWSKI -JARVER -JAROSH -JAROSCAK -JARNESKY -JARES -JARELL -JARADAT -JARAD -JAQUINS -JANULEWICZ -JANSING -JANRHETT -JANOWICZ -JANOSEK -JANNETTI -JANNELL -JANECZKO -JANDRON -JANCZUNSKI -JANCIK -JANACEK -JAMWANT -JAMILI -JAKOVAC -JAGOE -JAFFY -JAESCHKE -JAENKE -JACQUE -JACOBOS -JACKOVITZ -JACKOLA -JACKLEY -JACKA -JACCKSON -JABLONSKY -JABIRO -JABAAY -JAAP -IYENGAR -IWANOWSKI -IWANEJKO -IVON -IVERSLIE -IVANOV -IVANCICH -ITURRALDE -ITTNER -ISRAELSEN -ISRAELS -ISMAY -ISLEIB -ISITA -ISIORDIA -ISING -ISIDORE -ISBILL -ISAGAWA -ISACS -ISAACSEN -IRZYK -IRIZZARY -IRINEO -IRIMATA -IRETON -IRESTONE -IOZZO -IOZZI -IOPA -INTRABARTOLO -INTIHAR -INSKO -INSANA -INOCENTE -INK -INHULSEN -INGOLE -INCHES -INAFUKU -IMPERATORE -IMGRUND -IMBIMBO -IMBIER -IMAINO -ILSE -ILLUZZI -ILLIAN -ILIC -ILASIN -ILAGAN -IKER -IHNAT -IHM -IGWE -IGTANLOC -IFVERSEN -IESE -IENG -IENCO -IDEMOTO -ICARD -IBORRA -IBLE -IBERG -IBBETSON -IBALE -IAVARONE -IATAROLA -IACOVINO -IACOPINO -IACOBELLIS -IACHETTA -HYSOM -HYMOWITZ -HYMON -HYMEN -HYLANDS -HYCH -HUY -HUVAL -HUTMACHER -HUSZAR -HUSTACE -HUSSIEN -HUSKINSON -HUSFELT -HUSENAJ -HUSCH -HURTIG -HURTGEN -HURO -HURNE -HURLSTON -HUPMAN -HUOR -HUNZELMAN -HUNSPERGER -HUNNEYMAN -HUNCKLER -HUMPHRYS -HUMPHERS -HUMETEWA -HUMENIUK -HUMENIK -HULSTRAND -HULLINGS -HULITT -HULICK -HULAND -HUITING -HUGRON -HUFSTEDLER -HUFFNER -HUEZO -HUETTMAN -HUERECA -HUENINK -HUELSE -HUECKMAN -HUDGEONS -HUDACH -HUCKSTADT -HUCKLE -HUCKABEY -HUBSCHMITT -HUBIN -HUBERTUS -HUBBY -HUBBEL -HUBAN -HUAMAN -HSUN -HSIANG -HRAPSKI -HOZNOUR -HOYMAN -HOWKINS -HOWICK -HOWATT -HOVORKA -HOVICK -HOVANESIAN -HOUNCHELL -HOUF -HOTTON -HOTTES -HOTRUM -HOTELLING -HOTAKI -HOSTOFFER -HOSTERMAN -HOSTELLER -HOSPKINS -HOSPELHORN -HOSCHEIT -HOSCHANDER -HORSTEAD -HORRIS -HORNOFF -HORNBERG -HORNANDEZ -HORNACK -HORMELL -HORIKOSHI -HORIGAN -HORGER -HOPPINS -HOPPERSTAD -HOPKO -HOOTSELL -HOOPINGARNER -HOOKANO -HOOGHKIRK -HOOFARD -HOOCK -HONSINGER -HONOUR -HONNETTE -HONNERLAW -HONMA -HONKANEN -HONGACH -HONEYCOTT -HONDORP -HONCHELL -HONAS -HONANIE -HOMSHER -HOMESTEAD -HOLZE -HOLTORF -HOLTHUS -HOLSTER -HOLSONBACK -HOLOM -HOLLINRAKE -HOLLIDGE -HOLLERMAN -HOLLENDONNER -HOLLBERG -HOLK -HOLIAN -HOLES -HOLECZ -HOLEC -HOLDVOGT -HOKUTAN -HOK -HOINESS -HOILMAN -HOHIUDDEN -HOHENSEE -HOHAIA -HOGELIN -HOGATT -HOGARTY -HOFTIEZER -HOFFSTATTER -HOFFNAGLE -HOFFEDITZ -HOFFART -HOERL -HOEFEL -HODOS -HODNEFIELD -HOCKINS -HOCKENBROCK -HOCKE -HOCHARD -HOCATE -HOBLER -HOBER -HOBEN -HOBELL -HOBDEN -HOAGBERG -HNYDA -HLAVKA -HLADIK -HLADEK -HITCHEN -HISLOPE -HIRSCHBERG -HIRNEISE -HIRN -HIRLIMAN -HIRLEMAN -HIRAO -HIPPENSTIEL -HINTSON -HINT -HINLEY -HINH -HINEBAUGH -HINDSON -HINDERBERGER -HIMMELMANN -HIMANGA -HIM -HILSTON -HILSTAD -HILSER -HILSENDAGER -HILSENBECK -HILSCHER -HILSABECK -HILPERT -HILMAN -HILLERUD -HILLEBRANO -HILLEBRANDT -HILLAND -HILGERS -HILGEMAN -HILFIKER -HILDAGO -HILDA -HILBRAND -HIKEL -HIGHBAUGH -HIGGONS -HIGGENBOTTOM -HIERSCHE -HIERHOLCER -HIEDEMAN -HIDAY -HICKETHIER -HICHENS -HIBBITT -HEYDUCK -HEWKO -HEVRON -HEUWINKEL -HEUVELMANN -HEUSNER -HEUNG -HEUETT -HEUCK -HETTINGA -HESSEY -HESPEN -HESCOCK -HESCHKE -HERVIG -HERTZEL -HERSTON -HERSTAD -HERSHKOP -HERSHELMAN -HERSCHELMAN -HERRIGES -HERRES -HERRARTE -HERPICH -HERNANEZ -HERNANADEZ -HERNAN -HERMENAU -HERMANOWICZ -HERKSTROETER -HERKENRATT -HERERA -HERENDEEN -HERAUF -HENSTROM -HENSE -HENRITY -HENNIGH -HENNIES -HENNEBERRY -HENKEY -HENJES -HENGL -HENGEN -HENFLING -HENERSON -HENEIN -HENDRIK -HENDRICKSEN -HENDESON -HENDERSO -HENDERLITE -HEMON -HEMMANN -HEMKER -HEMESATH -HEMANI -HELWEG -HELVERSON -HELSETH -HELQUIST -HELOM -HELMSTETTER -HELMSING -HELLWEG -HELLMICH -HELGAGER -HELGAAS -HELFENBEIN -HELEMS -HELEM -HELDE -HEITING -HEITHER -HEISDORFFER -HEIRO -HEIRENDT -HEINZIG -HEINIGER -HEINGARTNER -HEIMLICHER -HEIMBURGER -HEIKEN -HEIDTMAN -HEIDRICH -HEIDI -HEIDELBERGER -HEIDEBRECHT -HEICK -HEIBULT -HEHOLT -HEGGOOD -HEETH -HEERS -HEERN -HEERKES -HEDTKE -HEDSPETH -HEDON -HEDINGER -HECKE -HECHINGER -HEBEISEN -HEATHERTON -HEARTSILL -HEAGNEY -HEAFEY -HEADLY -HEADLAND -HEADLAM -HEADINGTON -HEADE -HAZY -HAZIM -HAZA -HAYNAM -HAYERTZ -HAYDT -HAXBY -HAWSE -HAWKINBERRY -HAWE -HAVLIN -HAVIR -HAVELKA -HAUXWELL -HAUTAN -HAUSRATH -HAUPTMANN -HAUGHN -HAUERSPERGER -HATZENBIHLER -HATTLEY -HATTA -HATORI -HATHORNE -HATCHITT -HATCHET -HATADA -HASTIN -HASTEDT -HASSING -HASSENGER -HASSANEIN -HASKER -HASKEL -HASHAWAY -HASENFUSS -HASENFRATZ -HASCUP -HASAS -HARTWIGSEN -HARTRUM -HARTQUIST -HARTORY -HARTLEN -HARTLEBEN -HARTINGER -HARSIN -HARRITT -HARRIAGE -HARPHAM -HARNOS -HARNIST -HARLEMAN -HARLEE -HARKE -HARGERS -HARDTER -HARDSOCK -HARDNETTE -HARDINE -HARDI -HARDGES -HARDERMAN -HARDE -HARDAN -HARCAR -HARBATER -HARAPAT -HARANG -HAQ -HANZL -HANSOME -HANSMAN -HANSIS -HANSING -HANOA -HANNINEN -HANNAWAY -HANNAWALT -HANMER -HANKISON -HANIBLE -HANENBERGER -HANEKE -HANEBUTT -HANDZLIK -HANDSOM -HANDKINS -HANDKE -HANDIN -HANBACK -HANAWALT -HANAVAN -HAMSIK -HAMONDS -HAMMETTE -HAMMERMAN -HAMMACHER -HAMLETTE -HAMILTAN -HAMIDI -HAMFF -HAMETT -HAMERSLY -HAMERS -HAMDN -HAMDEN -HAMBERRY -HAMARA -HAMACHER -HALYK -HALTIWANGER -HALSTROM -HALSE -HALPERT -HALNON -HALLO -HALLIMAN -HALLEMEYER -HALLACK -HALIMA -HALICK -HALDI -HALCOTT -HALBERSHTAM -HALAJIAN -HALAAS -HAKEY -HAITZ -HAIRELL -HAIMS -HAIFA -HAHNERT -HAGGIN -HAGGERTON -HAGGERMAKER -HAGEY -HAFFERKAMP -HAFERKAMP -HAEUSER -HAESSLY -HAESE -HAERTER -HAERING -HAEDER -HADVAB -HADSALL -HADLER -HADESTY -HADDENHAM -HADALLER -HACOPIAN -HACKL -HACKEROTT -HACKEN -HACHTING -HABOUSH -HABLE -HABIG -HABIBI -HABERSTROH -HABENICHT -HAAZ -HAAKENSTAD -HAAGE -GYLLENSTEN -GWILT -GWILLIM -GUZON -GUZEWICZ -GUYE -GUTZLER -GUTTORMSON -GUTSCHE -GUTJAHR -GUTGESELL -GUTENBERG -GUSTITUS -GUSSOW -GUSMAR -GUSHI -GUSHARD -GURWELL -GURSKE -GURRERO -GURIN -GURECKI -GUOAN -GUNZELMAN -GUNYON -GUNTHARP -GUNSTREAM -GUNGOR -GUNDELACH -GUNAWAN -GUMPRECHT -GUMAER -GULSTON -GULNAC -GULIZIO -GULBRANDSEN -GUITANO -GUIMARES -GUILLEBEAU -GUILLARY -GUILLAMA -GUILFOOS -GUIGGEY -GUIGA -GUIEB -GUIDREY -GUIAB -GUFFANTI -GUERRINI -GUERRAZZI -GUERERA -GUENTHUR -GUELL -GUEDJIAN -GUDMUNDSSON -GUCKER -GUBIN -GUBALA -GUBA -GUASP -GUARRIELLO -GUARNO -GUARINI -GUANCHE -GUAGENTI -GSTOHL -GRZESIK -GRZEBIEN -GRYSZOWKA -GRYMES -GRUZ -GRUSTAS -GRUSE -GRUNTZ -GRUNERT -GRUNE -GRUNBERG -GRUMNEY -GRUMBLING -GRUMAN -GRULKEY -GRUIGER -GRUENING -GRUENEWALD -GRUBY -GRUBEN -GRUBEL -GRUBBA -GRRIFFIN -GROYS -GROWELL -GROTHAUS -GROSSKREUTZ -GROSKREUTZ -GROSCLAUDE -GROOT -GRONSTAL -GRONQUIST -GRONLUND -GRONITZ -GRONBERG -GRONA -GROMOLL -GROHOWSKI -GROHMAN -GROETSCH -GRODER -GROBMYER -GROBERG -GRIVNO -GRIVETTI -GRIPPEN -GRINE -GRIMME -GRILLS -GRIGOREAS -GRIGLEN -GRIFFITT -GRIFFAN -GRIESHOP -GRIESHABER -GRIEP -GRIEFF -GRIEBLING -GRIBLIN -GREV -GREUBEL -GRESSMIRE -GRESCO -GRENWAY -GRENSKY -GRENNAY -GRENKO -GRENET -GREMO -GREMMELS -GREGWARE -GREGUS -GREGGORY -GREGAN -GREEP -GREENWEIG -GREENSFELDER -GREENHALGE -GREENGO -GREENBACKER -GREEM -GREDER -GRECZKOWSKI -GREBNER -GREBER -GREASON -GREAM -GRAVAT -GRAUMAN -GRAUEL -GRASSLE -GRASMICK -GRAPP -GRANZELLA -GRANTO -GRANSBERRY -GRANQUIST -GRANNEMAN -GRANIERI -GRANES -GRANDON -GRANDNER -GRANAI -GRAMMONT -GRAMBLE -GRALESKI -GRAINEY -GRAIN -GRAICHEN -GRAHOVAC -GRAGEDA -GRAGAS -GRAFFNEY -GRAFFAGNINO -GRAFALS -GRADLEY -GRADIAS -GRADFORD -GRABOWSKY -GRABONSKI -GRABLER -GRABHORN -GRAAP -GOZMAN -GOYEN -GOYDA -GOWEY -GOWDA -GOVOSTES -GOVIA -GOUR -GOULDMAN -GOULDIE -GOUGIS -GOTTS -GOTTEMOELLER -GOTTDENGER -GOTTA -GOTSHALL -GOSVENER -GOSTLIN -GOSSOW -GOSSON -GOSSLING -GOSSET -GOSEY -GORRINDO -GORMANOUS -GORMALLY -GORIUS -GORENA -GORELL -GORDLEY -GORDEY -GORBEA -GOONEN -GOODMON -GONZELAS -GONZALIS -GONYOU -GONSIEWSKI -GONSAR -GONEY -GOMORAN -GOMOLL -GOLLOP -GOLLOB -GOLLIER -GOLIK -GOLIDA -GOLIAS -GOLIAN -GOLIA -GOLEC -GOLDTHORPE -GOLDHORN -GOLDHIRSH -GOLDFUSS -GOLDFELD -GOLDERER -GOLDENSTEIN -GOLDENMAN -GOLDE -GOLBIN -GOLACKSON -GOICOECHEA -GOFFIGAN -GOERLICH -GOEPFARTH -GOEPEL -GOEING -GOEHRINGER -GODBOLDT -GOCHETT -GOCHAL -GOCEK -GOBLIRSCH -GNOZA -GNEGY -GNABAH -GMERNICKI -GLYN -GLUECKERT -GLOWACKY -GLOVINSKY -GLOSTON -GLOSHEN -GLOS -GLOGOWSKI -GLOECKLER -GLIMPSE -GLIDWELL -GLESENER -GLEITZ -GLECKLER -GLEBOCKI -GLEBER -GLAZNER -GLAZEBROOK -GLAVES -GLAVAN -GLASBY -GLADYSIEWSKI -GLADLE -GLADHART -GJELTEMA -GIVANT -GIUS -GIULIOLI -GITT -GIRRES -GIRBACH -GIRAND -GIP -GIOTTONINI -GIORNO -GIONTA -GIOMBETTI -GIOFFRE -GIOE -GINZEL -GINSEL -GINOCCHIO -GINNIS -GINARD -GIMSE -GILZOW -GILTON -GILSTAD -GILOMEN -GILNER -GILLY -GILLMING -GILLION -GILLICH -GILLICE -GILLE -GILIBERTO -GILHULY -GILGAN -GILDEMEISTER -GILCRIS -GIGGER -GIFFITH -GIFFEE -GIFF -GIETZ -GIESEL -GIERA -GIBEAUT -GIBALA -GIASSON -GIARUSSO -GIARRANO -GIAQUINTA -GIANNAVOLA -GIANDOMENICO -GIANANDREA -GIALLORENZO -GIACHERIO -GIACHELLI -GIACCHI -GHEBREMICAEL -GEZALYAN -GETZSCHMAN -GETZLAFF -GETTENS -GETTELMAN -GESTETHER -GESING -GESAMONDO -GERZ -GERWIN -GERVELER -GERTSEMA -GERTHUNG -GERTEN -GERTEL -GERTEISEN -GERSTENBERGER -GERSHKOVICH -GERNEY -GERMY -GERMANA -GERICH -GERDIMAN -GERCKENS -GERBIG -GEORGHIOU -GEOLY -GENTLEMAN -GENTGES -GENTELIA -GENSEL -GENIESSE -GENIA -GENERALAO -GEMMITI -GEML -GELNER -GELLINGS -GELLINGER -GELINO -GELHAR -GELFOND -GELERTER -GELDER -GELBART -GEISINSKY -GEHRKI -GEHM -GEEN -GEDERMAN -GEDE -GEARN -GEANT -GAZZARA -GAZITANO -GAZDIK -GAYANILO -GAWTHORP -GAVIT -GAVIGLIA -GAVETT -GAVAN -GAVAGAN -GAUSMAN -GAUKROGER -GAUFUSI -GAUDIER -GAUDETT -GAUCI -GATZOW -GATTA -GATHERIGHT -GATESY -GATESMAN -GASTELO -GASCHKE -GARWIN -GARTER -GARTENMAYER -GARTENHAUS -GARSJO -GARROUTTE -GARRETTSON -GARREAN -GARRE -GARNHAM -GARNACHE -GARMIRE -GARMEN -GARLETT -GARKOW -GARITO -GARINGER -GARGAN -GARCON -GAPP -GANTZLER -GANTVOORT -GANSERT -GANSEN -GANNS -GANNETTI -GANIN -GANIGAN -GAMOTAN -GAMMOND -GAMER -GAMELLO -GAMBRILL -GAMBOLD -GAMBEE -GAMBARDELLA -GALVEN -GALVANI -GALUSZKA -GALUPPO -GALMORE -GALLUSSER -GALLODORO -GALLINGTON -GALLETA -GALLEGOZ -GALLAUGHER -GALLARGO -GALKIN -GALIPO -GALINIS -GALIMBERTI -GALIC -GALBISO -GALATHE -GALASSINI -GALANTI -GALANO -GALAGHER -GAJESKI -GAJARDO -GAITERS -GAILS -GAILLIARD -GAFFER -GAFANHA -GAER -GADEWOLTZ -GADEN -GACKLE -GABRIAL -GABRENAS -GABOSSI -GABLES -GABL -GABHART -GABELINE -GABBAMONTE -FYLER -FYKES -FUSNER -FUSILLO -FUSHIMI -FUS -FURTAK -FURBLUR -FUNDORA -FUNDERBERG -FUMERO -FULS -FULHAM -FULCO -FUJIMURA -FUJIKAKE -FUGUEROA -FUGER -FUGATT -FUERSTENAU -FUERBRINGER -FRYMOYER -FRYMIER -FRYMARK -FRUTIGER -FRUSHOUR -FRUMAN -FRUIN -FRUGOLI -FRUEHAUF -FROYD -FROSTO -FRONTIS -FRONTIERO -FRONICK -FRONEBERGER -FROHBERG -FROEBE -FROBISH -FRITTZ -FRITCHLEY -FRITCHEY -FRISINGER -FRISELL -FRIJA -FRIEHAUF -FRIEDENTHAL -FRIEBEL -FREUNDLICH -FRET -FRERICH -FRENS -FREKER -FREISEIS -FREIMARK -FREILINO -FREIHEIT -FREIERMUTH -FREIDIN -FREEMANTLE -FREEH -FREEDLANDER -FREEDERS -FREEBURGER -FREDREGILL -FREDERIQUE -FRECKLETON -FRECKER -FRAZZANO -FRAUENFELDER -FRATTALI -FRATTA -FRATRICK -FRATERCANGELO -FRASSO -FRASHURE -FRASCHILLA -FRANZMAN -FRANZINI -FRANZA -FRANTY -FRANSISCO -FRANPTON -FRANKSON -FRANKLAND -FRANKIEWICZ -FRANKART -FRANGIONE -FRANCHINI -FRANCESCONE -FRALIC -FRAKLIN -FRAIR -FRAGOSA -FRADKIN -FRACASSO -FOYER -FOXHOVEN -FOWLIE -FOWLEY -FOWLAR -FOWER -FOUTE -FOUSSELL -FOUQUETTE -FOUNDS -FOUGNER -FOSMIRE -FOSHER -FOSBROOK -FORTUN -FORSS -FORSMANN -FORSLIN -FORSEE -FORPAHL -FORNILI -FORNIER -FORNARO -FORMICHELLI -FORMAGGIONI -FORKUM -FORKELL -FORIEST -FORGRAVE -FORESTA -FOREJT -FOREBACK -FORCUM -FORCHT -FORCHIONE -FORCH -FORBERG -FORBACH -FONUA -FONTENO -FONTENEAU -FONGVONGSA -FONDRIEST -FONDAW -FONCK -FOHL -FOGLIO -FOERSTERLING -FODDRELL -FOCKE -FLUGUM -FLUCAS -FLUAITT -FLOSS -FLORENDO -FLORAS -FLOER -FLOCKHART -FLOCKERZI -FLOAN -FLIN -FLIGER -FLIELLER -FLEURILUS -FLENORD -FLENIKEN -FLENAUGH -FLEMMON -FLEMM -FLEITES -FLEISCHNER -FLECKLES -FLECHAS -FLAUDING -FLATTER -FLATO -FLANNER -FLANEGAN -FLAMMANG -FLAKNE -FLAKER -FLAGIELLO -FLADUNG -FLACHS -FLAA -FIWCK -FITZRANDOLPH -FITZHERBERT -FITZGERREL -FITSGERALD -FISSER -FISHELL -FISCHL -FISCHHABER -FISCHEL -FISCELLA -FISCEL -FIRPI -FIRENZE -FIORILLI -FIORICA -FINWALL -FINKLESTEIN -FINGERSON -FINGERMAN -FINEOUT -FINELLO -FINELL -FINDLEN -FINCO -FILTHAUT -FILPUS -FILO -FILLA -FILI -FIL -FIGIEL -FIGGEURS -FIGERT -FIETEK -FIEST -FIESER -FIESEL -FICKBOHM -FICHT -FICCHI -FIALHO -FIAL -FEYH -FEYEREISEN -FEUSS -FEUSIER -FETTE -FESTINI -FEST -FESKO -FERTIK -FERRUSI -FERRONE -FERRIO -FERRINGO -FERRIES -FERRIE -FERRETT -FERRATO -FERRARIO -FERRARACCIO -FERRANTO -FERR -FEROUZ -FERNETTE -FERNANDERS -FERKEL -FERET -FERER -FERENZ -FENRICH -FENNIMAN -FENNIG -FENISON -FENDRICK -FENDLASON -FEND -FENBERT -FELVER -FELTHAM -FELONIA -FELLING -FELLEZS -FELIZARDO -FELIO -FELICIEN -FELICIA -FELICANO -FELIBERTY -FEISTNER -FEISTER -FEINTUCH -FEILDS -FEIGHNER -FEIERMAN -FEHRS -FEGUEROA -FEGLES -FEGETTE -FEERICK -FEELA -FEEHLY -FEEHERY -FEDORKO -FEDIE -FEDEZKO -FEDEWA -FEDERKEIL -FECTO -FECHTIG -FECHER -FEATHEROFF -FEAGANS -FAZZARI -FAYCURRY -FAWSON -FAWLER -FAVUZZI -FAVRO -FAVIAN -FAVAZZA -FAUSEY -FAUS -FAUPEL -FATTORE -FATORA -FATHY -FATHREE -FATHEREE -FASSINGER -FASKE -FARUG -FARS -FARNESE -FARKUS -FARINHA -FAREN -FARAIMO -FARAHKHAN -FARAGHER -FANTI -FANTER -FANTAZIA -FANTAUZZO -FANSHER -FANDINO -FANATIA -FAMAGELTTO -FALZON -FALLOW -FALLENSTEIN -FALENCKI -FALCIONI -FALCI -FAILEY -FAILDE -FAIGLEY -FAIDLEY -FAHRNI -FAHRLANDER -FAHRENTHOLD -FAHNING -FAGO -FAGLE -FAGERQUIST -FAGERLUND -FAGERAES -FACELLO -EZZELLE -EYTON -EYESTONE -EXTON -EXANTUS -EVJEN -EVILSIZOR -EVERTT -EVERTSEN -EVERSMEYER -EVERROAD -EVERLINE -EVERET -EVARTT -EVANSKY -EVANCHO -EULL -ETTMAN -ETTIENNE -ETTEL -ETRINGER -ETH -ESTRONZA -ESTREM -ESTRADE -ESTOK -ESTLE -ESTIMABLE -ESTESS -ESTELLA -ESTANISLAU -ESSIX -ESSENCY -ESQUINALDO -ESPIRIDION -ESPINEL -ESPERON -ESPENLAUB -ESPEJEL -ESPARSEN -ESMONT -ESMON -ESMAY -ESMAILI -ESKINS -ESKIND -ESHMON -ESFAHANI -ESCOBER -ESCANLAR -ERZ -ERSERY -EROS -ERNSTER -ERLEBACH -ERIKS -ERICHSON -ERGER -EREDIA -ERDOS -ERCOLE -ERCOLANO -ERAZMUS -ERASO -EPEL -EOVALDI -ENSZ -ENSEL -ENOCK -ENNES -ENIS -ENGNATH -ENGFER -ENGELMEYER -ENGELBERG -ENGARD -ENDRIS -ENDRESON -ENDORF -ENDERSBE -ENDE -ENCINO -EMSHWILLER -EMPASIS -EMORE -EMMOND -EMILIANO -EMERLING -EMENAHA -EMDE -EMBERLING -EMANO -ELWAY -ELVEY -ELTRINGHAM -ELTER -ELSKEN -ELSHEIMER -ELSAESSER -ELRICK -ELREDA -ELPERT -ELNICKI -ELMES -ELLSMORE -ELLROD -ELLO -ELLINGHUYSEN -ELLINGHAM -ELLINGBURG -ELLES -ELLENBOGEN -ELLEBY -ELLCESSOR -ELLAMAR -ELKE -ELIJAH -ELIGIO -ELIEFF -ELICKER -ELIAN -ELIADES -ELHADI -ELFENBEIN -ELENBAAS -ELDRINGHOFF -ELD -ELBIE -EKE -EKAS -EISNAUGLE -EISIMINGER -EISENHAVER -EISENHARDT -EISENBERGER -EISELEIN -EINWALTER -EIGHMEY -EIDEMILLER -EICKMEYER -EICHSTEDT -EICHENBERG -EICHBERG -EIBEL -EHRISMAN -EHRENZELLER -EHMAN -EHLI -EHL -EHELER -EGWUOHUA -EGLIN -EGLER -EGERSDORF -EGELSTON -EFTHIMIOU -EELKEMA -EDU -EDRIDGE -EDLAND -EDENHOLM -EDEM -ECONOMOU -ECKMANN -ECKBLAD -ECKARDT -ECHTERNACH -ECHTER -EBRAHIMI -EBERST -EBERSHOFF -EBERHEART -EBBETT -EAYRS -EAVEY -EATOUGH -EASTLING -EASTERN -EASTERLIN -EARTHLY -EARING -EAKLES -EAGLEMAN -EACHO -EABY -DZWONKOWSKI -DZURNAK -DZURILLA -DZIUBA -DZINSKI -DZIEWANOWSKI -DZIEKAN -DYRSTAD -DYDO -DVORSKY -DUYER -DUTTINGER -DUTCHESS -DUSTON -DUSH -DURWARD -DURSTELER -DURPEE -DUROUGH -DURNIOK -DURNAN -DURISSEAU -DURIS -DURIGA -DURDA -DURBORAW -DURA -DUQUAINE -DUPLESSY -DUPLANTI -DUPES -DUPERRE -DUPASKI -DUOS -DUNSHIE -DUNPHE -DUNNELL -DUNKINSON -DUNKERLEY -DUNKAN -DUNEMANN -DUNDERMAN -DUNCANS -DUNAHOE -DUMOUCHEL -DUMMETT -DUMENY -DUMBAR -DUMAR -DULAN -DUKETT -DUK -DUIS -DUGUETTE -DUGRE -DUFRAIN -DUFAUCHARD -DUESTERHAUS -DUESTERBACK -DUERST -DUENWALD -DUDZIK -DUDYCHA -DUDENBOSTEL -DUDDEN -DUCKLOW -DUCKEY -DUCHNOWSKI -DUCHANE -DUCEMAN -DUBOVSKY -DUBLER -DUBER -DUBEL -DUBBERT -DRUTMAN -DRUMMEY -DRUMBORE -DROY -DROW -DROUBAY -DRORBAUGH -DROPINSKI -DRONKO -DRONICK -DROGGITIS -DRISSEL -DRISCOL -DRINEN -DRIESSEN -DRIEDRIC -DREUITT -DRENNING -DRELICK -DREJKA -DREISS -DREBES -DRATCH -DRAKULIC -DRAKOS -DRAIME -DRAGOVICH -DRAGICH -DRAGGETT -DRAGG -DRABICKI -DOYSCHER -DOXBECK -DOWNY -DOWNHOUR -DOWLAND -DOWKER -DOWDS -DOWDA -DOUYETTE -DOUTHETT -DOUGHMAN -DOUGHARTY -DOUGA -DOUDNA -DOTOLO -DOSSMAN -DOSH -DORSINVILLE -DORSAY -DORRILL -DOROSH -DORNBROOK -DORLANDO -DORIO -DORIE -DORCAS -DOPORTO -DOPITA -DOORLEY -DOONER -DONTON -DONO -DONNERBERG -DONNALLEY -DONLYUK -DONKLE -DONILON -DONIGER -DONIGAN -DONIEL -DONCASTER -DONATICH -DONAHER -DONAH -DONAGHUE -DONABY -DOMOWICZ -DOMITROVICH -DOMINOWSKI -DOMINIAK -DOMENICE -DOMBEK -DOMAGALSKI -DOMAGALL -DOLSEN -DOLMAJIAN -DOLLEY -DOLINSKI -DOLHUN -DOLFI -DOLECEK -DOKOVIC -DOK -DOHRN -DOERKSEN -DOELGER -DOEBERLING -DODY -DODIMEAD -DODGION -DOCKUM -DOCKERTY -DOCHTERMAN -DOBRZYKOWSKI -DOBRYNSKI -DOBRUSHIN -DOBROSKY -DOBRININ -DOBISON -DOBBYN -DOBBE -DLUGOS -DITUCCI -DITTUS -DITTMANN -DITO -DITMARS -DISOTELL -DISORDA -DISHAROON -DISCHNER -DISCALA -DISALVI -DIRTH -DIRR -DIRIENZO -DIPOLITO -DIPILATO -DIPIETRANTONI -DIPANFILO -DIONEFF -DIOMEDE -DINUZZO -DINTINO -DINSMOOR -DINSDALE -DINOS -DINORA -DINNENDAHL -DINKLE -DININGER -DINGILLO -DINGIE -DINGELL -DIMITRY -DIMICCO -DIMEZZA -DIMARZIO -DIMARIO -DIMARIANO -DIMANCHE -DILUCCA -DILLIS -DILLINER -DILLIN -DILLASHAW -DILILLO -DILG -DILELLA -DIKER -DIGIOUANNI -DIGEORGIO -DIFRONZO -DIFRANCISCO -DIETTERICK -DIESTLER -DIES -DIERKES -DIEKEMA -DIEDERICHS -DIEBALL -DIDWAY -DIDONATIS -DIDOMIZIO -DIDIO -DIDATO -DICOSMO -DICORPO -DICOCCO -DICLAUDIO -DICHIARO -DIBLE -DIBLASE -DIBIASI -DIBBERN -DIANO -DIANI -DIANGELIS -DIAMANTOPOULO -DIACO -DHRUVA -DHEEL -DHARAS -DEZALIA -DEYAK -DEYA -DEWOLFF -DEWICK -DEWESE -DEWATER -DEVOT -DEVOST -DEVIS -DEVILLIERS -DEVERY -DEVENY -DEVENNY -DEVELICE -DEVASIER -DEVARONA -DEVANSKI -DEVAI -DEUS -DETTORRE -DETTOR -DETROLIO -DETRICH -DETILLION -DETESO -DETERMANN -DETERLINE -DETERDING -DETCHON -DETAEYE -DESTINA -DESTEFANI -DESRUISSEAUX -DESORMEAU -DESONIA -DESMORE -DESKO -DESIMAS -DESHER -DESHAYES -DESCHENE -DESANTOS -DESANDO -DESAMPARO -DESALVATORE -DERX -DERUITER -DEROSIE -DEROGATIS -DERMAN -DERKAS -DERIVAN -DERINGTON -DERIENZO -DERIAN -DEREUS -DERENZI -DERENTIS -DERDERIAN -DERASTEL -DERAPS -DEQUINZIO -DEPRATO -DEPONT -DEPIRO -DEPIERRO -DEPEYSTER -DEONARINE -DEOCAMPO -DENZINE -DENWOOD -DENOS -DENOOYER -DENOMME -DENOIA -DENNIG -DENJEN -DENISCO -DENICK -DENHOLM -DENFIP -DENEUI -DENETCLAW -DENET -DENERY -DEMUZIO -DEMSKE -DEMPEWOLF -DEMORRETT -DEMORIZI -DEMNY -DEMITER -DEMILT -DEMIK -DEMIEN -DEMIANCZYK -DEMETRAKOS -DEMER -DEMBEK -DEMAURO -DEMASE -DEMART -DEMARINO -DELUZIO -DELULLO -DELUCIAN -DELTUFO -DELTORA -DELSOIN -DELSAVIO -DELROSS -DELPERDANG -DELPAGGIO -DELOSIER -DELONGE -DELONAIS -DELOGE -DELMENDO -DELLWO -DELLUM -DELLOSSO -DELLIVENERI -DELLEFAVE -DELLAROSE -DELLAPENTA -DELLAMONICA -DELGODA -DELEKTA -DELEGADO -DELDONNO -DELCO -DELCE -DELBENE -DELAVERGNE -DELASHMUTT -DELAPUENTE -DELAPORTE -DELANA -DELALLO -DELAHAY -DELAGOL -DELAGADO -DELABARRE -DEKRUIF -DEKONING -DEKEYZER -DEJOSEPH -DEJARDIN -DEJARDEN -DEISTER -DEIGADO -DEICHMANN -DEICHMAN -DEHM -DEHLINGER -DEHL -DEHETRE -DEHANEY -DEHAAS -DEGROOD -DEGRASS -DEGRANDE -DEGOOYER -DEGNIM -DEGLANDON -DEGENFELDER -DEGENARO -DEGEAR -DEGAGNE -DEFRANG -DEFRAIN -DEFOSSET -DEFOSSE -DEFONT -DEFIR -DEFAYETTE -DEERDOFF -DEELY -DEDRICKSON -DEDNAM -DEDERICH -DECURTIS -DECOURT -DECOURCEY -DECOCK -DECLERK -DECIUS -DECHAVEZ -DECH -DECEMBER -DECARVALHO -DECARMINE -DECAIRE -DECAEN -DEBROSSE -DEBRETO -DEBRECHT -DEBRAE -DEBORE -DEBIEN -DEBENEDICTIS -DEBARGE -DEBARDELABEN -DEBAETS -DEASIS -DEARS -DEARRUDA -DEARRING -DEARINGER -DEARIN -DEARCOS -DEANES -DEAKYNE -DAZZI -DAZI -DAYAO -DAWKIN -DAVOLT -DAVISE -DAVINE -DAVIDSMEYER -DAVIDOWICZ -DAVAZ -DAVARI -DAVANCE -DAUSTER -DAUSE -DAULERIO -DAUGHTERS -DAUGEREAU -DAUBNEY -DATAMPHAY -DASOUZA -DASKAL -DASHNO -DASHNE -DASEN -DASCHOFSKY -DASCH -DARWICH -DARVISH -DARVEAU -DARTING -DARTHARD -DARRON -DARON -DARNSTAEDT -DARMODY -DARMIENTO -DARINGTON -DARIANO -DARIA -DARDENNE -DARAKJIAN -DANYOW -DANNIS -DANNIELS -DANNI -DANNELLY -DANNELLEY -DANNATT -DANIELY -DANGELIS -DANESE -DANER -DANDOY -DANCO -DANCA -DANAS -DAMRELL -DAMONE -DAMMS -DAMME -DALPORTO -DALOISIO -DALMATA -DALLISON -DALLAM -DALLAGO -DALEGOWSKI -DALECKI -DAKU -DAKING -DAKEN -DAJER -DAJANI -DAIDONE -DAHLKA -DAGRES -DAGO -DAGER -DAFONTE -DADA -DACZEWITZ -DACH -CZYSZ -CZUBAKOWSKI -CZARTORYSKI -CZAPIEWSKI -CYRNEK -CYREE -CYGRYMUS -CWIKLA -CWALINSKI -CUTRERA -CUTHER -CUTCHEMBER -CUSHNER -CUSENZA -CURRERI -CURLIS -CURIO -CURIMAO -CURIA -CUREY -CUNIO -CUMOLETTI -CUMBERLANDER -CULPIT -CULLOTON -CUFFY -CUFFMAN -CUDDINGTON -CUCUTA -CUCUFATE -CUBINE -CUBANO -CUADRAS -CSUHTA -CRUTISON -CRUTHER -CRUSINBERRY -CRUMMELL -CRUMLY -CRUFF -CROZAT -CROSSMON -CROSIAR -CROOKSHANK -CROOKES -CRONOBLE -CRONER -CROMEANS -CROLLEY -CROFUTT -CROCKETTE -CRIVELLI -CRIVARO -CRISTINO -CRISTE -CRISSEY -CRISALLI -CRILEY -CRIBARI -CREWE -CRESELIOUS -CRESCENTI -CREPPS -CRENWELGE -CREITZ -CREGIN -CREGGER -CREEKBAUM -CREDI -CREBS -CRAYFORD -CRAVY -CRAVALHO -CRAUSWELL -CRATHERS -CRASK -CRAPP -CRAPE -CRAPANZANO -CRANSON -CRANS -CRANNELL -CRANDAL -CRAIGWELL -CRAIGMYLE -CRAFTER -CRADLER -COXWELL -COXEN -COWLIN -COVITZ -COVENTON -COUTRE -COUTINHO -COUTERMARSH -COURTON -COURSEAULT -COURREGE -COUREY -COULON -COULIBALY -COUDEN -COTON -COSTE -COSSETT -COSMAN -COSMA -COSLOW -COSICO -COSHOW -CORWELL -CORVO -CORUJO -CORTOPASSI -CORTINEZ -CORTIJO -CORRIO -CORRINGTON -CORRIHER -CORRIDAN -CORRGA -CORRELA -CORPING -CORPE -CORONITI -CORNN -CORNMESSER -CORNELLA -CORNEILLE -CORKRON -CORF -COREEN -CORDIERO -CORDEW -CORDENAS -CORCUERA -CORBLEY -CORAY -CORAHAM -COPSTEAD -COPSEY -COPPING -COPPES -COPNEY -COOPPER -COOPERIDER -COOPAGE -COONSE -COOKERLY -CONWRIGHT -CONTRERAZ -CONTINENZA -CONTES -CONSUELO -CONSTINE -CONSTANZO -CONSTANTIN -CONSTANCIO -CONSENTINO -CONRADT -CONOUR -CONOLEY -CONNEY -CONNERAT -CONLOGUE -CONFORME -CONFALONE -CONEWAY -CONDROSKI -CONDINA -CONDIFF -CONDI -CONCHADO -CONCH -CONCATELLI -CONAUGHTY -COMMERFORD -COMISSIONG -COMINSKI -COMINOTTI -COMAR -COLSCHEN -COLPI -COLPA -COLONY -COLLONS -COLLON -COLLICOTT -COLLEA -COLLARI -COLKER -COLIER -COLESAR -COLEMEN -COLECCHI -COLCHER -COLCHADO -COKLOW -COKEL -COHICK -COFONE -COFFINBERGER -COFFELL -COFFEL -CODISPOT -CODILLA -COCROFT -COCKERHAN -COCHREN -COCHENOUR -COBETTO -COBAR -COALTER -CLYMAN -CLUVER -CLUSKY -CLUNES -CLUKIES -CLOWERD -CLOUATRE -CLOSSIN -CLOOS -CLOKEY -CLINKINBEARD -CLIFFTON -CLIBON -CLEVLAND -CLEVERLEY -CLESCA -CLERC -CLEMENZA -CLEATH -CLEASBY -CLEAL -CLAVIJO -CLATER -CLAROS -CLAGHORN -CLACHER -CLABO -CIVIL -CITTADINI -CITRONI -CISSEL -CISAR -CIRELLA -CIRCELLI -CIPRIAN -CIPCIC -CIOTTA -CINNAMOND -CINKAN -CINCO -CINAR -CIMORELLI -CIMINERA -CILENTI -CIHAK -CIELOSZYK -CIDRE -CICEN -CICALI -CIBIK -CIAVARDINI -CIANFRANI -CIANCIOLA -CIALLELLA -CIAFFONE -CHYLE -CHY -CHURCHFIELD -CHURAPE -CHUMA -CHULLA -CHUENG -CHUBICKS -CHRYSTAL -CHROSNIAK -CHRISWELL -CHRISTOPOULOS -CHRISTI -CHRISTERSON -CHRISTENBURY -CHOWENHILL -CHOWANSKY -CHOUDHARY -CHOR -CHOPTON -CHOLULA -CHOLLETT -CHOINSKI -CHOCRON -CHOCKLEY -CHOCHREK -CHOATES -CHLEBUS -CHIZ -CHITRIK -CHISMAN -CHIPHE -CHIOLA -CHIODI -CHINAULT -CHIME -CHIMAL -CHILSOM -CHILLO -CHICLES -CHICHARELLO -CHICALACE -CHIARIELLO -CHIAPPARI -CHHAN -CHHAM -CHEZ -CHEVIS -CHEVERTON -CHEVEREZ -CHEU -CHESSMAN -CHERUBINI -CHERRIN -CHEROKI -CHERNY -CHERNICH -CHERNESKY -CHERANICHIT -CHEESEBORO -CHECH -CHEAM -CHAVOUSTIE -CHAVIES -CHAUMONT -CHAULKLIN -CHATAMPAYA -CHASSON -CHASSANIOL -CHARY -CHARVET -CHARRY -CHARI -CHARARRIA -CHAPPO -CHAPPA -CHAPMOND -CHAPLIK -CHAPEN -CHANTHASENE -CHANLER -CHANCO -CHAMUL -CHAMPACO -CHALUPA -CHALLINOR -CHALLA -CHALENDER -CHAKNIS -CHAKKALAKAL -CHAISTY -CHADDICK -CHABOYA -CHABEREK -CHABBEZ -CEVERA -CERVERIZZO -CERVENTEZ -CERVANTSZ -CERVA -CERRONI -CERRI -CERRELLO -CERONE -CERNUTO -CERNOTA -CERMINARO -CERF -CERETTI -CERCEO -CERASUOLO -CERASO -CERASI -CERAR -CERAOS -CEPIN -CEPAS -CENTI -CENDANA -CENDAN -CELLAR -CELEYA -CEDER -CECOT -CAZEL -CAZAREE -CAWON -CAWEIN -CAVRAK -CAVENESS -CAVALARIS -CAVAIANI -CAUTERUCCI -CAUGHORN -CAUGHELL -CAUAZOS -CATTS -CATTANACH -CATRINI -CATOZZI -CATIGNANI -CATHOLIC -CATHERSON -CATHERINE -CATHELL -CATELLO -CATCHPOLE -CATANZANO -CASUSCELLI -CASTROS -CASTREY -CASTONGVAY -CASTILLION -CASTELUM -CASTELLS -CASTELLION -CASSLER -CASSINO -CASSILANO -CASSIANO -CASSETTY -CASSENS -CASSELLS -CASSAVAUGH -CASSAGNE -CASSA -CASOLARY -CASMORE -CASLEY -CASKA -CASIS -CASINI -CASHOUR -CASHMER -CASHETT -CASEMENT -CASCIATO -CASAVEZ -CASASOLA -CASARZ -CASAR -CASANA -CASALES -CARVILL -CARVALLO -CARTNER -CARROUSAL -CARRIZO -CARRETTA -CARRETHERS -CARRAO -CARRAN -CARPEN -CAROSELLI -CAROLLA -CARNILLO -CARNEGIA -CARMIN -CARMICKEL -CARLINI -CARLAND -CARKNARD -CARIOSCIA -CARINA -CARIDEO -CARFREY -CARDINALLI -CARDIFF -CARDAZONE -CARBONELLA -CARBERY -CARBEE -CARAVETTA -CARAVATI -CARAMELO -CARAMELLA -CARAIG -CARABINE -CARA -CAPRISTO -CAPRI -CAPPELLINI -CAPORICCIO -CAPICOTTO -CAPESTRO -CAPENER -CAPEK -CAPAS -CAPACCINO -CAOAGDAN -CANWELL -CANTELLA -CANTAKIS -CANSON -CANSINO -CANSIBOG -CANNISTRARO -CANNER -CANEZA -CANEY -CANEVA -CANETTA -CANESTRARO -CANDOZO -CANDLISH -CANDELL -CANANT -CANALEZ -CAN -CAMUS -CAMPORA -CAMPOBASSO -CAMPBLE -CAMPAU -CAMPAIN -CAMLIN -CAMISA -CAMERINO -CAMERANO -CAMENISCH -CAMELIN -CAMELI -CAMBIA -CAMARENO -CAMANCHO -CAMACK -CALVAN -CALUMAG -CALTAGIRONE -CALOWELL -CALLNAN -CALLINGTON -CALLIHAM -CALLIGARO -CALLER -CALLAR -CALLAM -CALLAGY -CALLAGHER -CALLADO -CALIMAN -CALDRON -CALDORON -CALDARERA -CALCAO -CALAF -CAKMAK -CAJULUS -CAJKA -CAIVANO -CAIRES -CAIRE -CAIOZZO -CAINS -CAINNE -CAIMI -CAGNON -CAGNO -CAGAN -CAFFENTZIS -CAFASSO -CAEZ -CADDIGAN -CADDEL -CACATIAN -CABUGOS -CABON -CABARCAS -CABANILLAS -CABANELA -CABAM -BYWATERS -BYSTRON -BYSE -BYOUS -BYNUN -BYCZEK -BYBEL -BYAL -BUZZA -BUZO -BUZIS -BUVINGHAUSEN -BUTZKE -BUTTROSS -BUTTRAY -BUTTKE -BUTTITTA -BUTENHOFF -BUSSCHER -BUSK -BUSITZKY -BUSHWELLER -BUSHROD -BUSHFIELD -BUSCHUR -BUSACCA -BURZLAFF -BURVINE -BURTTS -BURTSCHI -BURTELL -BURSIK -BURRS -BURRAS -BUROWS -BURNIE -BURNASH -BURMSIDE -BURM -BURLY -BURLSON -BURLILE -BURLAZA -BURLAGE -BURKSTRAND -BURKLY -BURKLOW -BURKIN -BURIAN -BURGS -BURGOA -BURGEY -BURGEES -BURFEIND -BURDZEL -BURCHINAL -BURBINE -BURATTI -BUONASSISI -BUONAIUTO -BUNTZ -BUNTS -BUNTENBACH -BUNSON -BUNDA -BUMPAUS -BUMBALO -BUMBACA -BULLIVANT -BULLIN -BULISCO -BULIK -BULEY -BULAT -BUKOWIECKI -BUILES -BUHRKE -BUHLIG -BUGH -BUFFONE -BUENVIAJE -BUELER -BUEHLMAN -BUDZIK -BUDY -BUDROVICH -BUDISH -BUDIAO -BUDHU -BUDEN -BUDDY -BUD -BUCZKO -BUCKNOR -BUCKMEON -BUCKLESS -BUCKETT -BUCKALOO -BUCHWALTER -BUCHMILLER -BUCHMEIER -BUCHITE -BUCHINSKY -BUCHELI -BUCHANN -BUCHAL -BUCARO -BUBOLZ -BUBOLTZ -BUBERT -BRZEZICKI -BRZENK -BRYS -BRYNGELSON -BRYLA -BRYINGTON -BRUZEWSKI -BRUZEK -BRUSTMANN -BRUSSER -BRUSCATO -BRUNZEL -BRUNKHARDT -BRUNICK -BRUNETTA -BRUNECZ -BRUNA -BRUMAGHIM -BRUKER -BRUIN -BRUGLIERA -BRUFFEE -BRUESKE -BRUEGGER -BRUECHERT -BRUCKMEIER -BRROKS -BROZESKI -BROYLE -BROWNLIE -BROWMAN -BROUDY -BROTHEN -BROSKI -BROSI -BROOKSKENNEDY -BROOKIE -BRONSTON -BRONCHEAU -BROMMER -BROLA -BROITZMAN -BROHN -BROGLIO -BROGLEY -BROERS -BROERING -BRODTMANN -BRODIS -BRODINE -BRODFUEHRER -BRODESS -BRODES -BROCKUS -BROCKENBERRY -BROCINER -BROCHET -BROADNAY -BRIZENO -BRITTS -BRINLEY -BRINKHAUS -BRINIUS -BRININGER -BRINGER -BRINDZA -BRINDGER -BRINAR -BRILOWSKI -BRIGNER -BRIGHTHARP -BRIGHTER -BRIENZA -BRIENEN -BRIDENBECKER -BRICKSON -BREZNAY -BREZINKA -BREYERS -BREVELL -BRETTMANN -BRETOS -BRESSER -BRENTZ -BRENNICK -BRENING -BRENDELAND -BREM -BREITER -BREIHAN -BREIDIGAN -BREDLOW -BREDIN -BRECKLEY -BRECKENSTEIN -BREBES -BREAZ -BREAUD -BREATH -BREADY -BRAZIE -BRAUNWARTH -BRAUNBERGER -BRAUMAN -BRAUCKS -BRATH -BRASURE -BRASSWELL -BRASSEUX -BRASKETT -BRASBY -BRANTINGHAM -BRANSFIELD -BRANSEUM -BRANO -BRANGERS -BRANG -BRANES -BRANDSTROM -BRANDORFF -BRANDOM -BRANDENBURGER -BRANCK -BRANCACCIO -BRAMUCHI -BRAMLITT -BRAMEL -BRAMASCO -BRAM -BRAKKE -BRAK -BRAGET -BRAGADO -BRAFMAN -BRADMON -BRADICK -BRADEY -BRADD -BRACKLIN -BRACKBILL -BRABAZON -BRABAND -BOZYCH -BOZIC -BOYL -BOYENS -BOYDE -BOYAS -BOWLICK -BOWLE -BOWCOCK -BOUY -BOUVIA -BOUSUM -BOURRAINE -BOURGON -BOURBOIS -BOUQUIN -BOUMTHAVEE -BOULGER -BOULCH -BOULAIS -BOUGHN -BOUGES -BOUDLE -BOUDJOUK -BOUCOUVALAS -BOUCAUD -BOTTRELL -BOTTONI -BOTTELLA -BOTHNER -BOTELLIO -BOSWINK -BOSTOW -BOSTAIN -BOSSON -BOSSIER -BOSSEY -BOSOLD -BOSLET -BOSHNACK -BOSHELL -BOSHEERS -BOSEFSKI -BORZA -BORYSZEWSKI -BORYSEWICZ -BORSON -BORSETH -BORROTO -BORRIGO -BORRIELLO -BORRELLO -BOROWICZ -BOROVETZ -BOROVEC -BORGELT -BORDINGER -BORDAS -BORD -BORCUK -BORCHER -BORBRIDGE -BOOTHMAN -BOOKHARDT -BOOCOCK -BONWELL -BONSAL -BONNOITT -BONNIFIELD -BONNICK -BONNEL -BONKER -BONITA -BONING -BONIFIELD -BONIFACE -BONGLE -BONGIVENGO -BONGIO -BONGE -BONETT -BONEBRIGHT -BONDROFF -BONDOC -BONDA -BONCELLA -BONAVENTURE -BONALUMI -BONADONA -BONACCORSO -BONACCORSI -BOMPIANI -BOMMER -BOLVIN -BOLUDA -BOLORIN -BOLON -BOLLOM -BOLLETTINO -BOLK -BOLIVER -BOLINE -BOLIEU -BOLIEK -BOLEYN -BOLDUL -BOLDERY -BOLANTE -BOKOR -BOKLUND -BOJANOWSKI -BOISUERT -BOISLARD -BOHREN -BOHMANN -BOHLINGER -BOHART -BOHAM -BOGUST -BOGH -BOGATAY -BOGANY -BOEVING -BOESHORE -BOESENBERG -BOERSTLER -BOERS -BOENIG -BOELSCHE -BOELKE -BOEKHOUT -BOEKELMAN -BOEHNER -BOECKMANN -BODWIN -BODREY -BODMAN -BODIROGA -BODFORD -BODENSTEINER -BODENHEIMER -BODDORF -BODDEKER -BOCKSKOPF -BOCCHI -BOCAGE -BOBOLA -BOBKO -BOBEN -BOARDWAY -BOARDS -BLYZES -BLUMENKRANZ -BLOOMGREN -BLONG -BLONDEAU -BLOMMEL -BLOIS -BLOEM -BLOCKLINGER -BLISSET -BLIMKA -BLILER -BLIESE -BLICE -BLEYER -BLETTE -BLESH -BLENDER -BLEMEL -BLEIFUS -BLECHINGER -BLEATTLER -BLAZOSKY -BLATTI -BLATTEAU -BLATNIK -BLATCHFORD -BLANKSHIP -BLANKSCHAN -BLANDY -BLANDINO -BLAKEWAY -BLAKEBOROUGH -BLAHO -BLACKSTAR -BLACKGOAT -BLACHLY -BLACHER -BLACH -BIZCASSA -BIZARRO -BIVINGS -BITSUIE -BITSUI -BITSKO -BISTODEAU -BISTER -BISONETTE -BISHEL -BISCONER -BISCOCHO -BISCAHALL -BISBY -BISAGNA -BIRTS -BIRNELL -BIRKLINE -BIRKENHEAD -BIRENBAUM -BIRCKETT -BIRCKBICHLER -BIRCHWOOD -BIORKMAN -BIMLER -BILOUS -BILLINGHURST -BILLEY -BILLETER -BILLEGAS -BILLARD -BILKISS -BILE -BILCIK -BIGOS -BIGNALL -BIGIO -BIGGIO -BIGAS -BIFFER -BIFFAR -BIESINGER -BIESCHKE -BIERBRAUER -BIENFANG -BIEHN -BIEDERWOLF -BIEBERLE -BIEBEL -BIDON -BIDNER -BIDGOOD -BIDEZ -BIDERMAN -BICKLEMAN -BICKLEIN -BICKET -BICKER -BICKART -BICHEL -BIARD -BIALIK -BIALCZYK -BEZNER -BEYRER -BEYLOTTE -BEYERL -BEVLY -BEULAH -BEUL -BETZEL -BETTERMAN -BETSINGER -BETSCHMAN -BETITA -BETHURUM -BETHONEY -BETH -BESTON -BESSO -BESSICK -BESIO -BESHEAR -BESARRA -BERVIG -BERTUS -BERTRANO -BERTOVICH -BERTOLASIO -BERTOG -BERTINETTI -BERTELLE -BERTEL -BERTCH -BERTAGNOLI -BERSCHAUER -BERSAMIN -BERS -BERRI -BERRETTI -BERRETTA -BERRET -BERNUCHO -BERNT -BERNSTROM -BERNO -BERNICK -BERNICE -BERNHAGEN -BERNARDONI -BERNABO -BERMERS -BERLOVE -BERLINGHOF -BERKHALTER -BERISHA -BERGSENG -BERGREEN -BERGHOLZ -BERGERT -BEREZ -BERESNYAK -BERDES -BERAS -BENZSCHAWEL -BENZI -BENYA -BENWELL -BENTY -BENTRUP -BENTELE -BENSER -BENNISON -BENNINK -BENNERSON -BENNERMAN -BENITONE -BENIQUEZ -BENIK -BENGELSDORF -BENELL -BENEDUCE -BENECKE -BENEAR -BENDZANS -BENDY -BENDT -BENDORF -BENDOLPH -BENDLAGE -BENDERS -BENDAVID -BENCK -BENASSI -BENARI -BENAGE -BENADOM -BENABIDES -BEMBURY -BEMBOOM -BEMBERRY -BELYOUSSIAN -BELVEAL -BELSEY -BELONGIE -BELONE -BELON -BELOFF -BELLUOMINI -BELLOMA -BELLMAY -BELLISH -BELLISARIO -BELLINGHAM -BELLFLOWER -BELLFLEUR -BELLERDINE -BELLEMY -BELLAZER -BELKOWSKI -BELICH -BELFIGLIO -BELEY -BELDIN -BELBACK -BELARDE -BELANGIA -BEL -BEKERMAN -BEKER -BEK -BEISWANGER -BEIRISE -BEHUN -BEHNING -BEHMER -BEHLEN -BEGOR -BEGG -BEETLEY -BEES -BEERMUDEZ -BEERLING -BEECK -BEDSAUL -BEDOKA -BEDNORZ -BECKLUND -BECKERDITE -BECKENDORF -BECKENBACH -BECHTHOLD -BECHMAN -BECHERER -BEAVIN -BEAUPREZ -BEAUMIER -BEAULIEV -BEAUGARD -BEAUFAIT -BEAUDRIE -BEATHE -BEASMORE -BEARUP -BEARFIELD -BEAHN -BEADNELL -BEADELL -BAZZEL -BAZZANELLA -BAZELAIS -BAZATA -BAZARTE -BAZA -BAYLE -BAYETE -BAWA -BAVZEE -BAVARD -BAUSLEY -BAUNLEUANG -BAUMGARD -BAUMBUSCH -BAUKNIGHT -BAUGHAM -BAUERS -BAUERMEISTER -BAUBLITZ -BATTISTINI -BATTIATO -BATTIATA -BATTERS -BATTAGLINI -BATHURST -BATHRICK -BATEL -BATALONA -BASUA -BASTURA -BASTRESS -BASTILLA -BASTIDOS -BASTIC -BASTEN -BASTEDO -BASTAIN -BASSIL -BASSET -BASHINELLI -BASBAS -BARUTH -BARUFALDI -BARTYLLA -BARTS -BARTROP -BARTOSZ -BARTOSIAK -BARTOLOTTO -BARTOLET -BARTOLDUS -BARTNETT -BARTLONE -BARTHEN -BARTHELMAN -BARTENFIELD -BARTCZAK -BARSOTTI -BARROCAS -BARRILE -BARRIEAU -BARRER -BARREIRA -BARRANGER -BARRANCA -BARQUERA -BARNSCATER -BARNFIELD -BARNCASTLE -BARNATHAN -BARNAR -BARLIP -BARKINS -BARKENHAGEN -BARKALOW -BARIMAH -BARIDON -BARHYDT -BARGAR -BARFF -BARDEEN -BARCELONA -BARBY -BARBINI -BARBIERE -BARBETTA -BARBERIS -BARBERIAN -BARBAN -BARASCH -BARANOW -BARANOVIC -BARAJOS -BARABY -BAPTIES -BANYAS -BANTUG -BANTIN -BANTILLAN -BANTAY -BANSBACH -BANKEMPER -BANIS -BANICK -BANECKER -BANDIN -BANDEMER -BANDANZA -BANCE -BANALES -BAMMON -BAMFIELD -BAMBACIGNO -BAMBACI -BALYEAT -BALVANZ -BALSANO -BALMORES -BALLREICH -BALLOON -BALLMER -BALLINTYN -BALLEY -BALLETTA -BALHORN -BALFORD -BALEZENTIS -BALDREY -BALDIVIEZ -BALDER -BALDASSARRE -BALDACCHINO -BALCHUNAS -BALCEIRO -BALBIN -BALAZ -BALASKI -BALANCIA -BALAGTAS -BAKST -BAKKUM -BAKIOS -BAKELEY -BAJOREK -BAJDAS -BAIZER -BAITG -BAISE -BAILONY -BAILLIO -BAILLE -BAIERA -BAHUN -BAH -BAGNE -BAGI -BAGHDASARIAN -BAGEANT -BAGDONAS -BAETZ -BAERINGER -BADGET -BADEAU -BADDELEY -BACY -BACKEY -BACKENSTOSE -BACKEN -BACKE -BACKBONE -BACCOUCHE -BACCO -BACARELLA -BABITSCH -BABENA -BABBIN -BABBEL -BABAT -BAB -AZZARO -AZOULAY -AZIMI -AZER -AYLSWORTH -AYARZA -AXLINE -AXELSEN -AWTREY -AVOLA -AVIE -AVETISYAN -AVERYT -AVEADO -AVANZATO -AVALA -AUYER -AUXILIEN -AUWARTER -AURGES -AURES -AUPREY -AUPPERLE -AUNKST -AUMICH -AUMENT -AUMAVAE -AULBACH -AUKES -AUGSPURGER -AUFFREY -ATTRIDGE -ATTKISSON -ATTINGER -ATTA -ATON -ATOE -ATIYEH -ATHMANN -ATHAY -ATCHITY -ATALLAH -ATALA -ASTWOOD -ASTOLFI -ASTOL -ASTERS -ASPEGREN -ASMA -ASHPOLE -ASHFIELD -ASHELY -ASEVEDO -ASCHMANN -ASAR -ASAELI -ARZILLI -ARUNDEL -ARUJO -ARUISO -ARTURO -ARTRY -ARTISON -ARTINIAN -ARRIZAGA -ARRIAZOLA -ARPINO -ARONS -ARONHALT -ARNTT -ARNIOTES -ARNHOLTZ -ARNEBERG -ARMILLEI -ARMIJOS -ARM -ARLETH -ARLEN -ARLAN -ARKINS -ARJES -ARIZZI -ARIZOLA -ARIYOSHI -ARING -ARIMOTO -ARIGO -ARIETTA -ARIE -ARIDAS -ARICAS -ARHELGER -ARHART -ARGUILLO -ARGUELLEZ -ARGOTE -ARGENAL -ARENOS -ARENIVAS -ARENIVAR -ARENDZ -ARENDSEE -AREBELA -ARDIZZONE -ARDION -ARDERY -ARDD -ARDAN -ARCINO -ARCILLA -ARCEA -ARCAUTE -ARCANGEL -ARCADIPANE -ARBRY -ARAQUE -ARAMINI -ARAMBUIA -ARAGUS -ARAGUNDI -ARAGONI -ARAGAKI -ARADANAS -ARABIE -ARABIA -AR -APYUAN -APUZZI -APRUZZESE -APPLEWHAITE -APPLEBURY -APPELING -APPELGATE -APLING -APKING -APELA -APARO -APA -AOAY -ANYAN -ANTRICAN -ANTONOPOULOS -ANTONIS -ANTONICH -ANTONACCIO -ANTONA -ANTOLIK -ANTINORE -ANTEBY -ANSLINGER -ANSBACHER -ANSARA -ANNETTE -ANKERSEN -ANIS -ANIOL -ANINGALAN -ANIELLO -ANICHINI -ANIBAL -ANGVIANO -ANGLUM -ANGLEY -ANGERER -ANGELORO -ANGELOFF -ANGELOCCI -ANESTOS -ANERTON -ANELLI -ANDZULIS -ANDRUSS -ANDRIAN -ANDREATTA -ANDONIAN -ANDON -ANDERON -ANDEBE -ANDARY -ANCY -ANCELL -ANASAGASTI -ANAKALEA -ANAGNOSTOU -AMYOTTE -AMTOWER -AMSTEIN -AMSINGER -AMSILI -AMPHY -AMONETTE -AMOLSCH -AMISTOSO -AMISANO -AMIDEI -AMESQUIETO -AMERT -AMENTO -AMELING -AMELANG -AMBROZ -AMBROSONE -AMBRES -AMBLE -AMBERSON -AMBEAU -AMATI -AMARGO -AMANCIO -AMAILLA -AMADI -ALZUGARAY -ALVOREZ -ALVEREST -ALVEN -ALVARENGO -ALVALLE -ALVACADO -ALUMMOOTTIL -ALUKONIS -ALU -ALTWIES -ALTUM -ALTRINGER -ALTOP -ALTHEIMER -ALTEW -ALTERIO -ALSMAN -ALSDON -ALSBROOKS -ALSANDOR -ALRICH -ALRAIS -ALMARIO -ALLOR -ALLOCCA -ALLNUTT -ALLMAND -ALLHANDS -ALLGAEUER -ALLESSI -ALLENBRAND -ALLEMOND -ALLEGRE -ALLCORN -ALLBONES -ALLAMONG -ALLABAND -ALGEO -ALGE -ALFREDS -ALFERA -ALEXZANDER -ALEXIOU -ALEXAKI -ALEXADER -ALEVEDO -ALERTE -ALEKNA -ALEIZAR -ALEGI -ALEGAR -ALEFF -ALECCA -ALDREGE -ALDI -ALDARONDO -ALCOSIBA -ALCOMBRIGHT -ALCE -ALCAOA -ALCAIDE -ALBRITON -ALBREKHT -ALBRACHT -ALBERTHAL -ALBERRO -ALBERDA -ALATTAR -ALAR -ALAMPI -ALAMOS -ALAIBILLA -ALACANO -AKUCHIE -AKRAM -AKINYOOYE -AKIEREISEN -AIMBEZ -AILSTOCK -AHYOU -AHRENHOLTZ -AHONEN -AHMAU -AHLSTEDT -AHLE -AHLBORN -AHARONOF -AHARON -AHAL -AGUINO -AGUILLERA -AGUILER -AGUEDA -AGUALLO -AGRIOS -AGRIESTI -AGRICOLA -AGRESTE -AGRELA -AGRE -AGNEY -AGNE -AGLIAM -AGERTON -AFOA -AFLALO -AFFELT -AFFAGATO -AFAN -AEMMER -ADZHABAKYAN -ADY -ADSIDE -ADROVEL -ADRID -ADONIS -ADLEMAN -ADLE -ADJUTANT -ADESSO -ADELS -ADDO -ADAMIAK -ACRON -ACKINS -ACKIES -ACHZIGER -ACHZET -ACHEKIAN -ACHE -ACFALLE -ACCETTURO -ABUBAKR -ABSON -ABRAMOWSKI -ABOYTES -ABOULISSAN -ABLING -ABLIN -ABLANG -ABKE -ABETRANI -ABERNATHA -ABELA -ABEB -ABDIN -ABDELWAHED -ABDELLA -ABDELDAYEN -ABDEL -ABBINANTI -ABBAY -ABBADESSA -ABAYA -ABAUNZA -ABATTI -AASBY -AALAND -AABY -ZYSETT -ZWINGER -ZWEIER -ZUZIAK -ZUSMAN -ZURO -ZURKUS -ZURHEIDE -ZURAWIK -ZUNIEGA -ZUMOT -ZULLIG -ZUKOWSKY -ZUKOF -ZUKERMAN -ZUCLICH -ZUCHARA -ZUBRZYCKI -ZUBERBUHLER -ZUAZO -ZSOHAR -ZSCHOCHE -ZRIMSEK -ZOUTTE -ZOTOS -ZORZI -ZOROIWCHAK -ZORENS -ZOQUIER -ZONIA -ZONE -ZONDLO -ZOMORA -ZOMBRO -ZOMBORY -ZOMBO -ZOMBERG -ZOLMAN -ZOLLAR -ZOLINSKI -ZOLINAS -ZOELLICK -ZOELLE -ZOEBISCH -ZODROW -ZODA -ZOBELL -ZMIEJKO -ZLOTNICK -ZLATKIN -ZIYAD -ZITER -ZITA -ZISSLER -ZISSER -ZIRIN -ZIRCHER -ZIPSE -ZIPKIN -ZIPAY -ZINNI -ZINKL -ZIMIT -ZIMBA -ZIMAN -ZILER -ZILAHI -ZIKO -ZIHAL -ZIESKE -ZIESER -ZIENTARA -ZIENCINA -ZIELONKO -ZIEK -ZIEHM -ZIEGO -ZIEGENHAGEN -ZIEDAN -ZIEBOLD -ZIDZIK -ZICKUHR -ZICARI -ZIBERT -ZIBELLI -ZIAK -ZIADIE -ZEZIMA -ZEYADEH -ZETO -ZETES -ZERZAN -ZERRING -ZEROM -ZERCK -ZERBEL -ZENTGRAF -ZENKER -ZENER -ZENBAVER -ZENA -ZEMON -ZEMJANIS -ZEMINSKI -ZELMAR -ZELLOUS -ZELLEFROW -ZELKIND -ZELENY -ZELENKO -ZEIS -ZEIMETZ -ZEIMANTZ -ZEILMAN -ZEHNPFENNIG -ZEHE -ZEEGERS -ZECKZER -ZEBELL -ZEBEL -ZEALS -ZDROJKOWSKI -ZAZOZDOR -ZAXAS -ZAWADZKI -ZAVATSON -ZAVADOSKI -ZATKO -ZASTAWNY -ZASPEL -ZARZUELA -ZARYCKI -ZARUCKI -ZART -ZARRIELLO -ZAROZINSKI -ZARNICK -ZARKIN -ZARITSKY -ZARELLA -ZAPPOLO -ZAPPILE -ZAPPAVIGNA -ZAPOTICKY -ZAPICO -ZAPATO -ZAPATAS -ZANUETA -ZANTER -ZANOLA -ZANIS -ZANESKI -ZANCO -ZAMZAM -ZAMPERINI -ZAMPARINI -ZAMPAGLIONE -ZAMOSTNY -ZAMMIELLO -ZAMMETTI -ZAMBOTTI -ZAMBORSKY -ZAM -ZALWSKY -ZAKARIAN -ZAITUNA -ZAITLIN -ZAIDEL -ZAIC -ZAIBEL -ZAHRI -ZAHRADKA -ZAHRA -ZAHORCHAK -ZAHARCHUK -ZAGORAC -ZAGEN -ZAFFINA -ZAFFALON -ZADRA -ZADOW -ZADOR -ZADD -ZACHARIA -ZACHAREWICZ -ZABLONSKI -ZABKA -ZABIK -ZABIELSKI -ZABEK -YUZN -YUSTE -YUSI -YURKANIN -YURICH -YURCHIAK -YUNGCLAS -YUNGBLUTH -YUNAN -YUKI -YUEH -YUCHA -YSLAVA -YRIGOLLEN -YRAGUI -YPINA -YOZAMP -YOVINO -YOVANOVICH -YOURNET -YOUNKINS -YOUNGLOVE -YOUNGLAS -YOUKET -YOSKO -YOSHIMORI -YORTON -YORN -YORKMAN -YORIO -YORGEY -YOQUELET -YONKOSKE -YONGUE -YONGE -YONEY -YONEMORI -YONEK -YOKIEL -YOKELY -YODERS -YO -YNGSDAL -YLONEN -YILMA -YIDIARIS -YEZEK -YESTRAMSKI -YESSIOS -YESKEY -YERRY -YERLY -YERBICH -YENZ -YENNEY -YENNER -YENGLIN -YENGICH -YENDELL -YELDON -YEKEL -YEISLEY -YEILDING -YEGGE -YEEND -YEELOY -YEARICKS -YEAMANS -YEAKLE -YDARA -YBOS -YBALLE -YAVORSKY -YATER -YASUTOMI -YASINSKI -YARZABAL -YARRELL -YARISH -YANOFF -YANNOTTI -YANKOVITZ -YANITY -YANETTA -YANDURA -YANCIK -YANAN -YANAI -YAMNITZ -YAMMINE -YAMKOSUMPA -YAKULIS -YAKLICH -YAKEL -YAHRAUS -YAHNA -YAHL -YAGOUDAEF -YAGIN -YAGECIC -YAFTALI -YAFEI -YAFAI -YABLONSKY -XANDER -WZOREK -WYKES -WYDRYCK -WYDO -WYDLER -WYCUFF -WYBORNY -WURTS -WURGLER -WUOLLE -WUNDERLY -WUN -WULKAN -WUITSCHICK -WUESTENBERG -WUERZ -WUELLENWEBER -WUCHERER -WUBLIN -WUBBEL -WROTTEN -WRINKLES -WRIEDT -WRENNE -WREEDE -WRAGGS -WOYAHN -WOULARD -WOUDENBERG -WOSKOBOJNIK -WOSHER -WORTINGER -WORSTELL -WORST -WORNER -WORN -WORMELY -WORLOW -WORKINGS -WORKINGER -WOOTAN -WOOLHOUSE -WOOLEYHAN -WOOLCOTT -WOODLIFF -WOODERT -WOODEND -WOODBURG -WOODAND -WOMEN -WOMBOLT -WOLZEN -WOLTHUIS -WOLSTED -WOLSKY -WOLOSZCZAK -WOLLER -WOLKOWSKI -WOLKOWIECKI -WOLIVER -WOLHOK -WOLFSBERGER -WOLFRED -WOLFFE -WOLFERTZ -WOLBECK -WOKWICZ -WOJTOWICH -WOJTECKI -WOJNAROSKI -WOJEIK -WOIWODE -WOHLWENDI -WOHLSCHLEGEL -WOHLRAB -WOHLD -WOESTER -WOERNLE -WOELZLEIN -WOELFLE -WODSKOW -WLOSINSKI -WLODYKA -WLAZLOWSKI -WLACH -WIZAR -WIUFF -WITVOET -WITTSTRUCK -WITTRY -WITTLIFF -WITTERSTAUTER -WITSELL -WITOSKY -WITHY -WITHERBEE -WITHENSHAW -WITCZAK -WISTERMAN -WISNOSKY -WISNIOWSKI -WISKOWSKI -WISK -WISINGER -WISENOR -WISCHNER -WISBEY -WIRTJES -WIRGHT -WIRF -WIPPRECHT -WINZLER -WINZENRIED -WINTRINGHAM -WINTERTON -WINTERFELDT -WINTERBOTTOM -WINSTED -WINS -WINNINGER -WINNING -WINNEY -WINNEWISSER -WINNERS -WINNEGAN -WINKLEPLECK -WINKLEBLACK -WINKELPLECK -WINKELJOHN -WINKELBAUER -WININGEAR -WINIKOFF -WINGSTROM -WINETT -WINESICKLE -WINESBERRY -WINEK -WINDMEYER -WINDHURST -WINDAM -WIMPEY -WIMAN -WILTS -WILTJER -WILTERDINK -WILLRETT -WILLOUR -WILLMES -WILLMANN -WILLINSKY -WILLINGTON -WILLIGAR -WILLIAMA -WILLEGAL -WILLCOXON -WILLAND -WILLAME -WILLABY -WILKOWITZ -WILKERS -WILISON -WILIS -WILGOCKI -WILGING -WILFINGER -WILEBSKI -WILDIN -WILDFONG -WILDERSON -WILDENTHALER -WILDEISEN -WILDAUER -WILCINSKI -WILANSKY -WILABAY -WIKINS -WIKERT -WIK -WIINIKAINEN -WIGGAINS -WIGEN -WIETO -WIESS -WIESMAN -WIERZBA -WIERSCHEN -WIERSCHEM -WIEHE -WIEGER -WIEDERWAX -WIEDERIN -WIEDE -WIECIECH -WIECHERT -WIECHEC -WIDRIG -WIDOWSKI -WIDMAIER -WIDLAK -WIDDOES -WICKUS -WICKETTS -WICKEMEYER -WICKA -WICINSKY -WIBETO -WIBBERLEY -WIBBENMEYER -WIATRAK -WIATR -WIAND -WHYMAN -WHOLLY -WHITTLEY -WHITTIKER -WHITTEKER -WHITSET -WHITMYRE -WHITMEYER -WHITHELD -WHITESINGER -WHITEMORE -WHITACKER -WHISTLE -WHISKER -WHISENTON -WHIPPIE -WHIPP -WHILDIN -WHIGUM -WHIBY -WHELTON -WHEEINGTON -WHAN -WHALER -WHAL -WEYHRAUCH -WEWERKA -WETTERAUER -WETSELLINE -WETKLOW -WESTWATER -WESTROM -WESTRE -WESTHOUSE -WESTERVOORDE -WESTERGAARD -WESTERBECK -WESTCOTE -WESTAWAY -WESSELINK -WESSELHOFT -WESLOWSKI -WESLOW -WESCOVICH -WERTHMAN -WERSHEY -WERRIES -WERNLI -WERNING -WERMA -WERKING -WENZELL -WENTZLOFF -WENTCELL -WENSTRAND -WENSKY -WENNERSTEN -WENMAN -WENGREN -WENER -WENECK -WENDY -WENDTE -WENDEROTH -WEND -WENCLAWIAK -WENCE -WEMARK -WELTMER -WELMS -WELMAN -WELLENDORF -WELFEL -WEITKAMP -WEITH -WEISZBROD -WEISSMANN -WEISSERT -WEISSE -WEISSBRODT -WEISMILLER -WEISIGER -WEISENHORN -WEISENFLUH -WEISEND -WEISENBERG -WEISDORFER -WEISBERGER -WEIRATHER -WEINZINGER -WEINZIMER -WEINZETL -WEINTZ -WEINAND -WEIKER -WEIKAL -WEIK -WEIGMAN -WEIGLEB -WEIGART -WEIDENHEIMER -WEIDEN -WEICKUM -WEHRING -WEHAUSEN -WEGLIN -WEGHORST -WEETH -WEETER -WEENUM -WEELBORG -WEEGAR -WEEBER -WEDWICK -WEDNER -WEDLOW -WEDLOCK -WEDI -WEDGWORTH -WECKENBORG -WECHSELBLATT -WEBBS -WEBBINK -WEAVIL -WEATHERLEY -WEATHERILL -WEARRIEN -WEARLY -WEAGEL -WEADON -WAYMER -WAYDE -WAYBILL -WAVRA -WAUGHTEL -WAUGHTAL -WAUCH -WATZKE -WATTSON -WATRS -WATRAL -WATNE -WATERSTON -WASZMER -WASYLOW -WASYLISZYN -WASSERMANN -WASSENBERG -WASSENAAR -WASKOW -WASKEY -WASKA -WASHURN -WASHUP -WASHUK -WASHNOCK -WASHMAN -WASHINSKI -WASEM -WARTMAN -WARSME -WARSING -WARSCHAW -WARSAGER -WARPOOL -WARNEKA -WARNASCH -WARMBIER -WARLEY -WARICK -WARHOLIC -WARHOLA -WARHOL -WARENS -WAREHEIM -WARDROP -WARDON -WARDMAN -WARDINSKY -WARDIAN -WAPPEL -WANVIG -WANSER -WANSCHEK -WANLAND -WANINGER -WANDERS -WAMPOL -WALZIER -WALVOORD -WALTO -WALTENBAUGH -WALTEMATH -WALOVEN -WALMAN -WALLY -WALLRAVIN -WALLOR -WALLINGA -WALLES -WALLENTINE -WALLENDA -WALLECK -WALLBROWN -WALLBERG -WALLBANK -WALLAND -WALLAKER -WALLAERT -WALLACK -WALKINSHAW -WALKING -WALICKI -WALDROPE -WALDMANN -WALDENBERG -WALCZYNSKI -WALCHLI -WALBRECHT -WAKULA -WAKHAM -WAKENIGHT -WAKELING -WAITKUS -WAISMAN -WAISATH -WAINMAN -WAHOSKE -WAHNER -WAHLENMAIER -WAHID -WAGON -WAGGAMAN -WAGENHEIM -WAGANER -WAFULA -WAEYAERT -WAETZIG -WAELTI -WAECKERLIN -WADDOUDS -WACKMAN -WACKERBARTH -WACHSMUTH -WABASHA -VYHNAL -VUTURO -VULGAMOTT -VUKICH -VRIAS -VRANICH -VRABLIC -VOTRAW -VOTER -VOTAUA -VOSKOWSKY -VORWALLER -VORHOLT -VORACEK -VOONG -VONWAGONER -VONSTADEN -VONSOOSTEN -VONKROSIGK -VONGXAY -VONGVIVATH -VONGUNTEN -VONGSAKDA -VONGAL -VONFELDT -VONDOHLEN -VONDERKELL -VONBRAUNSBERG -VONARX -VOLPERT -VOLPER -VOLPA -VOLMINK -VOLLMERING -VOLKING -VOLKERS -VOLKENS -VOLIN -VOLESKY -VOLCKMANN -VOJTA -VOITA -VOIGHTS -VOGTMAN -VOGTLIN -VOGLUND -VOGLAND -VOGENTHALER -VOGELPOHL -VOGDS -VOETMANN -VOEDISCH -VODDER -VOCE -VLK -VLASATY -VLASAK -VLAHOVICH -VIZZA -VIZUETE -VIVOLO -VITTUM -VITTEK -VITORINO -VITKUS -VITITOW -VITERA -VITANTONIO -VITANIEMI -VISVARDIS -VISSMAN -VISOVSKY -VISOSKY -VISOCSKY -VISNOSKY -VISNOCKY -VISCARRO -VISAYA -VIRTS -VIRKLER -VIRGILI -VIRGIE -VIRGEL -VIRELLI -VIRAMONTAS -VIOREL -VINTINNER -VINTIMILLA -VINSEL -VINIEGRA -VINCK -VILLOT -VILLENAS -VILLEMARETTE -VILLECUS -VILLAQUIRAN -VILLANE -VILLALOUOS -VILLAESCUSA -VILKOSKI -VILKAMA -VILCA -VILARO -VILARDO -VILANDRE -VIKEN -VIGUS -VIGUERIE -VIGORITO -VIGARIO -VIESSMAN -VIESSELMAN -VIESCA -VIERTHALER -VIERPS -VIENTOS -VIENNEAU -VIDLER -VICTORICA -VICKEY -VICIOSO -VICHIDVONGSA -VICCICA -VEYSEY -VESPIA -VESELIC -VERZI -VERSELE -VEROBA -VERNET -VERLOTTE -VERIGAN -VERHAAG -VERGAMINI -VERGA -VERFAILLE -VERELA -VERE -VERDINE -VERDIGUEL -VERD -VERBRIDGE -VERBLE -VERBIT -VERBILLA -VERBASCO -VENTUR -VENTRICE -VENTRE -VENTORS -VENTH -VENOSH -VENNARI -VENKUS -VENINGA -VENIBLE -VENGHAUS -VENETOS -VENERE -VENEABLE -VENDELIN -VEMURA -VELZEBOER -VELTRE -VELTIN -VELOSO -VELES -VELE -VELD -VEITZ -VEITENHEIMER -VEIN -VEILLETTE -VEGHER -VEGETABILE -VEGAR -VEERKAMP -VEEN -VECINO -VEBEL -VEATER -VEADER -VE -VAYON -VAYNER -VAVRICEK -VAUTER -VAULX -VAUGHNER -VAUDREUIL -VAUBEL -VATTIKUTI -VATHRODER -VATCH -VASTOLA -VASTARDIS -VASSURE -VASSIL -VASSIE -VASSEUR -VASSEN -VASQUIZ -VASAURE -VARVIL -VARTANYAN -VARRON -VARRO -VARGIS -VARESKO -VARDA -VARANESE -VARAKUTA -VARAGONA -VANZANTE -VANYO -VANWYNGAARDEN -VANWASSENHOVE -VANVOLKENBURG -VANVALEN -VANTUYL -VANTIL -VANTA -VANSTROM -VANSLOOTEN -VANSICKLIN -VANSCOIK -VANSCHAICK -VANRUITEN -VANOSTBERG -VANORSDOL -VANOLINDA -VANOFLEN -VANNULAND -VANNOVER -VANNORSDELL -VANNIELLO -VANNI -VANNER -VANMARTER -VANLEUVAN -VANLAAR -VANKILSDONK -VANKAMMEN -VANHEVEL -VANHEUKELEM -VANHEE -VANHAUEN -VANHAMLIN -VANHAMERSVELD -VANGYI -VANGOMPEL -VANGOFF -VANGERBIG -VANGELOS -VANFOSSAN -VANEZ -VANEFFEN -VANDYGRIFF -VANDY -VANDUYNHOVEN -VANDUNK -VANDORIEN -VANDON -VANDIEST -VANDEWEERT -VANDEVORT -VANDEVERE -VANDEVEBLE -VANDESTREEK -VANDESTEEG -VANDERWYK -VANDERWOOD -VANDERWILT -VANDERWEGE -VANDERWEERD -VANDERWEEL -VANDERTUIG -VANDERSTAPPEN -VANDERSCHOOT -VANDERMOON -VANDERKAADEN -VANDERHOOT -VANDERBOOM -VANDERAU -VANDENACRE -VANDEMORTEL -VANDEMAN -VANDELAARE -VANDEBRAKE -VANCONANT -VANCLEAF -VANBOGELEN -VANBENTHUYSE -VANBECK -VANASSELT -VANAPRASERT -VANANDEL -VAMPA -VALSECA -VALREE -VALOT -VALORIE -VALLIMONT -VALLIE -VALLENTINE -VALLELONGA -VALLARIO -VALL -VALGREN -VALER -VALENZVELA -VALENTYN -VALENSTEIN -VALENCIANA -VALDERAMO -VALCIN -VALCHO -VALAKAS -VAKSMAN -VAKIL -VAKA -VAJGRT -VAISSIERE -VAINIO -VAIKO -VAGHY -VAGHN -VAFIADIS -VAFIADES -VAEZA -VAETH -VADASY -VACLAVIK -VACIO -VACI -VACHE -VACCARINO -VACANTE -UZUN -UXA -UVALLES -UTVIK -UTTLEY -USTICO -USMAN -USINA -USHIODA -USHIJIMA -USCIO -USACK -URSE -URREY -URRETA -URRACA -URNESS -URLANZA -URIOSTEJUE -URIK -URENIO -URDIANO -URBIETA -UPTEGRAFT -UPPENCAMP -UNTERKOFLER -UNNOLD -UNNEWEHR -UNKN -UNIACKE -UNGLAUB -UNCK -UMNUS -UMEZAWA -UMBEL -ULTSEH -ULTRERAS -ULSES -ULLUM -ULISCH -ULICNIK -ULICH -ULEMAN -UKICH -UKEN -UHRIN -UHRHAMMER -UHLES -UHLENHOPP -UGAZ -UGAITAFA -UEKI -UEBERSAX -UDINSKY -UDICIOUS -UCHA -UCCIO -UC -UBRY -UBILES -UBERTINI -UBENCE -TYSSENS -TYSSELING -TYRANCE -TYNIO -TYLMAN -TYDINGS -TYDEMAN -TWOHATCHET -TWITO -TWILLIE -TWIET -TWIEST -TWEET -TWEDDELL -TWAIT -TVEDT -TUXBURY -TUUKANEN -TUTUSKA -TUTONI -TUTELA -TUSHOSKI -TURVAVILLE -TURTURO -TURRILL -TURRIE -TURPIANO -TUROMSHA -TUROCY -TURNPAUGH -TURNOW -TURNMYRE -TURNIER -TURKMAY -TURKASZ -TURINETTI -TURESON -TURDO -TURCIO -TURBINER -TURBIDE -TURBER -TURBE -TURANSKY -TUPY -TUPPEN -TUPLANO -TUORTO -TUNON -TUNGET -TUNBY -TUN -TUMOLILLO -TUMMINIA -TUMBLESTON -TULLISON -TULIS -TULIAU -TUKUAFA -TUKIS -TUJAGUE -TUIA -TUGADE -TUFFIN -TUESBURG -TUERK -TUER -TUENGE -TUDRUJ -TUDMAN -TUDISCO -TUCCIO -TUCAY -TUBERMAN -TSURUDA -TSUCHIURA -TSUCHIDA -TSISTINAS -TSHUDY -TSCHIRHART -TSCHACHE -TSANTAKIS -TRZASKA -TRYTHALL -TRYNINEWSKI -TRUONT -TRUMPP -TRUKA -TRUIOLO -TRUGLIO -TRUELUCK -TRUDO -TRUCHON -TRUCCHIO -TRUBE -TRUAN -TROXIL -TROWEL -TROVINGER -TROTZ -TROTTO -TROSEN -TROOST -TRONZO -TRONT -TROMETTER -TROMBINO -TROMBA -TROLLOPE -TROKE -TROJANOVICH -TROJAK -TROHANOV -TROGSTAD -TROE -TROCCHIO -TROBRIDGE -TROBOUGH -TRNONG -TRIVANE -TRIPPEL -TRIMNAL -TRIMIS -TRIMINO -TRILT -TRILLAS -TRILLANA -TRIGLIA -TRIGILLO -TRIFONE -TRIFFO -TRIFERO -TRIDENTI -TRICOLI -TRICAMO -TRIBUE -TRIBLETT -TREVITHICK -TREVISONE -TREVIS -TREVILLIAN -TREVETHAN -TREVES -TREUSDELL -TRETOLA -TRETINA -TRETERA -TRESSEL -TREOLA -TRENTZ -TRENTO -TRENTMAN -TRENOR -TRENNELL -TREND -TRENCHARD -TREMORE -TREMILLO -TREMBINSKI -TRELLES -TREISTER -TREINE -TREIBLE -TREFF -TREDINNICK -TREDER -TREBON -TREBESCH -TREAR -TRAVISS -TRAUX -TRAUTNER -TRAUSCH -TRAUM -TRATTNER -TRASS -TRAPHAGEN -TRAPENI -TRAPALIS -TRANER -TRAMONTI -TRAINHAM -TRAICOFF -TRAHERN -TRAFFANSTEDT -TRACHSEL -TRACEWELL -TRABOLD -TRABAZO -TOZLOSKI -TOYOTA -TOYN -TOWSE -TOWNSAND -TOWELS -TOUTON -TOUSSAND -TOUPE -TOUNEY -TOUDLE -TOUCHARD -TOUBY -TOUART -TOTZKE -TOTOTZINTLE -TOTINO -TOTING -TOSSIE -TOSCO -TOSCH -TORTU -TORTOLANO -TORTELLI -TORRUELLAS -TORROS -TORRION -TORRILLO -TORRICO -TORREBLANCA -TORRANO -TORONGEAU -TOROMANIDES -TORNINCASA -TOREY -TOREN -TORBUS -TOQUINTO -TOPOLEWSKI -TOPOIAN -TOPNESS -TOPLISTKY -TOPLIFFE -TOPAL -TOPACIO -TOOTHACRE -TOOMS -TOOLSIRAM -TOOLAN -TOOKMANIAN -TONZI -TONTI -TONSCHOCK -TONSALL -TONREY -TONNESEN -TONNAR -TONGATE -TONETTI -TONELSON -TONDER -TONAI -TOMSPON -TOMSKI -TOMSHACK -TOMKUS -TOMKA -TOMIDY -TOMICHEK -TOMELDAN -TOMEHAK -TOMBLESON -TOMASSON -TOMASIC -TOMASH -TOMANEK -TOLONTINO -TOLLIN -TOLLERUD -TOLLEFSEN -TOLINE -TOKLEY -TOKKESDAL -TOHEN -TOGASHI -TOFOLLA -TOEPPERWEIN -TOELLER -TOELKE -TOEDEBUSCH -TODT -TODOROFF -TODOR -TODESCO -TOBOZ -TOBOLSKI -TOASTON -TOA -TLUMACKI -TLATENCHI -TLATELPA -TLAMKA -TJANDRA -TIX -TIVIS -TIVAR -TITTERNESS -TITONE -TITLER -TITH -TISI -TISH -TISDEL -TISDAL -TISCHNER -TIPRE -TIPPEY -TIPOLD -TINUCCI -TINTINGER -TINNERELLO -TINN -TINLIN -TINGER -TIMUS -TIMOTHE -TIMONS -TIMONERE -TIMON -TIMENEZ -TIMCHULA -TIMBRELL -TIMAS -TIMAR -TILZER -TILUS -TILT -TILOW -TILLOU -TIETGE -TIENG -TICHNELL -TICHI -TIBOR -THY -THURY -THURNESS -THURLBY -THURBY -THUNEY -THUMA -THULL -THRUTHLEY -THROSSELL -THRESS -THRELFALL -THRAPP -THRAMS -THRAEN -THOUVENEL -THORSTENSON -THORSNESS -THOROUGHGOOD -THORNBOROUGH -THORMAEHLEN -THORADE -THONNEY -THOMPON -THOMETZ -THOMECZEK -THOMASES -THOMAE -THOBURN -THOBBS -THIVENER -THIM -THILMONY -THIENGTHAM -THIELGES -THIEKLIN -THIDPHY -THIBAUT -THIBADEAU -THEW -THEULE -THEUENIN -THEPBANTHAO -THEOS -THELL -THELIN -THELEMAQUE -THEINERT -THEEMAN -THEDEN -THEBO -THANSAMAI -THANOS -THANGAVELU -THANEM -THANASOUK -THANAS -THAMANN -THAMAN -THALLS -THALLER -THALL -THADISON -TEWOLDE -TEWA -TEUTEBERG -TETEAK -TESTOLIN -TESSENDORF -TESS -TESMAR -TESCHLER -TERWEY -TERTINEK -TERSTAGE -TERRONE -TERRIBLE -TERRIAN -TERREZZA -TERRACCIANO -TERP -TEROGANESYAN -TERMILUS -TERINONI -TERI -TERHORST -TERHERST -TERAZES -TERAVAINEN -TEQUE -TEOH -TEODORO -TENTION -TENORE -TENOFSKY -TENN -TENHOFF -TENHAEFF -TENGBEN -TENEROVICH -TENER -TENDA -TENARIO -TEMPELTON -TEMONEY -TEMAN -TELLEFSEN -TELKAMP -TELGEN -TELES -TELCH -TELANDER -TEKLU -TEIXERIA -TEISSEDRE -TEISBERG -TEHNEY -TEGNER -TEGAN -TEEHEE -TEDER -TEDDY -TECUANHUEY -TECHAU -TECCHIO -TEAKELL -TEAGER -TAYLAR -TAYAN -TAWWAB -TAVOLIERI -TAVERAB -TAVARIS -TAVANA -TAUZIN -TAUTOLO -TAUSCH -TAULA -TAUALII -TATTRIE -TATSUHARA -TATON -TATGE -TATEL -TASTET -TASSA -TASMA -TASKEY -TASHIRO -TARUER -TARUC -TARTSAH -TARSKI -TARRENIS -TARNOFF -TARMEY -TARMAN -TARLING -TARELLA -TARDUNO -TARBORO -TARBERT -TARAY -TARAS -TAQUE -TAPIAN -TAPHOUS -TAPAOAN -TANZI -TANTUM -TANNOUS -TANKXLEY -TANKESLY -TANH -TANGNEY -TANGERMAN -TANGARO -TANGARI -TANGABEKYAN -TANDUS -TANDE -TAMKIN -TAMI -TAMBURRELLI -TAMBURINO -TAMBORLANE -TAMAI -TALVY -TALSKY -TALLEUT -TALLACKSEN -TALIFERRO -TALICSKA -TALENTINO -TALARO -TALAMENTEZ -TALAGA -TAKO -TAKER -TAKARA -TAKAI -TAJUDEEN -TAJIMA -TAITAGUE -TAILLEFER -TAIL -TAHON -TAGUPA -TAGLAUER -TAGALOG -TAGALOE -TAGALA -TAGACA -TAG -TAFITI -TAFELSKI -TAETZSCH -TAEGEL -TADT -TADGERSON -TADDIO -TADD -TACOPINO -TACNEAU -TACKETTE -TACKES -TACKE -TACHAUER -TACASON -TABUENA -TABION -TABATT -SZYSH -SZYMONIK -SZWEDE -SZULIMOWSKI -SZPAK -SZOKA -SZOCKI -SZKLARSKI -SZITAR -SZEWC -SZESTERNIAK -SZERMER -SZERBIN -SZCZEPKOWSKI -SZCZEBLEWSKI -SZACHEWICZ -SZABAT -SYZDEK -SYRRAKOS -SYRIA -SYPULT -SYPOLT -SYNOVIC -SYNER -SYMKOWICK -SYMEON -SYLNEY -SYLLA -SYKTICH -SYER -SWOPSHIRE -SWOLLEY -SWITHENBANK -SWISS -SWIRCZEK -SWINGLER -SWINGEN -SWINERTON -SWINEA -SWILLE -SWIERENGA -SWIERCZYNSKI -SWIECA -SWICORD -SWERDLOFF -SWENCESKI -SWELT -SWELGART -SWEHLA -SWEETS -SWEEM -SWED -SWEATMON -SWEATFIELD -SWATMAN -SWARTZMAN -SWARTZELL -SWANTAK -SWANSTON -SWANCUTT -SWANAY -SWAMM -SWAM -SWAIT -SWAINEY -SWAGGART -SWABE -SWABB -SVOBODNY -SVETLAK -SVENNUNGSEN -SVEDINE -SVATOS -SVARE -SVANCARA -SUYDAN -SUWANNAKINTHO -SUVADA -SUTTIN -SUTTEE -SUTKUS -SUTIC -SUTHERS -SUTCLIFF -SUSZYNSKI -SUSTAR -SUSTAIRE -SUSKAY -SUSANY -SUSANIN -SURYANARAYANA -SURVIS -SURPRIS -SURO -SURMINEC -SURGUY -SURGOINE -SURES -SUREN -SURBELLA -SUOMELA -SUNYICH -SUNNIGA -SUNIER -SUMROW -SUMPTION -SUMMERLOT -SUMERIX -SUMERISKI -SULTANI -SULLEY -SULLENBERGER -SULIPIZIO -SULIN -SULIMA -SULIKOWSKI -SULENTIC -SULEJMANOVSKI -SUGABO -SUFFIELD -SUENTENFUSS -SUEHS -SUDEKUM -SUDBROCK -SUCRE -SUCHOCKI -SUCHLA -SUCGANG -SUCCAR -SUBIJANO -SUBICH -SUBERT -SUBERA -SUAAVA -STUTTGEN -STURNER -STURK -STURGUL -STURGHILL -STUKOWSKI -STUESSE -STUERMER -STUER -STUEBE -STUDYVANCE -STUDNICKI -STUDNIARZ -STUDMIRE -STUDDIFORD -STUCKE -STUBLASKI -STUBBY -STUBBENDECK -STRZALKOWSKI -STRUZZI -STRUZIK -STRUBEL -STROZEWSKI -STROWE -STROUS -STROTZ -STROMBECK -STROKER -STROHMAYER -STROGEN -STRIZICH -STRINI -STRINGARI -STRIMLING -STRIMBACK -STRIFE -STRID -STRICKLIND -STRIBLEY -STREVELS -STREVELL -STREVA -STRETZ -STRENGE -STREMI -STRELECKI -STREJAN -STREITNATTER -STREFF -STREFELER -STREETON -STRED -STRAZISAR -STRAYHAND -STRAYHAM -STRAVINSKI -STRAUSZ -STRAUSNER -STRAUHAL -STRAUGH -STRASTERS -STRANFORD -STRANDBURG -STRANAHAN -STRAHIN -STRADTNER -STRACQUATANIO -STRACHMAN -STRAATHOF -STPIERRIE -STOVIAK -STOVELL -STOUTENGER -STOUDYMIRE -STOUD -STOUCH -STOUALL -STOTTLAR -STOTKO -STOTHARD -STOTESBURY -STOTESBERRY -STORTO -STORES -STORAGE -STOOS -STONICH -STOLZENBURG -STOLLY -STOLEBARGER -STOLCALS -STOLAR -STOKLASA -STOGDEN -STOFFEY -STOFFERAN -STOEY -STOETT -STOELTZING -STOEL -STOEKE -STOEFFLER -STOECKERT -STOEBNER -STOEBERL -STODOMINGO -STODDER -STOCKWIN -STOCKON -STOCKI -STOCKEBRAND -STOCCO -STOBIE -STLOUISE -STIVES -STIRN -STIRE -STIPANUK -STINGLE -STINESPRING -STINEHOUR -STINEBUCK -STINDT -STIMPLE -STIMLER -STILWAGEN -STILTZ -STILNER -STILLIE -STIGSELL -STIERN -STIENS -STIEHM -STIEGMAN -STIEGEMEIER -STIEB -STIDSTONE -STICKLIN -STICKLEN -STICKFORD -STHOLE -STFORD -STFLORANT -STEURY -STETZENBACH -STETKE -STERPKA -STERKER -STERKENBURG -STERKEL -STEPHENSEN -STEPAN -STEP -STENZ -STENN -STENDEBACK -STENBECK -STENBACK -STEN -STEMMLER -STELZL -STELTZER -STELLPFLUG -STELLFOX -STELK -STELE -STEINRUCK -STEINMEIZ -STEINKUEHLER -STEINKIRCHNER -STEINKELLNER -STEINERKERT -STEINE -STEINBRINK -STEINBAUER -STEIK -STEIGHNER -STEIERT -STEICH -STEIBEL -STEHNO -STEGGEMAN -STEFL -STEFFORD -STEFFA -STEFANATOS -STEEP -STEENWYK -STEENHOVEN -STEELMON -STEEG -STEEB -STEDRONSKY -STECZO -STECKLAIR -STECHUCHAK -STECHLINSKI -STEBER -STEBE -STEARNES -STEARNE -STEA -STDENNY -STCHUR -STAYTER -STAWICKI -STAVROSITU -STAUDENMEIER -STATTELMAN -STATIRES -STATION -STATHOS -STATHAS -STASULIS -STASSEN -STASNY -STASER -STASCHKE -STARWEATHER -STARS -STARNAUD -STARLEY -STARKMAN -STARKEN -STARICH -STARGHILL -STARCEVIC -STAPLINS -STAPELMAN -STANZAK -STANWAY -STANOWSKI -STANKOWITZ -STANKAITIS -STANIEC -STANIA -STANGROOM -STANESIC -STANERT -STANEART -STANDS -STANDORS -STANDIFUR -STANDEVEN -STANDAERT -STANCOVEN -STANCLIFT -STANCEY -STANBAUGH -STANA -STAMMLER -STAMENOV -STAMBACH -STAMATOPOULOS -STAMAS -STALBERGER -STAKOE -STAKLEY -STAKKELAND -STAKEMANN -STAINBACH -STAGOWSKI -STAGNO -STAGMAN -STAGLES -STAGERS -STAFFELD -STAENGLEN -STAEHLER -STADTHER -STADT -STADNIK -STADICK -STACHURSKI -STACE -STABS -STABLEY -STABLE -SRYGLEY -SRINVASAN -SQUARCIAFICO -SQUAIR -SPYRAKOS -SPYIES -SPYCHER -SPURGER -SPULICK -SPUDIS -SPUCK -SPRYGADA -SPRUIELL -SPRUANCE -SPROWLS -SPROULS -SPRONG -SPROLE -SPRINGE -SPREWELL -SPRENGELMEYER -SPRAWLS -SPRAUVE -SPRAGLEY -SPOTORNO -SPORYSZ -SPORMAN -SPORICH -SPOONEMORE -SPOLETI -SPOHNHOLZ -SPLITT -SPLETT -SPLATT -SPITER -SPIROUNIAS -SPIRK -SPIRE -SPINOZA -SPINN -SPINETTI -SPINELLO -SPINAR -SPILIS -SPILIAKOS -SPIGUTZ -SPIELVOGEL -SPICKNALL -SPICKER -SPERIER -SPERAW -SPENNICCHIA -SPENE -SPELLANE -SPEGAL -SPEE -SPECKEN -SPEAROW -SPEARMON -SPAYD -SPARTIN -SPARTICHINO -SPART -SPARACINA -SPANNUTH -SPANNER -SPANICEK -SPANGER -SPANE -SPAKES -SPADARD -SPACHT -SPACAGNA -SOZIO -SOYKE -SOWL -SOWDEN -SOWADA -SOVEL -SOUVANNAKHILY -SOUTO -SOUTHAND -SOURLIS -SOULLIERE -SOUHRADA -SOU -SOTOS -SOTHEN -SOSBE -SORZANO -SORVIG -SORTLAND -SOROKATA -SORO -SORLIE -SORHAINDO -SORELL -SORDIA -SORACE -SOPTICK -SOPPELAND -SOPHY -SOPCZAK -SOOY -SOOP -SOOMAROO -SOOLUA -SONTERRE -SONSTENG -SONNEFELD -SONNEE -SONKA -SONGY -SONDRUP -SONDLES -SONDHEIMER -SONDERMAN -SONDEREGGER -SOMVANG -SOMSY -SOMRAK -SOMOZA -SOMOGYE -SOMO -SOMMONS -SOMMAR -SOMJI -SOMILLEDA -SOMERFIELD -SOMDAH -SOMAYOR -SOLWOLD -SOLVERUD -SOLTOW -SOLTMANN -SOLOW -SOLORSANO -SOLONAR -SOLOMEN -SOLLORS -SOLLITTO -SOLLIDAY -SOLITO -SOLINAS -SOLIMA -SOLIES -SOLIEN -SOLICH -SOLIAN -SOLHJEM -SOLERA -SOLDEO -SOLAZAR -SOLARSKI -SOLAITA -SOLADINE -SOKUL -SOKOTOWSKI -SOKOLSKI -SOKOLOWICH -SOJO -SOITO -SOIRO -SOIFER -SOFTICH -SOFER -SOECHTING -SODINI -SODERVICK -SODERS -SODAWASSER -SOCKEY -SOBRIO -SOBIERAJ -SOBESKI -SOBERY -SOBERANES -SOBENES -SOBE -SOBANSKI -SOAPE -SNOWDER -SNORDEN -SNODE -SNETSINGER -SNAPLES -SNAER -SNADERS -SMYRSKI -SMYNTEK -SMYKOWSKI -SMUTZLER -SMUTNY -SMULIK -SMUGALA -SMUCK -SMOLNICKY -SMOLINSKY -SMITTY -SMITHE -SMILING -SMILER -SMIGIEL -SMERDON -SMEJA -SMEDES -SMEATHERS -SMARRA -SMAR -SMALLMON -SMALLIN -SMALLIDGE -SLYTON -SLUTSKY -SLUSKI -SLOVINSKI -SLOTER -SLONECKER -SLOMER -SLOGERIS -SLOBODNIK -SLOANES -SLIPPER -SLINGLUFF -SLINGLAND -SLINEY -SLIMKO -SLIMAN -SLIMAK -SLESSMAN -SLEPSKI -SLEPPY -SLEIMAN -SLEAFORD -SLAUGENHAUPT -SLARK -SLACKMAN -SLABODA -SKYES -SKWERES -SKWAREK -SKUBIK -SKRZYPINSKI -SKREBES -SKRABANEK -SKOVLUND -SKOTNICKI -SKONE -SKONCZEWSKI -SKOLD -SKOIEN -SKOCZEN -SKOBIAK -SKIMEHORN -SKILLPA -SKILLETT -SKILLAN -SKILDUM -SKIBSKI -SKIBO -SKEVOFILAKAS -SKEPPLE -SKARZYNSKI -SKARTVEDT -SKAR -SKAPURA -SKAFLEN -SKAER -SKABO -SJULSTAD -SJERVEN -SIZAR -SIXT -SIXSMITH -SIWICKI -SIVILLS -SIVILAY -SIVIE -SIVICK -SIVAY -SIVALIA -SIVAL -SIUREK -SIUDA -SITTRE -SITTNER -SITTMAN -SITTERDING -SITOSKY -SITKIEWICZ -SISTEK -SISTA -SISOMPHOU -SISOFO -SISLEY -SISKIN -SISAVATH -SIRPILLA -SIROSKY -SIROLLI -SIROKA -SIRNA -SIRICO -SIRHAN -SIRAVO -SIPRIANO -SIPPY -SIPHAN -SIONA -SIOK -SINRICH -SINGTON -SINGHARATH -SINGEWALD -SINGERMAN -SINARATH -SIMPLE -SIMPER -SIMOR -SIMONIELLO -SIMONETTY -SIMONET -SIMOKAT -SIMOENS -SIMMOND -SIMMES -SIMITIAN -SIMICH -SIMERSON -SIMENSKY -SIMCOCK -SILVESTRINI -SILVAGGIO -SILUIS -SILTMAN -SILOVICH -SILLITOE -SILKENSON -SILIEZAR -SILEVINAC -SILENCE -SILBIGER -SILAO -SIL -SIKARSKIE -SIGLOW -SIGLAR -SIFRE -SIFONTES -SIFERS -SIEVERTSEN -SIEVERSON -SIEVE -SIETZ -SIERT -SIERADSKI -SIER -SIELAFF -SIEJA -SIEDNER -SIEDEL -SIEBENTHAL -SIDOROWICZ -SIDLEY -SIDI -SIDEMAN -SICKS -SICKEL -SICKAFOOSE -SICINSKI -SIBOUNMA -SIBGERT -SIBETO -SIBEL -SIBAL -SIAR -SIAPERAS -SIAMI -SIALANA -SHYNE -SHYBUT -SHWAB -SHUTTY -SHUTTERS -SHUSTERMAN -SHURR -SHURAK -SHUPTRINE -SHUPERT -SHUMMON -SHULTHESS -SHULT -SHULSE -SHULLICK -SHULICK -SHULENBERGER -SHUFFLEBURG -SHUBOV -SHRY -SHRIGLEY -SHREN -SHRAWDER -SHOWEN -SHOULDER -SHORTHAIR -SHOPBELL -SHOOBRIDGE -SHONGO -SHOMAN -SHOLLENBARGER -SHOJI -SHOFESTALL -SHODUNKE -SHOBER -SHIVY -SHISILA -SHIRVANIAN -SHIRAKAWA -SHIPPEN -SHIP -SHINSKY -SHINNICK -SHINKEL -SHINGLEUR -SHINGLEDECKER -SHINDEL -SHIMON -SHIMAOKA -SHILO -SHILLITO -SHILLINGSFORD -SHILKUSKI -SHILIATA -SHILDNECK -SHIKUMA -SHIKE -SHIGETA -SHIGEMI -SHIFFERD -SHIDER -SHIBI -SHETTLEROE -SHETTERLY -SHERVILLE -SHERROCK -SHERRANGE -SHERRADEN -SHERLES -SHERIEF -SHERBON -SHEPPERDSON -SHENKER -SHENEMAN -SHENE -SHEMPERT -SHEMAN -SHELVY -SHELSY -SHELKOFF -SHEKELS -SHEIRICH -SHEINGOLD -SHEIDLER -SHEHEE -SHEFTE -SHEFTALL -SHEERER -SHEER -SHEAKLEY -SHBI -SHAWBER -SHATEK -SHASKY -SHARY -SHARPLIN -SHARPERSON -SHARABI -SHAPPEN -SHAPOURI -SHAPLEIGH -SHAPINO -SHAPER -SHANNO -SHANDRO -SHANBERG -SHAMSI -SHAMMAH -SHAMIR -SHAMILY -SHALWANI -SHALLA -SHALINE -SHALHOUB -SHAKOOR -SHAKIN -SHAHINFAR -SHAHIN -SHAHIM -SHAHBAZ -SHAFFREN -SHAFFEN -SHADFAR -SHADDING -SHADAZZ -SHABEN -SHABEL -SGUEGLIA -SGRIGNOLI -SGAMMATO -SEYKOSKI -SEYB -SEWYERD -SEWEALL -SEWADE -SEVERI -SEVENEY -SEVADJIAN -SETTLEMYRE -SETTLEMIRES -SETTINO -SETTIMO -SETTERLAND -SETON -SETLER -SETIAS -SETI -SETCHELL -SETARO -SESTOSO -SESSIN -SESSER -SERVILLE -SERVI -SERVEDIO -SERVE -SERRAVALLI -SERMERSHEIM -SERFOSS -SERFLING -SEREY -SERES -SERENS -SERENE -SERCOVICH -SERBAN -SERATTI -SERATT -SERASIO -SERANDOS -SERAIVA -SERAILLE -SEPVLIEDA -SEPULBEDA -SEPTELKA -SEPPELT -SEPPANEN -SEPPA -SENZ -SENST -SENSOR -SENSMEIER -SENSING -SENSENEY -SENSENBRENNER -SENSEMAN -SENIFF -SENGVILAY -SENGUN -SENETHAVILOUK -SENESENES -SENDERLING -SENDER -SENAVANH -SEMSEM -SEMONIS -SEMINARIO -SEMBER -SELZLER -SELVESTER -SELUSI -SELNES -SELLIN -SELLARDS -SELKEY -SELIC -SELGRADE -SELESNICK -SELAKOVIC -SEITERS -SEIT -SEISLER -SEIL -SEIKALY -SEIDENBECKER -SEIBT -SEIBERS -SEIAVITCH -SEGRETO -SEGONIA -SEGGERMAN -SEGERMAN -SEGELHORST -SEFEROVIC -SEFCHECK -SEERING -SEEMER -SEEKFORD -SEEKAMP -SEEGAR -SEEDORFF -SEEDBORG -SEEBAUM -SEDANOS -SECUNDO -SECOND -SECKLETSTEWA -SECHANG -SEBRANEK -SEBION -SEBERO -SEBENIECHER -SEBASOVICH -SEARER -SEARA -SEANGER -SEAJACK -SEAHOLTZ -SEAGERS -SEAFORTH -SEACREST -SEACAT -SEABURN -SDOIA -SCZBECKI -SCURCI -SCULLIN -SCUITO -SCUDERO -SCUCCHI -SCSARPISNATO -SCRO -SCRIVENER -SCRIUNER -SCRIPPS -SCRIMSHER -SCRICHFIELD -SCRENCI -SCRAPE -SCOULLER -SCOTTS -SCOTTING -SCORGIE -SCOLLAN -SCIULLO -SCITES -SCICUTELLA -SCIALPI -SCIACCHITANO -SCHY -SCHWORM -SCHWIZER -SCHWISTER -SCHWIPPS -SCHWERTFEGER -SCHWERDT -SCHWERD -SCHWENZER -SCHWENNEKER -SCHWENDEMAN -SCHWEMMER -SCHWEITZ -SCHWARZLOSE -SCHWART -SCHWANTD -SCHWADRON -SCHUTZE -SCHUTE -SCHUSTED -SCHURK -SCHUMACHOR -SCHULTER -SCHULTENS -SCHULKIN -SCHULIST -SCHUIT -SCHUERING -SCHUEREN -SCHUENEMAN -SCHUEMANN -SCHUCHAT -SCHUBER -SCHUBACH -SCHRUMPF -SCHROOT -SCHROEN -SCHROEDTER -SCHREUDER -SCHREACKE -SCHRAYTER -SCHRAWDER -SCHRAUGER -SCHRAUB -SCHRAMECK -SCHRAFF -SCHRADLE -SCHRAB -SCHOWENGERDT -SCHOSSOW -SCHOPMEYER -SCHOPFLIN -SCHOP -SCHOMIN -SCHOMAS -SCHOMACKER -SCHOLTENS -SCHOLIN -SCHOGGEN -SCHOESSOW -SCHOEPFER -SCHOENMAKER -SCHOENIG -SCHOELMAN -SCHOELLKOPF -SCHOELL -SCHOEBEN -SCHODERBEK -SCHOCKLEY -SCHNURE -SCHNORBUS -SCHNOPP -SCHNOBRICH -SCHNITZ -SCHNICKEL -SCHNIBBE -SCHNEPF -SCHNELDER -SCHNEIDMAN -SCHNEEBERGER -SCHNACKEL -SCHMOLLINGER -SCHMOAK -SCHMITTOU -SCHMIOT -SCHMILLE -SCHMIER -SCHMIEL -SCHMIEDESKAMP -SCHMIDTKA -SCHMIDLIN -SCHMERTZ -SCHMERGE -SCHMERER -SCHMELMER -SCHMEIDLER -SCHMAUTZ -SCHMAUDER -SCHMATZ -SCHMAND -SCHMALING -SCHLUND -SCHLUMAKER -SCHLOTTHAUER -SCHLOTTE -SCHLOTFELDT -SCHLOTE -SCHLOSSMAN -SCHLOEMANN -SCHLINDWEIN -SCHLIMMER -SCHLIETER -SCHLICHENMAYE -SCHLEPPY -SCHLENGER -SCHLEKER -SCHLEIBAUM -SCHLEH -SCHLECTER -SCHLAEFLI -SCHLADWEILER -SCHLABS -SCHIRRMACHER -SCHIRALLI -SCHINNELL -SCHINKER -SCHINGECK -SCHINDEWOLF -SCHIMEL -SCHILSKY -SCHILK -SCHILDER -SCHIFKO -SCHIFFMANN -SCHIERENBECK -SCHIERBROCK -SCHIELKE -SCHIEFERSTEIN -SCHIEFEN -SCHICKEDANZ -SCHEY -SCHEUREN -SCHEUERS -SCHERSCHLIGT -SCHERMA -SCHERBRING -SCHERBEL -SCHENO -SCHENFELD -SCHELLS -SCHELLIN -SCHELLERMANN -SCHEIERN -SCHEIDERER -SCHEGETZ -SCHEFFRAHN -SCHEFFERT -SCHECHINGER -SCHAVONE -SCHAUNT -SCHAUMANN -SCHAUBLE -SCHAUBHUT -SCHATZLE -SCHARMANN -SCHARLER -SCHARBROUGH -SCHAP -SCHANZENBACH -SCHANTINI -SCHANGE -SCHANDEL -SCHAMMEL -SCHALLIG -SCHAFFTER -SCHAFFELD -SCHAFFEL -SCHAFERSMAN -SCHAEN -SCHACHTERLE -SCHACHSIECK -SCHABBING -SCELZO -SCELSI -SCAVO -SCAVETTA -SCATURRO -SCATENATO -SCARPITTO -SCARPITTA -SCARPATO -SCARPATI -SCARP -SCARLATO -SCARGALL -SCARFI -SCANTLEN -SCANNEU -SCANNAPIECO -SCANIO -SCANDRETT -SCANDALIOS -SCANCARELLO -SCAMEHORN -SCALZI -SCALLORN -SCALLION -SCALET -SCAIANO -SCAIA -SCAGLIOTTI -SCACE -SBORO -SBARRA -SAYSONGKHAM -SAYSANA -SAYLOE -SAXINGER -SAXFIELD -SAWTELL -SAWRANSKY -SAWHILL -SAWATZKI -SAWAIA -SAVITCH -SAVINAR -SAVI -SAVEN -SAVAS -SAVARIA -SAVAKIS -SAVA -SAUVEUR -SAUSSER -SAUREY -SAUREDO -SAUNAS -SAULSBERY -SAUGER -SAUERHAGE -SAUERBRY -SAUCE -SAUBY -SATZ -SATTLEFIELD -SATMARY -SATHIRABOOT -SATCHWELL -SAT -SASUILLE -SASHINGTON -SASENGBONG -SASAO -SARWAR -SARRELL -SARRAGA -SAROOP -SARNES -SARNACKI -SARLO -SARKS -SARKODIE -SARK -SARGIS -SARGETAKIS -SARETTO -SARETTE -SARENSEN -SARCINELLI -SARCINELLA -SARCIA -SARAS -SARANZAK -SARANITI -SARANI -SARAFIAN -SARAF -SARAC -SARABANDO -SAPORITA -SAPNU -SAPKO -SAOUS -SANZENBACHER -SANTTI -SANTRIZOS -SANTOSCOY -SANTOMAURO -SANTOLUCITO -SANTIS -SANTIO -SANTILUKKA -SANTALOCI -SANTAGATA -SANTAELLA -SANSEDA -SANQUENETTI -SANOTS -SANOSYAN -SANN -SANMARCO -SANLATTE -SANKOVICH -SANKE -SANKARY -SANKARAN -SANISLO -SANIPASI -SANIGER -SANGREN -SANGHEZ -SANEAUX -SANDSTEDT -SANDRY -SANDOVAR -SANDOS -SANDONE -SANDNESS -SANDLAN -SANDISON -SANDERSEN -SANDBORG -SANCHZ -SANCHEC -SANCEN -SANASITH -SAMWAY -SAMUELL -SAMPSELLE -SAMPIERI -SAMPAIR -SAMOYOA -SAMOWITZ -SAMMUT -SAMIEC -SAMICK -SAMELE -SAMBUCETTI -SAMARA -SAMANTHA -SAMANLEGO -SALVERSON -SALVATURE -SALUTO -SALUJA -SALTOURIDES -SALTMARSH -SALTA -SALSBERG -SALOUM -SALOS -SALOOM -SALLINGS -SALLIES -SALLAH -SALISBERRY -SALIMAS -SALFELDER -SALESSES -SALEN -SALEADO -SALDVIR -SALDI -SALDEEN -SALCEDA -SALAZAN -SALAZA -SALAY -SALANDY -SAKSHAUG -SAKOVITCH -SAKKINEN -SAKKAS -SAKIESTEWA -SAKIC -SAKAKEENY -SAISON -SAISA -SAINTFLEUR -SAIDE -SAICEDO -SAHSMAN -SAHLI -SAHLER -SAHLBERG -SAHAGIAN -SAGGIONE -SAGES -SAGENDORF -SAFRON -SAFAR -SAETTEURN -SAENPHIMMACHA -SADHU -SADHRA -SADEN -SADEE -SADDAT -SACKOS -SACHLEBEN -SACHES -SACHAR -SACCUCCI -SACANE -SABLONE -SABLOCK -SABLEA -SABISTON -SABINI -SABI -SABHA -SABELLICO -SABAJ -SAADD -RYUN -RYSAVY -RYSANEK -RYLOWICZ -RYLL -RYKEN -RYGIEWICZ -RYDALCH -RYCHLICKI -RYBOWIAK -RYAL -RUZYCKI -RUYZ -RUWET -RUTLEY -RUTHENBERG -RUSZALA -RUSTEIKA -RUSTEBERG -RUSSOTTO -RUSSOTTI -RUSSMAN -RUSSEK -RUSSE -RUSLEY -RUSICH -RUSHWORTH -RUSHMAN -RUSHFORTH -RUSCITTI -RUSCIO -RUSCHMANN -RUSCHEL -RUSAK -RUPERTUS -RUOHO -RUNZLER -RUNYONS -RUNSWICK -RUNFOLA -RUMNEY -RUMMLER -RUMFORD -RUMBURD -RUMBOLD -RUMAN -RULNICK -RUJAWITZ -RUHSTORFER -RUHMANN -RUHLING -RUHLIN -RUGGIERE -RUGGERO -RUGGA -RUGAMA -RUFFOLO -RUETHER -RUESSWICK -RUELL -RUDNITSKI -RUDNICKY -RUDISH -RUDICIL -RUDES -RUDEEN -RUBOW -RUBLOFF -RUBISON -RUBINOW -RUBERTE -RUBENACKER -RUBARTS -RUBALLOS -RUBAL -ROZGONYI -ROZGA -ROZENBERG -ROZAS -ROZANCE -ROYTEK -ROWSELL -ROWRAY -ROWOLD -ROWNTREE -ROWLINS -ROWLING -ROWBACK -ROVELTO -ROVELLA -ROVACK -ROUZZO -ROUT -ROUSSOS -ROUNKLES -ROUNDABUSH -ROUISSE -ROUGIER -ROUFF -ROUDYBUSH -ROUCOULET -ROUBEKAS -ROTSTEIN -ROTHMANN -ROTHHAUPT -ROTHFUS -ROTHENBURGER -ROTHBAUER -ROTHACHER -ROTERING -ROSZALES -ROSSNAGEL -ROSSINGNOL -ROSSING -ROSSELLE -ROSKOVENSKY -ROSKOP -ROSITANO -ROSINE -ROSICH -ROSETTIE -ROSENTRANCE -ROSENTHALL -ROSENKOETTER -ROSENHEIM -ROSENBARGER -ROSEKRANS -ROSEBURE -ROSEBOOM -ROSCOW -ROSCORLA -ROSBOZOM -ROSAVIO -ROSACKER -ROPISKI -RONZONI -RONS -RONDELL -RONDE -RONCSKEVITZ -ROMULUS -ROMPF -ROMJUE -ROMENESKO -ROMBULT -ROMBARDO -ROMANIAK -ROMANDIA -ROMANCHUK -ROMAG -ROLSETH -ROLLIND -ROLLEND -ROLFSEN -ROLFF -ROLEK -ROKUSEK -ROHS -ROHOWETZ -ROHLACK -ROHLA -ROGUGBAKAA -ROGUEMORE -ROGOSKY -ROGINSON -ROGGERO -ROGGENSACK -ROGGENBAUM -ROGGEMAN -ROEVER -ROETZLER -ROETTGEN -ROESSING -ROERISH -ROEMHILD -ROEHLING -ROEDE -ROEBER -RODRIUEZ -RODRIGEUZ -RODNGUEZ -RODIS -RODINSON -RODINE -RODEMOYER -RODEIGUES -RODEA -RODDICK -RODAR -RODAMIS -RODAL -ROCKYMORE -ROCKELMAN -ROCKAFELLOW -ROCHO -ROCHLIN -ROCHENSTIRE -ROCASAH -ROBLOW -ROBLODOWSKI -ROBINZINE -ROBINSONS -ROBINSO -ROBINAULT -ROBILOTTO -ROBICHARD -ROBEZA -ROBERTOS -ROBERRTSON -ROBBLEE -ROBANTE -ROATS -ROATCH -ROAOO -ROANHORSE -ROAL -ROACHO -RIZAS -RIVORD -RIVEROLL -RIVERMAN -RIVEL -RITZKE -RITZIE -RITUMS -RITSON -RITCHLIN -RITARI -RISTAINO -RISSELL -RISSANEN -RISLER -RISKALLA -RISIUS -RISHELL -RISHA -RISEWICK -RISDEN -RISCHE -RISCEN -RISBECK -RIQUELME -RIPOLL -RIOZ -RIOFRIO -RIOBE -RINNERT -RINKUS -RININGER -RINGLAND -RINGHOUSE -RINGELSPAUGH -RINEBOLD -RINDLER -RINDERLE -RIMM -RILLERA -RIISE -RIIPPI -RIGHTNOUR -RIGHTLEY -RIGGINGS -RIGGER -RIFFEE -RIFENBERY -RIEXINGER -RIESLAND -RIESKE -RIESINGER -RIELEY -RIEKERT -RIEF -RIEDLINGER -RIDGNAL -RIDGLE -RIDGILL -RIDEP -RIDEL -RIDDLEBERGER -RIDDERS -RICULFY -RICKFORD -RICHTERS -RICHMANN -RICHLIN -RICHIUSA -RICHERDS -RICHAN -RICENBERG -RICAUD -RICARDI -RIBSAMEN -RIBRON -RIBIERO -RIBERO -RIBBINK -RHUMP -RHUM -RHORER -RHOE -RHOAN -RHOAD -RHINERSON -RHEN -REZNICEK -REYNER -REYNE -REYNALDO -REYELTS -REWERTS -REWAKOWSKI -REVIRA -REVILS -REVERING -REVERA -REVELLI -REVAY -REUTELER -REUST -REUSCHEL -REUDINK -RETZLOFF -RETHMEIER -RETEK -RETCHLESS -RETAMAR -RESSEL -RESPICIO -RESPES -RESPERS -RESOS -RESETAR -RESENZ -RESECKER -RES -RERUCHA -REQUARTH -REPROGLE -REPOFF -REPLIN -REPETOWSKI -REPASKY -REOLA -RENZONI -RENZO -RENYER -RENTOULIS -RENTIE -RENOUF -RENOSKY -RENIGAR -RENERT -RENDLER -REND -REMONDET -REMIS -REMIAN -REMELE -REMEDER -RELLAMA -REKUS -REKEMEYER -REIVES -REITTER -REISTETTER -REINSVOLD -REINSFELDER -REINOWSKI -REINIER -REING -REINEN -REINECCIUS -REINDEAU -REINBOLT -REIMNITZ -REIMMER -REIHL -REIHING -REIGLEMAN -REIGHLEY -REIDHERD -REIDHAAR -REICHOW -REIBMAN -REIAL -REHSE -REHMERT -REHLANDER -REHER -REHBOCK -REGULSKI -REGUEIRA -REGN -REGINALDO -REGELMAN -REGAR -REFSAL -REFAZO -REEMER -REEFER -REDLON -REDKEY -REDINBO -REDIKER -REDIG -REDEMER -REDCROSS -REDAL -RECUPARO -RECKSIEK -RECKERS -RECIDIVI -RECHICHI -REBURN -REBOLD -REBIK -REBAR -REAVISH -REAVER -REAVELY -REASH -REAOLLANO -REAGEY -READINGER -READDY -RAZON -RAYYAN -RAYSHELL -RAYOW -RAYOME -RAYHEL -RAYCHARD -RAYAM -RAWI -RAWHOUSER -RAWAT -RAVIZEE -RAVIELE -RAVAGO -RAUTENSTRAUCH -RAULINO -RAUL -RAUHECKER -RAUHE -RAUGHT -RAUCO -RAUCCI -RATZLOFF -RATTU -RATTELL -RATTANASINH -RATSEP -RATKOVICH -RATHROCK -RATHEL -RATHAI -RATANA -RASUAL -RASTETTER -RASTEGAR -RASSET -RASPOTNIK -RASPA -RASOOL -RASOLE -RASLEY -RASKEY -RASICO -RASAVONG -RAS -RAROGAL -RARDEN -RAPTIS -RAPPL -RAPKOWICZ -RAPISURA -RAPANOT -RAPALO -RAPACKI -RANWEILER -RANSONET -RANSLER -RANNI -RANMAR -RANKS -RANILDI -RANDGAARD -RANDAHL -RANCH -RANAUDO -RANAH -RAMSY -RAMSOUR -RAMSHUR -RAMSBY -RAMRIREZ -RAMPY -RAMPULLA -RAMPADARAT -RAMPA -RAMONEZ -RAMLER -RAMLALL -RAMJHON -RAMJAN -RAMIREL -RAMETTA -RAMELLI -RAMELIZE -RAMELB -RAMDEO -RAMCHARRAN -RAMAUDAR -RAMAL -RAMAGANO -RAMACH -RAKYTA -RAKUS -RAKESTROW -RAKERS -RAJK -RAJAS -RAJAPHOUMY -RAISLEY -RAISLER -RAISIN -RAIS -RAILES -RAIKE -RAIGOSA -RAHOCHE -RAHMES -RAHIB -RAHAMAN -RAGUS -RAGULA -RAGUAY -RAGLOW -RAFUS -RAFEY -RAFEL -RAFALA -RAETHKE -RAEMER -RAEF -RAEDER -RADZIWON -RADWICK -RADWANSKI -RADOSLOVICH -RADON -RADMALL -RADLINSKI -RADIE -RADERSTORF -RADEJ -RADDLE -RACZAK -RACKO -RACITI -RACIOPPO -RACER -RABUSE -RABSATT -RABJOHN -RABITO -RABEY -RABENECK -RABEHL -RABECK -RABBE -RABAL -QUIVOZ -QUIVER -QUITUQUA -QUITUGUA -QUITTNER -QUITTER -QUITERO -QUITEDO -QUIRKE -QUIRAM -QUIRALTE -QUINTARD -QUINTANIA -QUINNAN -QUINLIVAN -QUILTER -QUILLMAN -QUILLAN -QUILINDRINO -QUIEL -QUIDAS -QUICHO -QUIBODEAUX -QUEZERGUE -QUEZAD -QUETTANT -QUEROS -QUERIO -QUERCIOLI -QUENZEL -QUENCER -QUELLER -QUEBRAL -QUATREVINGT -QUASHNOCK -QUASDORF -QUARTUCCIO -QUARTIERO -QUARTIERI -QUARTARO -QUARRELL -QUANSTRUM -QUAMMEN -QUALHEIM -QUAGLIATO -QUADNAU -QUA -QASBA -QARE -QADEER -PYWELL -PYSHER -PYROS -PYFROM -PYFER -PYETTE -PYCHARDO -PUZON -PUTZER -PUTTON -PUTCHA -PUSKARICH -PUSH -PURKHISER -PURFEERST -PURATY -PUOTINEN -PUNTILLO -PUNIHAOLE -PUNDSACK -PUNA -PULWER -PULLUS -PULLARA -PUITA -PUHRMAN -PUHR -PUHL -PUFFENBERGER -PUERTO -PUENT -PUDENZ -PUCKET -PUCKER -PUBLIC -PTASCHINSKI -PSUTY -PSUIK -PSILOVIKOS -PRZYBYL -PRZENICZNY -PRYE -PRYBYLSKI -PRUKOP -PRUESSNER -PROVOSTY -PROVORSE -PROVINS -PROVINO -PROVENZO -PROVENT -PROTICH -PROTAS -PROSS -PROSIENSKI -PROSENICK -PROSCIA -PROSAK -PROPHETER -PROMISCO -PROMER -PROKUP -PROKOS -PROGL -PROFETA -PROFERA -PROFANCIK -PROCSAL -PROCIUK -PROCHAK -PROCH -PROCACCINO -PRIZIO -PRIVADO -PRITZKER -PRITZEL -PRITCHER -PRITCHELL -PRISOC -PRIOLEAN -PRINN -PRINDIVILLE -PRINCEVALLE -PRIMOS -PRIMA -PRIGG -PRIEGO -PRIEGNITZ -PRIBLE -PRIBISH -PRIBBENOW -PREVOT -PREVET -PRETZER -PRETZEL -PRETY -PRESUME -PRESTLEY -PRESTIPINO -PRESNAL -PRESLIPSKY -PRESIADO -PRENDES -PREJSNAR -PREIST -PREISSNER -PREISNER -PREHEIM -PREFONTAINE -PREDOM -PRECISSI -PRECHTEL -PRECHT -PRAUSE -PRATTEN -PRATELY -PRANTE -PRANG -PRAMUK -PRALEY -PRAKOTH -PRACH -POZAR -POYNTON -POWSKEY -POWSEY -POWLEN -POWELLS -POURVASE -POURNER -POURIER -POURCHOT -POUNCIL -POULISSE -POULET -POUK -POUCHE -POTULSKI -POTTKOTTER -POTTICHEN -POTTEIGER -POTSANDER -POTHOVEN -POTANOVIC -POTACZALA -POSUSTA -POSTO -POSTLES -POSTIGLIONE -POSTEMSKI -POSSINGER -POSSICK -POSSEHL -POSPICIL -POSKITT -POSKA -POSIS -PORTNOFF -PORTELLO -PORRIS -PORRES -POREP -PORELL -PORAT -POPULARIS -POPPO -POPADIUK -POOYOUMA -POOSCHKE -POORT -POOLHECO -PONSLER -PONIATOWSKI -POMYKALA -POMPI -POMILLA -POMIECKO -POMFRET -POLZER -POLVINO -POLTROCK -POLTON -POLTER -POLSKI -POLOSKEY -POLLOT -POLLNOW -POLIVICK -POLISOTO -POLINTAN -POLIKS -POLIKOFF -POLICICCHIO -POLICASTRI -POLICARE -POLETSKI -POLEE -POLEDORE -POLACCO -POKRZYWA -POKALLAS -POINTE -POINELLI -POHORILLA -POHLSON -POGOZELSKI -POGORELC -POELLINETZ -PODWOSKI -PODESZWA -POD -POCKLINGTON -POCIENGEL -POCHATKO -POCEKAY -POCAI -POAGUE -PNIEWSKI -PLUTT -PLUMBAR -PLUMA -PLOTZKER -PLOTROWSKI -PLOSKUNAK -PLOENNIGS -PLIMPTON -PLIENIS -PLEWINSKI -PLETT -PLESKAC -PLESHE -PLESANT -PLEPPO -PLEGGE -PLAYL -PLAVNIK -PLATEROTI -PLATEROS -PLASTOW -PLASSMEYER -PLASSMAN -PLANER -PLANCE -PLANAGAN -PLAN -PLAMONDIN -PLAINY -PLACKETT -PLACINO -PLACHECKI -PLACERES -PLAAS -PJETROVIC -PIZZULO -PIZZINI -PIZZICO -PIVEC -PITPITAN -PITORAK -PITOCCO -PITKA -PITCH -PITCAIRN -PITARRESI -PISZCZEK -PISTELLI -PISKEL -PISICCHIO -PISERCHIO -PISCITELLO -PIRROTTA -PIRRELLO -PIRRE -PIROZHKOV -PIROLLO -PIRIEDA -PIPPER -PIPIA -PIOSKE -PIOMBINO -PINZINO -PINTELLO -PINSONNEAULT -PINSONEAULT -PINN -PINKENBURG -PINKE -PINDELL -PINCHOCK -PINCE -PIMPLE -PIM -PILUSO -PILLON -PILLARELLA -PILLADO -PILKEY -PILETTE -PILCHOWSKI -PIIRTO -PIHLAJA -PIGGIE -PIGANELLI -PIETY -PIETROWICZ -PIETROK -PIETRINI -PIESCO -PIERTRACCINI -PIERSIAK -PIERROT -PIERDON -PIERANNUNZIO -PIENTKA -PIELOW -PIELA -PIEK -PIEGARO -PIEFER -PIECUCH -PIDRO -PICOTTE -PICKMAN -PICKETTS -PICKETPIN -PICKERELL -PICKENPAUGH -PICHOFF -PICHER -PICCUILLO -PICCIRILLI -PICCINONE -PICCINICH -PICCILLO -PICCHETTI -PIATZ -PIAO -PIACITELLI -PIACENZA -PHYFE -PHURROUGH -PHUONG -PHUMA -PHUAPHES -PHRAMANY -PHOUBANDITH -PHOMMAJACK -PHOM -PHO -PHIMSOUTHAM -PHIMPRADAPSY -PHILMORE -PHILLIES -PHILLIBER -PHILIO -PHILDOR -PHILABAUM -PHI -PHETSANGHANE -PHETPHONGSY -PHELP -PHAYMANY -PHARMER -PHARAO -PHANTHAVONGSA -PFROMMER -PFOUTZ -PFORR -PFNISTER -PFLUGRADT -PFLUGRAD -PFLEUGER -PFINGSTEN -PFIFER -PFEIFFENBERGE -PFEFFERKORN -PFANSTIEL -PFANDER -PFALMER -PFAFFINGER -PEZLEY -PEZINA -PEZEZ -PEYSER -PEVAHOUSE -PETULA -PETTON -PETTIPAS -PETTIJOHN -PETTIGROVE -PETTAY -PETROUITS -PETROPULOS -PETRONZIO -PETRONELLA -PETRILLI -PETRICCIONE -PETRIC -PETRECCA -PETRALIA -PETR -PETKA -PETIGNY -PETESIC -PETERSIK -PETEK -PETANICK -PETALCU -PESZYNSKI -PESSOLANO -PESSES -PESICKA -PESCHONG -PESARCHICK -PESANTES -PERZA -PERTEA -PERSYN -PERSTEN -PERSCH -PERROTA -PERROT -PERRIOTT -PERRING -PERRILLOUX -PERRETTE -PERRELLI -PERRELL -PERNOD -PERNIN -PERNICIARO -PERNESKY -PERMANN -PERLSON -PERKISS -PERINA -PERIE -PERENCEVICH -PEREDZ -PERCEY -PERAHA -PEPLAU -PEPKA -PEPION -PENZIEN -PENZEL -PENYA -PENWARDEN -PENTICOFF -PENSKY -PENSICK -PENSA -PENNELLE -PENIRD -PENHALLURICK -PENHA -PENGRA -PENDEREL -PENDEGRAFT -PENCAK -PEMELTON -PELUSE -PELNAR -PELLOM -PELLITTERI -PELLIGRINO -PELLIETIER -PELLICONE -PELLETIU -PELLET -PELLAM -PELEG -PEKAS -PEKARA -PEHOWICH -PEHA -PEGERON -PEFFLY -PEFFERKORN -PEETOOM -PEERZADA -PEECHA -PEDUZZI -PEDRALBA -PEDEZ -PEDEARE -PECINOUSKY -PECHAIRA -PECATOSTE -PECARINA -PECARARO -PEARYER -PEACY -PEACHAY -PAYSEUR -PAYOR -PAYNA -PAYANT -PAYAMPS -PAX -PAWLUCH -PAVLISKA -PAVIS -PAVELSKI -PAVELLA -PAV -PAUZA -PAUSCH -PAULSHOCK -PAULSETH -PAULMINO -PAULIC -PAULAUSKIS -PAULAUSKAS -PAULAS -PAUKER -PAUGSCH -PATZNER -PATZKE -PATWELL -PATUEL -PATTYRE -PATTINSON -PATTENGALE -PATRIQUIN -PATRIN -PATRIAS -PATRIA -PATOLOT -PATIK -PATERNITI -PATELLIS -PATCHES -PATCHER -PATANELLA -PATAKI -PATAJO -PASVIZACA -PASTURES -PASTO -PASTIAN -PASSERINO -PASSER -PASKOW -PASKET -PASINSKI -PASHO -PASHEA -PASHAL -PASCORELL -PASCOAL -PASCANIK -PASCALL -PASAYA -PASANA -PARUTA -PARTY -PARTMAN -PARTIPILO -PARTENOPE -PARTELOW -PART -PARSYGNAT -PARSH -PARSELLS -PARROTTA -PARRON -PARRINGTON -PARRIN -PARRIERA -PARRENO -PARQUETTE -PARPAN -PARONE -PARNIN -PARMS -PARMANTIER -PARKOS -PARKHOUSE -PARIZEK -PARIPOVICH -PARINAS -PARIHAR -PARHAN -PARGMAN -PARDOE -PARAYUELOS -PARAVANO -PARATORE -PARARA -PAPRANEC -PAPPAJOHN -PAPONETTI -PAPITTO -PAPIKE -PAPIERNIK -PAPCIAK -PAPANTONIO -PAPANIKOLAS -PAPANIA -PAPAN -PAPALE -PAP -PAONGO -PAOLA -PANZICA -PANZELLA -PANYKO -PANUCCIO -PANTOSA -PANTOLIANO -PANTELAKIS -PANRELL -PANOWICZ -PANORA -PANKIW -PANKAKE -PANITZ -PANILA -PANIAS -PANEQUE -PANELA -PANECZKO -PANDOLA -PANAHON -PANAH -PANAGOULIAS -PANAGIS -PALUSZYNSKI -PALUK -PALUCK -PALU -PALOUKOS -PALOMBIT -PALMIOS -PALLEY -PALLANT -PALLANSCH -PALLAFOR -PALISBO -PALCHETTI -PALAZOLA -PALAS -PALACOIS -PAKONEN -PAJERSKI -PAILLANT -PAHK -PAGNI -PAGNELLO -PAGLIO -PAGA -PAFEL -PADOL -PADGETTE -PADEKEN -PADDIO -PADDILLA -PADDACK -PADAVICH -PACQUIN -PACKINEAU -PACIOR -PACHOLEC -PACHLIN -PACHLA -PACH -PACENTA -PACEK -PACAPAC -PACANA -PABEN -PAARMANN -PAALAN -OZER -OZANE -OZAINE -OZAETA -OZ -OYSTON -OYELLETTE -OXTON -OXNAM -OXENRIDER -OXBOROUGH -OWERS -OW -OVIT -OVESEN -OVERSTROM -OVERSHINER -OVERMIRE -OVERLEY -OVERKAMP -OVERDICK -OVERBOUGH -OVDENK -OVADILLA -OUYE -OUTZEN -OUSDAHL -OURY -OURTH -OUNSY -OUELLETE -OUDKER -OTUTAHA -OTUAFI -OTTRIX -OTTOGARY -OTTINO -OTTILIGE -OTTENWESS -OTIZ -OTHOUDT -OTEX -OTEGA -OSVALDO -OSTWALD -OSTRZYEKI -OSTRUM -OSTROOT -OSTERHAUT -OSTENDORFF -OSTENBERG -OSTASIEWICZ -OSSWALD -OSSOLA -OSOWICZ -OSORNO -OSOLLO -OSOL -OSNOE -OSMUS -OSMANSKI -OSIAS -OSHMAN -OSENTOWSKI -OSDEN -OSCHE -OSBECK -ORTTENBURGER -ORTOLF -ORTO -ORTGA -ORREGO -ORPIN -OROZEO -OROCHENA -OROBONA -OROARK -ORNELOS -ORNEDO -ORNE -ORM -ORLOVE -ORLOSKY -ORLOF -ORLINSKY -ORLINSKI -ORLIN -ORIZABAL -ORITI -ORION -ORIGER -ORIE -ORHENKOWSKI -ORFORD -ORFF -ORESKOVICH -ORELLAMA -OREILY -OREHEK -OREB -ORDAZZO -ORDAHL -ORCHOLSKI -ORCE -ORAS -OPULA -OPSTEIN -OPPLIGER -OPPEGARD -OPICHKA -OPHER -OPET -OPALICKI -OPAKA -OOTON -ONYEANUS -ONWUNLI -ONUKOGU -ONISICK -ONIFADE -ONEALE -ONDIK -ONDIC -ONDERSMA -OMULLAN -OMOTO -OMO -OMLIN -OMLI -OMERSA -OLVERSON -OLVEIRA -OLVEDO -OLOWE -OLONA -OLNES -OLLOQUI -OLLIVER -OLLHOFF -OLLENDICK -OLKOWSKI -OLIVID -OLIVERS -OLIVERES -OLIVARRA -OLINGHOUSE -OLIGEE -OLGVIN -OLFERS -OLEWINSKI -OLEWINE -OLEVEDA -OLESKIEWICZ -OLEJARSKI -OLECKI -OLDE -OLCKHART -OLBRISH -OLAY -OLARTE -OKWUONA -OKULEY -OKULA -OKORUDUDU -OKOREN -OKOLI -OKIHARA -OKERSON -OKEN -OJARD -OJANEN -OINES -OILVARES -OIEDA -OHRNSTEIN -OHREN -OHMIT -OHMIE -OHLMACHER -OHLENBUSCH -OHLEN -OHAVER -OHARROLL -OGWYNN -OGUNYEMI -OGRAM -OGILIVE -OGEN -OGBONNAYA -OGASAWARA -OGANS -OGAMI -OFLAHRITY -OFFRET -OEN -OELER -OEHRLEIN -OEHRLE -OEHMKE -OEHMIG -OEFTGER -OEDER -ODOUGHERTY -ODORIZZI -ODOMES -ODIN -ODIEN -ODHNER -ODESS -ODENHEIMER -OCUS -OCHSENBEIN -OCHINANG -OCHIAI -OCHALEK -OCCHINO -OCACIO -OBNEGON -OBLOW -OBLINGER -OBIANO -OBERY -OBERSON -OBERPRILLER -OBERMULLER -OBERMOELLER -OBERHOLZER -OBERHAUS -OBERDIER -OBERDICK -OAXACA -OAR -NYSETHER -NYKIEL -NYGARO -NYCUM -NYAHAY -NWANKWO -NWAKANMA -NWADIORA -NWABEKE -NUZENSKI -NUSZ -NUNNELEE -NUNMAKER -NUNIZ -NUNERY -NULISCH -NUETZMAN -NUESSLE -NUESCA -NUCKOLES -NUCCITELLI -NUCCI -NOZUM -NOZICK -NOWZARI -NOWOSADKO -NOWLEY -NOWITZKE -NOVITSKY -NOVITSKI -NOVITSKE -NOVIKOFF -NOVIDA -NOVETSKY -NOVELLY -NOVELLINO -NOVARA -NOUTH -NOULLET -NOUD -NOTWICK -NOTOWITZ -NOTLEY -NOTIS -NOTHEM -NOTHACKER -NOSTRO -NOSEFF -NORWELL -NORTHWOOD -NORTHCUT -NORSTRUD -NORSETH -NORSE -NORSAGANAY -NORKO -NORKAITIS -NORIEGO -NORG -NOREIGA -NORDWALL -NORDSIEK -NORDLINGER -NORDICK -NORDENSTROM -NORBO -NOORIGIAN -NOORDAM -NONU -NONES -NONEMAN -NONDORF -NOLTENSMEIER -NOLLETTE -NOLFE -NOLAZCO -NOKKEN -NOKE -NOISEUX -NOIA -NOHE -NOGUEDA -NOGUCHI -NOGODA -NOGGLES -NOGGLER -NOFTSIER -NOEY -NOERENBERG -NOEGEL -NODURFT -NODARSE -NOCKAI -NOBREGAS -NOBIS -NKUKU -NKOMO -NJANGO -NIZIOL -NIXION -NIXA -NIVAR -NIVALA -NITZSCHKE -NITZSCHE -NITZKOWSKI -NITCHER -NISWENDER -NISLEY -NISHIMORI -NIRMAIER -NIPPS -NIPPLE -NINKE -NINI -NINH -NIMROD -NIMOX -NIMICK -NILA -NIKSICH -NIKODEM -NIKOCEVIC -NIKAIDO -NIGHTLINGER -NIGGEMANN -NIETFELDT -NIESS -NIESENT -NIESBORELLA -NIERER -NIEMITZIO -NIEMIEL -NIEMANTS -NIEDZWIEDZKI -NIEDZWIEDZ -NIEDENS -NIEDBALEC -NIEBAUM -NICOSON -NICOLI -NICOLAUS -NICKOLEY -NICKLOS -NICKLIEN -NICKENBERRY -NICKAS -NICHOLASON -NICHELL -NICHALSON -NICEWONGER -NIAU -NIAN -NHAM -NGUYAN -NGIN -NEZICH -NEZAT -NEYACI -NEWSTEAD -NEWNESS -NEWHOOK -NEWES -NEWENS -NEWBELL -NEWBALL -NEVINGER -NEVILLES -NEVIL -NEVER -NEVARREZ -NEUSE -NEUNDORFER -NEUENSWANDER -NEUDECK -NEUBIG -NEUBAUM -NEUBACHER -NETTLEINGHAM -NETROSIO -NETOLICKY -NETLEY -NESTI -NESSMITH -NESLUSAN -NESLINE -NESLAND -NESIN -NERLICH -NEPA -NEONAKIS -NENNI -NEMZIN -NEMUNAITIS -NEMETS -NEMARD -NEMANI -NELMES -NELLUMS -NELLENBACK -NELISSE -NEJAIME -NEJA -NEITHER -NEISWOGER -NEIPER -NEILD -NEIDIGER -NEHRT -NEHME -NEGLIO -NEGBENEBOR -NEEDY -NEDMAN -NEDINA -NEDEROSTEK -NEDELMAN -NEDDO -NEDBALEK -NEBRED -NEBLOCK -NEBESNIK -NEBAREZ -NEALL -NEALIOUS -NEALER -NEAHR -NCNEAL -NAZZISE -NAZZAL -NAZIR -NAZELROD -NAZ -NAYSMITH -NAYMAN -NAWWAR -NAWDA -NAVEED -NAVARRATE -NAVARETTA -NAVAPPO -NAVANJO -NATWICK -NATTIAH -NATSIS -NATI -NATHANS -NATEWA -NATANI -NATALELLO -NASTI -NASSIE -NASR -NASERS -NASALROAD -NARR -NARGI -NARDY -NAPIERALSKI -NANTHANONG -NANTANAPIBUL -NANNA -NANIK -NANASY -NANAS -NAMUR -NAMIHIRA -NAMAKA -NALTY -NALBACH -NAKI -NAKATSU -NAKAMORI -NAJARIAN -NAILER -NAIFEH -NAIDU -NAHRWOLD -NAHL -NAHARI -NAGODE -NAGINDAS -NAGENGAST -NAGELHOUT -NAGASE -NAFTZINGER -NAFTALI -NAEHER -NADOFF -NADERI -NADELBACH -NADDEO -NACY -NACISSE -NACION -NACHTRIEB -NACHMIAS -NACHAZEL -NACAR -NABORG -NABITY -NABHAN -MYTYCH -MYSLINSKI -MYSLIN -MYSAK -MYRTLE -MYRMAN -MYRCK -MYNTTI -MYNNERLYN -MYLOTT -MYKING -MYES -MYCROFT -MWAY -MUZYKA -MUZACZ -MUYSKENS -MUYSENBERG -MUTONE -MUTNER -MUTHERSPAW -MUTHART -MUTHANA -MUTART -MUSTY -MUSTON -MUSSMANN -MUSSHORN -MUSSE -MUSS -MUSQUIZ -MUSOLF -MUSKTHEL -MUSKA -MUSINSKI -MUSIGDILOK -MUSCHICK -MUSCHETT -MUSCH -MURWIN -MURTY -MURSKO -MURNOCK -MURE -MURASSO -MURARO -MURAN -MURALLIES -MURACO -MUNYER -MUNSHI -MUNNING -MUNL -MUNIR -MUNINGER -MUNHALL -MUNEY -MUNET -MUNDZIAK -MUNDSCHAU -MUNDHENK -MUNDERVILLE -MUNCIL -MUNCHMEYER -MUNAZ -MUNA -MULZER -MULVAHILL -MULRYAN -MULRONEY -MULREADY -MULNEIX -MULLOWNEY -MULLNER -MULLISON -MULLANY -MULICH -MULA -MUHTASEB -MUHLENKAMP -MUHLBACH -MUGGLEY -MUESKE -MUENKEL -MUELL -MUEHLEISEN -MUDRICK -MUDDATHTHIR -MUCZYNSKI -MUCKLOW -MUCKLEY -MUCKELVANEY -MUCHORTOW -MTHIMUNYE -MRAZIK -MOZZONE -MOZO -MOZLEY -MOZIE -MOZGALA -MOZELAK -MOYERMAN -MOWDER -MOWAN -MOVLIN -MOUZAS -MOURINO -MOULHEM -MOTTILLO -MOTTESHARD -MOTTERSHEAD -MOTAMED -MOSZ -MOSTOLLER -MOSTILLER -MOSTERO -MOSTELLA -MOSSON -MOSSING -MOSSIEN -MOSSEL -MOSMEYER -MOSKAU -MOSHOS -MOSHO -MOSCOVIC -MOSCARITOLO -MOSCARIELLO -MOSCARDELLI -MOROSOW -MORONO -MORNEAULT -MORNA -MORN -MORKVE -MORIWAKI -MORISE -MORIERA -MORICLE -MORIBAYED -MORGRET -MORGNER -MORGAS -MORGANS -MORGANDI -MORFEE -MORELEN -MOREIDA -MORECI -MOREB -MORDINO -MORDINI -MORDEHAY -MORDA -MOOTZ -MOOTISPAW -MOOSBRUGGER -MOOSA -MOONSOMMY -MOONSHOWER -MOODISPAUGH -MOOBERRY -MONZ -MONTUORO -MONTRELLA -MONTIJANO -MONTGONERY -MONTELLE -MONTELL -MONTCALM -MONTALGO -MONSKE -MONRROY -MONROW -MONNOT -MONIAK -MONGUE -MONGOLO -MONGIOVI -MONFORE -MONDOUX -MONDONE -MONDELL -MONDAINE -MONCRIEFFE -MONCRIEFF -MONCIER -MONASTERIO -MONARQUE -MONAHAM -MONAGLE -MOMPER -MOMENI -MOLTRIE -MOLONE -MOLLY -MOLLOHAN -MOLLIERE -MOLLERE -MOLLEKER -MOLLBERG -MOLININI -MOLING -MOLINEAUX -MOLETT -MOLDAN -MOLAVI -MOLAISON -MOKRISKI -MOKIAO -MOJZISIK -MOJARDIN -MOISEY -MOHOROVICH -MOHINANI -MOHAUPT -MOHABEER -MOGOLLON -MOGHADAM -MOFLE -MOFFORD -MOEVAO -MOELTER -MOEDE -MODRAK -MODDEJONGE -MOCKLER -MOCHA -MOBILIO -MLENAR -MIZZI -MIZNER -MIZEE -MIYASAKA -MIYAO -MIXDORF -MITTER -MITTCHELL -MITTAG -MITHANI -MITCHLER -MISOVE -MISMIT -MISLUK -MISKOVICH -MISHOU -MISERENDINO -MISEK -MISCOE -MIRMOW -MIRMAN -MIRKOVICH -MIRAO -MIRAN -MIQUELON -MINUCCI -MINTREAS -MINTOS -MINTOR -MINOTTI -MINOCK -MINNATEE -MINIUK -MINISSALE -MINIHAN -MINICOZZI -MINI -MINFORD -MINETTE -MINERY -MINEHAN -MINECONZO -MINDINGALL -MINCHELLA -MINARCIK -MINACCI -MIMAKI -MILZ -MILWEE -MILTZ -MILSAPS -MILOSEVICH -MILLSTEAD -MILLOTT -MILLORA -MILLIAN -MILLHISER -MILLERR -MILLBRAND -MILLBERN -MILLBERG -MILKENT -MILIUS -MILITE -MILELR -MILDRED -MILDERBERGER -MILDENSTEIN -MILBRODT -MILARE -MIKULEC -MIKOVEC -MIKOTA -MIKOLON -MIKHAIEL -MIKEZ -MIKER -MIKASA -MIHOVK -MIHOR -MIHALIAK -MIHALCO -MIHALAK -MIGGO -MIESSLER -MIERNIK -MIERNICKI -MIENE -MIELOSZYK -MIELKIE -MIELCZAREK -MIELCARZ -MIEHE -MIDGET -MIDDOUGH -MIDDENTS -MICRONI -MICKULSKIS -MICKS -MICKONIS -MICKENHEIM -MICHELLO -MICHEALSON -MICHAVD -MICHALCZIK -MEZZINNI -MEZZANOTTE -MEYSEMBOURG -MEYEROWITZ -MEYEROTT -MEYERMAN -MEYERHOEFER -MEVIS -MEVERS -MEULER -MEULEMANS -MEUA -METZGA -METZEL -METTLEN -METTILLE -METOTT -METOS -METIL -METIA -METHERELL -METEVELIS -METENOSKY -METEER -METCHIKOFF -MESTLER -MESTANZA -MESSMAN -MESSEY -MESSERVY -MESSEL -MESSAN -MESOLORAS -MESMER -MESIONA -MESIAS -MESHEW -MESHANKO -MESERVY -MESECAR -MESDAQ -MERZIG -MERVINE -MERTINE -MERRILLS -MERREN -MERLETTE -MERLES -MERLAIN -MERL -MERKSAMER -MERITHEW -MERISIER -MERING -MERILOS -MERICAL -MERHAR -MERETTE -MERENO -MERDIAN -MERCEIR -MERCANDO -MERANTE -MERANA -MERALES -MENUCCI -MENTKOWSKI -MENTGEN -MENSO -MENSEN -MENKIN -MENJES -MENJARES -MENITZ -MENIETTO -MENIER -MENEUS -MENEFIELD -MENEES -MENDRIN -MENDRALA -MENDLER -MENDIAZ -MENDESA -MENCKE -MENCHU -MENCHES -MENAS -MEMS -MEMO -MEMMO -MELTZNER -MELTER -MELSTROM -MELSHEIMER -MELSER -MELODIA -MELLOS -MELLIS -MELLIERE -MELLIE -MELLECKER -MELLAGE -MELLADY -MELIKYAN -MELFORD -MELEY -MELENCAMP -MELEEN -MELEAR -MELCHERT -MELAUN -MELARO -MELADY -MEKONIS -MEISENBURG -MEIRELES -MEINSEN -MEINERSHAGEN -MEIL -MEIHOFER -MEHROTRA -MEHLHAFF -MEHIS -MEHELICH -MEHDIZADEH -MEHDI -MEHARRY -MEHALKO -MEGRAW -MEGOWN -MEGO -MEGILL -MEGIA -MEGGISON -MEGGETT -MEGGERSON -MEETZE -MEEROFF -MEEMKEN -MEEHLEDER -MEEDS -MEDURE -MEDOSCH -MEDORA -MEDNIS -MEDLING -MEDLAND -MEDIOUS -MEDINO -MEDIN -MEDILL -MEDIEROS -MEDI -MEDHUS -MEDEARIS -MEDANICH -MEDALION -MECKEL -MECCIA -MECARDO -MEASHEAW -MEASECK -MEARING -MEARA -MEAKIN -MCWILSON -MCWARD -MCWALTERS -MCWADE -MCVOY -MCTUSH -MCTIERNAN -MCTARNAGHAN -MCSWIGGAN -MCSTAY -MCRITCHIE -MCRILL -MCQUIDDY -MCQUEENY -MCPHARLANE -MCPHAN -MCPARTLIN -MCNUTTY -MCNUH -MCNICOLL -MCNICOL -MCNEVIN -MCNESPEY -MCNEME -MCNELLIE -MCNAYR -MCMINA -MCMENAMY -MCMANIGAL -MCLUCKIE -MCLILLY -MCLESKEY -MCLEARAN -MCLAUCHLEN -MCLATCHY -MCLAEN -MCKRAY -MCKOUEN -MCKOON -MCKISSON -MCKINNA -MCKINES -MCKIMMY -MCKIMLEY -MCKEWEN -MCKERROW -MCKENZY -MCKENTIE -MCKEMIE -MCKASKLE -MCKANIC -MCINTYDE -MCINROY -MCINNISH -MCILWAINE -MCILTROT -MCHALFFEY -MCGURREN -MCGURR -MCGUNNIS -MCGUNNIGLE -MCGUNAGLE -MCGUINNES -MCGUIN -MCGROTHA -MCGROGAN -MCGRAPH -MCGOON -MCGLOTHERN -MCGLOSTER -MCGLOHON -MCGLOCKTON -MCGLAWN -MCGINNITY -MCGINISTER -MCGILBERRY -MCGIBONEY -MCGHIN -MCGHANEY -MCGEENEY -MCGEADY -MCGARTLAND -MCGARRAUGH -MCGAFFEY -MCGAFFERTY -MCGAFFEE -MCFEELEY -MCFAN -MCENENY -MCELWINE -MCELREAVY -MCELPRAUG -MCELMEEL -MCEIRATH -MCEADY -MCDUNN -MCDONNALL -MCDEWITT -MCDERMETT -MCDEAVITT -MCDEARMONT -MCCURINE -MCCUNN -MCCUMBERS -MCCUMBEE -MCCULLORS -MCCULLON -MCCULLOGH -MCCULLOCK -MCCUAN -MCCRATE -MCCRA -MCCOULSKEY -MCCORNACK -MCCORMIK -MCCORKINDALE -MCCORISON -MCCONNAL -MCCOMACK -MCCOLE -MCCOIL -MCCOARD -MCCLURKEN -MCCLODDEN -MCCLOD -MCCLIMENS -MCCLEVELAND -MCCLENNINGHAM -MCCLELLON -MCCLAUGHERTY -MCCLATCHER -MCCLARTY -MCCLAMMA -MCCLAIM -MCCHAIN -MCCELLAND -MCCASTLE -MCCARVILL -MCCARTHER -MCCARR -MCCARNS -MCCARN -MCCARD -MCCANDREW -MCCANDLISS -MCCALVIN -MCCALPIN -MCCALMENT -MCCALLUN -MCCALLOUGH -MCCAHAN -MCCAFFREE -MCBRATNEY -MCAVENEY -MCAUSLAND -MCAULY -MCARTHUN -MCANAW -MCALL -MBAMALU -MAZZERA -MAZZE -MAZZAWI -MAZZAFERRO -MAZZACANO -MAZUO -MAZION -MAZEY -MAYWOOD -MAYSHACK -MAYROSE -MAYOU -MAYORCA -MAYOKA -MAYNERICH -MAYLONE -MAYHOOD -MAYESHIBA -MAYDEW -MAXI -MAXELL -MAWHINNEY -MAVROPOULOS -MAVLE -MAVAI -MAUTTE -MAUSON -MAUSEY -MAUSETH -MAUSBACH -MAURUS -MAURIZIO -MAURA -MAUPREDI -MAUNG -MAULTASCH -MAULEON -MAUD -MATYI -MATUSZAK -MATUSHEVSKY -MATUSEK -MATUCK -MATTYS -MATTSEY -MATTIONE -MATTIAS -MATTEIS -MATSU -MATSOUKAS -MATREY -MATOT -MATLIN -MATKOWSKY -MATISE -MATHWICH -MATHUS -MATHONY -MATHERY -MATHERSON -MATHEN -MATEN -MATELICH -MATEJEK -MATCZAK -MATCHEN -MATARRITA -MATAKONIS -MATAKA -MATACALE -MASUYAMA -MASURE -MASUPHA -MASUDI -MASTURZO -MASTROCOLA -MASTRIANO -MASTRIANNI -MASTRIANNA -MASTRELLI -MASSICOTTE -MASSETTI -MASSELLA -MASSEI -MASSEE -MASSAQUOI -MASOOD -MASOM -MASLOWSKY -MASLOSKI -MASLONKA -MASKI -MASKALY -MASIEJCZYK -MASGALAS -MASERO -MASENTEN -MASCIANTONIO -MASAYA -MASARACCHIA -MARZOCCHI -MARZILI -MARZIGLIANO -MARYE -MARUSIAK -MARULLO -MARTURANO -MARTOS -MARTORELLO -MARTINEZE -MARTILLO -MARTIGNAGO -MARTIARENA -MARSTERS -MARSHALEK -MARSELL -MARSEK -MARSEGLIA -MARRIOT -MARRION -MARRINGTON -MARRIETTA -MARRELLO -MARREEL -MARRABLE -MARQUINA -MARQUE -MAROZZI -MAROVIC -MAROTTI -MAROSE -MARNETT -MARMOLEJOS -MARKT -MARKSON -MARKLUND -MARKEWICH -MARINONI -MARINKO -MARINAS -MARIL -MARIELLO -MARGUARDT -MARGREITER -MARGRAF -MARGEL -MARGARYAN -MARGARITA -MARGAN -MAREVKA -MARESCO -MARERO -MARENTEZ -MAREE -MARDINI -MARCOTRIGIANO -MARCOGUISEPP -MARCKS -MARCINKA -MARCHIZANO -MARCHITTO -MARCHIONY -MARCHIONESE -MARCHESSEAULT -MARCHESKI -MARCHESANO -MARCHALL -MARCEAUX -MARBRAY -MARATRE -MARATOS -MARASHI -MARASCIULO -MARAS -MARANTZ -MARALLO -MARAGNI -MARAGH -MARABELLA -MAQUIS -MAONTESANO -MAOBI -MANZIE -MANZAY -MANVELITO -MANVEL -MANUELL -MANTIK -MANTELE -MANTEGNA -MANSBRIDGE -MANSANARES -MANORA -MANOLAKIS -MANOKEY -MANNINE -MANNHEIMER -MANNEBACH -MANNCHEN -MANLITO -MANKOSKI -MANIVONG -MANHEIM -MANGUBAT -MANFRA -MANEMANN -MANECKE -MANDRY -MANDLER -MANDI -MANDAP -MANDAHL -MANCOS -MANCIEL -MANCHERIAN -MANCHEL -MANCA -MANBY -MANATT -MANAKER -MAMONE -MAMMANO -MALVERN -MALTON -MALSCH -MALOVICH -MALOUFF -MALORY -MALOFF -MALOCHA -MALMANGER -MALLINGER -MALLINAK -MALLEGNI -MALLAT -MALKOSKI -MALINKY -MALINAK -MALICHI -MALGIERI -MALESZKA -MALES -MALEONADO -MALENKE -MALEKAN -MALEHORN -MALECK -MALCOME -MALAY -MALAWY -MALARKEY -MALANADO -MALAMA -MALABEY -MAKUA -MAKHIJA -MAKEL -MAKAREM -MAJORGA -MAJOCKA -MAJICA -MAJIC -MAJEAU -MAIZES -MAIROT -MAIONE -MAINZ -MAINLAND -MAINETTI -MAINERO -MAIMONE -MAIFELD -MAIERS -MAIELLO -MAIDONADO -MAICUS -MAHUNG -MAHULA -MAHRENHOLZ -MAHRAN -MAHOMLY -MAHIN -MAHE -MAHALL -MAHAL -MAGSBY -MAGSAYO -MAGRONE -MAGRAW -MAGRANN -MAGPALI -MAGOULIOTIS -MAGORINA -MAGOBET -MAGNINI -MAGNIFICO -MAGNIE -MAGNETT -MAGLIOLI -MAGGIT -MAGG -MAGETTE -MAGDEFRAU -MAGDALENA -MAGAZINER -MAGATHAN -MAGALSKI -MAGALDI -MAGADAN -MAFUA -MAENO -MAENAGA -MAEDKE -MADZIAR -MADRE -MADINE -MADIN -MADHAVAN -MADGE -MADEJA -MADDOY -MADDISON -MADDIN -MADDERN -MAD -MACVICAR -MACURDY -MACRENO -MACPARTLAND -MACORENO -MACOLA -MACNUTT -MACNEVIN -MACMULLAN -MACLAIN -MACKSTUTIS -MACKNAIR -MACKLEM -MACKILLOP -MACKENTHUN -MACKECHNIE -MACKAMAN -MACIONE -MACIOLEK -MACIARELLO -MACHOVER -MACHLE -MACHI -MACHEL -MACHAK -MACDUFFEE -MACCUTCHEON -MACCULLOCH -MACCORD -MACCONAGHY -MACCOLL -MACCLELLAN -MACCLAIRTY -MACCINI -MACCHIARELLA -MACCHEYNE -MACCARTER -MACCARINO -MACCARINI -MACANDOG -MACANAS -MACALMA -MACABEO -MAASEN -MAARX -LYTELL -LYSON -LYSHER -LYNGHOLM -LYNCHJ -LYNAH -LYME -LYKEN -LYEW -LYDECKER -LYBERT -LYBERGER -LYBECKER -LYAU -LWEIS -LUZI -LUZELL -LUVIANOS -LUVERA -LUTZE -LUTKUS -LUTEN -LUSTY -LUSTBERG -LURYE -LURY -LURTZ -LUQUETTE -LUPIANI -LUPACCHINO -LUNTER -LUNSTRUM -LUNGWITZ -LUNGSFORD -LUNEMANN -LUNDERMAN -LUNCH -LUMINATI -LUMBLEY -LUMBA -LUMADUE -LULAS -LUKOW -LUKIANOV -LUKESH -LUKANDER -LUKA -LUING -LUIKART -LUGABIHL -LUFBOROUGH -LUETTE -LUESCHER -LUESCHEN -LUERSEN -LUENSMANN -LUENING -LUEKER -LUEDECKE -LUECKENBACH -LUEBBERING -LUDOVICO -LUDERA -LUDEKER -LUDECKE -LUCZKI -LUCO -LUCKINBILL -LUCIS -LUCIK -LUCIE -LUCIC -LUCHTERHAND -LUCCOUS -LUCASH -LUBERGER -LUBBERT -LUBBEN -LUBAWY -LUBAHN -LUANGXAY -LUANGRATH -LUANGAMATH -LUAGUE -LOZEY -LOYBORG -LOYACK -LOXTON -LOXTERCAMP -LOWNSBERY -LOWLER -LOWCKS -LOWA -LOVSTAD -LOVISONE -LOVFALD -LOVETINSKY -LOVET -LOVERO -LOVERDI -LOVELLETTE -LOVEBERRY -LOUWAGIE -LOURNES -LOURIA -LOURENTZOS -LOURDES -LOUKA -LOUIL -LOUDERMELT -LOUCHEN -LOUBIER -LOTTO -LOTRIDGE -LOTHRINGER -LOTHRIDGE -LOTA -LOT -LOSZYNSKI -LOSSIUS -LOSNECK -LOSETH -LOSAVIO -LOSARDO -LOSANO -LOSADO -LOSACCO -LOSA -LORR -LORON -LORINCZ -LORIA -LORETZ -LORENTINE -LORDI -LORAINE -LOPZE -LOPICCALO -LOPEY -LOPERFIDO -LOPE -LOPATA -LOPAS -LOPARCO -LOOFBOURROW -LONGWITH -LONGHI -LONGENBERGER -LONGBINE -LONGAKER -LONGABAUGH -LOMONTE -LOMINO -LOMINACK -LOMEN -LOMBEL -LOMBARDINO -LOMAGO -LOMA -LOKAN -LOIACONA -LOHRY -LOHRKE -LOHRE -LOGOLEO -LOGGENS -LOGARBO -LOFWALL -LOFTY -LOFTS -LOFTHUS -LOFTE -LOFSTROM -LOFORTE -LOFMAN -LOFING -LOFGUIST -LOFFIER -LOFFELBEIN -LOERWALD -LOEPPKY -LOEHRER -LOEHNER -LOECKEN -LOCKSHAW -LOCKNANE -LOCKINGTON -LOCKERY -LOCKEMER -LOCHRICO -LOBREGAT -LOBLEY -LOBELLO -LOBELL -LOBALBO -LOBACH -LLANEZA -LLANET -LLAMS -LIVLEY -LIVINTON -LIVING -LIVERSEDGE -LIVERNOIS -LIVERMON -LIVERANCE -LIVEOAK -LIVECCHI -LIVASY -LIUKKONEN -LITZENBERGER -LITVAK -LITTFIN -LITMANOWICZ -LITCHARD -LISTI -LISTEN -LISKER -LISITANO -LISENA -LISBEY -LIPSIE -LIPS -LIPPOLDT -LIPPITT -LIPPER -LIPOMA -LIPKOVITCH -LIPIRA -LIPAN -LINZAN -LINZA -LINSIN -LINSENMAYER -LINSDAU -LINNERT -LINMAN -LINKON -LINGNER -LINGLEY -LINGERFELTER -LINGBEEK -LINERO -LINDORF -LINDMEYER -LINDINHA -LINDERLEAF -LINDAU -LINDABURY -LINBURG -LINAK -LIMMEL -LIMLE -LIMBERT -LIMARDI -LILYBLADE -LILLEHAUG -LIKAR -LIIV -LIGONIS -LIGLER -LIGHTHART -LIGGET -LIFTIN -LIFSCHITZ -LIEWALD -LIEVSAY -LIEVENS -LIETZOW -LIERZ -LIEGLER -LIEDBERG -LIED -LIEBRECHT -LIEBHERR -LIEBERG -LIEBENTHAL -LIEBENOW -LIEBECK -LIDSTONE -LIDIE -LIDGE -LIDDER -LICURSI -LICKLIDER -LICKFELT -LICHOTA -LICHENSTEIN -LICEAGA -LICCKETTO -LIBERTINI -LIBBERTON -LEYTON -LEYH -LEYDECKER -LEYDA -LEXER -LEWI -LEWARS -LEVREAU -LEVRA -LEVIELLE -LEVIAN -LEVETO -LEVERSEE -LEVERS -LEVERONE -LEVERANCE -LEVENDOSKI -LEVEE -LEVATINO -LEVANS -LEVANDOFSKY -LEUZE -LEUTWILER -LEUTHE -LEUHRING -LEUGA -LEUCKEL -LEUASSEUR -LETTSOME -LETTIERE -LETSCHER -LETENDER -LETCHAW -LETA -LESTRANGE -LESTOURGEON -LESTOR -LESTON -LESSNER -LESSMANN -LESSLY -LESPEDES -LESO -LESNESKI -LESKOVAR -LESKOVAC -LESE -LESCO -LESCHES -LESA -LERRA -LERPER -LEROW -LERO -LERMON -LEPRETRE -LEPRE -LEPPINK -LEPKE -LEPEZ -LEPETICH -LEOPARDI -LEONPACHER -LEONICK -LEONBERGER -LEOMITI -LENY -LENSKI -LENORUD -LENORT -LENNIS -LENNART -LENNAN -LENLING -LENKE -LENIGAN -LENHOFF -LENHARR -LENERS -LENDT -LENDOR -LENDO -LENCZYK -LENCH -LENBERG -LEMOYNE -LEMMONDS -LEMMINGS -LEMISH -LEMEAR -LEMBCKE -LEMANSKY -LEMANS -LELLIG -LEKEY -LEKBERG -LEKAN -LEK -LEJMAN -LEITZINGER -LEITHISER -LEIPER -LEINWAND -LEIMKUHLER -LEIMBERGER -LEILICH -LEIGLAND -LEICHTENBERGE -LEIBERTON -LEHO -LEHNING -LEHNEIS -LEHMER -LEHENBAUER -LEHBERGER -LEGROTTE -LEGRO -LEGRA -LEGAT -LEGALL -LEFURGY -LEFLORES -LEFFERS -LEFFELMAN -LEFELD -LEFAVER -LEETHAM -LEESMAN -LEEKER -LEEHAN -LEEBER -LEDSINGER -LEDERMANN -LEDENBACH -LEDEE -LED -LECZNAR -LECKBAND -LECHLEIDNER -LECHELT -LECATO -LECAROS -LECAIN -LEBROKE -LEBOLD -LEBLANE -LEBITSKI -LEBISH -LEBERTE -LEBEDEFF -LEBBY -LEBAUGH -LEBARGE -LEAVIGNE -LEAVEN -LEASOR -LEASHER -LEASH -LEANZA -LEANEN -LEAIRD -LEAHMAN -LEADFORD -LAZUSKY -LAZUREK -LAZOTT -LAZIO -LAZIER -LAZICH -LAZEWSKI -LAZARES -LAYVA -LAYELL -LAYCOX -LAWSKY -LAWRENTZ -LAWIS -LAWFORD -LAWCEWICZ -LAWBAUGH -LAWARY -LAWAL -LAVONGSAR -LAVGLE -LAVEZZO -LAVELLI -LAVE -LAVANI -LAVANDER -LAVAGNINO -LAVADERA -LAUTIERI -LAUTARET -LAUSELL -LAUSCHUS -LAUROLE -LAURETTA -LAURENO -LAURELES -LAURANCE -LAUNIERE -LAUNDREE -LAUIGNE -LAUGHON -LAUGEN -LAUDEMAN -LAUDADIO -LAUCKNER -LAUCHAIRE -LAUBY -LAUBERSHEIMER -LATUS -LATOURRETTE -LATOS -LATON -LATHRUM -LATHER -LATHE -LATENDRESSE -LATE -LATASSA -LATAM -LAT -LASTELLA -LASSETTER -LASKOSKY -LASKOSKIE -LASIN -LASIK -LASHLEE -LASHIER -LASELLE -LASCHINGER -LASCARO -LASANE -LASAGNA -LASAGE -LARUSCH -LARROSA -LARRIVIERE -LARRALDE -LARR -LAROWE -LAROUSSE -LAROTTA -LAROIA -LAROE -LARMETT -LARMAN -LARKAN -LARGENA -LAREGINA -LARDONE -LARCOM -LARCHE -LARBIE -LARBI -LARASON -LARANJO -LARAGY -LARABY -LARABELL -LARABEL -LAPUERTA -LAPPINGA -LAPPI -LAPORT -LAPINTA -LAPILA -LAPERUTA -LAPERE -LAPER -LAPEK -LAPARI -LAPALME -LAORANGE -LANZE -LANZAROTTA -LANTRY -LANTGEN -LANTELME -LANTEIGNE -LANSEY -LANSBERG -LANNIER -LANNEN -LANNA -LANKSTER -LANIE -LANGRUM -LANGNESS -LANGMO -LANGLITZ -LANGI -LANGHOLDT -LANGHANS -LANGGOOD -LANGANKE -LANFOR -LANEN -LANEAUX -LANDU -LANDRUTH -LANDRIE -LANDREVILLE -LANDRES -LANDQUIST -LANDOLF -LANDMARK -LANDINI -LANDEVOS -LANDENBERGER -LANDAN -LANCZ -LAMUDIO -LAMPSAS -LAMPL -LAMPINEN -LAMPHIEAR -LAMPEL -LAMOREE -LAMOREAU -LAMOORE -LAMONTAGNA -LAMMY -LAMMEL -LAMISON -LAMING -LAMIE -LAMIA -LAMEDA -LAMBUTH -LAMBERTUS -LAMBERMONT -LAMARTINA -LAMANGO -LAMAACK -LALINDE -LALICH -LALE -LAKOWSKI -LAKHAN -LAJOYE -LAJOY -LAIOS -LAHNE -LAHAM -LAGUIRE -LAGRENADE -LAGORE -LAGOO -LAGONIA -LAGONI -LAGLIE -LAGGAN -LAGESSE -LAGERSTEDT -LAGERGREN -LAGATTA -LAGARD -LAGANT -LAGAMBA -LAGADINOS -LAFUZE -LAFRATE -LAFOREY -LAFOON -LAFONTAIN -LAFLAM -LAFFER -LAFEVRE -LAFEMINA -LAFANTANO -LAFACE -LAESSIG -LAEHN -LADT -LADOUCE -LADONNE -LADO -LADIKA -LADICK -LADEBAUCHE -LACZ -LACUSKY -LACOVARA -LACKETT -LACKAGE -LACHINO -LACHIATTO -LACHARITE -LACERENZA -LACEK -LACAU -LACATENA -LACAILLE -LABOVITCH -LABOUNTA -LABOMBAR -LABOISSONNIER -LABO -LABITAN -LABIER -LABEOTS -LABARRIERE -LABARO -LABARBARA -LAATSCH -LAASAGA -LAAKE -KYSETH -KYPUROS -KYPER -KYNER -KWILOSZ -KVZIAN -KVOESCHEN -KVETON -KVEK -KVEEN -KVATERNIK -KUZIEL -KUYPERS -KUYKENDOLL -KUWANA -KUWADA -KUTZER -KUTY -KUTLU -KUTI -KUTCHIE -KUSZYNSKI -KUSSMAUL -KUSSEL -KUSNIC -KUSNER -KUSKY -KUSHANEY -KURZINSKI -KURTTI -KURSHUK -KURR -KUROKAWA -KURNS -KURETICH -KURASZ -KURANT -KURA -KUR -KUPIHEA -KUPFERBERG -KUPERSMITH -KUPCHINSKY -KUNTER -KUNKLEMAN -KUNIYOSHI -KUNIMITSU -KUNICH -KUNDANANI -KUNAU -KUMMEROW -KUMLANDER -KUMFER -KUMAN -KUMALAA -KUM -KULSETH -KULBETH -KULBACKI -KULBACK -KUKURA -KUKLER -KUKLENSKI -KUKAUSKAS -KUKAHIKO -KUJAT -KUIZ -KUITU -KUICK -KUHRY -KUHLENSCHMIDT -KUFFA -KUEPFER -KUEHNHOLD -KUECHLER -KUDRO -KUDRLE -KUCZMA -KUCKENS -KUCIEMBA -KUCHINSKI -KUCHEM -KUBLEY -KUBLER -KUBESH -KUBECK -KUBASCH -KUB -KUANONI -KRZEWINSKI -KRZESINSKI -KRZAN -KRYSTON -KRYSTEK -KRYNICKI -KRYLO -KRUZEL -KRUYT -KRUSZEWSKI -KRUSOR -KRUSKIE -KRUSHANSKY -KRUSH -KRUPPENBACHER -KRUPINSKY -KRUMROY -KRUMBEIN -KRUMBACH -KRUKIEL -KRUIZENGA -KRUIS -KRUIBOESCH -KRUEBBE -KRUCKE -KROTINE -KROSTAG -KROPFF -KROPFELDER -KRONINGER -KRONAU -KROME -KROLICK -KROKUS -KROG -KROFTA -KROFFT -KROESING -KROCHMAL -KROBATH -KRNACH -KRIVANEC -KRISTOFFERSON -KRISTOF -KRISTAN -KRISSIE -KRISKOVICH -KRISKE -KRISHUN -KRISHNAMURTHY -KRISHMAN -KRINOV -KRIEK -KRIEGSHAUSER -KREWER -KREUTZBENDER -KREUSCH -KRETZINGER -KRESSLER -KRESSIN -KRESSIERER -KRESKY -KREPP -KRENZKE -KRENNING -KRENIK -KREMPLE -KREMMEL -KREMEN -KREJCIK -KREISSLER -KREINHAGEN -KREHEL -KREESE -KRAWITZ -KRAVETSKY -KRAVETS -KRAVEC -KRAUSSE -KRAUSMANN -KRAUEL -KRATOWICZ -KRATCHMAN -KRASNICI -KRASNANSKY -KRASKOUSKAS -KRASINSKI -KRANWINKLE -KRANOCK -KRAMARCZYK -KRALLMAN -KRALLIS -KRAKOWIAK -KRAKAUER -KRAINBUCHER -KRAIG -KRAICHELY -KRAHULEC -KRAHE -KRAH -KRAGT -KRAETSCH -KRABEL -KRABBENHOFT -KRAASCH -KRAACK -KOZLOVSKY -KOZLIK -KOZIAK -KOZEYAH -KOZAN -KOWITZ -KOWALKE -KOWALEC -KOVES -KOVALASKE -KOVACIK -KOUTRAS -KOUSSA -KOUSONSAVATH -KOUNTHONG -KOUNTHAPANYA -KOUNOVSKY -KOUNKEL -KOUNICK -KOULAVONGSA -KOULALIS -KOTYK -KOTUR -KOTTRABA -KOTTLOWSKI -KOTTERNA -KOTSCHEVAR -KOTONSKI -KOTLAR -KOTHEIMER -KOTEY -KOTERBA -KOTERAS -KOTARSKI -KOTAKI -KOSUTA -KOSTRZEWA -KOSTIV -KOSTERS -KOSSEY -KOSSEN -KOSSAK -KOSOSKY -KOSOROG -KOSO -KOSLAN -KOSIOREK -KOSHI -KOSCIELNIAK -KOSAREFF -KORZYNIOWSKI -KORZYBSKI -KORYNTA -KORWIN -KORWATCH -KORTEMEIER -KORST -KORSMEYER -KORSLUND -KOROCH -KORNN -KORNFIELD -KORNBLATT -KORKMAS -KORITKO -KORINTA -KORIA -KOREWDIT -KORES -KORENEK -KORDYS -KORDOWSKI -KORDIAK -KORBIN -KOPSHO -KOPPY -KOPKE -KOPIN -KOPICKO -KOPIASZ -KOPERSKI -KOPAY -KOPATZ -KOPAN -KOOSMAN -KOONG -KOOLMAN -KOOL -KONTY -KONOW -KONOPSKI -KONMA -KONISHI -KONGER -KONETCHY -KONE -KONDERLA -KONCZEWSKI -KONARIK -KOMULA -KOMINSKI -KOMADA -KOMA -KOLWYCK -KOLUPKE -KOLTZ -KOLTS -KOLPPA -KOLOC -KOLLROSS -KOLLOS -KOLKMAN -KOLKHORST -KOLIKAS -KOLIC -KOLBUSZ -KOLASSA -KOL -KOKUBUN -KOKOSZKA -KOKKO -KOKENGE -KOITZSCH -KOINER -KOHUS -KOHLES -KOHEL -KOGUCHI -KOFOOT -KOERS -KOENITZER -KOENINGER -KOENIGSBERG -KOENER -KOENEMUND -KOELBEL -KOEHRING -KOECK -KODY -KODERA -KOCZWARA -KOCIEDA -KOCHKODIN -KOCHEN -KOCHANEK -KOBYLSKI -KOBYLARZ -KOBYLARCZYK -KOBOLD -KNYZEWSKI -KNUPKE -KNUDSVIG -KNOWITON -KNOWELL -KNOUS -KNOTOWICZ -KNORP -KNOFLICEK -KNOEPPEL -KNOEPKE -KNOELL -KNOECHEL -KNODEL -KNOCKAERT -KNOBLER -KNIOLA -KNILL -KNILANDS -KNIESEL -KNICELEY -KNEUPER -KNETSCH -KNESER -KNERIEN -KNELLINGER -KNEEFE -KNAZS -KNATT -KNAPKO -KNAPICK -KNAPE -KNAP -KNAKE -KMIOTEK -KMENT -KMATZ -KMAN -KLYN -KLUTE -KLUSE -KLUMPH -KLUKKEN -KLUKAN -KLUEMPER -KLUBER -KLOSKY -KLOPPENBURG -KLONOWSKI -KLOMP -KLOHS -KLOHE -KLOEPPEL -KLOEKER -KLOEFKORN -KLOECK -KLOBUCAR -KLJUCARIC -KLITZNER -KLITSCH -KLISKEY -KLINSKI -KLINNERT -KLINICH -KLINGNER -KLINGENBERGER -KLINGBERG -KLINGAMAN -KLIMO -KLIMAVICIUS -KLICKMAN -KLICKA -KLEZ -KLEVJER -KLETTE -KLETSCHKA -KLESS -KLEPPEN -KLENOVICH -KLEINTOP -KLEINSASSER -KLEINFELD -KLEIFGEN -KLEID -KLEFTOGIANNIS -KLEEFISCH -KLECK -KLEBES -KLEAR -KLAWUHN -KLAWINSKI -KLAVON -KLAVETTER -KLARIN -KLAPPHOLZ -KLANDE -KLANCNIK -KLAN -KLAMN -KLAMERT -KLAJA -KLAICH -KLAFEHN -KLABUNDE -KJOLSETH -KJERGAARD -KJELLSEN -KJELLMAN -KJELDGAARD -KIZZIA -KIZIOR -KIVELA -KITTY -KITTHIKOUNE -KITTELMAN -KITELINGER -KITCHER -KITCHENMAN -KITANIK -KISRO -KISIELEWSKI -KIRYAKOZA -KIRSOPP -KIRSHMAN -KIRLIN -KIRKNESS -KIRKLING -KIRKCONNELL -KIRGAN -KIRCHMANN -KIRCHHERR -KIRCHBERG -KIRCHBAUM -KIRBERGER -KIRACOFE -KIPPLE -KIP -KIOUS -KINTOPP -KINTIGH -KINSOLVING -KINSKY -KINLIN -KINLECHEENY -KINGWOOD -KINGSON -KINDS -KINDREGAN -KINDERMAN -KINDE -KIMMINAU -KIMBAL -KILVER -KILTIE -KILSTOFTE -KILOGAN -KILNESS -KILNER -KILMISTER -KILLOREN -KILLIUS -KILIMNIK -KILICHOWSKI -KILDARE -KIKO -KIJAK -KIILI -KIHLSTROM -KIETZER -KIESSER -KIERZEWSKI -KIENBAUM -KIENAST -KIEKE -KIECK -KIEBALA -KIDDLE -KICKEL -KICHLINE -KIBBLER -KIANI -KHUBBA -KHORA -KHOKHER -KHN -KHLOK -KHILLING -KHENSAMPHANH -KHEMMANIVONG -KHAZDOZIAN -KHAZALEH -KHAUV -KHAIRALLAH -KEZELE -KEYON -KEYL -KEW -KEVWITCH -KEVORKIAN -KEVETH -KEVELIN -KEVAN -KEUPER -KETZLER -KETTINGER -KETTERL -KETTERINGHAM -KETTENRING -KETCHERSID -KESSANS -KESEY -KESEK -KERTZMAN -KERTELS -KERST -KERPER -KERNODLE -KERNIGHAN -KERNAGIS -KERMES -KERENS -KERCHEFF -KERCE -KERANS -KEPPNER -KEPKE -KEPANI -KEOVONGXAY -KEOGHAN -KEODALAH -KEOBAUNLEUANG -KENZIE -KENSON -KENOYER -KENOUO -KENNIE -KENNGOTT -KENNAUGH -KENIK -KENEY -KENEKHAM -KENEALY -KENDZIORA -KENDAL -KENAGA -KEMPSTER -KEMPS -KEMPON -KEMPKENS -KEMMERIES -KEMERLY -KELTT -KELLYWOOD -KELLISH -KELLEM -KELIIPAAKAUA -KELAU -KEKS -KEISACKER -KEIS -KEINONEN -KEILHOLZ -KEILHOLTZ -KEIHL -KEHRES -KEETCH -KEETAN -KEET -KEESER -KEENOM -KEEMAN -KEEHNER -KEEHAN -KEDRA -KEDIA -KECSKES -KECKER -KEBEDE -KEBE -KEBA -KEATY -KEATEN -KEASER -KEARSEY -KEARN -KAZUNAS -KAZIMI -KAZAR -KAZABI -KAZA -KAYAT -KAYASTHA -KAWSKI -KAWELL -KAWCZYNSKI -KAWAIAEA -KAVE -KAVANEY -KAUT -KAUSHAL -KAUSCH -KAUO -KAUMANS -KAUI -KAUDER -KAUCHER -KAUA -KATZMANN -KATZAMAN -KATTERJOHN -KATTAURA -KATSAOUNIS -KATOH -KATKE -KATIS -KATIN -KATIE -KATHLEEN -KATHEL -KATAOKA -KASZTON -KASZINSKI -KASULA -KASUBA -KASTENS -KASPARI -KASMAREK -KASKY -KASHNER -KASEN -KASEMEIER -KASEE -KASAL -KARZ -KARWOWSKI -KARSTENSEN -KARROACH -KARRO -KARRELS -KARPSTEIN -KARPE -KAROLY -KARNATH -KARNAS -KARLINSKY -KARLGAARD -KARDUX -KARANGELEN -KARAMCHANDANI -KARAGIANNES -KARAGEORGE -KARABIN -KAR -KAPSNER -KAPPERMAN -KAPPELMANN -KAPLER -KAPILOFF -KAPETANOS -KANZENBACH -KANWAR -KANTIS -KANTAH -KANOSH -KANOON -KANNIARD -KANNAN -KANJIRATHINGA -KANGLEON -KANETA -KANEKUNI -KANEALII -KAND -KANAKARES -KAMSTRA -KAMRADT -KAMPNER -KAMNA -KAMMERZELL -KAMMAN -KAMIYA -KAMINSKA -KAMENSKY -KAMBER -KALLHOFF -KALLFELZ -KALLEY -KALLESTAD -KALLAL -KALISTA -KALHORN -KALENAK -KALDAHL -KALBERG -KALANDEK -KALAN -KALAMARAS -KALAFARSKI -KALAF -KAKOWSKI -KAKEH -KAKANI -KAJDER -KAJA -KAINES -KAIKTSIAN -KAID -KAHOOKELE -KAHOOHALPHALA -KAHLEY -KAHAO -KAHALEHOE -KAHAL -KAHAE -KAGIMOTO -KAEWPRASERT -KAEMINGK -KADOW -KADELAK -KACZKA -KACVINSKY -KACPROWSKI -KACHMARSKY -KABZINSKI -KABUS -KABIR -KABIGTING -KABALA -KABACINSKI -KABABIK -KAARLELA -KAANANA -KAAN -KAAK -KAAI -KA -JUVENAL -JUSTIAN -JUSTE -JUSTAK -JURRIES -JURNEY -JURKOVICH -JURIST -JURIN -JURGEN -JURAY -JUNOD -JUNKERSFELD -JUNICK -JUMBO -JULSRUD -JULITZ -JULIANA -JUKICH -JUENGLING -JUEN -JUELICH -JUDIE -JUBYNA -JUBRAN -JUBEH -JUBACK -JUBA -JUANICO -JOYNSON -JOYNE -JOVER -JOURNOT -JOTO -JOTBLAD -JOSIC -JORRISCH -JORDT -JORDING -JONDROW -JONAH -JOME -JOLLIMORE -JOLINE -JOLINA -JOLER -JOKI -JOHNTING -JOHNSTONBAUGH -JOHNIKINS -JOHNIKEN -JOHE -JOHANSING -JOHAL -JOGANIC -JOERGER -JOELSON -JOEHNCK -JODY -JODHA -JOANIS -JIRSA -JIRAK -JIRA -JINGST -JHINGREE -JHANSON -JEWS -JESTIS -JESSICA -JESKIE -JESIOLOWSKI -JESENOVEC -JESCHON -JERMELAND -JERKIN -JERICHO -JERGER -JERGEN -JERDING -JEPKO -JENS -JENOVESE -JENNKIE -JENDERER -JENAB -JEMPTY -JEMMINGS -JELOME -JELLINGS -JELDEN -JELARDE -JEFFRYES -JEFFIRS -JEDAN -JECMENEK -JECKLIN -JECK -JEANQUART -JEANPHILIPPE -JEANNOEL -JEANETTE -JEANCY -JAYSURA -JAVIS -JAVERS -JAVED -JAVE -JAUSSEN -JAUHAR -JASTREMSKI -JASTREBSKI -JASMANN -JASKOLKA -JASKO -JASKIEWICZ -JASICA -JASCH -JARRIETT -JAROSKI -JARNUTOWSKI -JARMIN -JAREMKA -JAREMA -JARELS -JARECKE -JARDING -JARDEL -JAPAK -JANYSEK -JANWAY -JANOWIEC -JANOW -JANOFSKY -JANOFF -JANNISE -JANNETT -JANKOFF -JANEIRO -JANA -JAMINET -JAMI -JAMGOCHIAN -JAMESSON -JAMER -JAMEL -JAMASON -JALOVEL -JALKUT -JAKUBOV -JAKSIC -JAKSCH -JAKIELA -JAJI -JAIYESIMI -JAHOSKY -JAHODA -JAHALY -JAGIELLO -JAGGIE -JAFEK -JAFARI -JAE -JADOO -JACULINA -JACQUIN -JACQUELIN -JACOBSOHN -JACOBOVITS -JACKSO -JACKSITS -JACKOSN -JACKETT -JACINTHE -JABBIE -JABAUT -JABALI -JAARDA -IZAK -IZAGUINE -IWASKO -IWASHITA -IVRIN -IVENER -IVEANS -IVANCIC -IUCHS -ITNYRE -ISTORICO -ISIMINGER -ISGUR -ISGRO -ISENBARGER -ISEMAN -ISEBRAND -ISAKSEN -ISAGBA -ISACSON -ISAACK -IRR -IRONHORSE -IRIGOYEN -IRESON -IPSEN -IOSSA -INZANO -INTROINI -INSOGNIA -INSERRA -INOSTRAZA -INNERST -INNELLA -INNARELLI -INNAMORATO -INKAVESVANITC -INGVOLOSTAD -INGUARDSEN -INGRAN -INGRAHM -INGRAFFEA -INGLETON -INGHEM -INGERSOL -INGARGIOLO -INFERRERA -INER -INDUDDI -INDERMUEHLE -INDECK -INDAL -INCOMSTANTI -INCERA -INCARNATO -INBODY -INABNIT -IMMING -IMMERMAN -IMMEDIATO -IMHOLTE -IMESON -IMBRUGLIA -IMBROCK -IMBRIALE -IMBRENDA -IMAM -IMADA -ILTZSCH -ILLOVSKY -ILLICH -ILLAS -ILLAR -ILIFFE -ILG -ILARRAZA -ILARIA -ILALIO -IKZDA -IKKELA -IKENBERRY -IKEMOTO -IKEMIRE -IKEARD -IHNEN -IHENYEN -IHEME -IGUS -IGUINA -IGNORIA -IGLES -IGBINOSUN -IFIE -IFFT -IFEANYI -IFANTIDES -IENNACO -IDROVO -IDRISS -IDIART -ICKERT -ICARDO -IBRIC -IBDAH -IBBOTSON -IBASITAS -IARUSSI -IARA -IANNALO -IAMICELI -IACUZIO -IACOBUCCI -IACOBELLI -HYSQUIERDO -HYSKE -HYDZIK -HYBERGER -HYATTE -HUYSMAN -HUYNA -HUTYRA -HUTTMAN -HUTTAR -HUTER -HUSUL -HUSTEDT -HUSSY -HUSSONG -HUSSIAN -HUSKI -HUSHON -HUSEIN -HUSAINI -HURTUBISE -HURTA -HURNI -HURME -HUPY -HUPPENBAUER -HUNZE -HUNSON -HUNER -HUNDERTMARK -HUNDERLACH -HUMSTON -HUMMERT -HUMINSKI -HUMERICK -HUMBARD -HULZING -HULSHOFF -HULMES -HUKLE -HUJER -HUITINK -HUIRGS -HUGUS -HUGUET -HUGGHIS -HUFFSTUTTER -HUERTO -HUERTES -HUENERGARDT -HUEMMER -HUELLE -HUEHN -HUEBSCH -HUDOK -HUDNUT -HUDLOW -HUDLIN -HUDES -HUDDY -HUCKABONE -HUCKABAA -HUBSCH -HUBL -HUBERTZ -HTWE -HSY -HRYCKO -HRNA -HRIC -HRIBAL -HRCKA -HRBACEK -HRANCHAK -HRADECKY -HOYSOCK -HOYNE -HOYLTON -HOYAL -HOXSIE -HOWLINGWOLF -HOWETT -HOWARTER -HOVNANIAN -HOVARD -HOVANTZI -HOVANES -HOUZAH -HOUTKOOPER -HOUSNER -HOUSEMATE -HOURIHAN -HOULTBERG -HOUGHTELLING -HOUEY -HOUCHARD -HOUBEN -HOTTER -HOTTEN -HOTTELL -HOTEK -HOSOI -HOSNER -HOSLE -HOSKYNS -HOSKEY -HOSHINO -HOSFIELD -HORTEIN -HORSEFORD -HORSE -HORRIDGE -HORNSHAW -HORNS -HORNLEIN -HORNIG -HORNEFF -HORMUTH -HORIMOTO -HORESCO -HORENSTEIN -HORELICK -HORE -HORBERT -HORABIK -HOPPENRATH -HOPPA -HOPFAUF -HOOSOCK -HOOL -HOOGHEEM -HOOGENDOORN -HOO -HONUS -HONOLD -HONOKAUPU -HONIGSBERG -HONGISTO -HONGEVA -HONES -HONEGGER -HONDROS -HONDEL -HONCHUL -HONCH -HOMZA -HOMSEY -HOMRIGHAUS -HOMMER -HOMIAK -HOMBY -HOMANS -HOLZNECHT -HOLZMILLER -HOLZHUETER -HOLZBOOG -HOLTMEIER -HOLTMANN -HOLTHOUSE -HOLTHOFF -HOLTHAM -HOLTGREFE -HOLSTAD -HOLSHOVSER -HOLQUIST -HOLMERS -HOLLYDAY -HOLLO -HOLLNER -HOLLINGHURST -HOLLEYMAN -HOLLETT -HOLLERUD -HOLLERING -HOLLEMBAEK -HOLLARN -HOLLAMON -HOLLACK -HOLIHAN -HOLIBAUGH -HOLGERSEN -HOLDY -HOLDGRAFER -HOLDCRAFT -HOLDBROOK -HOLCROFT -HOLCH -HOKULA -HOKETT -HOJEIJ -HOJCZYK -HOIVIK -HOISETH -HOINACKI -HOHNSON -HOHNEY -HOHMEIER -HOHM -HOHLSTEIN -HOGSTRUM -HOGON -HOGLAN -HOGENMILLER -HOGAINS -HOGA -HOFSTRA -HOFSTADTER -HOFHINE -HOFFPAVIR -HOESER -HOERIG -HOERGER -HOELZEL -HOELTER -HOELLER -HOEK -HOEHL -HOEFFLIN -HOEFFER -HODOSY -HODNICKI -HODERMARSKY -HODD -HOCKLEY -HOCHSTINE -HOCHFELDER -HOBSTETTER -HOBLIT -HOBIN -HOBEREK -HOBB -HNOT -HLYWA -HLASTALA -HJERMSTAD -HIZKIYA -HITZFELDER -HITEMAN -HITCHKO -HITCHINGHAM -HISSOM -HISMITH -HISKE -HIRTE -HIRSCHMANN -HIROSE -HIREZI -HIPSLEY -HIPPLEY -HIPOL -HINTERGARDT -HINOKAWA -HINELY -HINDSMAN -HINDMARSH -HINDERAKER -HINDALL -HINCKSON -HINAJOSA -HIMMELSBACH -HIMMELRIGHT -HILYAR -HILVERS -HILU -HILTUNEN -HILTEBEITEL -HILSGEN -HILOVSKY -HILO -HILMER -HILLSETH -HILLERED -HILLEMAN -HILLBRANT -HILLABUSH -HILLA -HILKERT -HILK -HILDMAN -HILBNER -HILBIG -HILB -HILA -HIJA -HIGY -HIGHTSHOE -HIGASHIDA -HIENS -HIELSCHER -HIDDE -HIDAKA -HICKLEY -HICKINGBOTHAM -HICKIE -HICIANO -HIBBLE -HIBBITS -HEZIAK -HEYNEN -HEYKOOP -HEYDENREICH -HEYBROCK -HEVRIN -HEVESSY -HEUGEL -HEUANGVILAY -HETTES -HETTENHAUSEN -HETLING -HETJONK -HETHCOX -HETHCOTE -HETCHMAN -HETCHER -HESTERLY -HESSMAN -HESSELRODE -HESSELMAN -HESSELBEIN -HESSELBACH -HERZBRUN -HERYFORD -HERWEHE -HERVOL -HERTLE -HERTA -HERSKOVIC -HERSHNOWITZ -HERSHFIELD -HERSCHAFT -HERSBERGER -HERRUD -HERRNANDEZ -HERRLICH -HERRITT -HERRION -HERRAND -HERRAN -HEROUT -HEROTH -HERONEMUS -HERO -HERNY -HERMUS -HERLINE -HERLEY -HERGENROEDER -HERGENRETER -HERENA -HEREM -HEREK -HERCMAN -HERAL -HEQUEMBOURG -HEPPERT -HEPPERLY -HEPPEL -HEPPDING -HENZLER -HENTRICH -HENTER -HENSLE -HENSDILL -HENSCHKE -HENNIGHAUSEN -HENNARD -HENKIN -HENGES -HENEDIA -HENDSON -HENDSBEE -HENDRICS -HENDRICKX -HENCKEN -HENCHEL -HENCHECK -HEMSWORTH -HEMRY -HEMPERLEY -HEMMIG -HEMMETER -HEMMERT -HEMMELGARN -HEMMEKE -HEMLEY -HEMEYER -HEMERLY -HEMBRE -HEMANS -HEMANES -HELWICK -HELVIK -HELPHINSTINE -HELPHENSTINE -HELOWICZ -HELMERT -HELMEN -HELMBRIGHT -HELLIWELL -HELLEY -HELLERMAN -HELLENBRAND -HELFERTY -HELFERT -HEKMAN -HEITMULLER -HEITBRINK -HEISSE -HEISNER -HEIR -HEINZLE -HEINZERLING -HEINO -HEINIG -HEINDL -HEIMERL -HEIMBUCH -HEILBRUN -HEILBRON -HEIDTKE -HEIDMANN -HEGLUND -HEGGINS -HEGGESTAD -HEGENER -HEGDAHL -HEFTER -HEFFERNEN -HEERY -HEEBSH -HEDRIX -HEDLER -HEDEIROS -HEDEGAARD -HEDDLESON -HEDDINS -HECT -HECKLE -HECKERS -HEBSCH -HEBRARD -HEBERER -HEBBLETHWAITE -HEAVILAND -HEARTLEY -HEARSTON -HEANG -HEAN -HEAM -HEAGANY -HEADLON -HEADING -HAZOURI -HAZINSKI -HAZEKAMP -HAYWORD -HAYSBERT -HAYN -HAYBALL -HAWKINGS -HAVIER -HAVERMANN -HAVEKOST -HAUSWALD -HAUSTEIN -HAUSTEEN -HAUSLEIN -HAUSHER -HAURIN -HAUPTLY -HAULBROOK -HAUKAAS -HAUGAARD -HAUFFE -HAUBEN -HATZELL -HATTO -HATTENBACH -HATRIDGE -HATLEE -HATHCOX -HATCHETTE -HATCHERSON -HATAKE -HASSIG -HASSELVANDER -HASSELKUS -HASLINGER -HASKAMP -HASHBARGER -HASHA -HASFJORD -HASENCAMP -HASELOFF -HASCHKE -HASBNI -HASBELL -HASAK -HARWIN -HARVLEY -HARVILCHUCK -HARVICK -HARUTUNIAN -HARTZO -HARTZHEIM -HARTJEN -HARTGRAVES -HARTGRAVE -HARTGERINK -HARTENSTEIN -HARSY -HARRISOW -HARRIGTON -HARRELLSON -HARRALSON -HARRALD -HARRADINE -HARRADEN -HAROUN -HARNLY -HARNES -HARNAR -HARNAN -HARNACK -HARLSTON -HARLOR -HARLESTON -HARKENREADER -HARKCOM -HARJOCHEE -HARGEST -HARGES -HARFERT -HARENS -HARDUNG -HARDNEY -HARDINSON -HARDIGAN -HARBY -HARBUS -HARBOUGH -HARBOTTLE -HARBOLD -HARARY -HARAMOTO -HARADER -HARABEDIAN -HAR -HAPPNEY -HAPPE -HAPER -HAPE -HANVILLE -HANUSEY -HANTZARIDES -HANTULA -HANSTINE -HANSTEEN -HANSSON -HANSROTE -HANSIL -HANOHARO -HANOCK -HANNULA -HANNO -HANNEM -HANNEKEN -HANNEGAN -HANMORE -HANISKO -HANISCO -HANIFY -HANHAN -HANEGAN -HANDT -HANDSHAW -HANDSCHUMAKER -HANDREN -HANDLIN -HANDING -HANDELAND -HANAGAN -HANAGAMI -HANAFIN -HANAFAN -HANACEK -HAMWAY -HAMPON -HAMPER -HAMPARIAN -HAMOR -HAMONTREE -HAMOLIK -HAMNON -HAMN -HAMMET -HAMMERSTEIN -HAMMERSTAD -HAMMERLUND -HAMMED -HAMMANG -HAMEEN -HAMBORSKY -HAMB -HAMALAK -HAMAI -HALWOOD -HALSTON -HALPAINY -HALON -HALMSTEAD -HALMICK -HALLSTEAD -HALLOWICH -HALLIO -HALLIE -HALLERMAN -HALLEEN -HALLCZUK -HALLAN -HALGREN -HALECHKO -HALCOM -HALBRITTER -HALALIKY -HAL -HAJDUKIEWICZ -HAIT -HAISLETT -HAIRSTER -HAINSEY -HAINDS -HAILES -HAGWELL -HAGON -HAGHIGHI -HAGGSTROM -HAGGIS -HAGGEN -HAGENY -HAGELGANS -HAGARTY -HAFENBRACK -HAESSLER -HAESSIG -HAERR -HAENER -HAEN -HAECKEL -HADSON -HADLAND -HADIAN -HADDAWAY -HACKMEYER -HACKETHAL -HACKERD -HACKENMILLER -HACKENBERY -HACKE -HACKBORN -HACHETTE -HABIF -HABERMANN -HABERERN -HABBS -HAAKINSON -HAAGENSEN -GZYM -GYURKO -GYLLENBAND -GYAKI -GWYNES -GWENN -GUZMDN -GUZICZEK -GUZ -GUYOTT -GUYOT -GUYET -GUTTENBERG -GUTSCHOW -GUTREUTER -GUTRERREZ -GUTIERES -GUTIENNEZ -GUTHORN -GUTHARY -GUTERRIEZ -GUTENSON -GUSSIN -GUSHUE -GUSA -GURVINE -GURTIN -GURRAD -GURNE -GURIDI -GURECZNY -GURALNICK -GUNZENHAUSER -GUNTHROP -GUNKELMAN -GUNAGAN -GUN -GUMPHREY -GUMMERSALL -GUMBERT -GULNICK -GULLUNG -GULLAGE -GULINI -GULIKERS -GULEY -GULDEMOND -GULDE -GULBRAA -GULATI -GUITTENNEZ -GUITREAU -GUITH -GUITAR -GUIRGIS -GUINLE -GUILTNER -GUILSTORF -GUILLOTE -GUILLAN -GUILIANELLI -GUILBE -GUIFFRE -GUIEL -GUIDABONI -GUIAO -GUIALDO -GUEVANA -GUESMAN -GUERROUXO -GUERINOT -GUERETTA -GUENISON -GUENIN -GUEMPEL -GUEMMER -GUELPA -GUELFF -GUELESPE -GUEDESSE -GUDROE -GUDAT -GUCKES -GUCCIARDI -GUBSER -GUBITOSI -GUBERNATH -GUBBINS -GUARRACINO -GUARIN -GUARIGLIO -GUANDIQUE -GUAMAN -GUALDONI -GUADALAJARA -GRZYWINSKI -GRZYWACZ -GRZYB -GRZESIAK -GRYGIEL -GRUZINSKY -GRUTERS -GRUSENMEYER -GRUPA -GRUNINGER -GRUNIN -GRUNDON -GRUHLKE -GRUETT -GRUESBECK -GRUELL -GRUEBER -GRUDA -GRUBMAN -GRUBA -GROVIER -GROTHEN -GROSZKIEWICZ -GROSSLEY -GROSSKLAUS -GROSSHANS -GROSKY -GROSHEK -GROSENICK -GROSCOST -GROSBY -GROOMBRIDGE -GRONVALL -GROMLEY -GROLLMAN -GROHOSKE -GROESSER -GROEBER -GROCOTT -GROBSTEIN -GRIX -GRIVNA -GRITSCH -GRIT -GRISTEDE -GRISSAM -GRISOSTOMO -GRISOM -GRISHAN -GRIP -GRINNER -GRINMAN -GRINES -GRINDEL -GRIMLIE -GRIMARD -GRILLETTE -GRIGGERS -GRIGAS -GRIGALONIS -GRIGALIUNAS -GRIFIN -GRIFFINS -GRIFFES -GRIFFEL -GRIFE -GRIESMEYER -GRIESI -GRIEM -GRHAM -GRGUREVIC -GREYOVICH -GREYDANUS -GREVISTON -GRETZNER -GRETZ -GRETSCH -GRETO -GRESL -GRESKO -GRENGS -GREMLER -GREIST -GREISSER -GREISIGER -GREISER -GREIBER -GREGOROFF -GREGORESKI -GREGAS -GREENROSE -GREENLOW -GREENLEES -GREENFELDER -GREENEN -GREENBUSH -GREEB -GREBS -GREBEL -GREAUX -GRDINA -GRAVIT -GRAVENSTEIN -GRAVELIN -GRAVA -GRAUL -GRAUGHARD -GRAUE -GRAT -GRASTORF -GRASSANO -GRASMUCK -GRASHOT -GRASHA -GRAPPO -GRAPER -GRANVIL -GRANUCCI -GRANTIER -GRANSTAFF -GRANROTH -GRANIZO -GRANIERO -GRANIELA -GRANELLI -GRANDOS -GRANDMONT -GRAMZA -GRAMINSKI -GRAMBERG -GRAHAMS -GRAGO -GRAEN -GRAEFE -GRAE -GRADLE -GRACIANI -GRACI -GRABOWIECKI -GRABAUSKAS -GOUNDER -GOUGEON -GOUDGE -GOUCHIE -GOU -GOTTULA -GOTTLEBER -GOTTHARDT -GOTOWKA -GOTLIB -GOTIMER -GOTHIER -GOTHE -GOSWAMI -GOSTOWSKI -GOSSIN -GOSSERAND -GOSSEN -GOSHOW -GOSHI -GOSDA -GOSCHE -GORYCHKA -GORRI -GORNIKIEWICZ -GORLICH -GORGO -GORGLIONE -GORETTI -GORENCE -GORELIK -GORECZNY -GORDIS -GORCZYNSKI -GORANS -GOOTZ -GOOSEN -GOONEZ -GOOLSBEE -GOOLIA -GOODVIN -GOODPASTOR -GOODGINE -GOODGER -GOODER -GOODENBERGER -GOODAKER -GOODACRE -GONZOLEZ -GONZALIZ -GONSALUES -GONES -GONE -GONDRAN -GONDA -GONAZLEZ -GOMZALEZ -GOMEY -GOME -GOMBERG -GOLUMSKI -GOLUBA -GOLTRY -GOLTRA -GOLPE -GOLOMBECKI -GOLLWITZER -GOLLOGLY -GOLLIN -GOLKIN -GOLK -GOLDWARE -GOLDRUP -GOLDRICH -GOLDHAMMER -GOLDHAHN -GOLDFISCHER -GOLDFIELD -GOLDEMAN -GOLDAK -GOLBERG -GOLBA -GOLANSKI -GOLABEK -GOICK -GOGOCHA -GOGLIA -GOGINS -GOETZKE -GOETTMAN -GOETTIG -GOETJEN -GOEMAN -GOELDNER -GOEKEN -GOEDEN -GODYN -GODWYN -GODOWN -GODFRAY -GODERICH -GODE -GODDE -GODA -GOCKERELL -GOCHNAUER -GOCHIE -GOBRECHT -GOBEYN -GOBERN -GOBEA -GOBBO -GOBBI -GNAGEY -GLUGLA -GLUCKMAN -GLUC -GLOWSKI -GLOWKA -GLOWINSKI -GLOW -GLOSSNER -GLOFF -GLOE -GLODICH -GLIWSKI -GLIUES -GLISE -GLINKERMAN -GLIMP -GLICHER -GLENNY -GLEMBOCKI -GLEISS -GLEICHWEIT -GLEGHORN -GLAVIANO -GLAUSER -GLAUE -GLAUBKE -GLAUBERMAN -GLATHAR -GLASOW -GLASHEN -GLASGLOW -GLARSON -GLAPION -GLANDEN -GLADER -GLADEN -GLACKEN -GJORVEN -GJOKAJ -GJESDAL -GJELTEN -GIVLIANI -GITZLAFF -GITTERE -GITLEWSKI -GITCHELL -GISSLER -GISRIEL -GISLASON -GIROLAMI -GIRMAZION -GIRELLINI -GIRAUARD -GIRARDEAU -GIRAD -GIOVE -GIORIANO -GIONSON -GIOACCHINI -GINNETTI -GINNERY -GINANNI -GILLOM -GILLMER -GILLERIST -GILLENTINE -GILHOOLEY -GILFOY -GILESPIE -GILDROY -GILDORE -GILCOINE -GILARSKI -GIHRING -GIGGIE -GIESSINGER -GIERLING -GIELSTRA -GIEHL -GIEGERICH -GIEDLIN -GIEBER -GIEBEL -GIDWANI -GICKER -GIBES -GIBBINGS -GIBBARD -GIANOPULOS -GIANOLA -GIANNELL -GIANDELONE -GIANCASPRO -GIANCARLO -GIAN -GIAMICHAEL -GIAGNI -GIACOMAZZI -GIACOLETTI -GIACHINO -GHRAMM -GHOSTEN -GHIRINGHELLI -GHIORSO -GHIL -GHIA -GHEZA -GHEKIERE -GHEEWALA -GHAZVINI -GHAZI -GHAZAL -GHAOR -GHANE -GHANAYEM -GHAMDI -GFROERER -GEYETTE -GEWINNER -GEWANT -GEVORKIAN -GEVEDON -GEUDER -GETTING -GETTENBERG -GETSCHMAN -GETACHEW -GESTES -GESSELLI -GERYOL -GERYCH -GERTY -GERTON -GERTKEN -GERSTER -GERSCH -GERPHEIDE -GERONIME -GERONDALE -GEROCK -GERMINARO -GERMERSHAUSEN -GERMER -GERLOCK -GERLA -GERKING -GERGUSON -GERES -GERBS -GERBI -GERATHY -GERARDOT -GEORGIANA -GEORGALES -GEOHAGAN -GEOGHAN -GEOFFREY -GENUALDI -GENTIS -GENNUSA -GENNARIA -GENNARELLI -GENIN -GENGA -GENG -GENESEO -GENEROUS -GENEROSO -GENERA -GENBERG -GEMMEL -GEMBE -GEMBAROWSKI -GELZER -GELO -GELLIS -GELLESPIE -GELL -GELINEAU -GELGER -GELDRICH -GELBACH -GEISTER -GEISSEL -GEISEN -GEIMAN -GEILS -GEHRKING -GEHRI -GEHRETT -GEHRED -GEFROH -GEERKEN -GEELAN -GEDRIS -GEDO -GECHAS -GECAN -GEBRAYEL -GEBERS -GEASLEY -GEANOPULOS -GDULA -GBUR -GAZZILLO -GAZZA -GAZO -GAZNES -GAZDECKI -GAYOSO -GAYO -GAYMES -GAWLAK -GAVULA -GAVLES -GAVIRIA -GAVINSKI -GAVIGAN -GAVES -GAVELL -GAVALIS -GAUTSCH -GAURON -GAUNTNER -GAULZETTI -GATTIE -GATSKI -GATCH -GATA -GASTELUN -GASTELLUM -GASTEL -GASSON -GASSLER -GASSE -GASQUET -GASPARI -GASIENICA -GASEOMA -GASCH -GARZONE -GARVERICK -GARVE -GARTHEE -GARROD -GARRISS -GARRISH -GARRAGHTY -GARNET -GARNESS -GARNDER -GARLOVSKY -GARITI -GARICH -GARIBALDO -GARIB -GARGANI -GARFIAS -GARFF -GARF -GARES -GAREN -GARDY -GARDER -GARCELON -GARCED -GARAVELLI -GARALA -GARACCI -GANZE -GANTEWOOD -GANSKA -GANNOE -GANJI -GANJA -GANIBE -GANIBAN -GANGULI -GANGLUFF -GANGADYAL -GANE -GANDHY -GANDARILLIA -GANCIO -GANA -GAMRATH -GAMEWELL -GAMELA -GAMBERINI -GAMBERG -GAMBELL -GAMBAIANI -GALVANO -GALVA -GALUSTIAN -GALSTON -GALSTIAN -GALSON -GALS -GALON -GALOFARO -GALLIPO -GALLERY -GALLENO -GALLEGHER -GALLANTE -GALLAGOS -GALLAGA -GALJOUR -GALINOO -GALINOL -GALIN -GALIETTI -GALHARDO -GALFAYAN -GALETTI -GALETTA -GALECKI -GALAUIZ -GALASKA -GALASHAW -GALARITA -GALANGA -GALACIO -GAILUN -GAILIS -GAIBLER -GAGON -GAGO -GAGLIARDOTTO -GAETKE -GAESTEL -GAEKLE -GADUE -GADES -GACUSAN -GACAD -GABREL -GABOUER -GABISI -GABINO -GABBETT -GABBAY -GAB -GAARSLAND -FYLES -FVENTES -FUSSELMAN -FUSIK -FUSI -FUSHA -FUSCA -FURUYAMA -FURUBOTTEN -FURTON -FURRH -FURNE -FURNA -FURLOTTE -FURLER -FURKIN -FURFEY -FURE -FURCH -FURAY -FUPOCYUPANQUI -FUNDERBUNK -FUNDENBERGER -FULWILER -FULSOM -FULLWILER -FULLITON -FULLING -FULEKI -FULDA -FUKUROKU -FUKADA -FUHRI -FUGLSANG -FUGLE -FUGAH -FUESTING -FUENTS -FUDACZ -FUCILE -FUCHSER -FRYDMAN -FRYDAY -FRUUSTO -FRUTOZ -FRULLATE -FRUCHEY -FROSSARD -FROSS -FROSCHHEISER -FROOZY -FRONDUTI -FRONDORF -FRON -FROMONG -FROMETA -FROILAND -FROHWEIN -FROHOCK -FROELIGER -FRODSHAM -FRITZPATRICK -FRIST -FRISINO -FRISELLA -FRISCHKORN -FRINGUELLO -FRINGS -FRILING -FRIKKEN -FRIETSCH -FRIEST -FRIEDSTROM -FRIEDHABER -FRIEDENBERG -FRIEDECK -FRIDAL -FREYTAS -FREYDEL -FREUDIGER -FRESHLEY -FRERE -FRENNER -FRENIERE -FREMON -FREMMING -FREME -FRELIGH -FREISTUHLER -FREISER -FREIL -FREIFELD -FREIDKIN -FREIDET -FREHSE -FREGUSON -FREERKSEN -FREELON -FREELEY -FREEHOFFER -FREEDLAND -FREDRIKSON -FREDRIC -FREDLINE -FREDICKS -FREDDRICK -FRAWKIN -FRAUENKRON -FRATI -FRANZEO -FRANTZICH -FRANKINA -FRANKFORD -FRANKENREITER -FRANKENFELD -FRANEO -FRANDEEN -FRANCULLI -FRANCOLINO -FRANCOISE -FRANCISQUE -FRANCIOSA -FRANCIOS -FRANCIONE -FRANCESKI -FRANCESCHINA -FRAM -FRAINE -FRAGASSI -FRACIER -FRACCOLA -FRABOTTA -FRABIZIO -FOUYER -FOUX -FOUTAIN -FOURRE -FOURACRE -FOUND -FOULES -FOUCHA -FOSSO -FOSSER -FOSSA -FOSBURGH -FORWOOD -FORTADO -FORSTON -FORSTHOFFER -FORSCHNER -FORSCH -FORNKOHL -FORNEROD -FORMHALS -FORMEY -FORMENTO -FORMATO -FORLANI -FORGY -FORGACH -FORDON -FORCINO -FORCELL -FORCADE -FORBISH -FORBER -FONTNEAU -FONTELROY -FONTEBOA -FONTANINI -FONSECN -FONDELL -FON -FOLLIE -FOLLER -FOLKINS -FOLKENS -FOLGAR -FOKS -FOGUS -FOGO -FOERSCHLER -FOELL -FOECKE -FODERARO -FODDRILL -FOCKS -FLUM -FLUGENCE -FLUETTE -FLUETSCH -FLUECK -FLOURNAY -FLOTOW -FLOTA -FLORKOWSKI -FLORESTAL -FLORANCE -FLOORE -FLOERCHINGER -FLODMAN -FLOCH -FLITTON -FLITT -FLISTER -FLINTON -FLINSPACH -FLIERL -FLEVER -FLEURISSAINT -FLEURANTIN -FLETHER -FLENNOY -FLEITMAN -FLEGLER -FLEAK -FLAUTT -FLAUM -FLASHER -FLAMINIO -FIXARI -FIUMEFREDDO -FITZMIER -FITZGERLAD -FITZEN -FITTJE -FITSER -FITCHETTE -FISICHELLA -FISGER -FISCHBEIN -FISCHANG -FISCAL -FISANICK -FIROOZBAKHT -FIRLIK -FIRKEY -FIORENZI -FIORA -FINUCAN -FINTO -FINONA -FINOCAN -FINNLEY -FINNIN -FINNILA -FINNI -FINNEL -FINNE -FINLAND -FINKENBINER -FINEY -FINDERS -FILZEN -FILYAN -FILTEAU -FILONUK -FILLO -FILLERUP -FILKEY -FILIPPIDES -FILIPPELLO -FILBURN -FILBRARDT -FILBEY -FILARY -FILARECKI -FILAK -FIJALKOWSKI -FIGURELLI -FIGONE -FIGLIOLI -FIGLAR -FIGARY -FIGARSKY -FIERMONTE -FIERGE -FIELY -FIELDSTADT -FIEDTKOU -FIEDOROWICZ -FIEBICH -FIE -FIDSKY -FIDO -FICENEC -FEYLER -FEWLESS -FEULNER -FEUERBERG -FETUI -FETROW -FESUS -FESENBEK -FERUGSON -FERSTER -FERRISE -FERRATT -FERRATELLA -FERRAROTTI -FERRARINI -FERRAO -FERRANDINO -FERRALL -FERRACIOLI -FERON -FERNDEZ -FERNANDZ -FERMO -FERM -FERLIC -FERJERANG -FERIS -FERENTZ -FEREDAY -FERDIN -FERDICO -FERDERER -FERARD -FERAMISCO -FENTI -FENSEL -FENOGLIO -FENOFF -FENO -FENNIWALD -FENGER -FENCEROY -FELZIEN -FELSON -FELSHER -FELLON -FELLI -FELLHAUER -FELLENBAUM -FELLEMAN -FELLARS -FELKS -FELIPA -FELILA -FELICO -FELICIONE -FELGER -FELDTMAN -FELDNER -FELDKER -FELDHAKE -FELCIANO -FELCHER -FEKETY -FEINDT -FEINBLATT -FEILBACH -FEIKLES -FEIGH -FEICHTNER -FEHRIBACH -FEHNEL -FEHN -FEGURGUR -FEGO -FEFER -FEEZOR -FEERY -FEERST -FEELING -FEEKES -FEDUNIEWICZ -FEDUCCIA -FEDORKA -FEDORIW -FEDORCZYK -FEDEL -FEDDES -FEDDERLY -FECHTEL -FECAT -FEAZELLE -FEAST -FEARHELLER -FEAREN -FEAMSTER -FEALY -FAZZINGA -FAWELL -FAVILLA -FAVIERI -FAVARON -FAVARO -FAUSTMAN -FAUROT -FAUR -FAULSTICK -FAULSTICH -FAULKES -FAULKENBURY -FAULISI -FAUBUS -FAT -FASTER -FASH -FASENMYER -FASCI -FASBENDER -FARUOLO -FARRIN -FARRIA -FARRAUTO -FARMSWORTH -FARMAR -FARM -FARLEE -FARIELLO -FARID -FARHA -FARDO -FARACO -FANTZ -FANNER -FAMY -FAMIANO -FAM -FALU -FALTZ -FALTO -FALSON -FALLIE -FALLICK -FALLA -FALKNOR -FALKENTHAL -FALIS -FALHA -FALGE -FALCONERI -FALCIONE -FALCHI -FALB -FALASCO -FALAH -FALACK -FALACCO -FAIX -FAISCA -FAIRY -FAIRLY -FAIGLE -FAICHTINGER -FAHRENWALD -FAHRENBRUCK -FAHNER -FAHLSTEDT -FAGNONI -FAGLIE -FAGALA -FAEHNLE -FADRI -FADEI -FACENDA -FABUS -FABROQUEZ -FABELLO -FABECK -FABBOZZI -EZERNACK -EZER -EZECHU -EZDEBSKI -EYUBEH -EYERMANN -EXTINE -EXPOSE -EWELIKE -EVORA -EVISTON -EVERTZ -EVERSMANN -EVERLETH -EVERING -EVELINE -EVELER -EVANSKI -EVANOSKY -EVANOSKI -EVANCHYK -EVANCHALK -EUTON -EUSER -EURTON -EUROPE -ETTL -ETTISON -ETTERS -ETOLL -ETHEL -ETCHINSON -ESTY -ESTEYBAR -ESTEVANE -ESTERSON -ESTERLING -ESTERGARD -ESTELA -ESTABAN -ESSHAKI -ESSEPIAN -ESSELMAN -ESSAID -ESSAFF -ESQUIUEL -ESQUERRE -ESQUEA -ESPOSITA -ESPENSCHEID -ESPARAZA -ESOIMEME -ESNARD -ESKUCHEN -ESKELSEN -ESKEETS -ESKARAN -ESKAF -ESHLERMAN -ESENWEIN -ESCORZA -ESCOE -ESCOBEO -ESCHENBACHER -ESCHENBACH -ESCHBORN -ESCARREGA -ESCALET -ESBENSEN -ESANNASON -ERVINE -ERVAY -ERTELT -ERPENBACH -ERO -ERNSTROM -ERNSPIKER -ERNANDEZ -ERMOGEMOUS -ERMITA -ERM -ERLWEIN -ERLANSON -ERIXON -ERICE -ERFERT -ERETH -ERDMUN -ERDELT -ERCHUL -ERCEK -ERBENTRAUT -ERARD -ERACLEO -EQUILUZ -EPPERT -EPPERHEIMER -EPPENGER -EPIFANO -EPERSON -ENZENAUER -ENTZI -ENTRUP -ENTEL -ENOTE -ENOCENCIO -ENNY -ENNIST -ENNELS -ENNACO -ENKERUD -ENICK -ENGWER -ENGLEBY -ENGET -ENGESSOR -ENGERMAN -ENGBRETSON -ENFORT -ENDS -ENDRESEN -ENDECOTT -ENCALADE -EMUKA -EMSLANDER -EMSHOFF -EMPLEO -EMPFIELD -EMPEROR -EMO -EMMRICH -EMLIN -EMIGHOLZ -EMFIELD -EMERU -EMECHE -EMDEE -EMBERLIN -EMBERLEY -EMBERGER -EMAYO -EMANUS -EMAMI -ELVERT -ELSHAIR -ELSENSOHN -ELSBURY -ELSA -ELROY -ELQUIST -ELOFSON -ELMAGHRABI -ELLWORTHS -ELLIFRITT -ELLIES -ELLIEM -ELLERKAMP -ELLERBECK -ELLENBEE -ELLENA -ELLEBRECHT -ELLDREGE -ELLANSON -ELKO -ELKAYAM -ELISZEWSKI -ELISEO -ELIS -ELION -ELHOSNI -ELHASSAN -ELHAJ -ELHADDAD -ELGEN -ELGAS -ELGAR -ELG -ELFTMAN -ELFERING -ELEWA -ELEVELD -ELEFRITZ -ELBOGEN -ELBERTSON -ELBERSON -ELBAHTITY -ELAHI -EKSTRUM -EKLOV -EKIS -EJIDE -EISSINGER -EIRLS -EINFELDT -EILTS -EILDERS -EILBERT -EILBECK -EIKMEIER -EIFLER -EIESLAND -EICHSTADT -EICHENMILLER -EICHENAUER -EICHELMANN -EHR -EHORN -EHNIS -EHMEN -EHLEITER -EHINGER -EHIGINATOR -EHIGIATOR -EGVIRRE -EGURE -EGUIZABAL -EGO -EGIDIO -EGGENBERG -EGGART -EGET -EGERTSON -EGBE -EFRATI -EFLIN -EERKES -EE -EDWADS -EDSTER -EDRALIN -EDMERSON -EDMEIER -EDLESTON -EDLAO -EDITH -EDIS -EDELINE -EDEKER -ECONOMUS -ECONOMIDES -ECOFFEY -ECKROTE -ECKMEYER -ECKLE -ECKLAR -ECKIS -ECHEMENDIA -ECHAVEZ -ECHAURE -EBRANI -EBO -EBILANE -EBESUGAWA -EBERTING -EBERSOL -EBERLINE -EBERL -EBENSTEIN -EBEN -EBBESEN -EBACH -EASOM -EASLICK -EASKER -EASEY -EASDON -EARMAN -EARLL -EARLGY -EARENFIGHT -EAREHART -EALLEY -EALICK -EAGY -EAFFORD -DZIURAWIEC -DZIERZANOWSKI -DZIEGIELEWSKI -DZIDUCH -DZIADEK -DZAMA -DYSER -DYS -DYRESON -DYMKE -DYEN -DWYAR -DWORNIK -DWELLINGHAM -DUXBURY -DUWHITE -DUVERNEY -DUVEL -DUTSCHMANN -DUTEL -DUTE -DUSAK -DURUN -DURSCH -DURRWACHTER -DUROUSSEAU -DUROL -DURIG -DURETT -DURESKY -DURELLI -DUREE -DURAL -DURAKU -DUPOUY -DUPLIN -DUPLESIS -DUPLAGA -DUPATY -DUONOLA -DUNZELMAN -DUNTEN -DUNT -DUNSTER -DUNNAHOO -DUNMEAD -DUNKS -DUNKENTELL -DUNEMN -DUNCKER -DUNCKEL -DUNAHOO -DUMMITT -DUMEZ -DUMAG -DULBERG -DULATRE -DUKHOVNY -DUKESHIRE -DUKESHIER -DUITSCHER -DUITCH -DUH -DUGMORE -DUGHI -DUFFUS -DUFFANY -DUFER -DUESENBERG -DUERKSON -DUERKOP -DUENKE -DUEL -DUDLESON -DUDIK -DUDERSTADT -DUDACK -DUCHOW -DUCHESNEY -DUCHATELLIER -DUCCESCHI -DUCAYNE -DUCAY -DUCATELLI -DUBONNET -DUBERSTEIN -DUBEJ -DUBECK -DUBEAU -DUBBIN -DUBAN -DUBALL -DUARTES -DSAACHS -DRYMAN -DRYBREAD -DRUMWRIGHT -DRUMHEISER -DRUMGOLE -DRULLARD -DRUE -DRUDE -DRUCKHAMMER -DRU -DROUGHT -DROSSOS -DROSSMAN -DROSKI -DRONG -DRONES -DRONEN -DROEGMILLER -DROCK -DRISDELLE -DRINKALL -DRIMMER -DRIGGINS -DRIESEL -DRIERE -DREWSKI -DREPS -DREKA -DREITH -DREGRICH -DREGGS -DRAWY -DRAWEC -DRAVLAND -DRAPE -DRAMIS -DRAINER -DRAGUN -DRAGT -DRAGOTTA -DRAGAJ -DRAFTON -DRAFALL -DRADER -DRAA -DOZOIS -DOZAR -DOYAN -DOXON -DOWSETT -DOVENMUEHLER -DOUYON -DOUVIER -DOUVIA -DOUTHART -DOUSSAN -DOURADO -DOULANI -DOUILLET -DOUGHARITY -DOUGALL -DOUET -DOU -DOTTO -DOTTERY -DOTSTRY -DOTO -DOTIE -DOSWELL -DOSKOCIL -DOSECK -DORWEILER -DORVILLIER -DORVEE -DORTILLA -DORSAINVIL -DORRIAN -DORPINGHAUS -DORPH -DOROSAN -DORNSEIF -DORNHELM -DORNELLAS -DORNE -DORNBOS -DORMANEN -DORMANE -DORIEAN -DORER -DORCENT -DORAT -DOPF -DOOTSON -DOORNBOS -DOONEY -DONTEN -DONTAS -DONOTA -DONOHVE -DONNING -DONNELLON -DONNE -DONMORE -DONKOR -DONKERVOET -DONHOE -DONGO -DONELON -DONCHATZ -DONAWA -DONAR -DOMNICK -DOMKOWSKI -DOMIO -DOMINIS -DOMINIQUEZ -DOMINICUS -DOMINICO -DOMINGUS -DOMIANUS -DOMAS -DOLVEN -DOLLIVER -DOLJAC -DOLIVEIRA -DOLHON -DOLGAS -DOLFAY -DOLCETTO -DOKUCHITZ -DOINO -DOIEL -DOFFING -DOERFLINGER -DOEPNER -DOELLING -DODICH -DODERER -DOCKRAY -DOCKETT -DOCKER -DOCIMO -DOBRE -DOBRASZ -DOBMEIER -DOBESH -DOBBERFUHL -DOBB -DMITRIEV -DLOBIK -DLABAJ -DJURIC -DIZADARE -DIVENTO -DIVAN -DIULIO -DITTI -DITTBRENNER -DITTA -DITOLLA -DITCHFIELD -DISTILO -DISTANCE -DISPONETTE -DISPIRITO -DISHINGER -DISCON -DISARUFINO -DISABATO -DIRUZZO -DIROSE -DIROLLO -DIRADO -DIPPERY -DIONISOPOULOS -DIONES -DINUNZIO -DINUCCI -DINOVO -DINOVI -DINOLA -DINHO -DINGS -DINGLASAN -DINGEL -DINCO -DIMPERIO -DIMOULAKIS -DIMOPOULOS -DIMMACK -DIMLING -DIMITRIOU -DIMES -DILTHEY -DILOX -DILLWORTH -DILLMORE -DILLIGARD -DILLESHAW -DILGARD -DILDA -DILCHER -DILCHAND -DIKKERS -DIKET -DIKENS -DIGRAZIA -DIGNESS -DIGIORGI -DIGIAMBATTIST -DIGESARE -DIFIORA -DIFFENDAL -DIEWOLD -DIETSCHE -DIESTEL -DIESEN -DIEN -DIEMOZ -DIELMAN -DIEGIDIO -DIEDRICKS -DIEBOL -DIDLAKE -DIDAMO -DICKUN -DICKSTEIN -DICKIRSON -DICKINS -DICIOCCIO -DICIANO -DICHRISTOPHER -DICARO -DICARA -DIBRINO -DIBENEDICT -DIAMICO -DIAK -DIACHENKO -DHOSANE -DEZELL -DEZAYAS -DEYETTE -DEYARMOND -DEYARMIN -DEWYER -DEWULF -DEWIT -DEWINNE -DEWARATANAWAN -DEVREESE -DEVITTO -DEVINCENZI -DEVICK -DEVEY -DEVENECIA -DEVEL -DEUSCHLE -DEUSCHEL -DEUMAN -DEUERMEYER -DETZ -DETURENNE -DETTRA -DETTORE -DETTMERING -DETTMANN -DETTERICH -DETORRES -DETLEFS -DETJEN -DETILLIER -DETHOMASIS -DETERING -DETAR -DESUTTER -DESTIME -DESTEPHANO -DESROCHER -DESQUARE -DESPORTE -DESPARROIS -DESORT -DESORMO -DESORBO -DESOLIER -DESMARIAS -DESLOGE -DESLAURIER -DESJARDIWS -DESIYATNIKOV -DESISLES -DESILVO -DESIATO -DESHAZIOR -DESFORGES -DESERRES -DESCHOMP -DESCHINO -DESCHAMBEAULT -DESAUTELLE -DESANTIGO -DESAN -DERUSO -DERUBEIS -DERRISO -DERRICOTT -DERRER -DEROOS -DEROKO -DEROIN -DEROEST -DEROBLES -DERNIER -DERMO -DERKACH -DERIZZIO -DERITIS -DERION -DERIGGI -DERGURAHIAN -DEREU -DERER -DERENZIS -DERENTHAL -DERENSIS -DERENDAL -DERENBERGER -DEREMIAH -DERAVENIERE -DERAMO -DERALPH -DEPSKY -DEPRIZIO -DEPRINCE -DEPREZ -DEPRATT -DEPOTTEY -DEPIPPO -DEPINHO -DEPIETRO -DEPETRIS -DEPERTE -DEPENA -DEPAULIS -DEPASSE -DEPACE -DEONARIAN -DEODATO -DENSKI -DENSIESKI -DENOYELLES -DENOFRIO -DENNI -DENNERT -DENNA -DENIKEN -DENIER -DENICE -DENHARTOG -DENCH -DENCE -DENBURGER -DENAFO -DEMYERS -DEMULLING -DEMUIZON -DEMOSTHENES -DEMONEY -DEMONETT -DEMMON -DEMICH -DEMIAN -DEMETRIS -DEMETREE -DEMERIS -DEMCHOK -DEMBOSKY -DEMBINSKI -DEMBER -DEMAURI -DEMATOS -DEMASTERS -DEMARRAIS -DEMARINI -DEMARC -DEMARA -DELVIN -DELVEECHIO -DELUSIA -DELUNEY -DELUCCIA -DELRE -DELPIANO -DELOSANGLEL -DELOSANGELES -DELON -DELNEGRO -DELLOS -DELLON -DELLING -DELLIBOVI -DELLASCIUCCA -DELLASANTA -DELLAPINA -DELLAJACONO -DELLAGATTA -DELLACA -DELISO -DELINOIS -DELILLI -DELILLA -DELIBERATO -DELHOMME -DELGUERCIO -DELGER -DELGADILO -DELFI -DELFELDER -DELEY -DELEVIK -DELETTRE -DELESSIO -DELEONARDO -DELELLIS -DELEHOY -DELEGEANE -DELDEO -DELCINE -DELBUSTO -DELBRUNE -DELBROCCO -DELBO -DELASKO -DELASHAW -DELASANCHA -DELAREMORE -DELAPLANE -DELAPENHA -DELANOCHE -DELALLA -DELAGUILA -DELAGLIO -DEKUYPER -DEKORT -DEKORNE -DEKLERK -DEKINE -DEJOODE -DEJES -DEJARME -DEJAGER -DEJA -DEISCHER -DEIR -DEIGHTON -DEIDRICK -DEIDA -DEIBLE -DEHRER -DEHOMBRE -DEHLER -DEHGHANI -DEHAN -DEHAEMERS -DEGUNYA -DEGUISE -DEGRELLA -DEGRAZIO -DEGRANDPRE -DEGORI -DEGOLYER -DEGLOPPER -DEGLANVILLE -DEGADO -DEFRATES -DEFRANCIS -DEFRANCESCHI -DEFOUW -DEFIGUERO -DEFIGLIO -DEFIDE -DEFARIA -DEETERS -DEDOMINICIS -DEDO -DEDIER -DEDEK -DECULUS -DECROO -DECREE -DECOURLEY -DECOMO -DECLOUETTE -DECLET -DECLARK -DECKELMAN -DECHART -DECHAMPLAIN -DECASANOVA -DECARDO -DECARDENAS -DECANN -DECANEO -DEBRITA -DEBRIE -DEBRAGA -DEBNAR -DEBIEW -DEBES -DEBENHAM -DEBELLO -DEBARBA -DEBACK -DEARSTYNE -DEARCO -DEANNE -DEANHARDT -DEAMER -DEAGUERO -DAYLONG -DAYA -DAWBER -DAWAHOYA -DAVYDOV -DAVTYAN -DAVOS -DAVIRRO -DAVIDEK -DAVIDE -DAVERS -DAVENSIZER -DAVEL -DAVDA -DAUZART -DAURIZIO -DAUILA -DAUGHETEE -DAUGE -DAUFELDT -DAUDIER -DAUBENMIRE -DATY -DATU -DATTE -DASTOLI -DASTE -DASSO -DASKAM -DASINGER -DASALIA -DARYANL -DARVILE -DARSI -DARSCH -DARRUP -DARNEL -DARM -DARJEAN -DARGENIO -DAREY -DARDASHTI -DARDAGNAC -DARBRO -DARBEAU -DARAMOLA -DAQUIP -DAPVAALA -DANZA -DANTONI -DANTES -DANOSKI -DANNS -DANNECKER -DANFIELD -DANELLA -DANCZAK -DANCOES -DAMPHOUSSE -DAMOTH -DAMORO -DAMMRICH -DAMMAD -DAMIS -DAMERELL -DAMBROZIO -DAMA -DALTORIO -DALPONTE -DALOMBA -DALMIDA -DALMAU -DALLEN -DALLA -DALITZ -DALIO -DALHART -DALEUS -DALENE -DALEE -DALBECK -DALAQ -DAIR -DAIMARU -DAILL -DAICHENDT -DAHOOD -DAHLSTEDT -DAHLEY -DAHLER -DAGNONE -DAGNON -DAGNER -DAGGY -DAER -DAE -DADDS -DADDEA -DADDABBO -DAD -DACRES -DACHS -DACHELET -DABER -CZYRNIK -CZWAKIEL -CZUPRYNA -CZUBIA -CZOSEK -CZERNOVSKI -CZERNO -CZERNIK -CZERNIAK -CZEKAJ -CZARNIECKI -CYLER -CYCHOSZ -CUZZO -CUVA -CUTRI -CUTONE -CUTIA -CUTBURTH -CUSWORTH -CUSTA -CUSMANO -CUSHWAY -CUSHINBERRY -CUSHER -CUSHEN -CUSHARD -CUSATIS -CURZI -CURYLO -CURRIERE -CURRANS -CURRA -CURPUPOZ -CURLS -CURLEYHAIR -CURELLA -CUREAU -CURAMENG -CUPE -CUNNINGAN -CUNNANE -CUMMISKY -CUMMER -CUMLEY -CUMBLIDGE -CULOTTI -CULLIN -CULAJAY -CUJAS -CUEZ -CUDDIHEE -CUDAN -CUCHIARA -CUCCINELLO -CUCCHIARO -CUARTAS -CUARESMA -CUADRO -CSENSICH -CRUTHIRDS -CRUTHERS -CRUTCHEV -CRUTCH -CRUMMEDYO -CRUMLISH -CRUIZ -CRUEY -CRUEL -CROXFORD -CROXEN -CROWIN -CROUTCH -CROUSHORN -CROTWELL -CROTHER -CROSLEN -CROOKSTON -CRONHOLM -CRONAUER -CROMEENS -CROGIER -CROFFIE -CROCITTO -CRITZMAN -CRITON -CRITCHELOW -CRISTOFARO -CRISTELLO -CRISTELLI -CRISSINGER -CRISPO -CRIQUI -CRICKENBERGER -CRESSELL -CRESENCIO -CREGLOW -CREGGETT -CREENAN -CREELEY -CREDO -CREDILLE -CREASE -CRAWN -CRAVENHO -CRAVATTA -CRATION -CRANTZ -CRAGAR -CRAGAN -CRACOLICI -CRACKNELL -CRAAWFORD -CRAAN -COZADD -COYIER -COWSER -COWNS -COWDER -COVOTTA -COVITT -COVIL -COVARRUVIA -COVARRUBIO -COVARRUBIA -COVAR -COVA -COUTINO -COUSEY -COURTOY -COURTAD -COURON -COURNEYA -COURIE -COURET -COURCHINE -COUNTIS -COUNCELLER -COTTILLION -COTTENGIM -COTRONEO -COTREAU -COTHERAN -COTEY -COTEAT -COTANT -COSWELL -COSTENIVE -COSTELLOWO -COSTEIRA -COSTANZI -COSSABOON -COSSABOOM -COSIMINI -COSIER -COSCA -COSANO -CORVELLI -CORTI -CORTESI -CORSILLES -CORSEY -CORSERI -CORRON -CORRIDONI -CORRETT -CORREO -CORREN -CORREAU -CORRARO -CORPORON -CORPORAL -CORPENO -COROLLA -COROLIS -CORNES -CORNELSON -CORNEA -CORNACCHIO -CORMICAN -CORMIA -CORIZ -CORIC -CORIATY -CORIANO -CORDERMAN -CORDEL -CORDE -CORDASCO -CORBURN -CORALLO -CORADI -COPONEN -COPLES -COPIER -COPA -COOPEY -COONLEY -COOMEY -COOLBRITH -COOLBETH -COOLAHAN -COOKEY -COOGEN -COOEY -COOCH -CONZE -CONZALEZ -CONTREROS -CONTRERES -CONTRAS -CONTRARAS -CONTOPOULOS -CONTOFALSKY -CONTINO -CONSOLI -CONSIGLI -CONOLY -CONNYER -CONNINGHAN -CONNETTE -CONNERTY -CONNARTON -CONLANS -CONKRITE -CONFREY -CONFAIR -CONEYS -CONELLY -CONEJO -CONDREAY -CONDINO -CONDELL -CONDELARIO -CONCINI -CONCILIO -CONCHO -CONCES -CONCEPION -CONCEICAO -CONABLE -COMPRES -COMPISENO -COMPEAU -COMPEAN -COMPARONI -COMPANIE -COMPAGNA -COMOLETTI -COMMES -COMMENT -COMEAUY -COLYOTT -COLUMBRES -COLSCH -COLPAERT -COLPACK -COLORINA -COLOPY -COLONNESE -COLONA -COLOMY -COLOMBE -COLOMBA -COLMER -COLLY -COLLOZO -COLLOVA -COLLORA -COLLMEYER -COLLACO -COLIAN -COLGLAZIER -COLEHOUR -COLEBROOK -COLDSMITH -COLDEN -COLATO -COLASANTI -COLASAMTE -COLAROSSI -COLANDER -COLAIZZO -COLAIACOVO -COLADONATO -COLACONE -COLABRESE -COKINS -COHOE -COHO -COHLMIA -COHAGAN -COGEN -COFRANCESCO -COFRAN -CODEY -CODELUPPI -COCRAN -COCOZZA -COCORAN -COCOMAZZI -COCKRIN -COCKREHAM -COCKING -COCHIS -COCHERELL -COCCOLI -COBIO -COBANE -COATLEY -COATIE -COANT -COAKER -COACHYS -CMIEL -CLOZZA -CLOUGHLY -CLOTHEY -CLOSOVSCHI -CLOSEY -CLOMAN -CLOFFI -CLOEPFIL -CLITES -CLINKER -CLEVERLY -CLEVE -CLESEN -CLERY -CLERF -CLEMSON -CLEMO -CLEMMON -CLEMMO -CLEMMEY -CLEARK -CLAYTER -CLAVEY -CLAVELLE -CLAUSEL -CLAUD -CLAUCHERTY -CLATON -CLARSON -CLARENDON -CLARBOUR -CLAR -CLAP -CLANIN -CLAN -CLAMAN -CLAM -CLAES -CIVITELLO -CIVCCI -CIVATTE -CIVALE -CIUCCI -CITO -CISNEROZ -CISLO -CISEWSKI -CIRIONI -CIRILLI -CIPULLO -CIPPINA -CIPOLONE -CIPOLLONI -CIONI -CINTRA -CINKOSKY -CINALLI -CIMMIYOTTI -CIMENO -CILVA -CILLS -CILIENTO -CILIBRASI -CILFONE -CIESIOLKA -CIERSEZWSKI -CIERPKE -CIERLEY -CIELOHA -CICIO -CICHOSZ -CICHONSKI -CICCONI -CIBULSKAS -CIARAMITARO -CIANO -CIANCIOTTA -CIAMPANELLA -CIALELLA -CIACCIA -CHWIEROTH -CHWALEK -CHVILICEK -CHUYANGHER -CHURNER -CHURCHVILLE -CHUPPA -CHUPIK -CHUKRI -CHUH -CHUDZINSKI -CHUDZIK -CHUDEJ -CHRONES -CHROMAN -CHRISTOFFER -CHRISTMAU -CHRISTLE -CHRISTALDI -CHRISTAL -CHRISPEN -CHRISCOE -CHOWN -CHOWEN -CHOWANEC -CHOUNLAPANE -CHOULNARD -CHOTT -CHOPELAS -CHOMICKI -CHOMALI -CHOEN -CHODOROV -CHMELIK -CHLUDZINSKI -CHIVALETTE -CHIV -CHIUMENTO -CHITTOM -CHISNALL -CHISCHILLY -CHISARI -CHIRDON -CHIRASELLO -CHIPP -CHIOTTI -CHIONCHIO -CHIOMA -CHINWEZE -CHINSKEY -CHINNIS -CHINNI -CHINDLUND -CHIMENO -CHILINSKAS -CHILDES -CHIKKO -CHIHAK -CHIFFRILLER -CHIEVES -CHIENG -CHIAVAROLI -CHIARA -CHIAPETTO -CHIAMINTO -CHHOR -CHHON -CHHENG -CHHABRA -CHEYNEY -CHEY -CHEVRES -CHETELAT -CHET -CHESTAND -CHESSOR -CHESMORE -CHESICK -CHESANEK -CHERWINSKI -CHERVIN -CHERVEN -CHERRIE -CHERNICK -CHERNAY -CHERCHIO -CHEON -CHENEVEY -CHENET -CHENAULS -CHENAILLE -CHEMIN -CHEMELL -CHEGWIDDEN -CHEFFER -CHEFALO -CHEBRET -CHEBAHTAH -CHEAS -CHAVEN -CHAVAYDA -CHAUTIN -CHAUHDREY -CHAUFFE -CHAUDET -CHATTERSON -CHATRIAND -CHATON -CHASTANT -CHASS -CHASNOFF -CHARS -CHARNOSKI -CHARLETON -CHARLE -CHARISSE -CHARIF -CHARFAUROS -CHAREUNSRI -CHAREUNRATH -CHARBONNEL -CHAPPAN -CHAPLES -CHAPLEAN -CHAPKO -CHAOBAL -CHANTHAUMLSA -CHANTHA -CHANOFSKY -CHANEL -CHANDSAWANGBH -CHANDRONNAIT -CHANDRASEKHAR -CHANDRASEKARA -CHANDIER -CHANCHUAN -CHANANIE -CHANADY -CHAMPY -CHAMPANY -CHAMLEY -CHAMERS -CHAMBLE -CHAMBERLIAN -CHALOW -CHALONER -CHALITA -CHALABAN -CHAJON -CHAIS -CHAIM -CHAILLE -CHAIDY -CHAGOLLAN -CHAFE -CHADSEY -CHADERTON -CHABOTTE -CEZIL -CERSEY -CERRITELLI -CERONSKY -CERONI -CERNANSKY -CERENZIA -CEREGHINO -CERDAN -CERCHIA -CERBANTES -CERAO -CERANSKI -CENTRONE -CENTORINO -CENSKY -CEMAN -CELY -CELUCH -CELLUPICA -CELLIO -CELANI -CEGLA -CEDARS -CEASOR -CEARLOCK -CAZZELL -CAZEAULT -CAZA -CAVEZON -CAVALLI -CAVALERI -CAVACO -CAUTILLO -CAUTHORNE -CAULLEY -CAUGHRAN -CAUCHON -CATUCCI -CATTLADGE -CATTABRIGA -CATILLO -CATHERS -CATENACCIO -CATENA -CATANI -CATALLI -CATACUN -CASUMPANG -CASUAT -CASTROVINCI -CASTRONOVA -CASTORAL -CASTIOLA -CASTIN -CASTILLERO -CASTILLEJO -CASTERA -CASTELLANOZ -CASTELLANETA -CASTELAN -CASTANIO -CASTANADO -CASTAGNIER -CASSIS -CASSION -CASSELLO -CASSEDAY -CASSASE -CASSARUBIAS -CASSARD -CASSADAY -CASPARY -CASPAR -CASORIA -CASILLES -CASILE -CASIDA -CASHING -CASGROVE -CASEMAN -CASELTON -CASELLO -CASELDEN -CASCIA -CASARIO -CASARENO -CASARELLA -CASAMAYOR -CASALIGGI -CASALENDA -CASAGRANDA -CASABONA -CARZA -CARYK -CARVETT -CARTHEW -CARTHER -CARTHENS -CARTAYA -CARTAN -CARSNO -CARSCALLEN -CARRUBBA -CARROCA -CARRIL -CARRIGG -CARRIDINE -CARRELLI -CARRATURO -CARRATURA -CARRAS -CARRANSA -CARRAHAN -CARPENTE -CARPENITO -CAROWAY -CAROTA -CARONNA -CAROLINE -CARNOSKE -CARNOHAN -CARNIGHAN -CARNIE -CARNAHIBA -CARMICHEL -CARMELLO -CARLSLEY -CARLINGTON -CARLEO -CARIVEAU -CARISTO -CARILLION -CARILLI -CARIDINE -CARIASO -CARDONI -CARDISH -CARDINO -CARDINAS -CARDENOS -CARDEJON -CARDEIRO -CARCO -CARBAL -CARAVALHO -CARAHER -CARADONNA -CARACSO -CARACCIOLA -CAPSHAWS -CAPRICE -CAPRICCIOSO -CAPRARO -CAPPAERT -CAPOSOLE -CAPITANI -CAPINPIN -CAPIGA -CAPEZZUTO -CAPETL -CAPESTANY -CAPELS -CAPELLAS -CAPAROULA -CAPARELLI -CAPALONGAN -CAPALDO -CANU -CANTRE -CANTORAL -CANTFIELD -CANTABRANA -CANORI -CANNULI -CANESTRO -CANESTRINI -CANERDAY -CANELLAS -CANELLA -CANDON -CANCER -CANATELLA -CANAK -CANA -CAMPOLONGO -CAMPAGNONE -CAMPAGNINI -CAMPAGNE -CAMON -CAMMARN -CAMINITA -CAMIDGE -CAMBRONNE -CAMBRIC -CAMBERO -CAMARON -CALZONE -CALZADILLA -CALVER -CALVENT -CALVELO -CALVARUSO -CALVARESI -CALPIN -CALONSAG -CALONNE -CALOCA -CALLIGY -CALLEZ -CALLEO -CALLARO -CALIXTRO -CALIGUIRE -CALIGARI -CALICUT -CALER -CALDERSON -CALDARONE -CALCHERA -CALCAGINO -CALAYCAY -CALAMARINO -CALAMARI -CALAMARE -CAKANIC -CAJUNE -CAJUCOM -CAJERO -CAINION -CAINGLIT -CAIAFA -CAGEY -CAFOUREK -CAFFAREL -CAFARELLA -CAFAGNO -CADOY -CADMEN -CADER -CADEMARTORI -CACKETT -CACIBAUDA -CACI -CACCIOLA -CABRAR -CABLA -CABIYA -CABIDO -CABEZA -CABELLON -CABECEIRA -CABANES -CABAG -BZHYAN -BYTHER -BYRO -BYRLEY -BYRDSONG -BYND -BYLUND -BYANT -BVERGER -BUZZELLE -BUZZANCA -BUYES -BUYAK -BUVENS -BUTTINO -BUTTIMER -BUTTARI -BUTTACCIO -BUTHER -BUTEL -BUSZAK -BUSTINZA -BUSSOM -BUSSKOHL -BUSSINK -BUSSINGER -BUSSERT -BUSSELBERG -BUSSANI -BUSL -BUSKOHL -BUSIE -BUSHIE -BUSENIUS -BUSECK -BUSCARINO -BUSACKER -BURWICK -BURTIN -BURRIESCI -BURRESON -BURNUM -BURNET -BURNEISEN -BURNAMAN -BURLETTE -BURLANDO -BURKI -BURKER -BURKEL -BURKA -BURIGSAY -BURHANUDDIN -BURGEN -BURGBACHER -BURETTA -BURESS -BURDSALL -BURDIS -BURDI -BURDG -BURBANO -BUR -BUQUO -BUONTEMPO -BUONADONNA -BUNZEY -BUNYEA -BUNTAIN -BUNKERS -BUNGY -BUNGART -BUNETTA -BUNES -BUNDLEY -BUNDETTE -BUMM -BUMBRAY -BUMBA -BUMATAY -BULWINKLE -BULTRON -BULNES -BULLO -BULLMORE -BULLERWELL -BULLERT -BULLARA -BULLAND -BULKIN -BULGARELLA -BULACAN -BUKRIM -BUKOWINSKI -BUJOL -BUJA -BUIKE -BUHOVECKEY -BUHITE -BUGTONG -BUGLER -BUGENHAGEN -BUGAYONG -BUGAREWICZ -BUFTON -BUETTI -BUESS -BUERSTATTE -BUERGEL -BUERGE -BUER -BUENA -BUEGLER -BUEGGENS -BUECHER -BUDZYNA -BUDZ -BUDWORTH -BUDESA -BUDDLE -BUDDEN -BUDDEMEYER -BUCKRIDGE -BUCKREIS -BUCKMILLER -BUCKE -BUCHSER -BUCHSBAUM -BUCHS -BUCHNA -BUCHHEIM -BUCHBERGER -BUCCHIN -BUCANAN -BUBBICO -BUANNO -BUAL -BRZYCKI -BRZOSTOWSKI -BRYUM -BRYNGA -BRYNESTAD -BRYAR -BRUZEWICZ -BRUYN -BRUUN -BRUTLAG -BRUSON -BRUSKI -BRUSE -BRUSCO -BRUSCINO -BRUNSTING -BRUNSKILL -BRUNOW -BRUNNEMER -BRUNDERMAN -BRUNCKHORST -BRUNBACK -BRUMBLEY -BRUH -BRUGAL -BRUENDERMAN -BRUEGMAN -BRUCIE -BROZYNA -BROZELL -BROWNSWORTH -BROWNSWORD -BROWNSBERGER -BROWLEY -BROUS -BROUNSON -BROUMLEY -BROSTOFF -BROSSMANN -BROSIG -BROSCHINSKY -BROOMELL -BROOKSHIER -BROOKLYN -BRONIKOWSKI -BRONDYKE -BROMBEREK -BROMBACH -BROKINS -BROKING -BROJAKOWSKI -BROICH -BROGREN -BROGGLIN -BRODHURST -BRODHAG -BRODEY -BROCKLEBANK -BROCKIE -BROCKELL -BROCHURE -BROCHHAUSEN -BROCCOLO -BRIXIUS -BRITTSAN -BRITS -BRITNELL -BRISLEY -BRISBONE -BRIOLA -BRINTNALL -BRINGMAN -BRINGAS -BRINGANTINO -BRINCKERHOFF -BRIGUGLIO -BRIGGERMAN -BRIGG -BRIGANTINO -BRIEHL -BRIEGER -BRIDSON -BRIDJMOHAN -BRIDGFORD -BRIDGET -BRIDGENS -BRIDENDOLPH -BRIDEN -BRIDDICK -BRICKNELL -BRICKLES -BRICHETTO -BRIARE -BREZ -BREVITZ -BREVIL -BREUTZMANN -BREUNING -BRETL -BRETHOUR -BRETANA -BRESOLIN -BRESLAWSKI -BRENTNALL -BRENTANO -BRENSNAN -BRENSINGER -BRENSEL -BRENOWITZ -BRENNENSTUHL -BRENGLE -BRENDLINGER -BRENDA -BREND -BRENCE -BRENAMAN -BREMSETH -BREMME -BREMAN -BRELJE -BREITUNG -BREITENFELDT -BREITENBUCHER -BREITENBERG -BREINES -BREILAND -BREHONY -BREGON -BREGE -BREGANTINI -BREFKA -BREEMAN -BREEHL -BREDY -BREDOW -BREDICE -BREDAHL -BRECHBILL -BREARLEY -BRDAR -BRAZZI -BRAZLER -BRAYE -BRAVER -BRAVENDER -BRAVARD -BRAUNSDORF -BRAUNSCHWEIGE -BRAUGHT -BRAUCHLA -BRATEK -BRASKEY -BRASKET -BRANSKE -BRANOT -BRANINE -BRANIFF -BRANGAN -BRANEN -BRANECKI -BRANDSRUD -BRANDMAN -BRANDELAND -BRANDE -BRANDAUER -BRANCAZIO -BRANCANTO -BRANAUGH -BRAMUCCI -BRAKSTAD -BRAIS -BRAIM -BRAIG -BRAH -BRAGE -BRADTKE -BRADRICK -BRADON -BRADICICH -BRACKELSBERG -BRACHMAN -BRACHLE -BRACETTY -BRACALONI -BOZZELL -BOZOVICH -BOZINOVICH -BOYENGA -BOWRING -BOWLET -BOWGREN -BOWERSMITH -BOWELS -BOWCUTT -BOVIO -BOVEJA -BOVAIN -BOUTCHYARD -BOUSSON -BOUSQUTE -BOUSLEY -BOURNS -BOURLIER -BOURGOIS -BOURFF -BOUREK -BOURDEAUX -BOURDAGES -BOURBONNAIS -BOUNDY -BOULIOURIS -BOUDRIEAU -BOUDIN -BOUCHAERT -BOTWIN -BOTTOMLY -BOTTOLFSON -BOTTOLENE -BOTTIGGI -BOTTERBUSCH -BOTROS -BOTRAS -BOTDORF -BOSTELMAN -BOSSENBROEK -BOSSARDET -BOSOWSKI -BOSCHULT -BORYCZ -BORWIG -BORUVKA -BORTIGNON -BORSA -BORROMEO -BORROLLI -BORRIES -BORRETA -BORREMANS -BORRAS -BORR -BOROZNY -BOROWIEC -BORONAT -BORNMAN -BORMES -BORLIN -BORGUEZ -BORGSTEDE -BORGESE -BORGERT -BORGERS -BORGELLA -BORELL -BORDON -BORDI -BORDGES -BORDENKIRCHER -BORDE -BORBON -BORATKO -BOQUE -BOPPRE -BOOSALIS -BOOROM -BOOKTER -BOOKMILLER -BOOKAMER -BONZO -BONYAI -BONUGLI -BONSU -BONSEY -BONSELL -BONSEE -BONOW -BONNO -BONNLANDER -BONNIN -BONNENFANT -BONJORNO -BONIOL -BONGO -BONETTO -BONEPART -BONDRE -BONAVENTURA -BONATTI -BONAPART -BONAGURIO -BONAGUIDI -BOMZER -BOMPANE -BOMILLA -BOMIA -BOMBINO -BOMASTER -BOLLENS -BOLLBACH -BOLLAERT -BOLINS -BOLINDER -BOLIG -BOLIAN -BOLFA -BOLEVICE -BOLDWYN -BOLDUAN -BOLDIZSAR -BOLDE -BOKAL -BOITEL -BOIN -BOILLOT -BOID -BOHONIK -BOHNKER -BOHNEY -BOHLSEN -BOHLMAN -BOHLKEN -BOGUT -BOGNUDA -BOGGUESS -BOGG -BOFINGER -BOERO -BOERM -BOERI -BOERA -BOELK -BOEHNKE -BOEGE -BODYFELT -BODON -BODISON -BODFISH -BODERICK -BODENHAGEN -BODELSON -BODARY -BOCSKOR -BOCKRATH -BOCKLUND -BOCKHORN -BOCKENSTEDT -BOCKELMANN -BOCHICCHIO -BOCHES -BOCHEK -BOCCHIERI -BOCCARD -BOBSIN -BOBROSKY -BOBOWIEC -BOBLAK -BOBET -BOANE -BOAMAH -BLYZE -BLUTE -BLUSH -BLUNKALL -BLUNDO -BLUMKIN -BLUMING -BLUMENSCHEIN -BLUMENKRANTZ -BLUMENBERG -BLUEL -BLOYE -BLOTT -BLOTSKY -BLOSSOMGAME -BLOSFIELD -BLOOMSTROM -BLOOMSTRAND -BLOOMSBURG -BLONSKY -BLONIGAN -BLOMSTRAND -BLOES -BLOEMKER -BLOEDEL -BLOCHBERGER -BLIZARD -BLINEBRY -BLINDT -BLIHOVDE -BLIDE -BLICKER -BLEYTHING -BLEVANS -BLESSETT -BLESOFSKY -BLEILER -BLEICHNER -BLEICHER -BLEECK -BLEE -BLAZON -BLAZING -BLAZICH -BLAYDON -BLAXLAND -BLAUW -BLAUMAN -BLASZCZYK -BLASL -BLASHAK -BLASENHAUER -BLANSCET -BLANQUET -BLANQUART -BLANNON -BLANKO -BLANKENBECLER -BLANGA -BLANDER -BLAKSTAD -BLAILOCK -BLAFIELD -BLAESER -BLAESE -BLADY -BLADT -BLACOCK -BLACKWALL -BLACKMOORE -BLACKMAR -BLACKINGTON -BLACKBIRD -BLACIO -BLACHOWSKI -BJORNSTROM -BJORN -BJERKNES -BJERKEN -BJELLA -BIZZARD -BIVANS -BITZENHOFER -BITAR -BITAH -BISSOL -BISSEL -BISSADA -BISPHAM -BISIKIRSKI -BISCHEL -BISCARI -BISANZ -BIRTHWRIGHT -BIRSNER -BIRONAS -BIRNER -BIRNBERG -BIRKMAIER -BIRKENHAGEN -BIRELY -BIRDON -BIONDA -BINN -BININGER -BINET -BINDERUP -BINAM -BILLUS -BILLUE -BILLOTTI -BILLINSLEY -BILLINGSBY -BILLIGMEIER -BILLIET -BILLIAR -BILLESBACH -BILCHAK -BILANSKY -BIJAN -BIHLER -BIHL -BIGUSIAK -BIGONY -BIGNELL -BIGGARD -BIEWALD -BIEVER -BIETSCH -BIESENTHAL -BIESECKER -BIERUT -BIERSTEDT -BIERSCHBACH -BIERSACK -BIEROD -BIERL -BIERKORTTE -BIENER -BIELSER -BIELKE -BIELEFIELD -BIEDEKAPP -BIDSTRUP -BIDELL -BIDDLECOME -BICKNASE -BICKING -BICHOUPAN -BICHOFF -BIBILONI -BIASTOCK -BIASOTTI -BIANCHIN -BHULLAR -BHASKAR -BHAMARANIYAMA -BHAIRO -BEZENEK -BEYSER -BEYKE -BEYEA -BEYDOUN -BEYALE -BEYAL -BEVEVINO -BEUTTEL -BEUTNAGEL -BEUTHIN -BEUSE -BEURSKENS -BEUKEMA -BEUKELMAN -BEUERLE -BEUCHLER -BETZNER -BETZLER -BETZIG -BETTLEY -BETRY -BETIT -BETHUREM -BETHA -BETENSON -BETAK -BESTWICK -BESTINE -BESTE -BESSONE -BESSINGER -BESSELLIEU -BESONG -BESNER -BESKOM -BESHORE -BESER -BESEN -BESEKE -BESARES -BESANT -BESANSON -BESANCON -BERZUNZA -BERULIE -BERTRUM -BERTOT -BERTO -BERTMAN -BERTHER -BERTH -BERTELLA -BERTAO -BERSHADSKY -BERSAW -BERROSPE -BERROCAL -BERRAY -BERNSTOCK -BERNOTAS -BERNOS -BERNMEN -BERNITSKY -BERNIERI -BERNI -BERNHEIM -BERNERI -BERNELL -BERNBECK -BERNAUDO -BERNAU -BERNATCHEZ -BERNARDUCCI -BERNARDON -BERNAND -BERNACKI -BERLINGO -BERLEY -BERLANDY -BERLACHER -BERKOVITCH -BERKENBILE -BERKBIGLER -BERISHAJ -BERING -BERGSTEDT -BERGSMAN -BERGOUIGNAN -BERGOLD -BERGMEYER -BERGFALK -BERGENTY -BERGENSTOCK -BERGENE -BERGAMINE -BERGAMI -BEREY -BERESIK -BERENTZ -BERENSCHOT -BEREDA -BERDUX -BERDAR -BERDAHL -BERCZY -BERCHIELLI -BERCHER -BERCEIR -BERBIG -BERBEREIA -BENZEE -BENWARC -BENULIS -BENTZINGER -BENTREM -BENTHUSEN -BENSTON -BENNINGS -BENNIGHT -BENNETH -BENNARD -BENNAFIELD -BENKOSKY -BENKER -BENJE -BENISEK -BENINTENDI -BENING -BENINATI -BENIMADHO -BENEZRA -BENEUENTO -BENDU -BENDING -BENDELL -BENCKENDORF -BENBENEK -BENANTI -BENAMATI -BENAFIELD -BENACH -BENAC -BEMBI -BELWOOD -BELVEES -BELTRAMO -BELSTAD -BELSKI -BELSCHNER -BELSCHER -BELOVS -BELOUSSON -BELOUS -BELONY -BELONGER -BELLUZ -BELLMORE -BELLITTI -BELLISTON -BELLINGTIER -BELLINDER -BELLHOUSE -BELLFLOWERS -BELLEN -BELLEHUMEUR -BELLEFONTAINE -BELLAR -BELLANTONE -BELLAIR -BELLACE -BELKEN -BELKE -BELIZ -BELINA -BELIEU -BELIDOR -BELIARD -BELHUMEUR -BELFY -BELFORT -BELFI -BELFAST -BELEZOS -BELCHIOR -BELARMINO -BELANICH -BELANCER -BEJIL -BEJGER -BEJERANO -BEJA -BEISWENGER -BEISSEL -BEILSTEIN -BEILINSON -BEILFUSS -BEILE -BEHNER -BEHIZADEH -BEHIMER -BEHERNS -BEHANAN -BEHAL -BEGUN -BEGUHL -BEGONIA -BEGOLLI -BEGNOCHE -BEGEN -BEESE -BEERLE -BEEMON -BEELAR -BEEDOO -BEEDLES -BEEDHAM -BEECKMAN -BEEBOUT -BEDRE -BEDOCS -BEDNAROWICZ -BEDLION -BEDILLION -BEDER -BEDENFIELD -BEDEE -BEDAW -BEDATSKY -BEDAR -BECKOR -BECKLIN -BECKES -BECKELHEIMER -BEAUREGUARD -BEAUPARLANT -BEAU -BEATTLE -BEATSON -BEATH -BEARDS -BEARDED -BEANDOIN -BEADY -BEACHMAN -BEACHELL -BAYUS -BAYSDEN -BAYOUTH -BAYON -BAYN -BAYANI -BAXTOR -BAWKS -BAWER -BAWCOMBE -BAVES -BAUTISTE -BAUTE -BAURER -BAUMOHL -BAUMLI -BAUMKIRCHNER -BAUMIESTER -BAUMGARTEL -BAUMGARN -BAUMFALK -BAUCHSPIES -BAUCE -BATZRI -BATTISTO -BATTER -BATTENHOUSE -BATTEIGER -BATRICH -BATRA -BATLLE -BATLIS -BATLINER -BATKIN -BATCHELLOR -BASTICK -BASTARDI -BASSITI -BASORE -BASONE -BASKOW -BASINI -BASILA -BASHLINE -BASELEY -BASCAS -BARVOSA -BARVICK -BARUS -BARTUSKA -BARTULA -BARTOSIK -BARTOSCH -BARTOLI -BARTMES -BARTLETTE -BARTKUS -BARTKIEWICZ -BARTHOLOMEU -BARTE -BARTCH -BARSEGYAN -BARSCHDOOR -BARSCEWSKI -BARSAMIAN -BARRYMAN -BARROWMAN -BARROIS -BARRISH -BARRIAULT -BARRETE -BARREE -BARRAN -BARONNE -BARNINGER -BARNERS -BARNEBEY -BARNAK -BARNACLE -BARLUP -BARLOCK -BARLAU -BARLAK -BARKEN -BARKEMA -BARJENBRUCH -BARILLO -BARILL -BARIENTOS -BARIA -BARGSTADT -BARGMANN -BARGERON -BARESI -BARERA -BARENDS -BARDOS -BARDONER -BARDILL -BARDELL -BARCK -BARCIK -BARCHUS -BARCHACKY -BARBERR -BARBAZA -BARBARITO -BARBARE -BARBALICH -BARBADILLO -BARANGA -BARAHANA -BARADI -BARAD -BARACH -BARABIN -BAQUERO -BANWARTH -BANSMER -BANSE -BANOWSKI -BANNETT -BANKOS -BANGURA -BANERJI -BANEK -BANDYK -BANDURA -BANDASAK -BANDARRA -BANCOURT -BANCO -BANCKS -BANBURY -BAMFORTH -BAMBAS -BAMBACE -BALZOTTI -BALZARINE -BALZA -BALWINSKI -BALTRUWEIT -BALTAZOR -BALSIS -BALOY -BALOW -BALOCK -BALO -BALM -BALLUCH -BALLOWE -BALLMANN -BALLEZ -BALLETTO -BALLESTEROUS -BALLENA -BALLEJOS -BALLAR -BALLAN -BALLAGAS -BALITAS -BALISH -BALIGOD -BALICH -BALDWYN -BALDUZZI -BALDOS -BALDERREE -BALDEARENA -BALDA -BALCOS -BALASKO -BALANGATAN -BALAK -BALADEJO -BAKALARS -BAJKO -BAJEK -BAITNER -BAISON -BAIRO -BAIOTTO -BAINEY -BAILLEU -BAILADO -BAIBAK -BAHRI -BAHDE -BAHADUE -BAGWILL -BAGU -BAGRON -BAGNASCHI -BAFFA -BAFF -BAESKENS -BAERG -BAENZIGER -BAENA -BAELL -BADZINSKI -BADRUDDIN -BADLAM -BADEY -BADERTSCHER -BADENOCH -BADAGLIACCA -BACONE -BACMAN -BACKHUUS -BACINO -BACHMEYER -BACHINSKI -BACHAS -BACHAN -BACERRA -BACAYO -BABSON -BABLAK -BABINSKI -BABILON -BABIKIAN -BABICZ -BABEY -BABBISH -BAARTS -BAACK -AZZNARA -AZUMA -AZOR -AZATYAN -AZAPINTO -AZAHAR -AYYAD -AYTES -AYSIEN -AYMAR -AYLOCK -AYHENS -AYELE -AYDIN -AXTMAN -AXMAN -AWYIE -AW -AVONA -AVNER -AVISON -AVENIA -AVELES -AVARBUCH -AVANCENA -AUTULLO -AUTOVINO -AUTOBEE -AUTHER -AUTER -AUSTINO -AUSTINE -AUSTER -AUSLAM -AURRICHIO -AUN -AULS -AULDER -AUFIERO -AUDREY -AUDIBERT -AUDELHUK -AUCKLEY -AUCES -AUBEL -AUALA -ATZINGER -ATZHORN -ATTWELL -ATTLES -ATTILIO -ATTIA -ATTHOWE -ATTEBURG -ATMORE -ATMA -ATLEH -ATKISSON -ATHY -ATHERHOLT -ATHANASIOU -ATENGCO -ATAMANCZYK -ASTILLERO -ASTAFAN -ASSUM -ASSIS -ASSING -ASSENMACHER -ASSALONE -ASSAEL -ASRARI -ASPRI -ASPLEY -ASPERHEIM -ASPELL -ASNICAR -ASNER -ASKIEW -ASKIA -ASKE -ASK -ASHLY -ASHKETTLE -ASHING -ASHBOURNE -ASHBACH -ASHAF -ASENJO -ASENG -ASELTINE -ASCOL -ASCHBACHER -ASAMOAH -ARZT -ARZABALA -ARVIEW -ARVEZ -ARVANITIS -ARVA -ARUNACHALAM -ARTON -ARTIES -ARTIBEE -ARTHUN -ARTEZ -ARTERS -ARSHAM -ARSENEAULT -ARROYD -ARROYANO -ARROSPIDE -ARROCHO -ARRISOLA -ARRINDEL -ARRIGONE -ARRELLIN -ARREDLA -ARRAND -ARRANCE -ARQUELLES -AROSEMENA -AROLLO -AROCA -ARNTZEN -ARNSBERGER -ARNITZ -ARNERICH -ARNDELL -ARNAUDET -ARNAO -ARNALDO -ARMY -ARMOUT -ARMOLD -ARMOCIDA -ARMLIN -ARMISO -ARMESTO -ARMEN -ARMADA -ARKONTAKY -ARKING -ARISTIZABAL -ARISA -ARILDSEN -ARICHABALA -ARIAIL -ARGULEWICZ -ARGUDIN -ARGRO -ARGIE -ARGENZIANO -ARGENTI -ARENDASH -ARENDALL -ARENDALE -ARELLEANO -AREHANO -ARDS -ARDENEAUX -ARDELEAN -ARDALY -ARCIOLA -ARCIERI -ARCHIOPOLI -ARCHDALE -ARCHBELL -ARBON -ARBOLIDA -ARBETMAN -ARBERTHA -ARAU -ARASHIRO -ARANEO -ARANCIBIA -ARALDI -ARAGONES -ARAGAO -ARABAJIAN -AQUAS -APTHORPE -APSHIRE -APRILL -APRIGLIANO -APPLONIE -APPL -APPIA -APPANA -APONTA -APLINGTON -APLEY -APKER -APELIAN -APADACA -AONO -AO -ANZIDEO -ANWAY -ANTRONICA -ANTOSH -ANTONOVICH -ANTONIAK -ANTOLAK -ANTILA -ANTIGNANI -ANTHES -ANTAO -ANSOATEGUI -ANSLOAN -ANREOZZI -ANOS -ANOLICK -ANOE -ANNUZZI -ANNING -ANNARINO -ANNAL -ANNABLE -ANNABEL -ANITOK -ANINION -ANIMASHAUN -ANIDI -ANGOCICCO -ANGLAND -ANGIOLELLI -ANGILERI -ANGILELLO -ANGIER -ANGERMEIER -ANGELOZZI -ANGELOU -ANGELLOTTI -ANGELILLO -ANGELICA -ANGALICH -ANEY -ANEWALT -ANETSBERGER -ANESI -ANESHANSLEY -ANENE -ANECELLE -ANDRZEJCZYK -ANDRZEJCZAK -ANDRUSZKIEWIC -ANDRSON -ANDRODE -ANDRIOPULOS -ANDRINO -ANDRICH -ANDREOLA -ANDREGG -ANDREESSEN -ANDRANGO -ANDRADEZ -ANDRADES -ANDRACHAK -ANDOH -ANDINA -ANDERST -ANDERHOLM -ANDERE -ANDALORA -ANCISO -ANCIC -ANCEL -ANCAR -ANCALADE -ANAWATY -ANAWALT -AMYS -AMSTRONG -AMSPAUGH -AMOUS -AMOTT -AMOROS -AMORMINO -AMORIELLO -AMORELLO -AMOE -AMODT -AMMONDS -AMMIRATA -AMMER -AMLIN -AMITH -AMISTADI -AMILL -AMIGO -AMERIO -AMERICAN -AMENTLER -AMEMIYA -AMELA -AMEJORADO -AMEDRO -AMEDEO -AMBURGY -AMBROZIAK -AMBRISTER -AMBOREE -AMBOISE -AMBERT -AMBAGIS -AMAUTY -AMAT -AMAS -AMARIAN -AMARA -AMALONG -ALWIN -ALWAZAN -ALVIREZ -ALVERO -ALVERADO -ALTY -ALTSTATT -ALTSISI -ALTMARK -ALTIMUS -ALTAMIRUNO -ALSON -ALSING -ALSAQRI -ALROD -ALQUESTA -ALPIS -ALPHEAUS -ALPERIN -ALOY -ALOSTA -ALOAN -ALNOOR -ALMSTEADT -ALMSTEAD -ALMOS -ALMGREN -ALMARZA -ALMAJHOUB -ALLYNE -ALLSBROOKS -ALLON -ALLINGER -ALLIMAN -ALLIANCE -ALLGIRE -ALLEVATO -ALLESHOUSE -ALLERUZZO -ALLERTON -ALLDER -ALLCOCK -ALLBERT -ALLANSON -ALLABAUGH -ALKINS -ALKEMA -ALKANA -ALJEMAL -ALISAUSKAS -ALIMO -ALIMENTO -ALIE -ALICER -ALIAS -ALHUSSEINI -ALHAMEED -ALHAMBRA -ALHADDAD -ALFREDO -ALFIERO -ALEYANDREZ -ALEXIDOR -ALEXANDROPOUL -ALEXANDERS -ALEXAKIS -ALESSE -ALESNA -ALEPIN -ALEJANDREZ -ALDWORTH -ALDROW -ALDRIGE -ALDONZA -ALCINE -ALCANTAS -ALBU -ALBROUGH -ALBOR -ALBE -ALBARRACIN -ALBARAZI -ALATOSSE -ALARCONE -ALANKO -ALAND -ALAMIA -ALAMEIDA -ALAMBAR -ALAI -AKWEI -AKSOY -AKO -AKLEY -AKINREFON -AKIMSEU -AKHAVAN -AKHAND -AKERY -AKAWANZIE -AKAPO -AKAMIRO -AKAL -AJOKU -AJANI -AIUTO -AIUDI -AIRTH -AIPPERSPACH -AIPORLANI -AIPOPO -AIOLA -AINI -AILSWORTH -AILLS -AILIFF -AIEVOLI -AID -AIAVA -AHYET -AHRENHOLZ -AHNELL -AHLO -AHLFIELD -AHLEMEYER -AHIMUD -AHIA -AHHEE -AHAUS -AHALT -AGUSTINO -AGUSTINE -AGURS -AGUMGA -AGUELE -AGRESTO -AGREDA -AGPAOA -AGOSTI -AGORO -AGONOY -AGOFF -AGGERS -AGEMY -AGEBOI -AGBISIT -AFURONG -AFSHAR -AFFRONTI -AFFLICK -AFFELTRANGER -AFABLE -AEILLO -ADULE -ADRION -ADOLPHE -ADOLFSON -ADNER -ADLOFF -ADLING -ADICKES -ADIB -ADELSPERGER -ADELMUND -ADELIZZI -ADDEO -ADAMSONIS -ADAMSEN -ADAMOWSKI -ADAMOS -ADAMEC -ADALJA -ACOSTO -ACORS -ACORDA -ACOCK -ACLY -ACKAH -ACHIN -ACEVEDA -ACERRA -ACERNO -ACEITUNO -ACEE -ACCALA -ACAL -ABUSUFAIT -ABUGN -ABUEL -ABSALON -ABRIOLA -ABREY -ABRELL -ABRAMOVITZ -ABRAMOFF -ABRAMIAN -ABRAHAMIAN -ABOUSALEH -ABOSHIHATA -ABOLAFIA -ABLEMAN -ABKEMEIER -ABINGTON -ABINA -ABIGANTUS -ABIDE -ABETA -ABERCOMBIE -ABDULMUNIEM -ABDULAZIZ -ABDOU -ABDELMUTI -ABDELAZIZ -ABDELAL -ABBINGTON -ABBATIELLO -ABAJIAN -ABAJA -AARSVOLD -AARHUS -AARDEMA -AARANT -AANDERUD -AALUND -AALDERINK \ No newline at end of file diff --git a/tests/old_tests/example_project/src/ExampleLibrary/ExampleLibrary.php b/tests/old_tests/example_project/src/ExampleLibrary/ExampleLibrary.php deleted file mode 100644 index 3207a12..0000000 --- a/tests/old_tests/example_project/src/ExampleLibrary/ExampleLibrary.php +++ /dev/null @@ -1,65 +0,0 @@ -FirstNames = explode("\n", $first_names); - - $last_names = file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'Data' . DIRECTORY_SEPARATOR . 'last_names.txt'); - $this->LastNames = explode("\n", $last_names); - } - - /** - * Returns an array of randomly generated - * - * @param int $amount - * @return array - * @throws \old_tests\example_project\src\ExampleLibrary\Exceptions\InvalidNameException - */ - public function generatePeople(int $amount=10): array - { - $results = []; - - for ($k = 0 ; $k < $amount; $k++) - { - $FullName = implode(' ', [ - $this->FirstNames[array_rand($this->FirstNames)], - $this->LastNames[array_rand($this->LastNames)] - ]); - - $results[] = new Person($FullName); - } - - return $results; - } - } \ No newline at end of file diff --git a/tests/old_tests/example_project/src/ExampleLibrary/Exceptions/FileNotFoundException.php b/tests/old_tests/example_project/src/ExampleLibrary/Exceptions/FileNotFoundException.php deleted file mode 100644 index de28add..0000000 --- a/tests/old_tests/example_project/src/ExampleLibrary/Exceptions/FileNotFoundException.php +++ /dev/null @@ -1,29 +0,0 @@ -message = $message; - $this->code = $code; - $this->previous = $previous; - } - } \ No newline at end of file diff --git a/tests/old_tests/example_project/src/ExampleLibrary/Exceptions/InvalidNameException.php b/tests/old_tests/example_project/src/ExampleLibrary/Exceptions/InvalidNameException.php deleted file mode 100644 index 5bf2cff..0000000 --- a/tests/old_tests/example_project/src/ExampleLibrary/Exceptions/InvalidNameException.php +++ /dev/null @@ -1,26 +0,0 @@ -message = $message; - $this->code = $code; - $this->previous = $previous; - } - } \ No newline at end of file diff --git a/tests/old_tests/example_project/src/ExampleLibrary/Objects/Person.php b/tests/old_tests/example_project/src/ExampleLibrary/Objects/Person.php deleted file mode 100644 index 0896b2f..0000000 --- a/tests/old_tests/example_project/src/ExampleLibrary/Objects/Person.php +++ /dev/null @@ -1,123 +0,0 @@ -FirstName = $exploded_name[0]; - $this->LastName = $exploded_name[1]; - } - - } - - /** - * Sets the first name of the person. - * - * @param string $FirstName - */ - public function setFirstName(string $FirstName): void - { - $this->FirstName = $FirstName; - } - - /** - * Gets the last name of the person. - * - * @return string - */ - public function getLastName(): string - { - return $this->LastName; - } - - /** - * Sets the last name of the person. - * - * @param string $LastName - */ - public function setLastName(string $LastName): void - { - $this->LastName = $LastName; - } - - /** - * Gets the first name of the person. - * - * @return string - */ - public function getFirstName(): string - { - return $this->FirstName; - } - - /** - * Returns a string representation of the person. - * - * @return string - */ - public function __toString() - { - return implode(' ', [$this->FirstName, $this->LastName]); - } - - /** - * Returns an array representation of the person - * - * @return array - */ - public function toArray(): array - { - return [ - 'first_name' => $this->FirstName, - 'last_name' => $this->LastName - ]; - } - - /** - * Constructs object from an array representation - * - * @param array $data - * @return Person - */ - public static function fromArray(array $data): Person - { - $person = new Person(); - - if(isset($data['first_name'])) - $person->FirstName = $data['first_name']; - - if(isset($data['last_name'])) - $person->LastName = $data['last_name']; - - return $person; - } - } \ No newline at end of file diff --git a/tests/old_tests/package_lock/load_package_lock.php b/tests/old_tests/package_lock/load_package_lock.php deleted file mode 100644 index 258c388..0000000 --- a/tests/old_tests/package_lock/load_package_lock.php +++ /dev/null @@ -1,9 +0,0 @@ -load(); - - var_dump($package_lock_manager->getPackageLock()); diff --git a/tests/old_tests/project_configuration/load_configuration.php b/tests/old_tests/project_configuration/load_configuration.php deleted file mode 100644 index 455f2cc..0000000 --- a/tests/old_tests/project_configuration/load_configuration.php +++ /dev/null @@ -1,7 +0,0 @@ -saveToAsciiSafeString(); - - print('Key: ' . $ascii_key . PHP_EOL); \ No newline at end of file diff --git a/tests/old_tests/third_party/php-encryption/encryption_decryption.php b/tests/old_tests/third_party/php-encryption/encryption_decryption.php deleted file mode 100644 index efcb77a..0000000 --- a/tests/old_tests/third_party/php-encryption/encryption_decryption.php +++ /dev/null @@ -1,28 +0,0 @@ -saveToAsciiSafeString(); - - print('Key: ' . $ascii_key . PHP_EOL); - - - print('Encrypting message \'Hello NCC!\' as raw binary' . PHP_EOL); - $encrypted_message = \ncc\Defuse\Crypto\Crypto::encrypt('Hello NCC!', $key, true); - print('Encrypted Message: ' . $encrypted_message . PHP_EOL); - - - print('Decrypting message' . PHP_EOL); - $decrypted_message = \ncc\Defuse\Crypto\Crypto::decrypt($encrypted_message, $key, true); - print('Decrypted Message: ' . $decrypted_message . PHP_EOL); - - if(hash('md5', 'Hello NCC!') == hash('md5', $decrypted_message)) - { - print('Encryption/Decryption test successful' . PHP_EOL); - } - else - { - print('Encryption/Decryption test fail' . PHP_EOL); - } diff --git a/tests/old_tests/third_party/theseer/directory_scanner.php b/tests/old_tests/third_party/theseer/directory_scanner.php deleted file mode 100644 index b13bb74..0000000 --- a/tests/old_tests/third_party/theseer/directory_scanner.php +++ /dev/null @@ -1,13 +0,0 @@ -getPath()); - var_dump($item); - } \ No newline at end of file diff --git a/tests/old_tests/utils/pathfinder.php b/tests/old_tests/utils/pathfinder.php deleted file mode 100644 index bb6dad1..0000000 --- a/tests/old_tests/utils/pathfinder.php +++ /dev/null @@ -1,75 +0,0 @@ -