# Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

{
  'sources': [
    'bytes_builder.dart',
    'common.dart',
    'crypto.dart',
    'data_transformer.dart',
    'directory.dart',
    'directory_impl.dart',
    'eventhandler.dart',
    'file.dart',
    'file_impl.dart',
    'file_system_entity.dart',
    'http.dart',
    'http_date.dart',
    'http_headers.dart',
    'http_impl.dart',
    'http_parser.dart',
    'http_session.dart',
    'io_sink.dart',
    'io_service.dart',
    'link.dart',
    'platform.dart',
    'platform_impl.dart',
    'process.dart',
    'service_object.dart',
    'socket.dart',
    'stdio.dart',
    'string_transformer.dart',
    'timer_impl.dart',
    'secure_socket.dart',
    'secure_server_socket.dart',
    'websocket.dart',
    'websocket_impl.dart',
  ],
}
