import java.util.*;
import java.util.zip.*;
import java.util.List;
import java.util.regex.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
import java.util.concurrent.locks.*;
import java.util.function.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;
import java.lang.reflect.*;
import java.lang.ref.*;
import java.lang.management.*;
import java.security.*;
import java.security.spec.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import javax.imageio.*;
import java.math.*;
import static x30_pkg.x30_util.DynamicObject;
import javax.swing.undo.UndoManager;
import java.awt.datatransfer.StringSelection;
import javax.imageio.metadata.*;
import javax.imageio.stream.*;
import java.text.SimpleDateFormat;
import java.nio.charset.Charset;
import java.awt.geom.*;
import java.text.NumberFormat;
class main {
static  LiveValue dm_transientCalculatedLiveValue(Class type, IF0 calc) { return dm_transientCalculatedLiveValue(dm_current_mandatory(), type, calc); }
static  LiveValue dm_transientCalculatedLiveValue(DynModule mod, Class type, IF0 calc) {
  Lock __0 = mod.lock; lock(__0); try {
  SimpleLiveValue value = new SimpleLiveValue(type, calc.get());
  mod.onFieldChange(new VF1() { public void get(String field) { try {  value.set(calc.get()) ; } catch (Exception __e) { throw rethrow(__e); } }
  public String toString() { return "value.set(calc!)"; }});
  return value;
} finally { unlock(__0); } }
static LiveValue