#include<bits/stdc++.h> 
using namespace std;
#define endl "\n"
const long long  mo=998244353;
#define ll long long
#define all(v) (v).begin(), (v).end()
#define forn(i, n) for (long long  i = 0; (i) != (n); (i)++)
#define mxn 400005
//#define for((long long  i=0);i<n;i++) for(i,n)
#define vi vector<long long >
#define vl vector<long long>
long long  fact[mxn];
long long  inv[mxn];
const long long  N= 1e5+5;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    #ifndef ONLINE_JUDGE
     freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
   #endif
   int t;
   cin>>t;
   while(t--){
       int n;
       cin>>n;
       vector<int> a(n);
       forn(i,n){
           cin>>a[i];
       }
       int startr=1e6;
       int endr=-10;
       int flag=0;
       vector<bool> ans(n, false);
      for(int i=n-1;i>=0;i--){
          if(a[i]==0){
              if(!flag)
              continue;
              else
              {
                  if(i>=startr){
                      ans[i]=true;
                  }
              }
              }
              else
              {
                  ans[i]=true;
                  if(!flag){
                      flag++;
                  }
                  int u=i-a[i]+1;
                  if(u<=0)
                  u=0;
                  startr=min(startr,u);
              }
      }
      for(auto s: ans){
          if(s==true){
              cout<<"1 "; 
          }
          else
          {
              cout<<"0 ";
          }
          
      }
      cout<<endl;

   }
   
   }