Things you need to know when starting, operating, changing or expanding your business.
BizPaL
An online service that simplifies the business permit and licence process for entrepreneurs, governments and third party business service providers by providing one-stop access to permit and licence information for all levels of government.
Companies Office
Get information about registering your business and corporation.
Companies Office online name reservation
Reserve your company name online.
Guide to Laws and Regulations for Franchised Business
The Franchises Act and Franchises Regulation
Taxation Division
Find out if you need to register for Manitoba taxation.
TAXcess
Convenient and secure online access to your tax accounts.
Workers Compensation Board of Manitoba
Find out if you need to register with the Workers Compensation Board


| Module | Callbacks::ClassMethods |
| In: |
lib/callbacks.rb
|
Creates a generic callback
Raises CallbackError if the method does not exist
Raises CallbackError if callback_methods is not empty AND block is not nil.
Adds the callback_methods or block to the callback chain for method of the type specified. This method calls chain on the passed method if the chained_method is undefined
# File lib/callbacks.rb, line 60 def build_callback(type, method, *callback_methods, &block) raise CallbackError, "No such method" unless method_defined? method.to_sym raise CallbackError, "Cannot specify block and method callbacks together" unless callback_methods.empty? or block.nil? self.callbacks[method] ||= Hash.new([]) # Setting a default automatically means ||= short-circuits and all callbacks # end up added to the default array instead. Makes for an interesting bug. self.callbacks[method][type] = [] if self.callbacks[method][type].empty? (callback_methods << block).compact.each do |m| callbacks[method][type] << m end chain method.to_sym unless method_defined? "chained_#{method}""chained_#{method}" end
The included class‘s callbacks
# File lib/callbacks.rb, line 124 def callbacks deep_clone = lambda do |hash| hash.inject({}) do |h, (key, value)| h[key] = case value when Hash: deep_clone.call(value) when Array: value.clone end h end end @@callbacks ||= {} # inner callback Array is the same, Hash needs a deep clone @@callbacks[self] ||= (@@callbacks[parent] ? deep_clone.call(@@callbacks[parent]) : {}) @@callbacks[self] end
Builds a chained method so the callbacks will fire. This method must be called after a method chained in a parent class is redefined in a subclass the callbacks should fire on the redefined method
# File lib/callbacks.rb, line 81 def chain(method) before_types, after_types = [%w(before outgoing), %w(after incoming)] # alias :chained_some_method :some_method # # def some_method(*args) # before = %w(before outgoing).map do |b| # callback "some_method", b, *args # end.flatten # # unless before.include? nil or before.include? false # returning(args.empty? ? chained_some_method : chained_some_method(*args)) do |ret| # if ret # %w(after incoming).map do |a| # callback "some_method", a, *args # end # end # end # end # end # class_eval "alias :\"chained_\#{method}\" :\"\#{method}\"\n\ndef \#{method}(*args)\nbefore = callback \"\#{method}\".to_sym, :before, *args\n\nunless before.include? nil or before.include? false\nreturning(args.empty? ? chained_\#{method} : chained_\#{method}(*args)) do |ret|\ncallback \"\#{method}\".to_sym, :after, *args if ret\nend\nend\nend\n" end


KeyPathBinding
public class KeyPathBinding<FromType, FromValueType, ToType, ToValueType> where FromType: AnyObject, ToType: AnyObject
Creates a keyPath binding from a source object’s property to a destination object’s property.
-
Describes a closure which maps a source property type to the expected destination property type, allowing bindings between properties of different types.
Declaration
Swift
public typealias KeyPathBindingMapper = (_ source: FromType, _ destination: ToType, _ oldValue: FromValueType?, _ newValue: FromValueType) -> ToValueType
-
Creates a keyPath binding object, causing changes in the source object’s property to be assigned to the destination object’s property over the lifetime of both objects.
Throws
KeyPathBindingError
if the binding cannot be established.Declaration
Swift
public init(from source: FromType, keyPath sourceKeyPath: KeyPath<FromType, FromValueType>, to destination: ToType, keyPath destinationKeyPath: WritableKeyPath<ToType, ToValueType>, notificationCenter: KeyPathBindingNotificationCenter = NotificationCenter.keyPathBinding, dispatchQueue: DispatchQueue? = nil, map mapper: KeyPathBindingMapper? = nil) throws
Parameters
source
The source object.
sourceKeyPath
The keyPath to the source object’s property.
destination
The destination object.
destinationKeyPath
The keyPath to the destination object’s property.
notificationCenter
The
NotificationCenter
to use. Defaults toNotificationCenter.keyPathBinding
.dispatchQueue
The
DispatchQueue
to use when assigning the destination property. Defaults tonil
.mapper
The map closure to use if the bound properties are of different types.


BulkRef
Make a batch request to CrossRef to get multiple DOIs
Titles to search for:
{{processing ? "Processing" : "Start"}}
{{result.searchTerm}}
Loading...
{{result.citation}}
Approve
{{result.errorText}}
Approved DOIs:


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object atg.deployment.server.Deployment
A stateful representation of a Deployment. This class contains the deployment process and is used to monitor and control that process.
Deployment objects are created by scheduling or queueuing a new deployment through a Target instance and are only ever associated with a single target. All deployments initially go into the specific target's schedule or queue and therefore cannot be started directly. The target's queue will eventually start the deployment.
The progression of a deployment can be monitored by calling getStatus(). Alternatively, a DeploymentEventListener could be written and registered with the DeploymentServer. Such a listener will begin receiving events for a deployment once begin() is called on the deployment by the target queue.
A scheduled or queued deployment can have its deploy time changed with a simple call to setDeployTime(). Alternatively, any scheduled or queued deployment can be moved to the head of the deployment queue by calling runNext(). This is the extent of queue and schedule manipulation allowed.
Once a deployment has started successfully, the entire process will run in a separate thread. If the deployment fails or the caller needs to interrupt the deployment, stop() can be called to stop and/or reset the deployment. Likewise, any stopped deployment or any deployment that is waiting in the queue or schedule can be deleted by calling delete().
If a deployment fails, rather than stopping the deployment, either resume() or rollback() can be called to resume the deployment or roll back the target to the data set that was active before the deployment began. For example, if an agent dies but is immediately rebooted during a deployment, the process is interrupted with a network error, most likely a returned Status.ERROR_TRANSPORT. In such a situation, the calling code could wait until the Target becomes fully accessible again and then call resume() on the deployment, as in the following example:
// Monitors the deployment till it is finished or errored on a // non-network error. In the case of a network error, the // deployment will be resumed as soon as the target is accessible. public void monitorDeployment (Target pTarget) throws DeploymentException { // Get the current deployment and monitor it till either it // completes or encounters an error. Deployment deployment = pTarget.getCurrentDeployment(); Status status = deployment.getStatus(); while (status.isStateError() == false && status.getState() != Status.DEPLOYMENT_COMPLETE) { // Sleep for a while using your favorite method // for making a thread take a nap. // Reaquire the deployment status to check it // once again for completion or error. status = deployment.getStatus(); } // The monitoring loop has been broken. Check to see if the // monitoring loop was broken by an error. if (status.isStateError()) { // Deployments do not exactly reflect that a network error // occurred but rather tell you in what phase of the // deployment an error occurred. So although there is a // window where a network error could disappear, we'll look // to the target to find out if one caused our error. status = pTarget.getStatus(); if (status.getState() == Status.ERROR_TRANSPORT || status.getState() == Status.ERROR_TRANSPORT_UNINSTANTIATED) { // Yup, network error occurred (or something). Wait until // the target is accessible again and then try and resume // the deployment. while (pTarget.isAccessible() == false) { // Sleep for a while using your favorite method // for making a thread take a nap. } // Now that the target is reporting as accessible, try to // resume the deployment and continue to monitor it. deployment.resume(); // Hey look, uncontrolled recursion! (That's bad.) monitorDeployment(pTarget); } } }For special situations, if the target's deployment queue is halted Deployment.begin() can be called directly on a scheduled or queued deployment to run immediately. If there is alread a deployment occupying the role of current deployment, that deployment must be delt with before any other deployment can run, specifically it must either be allowed to finish or stopped and deleted. E.g.:
// Halt the target's deployment queue. Target t = deploymentServer.getTarget("mySpecialTarget"); t.haltQueue(); // NOTE: If there is a running deployment we would have to decide // how we want to deal with it here. (I.e. delete it or let it // it complete.) if (t.isDeployable()) { String[] ids = { "projID-0001" }; Deployment d = t.deployProjects(ids, false, // do not force a full deploy null, // no schedule "my-login-name"); d.begin(); }
DeploymentServer
,
Target
,
DeploymentEventListener
| Nested Class Summary | |
class |
Deployment.ProjectMergeComparator
Annoying to sort Projects for merge, so here is a Comparator. |
| Field Summary | |
static java.lang.String |
CLASS_VERSION
Class version string |
| Method Summary | |
void |
activateDeployment(boolean pRefreshAffectedRepositoryCaches)
Tells each agent to activate the deployment. |
void |
agentException(int pNewCode,
Status pStatus,
AgentRef pAgent)
Create an exception and update the deployment status based off the passed in agent information. |
void |
begin()
Begins the deployment process. |
void |
delete(java.lang.String pDeleteInitiator)
Deletes the this deployment from the target's list of pending deployments. |
static java.util.Enumeration |
find(VirtualFile file,
DevelopmentLine pLine)
Returns an Enumeration of all VirtualFiles at or below some file, in depth-first order. |
static java.util.Enumeration |
find(VirtualFile file,
VirtualFilenameFilter filter,
DevelopmentLine pLine)
Returns an Enumeration of all VirtualFiles at or below some file, in depth-first order, which are accepted by the given filter. |
AgentRef[] |
getAccessibleAgents()
The list of deployment agents that were last known to be accessible. |
long |
getBeginTimestamp()
System milliseconds when the deployment began (or began again). |
java.lang.String |
getCreateInitiator()
A generic identifier denoting who or what created/started this deployment. |
java.lang.String |
getDeploymentID()
A generated identifier to distinguish this deployment from others. |
Snapshot |
getDeploymentSnapshot()
Return the deployment snapshot. |
java.util.Calendar |
getDeployTime()
The scheduled time this deployment should begin. |
AgentRef[] |
getInaccessibleAgents()
The deployment agents in this target that are currently inaccessible. |
int |
getMode()
The mode to be used when deploying this manifest, either MODE_ONLINE or MODE_SWITCH . |
java.lang.String[] |
getProjectIDs()
The list of project IDs being deployed to the target. |
Status |
getStatus()
The current status of the deployment. |
Status |
getStatusForUpdate()
Returns the Deployment's reference to Status so that it can be updated outside of this class. |
java.lang.String |
getStopInitiator()
A generic identifier for who or what stopped the deployment. |
Target |
getTarget()
The target receiving the deployment. |
Snapshot |
getTargetSnapshot()
Return the target snapshot. |
java.lang.String |
getTargetSnapshotID()
Return the target snapshot ID. |
java.lang.String |
getTransferId()
Returns the ID of the data transfer as used by the DataTransferAdapter. |
int |
getType()
The deployment type represented by this manifest, either TYPE_FULL or TYPE_INCREMENTAL . |
boolean |
isForceFull()
Whether or not this deployment will force a full deployment, rather than let the deployment go incrementally if possible. |
boolean |
isRemovable()
Returns true if Target.removeDeployment() can be called for this deployment. |
boolean |
isResumable()
Returns true if resume() can be called on this deployment. |
boolean |
isResume()
Returns true if this is a resumed deployment. |
boolean |
isRevertDeployment()
Whether or not this is a deployment reverting a project off of a target. |
boolean |
isRollbackable()
Returns true if rollback() can be called on this deployment. |
boolean |
isStop()
Returns the deployment stop flag. |
boolean |
isStoppable()
Returns true if stop() can be called on this deployment. |
java.lang.Boolean |
isStrictFileOps()
|
java.lang.Boolean |
isStrictRepoOps()
|
void |
remove()
Called when current deployment is being removed from the target. |
void |
resume()
Attempts to resume/retry/restart the deployment, picking up where the deployment left off, for the most part. |
void |
rollback(java.lang.String pRollbackInitiator)
Attempts to start a rollback deployment for this failed deployment. |
void |
run()
Implementation of run() from the Runnable interface. |
void |
runNext()
Moves this deployment to the head of the deployment queue. |
void |
setAgentStatus(java.util.Map pToStatus)
Set the DeploymentAgent Status remotely from the Publishing server to the specified Status |
void |
setDeployTime(java.util.Calendar pDeployTime)
The scheduled time this deployment should begin. |
void |
setStrictFileOps(java.lang.Boolean pStrictFileOps)
|
void |
setStrictRepoOps(java.lang.Boolean pStrictRepoOps)
|
boolean |
skipNonEssentialAgent(AgentRef pAgent,
Status pAgentStatus)
Checks to see if this agent can be skipped or not. |
void |
stop(java.lang.String pStopInitiator)
Stops the running deployment. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static java.lang.String CLASS_VERSION
| Method Detail |
public int getType()
TYPE_FULL
or TYPE_INCREMENTAL
.
public int getMode()
MODE_ONLINE
or MODE_SWITCH
.
public java.lang.String getDeploymentID()
public Target getTarget()
public java.lang.String[] getProjectIDs()
public boolean isForceFull()
public void setDeployTime(java.util.Calendar pDeployTime) throws DeploymentException
pDeployTime
- new value to set
DeploymentException
public java.util.Calendar getDeployTime()
public boolean isRevertDeployment()
public Status getStatus()
public Status getStatusForUpdate()
public long getBeginTimestamp()
public java.lang.String getCreateInitiator()
public java.lang.String getStopInitiator()
public AgentRef[] getAccessibleAgents()
public AgentRef[] getInaccessibleAgents()
public java.lang.String getTargetSnapshotID()
public Snapshot getTargetSnapshot()
public Snapshot getDeploymentSnapshot()
public java.lang.Boolean isStrictFileOps()
public void setStrictFileOps(java.lang.Boolean pStrictFileOps)
public java.lang.Boolean isStrictRepoOps()
public void setStrictRepoOps(java.lang.Boolean pStrictRepoOps)
public boolean isResume()
public boolean isStop()
public boolean isStoppable()
This method is mainly for UIs that may or may not want to display buttons based on allowable functions due to the state of the deployment.
public boolean isResumable()
public boolean isRollbackable()
This method is mainly for UIs that may or may not want to display buttons based on allowable functions due to the state of the deployment.
public boolean isRemovable()
public void begin() throws DeploymentException
begin() does some basic checks such as parameter validation, making sure no other servers are deploying to the target and then backgrounds the deployment process to another thread. begin() returns as soon as this is done. If the target cannot be locked or deployment parameters are invalid, a DeploymentException is thrown.
After begin() returns successfully, callers can only know the status of the deployment by calling Deployment.getStatus() or by registering a DeploymentEventListener with the server and listening for events for this specific deployment.
NOTE: only the target's deployment queue can call begin() on a deployment, unless the queue is halted for a special situation. Deployment thread priority can be modifed by setting the server property 'deploymentThreadPriorityDelta'.
DeploymentException
- if there is a problem starting the deploymentpublic void runNext() throws DeploymentException
DeploymentException
- if the deployment cannot be moved in the queuepublic void stop(java.lang.String pStopInitiator) throws DeploymentException
The stop might not be immediate, as a flag must be sent to the deploying thread which will be checked on the next operation, i.e. this is not like performing an OS interrupt.
pStopInitiator
- an identifier for who or what is stopping the deployment
DeploymentException
- if the deployment cannot be stopped or an error is encountered stopping the deploymentpublic void resume() throws DeploymentException
DeploymentException
- if the deployment cannot be
resumed or an error is encountered restarting the deploymentpublic void rollback(java.lang.String pRollbackInitiator) throws DeploymentException
For incremental deployments that have committed deployment data, a rollback manifest is created and applied; the rollback manifest contains the operations needed to revert the target back to the pre-deployment data set.
Full deployments are too catastrophic for rollback, since all items in all data stores get deleted before data application begins. Rolling back a full deployment would essentially be doing a full deployment anyway.
pRollbackInitiator
- an identifier for who or what is rolling back the deployment
DeploymentException
- if the deployment cannot be rolled
back or an error is encountered starting the rollback deploymentpublic void delete(java.lang.String pDeleteInitiator) throws DeploymentException
pDeleteInitiator
- an identifier for who or what is deleting the deployment
DeploymentException
- if the deployment cannot be deletedpublic void remove() throws atg.deployment.common.DeploymentException
DeploymentException
- if the deployment cannot be removedpublic void run()
run
in interface java.lang.Runnable
Runnable
public static java.util.Enumeration find(VirtualFile file, VirtualFilenameFilter filter, DevelopmentLine pLine)
public static java.util.Enumeration find(VirtualFile file, DevelopmentLine pLine)
public boolean skipNonEssentialAgent(AgentRef pAgent, Status pAgentStatus)
public void agentException(int pNewCode, Status pStatus, AgentRef pAgent) throws DeploymentException
DeploymentException
public void setAgentStatus(java.util.Map pToStatus) throws DeploymentException
DeploymentException
public void activateDeployment(boolean pRefreshAffectedRepositoryCaches) throws DeploymentException
pRefreshAffectedRepositoryCaches
- If this is set to true, then
deployment will notify the DeploymentAgent to refresh the caches of all
affected repositories on the agent server. Otherwise, the agent server
repository caches will use the default cache invalidation algorithm.
DeploymentException
public java.lang.String getTransferId()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


