<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<div class="author-scope">
  <mat-card style="margin: 5vh auto;width: 200px;">
    <mat-card-header>
      <mat-card-title>Zheng Zhipeng</mat-card-title>
      <mat-card-subtitle>Alec Zheng</mat-card-subtitle>
    </mat-card-header>
    <mat-card-content>
      <div class="header-image alec-image"></div>
    </mat-card-content>
    <mat-card-actions>
      <button mat-button onClick="window.open('https://github.com/alec-z')"><i class="fab fa-github"></i>
        Github
      </button>
    </mat-card-actions>
  </mat-card>
  <mat-card style="margin: 5vh auto;width: 200px;">
    <mat-card-header>
      <mat-card-title>Yang Cong</mat-card-title>
      <mat-card-subtitle>Cong Yang</mat-card-subtitle>
    </mat-card-header>
    <mat-card-content>
      <div class="header-image cong-image"></div>
    </mat-card-content>
    <mat-card-actions>
      <button mat-button onClick="window.open('https://github.com/hityc2019')"><i class="fab fa-github"></i>
        Github
      </button>
    </mat-card-actions>
  </mat-card>
</div>
