Status: SUCCEEDED
Triggered by: -
Duration: 28 minutes
Actions:

Definition (rev 840fc1d7a17d9f663eedc70c67b8fdf31f8eb475)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.dart.ci.sandbox"
  builder: "flutter-frontend"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://dart.googlesource.com/sdk",
  "revision": "98b286de216b7426fdefa0dabeafed48ebedecc2"
}

Incoming tags

  • buildset:commit/git/98b286de216b7426fdefa0dabeafed48ebedecc2
  • buildset:commit/gitiles/dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[13:43:19.230] New invocation is queued and will start shortly
[13:43:21.277] Starting the invocation (attempt 1)
[13:43:21.325] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[13:43:21.325] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[13:43:21.325] Buildbucket request:
{
  "bucket": "luci.dart.ci.sandbox",
  "client_operation_id": "9066134501332694352",
  "parameters_json": "{\"builder_name\":\"flutter-frontend\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"98b286de216b7426fdefa0dabeafed48ebedecc2\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@98b286de216b7426fdefa0dabeafed48ebedecc2\",\"title\":\"98b286de216b7426fdefa0dabeafed48ebedecc2\",\"url\":\"https://dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"98b286de216b7426fdefa0dabeafed48ebedecc2\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:flutter-frontend",
    "scheduler_invocation_id:9066134501332694352",
    "scheduler_job_id:dart/flutter-frontend",
    "user_agent:luci-scheduler",
    "buildset:commit/git/98b286de216b7426fdefa0dabeafed48ebedecc2",
    "buildset:commit/gitiles/dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2",
    "gitiles_ref:refs/heads/master"
  ]
}
[13:43:22.812] Buildbucket response:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary_preference": "PROD",
    "created_by": "project:dart",
    "created_ts": "1570023801786994",
    "id": "8900704437977079184",
    "parameters_json": "{\"builder_name\": \"flutter-frontend\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@98b286de216b7426fdefa0dabeafed48ebedecc2\", \"title\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\", \"url\": \"https://dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\"}}",
    "project": "dart",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1570023802580772",
    "tags": [
      "build_address:luci.dart.ci.sandbox/flutter-frontend/2144",
      "builder:flutter-frontend",
      "buildset:commit/git/98b286de216b7426fdefa0dabeafed48ebedecc2",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9066134501332694352",
      "scheduler_job_id:dart/flutter-frontend",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8900704437977079184/+/annotations",
      "swarming_tag:luci_project:dart",
      "swarming_tag:recipe_name:dart/neo",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1570023802580938",
    "url": "https://ci.chromium.org/b/8900704437977079184",
    "utcnow_ts": "1570023802797555"
  }
}
[13:43:22.812] Task URL: https://ci.chromium.org/b/8900704437977079184
[13:43:22.812] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:2:0) after 1m0s
[13:44:22.879] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:2:0)
[13:44:22.879] Timer tick, asking Buildbucket for the build status
[13:44:23.076] Build 8900704437977079184: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[13:44:23.076] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:3:0) after 1m0s
[13:44:42.856] Received PubSub notification, asking Buildbucket for the build status
[13:44:42.996] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:45:23.144] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:3:0)
[13:45:23.144] Timer tick, asking Buildbucket for the build status
[13:45:23.364] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:45:23.365] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:5:0) after 1m0s
[13:46:23.490] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:5:0)
[13:46:23.490] Timer tick, asking Buildbucket for the build status
[13:46:23.985] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:46:23.985] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:6:0) after 1m0s
[13:47:24.160] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:6:0)
[13:47:24.160] Timer tick, asking Buildbucket for the build status
[13:47:24.726] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:47:24.726] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:7:0) after 1m0s
[13:48:24.774] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:7:0)
[13:48:24.774] Timer tick, asking Buildbucket for the build status
[13:48:24.930] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:48:24.930] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:8:0) after 1m0s
[13:49:24.982] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:8:0)
[13:49:24.982] Timer tick, asking Buildbucket for the build status
[13:49:25.912] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:49:25.912] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:9:0) after 1m0s
[13:50:26.010] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:9:0)
[13:50:26.010] Timer tick, asking Buildbucket for the build status
[13:50:26.838] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:50:26.838] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:10:0) after 1m0s
[13:51:26.898] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:10:0)
[13:51:26.898] Timer tick, asking Buildbucket for the build status
[13:51:27.291] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:51:27.291] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:11:0) after 1m0s
[13:52:27.313] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:11:0)
[13:52:27.313] Timer tick, asking Buildbucket for the build status
[13:52:27.445] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:52:27.445] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:12:0) after 1m0s
[13:53:27.504] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:12:0)
[13:53:27.504] Timer tick, asking Buildbucket for the build status
[13:53:27.622] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:53:27.622] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:13:0) after 1m0s
[13:54:27.741] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:13:0)
[13:54:27.741] Timer tick, asking Buildbucket for the build status
[13:54:27.968] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:54:27.968] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:14:0) after 1m0s
[13:55:28.054] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:14:0)
[13:55:28.054] Timer tick, asking Buildbucket for the build status
[13:55:28.193] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:55:28.193] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:15:0) after 1m0s
[13:56:28.237] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:15:0)
[13:56:28.237] Timer tick, asking Buildbucket for the build status
[13:56:28.379] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:56:28.380] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:16:0) after 1m0s
[13:57:28.434] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:16:0)
[13:57:28.434] Timer tick, asking Buildbucket for the build status
[13:57:28.893] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:57:28.893] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:17:0) after 1m0s
[13:58:28.934] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:17:0)
[13:58:28.934] Timer tick, asking Buildbucket for the build status
[13:58:30.739] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:58:30.739] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:18:0) after 1m0s
[13:59:30.747] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:18:0)
[13:59:30.747] Timer tick, asking Buildbucket for the build status
[13:59:30.846] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[13:59:30.846] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:19:0) after 1m0s
[14:00:30.882] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:19:0)
[14:00:30.882] Timer tick, asking Buildbucket for the build status
[14:00:31.036] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:00:31.036] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:20:0) after 1m0s
[14:01:31.171] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:20:0)
[14:01:31.171] Timer tick, asking Buildbucket for the build status
[14:01:31.509] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:01:31.509] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:21:0) after 1m0s
[14:02:32.059] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:21:0)
[14:02:32.059] Timer tick, asking Buildbucket for the build status
[14:02:32.325] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:02:32.325] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:22:0) after 1m0s
[14:03:32.539] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:22:0)
[14:03:32.539] Timer tick, asking Buildbucket for the build status
[14:03:32.801] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:03:32.801] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:23:0) after 1m0s
[14:04:32.919] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:23:0)
[14:04:32.919] Timer tick, asking Buildbucket for the build status
[14:04:33.807] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:04:33.807] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:24:0) after 1m0s
[14:05:34.086] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:24:0)
[14:05:34.086] Timer tick, asking Buildbucket for the build status
[14:05:34.350] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:05:34.350] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:25:0) after 1m0s
[14:06:34.506] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:25:0)
[14:06:34.506] Timer tick, asking Buildbucket for the build status
[14:06:34.976] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:06:34.976] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:26:0) after 1m0s
[14:07:35.125] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:26:0)
[14:07:35.125] Timer tick, asking Buildbucket for the build status
[14:07:35.232] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:07:35.232] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:27:0) after 1m0s
[14:08:35.372] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:27:0)
[14:08:35.372] Timer tick, asking Buildbucket for the build status
[14:08:36.545] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:08:36.545] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:28:0) after 1m0s
[14:09:36.678] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:28:0)
[14:09:36.678] Timer tick, asking Buildbucket for the build status
[14:09:36.850] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:09:36.850] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:29:0) after 1m0s
[14:10:36.963] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:29:0)
[14:10:36.963] Timer tick, asking Buildbucket for the build status
[14:10:37.274] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:10:37.274] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:30:0) after 1m0s
[14:11:37.353] Handling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:30:0)
[14:11:37.353] Timer tick, asking Buildbucket for the build status
[14:11:37.653] Build 8900704437977079184: status "STARTED", result "", failure_reason "", cancelation_reason ""
[14:11:37.653] Scheduling timer "check-buildbucket-build-status" (dart/flutter-frontend:9066134501332694352:31:0) after 1m0s
[14:12:07.388] Received PubSub notification, asking Buildbucket for the build status
[14:12:07.503] Build 8900704437977079184: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[14:12:07.503] Buildbucket build:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary_preference": "PROD",
    "completed_ts": "1570025526752197",
    "created_by": "project:dart",
    "created_ts": "1570023801786994",
    "id": "8900704437977079184",
    "parameters_json": "{\"builder_name\": \"flutter-frontend\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@98b286de216b7426fdefa0dabeafed48ebedecc2\", \"title\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\", \"url\": \"https://dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\"}}",
    "project": "dart",
    "result": "SUCCESS",
    "result_details_json": "{\"properties\": {\"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@98b286de216b7426fdefa0dabeafed48ebedecc2\", \"title\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\", \"url\": \"https://dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2\"}]}, \"bot_id\": \"luci-dart-try-xenial-39-obd8\", \"branch\": \"refs/heads/master\", \"buildername\": \"flutter-frontend\", \"buildnumber\": 2144, \"clobber\": \"true\", \"got_revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\", \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"98b286de216b7426fdefa0dabeafed48ebedecc2\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_9391408b922dd62e7eca12d0b2e539e8aae051931e76b277257714a0a08bd4d1_v2\", \"builder_b86275ddf762361824bfc56cad1157933a73a38c01cde840f74c93e8651eb66a_v2\", \"git\", \"goma_v2\", \"swarming_module_cache_vpython\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gpu\": [\"none\"], \"host_class\": [\"default\"], \"id\": [\"luci-dart-try-xenial-39-obd8\"], \"image\": [\"chrome-xenial-19090600-ed917d8233f\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"n1-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16.04\"], \"pool\": [\"dart.tests\", \"luci.dart.try\"], \"python\": [\"2.7.12\"], \"python3\": [\"3.5.2\"], \"server_version\": [\"4466-755d6a2\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "started_ts": "1570023881095406",
    "status": "COMPLETED",
    "status_changed_ts": "1570025527059877",
    "tags": [
      "build_address:luci.dart.ci.sandbox/flutter-frontend/2144",
      "builder:flutter-frontend",
      "buildset:commit/git/98b286de216b7426fdefa0dabeafed48ebedecc2",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/98b286de216b7426fdefa0dabeafed48ebedecc2",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9066134501332694352",
      "scheduler_job_id:dart/flutter-frontend",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8900704437977079184/+/annotations",
      "swarming_tag:luci_project:dart",
      "swarming_tag:os:Linux",
      "swarming_tag:recipe_name:dart/neo",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:47a588726da20910",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1570025527070103",
    "url": "https://ci.chromium.org/b/8900704437977079184",
    "utcnow_ts": "1570025527492545"
  }
}
[14:12:07.503] Invocation finished in 28m48.300436801s with status SUCCEEDED