The following review is property of MOVIE CRITICISM FOR THE RETARDED and cannot be quoted or referenced without proper credit. For more information, go to the homepage at http://www.homestead.com/mc4tr
THE BLAIR WITCH PROJECT by Noel Wood
First off, a personal note. This is the first film I've reviewed in retarded mode in a year and a half, since the video store where the concept was born shut its doors. So if this sucks, bear with me, I'm just trying to be like Stella and get my groove back.
The Blair Witch Project. Great fuckin' movie. You heard it here. I don't care how much buzz and hype is going around, ther is no room for dissenting opinion in this matter. Blair Witch is amazing. If anyone tells you otherwise, they're wrong. There's no debating it.
Why, you ask? Because this is the scariest movie I've seen since Kubrick's THE SHINING. Because the filmmaking style is so bold. Because you are literally part of the action.
If you read my essay ARTHOUSE MOVIES IN FRATHOUSE THEATERS, you know about the conditions that I saw the film in.  These people failed to grasp the whole intent of the film. I think I heard someone say "You didn't even get to see the witch!" as if that were a disappointing issue.  THAT WAS THE POINT!"
Here's some perspective for you. Blair witch was made for about $25,000. That's roughly one one-thousandth of what a typical Hollywood movie costs to make as a bare minimum. I KNOW WHAT YOU DID LAST SUMMER and THE HAUNTING probably cost way more, and neither one of them could hope to achieve what this film did so well. So with $25,000, it's not like we're going to see any amazing special effects. No computer generated images, no elaborate costumes or make-up jobs, no explosions, no elaborate sets.  We don't HAVE to see the witch. We don't HAVE to have everything spoon-fed to us. It's a super-fucking-frightening experience because you are there, in those woods, seeing and hearing what the actors do.
Remember the old adage that man's greatest fear is the fear of the unknown? Well finally that idea is captured on film. After decades of being shoveled crappy horror movies where we are supposed to be frightened by actually seeing the antagonist, some people haven't grasped that that's not what's scary.   Being lost in the woods is a scary thing. Being in the woods at night is even scarier, especially when there's not a town for miles to provide any light. EVERY noise seems like an explosion.  You don't know if it's bears or crazy rednecks or child-murdering witches, and you don't care.
You know what really scared the shite out of me? The scenes where they turned the camera off and you only had the audio from the DAT. For the first time in as long as I can remember, I felt uneasy in a movie theater. I was actually releived when I realized that day had broken again. Yeah, I knew that the characters would all be dead by the end, but none of that mattered. I was there. I was in that tent. I was walking along with Heather and Mike and Josh. That's how powerful the use of POV in the film was. I wasn't just concerned for the lives of the characters, I was concerned for my own life.
And another beautiful thing about this film is that you can tell someone everything about it and not spoil it for them. It isn't even important that they all die.  You can tell basically all the little details to everyone and not ruin the movie for them. It's the execution of the film that matters. It's all the little quirks involving the characters and their reactions to the environment. It's the way the two mediums of Hi-8 video and 16mm black and white are alternated to give you two different views of what's going on...the reality of the video camera transposed with the control aspect of the 16mm. There's SO much going for this film and the way it jars you emotionally that I could talk for hours.
And you know what's interesting? As great as this movie is in the theater, it's going to be even better on video, because the jerky-cam won't be quite as dramatic, and you won't have the comfort of 500 strangers nearby to lessen your fear.
Some people didn't find it scary. Too bad. I pity them, because they are failing to grasp what true fear is all about. So for you people, have fun watching the latest slasher films with a singly named psycopath that keeps on magically rising from the dead. Keep on admiring Jennifer Love Hewitt and her predictable getways from the forces of evil.  That stuff's fun, but it's not scary. The only thing scary about it is that people will continue to pack theaters to see it.
As for me, I'm gonna wrap up and check out blairwitch.com to involve myself in the backstory a bit more and suspend my disbelief a whole lot. And then I might just see THE BLAIR WITCH PROJECT again.
 -Danforth Quayle
HEY! Check out MOVIE CRITICISM FOR THE RETARDED: http://www.homestead.com/mc4tr
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


G400S
The G400S System on Module (SoM) is the surface mount version of the G400D. Originally designed for .NET Micro Framework, it now runs several other platforms including TinyCLR.
Pricing, purchasing and other information can be found on the G400S Page on our main website.
Getting Started
Options for programming the G400S include the following:
Microsoft's .NET Micro Framework (NETMF)
We discourage the use of NETMF software on our products in favor of TinyCLR OS. For more information on NETMF you can go to the NETMF Introduction page. The NETMF Getting Started page covers NETMF from setup of the host computer to program deployment on both an emulator and target device.
TinyCLR OS
TinyCLR is our own operating system and provides a means of programming embedded devices using .NET and Visual Studio. Visual Studio is widely regarded as one of the best (if not the best) integrated development environments available. The free Community version of Visual Studio can be downloaded here: Visual Studio Downloads. For information on setting up TinyCLR to work in Visual Studio please click here: TinyCLR Introduction
Loading Bootloader Version 2
Download the G400 bootloader file.
Go to the SAMBA section of the Bootloaders Introduction page for instructions on loading the bootloader.
Loading the Firmware
Tip
First make sure you have bootloader v2 loaded. This needs to be done only once.
To activate bootloader v2, hold the LDR0 (pin 101) signal low while resetting the board.
Download the G400 firmware and follow Loading the Firmware steps.
Specifications
| Spec | Value |
|---|---|
| Processor | Atmel AT91SAM9X35 ARM 926 |
| Speed | 400 MHz |
| Internal RAM | 32 KByte (SRAM) |
| Internal Flash | 0 KByte |
| External RAM | 128 MByte (DDR2 SDRAM) |
| External Flash | 4 MByte (SPI) |
| Dimensions | 48.3 x 33.1 x 4.6 mm |
Peripherals
Note: Many peripherals share I/O pins. Not all peripherals will be available to your application.
| Peripheral | Quantity |
|---|---|
| UART | 6 (including HS) |
| UART HS | 1 |
| I2C | 1 |
| SPI | 2 |
| CAN | 2 |
| SDIO | 1 |
| 10 Bit ADC | 12 |
| PWM | 4 |
| GPIO | 89 |
| IRQ | 89 |
| USB Client | 1 |
| USB Host | 2 |
| LCD | Supported (16bpp) |
| Ethernet PHY | Supported |
| Wi-Fi | Not supported |
| DCMI | Not supported |
| VBAT | Supported |
| JTAG | Full JTAG |
G400S Based Product
The G400S is used in the FEZ Raptor
TinyCLR lets you program our devices (and others) in C# or Visual Basic using Microsoft's Visual Studio -- and it's all free! Learn more....
You can also visit our main website at www.ghielectronics.com and our community forums at forums.ghielectronics.com.


| Home | Trees | Indices | Help |
|---|
|
|
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
debug = False
|
|||
__package__ =
|
|
Parse a keyword for a description list when the keyword may represent information about an argument to a function or a variable in a program: - argument x: x coordinate (float). - keyword argument tolerance: error tolerance (float). - return: corresponding y coordinate (float). |
Translate tables with pipes and dashes to a list of row-column values. Horizontal rules become a row ['horizontal rule'] in the list. The list is easily translated to various output formats by other modules. |
Go through filestr and parse all lists and typeset them correctly. This function must be called after all (verbatim) code and tex blocks have been removed from the file. This function also treats comment lines and blank lines. |
Process idx{...} and cite{...} instructions. |
Perform the transformation of a doconce file, stored in in_filename, to a given format (html, latex, etc.), written to out_filename. This is the "main" function in the module. |
Run mako or the preprocess script on filename and return the name of the resulting file. The preprocessor_options list contains the preprocessor options given on the command line. In addition, the preprocessor option FORMAT (=format) is always defined. |
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Sat Jun 23 13:38:11 2012 | http://epydoc.sourceforge.net |


By Nima Bigdely Shamlo (email: bigdelys-vfv AT yahoo DOT com)
Computational
Matlab VFV toolbox is developed to help spot intricate details of a vector field. It uses Fast LIC method to produce texture and employs histogram determination methods to increase the contrast of output images. Matlab VFV toolbox provides a complete set of commands to generate LIC images and animations. The tools are arranged in a graphical user interface (GUI) for exploring vector fields with zooming capabilities.
Matlab version 6+.
Matlab Image Processing toolbox.
Copy all toolbox files into one folder, then make it Matlab current folder.
This distribution contains a compiled DLL for windows, for use in other operating systems please type:
> installvfv
This will compile external functions written in C.
Type:
> testvfv
This brings up toolbox GUI to explore a test data set.
· EXPLOREVFIELD: Provides a GUI for exploring vector fields.
· PREVIEWVFIELD: Make an easy preview of the vector field.
· PLOTVFIELD: Visualizes a vector field.
· ANIMVFIELD: Generates an LIC animation.
VFV toolbox also includes several functions used only internally. Each of these functions includes a detailed description in its .M file.
·
EXPLOREVFIELD
Provides a GUI for exploring vector fields. It offers Zoom-in, Zoom-out and Animation capabilities.
[RECT, LICMOVIE] = EXPLOREVFIELD (VX, VY) brings up the GUI for the vector field by VX and VY.
VX and VY should contain X and Y components of the vector field. They should be M x N floating point arrays with equal sizes.
RECT returns the last region selected in a 4-element vector with the form [XMIN YMIN WIDTH HEIGHT].
LICMOVIE returns the last Matlab movie generated by 'Make Animation' command.
Provides an easy preview of the vector field using LIC
method. It automatically resizes the vector field to a convenient size.
[PREVIEW,ZOOMFACTOR] = PREVIEWVFIELD (VX, VY, COLORMAP, MAXDIMENSION);
PREVIEW returns the generated colored LIC image.
ZOOMFACTOR returns the zoom factor being used.
VX and VY should contain X and Y components of the vector field. They should be M x N floating point arrays with equal sizes.
COLORMAP is a standard matlab colormap array (an M-by-3 matrix) used by this function to convert scalar values to colors.
MAXDIMENSION is the largest preview image dimension. Field is resized in
a manner that the largest dimension of the output image will be MAXDIMENSION.
Example:
previewvfield(vx,vy);
Uses LIC method to visualize a vector field.
FINALLIC = PLOTVFIELD(VX, VY, ZOOMFACTOR, ITERATIONS, COLORMAP, RECT, METHOD) makes a colored LIC image and returns it in FINALLIC.
VX and VY should contain X and Y components of the vector field. They
should be M x N floating point arrays with equal sizes.
ZOOMFACTOR should be a floating point number for magnification of an area indicated in RECT parameter. If this parameter is not specified, default value of 1.0 will be used.
ITERATIONS is an integer number for the number of iterations used in Iterative LIC method. Use number 2 or 3 to get a more coherent output image.
COLORMAP is a standard matlab colormap array (an M-by-3 matrix) used by this function to convert scalar values to colors.
RECT is a 4-element vector with the form [XMIN YMIN WIDTH HEIGHT]; these
values are specified in spatial coordinates of vector field (VX and VY arrays). Input field will first
cropped to this region then zoomed using ZOOMFACTOR. If this parameter is
not specified, the entire area of the field will be zoomed.
METHOD specifies which implementation of LIC should be used. Default method is using externally implemented Fast LIC method.
Use 'ef' for externally implemented Fast LIC method.
Use 'f' for internally implemented Fast LIC method.
Use 'r' for internally implemented Regular LIC method.
Example:
LICimage = plot(vx,vy);
(vx, vy are M x N matrices)
This makes a LIC image stores it in LICimage variable.
Uses Animated LIC method to generate an animation showing the direction of a steady-flow (time-invariant) vector field by apparent motion.
LICMOVIE = ANIMVFIELD(VX, VY, ZOOMFACTOR, FRAMES, COLORMAP, RECT) makes a Matlab movie and returns it in LICMOVIE.
VX and VY should contain X and Y components of the vector field. They should be M x N floating point arrays with equal sizes.
ZOOMFACTOR should be a floating point number for magnification of an area indicated in RECT parameter. If this parameter is not specified, default value of 1.0 will be used.
FRAMES should contain an integer for the number of animation frames. If this parameter is not specified, default value of 10 will be used.
COLORMAP is a standard matlab colormap array (an M-by-3 matrix) used by this function to convert scalar values to colors.
RECT is a 4-element vector with the form [XMIN YMIN WIDTH HEIGHT]; these values are specified in spatial coordinates of vector field (VX and VY arrays). Input field will first get cropped to this region then zoomed using ZOOMFACTOR. If this parameter is not specified, the entire area of the field will be zoomed.


In Unit 3 we are challenged to place designs on different types of products using different printing methods: garment, sublimation and uv printing.
When first creating a design to place on a garment you need to set the dimensions for the product and using a vector program such as CorelDraw to create a design for the garmet. Once completing the design I used the GTX printer program to place my design on a virtual t-shirt. When my design was lined up perfectly on shirt I created a file that the GTX printer could read. I got a blank white shirt and first ironed the front so the printer would have a flat surface to work on. Then I placed my shirt on the printer and put in the USB which contained my design. I printed my design after selecting it from the USB and then the shirt went inside the printer and the ink was sprayed onto the shirt. After the design was finished being printed on I transported the shirt back to the iron in order to dry the ink. Overall I think the process was fairly easy to do and was pretty fast and I hope to make many more garmets in my future.
The final product of the t-shirt I designed
For sublimation printing I created a mug. I first found the dimensions for the mug using my class' database and put these dimensions into the vector program CorelDraw. I based my design off the idea of inspiration and my heritage. The front of my design has the E.E. Cummins quote and the back is an intrigrate design of Africa. After finalizing my design I had to mirror the image because the design is going to be placed on the mug like a tattoo. I transfered my mirror design to the computer that was connected to the printer which had paper used especially for sublimation. Once I printed out the design I cut it out of the paper and stuck the design paper onto the mug using special tape that could withstand high heats. Then I used the sublimation machine for the mugs to heat the design on the paper and transfer it to the mug after being heated at an around 400 degree Farenheit for about 5 minutes. Once complete you have to quickly take off the template while the mug is still really hot and then place the mug into a bucket of water for about a minute so it can cool off. My finished mug I believed turned out really well and all the graphics looked really nice in my opinion.
The front of the mug which has an inspirational quote by E.E. Cummins / The back of the mug facing the person using the mug has a cool design of Africa which I found on Google
With UV Printing I created a design for a popsocket which had the dimensions 1.5" x 1.5". I placed these dimensions into CorelDraw and thought of ideas for an interesting image. My inspiration was to make a gift for my Korean friend who has the same birthday as me and have something that showed my love for her as well as something seen in her culture. I have learned that this hand gesture is used to say you love someone with one hand which I thought was perfect and it was also simple. After my design was finished I transfered the jpg of the image to the computer connected to the UV printer and using program after a few adjustment sent the design to printed. I first had to make sure I put the popsocket into the printer so the design could be printed on it. Then after I hit print the machine took a while before it actually began to place the design on the popsocket since but one it got started it only took a couple minutes. The process was easy I just think that the program used to control the UV printer was a bit confusing.
Sublimation is not better than UV printing becaue UV printing is a simplier process which takes less time and can be used on almost every kind of material.


PHP 7 ChangeLog
Version 7.0.9
21 Jul 2016
Core:
Fixed bug #72508 (strange references after recursive function call and "switch" statement).
Fixed bug #72513 (Stack-based buffer overflow vulnerability in virtual_file_ex).
Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and applications).
bz2:
Fixed bug #72613 (Inadequate error handling in bzread()).
CLI:
Fixed bug #72484 (SCRIPT_FILENAME shows wrong path if the user specify router.php).
COM:
Fixed bug #72498 (variant_date_from_timestamp null dereference).
Curl:
Fixed bug #72541 (size_t overflow lead to heap corruption).
Exif:
Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE).
Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment).
GD:
Fixed bug #43475 (Thick styled lines have scrambled patterns).
Fixed bug #53640 (XBM images require width to be multiple of 8).
Fixed bug #64641 (imagefilledpolygon doesn't draw horizontal line).
Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read access).
Fixed bug #72519 (imagegif/output out-of-bounds access).
Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()).
Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
Fixed bug #72494 (imagecropauto out-of-bounds access).
Intl:
Fixed bug #72533 (locale_accept_from_http out-of-bounds access).
Mbstring:
Fixed bug #72405 (mb_ereg_replace - mbc_to_code (oniguruma) - oob read access).
Fixed bug #72399 (Use-After-Free in MBString (search_re)).
mcrypt:
Fixed bug #72551 , bug #72552 (Incorrect casting from size_t to int lead to heap overflow in mdecrypt_generic).
PDO_pgsql:
Fixed bug #72570 (Segmentation fault when binding parameters on a query without placeholders).
PCRE:
Fixed bug #72476 (Memleak in jit_stack).
Fixed bug #72463 (mail fails with invalid argument).
Readline:
Fixed bug #72538 (readline_redisplay crashes php).
Standard:
Fixed bug #72505 (readfile() mangles files larger than 2G).
Fixed bug #72306 (Heap overflow through proc_open and $env parameter).
Session:
Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow).
Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session Deserialization).
SNMP:
Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and unserialize()).
Streams:
Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault).
XMLRPC:
Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c).
Zip:
Fixed bug #72520 (Stack-based buffer overflow vulnerability in php_stream_zip_opener).
Version 7.0.8
23 Jun 2016
Core:
Fixed bug #72218 (If host name cannot be resolved then PHP 7 crashes).
Fixed bug #72221 (segfault, past-the-end access).
Fixed bug #72268 (Integer Overflow in nl2br()).
Fixed bug #72275 (Integer Overflow in json_encode()/json_decode()/ json_utf8_to_utf16()).
Fixed bug #72400 (Integer Overflow in addcslashes/addslashes).
Fixed bug #72403 (Integer Overflow in Length of String-typed ZVAL).
Date:
Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week).
FPM:
Fixed bug #72308 (fastcgi_finish_request and logging environment variables).
GD:
Fixed bug #66387 (Stack overflow with imagefilltoborder). (CVE-2015-8874)
Fixed bug #72298 (pass2_no_dither out-of-bounds access).
Fixed bug #72337 (invalid dimensions can lead to crash).
Fixed bug #72339 (Integer Overflow in _gd2GetHeader() resulting in heap overflow). (CVE-2016-5766)
Fixed bug #72407 (NULL Pointer Dereference at _gdScaleVert).
Fixed bug #72446 (Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow). (CVE-2016-5767)
Intl:
Fixed bug #70484 (selectordinal doesn't work with named parameters).
mbstring:
Fixed bug #72402 (_php_mb_regex_ereg_replace_exec - double free). (CVE-2016-5768)
mcrypt:
Fixed bug #72455 (Heap Overflow due to integer overflows). (CVE-2016-5769)
OpenSSL:
Fixed bug #72140 (segfault after calling ERR_free_strings()).
PCRE:
Fixed bug #72143 (preg_replace uses int instead of size_t).
PDO_pgsql:
Fixed bug #71573 (Segfault (core dumped) if paramno beyond bound).
Fixed bug #72294 (Segmentation fault/invalid pointer in connection with pgsql_stmt_dtor).
Phar:
Fixed bug #72321 (invalid free in phar_extract_file()).
Phpdbg:
Fixed bug #72284 (phpdbg fatal errors with coverage).
Postgres:
Fixed bug #72195 (pg_pconnect/pg_connect cause use-after-free).
Fixed bug #72197 (pg_lo_create arbitrary read).
Standard:
Fixed bug #72017 (range() with float step produces unexpected result).
Fixed bug #72193 (dns_get_record returns array containing elements of type 'unknown').
Fixed bug #72229 (Wrong reference when serialize/unserialize an object).
Fixed bug #72300 (ignore_user_abort(false) has no effect).
WDDX:
Fixed bug #72340 (Double Free Courruption in wddx_deserialize). (CVE-2016-5772)
XML:
Fixed bug #72206 (xml_parser_create/xml_parser_free leaks mem).
XMLRPC:
Fixed bug #72155 (use-after-free caused by get_zval_xmlrpc_type).
Zip:
Fixed bug #72258 (ZipArchive converts filenames to unrecoverable form).
Fixed bug #72434 (ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize). (CVE-2016-5773)
Version 7.0.7
26 May 2016
Core:
Fixed bug #72162 (use-after-free - error_reporting).
Add compiler option to disable special case function calls.
Fixed bug #72101 (crash on complex code).
Fixed bug #72100 (implode() inserts garbage into resulting string when joins very big integer).
Fixed bug #72057 (PHP Hangs when using custom error handler and typehint).
Fixed bug #72038 (Function calls with values to a by-ref parameter don't always throw a notice).
Fixed bug #71737 (Memory leak in closure with parameter named $this).
Fixed bug #72059 (?? is not allowed on constant expressions).
Fixed bug #72159 (Imported Class Overrides Local Class Name).
Curl:
Fixed bug #68658 (Define CURLE_SSL_CACERT_BADFILE).
DBA:
Fixed bug #72157 (use-after-free caused by dba_open).
GD:
Fixed bug #72227 (imagescale out-of-bounds read). (CVE-2013-7456)
Intl:
Fixed bug #64524 (Add intl.use_exceptions to php.ini-*).
Fixed bug #72241 (get_icu_value_internal out-of-bounds read). (CVE-2016-5093)
JSON:
Fixed bug #72069 (Behavior \JsonSerializable different from json_encode).
Mbstring:
Fixed bug #72164 (Null Pointer Dereference - mb_ereg_replace).
OCI8:
Fixed bug #71600 (oci_fetch_all segfaults when selecting more than eight columns).
Opcache:
Fixed bug #72014 (Including a file with anonymous classes multiple times leads to fatal error).
OpenSSL:
Fixed bug #72165 (Null pointer dereference - openssl_csr_new).
PCNTL:
Fixed bug #72154 (pcntl_wait/pcntl_waitpid array internal structure overwrite).
POSIX:
Fixed bug #72133 (php_posix_group_to_array crashes if gr_passwd is NULL).
Postgres:
Fixed bug #72028 (pg_query_params(): NULL converts to empty string).
Fixed bug #71062 (pg_convert() doesn't accept ISO 8601 for datatype timestamp).
Fixed bug #72151 (mysqli_fetch_object changed behaviour). Patch to #71820 is reverted.
Reflection:
Fixed bug #72174 (ReflectionProperty#getValue() causes __isset call).
Session:
Fixed bug #71972 (Cyclic references causing session_start(): Failed to decode session object).
Sockets:
Added socket_export_stream() function for getting a stream compatible resource from a socket resource.
SPL:
Fixed bug #72051 (The reference in CallbackFilterIterator doesn't work as expected).
SQLite3:
Fixed bug #68849 (bindValue is not using the right data type).
Standard:
Fixed bug #72075 (Referencing socket resources breaks stream_select).
Fixed bug #72031 (array_column() against an array of objects discards all values matching null).
Version 7.0.6
28 Apr 2016
Core:
Fixed bug #71930 (_zval_dtor_func: Assertion `(arr)->gc.refcount <= 1' failed).
Fixed bug #71922 (Crash on assert(new class{})).
Fixed bug #71914 (Reference is lost in "switch").
Fixed bug #71871 (Interfaces allow final and abstract functions).
Fixed bug #71859 (zend_objects_store_call_destructors operates on realloced memory, crashing).
Fixed bug #71841 (EG(error_zval) is not handled well).
Fixed bug #71750 (Multiple Heap Overflows in php_raw_url_encode/ php_url_encode).
Fixed bug #71731 (Null coalescing operator and ArrayAccess).
Fixed bug #71609 (Segmentation fault on ZTS with gethostbyname).
Fixed bug #71414 (Inheritance, traits and interfaces).
Fixed bug #71359 (Null coalescing operator and magic).
Fixed bug #71334 (Cannot access array keys while uksort()).
Fixed bug #69659 (ArrayAccess, isset() and the offsetExists method).
Fixed bug #69537 (__debugInfo with empty string for key gives error).
Fixed bug #62059 (ArrayObject and isset are not friends).
Fixed bug #71980 (Decorated/Nested Generator is Uncloseable in Finally).
BCmath:
Fixed bug #72093 (bcpowmod accepts negative scale and corrupts _one_ definition). (CVE-2016-4537, CVE-2016-4538)
Curl:
Fixed bug #71831 (CURLOPT_NOPROXY applied as long instead of string).
Date:
Fixed bug #71889 (DateInterval::format Segmentation fault).
EXIF:
Fixed bug #72094 (Out of bounds heap read access in exif header processing). (CVE-2016-4542, CVE-2016-4543, CVE-2016-4544)
GD:
Fixed bug #71912 (libgd: signedness vulnerability). (CVE-2016-3074)
Intl:
Fixed bug #71516 (IntlDateFormatter looses locale if pattern is set via constructor).
Fixed bug #70455 (Missing constant: IntlChar::NO_NUMERIC_VALUE).
Fixed bug #70451 , #70452 (Inconsistencies in return values of IntlChar methods).
Fixed bug #68893 (Stackoverflow in datefmt_create).
Fixed bug #66289 (Locale::lookup incorrectly returns en or en_US if locale is empty).
Fixed bug #70484 (selectordinal doesn't work with named parameters).
Fixed bug #72061 (Out-of-bounds reads in zif_grapheme_stripos with negative offset). (CVE-2016-4540, CVE-2016-4541)
ODBC:
Fixed bug #63171 (Script hangs after max_execution_time).
Opcache:
Fixed bug #71843 (null ptr deref ZEND_RETURN_SPEC_CONST_HANDLER).
PDO:
Fixed bug #52098 (Own PDOStatement implementation ignore __call()).
Fixed bug #71447 (Quotes inside comments not properly handled).
PDO_DBlib:
Fixed bug #71943 (dblib_handle_quoter needs to allocate an extra byte).
Add DBLIB-specific attributes for controlling timeouts.
PDO_pgsql:
Fixed bug #62498 (pdo_pgsql inefficient when getColumnMeta() is used).
Postgres:
Fixed bug #71820 (pg_fetch_object binds parameters before call constructor).
Fixed bug #71998 (Function pg_insert does not insert when column type = inet).
SOAP:
Fixed bug #71986 (Nested foreach assign-by-reference creates broken variables).
SPL:
Fixed bug #71838 (Deserializing serialized SPLObjectStorage-Object can't access properties in PHP).
Fixed bug #71735 (Double-free in SplDoublyLinkedList::offsetSet).
Fixed bug #67582 (Cloned SplObjectStorage with overwritten getHash fails offsetExists()).
Fixed bug #52339 (SPL autoloader breaks class_exists()).
Standard:
Fixed bug #72116 (array_fill optimization breaks implementation).
Fixed bug #71995 (Returning the same var twice from __sleep() produces broken serialized data).
Fixed bug #71940 (Unserialize crushes on restore object reference).
Fixed bug #71969 (str_replace returns an incorrect resulting array after a foreach by reference).
Fixed bug #71891 (header_register_callback() and register_shutdown_function()).
Fixed bug #71884 (Null pointer deref (segfault) in stream_context_get_default).
Fixed bug #71840 (Unserialize accepts wrongly data).
Fixed bug #71837 (Wrong arrays behaviour).
Fixed bug #71827 (substr_replace bug, string length).
Fixed bug #67512 (php_crypt() crashes if crypt_r() does not exist or _REENTRANT is not defined).
XML:
Fixed bug #72099 (xml_parse_into_struct segmentation fault). (CVE-2016-4539)
Zip:
Fixed bug #71923 (integer overflow in ZipArchive::getFrom*). (CVE-2016-3078)
Version 7.0.5
31 Mar 2016
Core:
Huge pages disabled by default.
Added ability to enable huge pages in Zend Memory Manager through the environment variable USE_ZEND_ALLOC_HUGE_PAGES=1.
Fixed bug #71756 (Call-by-reference widens scope to uninvolved functions when used in switch).
Fixed bug #71729 (Possible crash in zend_bin_strtod, zend_oct_strtod, zend_hex_strtod).
Fixed bug #71695 (Global variables are reserved before execution).
Fixed bug #71629 (Out-of-bounds access in php_url_decode in context php_stream_url_wrap_rfc2397).
Fixed bug #71622 (Strings used in pass-as-reference cannot be used to invoke C::$callable()).
Fixed bug #71596 (Segmentation fault on ZTS with date function (setlocale)).
Fixed bug #71535 (Integer overflow in zend_mm_alloc_heap()).
Fixed bug #71470 (Leaked 1 hashtable iterators).
Fixed bug #71575 (ISO C does not allow extra ‘;’ outside of a function).
Fixed bug #71724 (yield from does not count EOLs).
Fixed bug #71767 (ReflectionMethod::getDocComment returns the wrong comment).
Fixed bug #71806 (php_strip_whitespace() fails on some numerical values).
Fixed bug #71624 (`php -R` (PHP_MODE_PROCESS_STDIN) is broken).
CLI Server:
Fixed bug #69953 (Support MKCALENDAR request method).
Curl:
Fixed bug #71694 (Support constant CURLM_ADDED_ALREADY).
Date:
Fixed bug #71635 (DatePeriod::getEndDate segfault).
Fileinfo:
Fixed bug #71527 (Buffer over-write in finfo_open with malformed magic file). (CVE-2015-8865)
libxml:
Fixed bug #71536 (Access Violation crashes php-cgi.exe).
mbstring:
Fixed bug #71906 (AddressSanitizer: negative-size-param (-1) in mbfl_strcut). (CVE-2016-4073)
ODBC:
Fixed bug #47803 , #69526 (Executing prepared statements is succesfull only for the first two statements).
PCRE:
Fixed bug #71659 (segmentation fault in pcre running twig tests).
PDO_DBlib:
Fixed bug #54648 (PDO::MSSQL forces format of datetime fields).
Phar:
Fixed bug #71625 (Crash in php7.dll with bad phar filename).
Fixed bug #71317 (PharData fails to open specific file).
Fixed bug #71860 (Invalid memory write in phar on filename with \0 in name). (CVE-2016-4072)
phpdbg:
Fixed crash when advancing (except step) inside an internal function.
Session:
Fixed bug #71683 (Null pointer dereference in zend_hash_str_find_bucket).
SNMP:
Fixed bug #71704 (php_snmp_error() Format String Vulnerability). (CVE-2016-4071)
SPL:
Fixed bug #71617 (private properties lost when unserializing ArrayObject).
Standard:
Fixed bug #71660 (array_column behaves incorrectly after foreach by reference).
Fixed bug #71798 (Integer Overflow in php_raw_url_encode). (CVE-2016-4070)
Zip:
Update bundled libzip to 1.1.2.
Version 7.0.4
03 Mar 2016
Core:
Fixed bug (Low probability segfault in zend_arena).
Fixed bug #71441 (Typehinted Generator with return in try/finally crashes).
Fixed bug #71442 (forward_static_call crash).
Fixed bug #71443 (Segfault using built-in webserver with intl using symfony).
Fixed bug #71449 (An integer overflow bug in php_implode()).
Fixed bug #71450 (An integer overflow bug in php_str_to_str_ex()).
Fixed bug #71474 (Crash because of VM stack corruption on Magento2).
Fixed bug #71485 (Return typehint on internal func causes Fatal error when it throws exception).
Fixed bug #71529 (Variable references on array elements don't work when using count).
Fixed bug #71601 (finally block not executed after yield from).
Fixed bug #71637 (Multiple Heap Overflow due to integer overflows in xml/filter_url/addcslashes). (CVE-2016-4344, CVE-2016-4345, CVE-2016-4346)
CLI server:
Fixed bug #71559 (Built-in HTTP server, we can download file in web by bug).
CURL:
Fixed bug #71523 (Copied handle with new option CURLOPT_HTTPHEADER crashes while curl_multi_exec).
Fixed memory leak in curl_getinfo().
Date:
Fixed bug #71525 (Calls to date_modify will mutate timelib_rel_time, causing date_date_set issues).
Fileinfo:
Fixed bug #71434 (finfo throws notice for specific python file).
FPM:
Fixed bug #62172 (FPM not working with Apache httpd 2.4 balancer/fcgi setup).
Fixed bug #71269 (php-fpm dumped core).
Opcache:
Fixed bug #71584 (Possible use-after-free of ZCG(cwd) in Zend Opcache).
PCRE:
Fixed bug #71537 (PCRE segfault from Opcache).
phpdbg:
Fixed inherited functions from unspecified files being included in phpdbg_get_executable().
SOAP:
Fixed bug #71610 (Type Confusion Vulnerability - SOAP / make_http_soap_request()). (CVE-2016-3185)
Standard:
Fixed bug #71603 (compact() maintains references in php7).
Fixed bug #70720 (strip_tags improper php code parsing).
XMLRPC:
Fixed bug #71501 (xmlrpc_encode_request ignores encoding option).
Zip:
Fixed bug #71561 (NULL pointer dereference in Zip::ExtractTo).
Version 7.0.3
04 Feb 2016
Core:
Added support for new HTTP 451 code.
Fixed bug #71039 (exec functions ignore length but look for NULL termination).
Fixed bug #71089 (No check to duplicate zend_extension).
Fixed bug #71201 (round() segfault on 64-bit builds).
Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start).
Fixed bug #71248 (Wrong interface is enforced).
Fixed bug #71273 (A wrong ext directory setup in php.ini leads to crash).
Fixed bug #71275 (Bad method called on cloning an object having a trait).
Fixed bug #71297 (Memory leak with consecutive yield from).
Fixed bug #71300 (Segfault in zend_fetch_string_offset).
Fixed bug #71314 (var_export(INF) prints INF.0).
Fixed bug #71323 (Output of stream_get_meta_data can be falsified by its input).
Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars()).
Fixed bug #71459 (Integer overflow in iptcembed()).
Apache2handler:
Fix >2G Content-Length headers in apache2handler.
CURL:
Fixed bug #71227 (Can't compile php_curl statically).
Fixed bug #71225 (curl_setopt() fails to set CURLOPT_POSTFIELDS with reference to CURLFile).
GD:
Interbase:
Fixed bug #71305 (Crash when optional resource is omitted).
LDAP:
Fixed bug #71249 (ldap_mod_replace/ldap_mod_add store value as string "Array").
mbstring:
Fixed bug #71397 (mb_send_mail segmentation fault).
OpenSSL:
Fixed bug #71475 (openssl_seal() uninitialized memory usage).
PCRE:
Upgraded bundled PCRE library to 8.38. (CVE-2015-8383, CVE-2015-8386, CVE-2015-8387, CVE-2015-8389, CVE-2015-8390, CVE-2015-8391, CVE-2015-8393, CVE-2015-8394)
Phar:
Fixed bug #71354 (Heap corruption in tar/zip/phar parser). (CVE-2016-4342)
Fixed bug #71331 (Uninitialized pointer in phar_make_dirstream()). (CVE-2016-4343)
Fixed bug #71391 (NULL Pointer Dereference in phar_tar_setupmetadata()).
Fixed bug #71488 (Stack overflow when decompressing tar archives). (CVE-2016-2554)
SOAP:
Fixed bug #70979 (crash with bad soap request).
SPL:
Fixed bug #71204 (segfault if clean spl_autoload_funcs while autoloading).
Fixed bug #71202 (Autoload function registered by another not activated immediately).
Fixed bug #71311 (Use-after-free vulnerability in SPL(ArrayObject, unserialize)).
Fixed bug #71313 (Use-after-free vulnerability in SPL(SplObjectStorage, unserialize)).
Standard:
Fixed bug #71287 (Error message contains hexadecimal instead of decimal number).
Fixed bug #71264 (file_put_contents() returns unexpected value when filesystem runs full).
Fixed bug #71245 (file_get_contents() ignores "header" context option if it's a reference).
Fixed bug #71220 (Null pointer deref (segfault) in compact via ob_start).
Fixed bug #71190 (substr_replace converts integers in original $search array to strings).
Fixed bug #71188 (str_replace converts integers in original $search array to strings).
Fixed bug #71132 , #71197 (range() segfaults).
WDDX:
Fixed bug #71335 (Type Confusion in WDDX Packet Deserialization).
Version 7.0.2
07 Jan 2016
Core:
Fixed bug #71165 (-DGC_BENCH=1 doesn't work on PHP7).
Fixed bug #71163 (Segmentation Fault: cleanup_unfinished_calls).
Fixed bug #71109 (ZEND_MOD_CONFLICTS("xdebug") doesn't work).
Fixed bug #71092 (Segmentation fault with return type hinting).
Fixed bug memleak in header_register_callback.
Fixed bug #71067 (Local object in class method stays in memory for each call).
Fixed bug #66909 (configure fails utf8_to_mutf7 test).
Fixed bug #70781 (Extension tests fail on dynamic ext dependency).
Fixed bug #71089 (No check to duplicate zend_extension).
Fixed bug #71086 (Invalid numeric literal parse error within highlight_string() function).
Fixed bug #71154 (Incorrect HT iterator invalidation causes iterator reuse).
Fixed bug #52355 (Negating zero does not produce negative zero).
Fixed bug #66179 (var_export() exports float as integer).
Fixed bug #70804 (Unary add on negative zero produces positive zero).
CURL:
Fixed bug #71144 (Sementation fault when using cURL with ZTS).
DBA:
Fixed key leak with invalid resource.
Filter:
Fixed bug #71063 (filter_input(INPUT_ENV, ..) does not work).
FTP:
Implemented FR #55651 (Option to ignore the returned FTP PASV address).
FPM:
Fixed bug #70755 (fpm_log.c memory leak and buffer overflow). (CVE-2016-5114)
GD:
Fixed bug #70976 (Memory Read via gdImageRotateInterpolated Array Index Out of Bounds). (CVE-2016-1903)
Mbstring:
Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV, Segmentation fault).
Opcache:
Fixed bug #71127 (Define in auto_prepend_file is overwrite).
PCRE:
Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set).
Readline:
Fixed bug #71094 (readline_completion_function corrupts static array on second TAB).
Session:
Fixed bug #71122 (Session GC may not remove obsolete session data).
SPL:
Fixed bug #71077 (ReflectionMethod for ArrayObject constructor returns wrong number of parameters).
Fixed bug #71153 (Performance Degradation in ArrayIterator with large arrays).
Standard:
Fixed bug #71270 (Heap BufferOver Flow in escapeshell functions). (CVE-2016-1904)
WDDX:
Fixed bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization).
Fixed bug #70741 (Session WDDX Packet Deserialization Type Confusion Vulnerability).
XMLRPC:
Fixed bug #70728 (Type Confusion Vulnerability in PHP_to_XMLRPC_worker).
Version 7.0.1
17 Dec 2015
Core:
Fixed bug #71105 (Format String Vulnerability in Class Name Error Message). (CVE-2015-8617)
Fixed bug #70831 (Compile fails on system with 160 CPUs).
Fixed bug #71006 (symbol referencing errors on Sparc/Solaris).
Fixed bug #70997 (When using parentClass:: instead of parent::, static context changed).
Fixed bug #70970 (Segfault when combining error handler with output buffering).
Fixed bug #70967 (Weird error handling for __toString when Error is thrown).
Fixed bug #70958 (Invalid opcode while using ::class as trait method paramater default value).
Fixed bug #70944 (try{ } finally{} can create infinite chains of exceptions).
Fixed bug #70931 (Two errors messages are in conflict).
Fixed bug #70904 (yield from incorrectly marks valid generator as finished).
Fixed bug #70899 (buildconf failure in extensions).
Fixed bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions).
Fixed \int (or generally every scalar type name with leading backslash) to not be accepted as type name.
Fixed exception not being thrown immediately into a generator yielding from an array.
Fixed bug #70987 (static::class within Closure::call() causes segfault).
Fixed bug #71013 (Incorrect exception handler with yield from).
Fixed double free in error condition of format printer.
CLI server:
Fixed bug #71005 (Segfault in php_cli_server_dispatch_router()).
Intl:
Fixed bug #71020 (Use after free in Collator::sortWithSortKeys). (CVE-2015-8616)
Mysqlnd:
Fixed bug #68077 (LOAD DATA LOCAL INFILE / open_basedir restriction).
Fixed bug #68344 (MySQLi does not provide way to disable peer certificate validation) by introducing MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT connection flag.
OCI8:
Fixed LOB implementation size_t/zend_long mismatch reported by gcov.
Opcache:
Fixed bug #71024 (Unable to use PHP 7.0 x64 side-by-side with PHP 5.6 x32 on the same server).
Fixed bug #70991 (zend_file_cache.c:710: error: array type has incomplete element type).
Fixed bug #70977 (Segmentation fault with opcache.huge_code_pages=1).
PDO_Firebird:
Fixed bug #60052 (Integer returned as a 64bit integer on X64_86).
Phpdbg:
Fixed stderr being written to stdout.
Reflection:
Fixed bug #71018 (ReflectionProperty::setValue() behavior changed).
Fixed bug #70982 (setStaticPropertyValue behaviors inconsistently with 5.6).
Soap:
Fixed bug #70993 (Array key references break argument processing).
SPL:
Fixed bug #71028 (Undefined index with ArrayIterator).
SQLite3:
Fixed bug #71049 (SQLite3Stmt::execute() releases bound parameter instead of internal buffer).
Standard:
Fixed bug #70999 (php_random_bytes: called object is not a function).
Fixed bug #70960 (ReflectionFunction for array_unique returns wrong number of parameters).
Streams/Socket:
Add IPV6_V6ONLY constant / make it usable in stream contexts.
Version 7.0.0
03 Dec 2015
Core:
Fixed bug #70947 (INI parser segfault with INI_SCANNER_TYPED).
Fixed bug #70914 (zend_throw_or_error() format string vulnerability).
Fixed bug #70912 (Null ptr dereference instantiating class with invalid array property).
Fixed bug #70895 , #70898 (null ptr deref and segfault with crafted calable).
Fixed bug #70249 (Segmentation fault while running PHPUnit tests on phpBB 3.2-dev).
Fixed bug #70805 (Segmentation faults whilst running Drupal 8 test suite).
Fixed bug #70842 (Persistent Stream Segmentation Fault).
Fixed bug #70862 (Several functions do not check return code of php_stream_copy_to_mem()).
Fixed bug #70863 (Incorect logic to increment_function for proxy objects).
Fixed bug #70323 (Regression in zend_fetch_debug_backtrace() can cause segfaults).
Fixed bug #70873 (Regression on private static properties access).
Fixed bug #70748 (Segfault in ini_lex () at Zend/zend_ini_scanner.l).
Fixed bug #70689 (Exception handler does not work as expected).
Fixed bug #70430 (Stack buffer overflow in zend_language_parser()).
Fixed bug #70782 (null ptr deref and segfault (zend_get_class_fetch_type)).
Fixed bug #70785 (Infinite loop due to exception during identical comparison).
Fixed bug #70630 (Closure::call/bind() crash with ReflectionFunction-> getClosure()).
Fixed bug #70662 (Duplicate array key via undefined index error handler).
Fixed bug #70681 (Segfault when binding $this of internal instance method to null).
Fixed bug #70685 (Segfault for getClosure() internal method rebind with invalid $this).
Added zend_internal_function.reserved[] fields.
Fixed bug #70557 (Memleak on return type verifying failed).
Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW).
Fixed bug #70548 (Redundant information printed in case of uncaught engine exception).
Fixed bug #70547 (unsetting function variables corrupts backtrace).
Fixed bug #70528 (assert() with instanceof adds apostrophes around class name).
Fixed bug #70481 (Memory leak in auto_global_copy_ctor() in ZTS build).
Fixed bug #70431 (Memory leak in php_ini.c).
Fixed bug #70478 (**= does no longer work).
Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex).
Fixed bug #70332 (Wrong behavior while returning reference on object).
Fixed bug #70300 (Syntactical inconsistency with new group use syntax).
Fixed bug #70321 (Magic getter breaks reference to array property).
Fixed bug #70187 (Notice: unserialize(): Unexpected end of serialized data).
Fixed bug #70145 (From field incorrectly parsed from headers).
Fixed bug #70370 (Bundled libtool.m4 doesn't handle FreeBSD 10 when building extensions).
Fixed bug causing exception traces with anon classes to be truncated.
Fixed bug #70397 (Segmentation fault when using Closure::call and yield).
Fixed bug #70299 (Memleak while assigning object offsetGet result).
Fixed bug #70288 (Apache crash related to ZEND_SEND_REF).
Fixed bug #70262 (Accessing array crashes PHP 7.0beta3).
Fixed bug #70258 (Segfault if do_resize fails to allocated memory).
Fixed bug #70253 (segfault at _efree () in zend_alloc.c:1389).
Fixed bug #70240 (Segfault when doing unset($var());).
Fixed bug #70223 (Incrementing value returned by magic getter).
Fixed bug #70215 (Segfault when __invoke is static).
Fixed bug #70207 (Finally is broken with opcache).
Fixed bug #70173 (ZVAL_COPY_VALUE_EX broken for 32bit Solaris Sparc).
Fixed bug #69487 (SAPI may truncate POST data).
Fixed bug #70198 (Checking liveness does not work as expected).
Fixed bug #70241 , #70293 (Skipped assertions affect Generator returns).
Fixed bug #70239 (Creating a huge array doesn't result in exhausted, but segfault).
Fixed "finally" issues.
Fixed bug #70098 (Real memory usage doesn't decrease).
Fixed bug #70159 (__CLASS__ is lost in closures).
Fixed bug #70156 (Segfault in zend_find_alias_name).
Fixed bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION).
Fixed bug #70117 (Unexpected return type error).
Fixed bug #70106 (Inheritance by anonymous class).
Fixed bug #69674 (SIGSEGV array.c:953).
Fixed bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined).
Fixed bug #70108 (sometimes empty $_SERVER['QUERY_STRING']).
Fixed bug #70179 ($this refcount issue).
Fixed bug #69896 ('asm' operand has impossible constraints).
Fixed bug #70183 (null pointer deref (segfault) in zend_eval_const_expr).
Fixed bug #70182 (Segfault in ZEND_ASSIGN_DIV_SPEC_CV_UNUSED_HANDLER).
Fixed bug #69793 (Remotely triggerable stack exhaustion via recursive method calls).
Fixed bug #69892 (Different arrays compare indentical due to integer key truncation).
Fixed bug #70121 (unserialize() could lead to unexpected methods execution / NULL pointer deref).
Fixed bug #70089 (segfault at ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER ()).
Fixed bug #70057 (Build failure on 32-bit Mac OS X 10.6.8: recursive inlining).
Fixed bug #70012 (Exception lost with nested finally block).
Fixed bug #69996 (Changing the property of a cloned object affects the original).
Fixed bug #70083 (Use after free with assign by ref to overloaded objects).
Fixed bug #70006 (cli - function with default arg = STDOUT crash output).
Fixed bug #69521 (Segfault in gc_collect_cycles()).
Improved zend_string API.
Fixed bug #69955 (Segfault when trying to combine [] and assign-op on ArrayAccess object).
Fixed bug #69957 (Different ways of handling div/mod/intdiv).
Fixed bug #69900 (Too long timeout on pipes).
Fixed bug #69872 (uninitialised value in strtr with array).
Fixed bug #69868 (Invalid read of size 1 in zend_compile_short_circuiting).
Fixed bug #69849 (Broken output of apache_request_headers).
Fixed bug #69840 (iconv_substr() doesn't work with UTF-16BE).
Fixed bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33 extensions are loaded).
Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name).
Fixed bug #69802 (Reflection on Closure::__invoke borks type hint class name).
Fixed bug #69761 (Serialization of anonymous classes should be prevented).
Fixed bug #69551 (parse_ini_file() and parse_ini_string() segmentation fault).
Fixed bug #69781 (phpinfo() reports Professional Editions of Windows 7/8/8.1/10 as "Business").
Fixed bug #69835 (phpinfo() does not report many Windows SKUs).
Fixed bug #69889 (Null coalesce operator doesn't work for string offsets).
Fixed bug #69891 (Unexpected array comparison result).
Fixed bug #69892 (Different arrays compare indentical due to integer key truncation).
Fixed bug #69893 (Strict comparison between integer and empty string keys crashes).
Fixed bug #69767 (Default parameter value with wrong type segfaults).
Fixed bug #69756 (Fatal error: Nesting level too deep - recursive dependency ? with ===).
Fixed bug #69758 (Item added to array not being removed by array_pop/shift ).
Fixed bug #68475 (Add support for $callable() sytnax with 'Class::method').
Fixed bug #69485 (Double free on zend_list_dtor).
Fixed bug #69427 (Segfault on magic method __call of private method in superclass).
Improved __call() and __callStatic() magic method handling. Now they are called in a stackless way using ZEND_CALL_TRAMPOLINE opcode, without additional stack frame.
Optimized strings concatenation.
Fixed weird operators behavior. Division by zero now emits warning and returns +/-INF, modulo by zero and intdid() throws an exception, shifts by negative offset throw exceptions. Compile-time evaluation of division by zero is disabled.
Fixed bug #69371 (Hash table collision leads to inaccessible array keys).
Fixed bug #68933 (Invalid read of size 8 in zend_std_read_property).
Fixed bug #68252 (segfault in Zend/zend_hash.c in function _zend_hash_del_el).
Fixed bug #65598 (Closure executed via static autoload incorrectly marked as static).
Fixed bug #66811 (Cannot access static::class in lambda, writen outside of a class).
Fixed bug #69568 (call a private function in closure failed).
Added PHP_INT_MIN constant.
Added Closure::call() method.
Fixed bug #67959 (Segfault when calling phpversion('spl')).
Implemented the RFC `Catchable "Call to a member function bar() on a non-object"`.
Added options parameter for unserialize allowing to specify acceptable classes (https://wiki.php.net/rfc/secure_unserialize).
Fixed bug #63734 (Garbage collector can free zvals that are still referenced).
Removed ZEND_ACC_FINAL_CLASS, promoting ZEND_ACC_FINAL as final class modifier.
is_long() & is_integer() is now an alias of is_int().
Implemented FR #55467 (phpinfo: PHP Variables with $ and single quotes).
Added ?? operator.
Added <=> operator.
Added \u{xxxxx} Unicode Codepoint Escape Syntax.
Fixed oversight where define() did not support arrays yet const syntax did.
Use "integer" and "float" instead of "long" and "double" in ZPP, type hint and conversion error messages.
Implemented FR #55428 (E_RECOVERABLE_ERROR when output buffering in output buffering handler).
Removed scoped calls of non-static methods from an incompatible $this context.
Removed support for #-style comments in ini files.
Removed support for assigning the result of new by reference.
Invalid octal literals in source code now produce compile errors, fixes PHPSadness #31.
Removed dl() function on fpm-fcgi.
Removed support for hexadecimal numeric strings.
Removed obsolete extensions and SAPIs. See the full list in UPGRADING.
Added NULL byte protection to exec, system and passthru.
Added error_clear_last() function.
Fixed bug #68797 (Number 2.2250738585072012e-308 converted incorrectly).
Improved zend_qsort(using hybrid sorting algo) for better performance, and also renamed zend_qsort to zend_sort.
Added stable sorting algo zend_insert_sort.
Improved zend_memnchr(using sunday algo) for better performance.
Implemented the RFC `Scalar Type Decalarations v0.5`.
Implemented the RFC `Group Use Declarations`.
Implemented the RFC `Continue Output Buffering`.
Implemented the RFC `Constructor behaviour of internal classes`.
Implemented the RFC `Fix "foreach" behavior`.
Implemented the RFC `Generator Delegation`.
Implemented the RFC `Anonymous Class Support`.
Implemented the RFC `Context Sensitive Lexer`.
Fixed bug #69511 (Off-by-one buffer overflow in php_sys_readlink).
CLI server:
Fixed bug #68291 (404 on urls with '+').
Fixed bug #66606 (Sets HTTP_CONTENT_TYPE but not CONTENT_TYPE).
Fixed bug #70264 (CLI server directory traversal).
Fixed bug #69655 (php -S changes MKCALENDAR request method to MKCOL).
Fixed bug #64878 (304 responses return Content-Type header).
Refactor MIME type handling to use a hash table instead of linear search.
Update the MIME type list from the one shipped by Apache HTTPD.
Added support for SEARCH WebDav method.
COM:
Fixed bug #69939 (Casting object to bool returns false).
Curl:
Fixed bug #70330 (Segmentation Fault with multiple "curl_copy_handle").
Fixed bug #70163 (curl_setopt_array() type confusion).
Fixed bug #70065 (curl_getinfo() returns corrupted values).
Fixed bug #69831 (Segmentation fault in curl_getinfo).
Fixed bug #68937 (Segfault in curl_multi_exec).
Removed support for unsafe file uploads.
Date:
Fixed bug #70245 (strtotime does not emit warning when 2nd parameter is object or string).
Fixed bug #70266 (DateInterval::__construct.interval_spec is not supposed to be optional).
Fixed bug #70277 (new DateTimeZone($foo) is ignoring text after null byte).
Fixed day_of_week function as it could sometimes return negative values internally.
Removed $is_dst parameter from mktime() and gmmktime().
Removed date.timezone warning (https://wiki.php.net/rfc/date.timezone_warning_removal).
Added "v" DateTime format modifier to get the 3-digit version of fraction of seconds.
Implemented FR #69089 (Added DateTime::RFC3339_EXTENDED to output in RFC3339 Extended format which includes fraction of seconds).
DBA:
Fixed bug #62490 (dba_delete returns true on missing item (inifile)).
Fixed bug #68711 (useless comparisons).
DOM:
Fixed bug #70558 ("Couldn't fetch" error in DOMDocument::registerNodeClass()).
Fixed bug #70001 (Assigning to DOMNode::textContent does additional entity encoding).
Fixed bug #69846 (Segmenation fault (access violation) when iterating over DOMNodeList).
Made DOMNode::textContent writeable.
EXIF:
Fixed bug #70385 (Buffer over-read in exif_read_data with TIFF IFD tag byte value of 32 bytes).
Fileinfo:
Fixed bug #66242 (libmagic: don't assume char is signed).
Filter:
New FILTER_VALIDATE_DOMAIN and better RFC conformance for FILTER_VALIDATE_URL.
FPM:
Fixed bug #70538 ("php-fpm -i" crashes).
Fixed bug #70279 (HTTP Authorization Header is sometimes passed to newer reqeusts).
Fixed bug #68945 (Unknown admin values segfault pools).
Fixed bug #65933 (Cannot specify config lines longer than 1024 bytes).
Implemented FR #67106 (Split main fpm config).
FTP:
Fixed bug #69082 (FTPS support on Windows).
GD:
Fixed bug #53156 (imagerectangle problem with point ordering).
Fixed bug #66387 (Stack overflow with imagefilltoborder). (CVE-2015-8874)
Fixed bug #70102 (imagecreatefromwebm() shifts colors).
Fixed bug #66590 (imagewebp() doesn't pad to even length).
Fixed bug #66882 (imagerotate by -90 degrees truncates image by 1px).
Fixed bug #70064 (imagescale(..., IMG_BICUBIC) leaks memory).
Fixed bug #69024 (imagescale segfault with palette based image).
Fixed bug #53154 (Zero-height rectangle has whiskers).
Fixed bug #67447 (imagecrop() add a black line when cropping).
Fixed bug #68714 (copy 'n paste error).
Fixed bug #66339 (PHP segfaults in imagexbm).
Fixed bug #70047 (gd_info() doesn't report WebP support).
Replace libvpx with libwebp for bundled libgd.
Fixed bug #61221 (imagegammacorrect function loses alpha channel).
Made fontFetch's path parser thread-safe.
Removed T1Lib support.
GMP:
Fixed bug #70284 (Use after free vulnerability in unserialize() with GMP).
hash:
Fixed bug #70312 (HAVAL gives wrong hashes in specific cases).
IMAP:
Fixed bug #70158 (Building with static imap fails).
Fixed bug #69998 (curl multi leaking memory).
Intl:
Fixed bug #70453 (IntlChar::foldCase() incorrect arguments and missing constants).
Fixed bug #70454 (IntlChar::forDigit second parameter should be optional).
Removed deprecated aliases datefmt_set_timezone_id() and IntlDateFormatter::setTimeZoneID().
JSON:
Fixed bug #62010 (json_decode produces invalid byte-sequences).
Fixed bug #68546 (json_decode() Fatal error: Cannot access property started with '\0').
Replace non-free JSON parser with a parser from Jsond extension, fixes #63520 (JSON extension includes a problematic license statement).
Fixed bug #68938 (json_decode() decodes empty string without error).
LDAP:
Fixed bug #47222 (Implement LDAP_OPT_DIAGNOSTIC_MESSAGE).
LiteSpeed:
Updated LiteSpeed SAPI code from V5.5 to V6.6.
libxml:
Fixed handling of big lines in error messages with libxml >= 2.9.0.
Mcrypt:
Fixed bug #70625 (mcrypt_encrypt() won't return data when no IV was specified under RC4).
Fixed bug #69833 (mcrypt fd caching not working).
Fixed possible read after end of buffer and use after free.
Removed mcrypt_generic_end() alias.
Removed mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ofb().
Mysqli:
Fixed bug #32490 (constructor of mysqli has wrong name).
Mysqlnd:
Fixed bug #70949 (SQL Result Sets With NULL Can Cause Fatal Memory Errors).
Fixed bug #70384 (mysqli_real_query():Unknown type 245 sent by the server).
Fixed bug #70456 (mysqlnd doesn't activate TCP keep-alive when connecting to a server).
Fixed bug #70572 segfault in mysqlnd_connect.
Fixed bug #69796 (mysqli_stmt::fetch doesn't assign null values to bound variables).
OCI8:
Fixed memory leak with LOBs.
Fixed bug #68298 (OCI int overflow).
Corrected oci8 hash destructors to prevent segfaults, and a few other fixes.
ODBC:
Fixed bug #69975 (PHP segfaults when accessing nvarchar(max) defined columns).
Opcache:
Fixed bug #70656 (require() statement broken after opcache_reset() or a few hours of use).
Fixed bug #70843 (Segmentation fault on MacOSX with opcache.file_cache_only=1).
Fixed bug #70724 (Undefined Symbols from opcache.so on Mac OS X 10.10).
Fixed compatibility with Windows 10 (see also bug #70652 ).
Attmpt to fix "Unable to reattach to base address" problem.
Fixed bug #70423 (Warning Internal error: wrong size calculation).
Fixed bug #70237 (Empty while and do-while segmentation fault with opcode on CLI enabled).
Fixed bug #70111 (Segfault when a function uses both an explicit return type and an explicit cast).
Fixed bug #70058 (Build fails when building for i386).
Fixed bug #70022 (Crash with opcache using opcache.file_cache_only=1).
Removed opcache.load_comments configuration directive. Now doc comments loading costs nothing and always enabled.
Fixed bug #69838 (Wrong size calculation for function table).
Fixed bug #69688 (segfault with eval and opcache fast shutdown).
Added experimental (disabled by default) file based opcode cache.
Fixed bug with try blocks being removed when extended_info opcode generation is turned on.
Fixed bug #68644 (strlen incorrect : mbstring + func_overload=2 +UTF-8 + Opcache).
OpenSSL:
Require at least OpenSSL version 0.9.8.
Fixed bug #68312 (Lookup for openssl.cnf causes a message box).
Fixed bug #55259 (openssl extension does not get the DH parameters from DH key resource).
Fixed bug #70395 (Missing ARG_INFO for openssl_seal()).
Fixed bug #60632 (openssl_seal fails with AES).
Implemented FR #70438 (Add IV parameter for openssl_seal and openssl_open).
Fixed bug #70014 (openssl_random_pseudo_bytes() is not cryptographically secure). (CVE-2015-8867)
Fixed bug #69882 (OpenSSL error "key values mismatch" after openssl_pkcs12_read with extra cert).
Added "alpn_protocols" SSL context option allowing encrypted client/server streams to negotiate alternative protocols using the ALPN TLS extension when built against OpenSSL 1.0.2 or newer. Negotiated protocol information is accessible through stream_get_meta_data() output.
Removed "CN_match" and "SNI_server_name" SSL context options. Use automatic detection or the "peer_name" option instead.
Pcntl:
Fixed bug #70386 (Can't compile on NetBSD because of missing WCONTINUED and WIFCONTINUED).
Fixed bug #60509 (pcntl_signal doesn't decrease ref-count of old handler when setting SIG_DFL).
Implemented FR #68505 (Added wifcontinued and wcontinued).
Added rusage support to pcntl_wait() and pcntl_waitpid().
PCRE:
Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string match).
Fixed bug #70345 (Multiple vulnerabilities related to PCRE functions).
Fixed bug #70232 (Incorrect bump-along behavior with \K and empty string match).
Fixed bug #53823 (preg_replace: * qualifier on unicode replace garbles the string).
Fixed bug #69864 (Segfault in preg_replace_callback).
Removed support for the /e (PREG_REPLACE_EVAL) modifier.
PDO:
Fixed bug #70861 (Segmentation fault in pdo_parse_params() during Drupal 8 test suite).
Fixed bug #70389 (PDO constructor changes unrelated variables).
Fixed bug #70272 (Segfault in pdo_mysql).
Fixed bug #70221 (persistent sqlite connection + custom function segfaults).
Fixed bug #59450 (./configure fails with "Cannot find php_pdo_driver.h").
PDO_DBlib:
Fixed bug #69757 (Segmentation fault on nextRowset).
PDO_mysql:
Fixed bug #68424 (Add new PDO mysql connection attr to control multi statements option).
PDO_OCI:
Fixed bug #70308 (PDO::ATTR_PREFETCH is ignored).
PDO_pgsql:
Fixed bug #69752 (PDOStatement::execute() leaks memory with DML Statements when closeCuror() is u).
Removed PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT attribute in favor of ATTR_EMULATE_PREPARES).
Phar:
Fixed bug #69720 (Null pointer dereference in phar_get_fp_offset()).
Fixed bug #70433 (Uninitialized pointer in phar_make_dirstream when zip entry filename is "/").
Improved fix for bug #69441 .
Fixed bug #70019 (Files extracted from archive may be placed outside of destination directory).
Phpdbg:
Fixed bug #70614 (incorrect exit code in -rr mode with Exceptions).
Fixed bug #70532 (phpdbg must respect set_exception_handler).
Fixed bug #70531 (Run and quit mode (-qrr) should not fallback to interactive mode).
Fixed bug #70533 (Help overview (-h) does not rpint anything under Windows).
Fixed bug #70449 (PHP won't compile on 10.4 and 10.5 because of missing constants).
Fixed bug #70214 (FASYNC not defined, needs sys/file.h include).
Fixed bug #70138 (Segfault when displaying memory leaks).
Reflection:
Fixed bug #70650 (Wrong docblock assignment).
Fixed bug #70674 (ReflectionFunction::getClosure() leaks memory when used for internal functions).
Fixed bug causing bogus traces for ReflectionGenerator::getTrace().
Fixed inheritance chain of Reflector interface.
Added ReflectionGenerator class.
Added reflection support for return types and type declarations.
Session:
Fixed bug #70876 (Segmentation fault when regenerating session id with strict mode).
Fixed bug #70529 (Session read causes "String is not zero-terminated" error).
Fixed bug #70013 (Reference to $_SESSION is lost after a call to session_regenerate_id()).
Fixed bug #69952 (Data integrity issues accessing superglobals by reference).
Fixed bug #67694 (Regression in session_regenerate_id()).
Fixed bug #68941 (mod_files.sh is a bash-script).
SOAP:
Fixed bug #70940 (Segfault in soap / type_to_string).
Fixed bug #70900 (SoapClient systematic out of memory error).
Fixed bug #70875 (Segmentation fault if wsdl has no targetNamespace attribute).
Fixed bug #70715 (Segmentation fault inside soap client).
Fixed bug #70709 (SOAP Client generates Segfault).
Fixed bug #70388 (SOAP serialize_function_call() type confusion / RCE).
Fixed bug #70081 (SoapClient info leak / null pointer dereference via multiple type confusions).
Fixed bug #70079 (Segmentation fault after more than 100 SoapClient calls).
Fixed bug #70032 (make_http_soap_request calls zend_hash_get_current_key_ex(,,,NULL).
Fixed bug #68361 (Segmentation fault on SoapClient::__getTypes).
SPL:
Fixed bug #70959 (ArrayObject unserialize does not restore protected fields).
Fixed bug #70853 (SplFixedArray throws exception when using ref variable as index).
Fixed bug #70868 (PCRE JIT and pattern reuse segfault).
Fixed bug #70730 (Incorrect ArrayObject serialization if unset is called in serialize()).
Fixed bug #70573 (Cloning SplPriorityQueue leads to memory leaks).
Fixed bug #70303 (Incorrect constructor reflection for ArrayObject).
Fixed bug #70068 (Dangling pointer in the unserialization of ArrayObject items).
Fixed bug #70166 (Use After Free Vulnerability in unserialize() with SPLArrayObject).
Fixed bug #70168 (Use After Free Vulnerability in unserialize() with SplObjectStorage).
Fixed bug #70169 (Use After Free Vulnerability in unserialize() with SplDoublyLinkedList).
Fixed bug #70053 (MutlitpleIterator array-keys incompatible change in PHP 7).
Fixed bug #69970 (Use-after-free vulnerability in spl_recursive_it_move_forward_ex()).
Fixed bug #69845 (ArrayObject with ARRAY_AS_PROPS broken).
Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of iterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack.
Implemented FR #67886 (SplPriorityQueue/SplHeap doesn't expose extractFlags nor curruption state).
Fixed bug #66405 (RecursiveDirectoryIterator::CURRENT_AS_PATHNAME breaks the RecursiveIterator).
SQLite3:
Fixed bug #70571 (Memory leak in sqlite3_do_callback).
Fixed bug #69972 (Use-after-free vulnerability in sqlite3SafetyCheckSickOrOk()).
Fixed bug #69897 (segfault when manually constructing SQLite3Result).
Fixed bug #68260 (SQLite3Result::fetchArray declares wrong required_num_args).
Standard:
Fixed count on symbol tables.
Fixed bug #70963 (Unserialize shows UNKNOWN in result).
Fixed bug #70910 (extract() breaks variable references).
Fixed bug #70808 (array_merge_recursive corrupts memory of unset items).
Fixed bug #70667 (strtr() causes invalid writes and a crashes).
Fixed bug #70668 (array_keys() doesn't respect references when $strict is true).
Implemented the RFC `Random Functions Throwing Exceptions in PHP 7`.
Fixed bug #70487 (pack('x') produces an error).
Fixed bug #70342 (changing configuration with ignore_user_abort(true) isn't working).
Fixed bug #70295 (Segmentation fault with setrawcookie).
Fixed bug #67131 (setcookie() conditional for empty values not met).
Fixed bug #70365 (Use-after-free vulnerability in unserialize() with SplObjectStorage).
Fixed bug #70366 (Use-after-free vulnerability in unserialize() with SplDoublyLinkedList).
Fixed bug #70250 (extract() turns array elements to references).
Fixed bug #70211 (php 7 ZEND_HASH_IF_FULL_DO_RESIZE use after free).
Fixed bug #70208 (Assert breaking access on objects).
Fixed bug #70140 (str_ireplace/php_string_tolower - Arbitrary Code Execution).
Implemented FR #70112 (Allow "dirname" to go up various times).
Fixed bug #36365 (scandir duplicates file name at every 65535th file).
Fixed bug #70096 (Repeated iptcembed() adds superfluous FF bytes).
Fixed bug #70018 (exec does not strip all whitespace).
Fixed bug #69983 (get_browser fails with user agent of null).
Fixed bug #69976 (Unable to parse "all" urls with colon char).
Fixed bug #69768 (escapeshell*() doesn't cater to !).
Fixed bug #62922 (Truncating entire string should result in string).
Fixed bug #69723 (Passing parameters by reference and array_column).
Fixed bug #69523 (Cookie name cannot be empty).
Fixed bug #69325 (php_copy_file_ex does not pass the argument).
Fixed bug #69299 (Regression in array_filter's $flag argument in PHP 7).
Removed call_user_method() and call_user_method_array() functions.
Fixed user session handlers (See rfc:session.user.return-value).
Added intdiv() function.
Improved precision of log() function for base 2 and 10.
Remove string category support in setlocale().
Remove set_magic_quotes_runtime() and its alias magic_quotes_runtime().
Fixed bug #65272 (flock() out parameter not set correctly in windows).
Added preg_replace_callback_array function.
Deprecated salt option to password_hash.
Fixed bug #69686 (password_verify reports back error on PHP7 will null string).
Added Windows support for getrusage().
Removed hardcoded limit on number of pipes in proc_open().
Streams:
Fixed bug #70361 (HTTP stream wrapper doesn't close keep-alive connections).
Fixed bug #68532 (convert.base64-encode omits padding bytes).
Removed set_socket_blocking() in favor of its alias stream_set_blocking().
Tokenizer:
Fixed bug #69430 (token_get_all has new irrecoverable errors).
XMLReader:
Fixed bug #70309 (XmlReader read generates extra output).
XMLRPC:
Fixed bug #70526 (xmlrpc_set_type returns false on success).
XSL:
Fixed bug #70678 (PHP7 returns true when false is expected).
Fixed bug #70535 (XSLT: free(): invalid pointer).
Fixed bug #69782 (NULL pointer dereference).
Fixed bug #64776 (The XSLT extension is not thread safe).
Removed xsl.security_prefs ini option.
Zlib:
Added deflate_init(), deflate_add(), inflate_init(), inflate_add() functions allowing incremental/streaming compression/decompression.
Zip:
Fixed bug #70322 (ZipArchive::close() doesn't indicate errors).
Fixed bug #70350 (ZipArchive::extractTo allows for directory traversal when creating directories). (CVE-2014-9767)
Added ZipArchive::setCompressionName and ZipArchive::setCompressionIndex methods.
Update bundled libzip to 1.0.1.
Fixed bug #67161 (ZipArchive::getStream() returns NULL for certain file).


ABOUT THE AUTHOR
The author of some thirty books and dozens of essays, Donald Richie is especially well known for his instrumental role in introducing Japanese film to the West and for his travel memoir The Inland Sea, which was adapted into a popular PBS documentary. Richie for many years wrote a weekly book review column for The Japan Times.
In addition to The Inland Sea, Richie's books published by Stone Bridge Press include A Lateral View, Travels in the East, A Tractate on Japanese Aesthetics, The Donald Richie Reader, and The Japan Journals. He recently wrote the forewords to A Critical Handbook of Japanese Film Directors by Alexander Jacoby, and Waiting on the Weather: Making Movies with Akira Kurosawa by Teruyo Nogami.
RECENT WORKS


For IE11
Benchmark
Model:
ResNet50
VGG16
Inception v3
Framework and backends:
Iterations:
+ 1 proceeding run
run
(It will take several minutes)


Color
Primary
Primary Container
Secondary
Secondary Container
Tertiary
Tertiary Container
Error
Error Container
Background
Surface Dim
Surface
Surface Bright
Surface Container Lowest
Surface Container Low
Surface Container
Surface Container High
Surface Container Highest
Elevation +1
Elevation +2
Elevation +3
Elevation +4
Elevation +5
Inverse Surface
Inverse Surface +1
Inverse Surface +2
Inverse Surface +3
Inverse Surface +4
Inverse Surface +5
Inverse Primary
Surface Variant
Surface Variant +1
Surface Variant +2
Surface Variant +3
Surface Variant +4
Surface Variant +5
Outline
Yellow
Yellow Container
Orange
Orange Container
Green
Green Container
Alias
Alias Container


To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video
录制 00:00 /


What is Keto Advanced 1500?
Keto Advanced 1500 is a dietary supplement that works effectively to curb nerve pain and help you lead a healthy and fulfilling life. To serve your health by ridding you of neuropathy, this formula uses only natural ingredients. Since it comes from a reliable company called PhytAge Labs.
How Does Keto Advanced 1500 Work?
To understand the working of Keto Advanced 1500, you will first need to know what causes neuropathy in the first place. You see, there are several pain triggers in your body which can be activated for several different kinds of reasons. For instance, some people experience nerve pain because they have diabetes.
When these pain points are activated, nerve pain occurs. Symptoms such as inflammation may also accompany which further worsen the problem. The only way to put an end to nerve pain is by means deactivating the pain triggers that start the problem. What this supplement does is that it uses natural agents to shut down pain at its core.
 Apart from dealing with this central issue, symptoms such as inflammation are also controlled so that the condition doesn’t get a chance to spread and get worse. This is how this dietary supplement works so that you can be relieved of nerve pain and its many nasty symptoms.
Pricing and Where to Buy Keto Advanced 1500?
You will be able to get one bottle of it for just $59.95. If you want more bottles, you can fetch them at a better discount of $49.95. Since the product can be used for more than a year, you can buy in bulk for use later. This is a good idea as price may rise.
Get Keto Advanced 1500 Now >>
Product Name : Keto Advanced 1500


Your organisation must be UK based to receive funding from Innovate UK.
You can identify your organisation through Companies House or enter your details manually.
Your organisation must be registered on Je-S before we will consider you to be a research organisation.
Choose your organisation:
Select your organisation from the options below
No results found.Please check your search criteria and try again.
Enter your organisation details manually. You may need to supply additional details at a later point.


This document describes the Pythonwin GUI environment. There are quite a few little features hidden away!
It has a discussion on the General Environment (including the Interactive Window and Menu and Toolbar), and the Command Line Arguments supported.
The Interactive Window is a little Python program which simulates the built-in Python interpreter. It is implemented in intpyapp.py (which in turn uses winout.py - a general purpose "output window".)
Whenever you press Enter, the interactive window has a look at the context, to try and decide what to do.
If the line is recognised as a "block" (ie, the first line starts with ">>> ", and the rest start with "… "), it checks to see if we are at the end of the window. If not, the block is copied to the end of the buffer - nothing is executed - enter must be pressed again to force execution.
If we are at the end of the buffer, it always attempts to execute the line. If Python indicates "unexpected end of file", then it assumes the block should continue, and emits the "… " for the next line.
If the line is recognised as part of a Python exception, then some special processing is done. If the line contains a filename and line number, it locates that file, and jumps to the offending line.
If the line is recognised as being an exception generated by COM (aka OLE), and the exception contains reference to a WinHelp file, the help topic is opened.
All perform the obvious file operations. Pythonwin follows the standard MFC framework, and allows Python programs to plug-in support for other file types.
Allows quick location of a Python scripts. Typing in the base name of a file will force a search of all the directories on sys.path, until a match is found.
To locate a module in a package you can use either a (back) slash or a dot - eg, to locate "win32com.client.dynamic", you can enter in "win32com\client/dynamic"
Imports or reloads a script - just like "import scriptname"/"reload(scriptname)" - (Pythonwin determines if the operation is an import or reload, It also handles "ni" modules with some success!)
If you select this (or use <Ctrl-I>) when a .py file is open, that file is saved and imported. If a current file can not be located, it will ask for a file to import via a File dialog.
If a syntax error occurs, the location will be moved to in the editor.
Runs a script, as if the file was passed on the command line. A dialog is opened, asking the script name and arguments (unless the <Shift> key is held down)
The following command line arguments are recognised. Note that these are implemented in "intpyapp.py", so should be pretty easy to change!
Creates a new instance of the application even if one is already running.
Edit the named file.
Runs the named script. Works just like "Python.exe scriptname args", except it is run in the GUI environment, and output goes to the interactive window.
As above, except the normal Pythonwin 'Run Script' dialog is shown.
Edits the filename. The /edit is currently optional, but in the future, the "default argument handling" may be changed.
Runs a special "application script". The application script can change the entire look and feel of a Pythonwin program - almost as much flexibility as the C++ programmer has when they first start their application). An example of this is "dlgapp.py" in the Pythonwin distribution.


Standard Conversions
Standard Conversions Form
Enter number to convert
inches to centimeters
centimeters to inches
fluid ounces to milliliters
milliliters to fluid ounces
miles to kilometers
kilometers to miles
pounds to kilograms
kilograms to pounds
shit-ton to metric-ton
metric-ton to shit-ton
Convert


We monetize tables!
- maximize leading-edge interfaces
- reintermediate scalable portals
- whiteboard wireless e-business
- empower compelling e-services
- redefine dot-com e-services
- streamline distributed ROI
- grow global e-tailers
- generate turn-key bandwidth
- incentivize enterprise convergence
- streamline innovative solutions
- expedite cross-media paradigms
- embrace virtual synergies